summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2021-05-09 20:40:31 +0800
committerIru Cai <mytbk920423@gmail.com>2021-05-10 19:56:00 +0800
commitf786913e3d6ce672211aa561d0e3b845e45689c4 (patch)
tree289d062f20593b2de41eae9b867fe6557fb151d9
parenta8b976af1c549be3e7ebe401d15c2826a5a6fa4a (diff)
downloadrich4_asm.tar.xz
add assembly dump of rich4.exerich4_asm
-rw-r--r--asm/Makefile10
-rw-r--r--asm/rich4.asm191612
-rw-r--r--r2/rich4_dump.py143
3 files changed, 191765 insertions, 0 deletions
diff --git a/asm/Makefile b/asm/Makefile
new file mode 100644
index 0000000..0b8b3c0
--- /dev/null
+++ b/asm/Makefile
@@ -0,0 +1,10 @@
+CROSS=i686-w64-mingw32-
+LD=$(CROSS)ld
+LDFLAGS=-e fcn_0045709c
+LIBS=-lgdi32 -luser32 -lkernel32 -lwinmm -ldsound -lddraw
+
+%.exe: %.obj
+ $(LD) -o $@ $< $(LDFLAGS) $(LIBS)
+
+%.obj: %.asm
+ nasm -f win32 $<
diff --git a/asm/rich4.asm b/asm/rich4.asm
new file mode 100644
index 0000000..1c39b6b
--- /dev/null
+++ b/asm/rich4.asm
@@ -0,0 +1,191612 @@
+;; Generated with r2dumpbin (https://github.com/mytbk/r2dumpbin)
+
+bits 32
+extern __imp__CreateFontA@56
+extern __imp__CreatePen@12
+extern __imp__CreateSolidBrush@4
+extern __imp__DeleteObject@4
+extern __imp__Ellipse@20
+extern __imp__FloodFill@16
+extern __imp__GetStockObject@4
+extern __imp__LineTo@12
+extern __imp__MoveToEx@16
+extern __imp__Pie@36
+extern __imp__SelectObject@8
+extern __imp__SetBkMode@8
+extern __imp__SetTextCharacterExtra@8
+extern __imp__SetTextColor@8
+extern __imp__TextOutA@20
+extern __imp__BeginPaint@8
+extern __imp__CharUpperBuffA@8
+extern __imp__CreateWindowExA@48
+extern __imp__DefWindowProcA@16
+extern __imp__DestroyWindow@4
+extern __imp__DispatchMessageA@4
+extern __imp__DrawTextA@20
+extern __imp__EndPaint@8
+extern __imp__GetCursorPos@4
+extern __imp__GetSystemMetrics@4
+extern __imp__IntersectRect@12
+extern __imp__InvalidateRect@12
+extern __imp__KillTimer@8
+extern __imp__LoadCursorA@8
+extern __imp__LoadIconA@8
+extern __imp__MessageBoxA@16
+extern __imp__PeekMessageA@20
+extern __imp__PostMessageA@16
+extern __imp__PostQuitMessage@4
+extern __imp__RegisterClassA@4
+extern __imp__SetCursorPos@8
+extern __imp__SetFocus@4
+extern __imp__SetTimer@16
+extern __imp__SetWindowsHookExA@16
+extern __imp__ShowCursor@4
+extern __imp__ShowWindow@8
+extern __imp__TranslateMessage@4
+extern __imp__UnhookWindowsHookEx@4
+extern __imp__UpdateWindow@4
+extern __imp__ValidateRect@8
+extern __imp__CloseHandle@4
+extern __imp__CreateEventA@16
+extern __imp__CreateFileA@28
+extern __imp__CreateThread@24
+extern __imp__DeleteCriticalSection@4
+extern __imp__DeleteFileA@4
+extern __imp__EnterCriticalSection@4
+extern __imp__ExitProcess@4
+extern __imp__ExitThread@4
+extern __imp__FlushFileBuffers@4
+extern __imp__GetACP@0
+extern __imp__GetCPInfo@8
+extern __imp__GetCommandLineA@0
+extern __imp__GetCommandLineW@0
+extern __imp__GetConsoleMode@8
+extern __imp__GetCurrentDirectoryA@8
+extern __imp__GetCurrentProcessId@0
+extern __imp__GetCurrentThreadId@0
+extern __imp__GetCurrentThread@0
+extern __imp__GetDriveTypeA@4
+extern __imp__GetEnvironmentStrings@0
+extern __imp__GetFileAttributesA@4
+extern __imp__GetFileSize@8
+extern __imp__GetFileType@4
+extern __imp__GetFullPathNameA@16
+extern __imp__GetLastError@0
+extern __imp__GetLocalTime@4
+extern __imp__GetModuleFileNameA@12
+extern __imp__GetModuleFileNameW@12
+extern __imp__GetModuleHandleA@4
+extern __imp__GetOEMCP@0
+extern __imp__GetProcAddress@8
+extern __imp__GetStdHandle@4
+extern __imp__GetTickCount@0
+extern __imp__GetVersion@0
+extern __imp__InitializeCriticalSection@4
+extern __imp__LeaveCriticalSection@4
+extern __imp__LoadLibraryA@4
+extern __imp__MoveFileA@8
+extern __imp__MultiByteToWideChar@24
+extern __imp__ReadConsoleInputA@16
+extern __imp__ReadFile@20
+extern __imp__SetConsoleCtrlHandler@8
+extern __imp__SetConsoleMode@8
+extern __imp__SetEnvironmentVariableA@8
+extern __imp__SetEnvironmentVariableW@8
+extern __imp__SetEvent@4
+extern __imp__SetFilePointer@16
+extern __imp__SetLastError@4
+extern __imp__SetStdHandle@8
+extern __imp__SetUnhandledExceptionFilter@4
+extern __imp__TlsAlloc@0
+extern __imp__TlsFree@4
+extern __imp__TlsGetValue@4
+extern __imp__TlsSetValue@8
+extern __imp__UnhandledExceptionFilter@4
+extern __imp__VirtualAlloc@16
+extern __imp__VirtualFree@12
+extern __imp__VirtualQuery@12
+extern __imp__WaitForSingleObject@8
+extern __imp__WideCharToMultiByte@32
+extern __imp__WriteConsoleA@20
+extern __imp__WriteFile@20
+extern __imp__auxGetDevCapsA@12
+extern __imp__auxGetNumDevs@0
+extern __imp__auxGetVolume@8
+extern __imp__auxSetVolume@8
+extern __imp__mciGetDeviceIDA@4
+extern __imp__mciSendStringA@16
+extern __imp__midiOutGetDevCapsA@12
+extern __imp__midiOutGetVolume@8
+extern __imp__midiOutSetVolume@8
+extern __imp__timeGetTime@0
+extern __imp__timeKillEvent@4
+extern __imp__timeSetEvent@20
+extern __imp__DirectSoundCreate@12
+extern __imp__DirectDrawCreate@12
+; link flag and libs: -e fcn_0045709c -lgdi32 -luser32 -lkernel32 -lwinmm -ldsound -lddraw
+global fcn_0045709c
+
+section .text
+db 0xcc
+db 0xeb
+db 0xfd
+
+ref_00401003:
+db 0x90
+dd 0x00909090
+dd 0x00000000
+dd 0x00000000
+
+fcn_00401010:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov esi, dword [esp + 0x20]
+mov ebx, dword [esp + 0x24]
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_00401537 ; je 0x401537
+mov eax, esp
+push eax
+call dword [cs:__imp__GetCursorPos@4] ; ucall: call dword cs:[0x4622ec]
+xor eax, eax
+mov ax, word [ref_00497168] ; mov ax, word [0x497168]
+cmp esi, eax
+jne short loc_00401059 ; jne 0x401059
+test ebx, 0x80000000
+jne short loc_00401059 ; jne 0x401059
+mov eax, dword [esp + 4]
+sub eax, 0xa
+push eax
+mov edi, dword [esp + 4]
+push edi
+jmp short loc_0040107a ; jmp 0x40107a
+
+loc_00401059:
+xor eax, eax
+mov ax, word [ref_0049716a] ; mov ax, word [0x49716a]
+cmp esi, eax
+jne short loc_00401086 ; jne 0x401086
+test ebx, 0x80000000
+jne short loc_00401086 ; jne 0x401086
+mov esi, dword [esp + 4]
+push esi
+mov eax, dword [esp + 4]
+add eax, 0xa
+
+loc_00401079:
+push eax
+
+loc_0040107a:
+call dword [cs:__imp__SetCursorPos@8] ; ucall: call dword cs:[0x46231c]
+jmp near loc_00401537 ; jmp 0x401537
+
+loc_00401086:
+xor eax, eax
+mov ax, word [ref_0049716c] ; mov ax, word [0x49716c]
+cmp esi, eax
+jne short loc_004010a9 ; jne 0x4010a9
+test ebx, 0x80000000
+jne short loc_004010a9 ; jne 0x4010a9
+mov eax, dword [esp + 4]
+add eax, 0xa
+push eax
+mov ebx, dword [esp + 4]
+push ebx
+jmp short loc_0040107a ; jmp 0x40107a
+
+loc_004010a9:
+xor eax, eax
+mov ax, word [ref_0049716e] ; mov ax, word [0x49716e]
+cmp esi, eax
+jne short loc_004010cb ; jne 0x4010cb
+test ebx, 0x80000000
+jne short loc_004010cb ; jne 0x4010cb
+mov ecx, dword [esp + 4]
+push ecx
+mov eax, dword [esp + 4]
+sub eax, 0xa
+jmp short loc_00401079 ; jmp 0x401079
+
+loc_004010cb:
+xor eax, eax
+mov ax, word [ref_00497170] ; mov ax, word [0x497170]
+cmp esi, eax
+jne near loc_00401157 ; jne 0x401157
+test ebx, 0x80000000
+jne short loc_004010f1 ; jne 0x4010f1
+cmp word [ref_0046cb09], 0 ; cmp word [0x46cb09], 0
+jne near loc_00401537 ; jne 0x401537
+
+loc_004010f1:
+cmp byte [ref_0046cb00], 0 ; cmp byte [0x46cb00], 0
+jne near loc_00401537 ; jne 0x401537
+mov eax, dword [esp + 4]
+shl eax, 0x10
+add eax, dword [esp]
+test ebx, 0x80000000
+je short loc_00401134 ; je 0x401134
+push eax
+push 0
+push 0x202
+mov edx, dword [ref_0048a0d4] ; mov edx, dword [0x48a0d4]
+push edx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+xor ebx, ebx
+mov word [ref_0046cb09], bx ; mov word [0x46cb09], bx
+jmp near loc_00401537 ; jmp 0x401537
+
+loc_00401134:
+push eax
+push 0
+push 0x201
+mov eax, dword [ref_0048a0d4] ; mov eax, dword [0x48a0d4]
+push eax
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+mov word [ref_0046cb09], 1 ; mov word [0x46cb09], 1
+jmp near loc_00401537 ; jmp 0x401537
+
+loc_00401157:
+xor eax, eax
+mov ax, word [ref_00497172] ; mov ax, word [0x497172]
+cmp esi, eax
+jne near loc_004011df ; jne 0x4011df
+test ebx, 0x80000000
+je near loc_004011df ; je 0x4011df
+cmp byte [ref_0046cafe], 0 ; cmp byte [0x46cafe], 0
+je short loc_004011c3 ; je 0x4011c3
+cmp dword [ref_0046cad8], 1 ; cmp dword [0x46cad8], 1
+jne short loc_004011c3 ; jne 0x4011c3
+xor edx, edx
+xor ebx, ebx
+mov ebp, dword [ref_00499114] ; mov ebp, dword [0x499114]
+
+loc_0040118f:
+cmp edx, ebp
+jge short loc_004011af ; jge 0x4011af
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004011ac ; jne 0x4011ac
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+je near loc_00401537 ; je 0x401537
+
+loc_004011ac:
+inc edx
+jmp short loc_0040118f ; jmp 0x40118f
+
+loc_004011af:
+test ebx, ebx
+jne near loc_00401537 ; jne 0x401537
+mov byte [ref_0046caff], 1 ; mov byte [0x46caff], 1
+jmp near loc_00401537 ; jmp 0x401537
+
+loc_004011c3:
+push 0
+push 0
+push 0x205
+mov edi, dword [ref_0048a0d4] ; mov edi, dword [0x48a0d4]
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00401537 ; jmp 0x401537
+
+loc_004011df:
+cmp byte [ref_0046cafd], 0 ; cmp byte [0x46cafd], 0
+je near loc_00401537 ; je 0x401537
+test ebx, 0xc0000000
+je short loc_00401202 ; je 0x401202
+xor edi, edi
+mov word [ref_0046cb07], di ; mov word [0x46cb07], di
+jmp near loc_00401537 ; jmp 0x401537
+
+loc_00401202:
+cmp esi, 0x11
+jne short loc_00401212 ; jne 0x401212
+mov word [ref_0046cb07], 0x1100 ; mov word [0x46cb07], 0x1100
+jmp short loc_00401219 ; jmp 0x401219
+
+loc_00401212:
+or word [ref_0046cb07], si ; or word [0x46cb07], si
+
+loc_00401219:
+xor edx, edx
+mov dx, word [ref_00497176] ; mov dx, word [0x497176]
+xor eax, eax
+mov ax, word [ref_0046cb07] ; mov ax, word [0x46cb07]
+cmp eax, edx
+jne short loc_00401262 ; jne 0x401262
+mov dh, byte [ref_0049715d] ; mov dh, byte [0x49715d]
+inc dh
+mov byte [ref_0049715d], dh ; mov byte [0x49715d], dh
+cmp dh, 3
+jne short loc_00401249 ; jne 0x401249
+xor bh, bh
+mov byte [ref_0049715d], bh ; mov byte [0x49715d], bh
+
+loc_00401249:
+call fcn_00419703 ; call 0x419703
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+call fcn_004196f1 ; call 0x4196f1
+jmp near loc_00401523 ; jmp 0x401523
+
+loc_00401262:
+xor edx, edx
+mov dx, word [ref_0049717c] ; mov dx, word [0x49717c]
+cmp eax, edx
+jne short loc_0040128d ; jne 0x40128d
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+call fcn_00419703 ; call 0x419703
+call fcn_0041d546 ; call 0x41d546
+call fcn_0040dd1f ; call 0x40dd1f
+jmp near loc_00401523 ; jmp 0x401523
+
+loc_0040128d:
+xor edx, edx
+mov dx, word [ref_0049717e] ; mov dx, word [0x49717e]
+cmp eax, edx
+jne near loc_00401312 ; jne 0x401312
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+cmp byte [eax + ref_00496ba0], 0 ; cmp byte [eax + 0x496ba0], 0
+jne near loc_00401523 ; jne 0x401523
+imul eax, ecx, 0x68
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+cmp al, 1
+jb short loc_00401306 ; jb 0x401306
+jbe short loc_004012c9 ; jbe 0x4012c9
+cmp al, 2
+je short loc_004012e7 ; je 0x4012e7
+jmp short loc_00401306 ; jmp 0x401306
+
+loc_004012c9:
+imul eax, ecx, 0x68
+imul edx, ecx, 0x68
+inc byte [eax + ref_00496b7a] ; inc byte [eax + 0x496b7a]
+cmp byte [edx + ref_00496b7a], 3 ; cmp byte [edx + 0x496b7a], 3
+jne short loc_00401306 ; jne 0x401306
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+jmp short loc_004012ff ; jmp 0x4012ff
+
+loc_004012e7:
+imul eax, ecx, 0x68
+imul edx, ecx, 0x68
+inc byte [eax + ref_00496b7a] ; inc byte [eax + 0x496b7a]
+cmp byte [edx + ref_00496b7a], 4 ; cmp byte [edx + 0x496b7a], 4
+jne short loc_00401306 ; jne 0x401306
+imul eax, ecx, 0x68
+
+loc_004012ff:
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+
+loc_00401306:
+push 1
+call fcn_00417191 ; call 0x417191
+jmp near loc_00401520 ; jmp 0x401520
+
+loc_00401312:
+xor edx, edx
+mov dx, word [ref_00497180] ; mov dx, word [0x497180]
+cmp eax, edx
+jne short loc_0040132b ; jne 0x40132b
+push 0xa
+
+loc_00401321:
+call fcn_00417d65 ; call 0x417d65
+jmp near loc_00401520 ; jmp 0x401520
+
+loc_0040132b:
+xor edx, edx
+mov dx, word [ref_00497182] ; mov dx, word [0x497182]
+cmp eax, edx
+jne short loc_0040133c ; jne 0x40133c
+push 9
+jmp short loc_00401321 ; jmp 0x401321
+
+loc_0040133c:
+xor edx, edx
+mov dx, word [ref_00497184] ; mov dx, word [0x497184]
+cmp eax, edx
+jne short loc_0040134d ; jne 0x40134d
+push 8
+jmp short loc_00401321 ; jmp 0x401321
+
+loc_0040134d:
+xor edx, edx
+mov dx, word [ref_00497186] ; mov dx, word [0x497186]
+cmp eax, edx
+jne short loc_0040135e ; jne 0x40135e
+push 7
+jmp short loc_00401321 ; jmp 0x401321
+
+loc_0040135e:
+xor edx, edx
+mov dx, word [ref_00497188] ; mov dx, word [0x497188]
+cmp eax, edx
+jne short loc_0040136f ; jne 0x40136f
+push 6
+jmp short loc_00401321 ; jmp 0x401321
+
+loc_0040136f:
+xor edx, edx
+mov dx, word [ref_0049718a] ; mov dx, word [0x49718a]
+cmp eax, edx
+jne short loc_00401380 ; jne 0x401380
+push 5
+jmp short loc_00401321 ; jmp 0x401321
+
+loc_00401380:
+xor edx, edx
+mov dx, word [ref_0049718c] ; mov dx, word [0x49718c]
+cmp eax, edx
+jne short loc_004013c0 ; jne 0x4013c0
+mov edi, dword [ref_00499088] ; mov edi, dword [0x499088]
+dec edi
+mov dword [ref_00499088], edi ; mov dword [0x499088], edi
+mov ebp, edi
+and ebp, 7
+mov dword [ref_00499088], ebp ; mov dword [0x499088], ebp
+mov eax, 0xffffffff
+mov dword [ref_00474930], eax ; mov dword [0x474930], eax
+mov dword [ref_00474934], eax ; mov dword [0x474934], eax
+
+loc_004013b4:
+push 1
+call fcn_00415e70 ; call 0x415e70
+jmp near loc_00401520 ; jmp 0x401520
+
+loc_004013c0:
+xor edx, edx
+mov dx, word [ref_0049718e] ; mov dx, word [0x49718e]
+cmp eax, edx
+jne short loc_004013f8 ; jne 0x4013f8
+mov edx, dword [ref_00499088] ; mov edx, dword [0x499088]
+inc edx
+mov dword [ref_00499088], edx ; mov dword [0x499088], edx
+mov ecx, edx
+and ecx, 7
+mov dword [ref_00499088], ecx ; mov dword [0x499088], ecx
+mov ebx, 0xffffffff
+mov dword [ref_00474930], ebx ; mov dword [0x474930], ebx
+mov dword [ref_00474934], ebx ; mov dword [0x474934], ebx
+jmp short loc_004013b4 ; jmp 0x4013b4
+
+loc_004013f8:
+xor edx, edx
+mov dx, word [ref_00497190] ; mov dx, word [0x497190]
+cmp eax, edx
+jne short loc_0040140c ; jne 0x40140c
+push 2
+jmp near loc_00401321 ; jmp 0x401321
+
+loc_0040140c:
+xor edx, edx
+mov dx, word [ref_00497192] ; mov dx, word [0x497192]
+cmp eax, edx
+jne short loc_00401420 ; jne 0x401420
+push 1
+jmp near loc_00401321 ; jmp 0x401321
+
+loc_00401420:
+xor edx, edx
+mov dx, word [ref_00497194] ; mov dx, word [0x497194]
+cmp eax, edx
+jne short loc_00401434 ; jne 0x401434
+push 4
+jmp near loc_00401321 ; jmp 0x401321
+
+loc_00401434:
+xor edx, edx
+mov dx, word [ref_00497196] ; mov dx, word [0x497196]
+cmp eax, edx
+jne short loc_00401448 ; jne 0x401448
+push 3
+jmp near loc_00401321 ; jmp 0x401321
+
+loc_00401448:
+xor edx, edx
+mov dx, word [ref_00497198] ; mov dx, word [0x497198]
+cmp eax, edx
+jne short loc_0040145c ; jne 0x40145c
+push 0
+jmp near loc_00401321 ; jmp 0x401321
+
+loc_0040145c:
+xor edx, edx
+mov dx, word [ref_0049719e] ; mov dx, word [0x49719e]
+cmp eax, edx
+jne short loc_004014b1 ; jne 0x4014b1
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+call fcn_00419703 ; call 0x419703
+push 0xf0
+push 0xdc
+call fcn_00453a32 ; call 0x453a32
+add esp, 8
+cmp eax, 1
+jne short loc_004014a0 ; jne 0x4014a0
+call fcn_00411f80 ; call 0x411f80
+mov byte [ref_0046caf9], 1 ; mov byte [0x46caf9], 1
+jmp near loc_00401523 ; jmp 0x401523
+
+loc_004014a0:
+call fcn_004196f1 ; call 0x4196f1
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_00401520 ; jmp 0x401520
+
+loc_004014b1:
+cmp byte [ref_0049715d], 2 ; cmp byte [0x49715d], 2
+je short loc_00401523 ; je 0x401523
+xor edx, edx
+mov dx, word [ref_0049719a] ; mov dx, word [0x49719a]
+cmp eax, edx
+jne short loc_004014ee ; jne 0x4014ee
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov cl, byte [eax + ref_0048be24] ; mov cl, byte [eax + 0x48be24]
+dec cl
+mov byte [eax + ref_0048be24], cl ; mov byte [eax + 0x48be24], cl
+mov ch, cl
+and ch, 3
+mov byte [eax + ref_0048be24], ch ; mov byte [eax + 0x48be24], ch
+push 1
+call fcn_00415f69 ; call 0x415f69
+jmp short loc_00401520 ; jmp 0x401520
+
+loc_004014ee:
+xor edx, edx
+mov dx, word [ref_0049719c] ; mov dx, word [0x49719c]
+cmp eax, edx
+jne short loc_00401523 ; jne 0x401523
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov bl, byte [eax + ref_0048be24] ; mov bl, byte [eax + 0x48be24]
+inc bl
+mov byte [eax + ref_0048be24], bl ; mov byte [eax + 0x48be24], bl
+mov bh, bl
+and bh, 3
+mov byte [eax + ref_0048be24], bh ; mov byte [eax + 0x48be24], bh
+push 1
+call fcn_00415f69 ; call 0x415f69
+
+loc_00401520:
+add esp, 4
+
+loc_00401523:
+cmp word [ref_0046cb07], 0x1100 ; cmp word [0x46cb07], 0x1100
+je short loc_00401537 ; je 0x401537
+xor esi, esi
+mov word [ref_0046cb07], si ; mov word [0x46cb07], si
+
+loc_00401537:
+xor eax, eax
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0xc
+
+fcn_00401543:
+push ebx
+push esi
+push edi
+push ebp
+push 0
+push 0
+push 0x259
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x96000
+push ebx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [ref_0046cae0] ; mov edi, dword [0x46cae0]
+push edi
+mov ebp, dword [ref_0046cadc] ; mov ebp, dword [0x46cadc]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+call fcn_00454edc ; call 0x454edc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004015d6:
+push ebx
+push esi
+call fcn_0045011a ; call 0x45011a
+test eax, eax
+je near loc_00401812 ; je 0x401812
+push 0
+call fcn_00453b55 ; call 0x453b55
+add esp, 4
+push 0
+push ref_0048a0d8 ; push 0x48a0d8
+push 0
+call fcn_00461222 ; call 0x461222
+test eax, eax
+je short loc_0040161b ; je 0x40161b
+push 0x10
+push ref_00463004 ; push 0x463004
+push ref_0046300a ; push 0x46300a
+
+loc_0040160d:
+push 0
+call dword [cs:__imp__MessageBoxA@16] ; ucall: call dword cs:[0x462308]
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+loc_0040161b:
+mov eax, dword [ref_0048a0d8] ; mov eax, dword [0x48a0d8]
+mov edx, dword [eax]
+push 0x11
+mov ecx, dword [ref_0048a0d4] ; mov ecx, dword [0x48a0d4]
+push ecx
+push eax
+call dword [edx + 0x50] ; ucall
+mov eax, dword [ref_0048a0d8] ; mov eax, dword [0x48a0d8]
+mov edx, dword [eax]
+push 0x10
+push 0x1e0
+push 0x280
+push eax
+call dword [edx + 0x54] ; ucall
+test eax, eax
+je short loc_00401658 ; je 0x401658
+push 0x10
+push ref_00463004 ; push 0x463004
+push ref_00463024 ; push 0x463024
+jmp short loc_0040160d ; jmp 0x40160d
+
+loc_00401658:
+mov dword [ref_0048a068], 0x6c ; mov dword [0x48a068], 0x6c
+mov esi, 1
+mov dword [ref_0048a06c], esi ; mov dword [0x48a06c], esi
+mov dword [ref_0048a0d0], 0x200 ; mov dword [0x48a0d0], 0x200
+mov eax, dword [ref_0048a0d8] ; mov eax, dword [0x48a0d8]
+mov edx, dword [eax]
+push 0
+push ref_0048a0dc ; push 0x48a0dc
+push ref_0048a068 ; push 0x48a068
+push eax
+call dword [edx + 0x18] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push eax
+call dword [edx + 0x6c] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push esi
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a078] ; mov eax, dword [0x48a078]
+mov dword [ref_0048a060], eax ; mov dword [0x48a060], eax
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [ref_0048a06c], 7 ; mov dword [0x48a06c], 7
+mov dword [ref_0048a0d0], 0x840 ; mov dword [0x48a0d0], 0x840
+mov dword [ref_0048a074], 0x280 ; mov dword [0x48a074], 0x280
+mov dword [ref_0048a070], 0x1e0 ; mov dword [0x48a070], 0x1e0
+mov eax, dword [ref_0048a0d8] ; mov eax, dword [0x48a0d8]
+mov edx, dword [eax]
+push 0
+push ref_0048a0e0 ; push 0x48a0e0
+push ref_0048a068 ; push 0x48a068
+push eax
+call dword [edx + 0x18] ; ucall
+call dword [cs:__imp__GetTickCount@0] ; ucall: call dword cs:[0x4623cc]
+push eax
+call fcn_00456f50 ; call 0x456f50
+add esp, 4
+call fcn_0044f935 ; call 0x44f935
+call fcn_0045175d ; call 0x45175d
+push ref_0046303e ; push 0x46303e
+call fcn_004502fe ; call 0x4502fe
+add esp, 4
+mov dword [ref_0048a0e4], eax ; mov dword [0x48a0e4], eax
+push ref_00463047 ; push 0x463047
+call fcn_004502fe ; call 0x4502fe
+add esp, 4
+mov dword [ref_0048a054], eax ; mov dword [0x48a054], eax
+push ref_00463054 ; push 0x463054
+call fcn_004502fe ; call 0x4502fe
+add esp, 4
+mov dword [ref_0048a05c], eax ; mov dword [0x48a05c], eax
+push ref_0046305e ; push 0x46305e
+call fcn_004502fe ; call 0x4502fe
+add esp, 4
+mov dword [ref_0048a058], eax ; mov dword [0x48a058], eax
+push ref_0048231a ; push 0x48231a
+call fcn_00454176 ; call 0x454176
+add esp, 4
+call fcn_00411e8f ; call 0x411e8f
+push 0
+mov ebx, dword [ref_0048a064] ; mov ebx, dword [0x48a064]
+push ebx
+push fcn_00401010 ; push 0x401010
+push 2
+call dword [cs:__imp__SetWindowsHookExA@16] ; ucall: call dword cs:[0x462328]
+mov dword [ref_0048a050], eax ; mov dword [0x48a050], eax
+call fcn_004020fa ; call 0x4020fa
+call fcn_004545ba ; call 0x4545ba
+push 0
+push esi
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+xor ah, ah
+mov byte [ref_0046caf8], ah ; mov byte [0x46caf8], ah
+mov byte [ref_0046caf9], ah ; mov byte [0x46caf9], ah
+mov byte [ref_0046cafd], ah ; mov byte [0x46cafd], ah
+mov byte [ref_0046cb05], ah ; mov byte [0x46cb05], ah
+push 4
+push 0
+push ref_004990f0 ; push 0x4990f0
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0x5e880
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov dword [ref_00474938], eax ; mov dword [0x474938], eax
+xor esi, esi
+mov dword [ref_00474930], esi ; mov dword [0x474930], esi
+mov dword [ref_00474934], esi ; mov dword [0x474934], esi
+mov dword [ref_0048a010], esi ; mov dword [0x48a010], esi
+mov dword [ref_0046cad8], esi ; mov dword [0x46cad8], esi
+xor bh, bh
+mov byte [ref_0047e771], bh ; mov byte [0x47e771], bh
+mov eax, 1
+
+loc_00401812:
+pop esi
+pop ebx
+ret
+
+fcn_00401815:
+push ebx
+push esi
+push edi
+push ebp
+cmp byte [ref_0046cb05], 0 ; cmp byte [0x46cb05], 0
+jne near loc_004018e2 ; jne 0x4018e2
+call fcn_004543c4 ; call 0x4543c4
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+call fcn_004021b2 ; call 0x4021b2
+call fcn_004548ef ; call 0x4548ef
+mov ecx, dword [ref_0048a058] ; mov ecx, dword [0x48a058]
+push ecx
+call fcn_00450404 ; call 0x450404
+add esp, 4
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450404 ; call 0x450404
+add esp, 4
+mov esi, dword [ref_0048a054] ; mov esi, dword [0x48a054]
+push esi
+call fcn_00450404 ; call 0x450404
+add esp, 4
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450404 ; call 0x450404
+add esp, 4
+call fcn_00419228 ; call 0x419228
+call fcn_0044f9b3 ; call 0x44f9b3
+mov ebp, dword [ref_0048a050] ; mov ebp, dword [0x48a050]
+push ebp
+call dword [cs:__imp__UnhookWindowsHookEx@4] ; ucall: call dword cs:[0x462338]
+push ref_0048231a ; push 0x48231a
+call fcn_00454240 ; call 0x454240
+add esp, 4
+call fcn_00453d28 ; call 0x453d28
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+test eax, eax
+je short loc_004018b9 ; je 0x4018b9
+mov edx, dword [eax]
+push eax
+call dword [edx + 8] ; ucall
+
+loc_004018b9:
+mov edx, dword [ref_0048a0dc] ; mov edx, dword [0x48a0dc]
+test edx, edx
+je short loc_004018cb ; je 0x4018cb
+mov eax, edx
+mov edx, dword [edx]
+push eax
+call dword [edx + 8] ; ucall
+
+loc_004018cb:
+mov ecx, dword [ref_0048a0d8] ; mov ecx, dword [0x48a0d8]
+test ecx, ecx
+je short loc_004018db ; je 0x4018db
+mov edx, dword [ecx]
+push ecx
+call dword [edx + 8] ; ucall
+
+loc_004018db:
+mov byte [ref_0046cb05], 1 ; mov byte [0x46cb05], 1
+
+loc_004018e2:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004018e7:
+push ebx
+sub esp, 0x1c
+mov edx, dword [ref_0046cad8] ; mov edx, dword [0x46cad8]
+inc edx
+mov dword [ref_0046cad8], edx ; mov dword [0x46cad8], edx
+mov eax, edx
+mov edx, dword [esp + 0x24]
+mov dword [eax*4 + ref_0048a010], edx ; mov dword [eax*4 + 0x48a010], edx
+mov ecx, dword [esp + 0x28]
+push ecx
+push 0
+push 0x401
+mov ebx, dword [ref_0048a0d4] ; mov ebx, dword [0x48a0d4]
+push ebx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0040191f:
+push 1
+push 0
+push 0
+push 0
+lea eax, [esp + 0x10]
+push eax
+call dword [cs:__imp__PeekMessageA@20] ; ucall: call dword cs:[0x46230c]
+test eax, eax
+je short loc_0040191f ; je 0x40191f
+cmp dword [esp + 4], 0x402
+je short loc_00401957 ; je 0x401957
+mov eax, esp
+push eax
+call dword [cs:__imp__TranslateMessage@4] ; ucall: call dword cs:[0x462334]
+mov eax, esp
+push eax
+call dword [cs:__imp__DispatchMessageA@4] ; ucall: call dword cs:[0x4622e0]
+jmp short loc_0040191f ; jmp 0x40191f
+
+loc_00401957:
+dec dword [ref_0046cad8] ; dec dword [0x46cad8]
+mov eax, dword [esp + 0xc]
+add esp, 0x1c
+pop ebx
+ret
+
+fcn_00401966:
+mov edx, dword [esp + 4]
+push edx
+push 0
+push 0x402
+mov ecx, dword [ref_0048a0d4] ; mov ecx, dword [0x48a0d4]
+push ecx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+ret
+
+fcn_00401981:
+push ebx
+mov edx, dword [ref_0046cad8] ; mov edx, dword [0x46cad8]
+inc edx
+mov dword [ref_0046cad8], edx ; mov dword [0x46cad8], edx
+mov dword [edx*4 + ref_0048a010], fcn_00417e26 ; mov dword [edx*4 + 0x48a010], 0x417e26
+push 0
+push 0
+push 0x401
+mov ebx, dword [ref_0048a0d4] ; mov ebx, dword [0x48a0d4]
+push ebx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+or byte [eax + ref_00498ea0], 0x80 ; or byte [eax + 0x498ea0], 0x80
+cmp dword [esp + 8], 0
+je short loc_004019d0 ; je 0x4019d0
+push 0
+call fcn_00454d91 ; call 0x454d91
+add esp, 4
+
+loc_004019d0:
+pop ebx
+ret
+
+fcn_004019d2:
+dec dword [ref_0046cad8] ; dec dword [0x46cad8]
+jmp near fcn_00454edc ; jmp 0x454edc
+
+fcn_004019dd:
+push ebx
+push esi
+push edi
+push ebp
+mov eax, dword [esp + 0x18]
+mov edx, dword [esp + 0x1c]
+xor ebx, ebx
+cmp eax, 0x1c
+jb short loc_00401a02 ; jb 0x401a02
+jbe short loc_00401a10 ; jbe 0x401a10
+cmp eax, 0x3b9
+je near loc_00401b08 ; je 0x401b08
+jmp near loc_00401b33 ; jmp 0x401b33
+
+loc_00401a02:
+cmp eax, 2
+je near loc_00401b24 ; je 0x401b24
+jmp near loc_00401b33 ; jmp 0x401b33
+
+loc_00401a10:
+test edx, edx
+je near loc_00401a9f ; je 0x401a9f
+cmp dword [ref_0046cb0b], 0 ; cmp dword [0x46cb0b], 0
+je short loc_00401a87 ; je 0x401a87
+mov esi, dword [ref_0048a0dc] ; mov esi, dword [0x48a0dc]
+test esi, esi
+je short loc_00401a31 ; je 0x401a31
+mov edx, dword [esi]
+push esi
+call dword [edx + 0x6c] ; ucall
+
+loc_00401a31:
+cmp byte [ref_0046cb02], 0 ; cmp byte [0x46cb02], 0
+je short loc_00401a4c ; je 0x401a4c
+push 0
+push 0
+push 0
+push ref_00463069 ; push 0x463069
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+
+loc_00401a4c:
+cmp byte [ref_0046cb03], 0 ; cmp byte [0x46cb03], 0
+je short loc_00401a67 ; je 0x401a67
+push 0
+push 0
+push 0
+push ref_00463074 ; push 0x463074
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+
+loc_00401a67:
+cmp byte [ref_0046cb04], 0 ; cmp byte [0x46cb04], 0
+je short loc_00401a87 ; je 0x401a87
+mov edi, dword [ref_0048a0d4] ; mov edi, dword [0x48a0d4]
+push edi
+push 0
+push 0
+push ref_0046307f ; push 0x46307f
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+
+loc_00401a87:
+mov ebp, dword [esp + 0x14]
+push ebp
+call dword [cs:__imp__SetFocus@4] ; ucall: call dword cs:[0x462320]
+mov byte [ref_0046cb01], 1 ; mov byte [0x46cb01], 1
+jmp near loc_00401b6e ; jmp 0x401b6e
+
+loc_00401a9f:
+mov dword [ref_0046cb0b], 1 ; mov dword [0x46cb0b], 1
+xor dl, dl
+mov byte [ref_0046cb01], dl ; mov byte [0x46cb01], dl
+cmp byte [ref_0046cb02], 0 ; cmp byte [0x46cb02], 0
+je short loc_00401ac9 ; je 0x401ac9
+push ebx
+push ebx
+push ebx
+push ref_00463093 ; push 0x463093
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+
+loc_00401ac9:
+cmp byte [ref_0046cb03], 0 ; cmp byte [0x46cb03], 0
+je short loc_00401ae4 ; je 0x401ae4
+push 0
+push 0
+push 0
+push ref_0046309d ; push 0x46309d
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+
+loc_00401ae4:
+cmp byte [ref_0046cb04], 0 ; cmp byte [0x46cb04], 0
+je near loc_00401b6e ; je 0x401b6e
+push 0
+push 0
+push 0
+push ref_004630a7 ; push 0x4630a7
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+jmp near loc_00401b6e ; jmp 0x401b6e
+
+loc_00401b08:
+cmp edx, 1
+jne short loc_00401b6e ; jne 0x401b6e
+cmp byte [ref_0046cb02], 0 ; cmp byte [0x46cb02], 0
+je short loc_00401b1d ; je 0x401b1d
+call fcn_0045174a ; call 0x45174a
+jmp short loc_00401b6e ; jmp 0x401b6e
+
+loc_00401b1d:
+call fcn_00454d2c ; call 0x454d2c
+jmp short loc_00401b6e ; jmp 0x401b6e
+
+loc_00401b24:
+call fcn_00401815 ; call 0x401815
+push ebx
+call dword [cs:__imp__PostQuitMessage@4] ; ucall: call dword cs:[0x462314]
+jmp short loc_00401b6e ; jmp 0x401b6e
+
+loc_00401b33:
+mov ebx, dword [ref_0046cad8] ; mov ebx, dword [0x46cad8]
+shl ebx, 2
+cmp dword [ebx + ref_0048a010], 0 ; cmp dword [ebx + 0x48a010], 0
+je short loc_00401b59 ; je 0x401b59
+mov edi, dword [esp + 0x20]
+push edi
+push edx
+push eax
+mov ebp, dword [esp + 0x20]
+push ebp
+call dword [ebx + ref_0048a010] ; ucall: call dword [ebx + 0x48a010]
+jmp short loc_00401b6c ; jmp 0x401b6c
+
+loc_00401b59:
+mov ebx, dword [esp + 0x20]
+push ebx
+push edx
+push eax
+mov esi, dword [esp + 0x20]
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+
+loc_00401b6c:
+mov ebx, eax
+
+loc_00401b6e:
+mov eax, ebx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+endloc_00401b77:
+db 0x90
+
+ref_00401b78: ; may contain a jump table
+dd loc_00401cc8
+dd loc_00401d08
+dd loc_00401d2b
+dd loc_00401d18
+dd loc_00401cbf
+
+ref_00401b8c: ; may contain a jump table
+dd loc_00401c8c
+dd loc_00401def
+dd loc_00401e25
+dd loc_00401e2f
+
+fcn_00401b9c:
+push ebx
+push esi
+push ebp
+sub esp, 0x44
+mov eax, dword [esp + 0x54]
+mov dword [ref_0048a064], eax ; mov dword [0x48a064], eax
+xor edx, edx
+mov dword [esp], edx
+mov dword [esp + 4], fcn_004019dd ; mov dword [esp + 4], 0x4019dd
+xor ebx, ebx
+mov dword [esp + 8], edx
+mov dword [esp + 0xc], edx
+mov dword [esp + 0x10], eax
+push ref_004630b4 ; push 0x4630b4
+push eax
+call dword [cs:__imp__LoadIconA@8] ; ucall: call dword cs:[0x462304]
+mov dword [esp + 0x14], eax
+push 0x7f00
+push ebx
+call dword [cs:__imp__LoadCursorA@8] ; ucall: call dword cs:[0x462300]
+mov dword [esp + 0x18], eax
+push 4
+call dword [cs:__imp__GetStockObject@4] ; ucall: call dword cs:[0x4622a4]
+mov dword [esp + 0x1c], eax
+mov dword [esp + 0x20], ebx
+mov ebp, ref_004630bf ; mov ebp, 0x4630bf
+mov dword [esp + 0x24], ebp
+mov eax, esp
+push eax
+call dword [cs:__imp__RegisterClassA@4] ; ucall: call dword cs:[0x462318]
+test ax, ax
+jne short loc_00401c1b ; jne 0x401c1b
+mov eax, 0xffffffff
+jmp near loc_00401e50 ; jmp 0x401e50
+
+loc_00401c1b:
+push ebx
+mov eax, dword [ref_0048a064] ; mov eax, dword [0x48a064]
+push eax
+push ebx
+push ebx
+push 1
+call dword [cs:__imp__GetSystemMetrics@4] ; ucall: call dword cs:[0x4622f0]
+push eax
+push ebx
+call dword [cs:__imp__GetSystemMetrics@4] ; ucall: call dword cs:[0x4622f0]
+push eax
+push ebx
+push ebx
+push 0x80000000
+push ebp
+push ebp
+push ebx
+call dword [cs:__imp__CreateWindowExA@48] ; ucall: call dword cs:[0x4622d4]
+mov dword [ref_0048a0d4], eax ; mov dword [0x48a0d4], eax
+call fcn_004015d6 ; call 0x4015d6
+test eax, eax
+je near loc_00401e50 ; je 0x401e50
+push 5
+mov edx, dword [ref_0048a0d4] ; mov edx, dword [0x48a0d4]
+push edx
+call dword [cs:__imp__ShowWindow@8] ; ucall: call dword cs:[0x462330]
+mov ecx, dword [ref_0048a0d4] ; mov ecx, dword [0x48a0d4]
+push ecx
+call dword [cs:__imp__UpdateWindow@4] ; ucall: call dword cs:[0x46233c]
+push 1
+push ref_0046cadc ; push 0x46cadc
+push ref_004630c5 ; push 0x4630c5
+call fcn_00451677 ; call 0x451677
+add esp, 0xc
+
+loc_00401c8c:
+xor edx, edx
+mov word [ref_004991b8], dx ; mov word [0x4991b8], dx
+mov word [ref_004991b6], dx ; mov word [0x4991b6], dx
+xor ebx, ebx
+mov dword [ref_004990f0], ebx ; mov dword [0x4990f0], ebx
+xor ah, ah
+mov byte [ref_0046cafc], ah ; mov byte [0x46cafc], ah
+call fcn_004029fd ; call 0x4029fd
+mov ebx, eax
+
+loc_00401cb3:
+cmp ebx, 4
+ja short loc_00401d2b ; ja 0x401d2b
+
+loc_00401cb8:
+jmp dword [ebx*4 + ref_00401b78] ; ujmp: jmp dword [ebx*4 + 0x401b78]
+
+loc_00401cbf:
+mov word [ref_004991b6], 1 ; mov word [0x4991b6], 1
+
+loc_00401cc8:
+xor eax, eax
+mov al, byte [ref_0046cafc] ; mov al, byte [0x46cafc]
+push eax
+call fcn_00406de7 ; call 0x406de7
+add esp, 4
+test eax, eax
+je short loc_00401c8c ; je 0x401c8c
+call fcn_00401543 ; call 0x401543
+call fcn_00407ad2 ; call 0x407ad2
+call fcn_004190cf ; call 0x4190cf
+call fcn_004291d6 ; call 0x4291d6
+call fcn_00415872 ; call 0x415872
+mov byte [ref_0046cafc], 1 ; mov byte [0x46cafc], 1
+push 0
+
+loc_00401cfe:
+call fcn_00401981 ; call 0x401981
+add esp, 4
+jmp short loc_00401d2b ; jmp 0x401d2b
+
+loc_00401d08:
+call fcn_004190cf ; call 0x4190cf
+mov byte [ref_0046cafc], 1 ; mov byte [0x46cafc], 1
+push 1
+jmp short loc_00401cfe ; jmp 0x401cfe
+
+loc_00401d18:
+call fcn_00401815 ; call 0x401815
+mov esi, dword [ref_0048a0d4] ; mov esi, dword [0x48a0d4]
+push esi
+
+loc_00401d24:
+call dword [cs:__imp__DestroyWindow@4] ; ucall: call dword cs:[0x4622dc]
+
+loc_00401d2b:
+push 1
+push 0
+push 0
+push 0
+lea eax, [esp + 0x38]
+push eax
+call dword [cs:__imp__PeekMessageA@20] ; ucall: call dword cs:[0x46230c]
+test eax, eax
+je short loc_00401d68 ; je 0x401d68
+cmp dword [esp + 0x2c], 0x12
+je near loc_00401e4c ; je 0x401e4c
+lea eax, [esp + 0x28]
+push eax
+call dword [cs:__imp__TranslateMessage@4] ; ucall: call dword cs:[0x462334]
+lea eax, [esp + 0x28]
+push eax
+call dword [cs:__imp__DispatchMessageA@4] ; ucall: call dword cs:[0x4622e0]
+jmp short loc_00401d2b ; jmp 0x401d2b
+
+loc_00401d68:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_00401d2b ; je 0x401d2b
+cmp dword [ref_00475110], 0 ; cmp dword [0x475110], 0
+je short loc_00401d7f ; je 0x401d7f
+call fcn_004192f7 ; call 0x4192f7
+
+loc_00401d7f:
+cmp byte [ref_0046cafa], 0 ; cmp byte [0x46cafa], 0
+je short loc_00401d8d ; je 0x401d8d
+call fcn_0040d7c4 ; call 0x40d7c4
+
+loc_00401d8d:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+cmp byte [eax + ref_00498ea2], 0 ; cmp byte [eax + 0x498ea2], 0
+jne short loc_00401db8 ; jne 0x401db8
+mov ch, byte [eax + ref_00498ea0] ; mov ch, byte [eax + 0x498ea0]
+test ch, 0x80
+je short loc_00401db8 ; je 0x401db8
+mov dl, ch
+and dl, 0x7f
+mov byte [eax + ref_00498ea0], dl ; mov byte [eax + 0x498ea0], dl
+call fcn_00418c55 ; call 0x418c55
+
+loc_00401db8:
+mov dh, byte [ref_0046caf8] ; mov dh, byte [0x46caf8]
+test dh, dh
+je short loc_00401e03 ; je 0x401e03
+xor bl, bl
+mov byte [ref_0046cb06], bl ; mov byte [0x46cb06], bl
+xor ebx, ebx
+mov bl, dh
+call fcn_00419228 ; call 0x419228
+call fcn_004019d2 ; call 0x4019d2
+xor cl, cl
+mov byte [ref_0046caf8], cl ; mov byte [0x46caf8], cl
+lea eax, [ebx - 1]
+cmp eax, 3
+ja short loc_00401e03 ; ja 0x401e03
+jmp dword [eax*4 + ref_00401b8c] ; ujmp: jmp dword [eax*4 + 0x401b8c]
+
+loc_00401def:
+xor ebx, ebx
+call fcn_004075c1 ; call 0x4075c1
+cmp byte [ref_0046caf9], 0 ; cmp byte [0x46caf9], 0
+je near loc_00401cb3 ; je 0x401cb3
+
+loc_00401e03:
+cmp byte [ref_0046caf9], 0 ; cmp byte [0x46caf9], 0
+je near loc_00401d2b ; je 0x401d2b
+call fcn_00451b36 ; call 0x451b36
+call fcn_00401815 ; call 0x401815
+mov eax, dword [ref_0048a0d4] ; mov eax, dword [0x48a0d4]
+push eax
+jmp near loc_00401d24 ; jmp 0x401d24
+
+loc_00401e25:
+call fcn_004075c1 ; call 0x4075c1
+jmp near loc_00401c8c ; jmp 0x401c8c
+
+loc_00401e2f:
+push 0
+call fcn_00403d74 ; call 0x403d74
+add esp, 4
+cmp eax, 0xffffffff
+je near loc_00401c8c ; je 0x401c8c
+mov ebx, 1
+jmp near loc_00401cb8 ; jmp 0x401cb8
+
+loc_00401e4c:
+mov eax, dword [esp + 0x30]
+
+loc_00401e50:
+add esp, 0x44
+pop ebp
+pop esi
+pop ebx
+ret 0x10
+
+fcn_00401e59:
+push ebx
+push esi
+push edi
+mov ecx, 0x20
+mov edx, ecx
+mov eax, dword [esp + 0x10]
+mov dword [ref_0048a168], eax ; mov dword [0x48a168], eax
+mov eax, dword [esp + 0x14]
+mov dword [ref_0048a164], eax ; mov dword [0x48a164], eax
+movsx ebx, word [ref_0048a172] ; movsx ebx, word [0x48a172]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, dword [ref_0048a0f4] ; mov ebx, dword [0x48a0f4]
+add eax, ebx
+movsx ebx, word [eax + 4]
+mov esi, dword [esp + 0x10]
+sub esi, ebx
+mov dword [ref_0048a0ec], esi ; mov dword [0x48a0ec], esi
+movsx eax, word [eax + 6]
+mov ebx, dword [esp + 0x14]
+sub ebx, eax
+mov dword [ref_0048a0f0], ebx ; mov dword [0x48a0f0], ebx
+test esi, esi
+jge short loc_00401ebc ; jge 0x401ebc
+add ecx, esi
+xor esi, esi
+mov dword [ref_0048a0ec], esi ; mov dword [0x48a0ec], esi
+
+loc_00401ebc:
+mov edi, dword [ref_0048a0f0] ; mov edi, dword [0x48a0f0]
+test edi, edi
+jge short loc_00401ecf ; jge 0x401ecf
+add edx, edi
+xor eax, eax
+mov dword [ref_0048a0f0], eax ; mov dword [0x48a0f0], eax
+
+loc_00401ecf:
+mov eax, dword [ref_0048a0ec] ; mov eax, dword [0x48a0ec]
+add eax, 0x20
+cmp eax, 0x280
+jle short loc_00401eea ; jle 0x401eea
+mov eax, dword [ref_0048a0ec] ; mov eax, dword [0x48a0ec]
+sub eax, 0x260
+sub ecx, eax
+
+loc_00401eea:
+mov eax, dword [ref_0048a0f0] ; mov eax, dword [0x48a0f0]
+add eax, 0x20
+cmp eax, 0x1e0
+jle short loc_00401f05 ; jle 0x401f05
+mov eax, dword [ref_0048a0f0] ; mov eax, dword [0x48a0f0]
+sub eax, 0x1c0
+sub edx, eax
+
+loc_00401f05:
+push edx
+push ecx
+mov edx, dword [ref_0048a0f0] ; mov edx, dword [0x48a0f0]
+push edx
+mov ecx, dword [ref_0048a0ec] ; mov ecx, dword [0x48a0ec]
+push ecx
+mov ebx, dword [ref_0048a0e8] ; mov ebx, dword [0x48a0e8]
+push ebx
+push ref_0046cb14 ; push 0x46cb14
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov esi, dword [esp + 0x14]
+push esi
+mov edi, dword [esp + 0x14]
+push edi
+movsx edx, word [ref_0048a172] ; movsx edx, word [0x48a172]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048a0f4] ; mov edx, dword [0x48a0f4]
+add eax, edx
+push eax
+push ref_0046cb14 ; push 0x46cb14
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00401f5e:
+push ebx
+push esi
+cmp dword [ref_0048a168], 0xffffffff ; cmp dword [0x48a168], 0xffffffff
+je short loc_00401f95 ; je 0x401f95
+mov ecx, dword [ref_0048a0f0] ; mov ecx, dword [0x48a0f0]
+push ecx
+mov ebx, dword [ref_0048a0ec] ; mov ebx, dword [0x48a0ec]
+push ebx
+mov esi, dword [ref_0048a0e8] ; mov esi, dword [0x48a0e8]
+push esi
+push ref_0046cb14 ; push 0x46cb14
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+mov dword [ref_0048a168], 0xffffffff ; mov dword [0x48a168], 0xffffffff
+
+loc_00401f95:
+pop esi
+pop ebx
+ret
+
+fcn_00401f98:
+push ebx
+push esi
+push edi
+sub esp, 8
+xor ebx, ebx
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_004020f1 ; je 0x4020f1
+xor eax, eax
+mov al, byte [ref_00497158] ; mov al, byte [0x497158]
+mov al, byte [eax + ref_0046cb20] ; mov al, byte [eax + 0x46cb20]
+and eax, 0xff
+mov edx, dword [ref_0046cb23] ; mov edx, dword [0x46cb23]
+inc edx
+mov dword [ref_0046cb23], edx ; mov dword [0x46cb23], edx
+cmp eax, edx
+jg short loc_00401fdd ; jg 0x401fdd
+mov dword [ref_0046cb23], ebx ; mov dword [0x46cb23], ebx
+mov byte [ref_0046cafa], 1 ; mov byte [0x46cafa], 1
+
+loc_00401fdd:
+test byte [ref_0048a179], 1 ; test byte [0x48a179], 1
+je near loc_004020f1 ; je 0x4020f1
+cmp byte [ref_0048a17a], 0 ; cmp byte [0x48a17a], 0
+jne near loc_004020f1 ; jne 0x4020f1
+cmp byte [ref_0046caf9], 0 ; cmp byte [0x46caf9], 0
+jne near loc_004020f1 ; jne 0x4020f1
+mov byte [ref_0048a17a], 1 ; mov byte [0x48a17a], 1
+cmp word [ref_0048a170], 1 ; cmp word [0x48a170], 1
+jle short loc_00402065 ; jle 0x402065
+mov cx, word [ref_0048a176] ; mov cx, word [0x48a176]
+inc ecx
+mov word [ref_0048a176], cx ; mov word [0x48a176], cx
+movsx edx, cx
+movsx eax, word [ref_0048a174] ; movsx eax, word [0x48a174]
+cmp edx, eax
+jl short loc_00402065 ; jl 0x402065
+xor esi, esi
+mov word [ref_0048a176], si ; mov word [0x48a176], si
+mov di, word [ref_0048a172] ; mov di, word [0x48a172]
+inc edi
+mov word [ref_0048a172], di ; mov word [0x48a172], di
+movsx eax, di
+movsx edx, word [ref_0048a170] ; movsx edx, word [0x48a170]
+cmp eax, edx
+jne short loc_00402060 ; jne 0x402060
+xor eax, edx
+mov word [ref_0048a172], ax ; mov word [0x48a172], ax
+
+loc_00402060:
+mov ebx, 1
+
+loc_00402065:
+mov eax, esp
+push eax
+call dword [cs:__imp__GetCursorPos@4] ; ucall: call dword cs:[0x4622ec]
+mov eax, dword [esp]
+cmp eax, dword [ref_0048a168] ; cmp eax, dword [0x48a168]
+jne short loc_0040208a ; jne 0x40208a
+mov eax, dword [esp + 4]
+cmp eax, dword [ref_0048a164] ; cmp eax, dword [0x48a164]
+jne short loc_0040208a ; jne 0x40208a
+test ebx, ebx
+je short loc_004020e9 ; je 0x4020e9
+
+loc_0040208a:
+test byte [ref_0048a179], 2 ; test byte [0x48a179], 2
+jne short loc_004020a2 ; jne 0x4020a2
+mov eax, dword [ref_0048a0d8] ; mov eax, dword [0x48a0d8]
+mov ebx, dword [eax]
+push 0
+push 1
+push eax
+call dword [ebx + 0x58] ; ucall
+
+loc_004020a2:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a0f8 ; push 0x48a0f8
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov eax, dword [ref_0048a11c] ; mov eax, dword [0x48a11c]
+mov dword [ref_0046cb1c], eax ; mov dword [0x46cb1c], eax
+call fcn_00401f5e ; call 0x401f5e
+mov eax, dword [esp + 4]
+push eax
+mov edx, dword [esp + 4]
+push edx
+call fcn_00401e59 ; call 0x401e59
+add esp, 8
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+
+loc_004020e9:
+xor dl, dl
+mov byte [ref_0048a17a], dl ; mov byte [0x48a17a], dl
+
+loc_004020f1:
+add esp, 8
+pop edi
+pop esi
+pop ebx
+ret 0x14
+
+fcn_004020fa:
+mov edx, dword [ref_0046cb10] ; mov edx, dword [0x46cb10]
+test edx, edx
+jne near loc_004021b1 ; jne 0x4021b1
+push edx
+push edx
+push edx
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0046cb10], eax ; mov dword [0x46cb10], eax
+push 0
+push 0
+push 0x20
+push 0x20
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048a0e8], eax ; mov dword [0x48a0e8], eax
+xor ah, ah
+mov byte [ref_0048a179], ah ; mov byte [0x48a179], ah
+mov byte [ref_0048a17a], ah ; mov byte [0x48a17a], ah
+mov byte [ref_0048a178], ah ; mov byte [0x48a178], ah
+mov dword [ref_0048a168], 0xffffffff ; mov dword [0x48a168], 0xffffffff
+push 0
+call dword [cs:__imp__ShowCursor@4] ; ucall: call dword cs:[0x46232c]
+mov dword [ref_0048a0f8], 0x6c ; mov dword [0x48a0f8], 0x6c
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a0f8 ; push 0x48a0f8
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a108] ; mov eax, dword [0x48a108]
+sar eax, 1
+mov word [ref_0046cb14], ax ; mov word [0x46cb14], ax
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 1
+push 0
+push fcn_00401f98 ; push 0x401f98
+push 5
+push 0x14
+call dword [cs:__imp__timeSetEvent@20] ; ucall: call dword cs:[0x462474]
+mov dword [ref_0048a16c], eax ; mov dword [0x48a16c], eax
+
+loc_004021b1:
+ret
+
+fcn_004021b2:
+push ebx
+push esi
+mov edx, dword [ref_0046cb10] ; mov edx, dword [0x46cb10]
+test edx, edx
+je short loc_004021f5 ; je 0x4021f5
+xor ah, ah
+mov byte [ref_0048a179], ah ; mov byte [0x48a179], ah
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0048a0e8] ; mov ebx, dword [0x48a0e8]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048a16c] ; mov esi, dword [0x48a16c]
+push esi
+call dword [cs:__imp__timeKillEvent@4] ; ucall: call dword cs:[0x462470]
+push 1
+call dword [cs:__imp__ShowCursor@4] ; ucall: call dword cs:[0x46232c]
+
+loc_004021f5:
+pop esi
+pop ebx
+ret
+
+fcn_004021f8:
+mov ecx, dword [ref_0046cb10] ; mov ecx, dword [0x46cb10]
+mov edx, dword [esp + 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add ecx, 0xc
+add ecx, eax
+mov dword [ref_0048a0f4], ecx ; mov dword [0x48a0f4], ecx
+mov eax, dword [esp + 8]
+mov word [ref_0048a170], ax ; mov word [0x48a170], ax
+mov eax, dword [esp + 0xc]
+mov word [ref_0048a174], ax ; mov word [0x48a174], ax
+xor edx, edx
+mov word [ref_0048a172], dx ; mov word [0x48a172], dx
+mov word [ref_0048a176], dx ; mov word [0x48a176], dx
+push 0
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+push 0
+call fcn_00402250 ; call 0x402250
+add esp, 4
+ret
+
+fcn_00402250:
+push ebx
+push esi
+sub esp, 8
+mov ebx, dword [esp + 0x14]
+mov ah, byte [ref_0048a178] ; mov ah, byte [0x48a178]
+cmp ah, 1
+jne near loc_00402357 ; jne 0x402357
+cmp byte [ref_0046caf9], 0 ; cmp byte [0x46caf9], 0
+jne near loc_00402357 ; jne 0x402357
+test byte [ref_0048a179], ah ; test byte [0x48a179], ah
+jne near loc_00402357 ; jne 0x402357
+mov eax, esp
+push eax
+call dword [cs:__imp__GetCursorPos@4] ; ucall: call dword cs:[0x4622ec]
+test ebx, ebx
+je near loc_004022ff ; je 0x4022ff
+movsx edx, word [ref_0048a172] ; movsx edx, word [0x48a172]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048a0f4] ; mov edx, dword [0x48a0f4]
+add eax, edx
+movsx edx, word [eax + 4]
+mov ecx, dword [esp]
+sub ecx, edx
+mov edx, ecx
+movsx eax, word [eax + 6]
+mov ecx, dword [esp + 4]
+sub ecx, eax
+mov eax, ecx
+lea ecx, [edx + 0x20]
+lea esi, [eax + 0x20]
+cmp edx, dword [ebx + 8]
+jge short loc_004022dc ; jge 0x4022dc
+cmp ecx, dword [ebx]
+jle short loc_004022dc ; jle 0x4022dc
+cmp eax, dword [ebx + 0xc]
+jge short loc_004022dc ; jge 0x4022dc
+cmp esi, dword [ebx + 4]
+jg short loc_004022ff ; jg 0x4022ff
+
+loc_004022dc:
+mov eax, dword [ref_0048a0ec] ; mov eax, dword [0x48a0ec]
+cmp eax, dword [ebx + 8]
+jge short loc_00402357 ; jge 0x402357
+add eax, 0x20
+cmp eax, dword [ebx]
+jle short loc_00402357 ; jle 0x402357
+mov eax, dword [ref_0048a0f0] ; mov eax, dword [0x48a0f0]
+cmp eax, dword [ebx + 0xc]
+jge short loc_00402357 ; jge 0x402357
+add eax, 0x20
+cmp eax, dword [ebx + 4]
+jle short loc_00402357 ; jle 0x402357
+
+loc_004022ff:
+mov byte [ref_0048a17a], 1 ; mov byte [0x48a17a], 1
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a0f8 ; push 0x48a0f8
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov eax, dword [ref_0048a11c] ; mov eax, dword [0x48a11c]
+mov dword [ref_0046cb1c], eax ; mov dword [0x46cb1c], eax
+mov ecx, dword [esp + 4]
+push ecx
+mov ebx, dword [esp + 4]
+push ebx
+call fcn_00401e59 ; call 0x401e59
+add esp, 8
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor bh, bh
+mov byte [ref_0048a17a], bh ; mov byte [0x48a17a], bh
+or byte [ref_0048a179], 1 ; or byte [0x48a179], 1
+
+loc_00402357:
+add esp, 8
+pop esi
+pop ebx
+ret
+
+fcn_0040235d:
+push ebx
+push esi
+sub esp, 8
+mov ebx, dword [esp + 0x14]
+mov ah, byte [ref_0048a178] ; mov ah, byte [0x48a178]
+cmp ah, 1
+jne short loc_00402357 ; jne 0x402357
+cmp byte [ref_0046caf9], 0 ; cmp byte [0x46caf9], 0
+jne short loc_00402357 ; jne 0x402357
+test byte [ref_0048a179], ah ; test byte [0x48a179], ah
+je short loc_00402357 ; je 0x402357
+mov eax, esp
+push eax
+call dword [cs:__imp__GetCursorPos@4] ; ucall: call dword cs:[0x4622ec]
+test ebx, ebx
+je near loc_00402410 ; je 0x402410
+movsx edx, word [ref_0048a172] ; movsx edx, word [0x48a172]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048a0f4] ; mov edx, dword [0x48a0f4]
+add eax, edx
+movsx edx, word [eax + 4]
+mov ecx, dword [esp]
+sub ecx, edx
+mov edx, ecx
+movsx eax, word [eax + 6]
+mov ecx, dword [esp + 4]
+sub ecx, eax
+mov eax, ecx
+lea ecx, [edx + 0x20]
+lea esi, [eax + 0x20]
+cmp edx, dword [ebx + 8]
+jge short loc_004023dd ; jge 0x4023dd
+cmp ecx, dword [ebx]
+jle short loc_004023dd ; jle 0x4023dd
+cmp eax, dword [ebx + 0xc]
+jge short loc_004023dd ; jge 0x4023dd
+cmp esi, dword [ebx + 4]
+jg short loc_00402410 ; jg 0x402410
+
+loc_004023dd:
+mov eax, dword [ref_0048a0ec] ; mov eax, dword [0x48a0ec]
+cmp eax, dword [ebx + 8]
+jge near loc_00402357 ; jge 0x402357
+add eax, 0x20
+cmp eax, dword [ebx]
+jle near loc_00402357 ; jle 0x402357
+mov eax, dword [ref_0048a0f0] ; mov eax, dword [0x48a0f0]
+cmp eax, dword [ebx + 0xc]
+jge near loc_00402357 ; jge 0x402357
+add eax, 0x20
+cmp eax, dword [ebx + 4]
+jle near loc_00402357 ; jle 0x402357
+
+loc_00402410:
+mov byte [ref_0048a17a], 1 ; mov byte [0x48a17a], 1
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a0f8 ; push 0x48a0f8
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov eax, dword [ref_0048a11c] ; mov eax, dword [0x48a11c]
+mov dword [ref_0046cb1c], eax ; mov dword [0x46cb1c], eax
+call fcn_00401f5e ; call 0x401f5e
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor bh, bh
+mov byte [ref_0048a17a], bh ; mov byte [0x48a17a], bh
+and byte [ref_0048a179], 0xfe ; and byte [0x48a179], 0xfe
+jmp near loc_00402357 ; jmp 0x402357
+
+fcn_00402460:
+cmp dword [esp + 4], 1
+jne short loc_00402484 ; jne 0x402484
+mov al, byte [esp + 4]
+mov byte [ref_0048a178], al ; mov byte [0x48a178], al
+test byte [ref_0048a179], 1 ; test byte [0x48a179], 1
+jne short loc_004024a0 ; jne 0x4024a0
+push 0
+call fcn_00402250 ; call 0x402250
+add esp, 4
+ret
+
+loc_00402484:
+test byte [ref_0048a179], 1 ; test byte [0x48a179], 1
+je short loc_00402497 ; je 0x402497
+push 0
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+
+loc_00402497:
+mov al, byte [esp + 4]
+mov byte [ref_0048a178], al ; mov byte [0x48a178], al
+
+loc_004024a0:
+ret
+
+fcn_004024a1:
+xor eax, eax
+mov al, byte [ref_0048a178] ; mov al, byte [0x48a178]
+ret
+
+fcn_004024a9:
+cmp dword [esp + 4], 1
+jne short loc_004024b8 ; jne 0x4024b8
+and byte [ref_0048a179], 0xfd ; and byte [0x48a179], 0xfd
+ret
+
+loc_004024b8:
+or byte [ref_0048a179], 2 ; or byte [0x48a179], 2
+ret
+
+fcn_004024c0:
+push ebx
+sub esp, 8
+mov ebx, dword [esp + 0x10]
+mov eax, esp
+push eax
+call dword [cs:__imp__GetCursorPos@4] ; ucall: call dword cs:[0x4622ec]
+movsx edx, word [ref_0048a172] ; movsx edx, word [0x48a172]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a0f4] ; mov eax, dword [0x48a0f4]
+movsx eax, word [edx + eax + 4]
+mov edx, dword [esp]
+sub edx, eax
+mov dword [ebx], edx
+movsx edx, word [ref_0048a172] ; movsx edx, word [0x48a172]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, dword [ref_0048a0f4] ; mov edx, dword [0x48a0f4]
+movsx eax, word [edx + eax*4 + 6]
+mov edx, dword [esp + 4]
+sub edx, eax
+mov dword [ebx + 4], edx
+mov eax, dword [ebx]
+add eax, 0x20
+mov dword [ebx + 8], eax
+mov eax, dword [ebx + 4]
+add eax, 0x20
+mov dword [ebx + 0xc], eax
+cmp dword [ebx], 0
+jge short loc_00402534 ; jge 0x402534
+mov dword [ebx], 0
+
+loc_00402534:
+cmp dword [ebx + 4], 0
+jge short loc_00402541 ; jge 0x402541
+mov dword [ebx + 4], 0
+
+loc_00402541:
+cmp dword [ebx + 8], 0x280
+jle short loc_00402551 ; jle 0x402551
+mov dword [ebx + 8], 0x280
+
+loc_00402551:
+cmp dword [ebx + 0xc], 0x1e0
+jle short loc_00402561 ; jle 0x402561
+mov dword [ebx + 0xc], 0x1e0
+
+loc_00402561:
+add esp, 8
+pop ebx
+ret
+
+ref_00402566: ; may contain a jump table
+dd fcn_0040274c
+dd fcn_0040264d
+dd fcn_004026e2
+dd fcn_0040274c
+dd fcn_0040274c
+
+fcn_0040257a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x58
+mov eax, dword [esp + 0x70]
+mov ecx, dword [esp + 0x78]
+cmp eax, 0x200
+jb short loc_004025ad ; jb 0x4025ad
+jbe near loc_00402762 ; jbe 0x402762
+cmp eax, 0x201
+jbe near loc_00402620 ; jbe 0x402620
+cmp eax, 0x401
+je short loc_004025bb ; je 0x4025bb
+jmp near loc_004029e5 ; jmp 0x4029e5
+
+loc_004025ad:
+cmp eax, 0xf
+je near loc_00402989 ; je 0x402989
+jmp near loc_004029e5 ; jmp 0x4029e5
+
+loc_004025bb:
+mov dword [ref_0048a184], 0xffffffff ; mov dword [0x48a184], 0xffffffff
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048a180] ; mov eax, dword [0x48a180]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+mov ebx, dword [esp + 0x74]
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00402617:
+push 1
+call fcn_00402460 ; call 0x402460
+jmp short loc_00402672 ; jmp 0x402672
+
+loc_00402620:
+cmp dword [ref_0048a184], 0xffffffff ; cmp dword [0x48a184], 0xffffffff
+je short loc_00402638 ; je 0x402638
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_00402638:
+mov eax, dword [ref_0048a184] ; mov eax, dword [0x48a184]
+cmp eax, 4
+ja near loc_004026d6 ; ja 0x4026d6
+jmp dword [eax*4 + ref_00402566] ; ujmp: jmp dword [eax*4 + 0x402566]
+
+fcn_0040264d:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00403d74 ; call 0x403d74
+add esp, 4
+cmp eax, 0xffffffff
+je short loc_0040267a ; je 0x40267a
+mov edx, dword [ref_0048a184] ; mov edx, dword [0x48a184]
+push edx
+
+loc_0040266d:
+call fcn_00401966 ; call 0x401966
+
+loc_00402672:
+add esp, 4
+jmp near loc_004026d6 ; jmp 0x4026d6
+
+loc_0040267a:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048a180] ; mov eax, dword [0x48a180]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+mov eax, dword [esp + 0x74]
+push eax
+
+loc_004026cf:
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_004026d6:
+xor eax, eax
+
+loc_004026d8:
+add esp, 0x58
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+fcn_004026e2:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+call fcn_00454acb ; call 0x454acb
+push 0
+call fcn_00411b53 ; call 0x411b53
+add esp, 4
+push 0
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048a180] ; mov eax, dword [0x48a180]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_00402617 ; jmp 0x402617
+
+fcn_0040274c:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ecx, dword [ref_0048a184] ; mov ecx, dword [0x48a184]
+push ecx
+jmp near loc_0040266d ; jmp 0x40266d
+
+loc_00402762:
+xor edx, edx
+mov dx, cx
+mov eax, ecx
+shr eax, 0x10
+and eax, 0xffff
+xor ecx, ecx
+mov cx, ax
+mov eax, dword [ref_0048a184] ; mov eax, dword [0x48a184]
+mov dword [esp + 0x54], eax
+xor esi, esi
+jmp short loc_0040278d ; jmp 0x40278d
+
+loc_00402783:
+inc esi
+cmp esi, 5
+jge near loc_0040289f ; jge 0x40289f
+
+loc_0040278d:
+lea eax, [esi + esi]
+lea ebx, [eax + 2]
+mov edi, ebx
+shl edi, 2
+sub edi, ebx
+shl edi, 2
+mov eax, dword [ref_0048a180] ; mov eax, dword [0x48a180]
+movsx ebx, word [edi + eax + 0x10]
+mov dword [esp + 0x50], ebx
+mov ebx, esi
+shl ebx, 2
+movsx ebp, word [ebx + ref_0046cb28] ; movsx ebp, word [ebx + 0x46cb28]
+sub ebp, dword [esp + 0x50]
+mov dword [esp + 0x40], ebp
+movsx ebp, word [edi + eax + 0x12]
+mov dword [esp + 0x50], ebp
+movsx ebp, word [ebx + ref_0046cb2a] ; movsx ebp, word [ebx + 0x46cb2a]
+sub ebp, dword [esp + 0x50]
+mov dword [esp + 0x44], ebp
+movsx ebp, word [edi + eax + 0xc]
+mov dword [esp + 0x50], ebp
+mov ebp, dword [esp + 0x40]
+add ebp, dword [esp + 0x50]
+mov dword [esp + 0x48], ebp
+movsx eax, word [edi + eax + 0xe]
+mov ebp, dword [esp + 0x44]
+add ebp, eax
+mov dword [esp + 0x4c], ebp
+cmp edx, dword [esp + 0x40]
+jl short loc_00402783 ; jl 0x402783
+cmp ecx, dword [esp + 0x44]
+jl near loc_00402783 ; jl 0x402783
+cmp edx, dword [esp + 0x48]
+jge near loc_00402783 ; jge 0x402783
+cmp ecx, dword [esp + 0x4c]
+jge near loc_00402783 ; jge 0x402783
+cmp esi, dword [ref_0048a184] ; cmp esi, dword [0x48a184]
+je short loc_0040289f ; je 0x40289f
+mov dword [ref_0048a184], esi ; mov dword [0x48a184], esi
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+movsx eax, word [ebx + ref_0046cb2a] ; movsx eax, word [ebx + 0x46cb2a]
+push eax
+movsx eax, word [ebx + ref_0046cb28] ; movsx eax, word [ebx + 0x46cb28]
+push eax
+mov eax, dword [ref_0048a180] ; mov eax, dword [0x48a180]
+add eax, 0xc
+add eax, edi
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+mov ebx, dword [esp + 0x74]
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0040289f:
+cmp esi, 5
+jne short loc_004028ae ; jne 0x4028ae
+mov dword [ref_0048a184], 0xffffffff ; mov dword [0x48a184], 0xffffffff
+
+loc_004028ae:
+mov eax, dword [esp + 0x54]
+cmp eax, dword [ref_0048a184] ; cmp eax, dword [0x48a184]
+je near loc_004026d6 ; je 0x4026d6
+cmp eax, 0xffffffff
+je near loc_004026d6 ; je 0x4026d6
+lea edx, [eax + eax + 2]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048a180] ; mov edx, dword [0x48a180]
+add eax, edx
+movsx ebx, word [eax + 0x10]
+mov edx, dword [esp + 0x54]
+movsx ecx, word [edx*4 + ref_0046cb28] ; movsx ecx, word [edx*4 + 0x46cb28]
+sub ecx, ebx
+mov dword [esp + 0x40], ecx
+movsx ecx, word [eax + 0x12]
+movsx edx, word [edx*4 + ref_0046cb2a] ; movsx edx, word [edx*4 + 0x46cb2a]
+sub edx, ecx
+mov dword [esp + 0x44], edx
+movsx edx, word [eax + 0xc]
+mov ecx, dword [esp + 0x40]
+add ecx, edx
+mov dword [esp + 0x48], ecx
+movsx eax, word [eax + 0xe]
+mov edx, dword [esp + 0x44]
+add edx, eax
+mov dword [esp + 0x4c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x4c]
+mov edx, dword [esp + 0x44]
+sub eax, edx
+push eax
+mov eax, dword [esp + 0x4c]
+mov ecx, dword [esp + 0x44]
+sub eax, ecx
+push eax
+push edx
+push ecx
+push edx
+push ecx
+mov eax, dword [ref_0048a180] ; mov eax, dword [0x48a180]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+mov edx, dword [esp + 0x74]
+push edx
+jmp near loc_004026cf ; jmp 0x4026cf
+
+loc_00402989:
+mov eax, esp
+push eax
+mov edi, dword [esp + 0x70]
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+mov ecx, dword [esp + 0x18]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_004026d6 ; jmp 0x4026d6
+
+loc_004029e5:
+push ecx
+mov ebx, dword [esp + 0x78]
+push ebx
+push eax
+mov esi, dword [esp + 0x78]
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_004026d8 ; jmp 0x4026d8
+
+fcn_004029fd:
+push ebx
+push 0
+push 0
+push 1
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a180], eax ; mov dword [0x48a180], eax
+xor ebx, ebx
+
+loc_00402a1a:
+movsx edx, word [ebx*4 + ref_0046cb2a] ; movsx edx, word [ebx*4 + 0x46cb2a]
+push edx
+movsx eax, word [ebx*4 + ref_0046cb28] ; movsx eax, word [ebx*4 + 0x46cb28]
+push eax
+lea eax, [ebx + ebx]
+lea edx, [eax + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a180] ; mov eax, dword [0x48a180]
+add eax, 0xc
+add edx, eax
+push edx
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+inc ebx
+cmp ebx, 5
+jl short loc_00402a1a ; jl 0x402a1a
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 6
+push 0x1d6
+push 0x27e
+push ref_004630d0 ; push 0x4630d0
+mov eax, dword [ref_0048a180] ; mov eax, dword [0x48a180]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_0040257a ; push 0x40257a
+call fcn_004018e7 ; call 0x4018e7
+mov ebx, eax
+add esp, 8
+call fcn_00454acb ; call 0x454acb
+mov ecx, dword [ref_0048a180] ; mov ecx, dword [0x48a180]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00402ac5:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x28
+xor esi, esi
+mov edx, dword [esp + 0x3c]
+push edx
+push ref_004630d8 ; push 0x4630d8
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push ref_004630e3 ; push 0x4630e3
+lea eax, [esp + 4]
+push eax
+call fcn_004573bf ; call 0x4573bf
+mov ebx, eax
+add esp, 8
+mov edi, eax
+test eax, eax
+je near loc_00402fbe ; je 0x402fbe
+call fcn_00401543 ; call 0x401543
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov ebp, eax
+call fcn_004080f5 ; call 0x4080f5
+push esi
+push 4
+push ebx
+call fcn_0045753a ; call 0x45753a
+add esp, 0xc
+push ebx
+push 1
+push 4
+push ref_00497160 ; push 0x497160
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 1
+push 2
+push ref_004991b8 ; push 0x4991b8
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 1
+push 2
+push ref_004991b6 ; push 0x4991b6
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499114 ; push 0x499114
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 4
+push 0x68
+push ref_00496b68 ; push 0x496b68
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499104 ; push 0x499104
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+xor ebx, ebx
+mov ecx, dword [ref_00499114] ; mov ecx, dword [0x499114]
+
+loc_00402b96:
+cmp ebx, ecx
+jge short loc_00402bb7 ; jge 0x402bb7
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+imul edx, edx, 0x68
+mov edx, dword [edx + ref_0047e80c] ; mov edx, dword [edx + 0x47e80c]
+mov dword [eax + ref_00496b68], edx ; mov dword [eax + 0x496b68], edx
+inc ebx
+jmp short loc_00402b96 ; jmp 0x402b96
+
+loc_00402bb7:
+push edi
+push 5
+push 0x10
+push ref_00498e28 ; push 0x498e28
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0x2e
+push 0x18
+push ref_00496d08 ; push 0x496d08
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0x3c
+push 1
+push ref_00499120 ; push 0x499120
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0x3c
+push 1
+push ref_0049915c ; push 0x49915c
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0x1e
+push 1
+push ref_00499198 ; push 0x499198
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 8
+push 1
+push ref_00497320 ; push 0x497320
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_00499100 ; push 0x499100
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0x6c0
+push 4
+push ref_00497328 ; push 0x497328
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0x30
+push 8
+push ref_004971a0 ; push 0x4971a0
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0xc
+push 0x24
+push ref_00496980 ; push 0x496980
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+xor ebx, ebx
+
+loc_00402c70:
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+shl edx, 2
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+add edx, eax
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 4
+mov esi, eax
+shl esi, 3
+add esi, eax
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+lea edx, [esi + eax]
+mov edx, dword [edx + ref_0047f072] ; mov edx, dword [edx + 0x47f072]
+mov dword [eax + ref_00496980], edx ; mov dword [eax + 0x496980], edx
+inc ebx
+cmp ebx, 0xc
+jl short loc_00402c70 ; jl 0x402c70
+push edi
+push 0x1c
+push 0xc
+push ref_004967e0 ; push 0x4967e0
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_0049910c ; push 0x49910c
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_00499118 ; push 0x499118
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_00499110 ; push 0x499110
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_0049911c ; push 0x49911c
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_00499108 ; push 0x499108
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_0049908c ; push 0x49908c
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_004990e8 ; push 0x4990e8
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_004990e4 ; push 0x4990e4
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_00499084 ; push 0x499084
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_004990dc ; push 0x4990dc
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_0049907c ; push 0x49907c
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_00499078 ; push 0x499078
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_004990ec ; push 0x4990ec
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 4
+push 1
+push ref_004990f0 ; push 0x4990f0
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0xc
+push 1
+push ref_004990f4 ; push 0x4990f4
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_00499080 ; push 0x499080
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0x24
+push 1
+push ref_004990b8 ; push 0x4990b8
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 8
+push 1
+push ref_00496b30 ; push 0x496b30
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 8
+push 1
+push ref_00496b60 ; push 0x496b60
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_004990e0 ; push 0x4990e0
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_004990b4 ; push 0x4990b4
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0x24
+push 1
+push ref_00499090 ; push 0x499090
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 0x25
+push 1
+push ref_00496b38 ; push 0x496b38
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_00499088 ; push 0x499088
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push edi
+push 1
+push 4
+push ref_00498e94 ; push 0x498e94
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+mov ebx, dword [ref_00498e94] ; mov ebx, dword [0x498e94]
+push ebx
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov dword [ref_0047493c], eax ; mov dword [0x47493c], eax
+push edi
+mov esi, dword [ref_00498e94] ; mov esi, dword [0x498e94]
+push esi
+push 1
+push eax
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+mov eax, dword [ref_0047493c] ; mov eax, dword [0x47493c]
+mov edx, dword [eax]
+mov dword [ref_00498e9c], edx ; mov dword [0x498e9c], edx
+mov edx, dword [eax + 4]
+lea ebx, [eax + edx]
+mov dword [ref_00498e80], ebx ; mov dword [0x498e80], ebx
+mov edx, dword [eax + 8]
+mov dword [ref_00498e98], edx ; mov dword [0x498e98], edx
+mov edx, dword [eax + 0xc]
+lea ebx, [eax + edx]
+mov dword [ref_00498e84], ebx ; mov dword [0x498e84], ebx
+mov edx, dword [eax + 0x10]
+mov dword [ref_00498e8c], edx ; mov dword [0x498e8c], edx
+mov edx, dword [eax + 0x14]
+lea ebx, [eax + edx]
+mov dword [ref_00498e88], ebx ; mov dword [0x498e88], ebx
+mov edx, dword [eax + 0x18]
+mov dword [ref_00498e90], edx ; mov dword [0x498e90], edx
+mov edx, dword [eax + 0x1c]
+lea ebx, [eax + edx]
+mov dword [ref_00498e7c], ebx ; mov dword [0x498e7c], ebx
+mov edx, dword [eax + 0x20]
+mov dword [ref_00499074], edx ; mov dword [0x499074], edx
+mov edx, dword [eax + 0x24]
+add eax, edx
+mov dword [ref_00498e78], eax ; mov dword [0x498e78], eax
+xor ebx, ebx
+
+loc_00402f1b:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00402f86 ; jge 0x402f86
+push edi
+push 1
+push 0x2718
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov esi, eax
+shl esi, 3
+add esi, eax
+mov eax, ref_0048cb80 ; mov eax, 0x48cb80
+add eax, esi
+push eax
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+mov ecx, dword [ref_00498e94] ; mov ecx, dword [0x498e94]
+push ecx
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov dword [esi + ref_0048f294], eax ; mov dword [esi + 0x48f294], eax
+push edi
+mov eax, dword [ref_00498e94] ; mov eax, dword [0x498e94]
+push eax
+push 1
+mov edx, dword [esi + ref_0048f294] ; mov edx, dword [esi + 0x48f294]
+push edx
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+inc ebx
+jmp short loc_00402f1b ; jmp 0x402f1b
+
+loc_00402f86:
+call fcn_00407ad2 ; call 0x407ad2
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+or byte [eax + ref_00498ea0], 0x80 ; or byte [eax + 0x498ea0], 0x80
+call dword [cs:__imp__GetTickCount@0] ; ucall: call dword cs:[0x4623cc]
+push eax
+call fcn_00456f50 ; call 0x456f50
+add esp, 4
+mov esi, 1
+
+loc_00402fae:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+sub eax, ebp
+cmp eax, 0x3e8
+jb short loc_00402fae ; jb 0x402fae
+
+loc_00402fbe:
+push edi
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+mov eax, esi
+add esp, 0x28
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00402fd1:
+push ebx
+push esi
+push edi
+sub esp, 0x2c
+mov dword [esp + 0x28], 0x26
+mov ecx, dword [esp + 0x3c]
+push ecx
+push ref_004630d8 ; push 0x4630d8
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push ref_004630e6 ; push 0x4630e6
+lea eax, [esp + 4]
+push eax
+call fcn_004573bf ; call 0x4573bf
+mov ebx, eax
+add esp, 8
+mov edi, eax
+push eax
+push 1
+push 4
+lea eax, [esp + 0x34]
+push eax
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00497160 ; push 0x497160
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 2
+push ref_004991b8 ; push 0x4991b8
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 2
+push ref_004991b6 ; push 0x4991b6
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499114 ; push 0x499114
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 4
+push 0x68
+push ref_00496b68 ; push 0x496b68
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499104 ; push 0x499104
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 5
+push 0x10
+push ref_00498e28 ; push 0x498e28
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x2e
+push 0x18
+push ref_00496d08 ; push 0x496d08
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x3c
+push 1
+push ref_00499120 ; push 0x499120
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x3c
+push 1
+push ref_0049915c ; push 0x49915c
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x1e
+push 1
+push ref_00499198 ; push 0x499198
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 8
+push 1
+push ref_00497320 ; push 0x497320
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499100 ; push 0x499100
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x6c0
+push 4
+push ref_00497328 ; push 0x497328
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x30
+push 8
+push ref_004971a0 ; push 0x4971a0
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0xc
+push 0x24
+push ref_00496980 ; push 0x496980
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x1c
+push 0xc
+push ref_004967e0 ; push 0x4967e0
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_0049910c ; push 0x49910c
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499118 ; push 0x499118
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499110 ; push 0x499110
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_0049911c ; push 0x49911c
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499108 ; push 0x499108
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_0049908c ; push 0x49908c
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_004990e8 ; push 0x4990e8
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_004990e4 ; push 0x4990e4
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499084 ; push 0x499084
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_004990dc ; push 0x4990dc
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_0049907c ; push 0x49907c
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499078 ; push 0x499078
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_004990ec ; push 0x4990ec
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 4
+push 1
+push ref_004990f0 ; push 0x4990f0
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0xc
+push 1
+push ref_004990f4 ; push 0x4990f4
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499080 ; push 0x499080
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x24
+push 1
+push ref_004990b8 ; push 0x4990b8
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 8
+push 1
+push ref_00496b30 ; push 0x496b30
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 8
+push 1
+push ref_00496b60 ; push 0x496b60
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_004990e0 ; push 0x4990e0
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_004990b4 ; push 0x4990b4
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x24
+push 1
+push ref_00499090 ; push 0x499090
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x25
+push 1
+push ref_00496b38 ; push 0x496b38
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00499088 ; push 0x499088
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_00498e94 ; push 0x498e94
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+mov ebx, dword [ref_00498e94] ; mov ebx, dword [0x498e94]
+push ebx
+push 1
+mov esi, dword [ref_0047493c] ; mov esi, dword [0x47493c]
+push esi
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+xor ebx, ebx
+
+loc_00403330:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00403386 ; jge 0x403386
+push edi
+push 1
+push 0x2718
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov esi, eax
+shl esi, 3
+add esi, eax
+mov eax, ref_0048cb80 ; mov eax, 0x48cb80
+add eax, esi
+push eax
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push edi
+mov eax, dword [ref_00498e94] ; mov eax, dword [0x498e94]
+push eax
+push 1
+mov edx, dword [esi + ref_0048f294] ; mov edx, dword [esi + 0x48f294]
+push edx
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+inc ebx
+jmp short loc_00403330 ; jmp 0x403330
+
+loc_00403386:
+push edi
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+add esp, 0x2c
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00403396:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x38
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x30
+push 0x28
+mov eax, dword [ref_0048a338] ; mov eax, dword [0x48a338]
+add eax, 0x18
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov ebp, 1
+jmp near loc_004035df ; jmp 0x4035df
+
+loc_004033e9:
+push ebx
+push 1
+push 4
+push ref_0048a340 ; push 0x48a340
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 1
+push 2
+push ref_0048a33c ; push 0x48a33c
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 1
+push 2
+push ref_0048a330 ; push 0x48a330
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 1
+push 4
+push ref_0048a32c ; push 0x48a32c
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 4
+push 0x68
+push ref_0048a188 ; push 0x48a188
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+lea edx, [ebp - 1]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+lea edi, [eax + 0x39]
+push edi
+push 0x81
+mov eax, dword [ref_0048a338] ; mov eax, dword [0x48a338]
+add eax, 0x84
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+test ebp, ebp
+jne short loc_004034c7 ; jne 0x4034c7
+push 2
+lea eax, [edi + 0xf]
+push eax
+push 0xa5
+push ref_004630e9 ; push 0x4630e9
+push ebp
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_004034c7:
+push 0xa
+lea eax, [esp + 0x2c]
+push eax
+mov eax, dword [ref_0048a340] ; mov eax, dword [0x48a340]
+shr eax, 0x10
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 2
+lea eax, [edi + 0x24]
+push eax
+push 0xa5
+lea eax, [esp + 0x34]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebx, dword [ref_0048a340] ; mov ebx, dword [0x48a340]
+shr ebx, 8
+and ebx, 0xff
+mov esi, dword [ref_0048a340] ; mov esi, dword [0x48a340]
+and esi, 0xff
+push esi
+push ebx
+push ref_004630ee ; push 0x4630ee
+lea eax, [esp + 0x34]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 2
+lea eax, [edi + 0x39]
+push eax
+push 0xa5
+lea eax, [esp + 0x34]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push edi
+push 0xd1
+mov edx, dword [ref_0048a33c] ; mov edx, dword [0x48a33c]
+add edx, 2
+mov eax, dword [ref_0048a330] ; mov eax, dword [0x48a330]
+shl eax, 2
+add edx, eax
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a338] ; mov eax, dword [0x48a338]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor ebx, ebx
+mov esi, 0x121
+
+loc_00403588:
+cmp ebx, dword [ref_0048a32c] ; cmp ebx, dword [0x48a32c]
+jge short loc_004035c9 ; jge 0x4035c9
+push edi
+push esi
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_0048a19b] ; mov dl, byte [eax + 0x48a19b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a328] ; mov eax, dword [0x48a328]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+inc ebx
+add esi, 0x48
+jmp short loc_00403588 ; jmp 0x403588
+
+loc_004035c9:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_004035d9:
+inc ebp
+cmp ebp, 5
+jg short loc_00403632 ; jg 0x403632
+
+loc_004035df:
+push ebp
+push ref_004630d8 ; push 0x4630d8
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push ref_004630e3 ; push 0x4630e3
+lea eax, [esp + 4]
+push eax
+call fcn_004573bf ; call 0x4573bf
+mov ebx, eax
+add esp, 8
+test eax, eax
+je short loc_004035d9 ; je 0x4035d9
+push eax
+push 1
+push 4
+lea eax, [esp + 0x40]
+push eax
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+cmp dword [esp + 0x34], 0x26
+je near loc_004033e9 ; je 0x4033e9
+push ebx
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+jmp short loc_004035d9 ; jmp 0x4035d9
+
+loc_00403632:
+add esp, 0x38
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040363a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebx, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov ecx, dword [esp + 0x70]
+cmp eax, 0x201
+jb short loc_00403683 ; jb 0x403683
+jbe near loc_004038eb ; jbe 0x4038eb
+cmp eax, 0x205
+jb short loc_00403673 ; jb 0x403673
+jbe near loc_00403934 ; jbe 0x403934
+cmp eax, 0x401
+je short loc_0040369e ; je 0x40369e
+jmp near loc_004039a9 ; jmp 0x4039a9
+
+loc_00403673:
+cmp eax, 0x203
+je near loc_004038eb ; je 0x4038eb
+jmp near loc_004039a9 ; jmp 0x4039a9
+
+loc_00403683:
+cmp eax, 0xf
+jb near loc_004039a9 ; jb 0x4039a9
+jbe near loc_00403951 ; jbe 0x403951
+cmp eax, 0x200
+je short loc_004036c3 ; je 0x4036c3
+jmp near loc_004039a9 ; jmp 0x4039a9
+
+loc_0040369e:
+mov dword [ref_0048a34a], 0xffffffff ; mov dword [0x48a34a], 0xffffffff
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00403865 ; jmp 0x403865
+
+loc_004036c3:
+xor edx, edx
+mov dx, cx
+mov eax, ecx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+cmp edx, 0x81
+jle near loc_0040386c ; jle 0x40386c
+cmp edx, 0x241
+jge near loc_0040386c ; jge 0x40386c
+cmp eax, 0x18
+jle near loc_0040386c ; jle 0x40386c
+cmp eax, 0x1c8
+jge near loc_0040386c ; jge 0x40386c
+lea edx, [eax - 0x18]
+mov ebx, 0x48
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov ebx, eax
+cmp eax, dword [ref_0048a34a] ; cmp eax, dword [0x48a34a]
+je near loc_00403865 ; je 0x403865
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dword [esp + 0x40], 0x7f
+mov dword [esp + 0x48], 0x243
+mov ecx, dword [ref_0048a34a] ; mov ecx, dword [0x48a34a]
+cmp ecx, 0xffffffff
+je short loc_0040379f ; je 0x40379f
+mov eax, ecx
+shl eax, 3
+add eax, ecx
+shl eax, 3
+lea edx, [eax + 0x16]
+mov dword [esp + 0x44], edx
+add eax, 0x62
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x44]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x50]
+push edi
+mov ebp, dword [esp + 0x50]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x40]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_0040379f:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 3
+lea edx, [eax + 0x16]
+mov dword [esp + 0x44], edx
+add eax, 0x62
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a078] ; mov eax, dword [0x48a078]
+sar eax, 1
+mov word [ref_0046caec], ax ; mov word [0x46caec], ax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0xffff00
+push 0x4c
+push 0x1c4
+mov eax, dword [esp + 0x50]
+push eax
+mov edx, dword [esp + 0x50]
+push edx
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0xffff00
+push 0x4a
+push 0x1c2
+mov eax, dword [esp + 0x50]
+inc eax
+push eax
+mov eax, dword [esp + 0x50]
+inc eax
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov word [ref_0046caec], 0x280 ; mov word [0x46caec], 0x280
+lea eax, [esp + 0x40]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov dword [ref_0048a34a], ebx ; mov dword [0x48a34a], ebx
+
+loc_00403865:
+xor eax, eax
+jmp near loc_004039b8 ; jmp 0x4039b8
+
+loc_0040386c:
+mov esi, dword [ref_0048a34a] ; mov esi, dword [0x48a34a]
+cmp esi, 0xffffffff
+je short loc_00403865 ; je 0x403865
+mov dword [esp + 0x40], 0x7f
+mov dword [esp + 0x48], 0x243
+mov eax, esi
+shl eax, 3
+add eax, esi
+shl eax, 3
+lea edx, [eax + 0x16]
+mov dword [esp + 0x44], edx
+add eax, 0x62
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x44]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x50]
+push ebx
+mov esi, dword [esp + 0x50]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x40]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov dword [ref_0048a34a], 0xffffffff ; mov dword [0x48a34a], 0xffffffff
+jmp near loc_00403865 ; jmp 0x403865
+
+loc_004038eb:
+mov ecx, dword [ref_0048a34a] ; mov ecx, dword [0x48a34a]
+cmp ecx, 0xffffffff
+je near loc_00403865 ; je 0x403865
+cmp byte [ecx + ref_0048a344], 0 ; cmp byte [ecx + 0x48a344], 0
+je near loc_00403865 ; je 0x403865
+push 0
+push ref_0048232a ; push 0x48232a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048a34a] ; mov ebx, dword [0x48a34a]
+push ebx
+
+loc_00403927:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00403865 ; jmp 0x403865
+
+loc_00403934:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0xffffffffffffffff
+jmp short loc_00403927 ; jmp 0x403927
+
+loc_00403951:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov esi, dword [esp + 0x18]
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00403865 ; jmp 0x403865
+
+loc_004039a9:
+push ecx
+mov ebp, dword [esp + 0x70]
+push ebp
+
+loc_004039af:
+push eax
+push ebx
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+
+loc_004039b8:
+add esp, 0x50
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+fcn_004039c2:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebx, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov ecx, dword [esp + 0x70]
+cmp eax, 0x201
+jb short loc_00403a0b ; jb 0x403a0b
+jbe near loc_00403c7f ; jbe 0x403c7f
+cmp eax, 0x205
+jb short loc_004039fb ; jb 0x4039fb
+jbe near loc_00403cf4 ; jbe 0x403cf4
+cmp eax, 0x401
+je short loc_00403a26 ; je 0x403a26
+jmp near loc_00403d69 ; jmp 0x403d69
+
+loc_004039fb:
+cmp eax, 0x203
+je near loc_00403c7f ; je 0x403c7f
+jmp near loc_00403d69 ; jmp 0x403d69
+
+loc_00403a0b:
+cmp eax, 0xf
+jb near loc_00403d69 ; jb 0x403d69
+jbe near loc_00403d11 ; jbe 0x403d11
+cmp eax, 0x200
+je short loc_00403a50 ; je 0x403a50
+jmp near loc_00403d69 ; jmp 0x403d69
+
+loc_00403a26:
+mov dword [ref_0048a34e], 0xffffffff ; mov dword [0x48a34e], 0xffffffff
+call fcn_00403396 ; call 0x403396
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00403865 ; jmp 0x403865
+
+loc_00403a50:
+xor edx, edx
+mov dx, cx
+mov eax, ecx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+cmp edx, 0x81
+jle near loc_00403bfb ; jle 0x403bfb
+cmp edx, 0x241
+jge near loc_00403bfb ; jge 0x403bfb
+cmp eax, 0x39
+jle near loc_00403bfb ; jle 0x403bfb
+cmp eax, 0x1a1
+jge near loc_00403bfb ; jge 0x403bfb
+lea edx, [eax - 0x39]
+mov ebx, 0x48
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov ebx, eax
+cmp ebx, dword [ref_0048a34e] ; cmp ebx, dword [0x48a34e]
+je near loc_00403865 ; je 0x403865
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dword [esp + 0x40], 0x7f
+mov dword [esp + 0x48], 0x243
+mov esi, dword [ref_0048a34e] ; mov esi, dword [0x48a34e]
+cmp esi, 0xffffffff
+je short loc_00403b2e ; je 0x403b2e
+mov eax, esi
+shl eax, 3
+add eax, esi
+shl eax, 3
+lea edx, [eax + 0x37]
+mov dword [esp + 0x44], edx
+add eax, 0x83
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x44]
+push ecx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x50]
+push ebp
+mov ecx, dword [esp + 0x50]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x40]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_00403b2e:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 3
+lea edx, [eax + 0x37]
+mov dword [esp + 0x44], edx
+add eax, 0x83
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a078] ; mov eax, dword [0x48a078]
+sar eax, 1
+mov word [ref_0046caec], ax ; mov word [0x46caec], ax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0xffff00
+push 0x4c
+push 0x1c4
+mov esi, dword [esp + 0x50]
+push esi
+mov edi, dword [esp + 0x50]
+push edi
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0xffff00
+push 0x4a
+push 0x1c2
+mov eax, dword [esp + 0x50]
+inc eax
+push eax
+mov eax, dword [esp + 0x50]
+inc eax
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov word [ref_0046caec], 0x280 ; mov word [0x46caec], 0x280
+lea eax, [esp + 0x40]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov dword [ref_0048a34e], ebx ; mov dword [0x48a34e], ebx
+jmp near loc_00403865 ; jmp 0x403865
+
+loc_00403bfb:
+mov eax, dword [ref_0048a34e] ; mov eax, dword [0x48a34e]
+cmp eax, 0xffffffff
+je near loc_00403865 ; je 0x403865
+mov dword [esp + 0x40], 0x7f
+mov dword [esp + 0x48], 0x243
+mov edx, eax
+shl eax, 3
+add eax, edx
+shl eax, 3
+lea edx, [eax + 0x37]
+mov dword [esp + 0x44], edx
+add eax, 0x83
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x44]
+push ecx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov esi, dword [esp + 0x50]
+push esi
+mov edi, dword [esp + 0x50]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x40]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov dword [ref_0048a34e], 0xffffffff ; mov dword [0x48a34e], 0xffffffff
+jmp near loc_00403865 ; jmp 0x403865
+
+loc_00403c7f:
+cmp dword [ref_0048a34e], 0xffffffff ; cmp dword [0x48a34e], 0xffffffff
+je near loc_00403865 ; je 0x403865
+push 0
+push ref_0048232a ; push 0x48232a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov eax, dword [ref_0048a34e] ; mov eax, dword [0x48a34e]
+inc eax
+push eax
+call fcn_00402fd1 ; call 0x402fd1
+add esp, 4
+call fcn_00403396 ; call 0x403396
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov esi, dword [ref_0046cae0] ; mov esi, dword [0x46cae0]
+push esi
+mov edi, dword [ref_0046cadc] ; mov edi, dword [0x46cadc]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+mov ebp, dword [ref_0048a34e] ; mov ebp, dword [0x48a34e]
+push ebp
+
+loc_00403ce7:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00403865 ; jmp 0x403865
+
+loc_00403cf4:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0xffffffffffffffff
+jmp short loc_00403ce7 ; jmp 0x403ce7
+
+loc_00403d11:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+mov ecx, dword [esp + 0x18]
+push ecx
+mov esi, dword [esp + 0x18]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00403865 ; jmp 0x403865
+
+loc_00403d69:
+push ecx
+mov edi, dword [esp + 0x70]
+push edi
+jmp near loc_004039af ; jmp 0x4039af
+
+fcn_00403d74:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+xor edx, edx
+mov dword [esp + 0x48], edx
+push edx
+push edx
+push 0x208
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a338], eax ; mov dword [0x48a338], eax
+push 0
+push 0
+push 2
+mov ebx, dword [ref_0048a0e4] ; mov ebx, dword [0x48a0e4]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a328], eax ; mov dword [0x48a328], eax
+cmp dword [esp + 0x64], 0
+je short loc_00403dfa ; je 0x403dfa
+mov edi, 0x28
+mov dword [esp + 0x28], edi
+mov ebp, 0xf
+mov dword [esp + 0x2c], ebp
+mov eax, dword [ref_0048a338] ; mov eax, dword [0x48a338]
+movsx edx, word [eax + 0xc]
+add edx, edi
+mov dword [esp + 0x30], edx
+movsx eax, word [eax + 0xe]
+add eax, ebp
+mov dword [esp + 0x34], eax
+lea eax, [esp + 0x28]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048a334], eax ; mov dword [0x48a334], eax
+
+loc_00403dfa:
+xor ebp, ebp
+jmp short loc_00403e08 ; jmp 0x403e08
+
+loc_00403dfe:
+inc ebp
+cmp ebp, 5
+jg near loc_004040b0 ; jg 0x4040b0
+
+loc_00403e08:
+xor ah, ah
+mov byte [ebp + ref_0048a344], ah ; mov byte [ebp + 0x48a344], ah
+push ebp
+push ref_004630d8 ; push 0x4630d8
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push ref_004630e3 ; push 0x4630e3
+lea eax, [esp + 4]
+push eax
+call fcn_004573bf ; call 0x4573bf
+mov ebx, eax
+add esp, 8
+mov dword [esp + 0x4c], eax
+test eax, eax
+je near loc_004040a6 ; je 0x4040a6
+push eax
+push 1
+push 4
+lea eax, [esp + 0x50]
+push eax
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+cmp dword [esp + 0x44], 0x26
+je short loc_00403e67 ; je 0x403e67
+push ebx
+
+loc_00403e5d:
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+jmp short loc_00403dfe ; jmp 0x403dfe
+
+loc_00403e67:
+cmp dword [esp + 0x48], 0
+jne short loc_00403eb8 ; jne 0x403eb8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0xf
+push 0x28
+mov eax, dword [ref_0048a338] ; mov eax, dword [0x48a338]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x48], 1
+
+loc_00403eb8:
+mov byte [ebp + ref_0048a344], 1 ; mov byte [ebp + 0x48a344], 1
+mov esi, dword [esp + 0x4c]
+push esi
+push 1
+push 4
+push ref_0048a340 ; push 0x48a340
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push esi
+push 1
+push 2
+push ref_0048a33c ; push 0x48a33c
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push esi
+push 1
+push 2
+push ref_0048a330 ; push 0x48a330
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push esi
+push 1
+push 4
+push ref_0048a32c ; push 0x48a32c
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push esi
+push 4
+push 0x68
+push ref_0048a188 ; push 0x48a188
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, ebp
+shl eax, 3
+add eax, ebp
+shl eax, 3
+lea edi, [eax + 0x18]
+push edi
+push 0x81
+mov eax, dword [ref_0048a338] ; mov eax, dword [0x48a338]
+add eax, 0x84
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+test ebp, ebp
+jne short loc_00403f95 ; jne 0x403f95
+push 2
+lea eax, [edi + 0xf]
+push eax
+push 0xa5
+push ref_004630e9 ; push 0x4630e9
+push ebp
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00403f95:
+push 0xa
+lea eax, [esp + 0x3c]
+push eax
+mov eax, dword [ref_0048a340] ; mov eax, dword [0x48a340]
+shr eax, 0x10
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 2
+lea eax, [edi + 0x24]
+push eax
+push 0xa5
+lea eax, [esp + 0x44]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebx, dword [ref_0048a340] ; mov ebx, dword [0x48a340]
+shr ebx, 8
+and ebx, 0xff
+mov esi, dword [ref_0048a340] ; mov esi, dword [0x48a340]
+and esi, 0xff
+push esi
+push ebx
+push ref_004630ee ; push 0x4630ee
+lea eax, [esp + 0x44]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 2
+lea eax, [edi + 0x39]
+push eax
+push 0xa5
+lea eax, [esp + 0x44]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push edi
+push 0xd1
+mov edx, dword [ref_0048a33c] ; mov edx, dword [0x48a33c]
+add edx, 2
+mov eax, dword [ref_0048a330] ; mov eax, dword [0x48a330]
+shl eax, 2
+add edx, eax
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a338] ; mov eax, dword [0x48a338]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor ebx, ebx
+mov esi, 0x121
+
+loc_00404056:
+cmp ebx, dword [ref_0048a32c] ; cmp ebx, dword [0x48a32c]
+jge short loc_00404096 ; jge 0x404096
+push edi
+push esi
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_0048a19b] ; mov dl, byte [eax + 0x48a19b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048a328] ; mov edx, dword [0x48a328]
+add edx, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+inc ebx
+add esi, 0x48
+jmp short loc_00404056 ; jmp 0x404056
+
+loc_00404096:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_004040a6:
+mov ecx, dword [esp + 0x4c]
+push ecx
+jmp near loc_00403e5d ; jmp 0x403e5d
+
+loc_004040b0:
+mov ebp, 0xffffffff
+cmp dword [esp + 0x48], 0
+je short loc_004040dd ; je 0x4040dd
+push 0
+push fcn_0040363a ; push 0x40363a
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebp, eax
+cmp eax, 0xffffffff
+je short loc_004040dd ; je 0x4040dd
+push eax
+call fcn_00402ac5 ; call 0x402ac5
+add esp, 4
+mov ebp, eax
+
+loc_004040dd:
+cmp dword [esp + 0x64], 0
+je short loc_0040413d ; je 0x40413d
+cmp ebp, 0xffffffff
+jne short loc_00404104 ; jne 0x404104
+mov eax, dword [esp + 0x2c]
+push eax
+mov edx, dword [esp + 0x2c]
+push edx
+mov ecx, dword [ref_0048a334] ; mov ecx, dword [0x48a334]
+push ecx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+jmp short loc_0040413d ; jmp 0x40413d
+
+loc_00404104:
+mov edi, dword [ref_0048a334] ; mov edi, dword [0x48a334]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+cmp byte [ref_0046cb06], 0 ; cmp byte [0x46cb06], 0
+je short loc_00404133 ; je 0x404133
+xor bl, bl
+mov byte [ref_0046cb06], bl ; mov byte [0x46cb06], bl
+call fcn_00454acb ; call 0x454acb
+
+loc_00404133:
+push 0
+call fcn_00454d91 ; call 0x454d91
+add esp, 4
+
+loc_0040413d:
+mov ebx, dword [ref_0048a338] ; mov ebx, dword [0x48a338]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048a328] ; mov esi, dword [0x48a328]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, ebp
+add esp, 0x50
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00404165:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+push 0
+push 0
+push 0x208
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a338], eax ; mov dword [0x48a338], eax
+push 0
+push 0
+push 2
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a328], eax ; mov dword [0x48a328], eax
+mov ebx, 0x28
+mov dword [esp], ebx
+mov esi, 0x30
+mov dword [esp + 4], esi
+mov eax, dword [ref_0048a338] ; mov eax, dword [0x48a338]
+movsx edx, word [eax + 0x18]
+add edx, ebx
+mov dword [esp + 8], edx
+movsx eax, word [eax + 0x1a]
+add eax, esi
+mov dword [esp + 0xc], eax
+mov eax, esp
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048a334], eax ; mov dword [0x48a334], eax
+push 0
+push fcn_004039c2 ; push 0x4039c2
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+cmp eax, 0xffffffff
+je short loc_004041fe ; je 0x4041fe
+push 0x1f4
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+
+loc_004041fe:
+mov edi, dword [esp + 4]
+push edi
+mov ebp, dword [esp + 4]
+push ebp
+mov eax, dword [ref_0048a334] ; mov eax, dword [0x48a334]
+push eax
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov edx, dword [ref_0048a338] ; mov edx, dword [0x48a338]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ecx, dword [ref_0048a328] ; mov ecx, dword [0x48a328]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040423c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+push 0
+push 0
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a3a4] ; mov edx, dword [0x48a3a4]
+push edx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+xor ebx, ebx
+jmp near loc_0040434d ; jmp 0x40434d
+
+loc_00404266:
+test dl, dl
+jne near loc_00404347 ; jne 0x404347
+cmp ebx, dword [esp + 0x24]
+je near loc_00404347 ; je 0x404347
+push ebp
+push edi
+mov eax, dword [ref_0048a3c0] ; mov eax, dword [0x48a3c0]
+add eax, 0xc
+add eax, esi
+push eax
+mov edx, dword [ref_0048a3a4] ; mov edx, dword [0x48a3a4]
+push edx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+jmp near loc_00404347 ; jmp 0x404347
+
+loc_00404299:
+push ebp
+push edi
+mov eax, dword [ref_0048a3c0] ; mov eax, dword [0x48a3c0]
+add eax, 0xc
+add esi, eax
+push esi
+mov esi, dword [ref_0048a3a4] ; mov esi, dword [0x48a3a4]
+push esi
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+push 0xfffffffffffffff0
+push 0x48
+push 0x48
+push ebp
+push edi
+mov edi, dword [ref_0048a3a4] ; mov edi, dword [0x48a3a4]
+push edi
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+jmp short loc_00404347 ; jmp 0x404347
+
+loc_004042ce:
+push 0x2880
+mov eax, dword [ref_0048a3c0] ; mov eax, dword [0x48a3c0]
+mov ecx, dword [esi + eax + 0x14]
+push ecx
+push ecx
+call fcn_004553da ; call 0x4553da
+add esp, 0xc
+push 0x24
+push 0x24
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0x78
+push eax
+mov eax, dword [ref_0048a3c0] ; mov eax, dword [0x48a3c0]
+add eax, 0xc
+add eax, esi
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+push ebp
+push edi
+mov eax, dword [ref_0048a3c0] ; mov eax, dword [0x48a3c0]
+add eax, 0xc
+add eax, esi
+push eax
+mov ecx, dword [ref_0048a3a4] ; mov ecx, dword [0x48a3a4]
+push ecx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+push ebp
+push edi
+mov eax, dword [ref_0048a3c0] ; mov eax, dword [0x48a3c0]
+add eax, 0xc
+add esi, eax
+push esi
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0xc
+push eax
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+mov byte [ebx + ref_004990f4], 4 ; mov byte [ebx + 0x4990f4], 4
+
+loc_00404347:
+inc ebx
+cmp ebx, 0xc
+jge short loc_004043a8 ; jge 0x4043a8
+
+loc_0040434d:
+mov esi, 6
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv esi
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+lea edi, [eax + 4]
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv esi
+mov edx, eax
+shl eax, 3
+add eax, edx
+shl eax, 3
+lea ebp, [eax + 5]
+mov dl, byte [ebx + ref_004990f4] ; mov dl, byte [ebx + 0x4990f4]
+mov esi, ebx
+shl esi, 2
+sub esi, ebx
+shl esi, 2
+cmp dl, 1
+jb near loc_00404266 ; jb 0x404266
+jbe near loc_00404299 ; jbe 0x404299
+cmp dl, 2
+je near loc_004042ce ; je 0x4042ce
+jmp short loc_00404347 ; jmp 0x404347
+
+loc_004043a8:
+mov ecx, dword [esp + 0x24]
+cmp ecx, 0xffffffff
+je near loc_00404488 ; je 0x404488
+cmp byte [ecx + ref_004990f4], 0 ; cmp byte [ecx + 0x4990f4], 0
+jne near loc_00404488 ; jne 0x404488
+mov ebx, 6
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv ebx
+mov ebx, edx
+shl ebx, 3
+add ebx, edx
+shl ebx, 3
+lea edi, [ebx + 4]
+mov esi, 6
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv esi
+mov edx, eax
+shl eax, 3
+add eax, edx
+shl eax, 3
+lea ebp, [eax + 5]
+inc eax
+push eax
+add ebx, 8
+push ebx
+mov ebx, dword [ref_0048a3c0] ; mov ebx, dword [0x48a3c0]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 2
+lea edx, [ebx + 0xc]
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a3a4] ; mov ebx, dword [0x48a3a4]
+push ebx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+cmp dword [esp + 0x24], 6
+jge short loc_00404447 ; jge 0x404447
+add ebp, 0x44
+jmp short loc_0040444a ; jmp 0x40444a
+
+loc_00404447:
+sub ebp, 0x18
+
+loc_0040444a:
+push 0xffffffffffffffec
+push 0x14
+push 0x46
+push ebp
+lea eax, [edi + 5]
+push eax
+mov eax, dword [ref_0048a3a4] ; mov eax, dword [0x48a3a4]
+push eax
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+push 2
+add ebp, 0xa
+push ebp
+add edi, 0x28
+push edi
+imul eax, dword [esp + 0x30], 0x68
+mov ecx, dword [eax + ref_0047e80c] ; mov ecx, dword [eax + 0x47e80c]
+push ecx
+mov ebx, dword [ref_0048a3a4] ; mov ebx, dword [0x48a3a4]
+push ebx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00404488:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0xa
+push 4
+mov esi, dword [ref_0048a3a4] ; mov esi, dword [0x48a3a4]
+push esi
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp], 4
+mov dword [esp + 8], 0x1bc
+mov dword [esp + 4], 0xa
+mov dword [esp + 0xc], 0xa5
+push 0
+lea eax, [esp + 4]
+push eax
+mov ebx, dword [ref_0048a3b4] ; mov ebx, dword [0x48a3b4]
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_004044fc:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00404504:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x1c
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0
+push 0
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+lea edx, [eax + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a3a0] ; mov edx, dword [0x48a3a0]
+push edx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+mov eax, dword [ref_0046cb54] ; mov eax, dword [0x46cb54]
+movsx eax, word [eax*2 + ref_0046cc80] ; movsx eax, word [eax*2 + 0x46cc80]
+push eax
+push 0x96
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0x6c
+push eax
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+push 5
+push 0xe4
+push 8
+push ref_00463138 ; push 0x463138
+mov ebx, dword [ref_0048a3a0] ; mov ebx, dword [0x48a3a0]
+push ebx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 5
+push 0x108
+push 8
+push ref_00463141 ; push 0x463141
+mov esi, dword [ref_0048a3a0] ; mov esi, dword [0x48a3a0]
+push esi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 5
+push 0x12c
+push 8
+push ref_0046314a ; push 0x46314a
+mov edi, dword [ref_0048a3a0] ; mov edi, dword [0x48a3a0]
+push edi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 5
+push 0x150
+push 8
+push ref_00463153 ; push 0x463153
+mov ebp, dword [ref_0048a3a0] ; mov ebp, dword [0x48a3a0]
+push ebp
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 5
+push 0x174
+push 8
+push ref_0046315c ; push 0x46315c
+mov eax, dword [ref_0048a3a0] ; mov eax, dword [0x48a3a0]
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 5
+push 0x198
+push 8
+push ref_00463165 ; push 0x463165
+mov edx, dword [ref_0048a3a0] ; mov edx, dword [0x48a3a0]
+push edx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 2
+push 0x101010
+push 0x101010
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0046cb40] ; mov eax, dword [0x46cb40]
+mov ecx, dword [eax*4 + ref_0046cb94] ; mov ecx, dword [eax*4 + 0x46cb94]
+push ecx
+push ref_0046316e ; push 0x46316e
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push 0x108
+push 0x9b
+lea eax, [esp + 0x1c]
+push eax
+mov ebx, dword [ref_0048a3a0] ; mov ebx, dword [0x48a3a0]
+push ebx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0046cb40] ; mov eax, dword [0x46cb40]
+mov edx, dword [ref_0046cb50] ; mov edx, dword [0x46cb50]
+mov eax, dword [eax*4 + ref_0046cb94] ; mov eax, dword [eax*4 + 0x46cb94]
+imul eax, dword [edx*4 + ref_0046cc00] ; imul eax, dword [edx*4 + 0x46cc00]
+test eax, eax
+je short loc_004046c3 ; je 0x4046c3
+push eax
+push ref_0046316e ; push 0x46316e
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+jmp short loc_004046d5 ; jmp 0x4046d5
+
+loc_004046c3:
+push ref_00463171 ; push 0x463171
+lea eax, [esp + 0x14]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+
+loc_004046d5:
+push 6
+push 0x198
+push 0x9b
+lea eax, [esp + 0x1c]
+push eax
+mov edi, dword [ref_0048a3a0] ; mov edi, dword [0x48a3a0]
+push edi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0xe4
+push 0x9b
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+mov ebp, dword [eax*4 + ref_0046cb88] ; mov ebp, dword [eax*4 + 0x46cb88]
+push ebp
+mov eax, dword [ref_0048a3a0] ; mov eax, dword [0x48a3a0]
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x12c
+push 0x9b
+mov eax, dword [ref_0046cb44] ; mov eax, dword [0x46cb44]
+mov edx, dword [eax*4 + ref_0046cbac] ; mov edx, dword [eax*4 + 0x46cbac]
+push edx
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x150
+push 0x9b
+mov eax, dword [ref_0046cb48] ; mov eax, dword [0x46cb48]
+mov ebx, dword [eax*4 + ref_0046cbb8] ; mov ebx, dword [eax*4 + 0x46cbb8]
+push ebx
+mov esi, dword [ref_0048a3a0] ; mov esi, dword [0x48a3a0]
+push esi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x174
+push 0x9b
+mov eax, dword [ref_0046cb4c] ; mov eax, dword [0x46cb4c]
+mov edi, dword [eax*4 + ref_0046cbd0] ; mov edi, dword [eax*4 + 0x46cbd0]
+push edi
+mov ebp, dword [ref_0048a3a0] ; mov ebp, dword [0x48a3a0]
+push ebp
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0xa
+push 0x1bd
+mov eax, dword [ref_0048a3a0] ; mov eax, dword [0x48a3a0]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp], 0x1bd
+mov dword [esp + 8], 0x27d
+mov dword [esp + 4], 0xa
+mov dword [esp + 0xc], 0x1d7
+push 0
+lea eax, [esp + 4]
+push eax
+mov ebp, dword [ref_0048a3b4] ; mov ebp, dword [0x48a3b4]
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+add esp, 0x1c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00404812:
+db 0x8b
+db 0xc0
+
+ref_00404814: ; may contain a jump table
+dd loc_004048cb
+dd loc_00404950
+dd loc_004049ec
+dd loc_00404a71
+dd loc_00404af6
+dd loc_00404b7a
+
+fcn_0040482c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x94
+mov ebx, dword [esp + 0xa8]
+movsx eax, word [ebx*8 + ref_0046cc8a] ; movsx eax, word [ebx*8 + 0x46cc8a]
+sub eax, 0xa
+push eax
+movsx eax, word [ebx*8 + ref_0046cc88] ; movsx eax, word [ebx*8 + 0x46cc88]
+sub eax, 0x1bd
+push eax
+movsx edx, word [ebx*2 + ref_0046ccb8] ; movsx edx, word [ebx*2 + 0x46ccb8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048a3b8] ; mov edx, dword [0x48a3b8]
+add edx, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a3a0] ; mov edx, dword [0x48a3a0]
+push edx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+movsx eax, word [ebx*8 + ref_0046cc88] ; movsx eax, word [ebx*8 + 0x46cc88]
+lea edx, [eax - 0x1bb]
+mov dword [esp + 0x90], edx
+movsx edi, word [ebx*8 + ref_0046cc8c] ; movsx edi, word [ebx*8 + 0x46cc8c]
+mov ebp, edi
+sub ebp, eax
+sub ebp, 3
+sub edi, 0x1bf
+movsx esi, word [ebx*8 + ref_0046cc8a] ; movsx esi, word [ebx*8 + 0x46cc8a]
+sub esi, 5
+cmp ebx, 5
+ja near loc_00404c37 ; ja 0x404c37
+mov eax, ebx
+jmp dword [eax*4 + ref_00404814] ; ujmp: jmp dword [eax*4 + 0x404814]
+
+loc_004048cb:
+xor ebx, ebx
+jmp short loc_004048fa ; jmp 0x4048fa
+
+loc_004048cf:
+push 6
+lea eax, [esi + 8]
+push eax
+push edi
+mov edx, dword [ebx*4 + ref_0046cb88] ; mov edx, dword [ebx*4 + 0x46cb88]
+push edx
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x17
+cmp ebx, 3
+jge near loc_00404c37 ; jge 0x404c37
+
+loc_004048fa:
+cmp ebx, dword [esp + 0xac]
+je short loc_0040491d ; je 0x40491d
+push 1
+push 2
+push 0x101010
+push 0x101010
+
+loc_00404911:
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+jmp short loc_004048cf ; jmp 0x4048cf
+
+loc_0040491d:
+push 0xaa0000
+push 0x14
+push ebp
+lea eax, [esi - 3]
+push eax
+mov edx, dword [esp + 0xa0]
+push edx
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 1
+push 2
+push 0x101010
+push 0xffffff
+jmp short loc_00404911 ; jmp 0x404911
+
+loc_00404950:
+xor ebx, ebx
+jmp short loc_0040497c ; jmp 0x40497c
+
+loc_00404954:
+push 6
+lea eax, [esi + 8]
+push eax
+push edi
+lea eax, [esp + 0xc]
+push eax
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x17
+cmp ebx, 6
+jge near loc_00404c37 ; jge 0x404c37
+
+loc_0040497c:
+mov edx, dword [ebx*4 + ref_0046cb94] ; mov edx, dword [ebx*4 + 0x46cb94]
+push edx
+push ref_0046316e ; push 0x46316e
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+cmp ebx, dword [esp + 0xac]
+je short loc_004049b9 ; je 0x4049b9
+push 1
+push 2
+push 0x101010
+push 0x101010
+
+loc_004049ad:
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+jmp short loc_00404954 ; jmp 0x404954
+
+loc_004049b9:
+push 0xaa0000
+push 0x14
+push ebp
+lea eax, [esi - 3]
+push eax
+mov eax, dword [esp + 0xa0]
+push eax
+mov edx, dword [ref_0048a3a0] ; mov edx, dword [0x48a3a0]
+push edx
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 1
+push 2
+push 0x101010
+push 0xffffff
+jmp short loc_004049ad ; jmp 0x4049ad
+
+loc_004049ec:
+xor ebx, ebx
+jmp short loc_00404a1b ; jmp 0x404a1b
+
+loc_004049f0:
+push 6
+lea eax, [esi + 8]
+push eax
+push edi
+mov edx, dword [ebx*4 + ref_0046cbac] ; mov edx, dword [ebx*4 + 0x46cbac]
+push edx
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x17
+cmp ebx, 3
+jge near loc_00404c37 ; jge 0x404c37
+
+loc_00404a1b:
+cmp ebx, dword [esp + 0xac]
+je short loc_00404a3e ; je 0x404a3e
+push 1
+push 2
+push 0x101010
+push 0x101010
+
+loc_00404a32:
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+jmp short loc_004049f0 ; jmp 0x4049f0
+
+loc_00404a3e:
+push 0xaa0000
+push 0x14
+push ebp
+lea eax, [esi - 3]
+push eax
+mov edx, dword [esp + 0xa0]
+push edx
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 1
+push 2
+push 0x101010
+push 0xffffff
+jmp short loc_00404a32 ; jmp 0x404a32
+
+loc_00404a71:
+xor ebx, ebx
+jmp short loc_00404aa0 ; jmp 0x404aa0
+
+loc_00404a75:
+push 6
+lea eax, [esi + 8]
+push eax
+push edi
+mov edx, dword [ebx*4 + ref_0046cbb8] ; mov edx, dword [ebx*4 + 0x46cbb8]
+push edx
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x17
+cmp ebx, 6
+jge near loc_00404c37 ; jge 0x404c37
+
+loc_00404aa0:
+cmp ebx, dword [esp + 0xac]
+je short loc_00404ac3 ; je 0x404ac3
+push 1
+push 2
+push 0x101010
+push 0x101010
+
+loc_00404ab7:
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+jmp short loc_00404a75 ; jmp 0x404a75
+
+loc_00404ac3:
+push 0xaa0000
+push 0x14
+push ebp
+lea eax, [esi - 3]
+push eax
+mov edx, dword [esp + 0xa0]
+push edx
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 1
+push 2
+push 0x101010
+push 0xffffff
+jmp short loc_00404ab7 ; jmp 0x404ab7
+
+loc_00404af6:
+xor ebx, ebx
+jmp short loc_00404b25 ; jmp 0x404b25
+
+loc_00404afa:
+push 6
+lea eax, [esi + 8]
+push eax
+push edi
+mov edx, dword [ebx*4 + ref_0046cbd0] ; mov edx, dword [ebx*4 + 0x46cbd0]
+push edx
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x17
+cmp ebx, 6
+jge near loc_00404c37 ; jge 0x404c37
+
+loc_00404b25:
+cmp ebx, dword [esp + 0xac]
+je short loc_00404b48 ; je 0x404b48
+push 1
+push 2
+push 0x101010
+push 0x101010
+
+loc_00404b3c:
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+jmp short loc_00404afa ; jmp 0x404afa
+
+loc_00404b48:
+push 0xaa0000
+push 0x14
+push ebp
+lea eax, [esi - 3]
+push eax
+mov ecx, dword [esp + 0xa0]
+push ecx
+mov eax, dword [ref_0048a3a0] ; mov eax, dword [0x48a3a0]
+push eax
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 1
+push 2
+push 0x101010
+push 0xffffff
+jmp short loc_00404b3c ; jmp 0x404b3c
+
+loc_00404b7a:
+xor ebx, ebx
+jmp short loc_00404bd4 ; jmp 0x404bd4
+
+loc_00404b7e:
+push ref_00463171 ; push 0x463171
+lea eax, [esp + 4]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+
+loc_00404b90:
+cmp ebx, dword [esp + 0xac]
+je short loc_00404c01 ; je 0x404c01
+push 1
+push 2
+push 0x101010
+push 0x101010
+
+loc_00404ba7:
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 6
+lea eax, [esi + 8]
+push eax
+push edi
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048a3a0] ; mov eax, dword [0x48a3a0]
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x17
+cmp ebx, 6
+jge short loc_00404c37 ; jge 0x404c37
+
+loc_00404bd4:
+mov eax, dword [ref_0046cb40] ; mov eax, dword [0x46cb40]
+mov eax, dword [eax*4 + ref_0046cb94] ; mov eax, dword [eax*4 + 0x46cb94]
+imul eax, dword [ebx*4 + ref_0046cc00] ; imul eax, dword [ebx*4 + 0x46cc00]
+test eax, eax
+je short loc_00404b7e ; je 0x404b7e
+push eax
+push ref_0046316e ; push 0x46316e
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+jmp short loc_00404b90 ; jmp 0x404b90
+
+loc_00404c01:
+push 0xaa0000
+push 0x14
+push ebp
+lea eax, [esi - 3]
+push eax
+mov edx, dword [esp + 0xa0]
+push edx
+mov ecx, dword [ref_0048a3a0] ; mov ecx, dword [0x48a3a0]
+push ecx
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 1
+push 2
+push 0x101010
+push 0xffffff
+jmp near loc_00404ba7 ; jmp 0x404ba7
+
+loc_00404c37:
+mov edx, dword [esp + 0xa8]
+movsx eax, word [edx*8 + ref_0046cc88] ; movsx eax, word [edx*8 + 0x46cc88]
+mov dword [esp + 0x80], eax
+movsx eax, word [edx*8 + ref_0046cc8a] ; movsx eax, word [edx*8 + 0x46cc8a]
+mov dword [esp + 0x84], eax
+movsx eax, word [edx*8 + ref_0046cc8c] ; movsx eax, word [edx*8 + 0x46cc8c]
+mov dword [esp + 0x88], eax
+movsx eax, word [edx*8 + ref_0046cc8e] ; movsx eax, word [edx*8 + 0x46cc8e]
+add eax, 2
+mov dword [esp + 0x8c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x8c]
+mov ebx, dword [esp + 0x84]
+sub eax, ebx
+push eax
+mov eax, dword [esp + 0x8c]
+mov esi, dword [esp + 0x84]
+sub eax, esi
+push eax
+lea eax, [ebx - 0xa]
+push eax
+lea eax, [esi - 0x1bd]
+push eax
+push ebx
+push esi
+mov eax, dword [ref_0048a3a0] ; mov eax, dword [0x48a3a0]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x84]
+push eax
+mov ecx, dword [ref_0048a3b4] ; mov ecx, dword [0x48a3b4]
+push ecx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+add esp, 0x94
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00404d0a:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x18]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+add eax, dword [ref_0046cb44] ; add eax, dword [0x46cb44]
+lea esi, [eax + 9]
+mov ebx, dword [esp + 0x14]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ecx, dword [eax + ref_0048a364] ; mov ecx, dword [eax + 0x48a364]
+test ecx, ecx
+je short loc_00404d43 ; je 0x404d43
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_00404d43:
+mov ebx, dword [esp + 0x14]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov ebx, eax
+shl ebx, 2
+mov eax, dword [esp + 0x18]
+mov dword [ebx + ref_0048a35c], eax ; mov dword [ebx + 0x48a35c], eax
+xor edi, edi
+mov dword [ebx + ref_0048a360], edi ; mov dword [ebx + 0x48a360], edi
+push edi
+push edi
+push esi
+mov ebp, dword [ref_0048a3b0] ; mov ebp, dword [0x48a3b0]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_0048a364], eax ; mov dword [ebx + 0x48a364], eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00404d82:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x14]
+xor edi, edi
+xor ebx, ebx
+jmp short loc_00404dc5 ; jmp 0x404dc5
+
+loc_00404d90:
+test edi, edi
+je short loc_00404dbf ; je 0x404dbf
+push 0xc
+push esi
+lea edx, [ebx - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ref_0048a35c ; add eax, 0x48a35c
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0xc
+push 0
+push esi
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+
+loc_00404dbf:
+inc ebx
+cmp ebx, 4
+jge short loc_00404e01 ; jge 0x404e01
+
+loc_00404dc5:
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov esi, ref_0048a35c ; mov esi, 0x48a35c
+add esi, eax
+cmp ebp, dword [eax + ref_0048a35c] ; cmp ebp, dword [eax + 0x48a35c]
+jne short loc_00404d90 ; jne 0x404d90
+mov ecx, dword [eax + ref_0048a364] ; mov ecx, dword [eax + 0x48a364]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0xc
+push 0
+push esi
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov edi, 1
+jmp short loc_00404dbf ; jmp 0x404dbf
+
+loc_00404e01:
+xor ah, ah
+mov byte [ebp + ref_004990f4], ah ; mov byte [ebp + 0x4990f4], ah
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00404e0e:
+db 0x8b
+db 0xc0
+
+ref_00404e10: ; may contain a jump table
+dd loc_00405339
+dd loc_004053d9
+dd loc_004053d9
+dd loc_004054d8
+dd loc_004054d8
+dd loc_004054d8
+dd loc_004054d8
+dd loc_004054d8
+dd loc_004054d8
+dd loc_004055b9
+dd loc_004055b9
+dd loc_004055b9
+dd loc_004055b9
+
+fcn_00404e44:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x6c
+mov ebp, dword [esp + 0x80]
+mov eax, dword [esp + 0x84]
+mov edx, dword [esp + 0x88]
+mov ebx, dword [esp + 0x8c]
+mov ecx, dword [ref_0048a3ac] ; mov ecx, dword [0x48a3ac]
+test ecx, ecx
+jne near loc_00405c48 ; jne 0x405c48
+cmp eax, 0x201
+jb short loc_00404eb0 ; jb 0x404eb0
+jbe near loc_004052bc ; jbe 0x4052bc
+cmp eax, 0x203
+jb near loc_00405745 ; jb 0x405745
+jbe near loc_004052bc ; jbe 0x4052bc
+cmp eax, 0x205
+jb near loc_00405ee2 ; jb 0x405ee2
+jbe near loc_00405ab0 ; jbe 0x405ab0
+cmp eax, 0x401
+je short loc_00404edb ; je 0x404edb
+jmp near loc_00405ee2 ; jmp 0x405ee2
+
+loc_00404eb0:
+cmp eax, 0x113
+jb short loc_00404ecd ; jb 0x404ecd
+jbe near loc_00404feb ; jbe 0x404feb
+cmp eax, 0x200
+je near loc_00405163 ; je 0x405163
+jmp near loc_00405ee2 ; jmp 0x405ee2
+
+loc_00404ecd:
+cmp eax, 0xf
+je near loc_00405b04 ; je 0x405b04
+jmp near loc_00405ee2 ; jmp 0x405ee2
+
+loc_00404edb:
+mov dword [ref_0048a3c8], ecx ; mov dword [0x48a3c8], ecx
+mov dword [ref_0048a408], ecx ; mov dword [0x48a408], ecx
+mov dword [ref_0048a404], ebx ; mov dword [0x48a404], ebx
+mov bh, 0xff
+mov byte [ref_0048a40e], bh ; mov byte [0x48a40e], bh
+mov byte [ref_0048a40f], bh ; mov byte [0x48a40f], bh
+mov byte [ref_0048a40c], bh ; mov byte [0x48a40c], bh
+mov byte [ref_0048a410], bh ; mov byte [0x48a410], bh
+mov dword [ref_0048a3b4], ebp ; mov dword [0x48a3b4], ebp
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push ecx
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push ecx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+call dword [eax + 0x64] ; ucall
+push 0x96000
+mov esi, dword [ref_0048a354] ; mov esi, dword [0x48a354]
+push esi
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x80] ; ucall
+xor ebx, ebx
+xor esi, esi
+jmp short loc_00404f65 ; jmp 0x404f65
+
+loc_00404f5f:
+inc ebx
+cmp ebx, 0xc
+jge short loc_00404f71 ; jge 0x404f71
+
+loc_00404f65:
+cmp byte [ebx + ref_004990f4], 0 ; cmp byte [ebx + 0x4990f4], 0
+jne short loc_00404f5f ; jne 0x404f5f
+inc esi
+jmp short loc_00404f5f ; jmp 0x404f5f
+
+loc_00404f71:
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+inc eax
+cmp esi, eax
+jge short loc_00404f82 ; jge 0x404f82
+dec esi
+mov dword [ref_0046cb3c], esi ; mov dword [0x46cb3c], esi
+
+loc_00404f82:
+movsx eax, byte [ref_0048a410] ; movsx eax, byte [0x48a410]
+push eax
+call fcn_0040423c ; call 0x40423c
+add esp, 4
+call fcn_00404504 ; call 0x404504
+push 0
+push 0x64
+mov edx, dword [ref_0046cad8] ; mov edx, dword [0x46cad8]
+push edx
+push ebp
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048a3c4], eax ; mov dword [0x48a3c4], eax
+cmp dword [ref_0048a404], 0 ; cmp dword [0x48a404], 0
+jne short loc_00404fcc ; jne 0x404fcc
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+xor bh, bh
+mov byte [ref_0048a40d], bh ; mov byte [0x48a40d], bh
+jmp short loc_00404fd3 ; jmp 0x404fd3
+
+loc_00404fcc:
+mov byte [ref_0048a40d], 1 ; mov byte [0x48a40d], 1
+
+loc_00404fd3:
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00404fdf:
+xor eax, eax
+
+loc_00404fe1:
+add esp, 0x6c
+
+loc_00404fe4:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_00404feb:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_00404fdf ; je 0x404fdf
+cmp edx, dword [ref_0046cad8] ; cmp edx, dword [0x46cad8]
+jne short loc_00404fdf ; jne 0x404fdf
+mov edx, dword [ref_0048a3c8] ; mov edx, dword [0x48a3c8]
+add edx, 4
+mov dword [ref_0048a3c8], edx ; mov dword [0x48a3c8], edx
+cmp edx, 0x500
+jl short loc_00405019 ; jl 0x405019
+mov dword [ref_0048a3c8], ecx ; mov dword [0x48a3c8], ecx
+
+loc_00405019:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, dword [ref_0048a3c8] ; mov esi, dword [0x48a3c8]
+push esi
+mov edi, dword [ref_0048a354] ; mov edi, dword [0x48a354]
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456180 ; call 0x456180
+add esp, 0xc
+xor ebx, ebx
+
+loc_0040504d:
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+add eax, 2
+cmp ebx, eax
+jge near loc_004050d1 ; jge 0x4050d1
+mov esi, ebx
+shl esi, 2
+sub esi, ebx
+shl esi, 2
+cmp dword [esi + ref_0048a364], 0 ; cmp dword [esi + 0x48a364], 0
+je short loc_004050cb ; je 0x4050cb
+push 0x1b8
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+shl eax, 4
+mov edx, ebx
+mov ecx, dword [eax + edx*4 + ref_0046cb58] ; mov ecx, dword [eax + edx*4 + 0x46cb58]
+push ecx
+mov edi, dword [esi + ref_0048a360] ; mov edi, dword [esi + 0x48a360]
+push edi
+mov eax, dword [esi + ref_0048a364] ; mov eax, dword [esi + 0x48a364]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov eax, dword [esi + ref_0048a364] ; mov eax, dword [esi + 0x48a364]
+mov eax, dword [eax + 4]
+dec eax
+mov ecx, dword [esi + ref_0048a360] ; mov ecx, dword [esi + 0x48a360]
+cmp eax, ecx
+jle short loc_004050c3 ; jle 0x4050c3
+lea eax, [ecx + 1]
+mov dword [esi + ref_0048a360], eax ; mov dword [esi + 0x48a360], eax
+jmp short loc_004050cb ; jmp 0x4050cb
+
+loc_004050c3:
+xor edi, edi
+mov dword [esi + ref_0048a360], edi ; mov dword [esi + 0x48a360], edi
+
+loc_004050cb:
+inc ebx
+jmp near loc_0040504d ; jmp 0x40504d
+
+loc_004050d1:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0xa
+push 4
+mov ebx, dword [ref_0048a3a4] ; mov ebx, dword [0x48a3a4]
+push ebx
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0xa
+push 0x1bd
+mov edi, dword [ref_0048a3a0] ; mov edi, dword [0x48a3a0]
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+cmp dword [ref_0048a404], 0 ; cmp dword [0x48a404], 0
+je near loc_00404fdf ; je 0x404fdf
+mov ecx, dword [ref_0048a408] ; mov ecx, dword [0x48a408]
+inc ecx
+mov dword [ref_0048a408], ecx ; mov dword [0x48a408], ecx
+cmp ecx, 0xa
+jne near loc_00404fdf ; jne 0x404fdf
+mov byte [ref_0048a40e], 1 ; mov byte [0x48a40e], 1
+push 0
+push 0
+push 0x202
+
+loc_00405156:
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00404fdf ; jmp 0x404fdf
+
+loc_00405163:
+cmp dword [ref_0048a404], 0 ; cmp dword [0x48a404], 0
+jne near loc_00404fdf ; jne 0x404fdf
+xor esi, esi
+mov si, bx
+mov eax, ebx
+shr eax, 0x10
+and eax, 0xffff
+xor edi, edi
+mov di, ax
+cmp esi, 8
+jl near loc_00405205 ; jl 0x405205
+cmp esi, 0x1b8
+jge near loc_00405205 ; jge 0x405205
+cmp edi, 0xf
+jl short loc_00405205 ; jl 0x405205
+cmp edi, 0x9f
+jge short loc_00405205 ; jge 0x405205
+lea edx, [edi - 0xf]
+mov ebx, 0x48
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+add ebx, ebx
+lea edx, [esi - 8]
+mov ebp, 0x48
+mov eax, edx
+sar edx, 0x1f
+idiv ebp
+add ebx, eax
+movsx eax, byte [ref_0048a410] ; movsx eax, byte [0x48a410]
+cmp ebx, eax
+je short loc_00405222 ; je 0x405222
+mov byte [ref_0048a410], bl ; mov byte [0x48a410], bl
+movsx eax, bl
+cmp byte [eax + ref_004990f4], 0 ; cmp byte [eax + 0x4990f4], 0
+jne short loc_00405222 ; jne 0x405222
+push ecx
+mov eax, ref_0048231a ; mov eax, 0x48231a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+movsx eax, byte [ref_0048a410] ; movsx eax, byte [0x48a410]
+push eax
+jmp short loc_0040521a ; jmp 0x40521a
+
+loc_00405205:
+movsx eax, byte [ref_0048a410] ; movsx eax, byte [0x48a410]
+cmp eax, 0xffffffff
+je short loc_00405222 ; je 0x405222
+mov byte [ref_0048a410], 0xff ; mov byte [0x48a410], 0xff
+push 0xffffffffffffffff
+
+loc_0040521a:
+call fcn_0040423c ; call 0x40423c
+add esp, 4
+
+loc_00405222:
+movsx ebp, byte [ref_0048a40f] ; movsx ebp, byte [0x48a40f]
+cmp ebp, 0xffffffff
+je near loc_00404fdf ; je 0x404fdf
+mov eax, ebp
+shl eax, 3
+movsx edx, word [eax + ref_0046cc88] ; movsx edx, word [eax + 0x46cc88]
+cmp esi, edx
+jl short loc_00405299 ; jl 0x405299
+movsx edx, word [eax + ref_0046cc8a] ; movsx edx, word [eax + 0x46cc8a]
+cmp edi, edx
+jl short loc_00405299 ; jl 0x405299
+movsx ebx, word [eax + ref_0046cc8c] ; movsx ebx, word [eax + 0x46cc8c]
+cmp esi, ebx
+jge short loc_00405299 ; jge 0x405299
+movsx eax, word [eax + ref_0046cc8e] ; movsx eax, word [eax + 0x46cc8e]
+cmp edi, eax
+jge short loc_00405299 ; jge 0x405299
+sub edi, edx
+mov edx, edi
+mov ebx, 0x17
+mov eax, edi
+sar edx, 0x1f
+idiv ebx
+mov ebx, eax
+movsx eax, byte [ref_0048a40c] ; movsx eax, byte [0x48a40c]
+cmp ebx, eax
+je near loc_00404fdf ; je 0x404fdf
+mov byte [ref_0048a40c], bl ; mov byte [0x48a40c], bl
+movsx eax, bl
+push eax
+push ebp
+
+loc_0040528f:
+call fcn_0040482c ; call 0x40482c
+jmp near loc_004054d0 ; jmp 0x4054d0
+
+loc_00405299:
+movsx eax, byte [ref_0048a40c] ; movsx eax, byte [0x48a40c]
+cmp eax, 0xffffffff
+je near loc_00404fdf ; je 0x404fdf
+mov byte [ref_0048a40c], 0xff ; mov byte [0x48a40c], 0xff
+push 0xffffffffffffffff
+movsx eax, byte [ref_0048a40f] ; movsx eax, byte [0x48a40f]
+push eax
+jmp short loc_0040528f ; jmp 0x40528f
+
+loc_004052bc:
+mov esi, dword [ref_0048a404] ; mov esi, dword [0x48a404]
+test esi, esi
+jne near loc_00404fdf ; jne 0x404fdf
+mov si, bx
+mov eax, ebx
+shr eax, 0x10
+and eax, 0xffff
+xor edi, edi
+mov di, ax
+movsx eax, byte [ref_0048a40f] ; movsx eax, byte [0x48a40f]
+cmp eax, 0xffffffff
+jne near loc_0040566f ; jne 0x40566f
+xor ebx, ebx
+jmp short loc_004052f6 ; jmp 0x4052f6
+
+loc_004052f0:
+inc ebx
+cmp ebx, 0xd
+jge short loc_00405327 ; jge 0x405327
+
+loc_004052f6:
+mov eax, ebx
+shl eax, 3
+movsx edx, word [eax + ref_0046cc18] ; movsx edx, word [eax + 0x46cc18]
+cmp esi, edx
+jl short loc_004052f0 ; jl 0x4052f0
+movsx edx, word [eax + ref_0046cc1a] ; movsx edx, word [eax + 0x46cc1a]
+cmp edi, edx
+jl short loc_004052f0 ; jl 0x4052f0
+movsx edx, word [eax + ref_0046cc1c] ; movsx edx, word [eax + 0x46cc1c]
+cmp esi, edx
+jge short loc_004052f0 ; jge 0x4052f0
+movsx eax, word [eax + ref_0046cc1e] ; movsx eax, word [eax + 0x46cc1e]
+cmp edi, eax
+jge short loc_004052f0 ; jge 0x4052f0
+
+loc_00405327:
+cmp ebx, 0xc
+ja near loc_00404fdf ; ja 0x404fdf
+mov eax, ebx
+jmp dword [eax*4 + ref_00404e10] ; ujmp: jmp dword [eax*4 + 0x404e10]
+
+loc_00405339:
+movsx eax, byte [ref_0048a410] ; movsx eax, byte [0x48a410]
+cmp eax, 0xffffffff
+je near loc_00404fdf ; je 0x404fdf
+cmp byte [eax + ref_004990f4], 0 ; cmp byte [eax + 0x4990f4], 0
+jne short loc_0040539e ; jne 0x40539e
+mov ebx, dword [ref_0046cb3c] ; mov ebx, dword [0x46cb3c]
+add ebx, 2
+movsx edx, byte [ref_0048a40d] ; movsx edx, byte [0x48a40d]
+cmp edx, ebx
+jge short loc_0040539e ; jge 0x40539e
+mov byte [eax + ref_004990f4], 1 ; mov byte [eax + 0x4990f4], 1
+push eax
+push edx
+call fcn_00404d0a ; call 0x404d0a
+add esp, 8
+push 0
+push ref_00482322 ; push 0x482322
+inc byte [ref_0048a40d] ; inc byte [0x48a40d]
+
+loc_00405384:
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+movsx eax, byte [ref_0048a410] ; movsx eax, byte [0x48a410]
+push eax
+call fcn_0040423c ; call 0x40423c
+jmp near loc_00405afc ; jmp 0x405afc
+
+loc_0040539e:
+movsx eax, byte [ref_0048a410] ; movsx eax, byte [0x48a410]
+cmp byte [eax + ref_004990f4], 1 ; cmp byte [eax + 0x4990f4], 1
+jne near loc_00404fdf ; jne 0x404fdf
+push eax
+call fcn_00404d82 ; call 0x404d82
+add esp, 4
+movsx eax, byte [ref_0048a410] ; movsx eax, byte [0x48a410]
+xor bl, bl
+mov byte [eax + ref_004990f4], bl ; mov byte [eax + 0x4990f4], bl
+push 0
+push ref_00482322 ; push 0x482322
+dec byte [ref_0048a40d] ; dec byte [0x48a40d]
+jmp short loc_00405384 ; jmp 0x405384
+
+loc_004053d9:
+mov byte [ref_0048a40e], bl ; mov byte [0x48a40e], bl
+mov esi, ebx
+shl esi, 3
+movsx eax, word [esi + ref_0046cc1a] ; movsx eax, word [esi + 0x46cc1a]
+sub eax, 0xa
+push eax
+movsx eax, word [esi + ref_0046cc18] ; movsx eax, word [esi + 0x46cc18]
+sub eax, 0x1bd
+push eax
+lea edx, [ebx + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a3a0] ; mov edx, dword [0x48a3a0]
+push edx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+movsx eax, word [esi + ref_0046cc18] ; movsx eax, word [esi + 0x46cc18]
+mov dword [esp + 0x40], eax
+movsx eax, word [esi + ref_0046cc1c] ; movsx eax, word [esi + 0x46cc1c]
+mov dword [esp + 0x48], eax
+movsx eax, word [esi + ref_0046cc1a] ; movsx eax, word [esi + 0x46cc1a]
+mov dword [esp + 0x44], eax
+movsx eax, word [esi + ref_0046cc1e] ; movsx eax, word [esi + 0x46cc1e]
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x4c]
+mov ecx, dword [esp + 0x44]
+sub eax, ecx
+push eax
+mov eax, dword [esp + 0x4c]
+mov ebx, dword [esp + 0x44]
+sub eax, ebx
+push eax
+lea eax, [ecx - 0xa]
+push eax
+lea eax, [ebx - 0x1bd]
+push eax
+push ecx
+push ebx
+mov edx, dword [ref_0048a3a0] ; mov edx, dword [0x48a3a0]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+add esi, 8
+add esi, ref_0048231a ; add esi, 0x48231a
+push esi
+
+loc_004054cb:
+call fcn_004542ce ; call 0x4542ce
+
+loc_004054d0:
+add esp, 8
+jmp near loc_00404fdf ; jmp 0x404fdf
+
+loc_004054d8:
+mov byte [ref_0048a40e], bl ; mov byte [0x48a40e], bl
+movsx eax, word [ebx*8 + ref_0046cc1a] ; movsx eax, word [ebx*8 + 0x46cc1a]
+sub eax, 0xa
+push eax
+movsx eax, word [ebx*8 + ref_0046cc18] ; movsx eax, word [ebx*8 + 0x46cc18]
+sub eax, 0x1bd
+push eax
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0x3c
+push eax
+mov edi, dword [ref_0048a3a0] ; mov edi, dword [0x48a3a0]
+push edi
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+movsx eax, word [ebx*8 + ref_0046cc18] ; movsx eax, word [ebx*8 + 0x46cc18]
+mov dword [esp + 0x40], eax
+movsx eax, word [ebx*8 + ref_0046cc1c] ; movsx eax, word [ebx*8 + 0x46cc1c]
+mov dword [esp + 0x48], eax
+movsx eax, word [ebx*8 + ref_0046cc1a] ; movsx eax, word [ebx*8 + 0x46cc1a]
+mov dword [esp + 0x44], eax
+movsx eax, word [ebx*8 + ref_0046cc1e] ; movsx eax, word [ebx*8 + 0x46cc1e]
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x4c]
+mov edx, dword [esp + 0x44]
+sub eax, edx
+push eax
+mov eax, dword [esp + 0x4c]
+mov ecx, dword [esp + 0x44]
+sub eax, ecx
+push eax
+lea eax, [edx - 0xa]
+push eax
+lea eax, [ecx - 0x1bd]
+push eax
+push edx
+push ecx
+mov edi, dword [ref_0048a3a0] ; mov edi, dword [0x48a3a0]
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push ref_0048231a ; push 0x48231a
+jmp near loc_004054cb ; jmp 0x4054cb
+
+loc_004055b9:
+sub ebx, 9
+cmp ebx, dword [ref_0046cb54] ; cmp ebx, dword [0x46cb54]
+je near loc_00404fdf ; je 0x404fdf
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dword [ref_0046cb54], ebx ; mov dword [0x46cb54], ebx
+push 0xf
+push 0x8a
+mov ebx, dword [ref_0048a390] ; mov ebx, dword [0x48a390]
+push ebx
+mov esi, dword [ref_0048a3a0] ; mov esi, dword [0x48a3a0]
+push esi
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+mov eax, dword [ref_0046cb54] ; mov eax, dword [0x46cb54]
+movsx eax, word [eax*2 + ref_0046cc80] ; movsx eax, word [eax*2 + 0x46cc80]
+push eax
+push 0x96
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0x6c
+push eax
+mov edi, dword [ref_0048a3a0] ; mov edi, dword [0x48a3a0]
+push edi
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+push 0
+mov eax, dword [ref_0048a358] ; mov eax, dword [0x48a358]
+push eax
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+add eax, dword [ref_0046cb54] ; add eax, dword [0x46cb54]
+push eax
+mov ecx, dword [ref_0048a3b0] ; mov ecx, dword [0x48a3b0]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+push 0xfffffffffffffff0
+push 0x96000
+mov ebx, dword [ref_0048a358] ; mov ebx, dword [0x48a358]
+push ebx
+mov esi, dword [ref_0048a354] ; mov esi, dword [0x48a354]
+push esi
+call fcn_004552b7 ; call 0x4552b7
+add esp, 0x10
+jmp near loc_00404fd3 ; jmp 0x404fd3
+
+loc_0040566f:
+movsx edx, byte [ref_0048a40c] ; movsx edx, byte [0x48a40c]
+cmp edx, 0xffffffff
+je near loc_00405735 ; je 0x405735
+shl eax, 2
+cmp edx, dword [eax + ref_0046cb3c] ; cmp edx, dword [eax + 0x46cb3c]
+je near loc_0040571d ; je 0x40571d
+mov dword [eax + ref_0046cb3c], edx ; mov dword [eax + 0x46cb3c], edx
+mov al, byte [ref_0048a40f] ; mov al, byte [0x48a40f]
+test al, al
+jbe short loc_004056a6 ; jbe 0x4056a6
+cmp al, 2
+je short loc_004056ee ; je 0x4056ee
+jmp near loc_0040571d ; jmp 0x40571d
+
+loc_004056a6:
+mov ebx, 3
+
+loc_004056ab:
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+add eax, 2
+cmp ebx, eax
+jl short loc_004056e2 ; jl 0x4056e2
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+cmp dword [eax + ref_0048a364], 0 ; cmp dword [eax + 0x48a364], 0
+je short loc_004056df ; je 0x4056df
+mov edx, dword [eax + ref_0048a35c] ; mov edx, dword [eax + 0x48a35c]
+push edx
+call fcn_00404d82 ; call 0x404d82
+add esp, 4
+dec byte [ref_0048a40d] ; dec byte [0x48a40d]
+
+loc_004056df:
+dec ebx
+jmp short loc_004056ab ; jmp 0x4056ab
+
+loc_004056e2:
+push 0xffffffffffffffff
+call fcn_0040423c ; call 0x40423c
+add esp, 4
+jmp short loc_0040571d ; jmp 0x40571d
+
+loc_004056ee:
+xor ebx, ebx
+jmp short loc_004056f8 ; jmp 0x4056f8
+
+loc_004056f2:
+inc ebx
+cmp ebx, 4
+jge short loc_0040571d ; jge 0x40571d
+
+loc_004056f8:
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+cmp dword [eax + ref_0048a364], 0 ; cmp dword [eax + 0x48a364], 0
+je short loc_004056f2 ; je 0x4056f2
+mov edi, dword [eax + ref_0048a35c] ; mov edi, dword [eax + 0x48a35c]
+push edi
+push ebx
+call fcn_00404d0a ; call 0x404d0a
+add esp, 8
+jmp short loc_004056f2 ; jmp 0x4056f2
+
+loc_0040571d:
+mov ch, 0xff
+mov byte [ref_0048a40f], ch ; mov byte [0x48a40f], ch
+mov byte [ref_0048a40c], ch ; mov byte [0x48a40c], ch
+
+loc_0040572b:
+call fcn_00404504 ; call 0x404504
+jmp near loc_00404fdf ; jmp 0x404fdf
+
+loc_00405735:
+mov bh, 0xff
+mov byte [ref_0048a40f], bh ; mov byte [0x48a40f], bh
+mov byte [ref_0048a40c], bh ; mov byte [0x48a40c], bh
+jmp short loc_0040572b ; jmp 0x40572b
+
+loc_00405745:
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+cmp eax, 0xffffffff
+je near loc_00404fdf ; je 0x404fdf
+mov al, byte [ref_0048a40e] ; mov al, byte [0x48a40e]
+cmp al, 1
+jb near loc_00405a49 ; jb 0x405a49
+jbe short loc_00405771 ; jbe 0x405771
+cmp al, 2
+je near loc_00405924 ; je 0x405924
+jmp near loc_00405a49 ; jmp 0x405a49
+
+loc_00405771:
+movsx eax, al
+movsx eax, word [eax*8 + ref_0046cc1a] ; movsx eax, word [eax*8 + 0x46cc1a]
+sub eax, 0xa
+push eax
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc18] ; movsx eax, word [eax*8 + 0x46cc18]
+sub eax, 0x1bd
+push eax
+mov esi, dword [ref_0048a398] ; mov esi, dword [0x48a398]
+push esi
+mov edi, dword [ref_0048a3a0] ; mov edi, dword [0x48a3a0]
+push edi
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc18] ; movsx eax, word [eax*8 + 0x46cc18]
+mov dword [esp + 0x40], eax
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc1c] ; movsx eax, word [eax*8 + 0x46cc1c]
+mov dword [esp + 0x48], eax
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc1a] ; movsx eax, word [eax*8 + 0x46cc1a]
+mov dword [esp + 0x44], eax
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc1e] ; movsx eax, word [eax*8 + 0x46cc1e]
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x64] ; ucall
+mov eax, dword [esp + 0x4c]
+mov ecx, dword [esp + 0x44]
+sub eax, ecx
+push eax
+mov eax, dword [esp + 0x4c]
+mov ebx, dword [esp + 0x44]
+sub eax, ebx
+push eax
+lea eax, [ecx - 0xa]
+push eax
+lea eax, [ebx - 0x1bd]
+push eax
+push ecx
+push ebx
+mov eax, dword [ref_0048a3a0] ; mov eax, dword [0x48a3a0]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+cmp byte [ref_0048a40d], 0 ; cmp byte [0x48a40d], 0
+je near loc_00405aa4 ; je 0x405aa4
+push 0x18
+push 0
+mov eax, ref_0048a3cc ; mov eax, 0x48a3cc
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov ebx, 0xa
+mov dword [ref_0048a3cc], ebx ; mov dword [0x48a3cc], ebx
+mov dword [ref_0048a3e4], ebx ; mov dword [0x48a3e4], ebx
+mov dword [ref_0048a3e8], 0x1bd ; mov dword [0x48a3e8], 0x1bd
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+shl eax, 4
+mov eax, dword [eax + ref_0046cb58] ; mov eax, dword [eax + 0x46cb58]
+mov dword [ref_0048a3ec], eax ; mov dword [0x48a3ec], eax
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+shl eax, 4
+mov eax, dword [eax + ref_0046cb5c] ; mov eax, dword [eax + 0x46cb5c]
+mov dword [ref_0048a3f0], eax ; mov dword [0x48a3f0], eax
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+shl eax, 4
+mov eax, dword [eax + ref_0046cb60] ; mov eax, dword [eax + 0x46cb60]
+mov dword [ref_0048a3f4], eax ; mov dword [0x48a3f4], eax
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+shl eax, 4
+mov eax, dword [eax + ref_0046cb64] ; mov eax, dword [eax + 0x46cb64]
+mov dword [ref_0048a3f8], eax ; mov dword [0x48a3f8], eax
+mov dword [ref_0048a3fc], 6 ; mov dword [0x48a3fc], 6
+mov dword [ref_0048a400], 4 ; mov dword [0x48a400], 4
+mov dword [ref_0048a3ac], 1 ; mov dword [0x48a3ac], 1
+push 0
+call fcn_00402460 ; call 0x402460
+
+loc_0040591c:
+add esp, 4
+jmp near loc_00405aa4 ; jmp 0x405aa4
+
+loc_00405924:
+movsx eax, al
+movsx eax, word [eax*8 + ref_0046cc1a] ; movsx eax, word [eax*8 + 0x46cc1a]
+sub eax, 0xa
+push eax
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc18] ; movsx eax, word [eax*8 + 0x46cc18]
+sub eax, 0x1bd
+push eax
+mov esi, dword [ref_0048a394] ; mov esi, dword [0x48a394]
+push esi
+mov edi, dword [ref_0048a3a0] ; mov edi, dword [0x48a3a0]
+push edi
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc18] ; movsx eax, word [eax*8 + 0x46cc18]
+mov dword [esp + 0x40], eax
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc1c] ; movsx eax, word [eax*8 + 0x46cc1c]
+mov dword [esp + 0x48], eax
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc1a] ; movsx eax, word [eax*8 + 0x46cc1a]
+mov dword [esp + 0x44], eax
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx eax, word [eax*8 + ref_0046cc1e] ; movsx eax, word [eax*8 + 0x46cc1e]
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x64] ; ucall
+mov eax, dword [esp + 0x4c]
+mov ecx, dword [esp + 0x44]
+sub eax, ecx
+push eax
+mov eax, dword [esp + 0x4c]
+mov ebx, dword [esp + 0x44]
+sub eax, ebx
+push eax
+lea eax, [ecx - 0xa]
+push eax
+lea eax, [ebx - 0x1bd]
+push eax
+push ecx
+push ebx
+mov eax, dword [ref_0048a3a0] ; mov eax, dword [0x48a3a0]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048a3c4] ; mov ebx, dword [0x48a3c4]
+push ebx
+push ebp
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_0040591c ; jmp 0x40591c
+
+loc_00405a49:
+movsx eax, byte [ref_0048a40e] ; movsx eax, byte [0x48a40e]
+movsx edx, word [eax*8 + ref_0046cc1a] ; movsx edx, word [eax*8 + 0x46cc1a]
+sub edx, 0xa
+push edx
+movsx eax, word [eax*8 + ref_0046cc18] ; movsx eax, word [eax*8 + 0x46cc18]
+sub eax, 0x1bd
+push eax
+mov ecx, dword [ref_0048a39c] ; mov ecx, dword [0x48a39c]
+push ecx
+mov ebx, dword [ref_0048a3a0] ; mov ebx, dword [0x48a3a0]
+push ebx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+mov al, byte [ref_0048a40e] ; mov al, byte [0x48a40e]
+sub al, 3
+mov byte [ref_0048a40f], al ; mov byte [0x48a40f], al
+movsx eax, byte [ref_0048a40c] ; movsx eax, byte [0x48a40c]
+push eax
+movsx eax, byte [ref_0048a40f] ; movsx eax, byte [0x48a40f]
+push eax
+call fcn_0040482c ; call 0x40482c
+add esp, 8
+
+loc_00405aa4:
+mov byte [ref_0048a40e], 0xff ; mov byte [0x48a40e], 0xff
+jmp near loc_00404fdf ; jmp 0x404fdf
+
+loc_00405ab0:
+mov ecx, dword [ref_0048a404] ; mov ecx, dword [0x48a404]
+test ecx, ecx
+jne near loc_00404fdf ; jne 0x404fdf
+movsx eax, byte [ref_0048a40f] ; movsx eax, byte [0x48a40f]
+cmp eax, 0xffffffff
+je short loc_00405add ; je 0x405add
+mov ah, 0xff
+mov byte [ref_0048a40f], ah ; mov byte [0x48a40f], ah
+mov byte [ref_0048a40c], ah ; mov byte [0x48a40c], ah
+jmp near loc_0040572b ; jmp 0x40572b
+
+loc_00405add:
+push ecx
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048a3c4] ; mov ebx, dword [0x48a3c4]
+push ebx
+push ebp
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+
+loc_00405af7:
+call fcn_00401966 ; call 0x401966
+
+loc_00405afc:
+add esp, 4
+jmp near loc_00404fdf ; jmp 0x404fdf
+
+loc_00405b04:
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+cmp dword [esp + 0xc], 0
+jne near loc_00405bfb ; jne 0x405bfb
+cmp dword [esp + 0x14], 0x1e0
+jne near loc_00405bfb ; jne 0x405bfb
+lea eax, [esp + 0x40]
+push eax
+call fcn_004024c0 ; call 0x4024c0
+add esp, 4
+xor eax, eax
+mov dword [esp + 0x50], eax
+mov dword [esp + 0x58], 0x280
+mov ecx, dword [esp + 0x44]
+test ecx, ecx
+jle short loc_00405b78 ; jle 0x405b78
+xor ebx, ebx
+mov dword [esp + 0x54], eax
+mov dword [esp + 0x5c], ecx
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0x54]
+push edx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, ebx
+push edi
+push ebx
+mov ecx, dword [ref_0048a0dc] ; mov ecx, dword [0x48a0dc]
+push ecx
+call dword [eax + 0x1c] ; ucall
+
+loc_00405b78:
+mov eax, dword [esp + 0x44]
+mov dword [esp + 0x54], eax
+mov eax, dword [esp + 0x4c]
+mov dword [esp + 0x5c], eax
+push 0
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0x54]
+push ebx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov esi, dword [esp + 0x60]
+push esi
+mov edi, dword [esp + 0x60]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, dword [esp + 0x4c]
+cmp eax, 0x1e0
+jge short loc_00405c38 ; jge 0x405c38
+mov dword [esp + 0x54], eax
+mov dword [esp + 0x5c], 0x1e0
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0x54]
+push ebx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x58]
+push ebx
+mov esi, dword [esp + 0x60]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+jmp short loc_00405c38 ; jmp 0x405c38
+
+loc_00405bfb:
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0xc]
+push ebx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_00405c38:
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00404fdf ; jmp 0x404fdf
+
+loc_00405c48:
+cmp ecx, 1
+jne near loc_00405eb8 ; jne 0x405eb8
+cmp eax, 0xf
+jb near loc_00405ee2 ; jb 0x405ee2
+jbe near loc_00405d8f ; jbe 0x405d8f
+cmp eax, 0x113
+jne near loc_00405ee2 ; jne 0x405ee2
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_00404fdf ; je 0x404fdf
+cmp edx, dword [ref_0046cad8] ; cmp edx, dword [0x46cad8]
+jne near loc_00404fdf ; jne 0x404fdf
+mov eax, dword [ref_0048a3c8] ; mov eax, dword [0x48a3c8]
+add eax, 4
+mov dword [ref_0048a3c8], eax ; mov dword [0x48a3c8], eax
+cmp eax, 0x500
+jl short loc_00405ca0 ; jl 0x405ca0
+xor ecx, ecx
+mov dword [ref_0048a3c8], ecx ; mov dword [0x48a3c8], ecx
+
+loc_00405ca0:
+mov eax, dword [ref_0048a3cc] ; mov eax, dword [0x48a3cc]
+lea edx, [eax + 1]
+mov dword [ref_0048a3cc], edx ; mov dword [0x48a3cc], edx
+cmp eax, 0xa
+jl near loc_00404fd3 ; jl 0x404fd3
+xor ebx, ebx
+mov dword [ref_0048a3cc], ebx ; mov dword [0x48a3cc], ebx
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+add eax, 2
+movsx edx, byte [ref_0048a40d] ; movsx edx, byte [0x48a40d]
+cmp edx, eax
+jne short loc_00405d0d ; jne 0x405d0d
+mov esi, dword [ref_0048a3c4] ; mov esi, dword [0x48a3c4]
+push esi
+push ebp
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push ebx
+push 0x32
+mov edi, dword [ref_0046cad8] ; mov edi, dword [0x46cad8]
+push edi
+push ebp
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048a3c4], eax ; mov dword [0x48a3c4], eax
+mov dword [ref_0048a3ac], 2 ; mov dword [0x48a3ac], 2
+push ebx
+push ref_0046ccd0 ; push 0x46ccd0
+jmp near loc_004054cb ; jmp 0x4054cb
+
+loc_00405d0d:
+xor esi, esi
+jmp short loc_00405d17 ; jmp 0x405d17
+
+loc_00405d11:
+inc ebx
+cmp ebx, 0xc
+jge short loc_00405d27 ; jge 0x405d27
+
+loc_00405d17:
+cmp byte [ebx + ref_004990f4], 0 ; cmp byte [ebx + 0x4990f4], 0
+jne short loc_00405d11 ; jne 0x405d11
+mov byte [esp + esi + 0x60], bl
+inc esi
+jmp short loc_00405d11 ; jmp 0x405d11
+
+loc_00405d27:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+xor ebx, ebx
+mov bl, byte [esp + edx + 0x60]
+mov byte [ebx + ref_004990f4], 1 ; mov byte [ebx + 0x4990f4], 1
+push ebx
+movsx eax, byte [ref_0048a40d] ; movsx eax, byte [0x48a40d]
+push eax
+call fcn_00404d0a ; call 0x404d0a
+add esp, 8
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0xffffffffffffffff
+call fcn_0040423c ; call 0x40423c
+add esp, 4
+mov bl, byte [ref_0048a40d] ; mov bl, byte [0x48a40d]
+movsx edx, bl
+mov eax, edx
+shl eax, 2
+sub eax, edx
+or byte [eax*4 + ref_0048a35f], 0x80 ; or byte [eax*4 + 0x48a35f], 0x80
+inc bl
+mov byte [ref_0048a40d], bl ; mov byte [0x48a40d], bl
+jmp near loc_00404fd3 ; jmp 0x404fd3
+
+loc_00405d8f:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push ecx
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a3c8] ; mov eax, dword [0x48a3c8]
+push eax
+mov edx, dword [ref_0048a354] ; mov edx, dword [0x48a354]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456180 ; call 0x456180
+add esp, 0xc
+push 0xa
+push 4
+mov ebx, dword [ref_0048a3a4] ; mov ebx, dword [0x48a3a4]
+push ebx
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0xa
+push 0x1bd
+mov edi, dword [ref_0048a3a0] ; mov edi, dword [0x48a3a0]
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor ebx, ebx
+
+loc_00405df8:
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+add eax, 2
+cmp ebx, eax
+jge near loc_00405e7c ; jge 0x405e7c
+mov esi, ebx
+shl esi, 2
+sub esi, ebx
+shl esi, 2
+cmp dword [esi + ref_0048a364], 0 ; cmp dword [esi + 0x48a364], 0
+je short loc_00405e76 ; je 0x405e76
+push 0x1b8
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+shl eax, 4
+mov edx, ebx
+mov ecx, dword [eax + edx*4 + ref_0046cb58] ; mov ecx, dword [eax + edx*4 + 0x46cb58]
+push ecx
+mov edi, dword [esi + ref_0048a360] ; mov edi, dword [esi + 0x48a360]
+push edi
+mov eax, dword [esi + ref_0048a364] ; mov eax, dword [esi + 0x48a364]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov eax, dword [esi + ref_0048a364] ; mov eax, dword [esi + 0x48a364]
+mov eax, dword [eax + 4]
+dec eax
+mov ecx, dword [esi + ref_0048a360] ; mov ecx, dword [esi + 0x48a360]
+cmp eax, ecx
+jle short loc_00405e6e ; jle 0x405e6e
+lea eax, [ecx + 1]
+mov dword [esi + ref_0048a360], eax ; mov dword [esi + 0x48a360], eax
+jmp short loc_00405e76 ; jmp 0x405e76
+
+loc_00405e6e:
+xor edi, edi
+mov dword [esi + ref_0048a360], edi ; mov dword [esi + 0x48a360], edi
+
+loc_00405e76:
+inc ebx
+jmp near loc_00405df8 ; jmp 0x405df8
+
+loc_00405e7c:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push 0
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0
+push ebp
+call dword [cs:__imp__ValidateRect@8] ; ucall: call dword cs:[0x462340]
+jmp near loc_00404fdf ; jmp 0x404fdf
+
+loc_00405eb8:
+cmp ecx, 2
+jne near loc_00404fdf ; jne 0x404fdf
+cmp eax, 0x113
+jb short loc_00405ef2 ; jb 0x405ef2
+jbe short loc_00405f04 ; jbe 0x405f04
+cmp eax, 0x202
+jb short loc_00405ee2 ; jb 0x405ee2
+jbe near loc_00405f6a ; jbe 0x405f6a
+cmp eax, 0x205
+
+loc_00405edc:
+je near loc_00405f6a ; je 0x405f6a
+
+loc_00405ee2:
+push ebx
+push edx
+push eax
+push ebp
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00404fe1 ; jmp 0x404fe1
+
+loc_00405ef2:
+cmp eax, 0xf
+jb short loc_00405ee2 ; jb 0x405ee2
+jbe near loc_00405f80 ; jbe 0x405f80
+cmp eax, 0x100
+jmp short loc_00405edc ; jmp 0x405edc
+
+loc_00405f04:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_00404fdf ; je 0x404fdf
+cmp edx, dword [ref_0046cad8] ; cmp edx, dword [0x46cad8]
+jne near loc_00404fdf ; jne 0x404fdf
+add dword [ref_0048a3fc], ecx ; add dword [0x48a3fc], ecx
+mov ecx, dword [ref_0048a400] ; mov ecx, dword [0x48a400]
+cmp ecx, 0x1e
+jge short loc_00405f37 ; jge 0x405f37
+lea ebx, [ecx + 1]
+mov dword [ref_0048a400], ebx ; mov dword [0x48a400], ebx
+
+loc_00405f37:
+mov eax, dword [ref_0048a3fc] ; mov eax, dword [0x48a3fc]
+sub dword [ref_0048a3e4], eax ; sub dword [0x48a3e4], eax
+add dword [ref_0048a3e8], eax ; add dword [0x48a3e8], eax
+mov eax, dword [ref_0048a400] ; mov eax, dword [0x48a400]
+add dword [ref_0048a3ec], eax ; add dword [0x48a3ec], eax
+add dword [ref_0048a3f0], eax ; add dword [0x48a3f0], eax
+add dword [ref_0048a3f4], eax ; add dword [0x48a3f4], eax
+add dword [ref_0048a3f8], eax ; add dword [0x48a3f8], eax
+jmp near loc_00404fd3 ; jmp 0x404fd3
+
+loc_00405f6a:
+mov edi, dword [ref_0048a3c4] ; mov edi, dword [0x48a3c4]
+push edi
+push ebp
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 1
+jmp near loc_00405af7 ; jmp 0x405af7
+
+loc_00405f80:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a3c8] ; mov eax, dword [0x48a3c8]
+push eax
+mov edx, dword [ref_0048a358] ; mov edx, dword [0x48a358]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456180 ; call 0x456180
+add esp, 0xc
+cmp dword [ref_0048a3cc], 0 ; cmp dword [0x48a3cc], 0
+jne short loc_00405fde ; jne 0x405fde
+mov esi, dword [ref_0048a3e4] ; mov esi, dword [0x48a3e4]
+push esi
+push 4
+mov edi, dword [ref_0048a3a4] ; mov edi, dword [0x48a3a4]
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov dword [ref_0048a3cc], eax ; mov dword [0x48a3cc], eax
+
+loc_00405fde:
+cmp dword [ref_0048a3d0], 0 ; cmp dword [0x48a3d0], 0
+jne short loc_0040600b ; jne 0x40600b
+push 0xa
+mov ecx, dword [ref_0048a3e8] ; mov ecx, dword [0x48a3e8]
+push ecx
+mov ebx, dword [ref_0048a3a0] ; mov ebx, dword [0x48a3a0]
+push ebx
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov dword [ref_0048a3d0], eax ; mov dword [0x48a3d0], eax
+
+loc_0040600b:
+xor ebx, ebx
+
+loc_0040600d:
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+add eax, 2
+cmp ebx, eax
+jge near loc_00406091 ; jge 0x406091
+mov edi, ebx
+shl edi, 2
+cmp dword [edi + ref_0048a3d4], 0 ; cmp dword [edi + 0x48a3d4], 0
+jne short loc_0040608b ; jne 0x40608b
+push 0x1b8
+mov esi, dword [edi + ref_0048a3ec] ; mov esi, dword [edi + 0x48a3ec]
+push esi
+mov esi, ebx
+shl esi, 2
+sub esi, ebx
+shl esi, 2
+mov eax, dword [esi + ref_0048a360] ; mov eax, dword [esi + 0x48a360]
+push eax
+mov edx, dword [esi + ref_0048a364] ; mov edx, dword [esi + 0x48a364]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov dword [edi + ref_0048a3d4], eax ; mov dword [edi + 0x48a3d4], eax
+mov eax, dword [esi + ref_0048a364] ; mov eax, dword [esi + 0x48a364]
+mov eax, dword [eax + 4]
+dec eax
+mov edi, dword [esi + ref_0048a360] ; mov edi, dword [esi + 0x48a360]
+cmp eax, edi
+jle short loc_00406083 ; jle 0x406083
+lea edx, [edi + 1]
+mov dword [esi + ref_0048a360], edx ; mov dword [esi + 0x48a360], edx
+jmp short loc_0040608b ; jmp 0x40608b
+
+loc_00406083:
+xor eax, eax
+mov dword [esi + ref_0048a360], eax ; mov dword [esi + 0x48a360], eax
+
+loc_0040608b:
+inc ebx
+jmp near loc_0040600d ; jmp 0x40600d
+
+loc_00406091:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+push 0
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0
+push ebp
+call dword [cs:__imp__ValidateRect@8] ; ucall: call dword cs:[0x462340]
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+cmp dword [eax*4 + ref_0048a3d8], 0 ; cmp dword [eax*4 + 0x48a3d8], 0
+je near loc_00404fdf ; je 0x404fdf
+push 0
+push 0
+push 0x100
+jmp near loc_00405156 ; jmp 0x405156
+
+fcn_004060e9:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x60
+mov esi, dword [esp + 0x74]
+mov eax, dword [esp + 0x78]
+mov edx, dword [esp + 0x80]
+cmp eax, 0x201
+jb short loc_00406135 ; jb 0x406135
+jbe near loc_004067f2 ; jbe 0x4067f2
+cmp eax, 0x205
+jb short loc_00406125 ; jb 0x406125
+jbe near loc_00406969 ; jbe 0x406969
+cmp eax, 0x401
+je short loc_00406160 ; je 0x406160
+jmp near loc_00406afd ; jmp 0x406afd
+
+loc_00406125:
+cmp eax, 0x202
+je near loc_0040697f ; je 0x40697f
+jmp near loc_00406afd ; jmp 0x406afd
+
+loc_00406135:
+cmp eax, 0x113
+jb short loc_00406152 ; jb 0x406152
+jbe near loc_0040622c ; jbe 0x40622c
+cmp eax, 0x200
+je near loc_00406589 ; je 0x406589
+jmp near loc_00406afd ; jmp 0x406afd
+
+loc_00406152:
+cmp eax, 0xf
+je near loc_004069b3 ; je 0x4069b3
+jmp near loc_00406afd ; jmp 0x406afd
+
+loc_00406160:
+xor edx, edx
+mov dword [ref_0048a415], edx ; mov dword [0x48a415], edx
+xor ecx, ecx
+mov dword [ref_0048a419], edx ; mov dword [0x48a419], edx
+xor ebx, ebx
+mov dword [ref_0048a41d], edx ; mov dword [0x48a41d], edx
+xor ah, ah
+mov byte [ref_0048a436], ah ; mov byte [0x48a436], ah
+xor dl, dl
+mov byte [ref_0048a437], dl ; mov byte [0x48a437], dl
+xor dh, dh
+mov byte [ref_0048a438], dh ; mov byte [0x48a438], dh
+xor bl, cl
+mov byte [ref_0048a439], bl ; mov byte [0x48a439], bl
+xor bh, ch
+mov byte [ref_0048a43a], bh ; mov byte [0x48a43a], bh
+mov dword [ref_0048a421], 0xffffffb0 ; mov dword [0x48a421], 0xffffffb0
+mov dword [ref_0048a425], 0x1e ; mov dword [0x48a425], 0x1e
+cmp word [ref_004991b6], 0 ; cmp word [0x4991b6], 0
+je short loc_004061d4 ; je 0x4061d4
+mov dword [ref_0048a42d], 0x14 ; mov dword [0x48a42d], 0x14
+mov dword [ref_0048a431], 0xf ; mov dword [0x48a431], 0xf
+jmp short loc_004061e8 ; jmp 0x4061e8
+
+loc_004061d4:
+mov dword [ref_0048a42d], 0xf ; mov dword [0x48a42d], 0xf
+mov dword [ref_0048a431], 0xa ; mov dword [0x48a431], 0xa
+
+loc_004061e8:
+mov eax, dword [ref_0048a3bc] ; mov eax, dword [0x48a3bc]
+mov eax, dword [eax + 4]
+sub eax, 4
+sar eax, 1
+mov dword [ref_0048a429], eax ; mov dword [0x48a429], eax
+mov edi, dword [ref_00499104] ; mov edi, dword [0x499104]
+cmp edi, 1
+setne al
+mov byte [ref_0048a435], al ; mov byte [0x48a435], al
+push 0
+push 0x32
+mov ebp, dword [ref_0046cad8] ; mov ebp, dword [0x46cad8]
+push ebp
+push esi
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048a411], eax ; mov dword [0x48a411], eax
+
+loc_00406223:
+push 0
+push 0
+jmp near loc_00406724 ; jmp 0x406724
+
+loc_0040622c:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_0040672c ; je 0x40672c
+mov eax, dword [esp + 0x7c]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_0040672c ; jne 0x40672c
+cmp byte [ref_0048a43a], 2 ; cmp byte [0x48a43a], 2
+jne short loc_0040627a ; jne 0x40627a
+mov cl, byte [ref_0048a43b] ; mov cl, byte [0x48a43b]
+dec cl
+mov byte [ref_0048a43b], cl ; mov byte [0x48a43b], cl
+jne short loc_0040627a ; jne 0x40627a
+mov byte [ref_0048a43a], 1 ; mov byte [0x48a43a], 1
+push 0
+push 0
+push 0x202
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0040627a:
+mov ebx, dword [ref_0048a415] ; mov ebx, dword [0x48a415]
+add ebx, 4
+mov dword [ref_0048a415], ebx ; mov dword [0x48a415], ebx
+cmp ebx, 0x500
+jl short loc_00406299 ; jl 0x406299
+xor ebp, ebp
+mov dword [ref_0048a415], ebp ; mov dword [0x48a415], ebp
+
+loc_00406299:
+cmp dword [ref_0048a41d], 0 ; cmp dword [0x48a41d], 0
+jne short loc_004062e5 ; jne 0x4062e5
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0x168
+sar edx, 0x1f
+idiv ecx
+add edx, 0x64
+mov dword [ref_0048a41d], edx ; mov dword [0x48a41d], edx
+mov dl, byte [ref_0048a436] ; mov dl, byte [0x48a436]
+xor dl, 1
+mov byte [ref_0048a436], dl ; mov byte [0x48a436], dl
+jne short loc_004062d9 ; jne 0x4062d9
+mov dword [ref_0048a419], 0xffffff9c ; mov dword [0x48a419], 0xffffff9c
+jmp short loc_0040632a ; jmp 0x40632a
+
+loc_004062d9:
+mov dword [ref_0048a419], 0x2e4 ; mov dword [0x48a419], 0x2e4
+jmp short loc_0040632a ; jmp 0x40632a
+
+loc_004062e5:
+cmp byte [ref_0048a436], 0 ; cmp byte [0x48a436], 0
+jne short loc_0040630e ; jne 0x40630e
+mov edi, dword [ref_0048a419] ; mov edi, dword [0x48a419]
+add edi, 0xa
+mov dword [ref_0048a419], edi ; mov dword [0x48a419], edi
+cmp edi, 0x2e4
+jl short loc_0040632a ; jl 0x40632a
+xor eax, eax
+mov dword [ref_0048a41d], eax ; mov dword [0x48a41d], eax
+jmp short loc_0040632a ; jmp 0x40632a
+
+loc_0040630e:
+mov edx, dword [ref_0048a419] ; mov edx, dword [0x48a419]
+sub edx, 0xa
+mov dword [ref_0048a419], edx ; mov dword [0x48a419], edx
+cmp edx, 0xffffff9c
+jg short loc_0040632a ; jg 0x40632a
+xor ebx, ebx
+mov dword [ref_0048a41d], ebx ; mov dword [0x48a41d], ebx
+
+loc_0040632a:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [ref_0048a415] ; mov ebx, dword [0x48a415]
+push ebx
+mov edi, dword [ref_0048a354] ; mov edi, dword [0x48a354]
+push edi
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456180 ; call 0x456180
+add esp, 0xc
+mov bl, byte [ref_0048a437] ; mov bl, byte [0x48a437]
+inc bl
+mov byte [ref_0048a437], bl ; mov byte [0x48a437], bl
+xor eax, eax
+mov al, bl
+cmp eax, dword [ref_0048a429] ; cmp eax, dword [0x48a429]
+jne short loc_0040637f ; jne 0x40637f
+xor bh, bh
+mov byte [ref_0048a437], bh ; mov byte [0x48a437], bh
+
+loc_0040637f:
+mov al, byte [ref_0048a436] ; mov al, byte [0x48a436]
+xor al, 1
+and eax, 0xff
+mov edx, dword [ref_0048a429] ; mov edx, dword [0x48a429]
+imul edx, eax
+xor eax, eax
+mov al, byte [ref_0048a437] ; mov al, byte [0x48a437]
+add eax, edx
+lea ebx, [eax + 5]
+cmp byte [ref_0048a436], 0 ; cmp byte [0x48a436], 0
+je short loc_004063b3 ; je 0x4063b3
+mov eax, dword [ref_0048a419] ; mov eax, dword [0x48a419]
+add eax, 0x5a
+jmp short loc_004063bb ; jmp 0x4063bb
+
+loc_004063b3:
+mov eax, dword [ref_0048a419] ; mov eax, dword [0x48a419]
+sub eax, 0x5a
+
+loc_004063bb:
+mov ecx, dword [ref_0048a41d] ; mov ecx, dword [0x48a41d]
+push ecx
+push eax
+push ebx
+mov ebx, dword [ref_0048a3bc] ; mov ebx, dword [0x48a3bc]
+push ebx
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov ch, byte [ref_0048a438] ; mov ch, byte [0x48a438]
+inc ch
+mov byte [ref_0048a438], ch ; mov byte [0x48a438], ch
+cmp ch, 6
+jne short loc_004063f5 ; jne 0x4063f5
+xor ah, ah
+mov byte [ref_0048a438], ah ; mov byte [0x48a438], ah
+
+loc_004063f5:
+cmp byte [ref_0048a436], 0 ; cmp byte [0x48a436], 0
+je short loc_00406408 ; je 0x406408
+mov eax, dword [ref_0048a419] ; mov eax, dword [0x48a419]
+sub eax, 0x5a
+jmp short loc_00406410 ; jmp 0x406410
+
+loc_00406408:
+mov eax, dword [ref_0048a419] ; mov eax, dword [0x48a419]
+add eax, 0x5a
+
+loc_00406410:
+mov ebp, dword [ref_0048a41d] ; mov ebp, dword [0x48a41d]
+push ebp
+push eax
+xor edx, edx
+mov dl, byte [ref_0048a436] ; mov dl, byte [0x48a436]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+lea edx, [eax + eax]
+xor eax, eax
+mov al, byte [ref_0048a438] ; mov al, byte [0x48a438]
+mov al, byte [edx + eax + ref_0046ccc4] ; mov al, byte [edx + eax + 0x46ccc4]
+and eax, 0xff
+push eax
+mov eax, dword [ref_0048a38c] ; mov eax, dword [0x48a38c]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+cmp byte [ref_0048a435], 0 ; cmp byte [0x48a435], 0
+jne near loc_00406541 ; jne 0x406541
+mov ecx, dword [ref_0048a421] ; mov ecx, dword [0x48a421]
+cmp ecx, 0x168
+jge short loc_004064a1 ; jge 0x4064a1
+mov eax, dword [ref_0048a425] ; mov eax, dword [0x48a425]
+lea ebx, [ecx + eax]
+mov dword [ref_0048a421], ebx ; mov dword [0x48a421], ebx
+lea edi, [eax - 1]
+mov dword [ref_0048a425], edi ; mov dword [0x48a425], edi
+cmp ebx, 0x168
+jle short loc_004064a1 ; jle 0x4064a1
+mov dword [ref_0048a421], 0x168 ; mov dword [0x48a421], 0x168
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+
+loc_004064a1:
+mov edx, dword [ref_0048a421] ; mov edx, dword [0x48a421]
+push edx
+push 0x140
+mov ecx, dword [ref_0048a3b8] ; mov ecx, dword [0x48a3b8]
+mov edx, dword [ref_0048a42d] ; mov edx, dword [0x48a42d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+lea eax, [ecx + 0xc]
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov bl, byte [ref_0048a439] ; mov bl, byte [0x48a439]
+test bl, bl
+je near loc_00406574 ; je 0x406574
+xor edx, edx
+mov dl, bl
+cmp byte [edx + ref_004990ef], 0 ; cmp byte [edx + 0x4990ef], 0
+jne near loc_00406574 ; jne 0x406574
+lea ebx, [edx - 1]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 3
+add eax, 0x12c
+push eax
+push 0x140
+mov ebx, dword [ref_0048a431] ; mov ebx, dword [0x48a431]
+add edx, ebx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+jmp short loc_00406574 ; jmp 0x406574
+
+loc_00406541:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x30
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0xf0
+push 0x140
+push ref_00463176 ; push 0x463176
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00406574:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_00406223 ; jmp 0x406223
+
+loc_00406589:
+cmp byte [ref_0048a435], 0 ; cmp byte [0x48a435], 0
+jne near loc_0040672c ; jne 0x40672c
+mov edi, dword [ref_0048a421] ; mov edi, dword [0x48a421]
+cmp edi, 0x168
+jne near loc_0040672c ; jne 0x40672c
+xor eax, eax
+mov ax, dx
+shr edx, 0x10
+and edx, 0xffff
+and edx, 0xffff
+cmp eax, 0xc8
+jle near loc_00406736 ; jle 0x406736
+cmp eax, 0x1b8
+jge near loc_00406736 ; jge 0x406736
+cmp edx, 0x118
+jle near loc_00406736 ; jle 0x406736
+cmp edx, 0x1b8
+jge near loc_00406736 ; jge 0x406736
+sub edx, 0x118
+mov ecx, 0x28
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+lea ebx, [eax + 1]
+xor eax, eax
+mov al, byte [ref_0048a439] ; mov al, byte [0x48a439]
+cmp ebx, eax
+je near loc_0040672c ; je 0x40672c
+mov ecx, dword [ref_0048a3b8] ; mov ecx, dword [0x48a3b8]
+mov edx, dword [ref_0048a42d] ; mov edx, dword [0x48a42d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ecx
+movsx edx, word [eax + 0x10]
+mov ecx, 0x140
+sub ecx, edx
+mov dword [esp + 0x50], ecx
+movsx edx, word [eax + 0xc]
+add ecx, edx
+mov dword [esp + 0x58], ecx
+movsx edx, word [eax + 0x12]
+mov ecx, edi
+sub ecx, edx
+mov dword [esp + 0x54], ecx
+movsx eax, word [eax + 0xe]
+lea edx, [ecx + eax]
+mov dword [esp + 0x5c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp byte [ref_0048a439], 0 ; cmp byte [0x48a439], 0
+je short loc_004066a5 ; je 0x4066a5
+push edi
+push 0x140
+mov ecx, dword [ref_0048a3b8] ; mov ecx, dword [0x48a3b8]
+mov edx, dword [ref_0048a42d] ; mov edx, dword [0x48a42d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_004066a5:
+mov byte [ref_0048a439], bl ; mov byte [0x48a439], bl
+cmp byte [ebx + ref_004990ef], 0 ; cmp byte [ebx + 0x4990ef], 0
+jne short loc_0040670d ; jne 0x40670d
+xor eax, eax
+mov al, bl
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+add eax, 0x12c
+push eax
+push 0x140
+mov edx, dword [ref_0048a431] ; mov edx, dword [0x48a431]
+add edx, ebx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0040670d:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_0040671d:
+push 0
+lea eax, [esp + 0x54]
+push eax
+
+loc_00406724:
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0040672c:
+xor eax, eax
+
+loc_0040672e:
+add esp, 0x60
+jmp near loc_00404fe4 ; jmp 0x404fe4
+
+loc_00406736:
+cmp byte [ref_0048a439], 0 ; cmp byte [0x48a439], 0
+je short loc_0040672c ; je 0x40672c
+mov ecx, dword [ref_0048a3b8] ; mov ecx, dword [0x48a3b8]
+mov edx, dword [ref_0048a42d] ; mov edx, dword [0x48a42d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ecx
+movsx edx, word [eax + 0x10]
+mov ecx, 0x140
+sub ecx, edx
+mov dword [esp + 0x50], ecx
+movsx edx, word [eax + 0xc]
+add ecx, edx
+mov dword [esp + 0x58], ecx
+movsx edx, word [eax + 0x12]
+mov ecx, 0x168
+sub ecx, edx
+mov dword [esp + 0x54], ecx
+movsx eax, word [eax + 0xe]
+lea edx, [ecx + eax]
+mov dword [esp + 0x5c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x168
+push 0x140
+mov ecx, dword [ref_0048a3b8] ; mov ecx, dword [0x48a3b8]
+mov edx, dword [ref_0048a42d] ; mov edx, dword [0x48a42d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+lea edx, [ecx + 0xc]
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor ah, ah
+mov byte [ref_0048a439], ah ; mov byte [0x48a439], ah
+jmp near loc_0040671d ; jmp 0x40671d
+
+loc_004067f2:
+cmp byte [ref_0048a435], 0 ; cmp byte [0x48a435], 0
+jne near loc_0040695d ; jne 0x40695d
+cmp dword [ref_0048a421], 0x168 ; cmp dword [0x48a421], 0x168
+jne near loc_0040672c ; jne 0x40672c
+mov dh, byte [ref_0048a439] ; mov dh, byte [0x48a439]
+test dh, dh
+je near loc_0040672c ; je 0x40672c
+xor eax, eax
+mov al, dh
+cmp byte [eax + ref_004990ef], 0 ; cmp byte [eax + 0x4990ef], 0
+jne near loc_0040672c ; jne 0x40672c
+push 0
+push ref_0048232a ; push 0x48232a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov edx, dword [ref_0048a3b8] ; mov edx, dword [0x48a3b8]
+mov ecx, dword [ref_0048a42d] ; mov ecx, dword [0x48a42d]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+movsx ecx, word [edx + eax*4 + 0x10]
+mov ebx, 0x140
+sub ebx, ecx
+mov dword [esp + 0x50], ebx
+movsx ecx, word [edx + eax*4 + 0xc]
+add ebx, ecx
+mov dword [esp + 0x58], ebx
+movsx ecx, word [edx + eax*4 + 0x12]
+mov ebx, 0x168
+sub ebx, ecx
+mov dword [esp + 0x54], ebx
+movsx eax, word [edx + eax*4 + 0xe]
+lea ecx, [ebx + eax]
+mov dword [esp + 0x5c], ecx
+push 8
+push 0xd6
+lea eax, [edx + 0x6c]
+push eax
+xor eax, eax
+mov al, byte [ref_0048a439] ; mov al, byte [0x48a439]
+mov ebx, dword [ref_0048a431] ; mov ebx, dword [0x48a431]
+add ebx, eax
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+add edx, 0xc
+add eax, edx
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor edx, edx
+mov dl, byte [ref_0048a439] ; mov dl, byte [0x48a439]
+lea ebx, [edx - 1]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 3
+add eax, 0x12c
+push eax
+push 0x140
+mov ecx, dword [ref_0048a431] ; mov ecx, dword [0x48a431]
+add edx, ecx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor eax, eax
+mov al, byte [ref_0048a439] ; mov al, byte [0x48a439]
+dec eax
+mov word [ref_004991b8], ax ; mov word [0x4991b8], ax
+push 0
+lea eax, [esp + 0x54]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048a43a], 2 ; mov byte [0x48a43a], 2
+mov byte [ref_0048a43b], 0xa ; mov byte [0x48a43b], 0xa
+jmp near loc_0040672c ; jmp 0x40672c
+
+loc_0040695d:
+mov byte [ref_0048a43a], 1 ; mov byte [0x48a43a], 1
+jmp near loc_0040672c ; jmp 0x40672c
+
+loc_00406969:
+cmp byte [ref_0048a435], 0 ; cmp byte [0x48a435], 0
+je near loc_0040672c ; je 0x40672c
+mov byte [ref_0048a43a], 1 ; mov byte [0x48a43a], 1
+jmp short loc_0040698c ; jmp 0x40698c
+
+loc_0040697f:
+cmp byte [ref_0048a43a], 1 ; cmp byte [0x48a43a], 1
+jne near loc_0040672c ; jne 0x40672c
+
+loc_0040698c:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov eax, dword [ref_0048a411] ; mov eax, dword [0x48a411]
+push eax
+push esi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_0040672c ; jmp 0x40672c
+
+loc_004069b3:
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+cmp dword [esp + 0xc], 0
+jne near loc_00406ab0 ; jne 0x406ab0
+cmp dword [esp + 0x14], 0x1e0
+jne near loc_00406ab0 ; jne 0x406ab0
+cmp byte [ref_0048a435], 0 ; cmp byte [0x48a435], 0
+jne near loc_00406ab0 ; jne 0x406ab0
+lea eax, [esp + 0x50]
+push eax
+call fcn_004024c0 ; call 0x4024c0
+add esp, 4
+xor ebp, ebp
+mov dword [esp + 0x40], ebp
+mov dword [esp + 0x48], 0x280
+mov edx, dword [esp + 0x54]
+test edx, edx
+jle short loc_00406a30 ; jle 0x406a30
+mov dword [esp + 0x44], ebp
+mov dword [esp + 0x4c], edx
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0x44]
+push edx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+push ebp
+push ebp
+mov edx, dword [ref_0048a0dc] ; mov edx, dword [0x48a0dc]
+push edx
+call dword [eax + 0x1c] ; ucall
+
+loc_00406a30:
+mov eax, dword [esp + 0x54]
+mov dword [esp + 0x44], eax
+mov eax, dword [esp + 0x5c]
+mov dword [esp + 0x4c], eax
+push 0
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x44]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x50]
+push ebx
+mov edi, dword [esp + 0x50]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov ebp, dword [esp + 0x5c]
+cmp ebp, 0x1e0
+jge short loc_00406aed ; jge 0x406aed
+mov dword [esp + 0x44], ebp
+mov dword [esp + 0x4c], 0x1e0
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x44]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push ebp
+mov edi, dword [esp + 0x50]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+jmp short loc_00406aed ; jmp 0x406aed
+
+loc_00406ab0:
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov edi, dword [esp + 0x18]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_00406aed:
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0040672c ; jmp 0x40672c
+
+loc_00406afd:
+push edx
+mov ebp, dword [esp + 0x80]
+push ebp
+push eax
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0040672e ; jmp 0x40672e
+
+fcn_00406b14:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebx, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x6c]
+cmp eax, 0x113
+jb short loc_00406b5d ; jb 0x406b5d
+jbe near loc_00406c52 ; jbe 0x406c52
+cmp eax, 0x205
+jb short loc_00406b4d ; jb 0x406b4d
+jbe near loc_00406d60 ; jbe 0x406d60
+cmp eax, 0x401
+je short loc_00406b7c ; je 0x406b7c
+jmp near loc_00406dd3 ; jmp 0x406dd3
+
+loc_00406b4d:
+cmp eax, 0x202
+je near loc_00406d50 ; je 0x406d50
+jmp near loc_00406dd3 ; jmp 0x406dd3
+
+loc_00406b5d:
+cmp eax, 0xf
+jb near loc_00406dd3 ; jb 0x406dd3
+jbe near loc_00406d95 ; jbe 0x406d95
+cmp eax, 0x101
+je near loc_00406d40 ; je 0x406d40
+jmp near loc_00406dd3 ; jmp 0x406dd3
+
+loc_00406b7c:
+mov dword [ref_0048a440], 0xa ; mov dword [0x48a440], 0xa
+xor ecx, ecx
+mov dword [ref_0048a444], ecx ; mov dword [0x48a444], ecx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push ecx
+push 1
+push ref_0048a068 ; push 0x48a068
+push ecx
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x1e0
+push 0x280
+push 0
+push 0
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048a448], eax ; mov dword [0x48a448], eax
+push 0x78
+push 0x140
+mov eax, dword [ref_0048a3a8] ; mov eax, dword [0x48a3a8]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x15e
+push 0x140
+mov eax, dword [ref_0048a3a8] ; mov eax, dword [0x48a3a8]
+add eax, 0x84
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0x3e8
+mov ebp, dword [ref_0046cad8] ; mov ebp, dword [0x46cad8]
+push ebp
+push ebx
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048a43c], eax ; mov dword [0x48a43c], eax
+push 0
+push 0
+
+loc_00406c40:
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00406c48:
+xor eax, eax
+
+loc_00406c4a:
+add esp, 0x50
+jmp near loc_00404fe4 ; jmp 0x404fe4
+
+loc_00406c52:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_00406c48 ; je 0x406c48
+cmp edx, dword [ref_0046cad8] ; cmp edx, dword [0x46cad8]
+jne short loc_00406c48 ; jne 0x406c48
+mov edi, dword [ref_0048a440] ; mov edi, dword [0x48a440]
+dec edi
+mov dword [ref_0048a440], edi ; mov dword [0x48a440], edi
+je near loc_00406d2c ; je 0x406d2c
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x64
+push 0x50
+push 0x12c
+push 0x118
+push 0x12c
+push 0x118
+mov eax, dword [ref_0048a448] ; mov eax, dword [0x48a448]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x15e
+push 0x140
+mov ecx, dword [ref_0048a3a8] ; mov ecx, dword [0x48a3a8]
+mov edx, dword [ref_0048a440] ; mov edx, dword [0x48a440]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+lea eax, [ecx + 0xc]
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x40], 0x118
+mov dword [esp + 0x48], 0x168
+mov dword [esp + 0x44], 0x12c
+mov dword [esp + 0x4c], 0x190
+push 0
+lea eax, [esp + 0x44]
+push eax
+jmp near loc_00406c40 ; jmp 0x406c40
+
+loc_00406d2c:
+push edi
+push edi
+
+loc_00406d2e:
+push 0x205
+push ebx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00406c48 ; jmp 0x406c48
+
+loc_00406d40:
+xor eax, eax
+mov ax, word [ref_00497178] ; mov ax, word [0x497178]
+cmp edx, eax
+jne near loc_00406c48 ; jne 0x406c48
+
+loc_00406d50:
+mov dword [ref_0048a444], 1 ; mov dword [0x48a444], 1
+push 0
+push 0
+jmp short loc_00406d2e ; jmp 0x406d2e
+
+loc_00406d60:
+mov eax, dword [ref_0048a43c] ; mov eax, dword [0x48a43c]
+push eax
+push ebx
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+push 0
+mov edx, dword [ref_0048a448] ; mov edx, dword [0x48a448]
+push edx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov ecx, dword [ref_0048a444] ; mov ecx, dword [0x48a444]
+push ecx
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00406c48 ; jmp 0x406c48
+
+loc_00406d95:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov esi, dword [esp + 0x18]
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00406c48 ; jmp 0x406c48
+
+loc_00406dd3:
+mov ebp, dword [esp + 0x70]
+push ebp
+push edx
+push eax
+push ebx
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00406c4a ; jmp 0x406c4a
+
+fcn_00406de7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+push ref_0046ccd0 ; push 0x46ccd0
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0x96000
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov dword [ref_0048a354], eax ; mov dword [0x48a354], eax
+push 0x96000
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov dword [ref_0048a358], eax ; mov dword [0x48a358], eax
+push ref_00463187 ; push 0x463187
+call fcn_004502fe ; call 0x4502fe
+add esp, 4
+mov dword [ref_0048a3b0], eax ; mov dword [0x48a3b0], eax
+push 0
+mov edx, dword [ref_0048a358] ; mov edx, dword [0x48a358]
+push edx
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+shl edx, 2
+movsx ecx, word [ref_004991b8] ; movsx ecx, word [0x4991b8]
+add edx, ecx
+push edx
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+push 0xfffffffffffffff0
+push 0x96000
+mov ecx, dword [ref_0048a358] ; mov ecx, dword [0x48a358]
+push ecx
+mov ebx, dword [ref_0048a354] ; mov ebx, dword [0x48a354]
+push ebx
+call fcn_004552b7 ; call 0x4552b7
+add esp, 0x10
+push 0
+push 0
+push 0x9b
+push 0x1b8
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048a3a4], eax ; mov dword [0x48a3a4], eax
+push 0
+push 0
+push 0x1cd
+push 0xc0
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048a3a0], eax ; mov dword [0x48a3a0], eax
+push 0
+push 0
+push 8
+mov esi, dword [ref_0048a3b0] ; mov esi, dword [0x48a3b0]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a3b8], eax ; mov dword [0x48a3b8], eax
+push 0
+push 0
+push 2
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a3c0], eax ; mov dword [0x48a3c0], eax
+xor ebp, ebp
+mov dword [ref_0048a3ac], ebp ; mov dword [0x48a3ac], ebp
+cmp dword [esp + 0x24], 0
+jne short loc_00406f3f ; jne 0x406f3f
+xor edx, edx
+mov word [ref_004991b8], dx ; mov word [0x4991b8], dx
+push 0xc
+push ebp
+push ref_004990f4 ; push 0x4990f4
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0x1c
+push ebp
+push ref_0046cb3c ; push 0x46cb3c
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov dword [ref_0046cb3c], 2 ; mov dword [0x46cb3c], 2
+mov dword [ref_0046cb40], 1 ; mov dword [0x46cb40], 1
+push 0x30
+push ebp
+push ref_0048a35c ; push 0x48a35c
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+jmp near loc_00406ff6 ; jmp 0x406ff6
+
+loc_00406f3f:
+mov eax, dword [ref_00499114] ; mov eax, dword [0x499114]
+sub eax, 2
+mov dword [ref_0046cb3c], eax ; mov dword [0x46cb3c], eax
+xor ebx, ebx
+mov esi, dword [ref_0049908c] ; mov esi, dword [0x49908c]
+jmp short loc_00406f5c ; jmp 0x406f5c
+
+loc_00406f56:
+inc ebx
+cmp ebx, 6
+jge short loc_00406f6b ; jge 0x406f6b
+
+loc_00406f5c:
+cmp esi, dword [ebx*4 + ref_0046cb94] ; cmp esi, dword [ebx*4 + 0x46cb94]
+jne short loc_00406f56 ; jne 0x406f56
+mov dword [ref_0046cb40], ebx ; mov dword [0x46cb40], ebx
+
+loc_00406f6b:
+mov eax, dword [ref_00499118] ; mov eax, dword [0x499118]
+mov dword [ref_0046cb44], eax ; mov dword [0x46cb44], eax
+mov eax, dword [ref_00499110] ; mov eax, dword [0x499110]
+mov dword [ref_0046cb48], eax ; mov dword [0x46cb48], eax
+xor ebx, ebx
+mov edi, dword [ref_0049911c] ; mov edi, dword [0x49911c]
+jmp short loc_00406f8f ; jmp 0x406f8f
+
+loc_00406f89:
+inc ebx
+cmp ebx, 6
+jge short loc_00406f9e ; jge 0x406f9e
+
+loc_00406f8f:
+cmp edi, dword [ebx*4 + ref_0046cbe8] ; cmp edi, dword [ebx*4 + 0x46cbe8]
+jne short loc_00406f89 ; jne 0x406f89
+mov dword [ref_0046cb4c], ebx ; mov dword [0x46cb4c], ebx
+
+loc_00406f9e:
+mov edx, dword [ref_00499108] ; mov edx, dword [0x499108]
+mov eax, edx
+sar edx, 0x1f
+mov ebp, dword [ref_0049908c] ; mov ebp, dword [0x49908c]
+idiv ebp
+mov edx, eax
+xor ebx, ebx
+jmp short loc_00406fbd ; jmp 0x406fbd
+
+loc_00406fb7:
+inc ebx
+cmp ebx, 6
+jge short loc_00406fcc ; jge 0x406fcc
+
+loc_00406fbd:
+cmp edx, dword [ebx*4 + ref_0046cc00] ; cmp edx, dword [ebx*4 + 0x46cc00]
+jne short loc_00406fb7 ; jne 0x406fb7
+mov dword [ref_0046cb50], ebx ; mov dword [0x46cb50], ebx
+
+loc_00406fcc:
+push 0x30
+push 0
+push ref_0048a35c ; push 0x48a35c
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor eax, eax
+mov al, byte [ref_00496b7b] ; mov al, byte [0x496b7b]
+mov byte [eax + ref_004990f4], 1 ; mov byte [eax + 0x4990f4], 1
+push eax
+push 0
+call fcn_00404d0a ; call 0x404d0a
+add esp, 8
+
+loc_00406ff6:
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+mov dword [ref_0046cb54], eax ; mov dword [0x46cb54], eax
+push 0x85
+push 0x29
+push 0xf
+push 0x8a
+push 0
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+lea edx, [eax + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0xc
+add eax, edx
+push eax
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048a390], eax ; mov dword [0x48a390], eax
+push 0x27
+push 0x4f
+push 0xa6
+push 0xb
+push 0
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+lea edx, [eax + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048a3b8] ; mov edx, dword [0x48a3b8]
+add edx, 0xc
+add eax, edx
+push eax
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048a398], eax ; mov dword [0x48a398], eax
+push 0x27
+push 0x4f
+push 0xa6
+push 0x63
+push 0
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+lea edx, [eax + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048a3b8] ; mov edx, dword [0x48a3b8]
+add edx, 0xc
+add eax, edx
+push eax
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048a394], eax ; mov dword [0x48a394], eax
+push 0x18
+push 0x17
+push 0xd8
+push 0x9d
+push 0
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+lea edx, [eax + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048a3b8] ; mov eax, dword [0x48a3b8]
+add eax, 0xc
+add eax, edx
+push eax
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048a39c], eax ; mov dword [0x48a39c], eax
+push 0x8001
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+mov ebx, dword [esp + 0x24]
+push ebx
+push fcn_00404e44 ; push 0x404e44
+call fcn_004018e7 ; call 0x4018e7
+mov ebx, eax
+add esp, 8
+mov dword [esp + 4], eax
+mov esi, dword [ref_0048a3b0] ; mov esi, dword [0x48a3b0]
+push esi
+call fcn_00450404 ; call 0x450404
+add esp, 4
+cmp ebx, 1
+jne near loc_004074c9 ; jne 0x4074c9
+mov eax, dword [ref_0046cb3c] ; mov eax, dword [0x46cb3c]
+add eax, 2
+mov dword [ref_00499114], eax ; mov dword [0x499114], eax
+xor edi, edi
+mov dword [ref_00499104], edi ; mov dword [0x499104], edi
+mov dword [ref_0049910c], edi ; mov dword [0x49910c], edi
+mov eax, dword [ref_0046cb40] ; mov eax, dword [0x46cb40]
+mov eax, dword [eax*4 + ref_0046cb94] ; mov eax, dword [eax*4 + 0x46cb94]
+mov dword [ref_0049908c], eax ; mov dword [0x49908c], eax
+push 0x3c
+push edi
+push ref_00499120 ; push 0x499120
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0x3c
+push edi
+push ref_0049915c ; push 0x49915c
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ebx, ebx
+
+loc_004071a5:
+mov al, byte [ebx*8 + ref_0047fdf6] ; mov al, byte [ebx*8 + 0x47fdf6]
+mov byte [ebx + ref_00499198], al ; mov byte [ebx + 0x499198], al
+inc ebx
+cmp ebx, 0x1e
+jl short loc_004071a5 ; jl 0x4071a5
+xor ebx, ebx
+
+loc_004071ba:
+mov al, byte [ebx*8 + ref_0047fee6] ; mov al, byte [ebx*8 + 0x47fee6]
+mov byte [ebx + ref_00497320], al ; mov byte [ebx + 0x497320], al
+inc ebx
+cmp ebx, 8
+jl short loc_004071ba ; jl 0x4071ba
+xor ebx, ebx
+jmp near loc_0040726f ; jmp 0x40726f
+
+loc_004071d4:
+xor eax, eax
+mov al, byte [esi + ref_00496b81] ; mov al, byte [esi + 0x496b81]
+mov dword [esp + 0xc], eax
+fild word [esp + 0xc]
+fild dword [ref_0049908c] ; fild dword [0x49908c]
+fdiv dword [ref_00463190] ; fdiv dword [0x463190]
+fmulp st1 ; fmulp st(1)
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+mov eax, dword [esp]
+mov dword [esi + ref_00496b84], eax ; mov dword [esi + 0x496b84], eax
+mov eax, dword [ref_0049908c] ; mov eax, dword [0x49908c]
+mov edx, dword [esi + ref_00496b84] ; mov edx, dword [esi + 0x496b84]
+sub eax, edx
+
+loc_00407210:
+mov dword [esi + ref_00496b88], eax ; mov dword [esi + 0x496b88], eax
+imul eax, ebx, 0x68
+mov dl, byte [ref_0046cb44] ; mov dl, byte [0x46cb44]
+mov byte [eax + ref_00496b79], dl ; mov byte [eax + 0x496b79], dl
+test dl, dl
+je short loc_00407236 ; je 0x407236
+mov al, dl
+and eax, 0xff
+dec byte [eax + ref_00497323] ; dec byte [eax + 0x497323]
+
+loc_00407236:
+mov dl, byte [ref_0046cb44] ; mov dl, byte [0x46cb44]
+inc dl
+imul eax, ebx, 0x68
+mov byte [eax + ref_00496b7a], dl ; mov byte [eax + 0x496b7a], dl
+test byte [eax + ref_00496bcc], 1 ; test byte [eax + 0x496bcc], 1
+je short loc_00407265 ; je 0x407265
+inc dword [ref_00499104] ; inc dword [0x499104]
+jmp short loc_00407265 ; jmp 0x407265
+
+loc_00407258:
+push 0x68
+push 0
+push ebp
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+
+loc_00407265:
+inc ebx
+cmp ebx, 4
+jge near loc_00407319 ; jge 0x407319
+
+loc_0040726f:
+imul esi, ebx, 0x68
+mov ebp, ref_00496b68 ; mov ebp, 0x496b68
+add ebp, esi
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00407258 ; jge 0x407258
+push 1
+push ebx
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+push 2
+push ebx
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+push 3
+push ebx
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+push 4
+push ebx
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+push 8
+push ebx
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+push 9
+push ebx
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+push 0x68
+mov edi, ebx
+shl edi, 2
+sub edi, ebx
+shl edi, 2
+mov eax, dword [edi + ref_0048a35c] ; mov eax, dword [edi + 0x48a35c]
+and eax, 0xff
+imul eax, eax, 0x68
+add eax, ref_0047e80c ; add eax, 0x47e80c
+push eax
+push ebp
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov eax, dword [edi + ref_0048a35c] ; mov eax, dword [edi + 0x48a35c]
+sar eax, 0x1f
+and eax, 1
+inc eax
+mov byte [esi + ref_00496bcc], al ; mov byte [esi + 0x496bcc], al
+test al, 1
+je near loc_004071d4 ; je 0x4071d4
+mov eax, dword [ref_0049908c] ; mov eax, dword [0x49908c]
+sar eax, 1
+mov dword [esi + ref_00496b84], eax ; mov dword [esi + 0x496b84], eax
+jmp near loc_00407210 ; jmp 0x407210
+
+loc_00407319:
+push 0x50
+push ref_0047ecec ; push 0x47ecec
+push ref_00498e28 ; push 0x498e28
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 8
+push 0
+push ref_00496b30 ; push 0x496b30
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 8
+push 0
+push ref_00496b60 ; push 0x496b60
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov dh, 1
+mov byte [ref_00496b34], dh ; mov byte [0x496b34], dh
+mov byte [ref_00496b35], dh ; mov byte [0x496b35], dh
+mov byte [ref_00496b66], dh ; mov byte [0x496b66], dh
+mov byte [ref_00496b67], dh ; mov byte [0x496b67], dh
+mov eax, dword [ref_0046cb44] ; mov eax, dword [0x46cb44]
+mov dword [ref_00499118], eax ; mov dword [0x499118], eax
+mov eax, dword [ref_0046cb48] ; mov eax, dword [0x46cb48]
+mov dword [ref_00499110], eax ; mov dword [0x499110], eax
+mov eax, dword [ref_0046cb4c] ; mov eax, dword [0x46cb4c]
+mov eax, dword [eax*4 + ref_0046cbe8] ; mov eax, dword [eax*4 + 0x46cbe8]
+mov dword [ref_0049911c], eax ; mov dword [0x49911c], eax
+mov eax, dword [ref_0046cb50] ; mov eax, dword [0x46cb50]
+mov edx, dword [ref_0049908c] ; mov edx, dword [0x49908c]
+mov eax, dword [eax*4 + ref_0046cc00] ; mov eax, dword [eax*4 + 0x46cc00]
+imul eax, edx
+mov dword [ref_00499108], eax ; mov dword [0x499108], eax
+mov ax, word [ref_0046cb54] ; mov ax, word [0x46cb54]
+mov word [ref_004991b8], ax ; mov word [0x4991b8], ax
+mov dword [ref_004990e8], 1 ; mov dword [0x4990e8], 1
+xor esi, esi
+mov dword [ref_004990e4], esi ; mov dword [0x4990e4], esi
+mov dword [ref_00499084], esi ; mov dword [0x499084], esi
+mov dword [ref_004990dc], esi ; mov dword [0x4990dc], esi
+mov dword [ref_004990ec], esi ; mov dword [0x4990ec], esi
+mov dword [ref_00499100], esi ; mov dword [0x499100], esi
+xor ebx, ebx
+jmp short loc_004073e8 ; jmp 0x4073e8
+
+loc_004073e2:
+inc ebx
+cmp ebx, 0xc
+jge short loc_0040740b ; jge 0x40740b
+
+loc_004073e8:
+xor edx, edx
+
+loc_004073ea:
+mov eax, ebx
+shl eax, 3
+lea ecx, [ebx + eax]
+shl ecx, 6
+mov eax, edx
+xor esi, esi
+mov dword [ecx + eax*4 + ref_00497328], esi ; mov dword [ecx + eax*4 + 0x497328], esi
+inc edx
+cmp edx, 0x90
+jl short loc_004073ea ; jl 0x4073ea
+jmp short loc_004073e2 ; jmp 0x4073e2
+
+loc_0040740b:
+push 0x1b0
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+add edx, eax
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0047f072 ; add eax, 0x47f072
+push eax
+push ref_00496980 ; push 0x496980
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+xor ebx, ebx
+mov dword [esp + 8], esi
+
+loc_0040744d:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+fld dword [esp + 8]
+fadd dword [eax*4 + ref_0049698c] ; fadd dword [eax*4 + 0x49698c]
+fstp dword [esp + 8]
+inc ebx
+cmp ebx, 0xc
+jl short loc_0040744d ; jl 0x40744d
+fld dword [esp + 8]
+fmul dword [ref_00463194] ; fmul dword [0x463194]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [ref_0049907c] ; fistp dword [0x49907c]
+push 0x150
+push 0
+push ref_004967e0 ; push 0x4967e0
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0x180
+push 0
+push ref_004971a0 ; push 0x4971a0
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0x24
+push 0
+push ref_004990b8 ; push 0x4990b8
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ebp, ebp
+mov dword [ref_00499080], ebp ; mov dword [0x499080], ebp
+call fcn_00448b81 ; call 0x448b81
+call fcn_0044baea ; call 0x44baea
+
+loc_004074c9:
+push ref_0046ccd0 ; push 0x46ccd0
+call fcn_00454240 ; call 0x454240
+add esp, 4
+mov eax, dword [ref_0048a390] ; mov eax, dword [0x48a390]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edx, dword [ref_0048a398] ; mov edx, dword [0x48a398]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ecx, dword [ref_0048a394] ; mov ecx, dword [0x48a394]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0048a39c] ; mov ebx, dword [0x48a39c]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+jmp short loc_0040751b ; jmp 0x40751b
+
+loc_00407515:
+inc ebx
+cmp ebx, 4
+jge short loc_0040753a ; jge 0x40753a
+
+loc_0040751b:
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov esi, dword [eax + ref_0048a364] ; mov esi, dword [eax + 0x48a364]
+test esi, esi
+je short loc_00407515 ; je 0x407515
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp short loc_00407515 ; jmp 0x407515
+
+loc_0040753a:
+xor ebx, ebx
+mov al, 2
+jmp short loc_0040754c ; jmp 0x40754c
+
+loc_00407540:
+mov byte [ebx + ref_004990f4], al ; mov byte [ebx + 0x4990f4], al
+
+loc_00407546:
+inc ebx
+cmp ebx, 0xc
+jge short loc_0040755f ; jge 0x40755f
+
+loc_0040754c:
+cmp byte [ebx + ref_004990f4], 4 ; cmp byte [ebx + 0x4990f4], 4
+je short loc_00407540 ; je 0x407540
+xor ah, ah
+mov byte [ebx + ref_004990f4], ah ; mov byte [ebx + 0x4990f4], ah
+jmp short loc_00407546 ; jmp 0x407546
+
+loc_0040755f:
+mov ebp, dword [ref_0048a3a0] ; mov ebp, dword [0x48a3a0]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048a3a4] ; mov eax, dword [0x48a3a4]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edx, dword [ref_0048a3c0] ; mov edx, dword [0x48a3c0]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ecx, dword [ref_0048a3b8] ; mov ecx, dword [0x48a3b8]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0048a358] ; mov ebx, dword [0x48a358]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048a354] ; mov esi, dword [0x48a354]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [esp + 4]
+jmp near loc_004044fc ; jmp 0x4044fc
+
+fcn_004075c1:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+mov byte [eax + ref_004990f0], 1 ; mov byte [eax + 0x4990f0], 1
+push ref_00463187 ; push 0x463187
+call fcn_004502fe ; call 0x4502fe
+add esp, 4
+mov dword [ref_0048a3b0], eax ; mov dword [0x48a3b0], eax
+push 0
+push 0
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+shl edx, 2
+movsx ecx, word [ref_004991b8] ; movsx ecx, word [0x4991b8]
+add edx, ecx
+push edx
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a354], eax ; mov dword [0x48a354], eax
+push 0
+push 0
+push 8
+mov edx, dword [ref_0048a3b0] ; mov edx, dword [0x48a3b0]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a3b8], eax ; mov dword [0x48a3b8], eax
+mov ecx, dword [ref_0048a3b0] ; mov ecx, dword [0x48a3b0]
+push ecx
+call fcn_00450404 ; call 0x450404
+add esp, 4
+xor ebx, ebx
+mov esi, dword [ref_00499114] ; mov esi, dword [0x499114]
+
+loc_0040763f:
+cmp ebx, esi
+jge short loc_00407652 ; jge 0x407652
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+jne short loc_00407652 ; jne 0x407652
+inc ebx
+jmp short loc_0040763f ; jmp 0x40763f
+
+loc_00407652:
+imul ebx, ebx, 0x68
+movzx ebp, byte [ebx + ref_00496b7b] ; movzx ebp, byte [ebx + 0x496b7b]
+push 0
+push 0
+lea eax, [ebp + 0x64]
+push eax
+mov edi, dword [ref_0048a05c] ; mov edi, dword [0x48a05c]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a3bc], eax ; mov dword [0x48a3bc], eax
+push 0
+push 0
+push 0x5d
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a38c], eax ; mov dword [0x48a38c], eax
+cmp word [ref_004991b6], 0 ; cmp word [0x4991b6], 0
+je short loc_004076a2 ; je 0x4076a2
+mov esi, 0x14
+jmp short loc_004076a7 ; jmp 0x4076a7
+
+loc_004076a2:
+mov esi, 0xf
+
+loc_004076a7:
+xor ebx, ebx
+xor edi, edi
+jmp short loc_004076b3 ; jmp 0x4076b3
+
+loc_004076ad:
+inc ebx
+cmp ebx, 4
+jge short loc_00407726 ; jge 0x407726
+
+loc_004076b3:
+cmp byte [ebx + ref_004990f0], 0 ; cmp byte [ebx + 0x4990f0], 0
+je short loc_004076ad ; je 0x4076ad
+push 0x16
+push 0x20
+mov ecx, dword [ref_0048a3b8] ; mov ecx, dword [0x48a3b8]
+lea eax, [ecx + 0x84]
+push eax
+lea eax, [ebx + esi]
+lea edx, [eax - 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 3
+add eax, 0x1c
+push eax
+push 0xdc
+mov edx, dword [ref_0048a3b8] ; mov edx, dword [0x48a3b8]
+lea eax, [edx + 0x84]
+push eax
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 2
+add edx, 0xc
+add eax, edx
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+inc edi
+jmp short loc_004076ad ; jmp 0x4076ad
+
+loc_00407726:
+cmp edi, 4
+jge short loc_0040778f ; jge 0x40778f
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x96000
+mov edx, dword [ref_0048a354] ; mov edx, dword [0x48a354]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0x8006
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_004060e9 ; push 0x4060e9
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454acb ; call 0x454acb
+jmp short loc_004077fe ; jmp 0x4077fe
+
+loc_0040778f:
+cmp word [ref_004991b6], 0 ; cmp word [0x4991b6], 0
+je short loc_004077cf ; je 0x4077cf
+inc ebp
+push ebp
+push ref_00463198 ; push 0x463198
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push ref_0046cadc ; push 0x46cadc
+lea eax, [esp + 8]
+push eax
+call fcn_00451677 ; call 0x451677
+add esp, 0xc
+push 0
+push ref_0046cadc ; push 0x46cadc
+push ref_004631a4 ; push 0x4631a4
+jmp short loc_004077ef ; jmp 0x4077ef
+
+loc_004077cf:
+push 0
+push ref_0046cadc ; push 0x46cadc
+push ref_004631af ; push 0x4631af
+call fcn_00451677 ; call 0x451677
+add esp, 0xc
+push 0
+push ref_0046cadc ; push 0x46cadc
+push ref_004631b7 ; push 0x4631b7
+
+loc_004077ef:
+call fcn_00451677 ; call 0x451677
+add esp, 0xc
+mov byte [ref_0046caf9], 1 ; mov byte [0x46caf9], 1
+
+loc_004077fe:
+mov ebx, dword [ref_0048a354] ; mov ebx, dword [0x48a354]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048a3b8] ; mov esi, dword [0x48a3b8]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0048a3bc] ; mov edi, dword [0x48a3bc]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048a38c] ; mov ebp, dword [0x48a38c]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00407842:
+push ebx
+push esi
+push edi
+push ebp
+push 0
+push 0
+push 0x70
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048a3a8], eax ; mov dword [0x48a3a8], eax
+mov ecx, dword [esp + 0x14]
+test ecx, ecx
+jne near loc_00407912 ; jne 0x407912
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push ecx
+push 1
+push ref_0048a068 ; push 0x48a068
+push ecx
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a078] ; mov eax, dword [0x48a078]
+sar eax, 1
+mov word [ref_0046caec], ax ; mov word [0x46caec], ax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x1b8
+push 0x1b8
+push 0x28
+push 0
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+mov ebx, eax
+add esp, 0x18
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov word [ref_0046caec], 0x280 ; mov word [0x46caec], 0x280
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x28
+push 0
+push ebx
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_00407912:
+push 0
+push fcn_00406b14 ; push 0x406b14
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+test eax, eax
+je near loc_004079de ; je 0x4079de
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ebp, dword [edx + eax*8 + ref_004808b2] ; mov ebp, dword [edx + eax*8 + 0x4808b2]
+push ebp
+push 3
+mov eax, edi
+or ah, 0x80
+push eax
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov eax, dword [esp + 0x14]
+test eax, eax
+jne short loc_004079a9 ; jne 0x4079a9
+push eax
+push eax
+push 0x22c
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+xor ecx, ecx
+mov dword [ref_00475110], ecx ; mov dword [0x475110], ecx
+push 0x65
+push 1
+push 0x28
+push ecx
+push ebx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_004079a9:
+mov eax, 1
+
+loc_004079ae:
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jge short loc_004079d0 ; jge 0x4079d0
+imul edx, eax, 0x68
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+xor bl, bl
+mov byte [edx + ref_004990f4], bl ; mov byte [edx + 0x4990f4], bl
+inc eax
+jmp short loc_004079ae ; jmp 0x4079ae
+
+loc_004079d0:
+mov byte [ref_00496b7d], 1 ; mov byte [0x496b7d], 1
+mov ebx, 4
+jmp short loc_004079e3 ; jmp 0x4079e3
+
+loc_004079de:
+mov ebx, 1
+
+loc_004079e3:
+mov esi, dword [ref_0048a3a8] ; mov esi, dword [0x48a3a8]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, ebx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004079f9:
+push ebx
+push esi
+xor eax, eax
+mov ebx, dword [esp + 0xc]
+mov bx, word [ebx]
+mov edx, dword [esp + 0x10]
+mov dx, word [edx]
+movsx esi, bx
+movsx ecx, dx
+cmp esi, ecx
+jle short loc_00407a1a ; jle 0x407a1a
+mov eax, 1
+
+loc_00407a1a:
+movsx ecx, bx
+movsx edx, dx
+cmp ecx, edx
+jge short loc_00407a29 ; jge 0x407a29
+mov eax, 0xffffffff
+
+loc_00407a29:
+pop esi
+pop ebx
+ret
+
+fcn_00407a2c:
+push ebx
+push esi
+mov edx, dword [esp + 0xc]
+and edx, 0x1f
+mov ebx, dword [esp + 0x10]
+and ebx, 0x1f
+mov eax, dword [ref_00499088] ; mov eax, dword [0x499088]
+movsx ecx, byte [eax*4 + ref_00474910] ; movsx ecx, byte [eax*4 + 0x474910]
+imul ecx, edx
+sar ecx, 5
+movsx esi, byte [eax*4 + ref_00474912] ; movsx esi, byte [eax*4 + 0x474912]
+imul esi, ebx
+sar esi, 5
+add ecx, esi
+movsx esi, byte [eax*4 + ref_00474911] ; movsx esi, byte [eax*4 + 0x474911]
+imul edx, esi
+sar edx, 5
+movsx eax, byte [eax*4 + ref_00474913] ; movsx eax, byte [eax*4 + 0x474913]
+imul eax, ebx
+sar eax, 5
+add edx, eax
+mov eax, dword [esp + 0x14]
+mov dword [eax], ecx
+mov eax, dword [esp + 0x18]
+mov dword [eax], edx
+pop esi
+pop ebx
+ret
+
+fcn_00407a8c:
+push ebx
+mov edx, dword [esp + 8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+lea edx, [ebx + eax]
+mov ecx, dword [esp + 0xc]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+shl eax, 3
+add eax, ebx
+movsx ebx, word [eax]
+movsx ecx, word [edx]
+sub ebx, ecx
+movsx ecx, word [eax + 2]
+movsx eax, word [edx + 2]
+sub ecx, eax
+push ecx
+push ebx
+call fcn_00454fb4 ; call 0x454fb4
+add esp, 8
+pop ebx
+ret
+
+fcn_00407ad2:
+push ebx
+push esi
+push edi
+push ebp
+call fcn_004080f5 ; call 0x4080f5
+push ref_004631c0 ; push 0x4631c0
+call fcn_004502fe ; call 0x4502fe
+mov ebx, eax
+add esp, 4
+mov edi, eax
+push 0
+push 0
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+shl edx, 2
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+add eax, edx
+add eax, eax
+push eax
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_00474945], eax ; mov dword [0x474945], eax
+push 0
+push 0
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+add eax, edx
+add eax, 0x10
+push eax
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048badc], eax ; mov dword [0x48badc], eax
+push 0
+push 0
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+add eax, edx
+add eax, 0x10
+push eax
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bad0], eax ; mov dword [0x48bad0], eax
+push 0x200
+mov eax, dword [ref_00474945] ; mov eax, dword [0x474945]
+add eax, 0x10
+push eax
+push ref_0048b6b4 ; push 0x48b6b4
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov eax, dword [ref_00474945] ; mov eax, dword [0x474945]
+lea edx, [eax + 0x210]
+mov dword [ref_0048bac4], edx ; mov dword [0x48bac4], edx
+add eax, 0x2a90
+mov dword [ref_0048bacc], eax ; mov dword [0x48bacc], eax
+push 0
+push 0
+push 0x18
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_00474949], eax ; mov dword [0x474949], eax
+push 0
+push 0
+push 0x1a
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0047494d], eax ; mov dword [0x47494d], eax
+cmp dword [ref_0047493c], 0 ; cmp dword [0x47493c], 0
+jne near loc_00407e0b ; jne 0x407e0b
+push ref_004631c8 ; push 0x4631c8
+call fcn_004502fe ; call 0x4502fe
+mov esi, eax
+add esp, 4
+cmp eax, 0xffffffff
+je short loc_00407c16 ; je 0x407c16
+push 0
+push 0
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+add eax, edx
+push eax
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0047493c], eax ; mov dword [0x47493c], eax
+push esi
+call fcn_00450404 ; call 0x450404
+add esp, 4
+jmp short loc_00407c3f ; jmp 0x407c3f
+
+loc_00407c16:
+push 0
+push 0
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+add eax, edx
+add eax, eax
+inc eax
+push eax
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0047493c], eax ; mov dword [0x47493c], eax
+
+loc_00407c3f:
+mov eax, dword [ref_0047493c] ; mov eax, dword [0x47493c]
+mov edx, dword [eax]
+mov dword [ref_00498e9c], edx ; mov dword [0x498e9c], edx
+mov edx, dword [eax + 4]
+lea ebx, [eax + edx]
+mov dword [ref_00498e80], ebx ; mov dword [0x498e80], ebx
+mov edx, dword [eax + 8]
+mov dword [ref_00498e98], edx ; mov dword [0x498e98], edx
+mov edx, dword [eax + 0xc]
+lea ebx, [eax + edx]
+mov dword [ref_00498e84], ebx ; mov dword [0x498e84], ebx
+mov edx, dword [eax + 0x10]
+mov dword [ref_00498e8c], edx ; mov dword [0x498e8c], edx
+mov edx, dword [eax + 0x14]
+lea ebx, [eax + edx]
+mov dword [ref_00498e88], ebx ; mov dword [0x498e88], ebx
+mov edx, dword [eax + 0x18]
+mov dword [ref_00498e90], edx ; mov dword [0x498e90], edx
+mov edx, dword [eax + 0x1c]
+lea ebx, [eax + edx]
+mov dword [ref_00498e7c], ebx ; mov dword [0x498e7c], ebx
+mov edx, dword [eax + 0x20]
+mov dword [ref_00499074], edx ; mov dword [0x499074], edx
+mov edx, dword [eax + 0x24]
+lea ebx, [eax + edx]
+mov dword [ref_00498e78], ebx ; mov dword [0x498e78], ebx
+mov edx, dword [ref_00499074] ; mov edx, dword [0x499074]
+shl edx, 2
+mov ebx, edx
+shl edx, 3
+sub edx, ebx
+mov ebx, dword [ref_00498e78] ; mov ebx, dword [0x498e78]
+add edx, ebx
+add edx, 0x1c
+sub edx, eax
+mov dword [ref_00498e94], edx ; mov dword [0x498e94], edx
+xor ebx, ebx
+
+loc_00407cd1:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00407d3a ; jge 0x407d3a
+push 0x2718
+push 0
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov esi, eax
+shl eax, 3
+add esi, eax
+mov eax, ref_0048cb80 ; mov eax, 0x48cb80
+add eax, esi
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov ebp, dword [ref_00498e94] ; mov ebp, dword [0x498e94]
+push ebp
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov dword [esi + ref_0048f294], eax ; mov dword [esi + 0x48f294], eax
+mov eax, dword [ref_00498e94] ; mov eax, dword [0x498e94]
+push eax
+push 0
+mov edx, dword [esi + ref_0048f294] ; mov edx, dword [esi + 0x48f294]
+push edx
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+inc ebx
+jmp short loc_00407cd1 ; jmp 0x407cd1
+
+loc_00407d3a:
+push 0x450
+push 0
+push ref_00496d08 ; push 0x496d08
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ebx, ebx
+
+loc_00407d50:
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov dl, byte [ebx + ref_0047ed3c] ; mov dl, byte [ebx + 0x47ed3c]
+mov byte [eax*8 + ref_00496d08], dl ; mov byte [eax*8 + 0x496d08], dl
+inc ebx
+cmp ebx, 0x2e
+jl short loc_00407d50 ; jl 0x407d50
+mov ebx, 1
+
+loc_00407d6f:
+push 0
+push 0
+push 0
+call fcn_0040aa6c ; call 0x40aa6c
+add esp, 4
+push eax
+push ebx
+call fcn_0040e033 ; call 0x40e033
+add esp, 0x10
+add ebx, 2
+cmp ebx, 0xb
+jle short loc_00407d6f ; jle 0x407d6f
+push 0
+push 0
+push 0
+call fcn_0040aa6c ; call 0x40aa6c
+add esp, 4
+push eax
+push 0xd
+call fcn_0040e033 ; call 0x40e033
+add esp, 0x10
+push 0
+push 0
+push 0
+call fcn_0040aa6c ; call 0x40aa6c
+add esp, 4
+push eax
+push 0xe
+call fcn_0040e033 ; call 0x40e033
+add esp, 0x10
+mov ebx, 1
+
+loc_00407dc6:
+cmp ebx, dword [ref_00498e90] ; cmp ebx, dword [0x498e90]
+jg short loc_00407dfe ; jg 0x407dfe
+imul esi, ebx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add esi, eax
+xor edx, edx
+mov dl, byte [esi + 0x19]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov ax, word [eax*4 + ref_00496988] ; mov ax, word [eax*4 + 0x496988]
+and eax, 0xffff
+mov edx, 0x2710
+sub edx, eax
+mov dword [esi + 0x30], edx
+inc ebx
+jmp short loc_00407dc6 ; jmp 0x407dc6
+
+loc_00407dfe:
+call fcn_0042915a ; call 0x42915a
+xor ebx, ebx
+mov dword [ref_00499088], ebx ; mov dword [0x499088], ebx
+
+loc_00407e0b:
+xor ebx, ebx
+
+loc_00407e0d:
+push 0
+push 0
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+lea esi, [edx + eax]
+mov eax, esi
+shl eax, 2
+add eax, esi
+add eax, ebx
+add eax, 0x27
+push eax
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx*4 + ref_0048ae4c], eax ; mov dword [ebx*4 + 0x48ae4c], eax
+inc ebx
+cmp ebx, 5
+jl short loc_00407e0d ; jl 0x407e0d
+push 0
+push 0
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+add edx, 0x4f
+add eax, edx
+push eax
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048ae60], eax ; mov dword [0x48ae60], eax
+cmp word [ref_004991b6], 0 ; cmp word [0x4991b6], 0
+jne short loc_00407e9d ; jne 0x407e9d
+xor ebx, ebx
+
+loc_00407e7d:
+push 0
+push 0
+lea eax, [ebx + 0x57]
+push eax
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx*4 + ref_0048ae64], eax ; mov dword [ebx*4 + 0x48ae64], eax
+inc ebx
+cmp ebx, 0x11
+jl short loc_00407e7d ; jl 0x407e7d
+jmp short loc_00407ece ; jmp 0x407ece
+
+loc_00407e9d:
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+mov eax, edx
+shl eax, 4
+add eax, edx
+lea esi, [eax + 0x68]
+xor ebx, ebx
+
+loc_00407eb0:
+push 0
+push 0
+lea eax, [esi + ebx]
+push eax
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx*4 + ref_0048ae64], eax ; mov dword [ebx*4 + 0x48ae64], eax
+inc ebx
+cmp ebx, 0x11
+jl short loc_00407eb0 ; jl 0x407eb0
+
+loc_00407ece:
+mov ebx, 1
+
+loc_00407ed3:
+cmp ebx, dword [ref_00498e90] ; cmp ebx, dword [0x498e90]
+jg short loc_00407f17 ; jg 0x407f17
+imul eax, ebx, 0x34
+mov edx, dword [ref_00498e7c] ; mov edx, dword [0x498e7c]
+mov ax, word [edx + eax + 0x20]
+and eax, 0xffff
+je short loc_00407f14 ; je 0x407f14
+mov esi, eax
+shl esi, 2
+mov ebp, dword [esi + ref_0048ae4c] ; mov ebp, dword [esi + 0x48ae4c]
+test ebp, ebp
+jne short loc_00407f14 ; jne 0x407f14
+push ebp
+push ebp
+add eax, 0x26
+push eax
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [esi + ref_0048ae4c], eax ; mov dword [esi + 0x48ae4c], eax
+
+loc_00407f14:
+inc ebx
+jmp short loc_00407ed3 ; jmp 0x407ed3
+
+loc_00407f17:
+mov ebx, 1
+
+loc_00407f1c:
+cmp ebx, dword [ref_00499074] ; cmp ebx, dword [0x499074]
+jg short loc_00407f68 ; jg 0x407f68
+mov eax, ebx
+shl eax, 2
+mov edx, eax
+shl edx, 3
+sub edx, eax
+mov eax, dword [ref_00498e78] ; mov eax, dword [0x498e78]
+mov ax, word [edx + eax + 0x1a]
+and eax, 0xffff
+je short loc_00407f65 ; je 0x407f65
+mov esi, eax
+shl esi, 2
+mov edx, dword [esi + ref_0048ae4c] ; mov edx, dword [esi + 0x48ae4c]
+test edx, edx
+jne short loc_00407f65 ; jne 0x407f65
+push edx
+push edx
+add eax, 0x26
+push eax
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [esi + ref_0048ae4c], eax ; mov dword [esi + 0x48ae4c], eax
+
+loc_00407f65:
+inc ebx
+jmp short loc_00407f1c ; jmp 0x407f1c
+
+loc_00407f68:
+push 0
+push 0
+push 0x19
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048aea8], eax ; mov dword [0x48aea8], eax
+push 0x1d4
+push 0
+push ref_00498ea0 ; push 0x498ea0
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ebx, ebx
+jmp short loc_00407f9e ; jmp 0x407f9e
+
+loc_00407f94:
+inc ebx
+cmp ebx, 9
+jge near loc_0040801a ; jge 0x40801a
+
+loc_00407f9e:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00407fff ; jge 0x407fff
+push 0
+push 0
+imul esi, ebx, 0x68
+xor eax, eax
+mov al, byte [esi + ref_00496b7b] ; mov al, byte [esi + 0x496b7b]
+add eax, 0x1b
+push eax
+push edi
+call fcn_00450441 ; call 0x450441
+mov edx, eax
+add esp, 0x10
+imul eax, ebx, 0x34
+mov dword [eax + ref_00498eb0], edx ; mov dword [eax + 0x498eb0], edx
+cmp byte [esi + ref_00496b7d], 0 ; cmp byte [esi + 0x496b7d], 0
+jne short loc_00407fff ; jne 0x407fff
+cmp byte [esi + ref_00496bcc], 0 ; cmp byte [esi + 0x496bcc], 0
+jne short loc_00407fff ; jne 0x407fff
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+movsx edx, word [eax + 0xe]
+push edx
+movsx edx, word [eax + 0xc]
+push edx
+push 0
+push 0
+add eax, 0xc
+push eax
+call fcn_004553fe ; call 0x4553fe
+add esp, 0x14
+
+loc_00407fff:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jl short loc_0040800c ; jl 0x40800c
+cmp ebx, 4
+jl short loc_00407f94 ; jl 0x407f94
+
+loc_0040800c:
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+jmp near loc_00407f94 ; jmp 0x407f94
+
+loc_0040801a:
+push edi
+call fcn_00450404 ; call 0x450404
+add esp, 4
+mov ebx, 1
+mov edi, dword [ref_00498e9c] ; mov edi, dword [0x498e9c]
+
+loc_0040802e:
+cmp ebx, edi
+jg short loc_00408072 ; jg 0x408072
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+cmp word [edx + eax*8 + 0x20], 0x1f41
+jne short loc_0040804f ; jne 0x40804f
+mov word [ref_0048bae2], bx ; mov word [0x48bae2], bx
+
+loc_0040804f:
+mov eax, ebx
+shl eax, 2
+lea edx, [ebx + eax]
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+cmp word [edx + eax + 0x20], 0x1f42
+jne short loc_0040806f ; jne 0x40806f
+mov word [ref_0048bae0], bx ; mov word [0x48bae0], bx
+
+loc_0040806f:
+inc ebx
+jmp short loc_0040802e ; jmp 0x40802e
+
+loc_00408072:
+call fcn_00428caf ; call 0x428caf
+push 0
+push 0
+push 0x205
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bad8], eax ; mov dword [0x48bad8], eax
+push 0
+push 0
+push 0x207
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bad4], eax ; mov dword [0x48bad4], eax
+xor ebx, ebx
+
+loc_004080b2:
+push 0
+push 0
+lea eax, [ebx + 0x18c]
+push eax
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx*4 + ref_00496930], eax ; mov dword [ebx*4 + 0x496930], eax
+inc ebx
+cmp ebx, 0x14
+jl short loc_004080b2 ; jl 0x4080b2
+push ref_0048234a ; push 0x48234a
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004080f5:
+push ebx
+push esi
+push edi
+push ebp
+mov edx, dword [ref_00474945] ; mov edx, dword [0x474945]
+test edx, edx
+je near loc_0040825c ; je 0x40825c
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0048badc] ; mov ebx, dword [0x48badc]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048bad0] ; mov esi, dword [0x48bad0]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0047493c] ; mov edi, dword [0x47493c]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_00474949] ; mov ebp, dword [0x474949]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0047494d] ; mov eax, dword [0x47494d]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+jmp short loc_00408167 ; jmp 0x408167
+
+loc_0040815e:
+inc ebx
+cmp ebx, 0x118
+jge short loc_00408189 ; jge 0x408189
+
+loc_00408167:
+mov esi, ebx
+shl esi, 2
+mov edx, dword [esi + ref_0048ae4c] ; mov edx, dword [esi + 0x48ae4c]
+test edx, edx
+je short loc_0040815e ; je 0x40815e
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor edi, edi
+mov dword [esi + ref_0048ae4c], edi ; mov dword [esi + 0x48ae4c], edi
+jmp short loc_0040815e ; jmp 0x40815e
+
+loc_00408189:
+mov ebp, dword [ref_0048bad8] ; mov ebp, dword [0x48bad8]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048bad4] ; mov eax, dword [0x48bad4]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+
+loc_004081a8:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0040820c ; jge 0x40820c
+imul esi, ebx, 0x34
+mov ecx, dword [esi + ref_00498eb0] ; mov ecx, dword [esi + 0x498eb0]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor edi, edi
+mov dword [esi + ref_00498eb0], edi ; mov dword [esi + 0x498eb0], edi
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov esi, eax
+shl eax, 3
+add esi, eax
+mov ebp, dword [esi + ref_0048f294] ; mov ebp, dword [esi + 0x48f294]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x2718
+push edi
+add esi, ref_0048cb80 ; add esi, 0x48cb80
+push esi
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+inc ebx
+jmp short loc_004081a8 ; jmp 0x4081a8
+
+loc_0040820c:
+xor ebx, ebx
+
+loc_0040820e:
+mov edx, dword [ebx*4 + ref_00496930] ; mov edx, dword [ebx*4 + 0x496930]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+inc ebx
+cmp ebx, 0x14
+jl short loc_0040820e ; jl 0x40820e
+call fcn_0040c03b ; call 0x40c03b
+push ref_0048234a ; push 0x48234a
+call fcn_00454240 ; call 0x454240
+add esp, 4
+xor ecx, ecx
+mov dword [ref_00474945], ecx ; mov dword [0x474945], ecx
+mov dword [ref_0048badc], ecx ; mov dword [0x48badc], ecx
+mov dword [ref_0048bad0], ecx ; mov dword [0x48bad0], ecx
+mov dword [ref_0047493c], ecx ; mov dword [0x47493c], ecx
+mov dword [ref_00474949], ecx ; mov dword [0x474949], ecx
+mov dword [ref_0047494d], ecx ; mov dword [0x47494d], ecx
+
+loc_0040825c:
+xor edx, edx
+mov dword [ref_00475114], edx ; mov dword [0x475114], edx
+mov dword [ref_0048be18], edx ; mov dword [0x48be18], edx
+mov dword [ref_0048be1c], edx ; mov dword [0x48be1c], edx
+mov dword [ref_0048be20], edx ; mov dword [0x48be20], edx
+mov dword [ref_00474930], edx ; mov dword [0x474930], edx
+mov dword [ref_00474934], edx ; mov dword [0x474934], edx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00408287:
+db 0x8b
+db 0xc0
+
+ref_00408289: ; may contain a jump table
+dd fcn_00409419
+dd fcn_00409426
+dd fcn_00409434
+dd fcn_00409442
+dd fcn_00409449
+
+fcn_0040829d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x5c
+mov eax, dword [esp + 0x70]
+mov edx, dword [esp + 0x74]
+cmp eax, 0xffffffff
+jne short loc_004082bc ; jne 0x4082bc
+mov eax, dword [ref_0048b2ac] ; mov eax, dword [0x48b2ac]
+mov edx, dword [ref_0048b2b0] ; mov edx, dword [0x48b2b0]
+
+loc_004082bc:
+cmp dword [ref_0049910c], 4 ; cmp dword [0x49910c], 4
+jge near loc_004083a3 ; jge 0x4083a3
+test eax, eax
+jne near loc_004083a3 ; jne 0x4083a3
+test edx, edx
+jne near loc_004083a3 ; jne 0x4083a3
+call fcn_0040aa0f ; call 0x40aa0f
+mov ebx, eax
+shl eax, 2
+add eax, ebx
+shl eax, 3
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+add edx, eax
+mov dword [esp + 0x48], edx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov word [eax + ref_00496b74], bx ; mov word [eax + 0x496b74], bx
+xor ebx, ebx
+xor edi, edi
+mov ebp, dword [esp + 0x48]
+jmp short loc_00408312 ; jmp 0x408312
+
+loc_0040830c:
+inc ebx
+cmp ebx, 4
+jge short loc_00408328 ; jge 0x408328
+
+loc_00408312:
+lea esi, [ebx + ebx]
+add esi, ebp
+mov dx, word [esi + 0x18]
+test dx, dx
+je short loc_0040830c ; je 0x40830c
+mov word [esp + edi*2 + 0x10], dx
+inc edi
+jmp short loc_0040830c ; jmp 0x40830c
+
+loc_00408328:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv edi
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dx, word [esp + edx*2 + 0x10]
+mov word [eax + ref_00496b76], dx ; mov word [eax + 0x496b76], dx
+xor edx, edx
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+push edx
+mov ax, word [eax + ref_00496b76] ; mov ax, word [eax + 0x496b76]
+and eax, 0xffff
+push eax
+call fcn_00407a8c ; call 0x407a8c
+add esp, 8
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul edx, ebx, 0x68
+mov byte [edx + ref_00496b78], al ; mov byte [edx + 0x496b78], al
+mov eax, dword [esp + 0x48]
+movsx eax, word [eax]
+mov edx, dword [esp + 0x48]
+movsx edx, word [edx + 2]
+lea ecx, [ebx + 1]
+mov dword [ref_00475114], ecx ; mov dword [0x475114], ecx
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+mov ebx, 0x100
+shl ebx, cl
+mov ecx, ebx
+mov ebx, dword [esp + 0x48]
+or dword [ebx + 0x24], ecx
+
+loc_004083a3:
+mov dword [ref_0048b2ac], eax ; mov dword [0x48b2ac], eax
+mov dword [ref_0048b2b0], edx ; mov dword [0x48b2b0], edx
+mov ecx, eax
+sar ecx, 5
+mov dword [esp + 0x50], ecx
+mov ecx, edx
+sar ecx, 5
+mov dword [esp + 0x4c], ecx
+lea ecx, [esp + 0x20]
+push ecx
+lea ecx, [esp + 0x38]
+push ecx
+push edx
+push eax
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+xor edi, edi
+mov dword [ref_0048bac8], edi ; mov dword [0x48bac8], edi
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+add dword [esp + 0x34], 0xdc
+add dword [esp + 0x20], 0x104
+mov edx, dword [eax]
+push edi
+push 1
+push ref_0048a068 ; push 0x48a068
+push edi
+push eax
+call dword [edx + 0x64] ; ucall
+xor ebx, ebx
+jmp short loc_00408429 ; jmp 0x408429
+
+loc_00408404:
+mov esi, ref_0048b2b4 ; mov esi, 0x48b2b4
+
+loc_00408409:
+mov eax, esp
+push eax
+push esi
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004557a1 ; call 0x4557a1
+add esp, 0xc
+inc ebx
+cmp ebx, 0x130
+jge near loc_0040855f ; jge 0x40855f
+
+loc_00408429:
+mov edi, dword [ref_00499088] ; mov edi, dword [0x499088]
+mov esi, edi
+shl esi, 2
+add esi, edi
+shl esi, 2
+sub esi, edi
+shl esi, 5
+lea eax, [ebx + ebx]
+add esi, eax
+movsx ebp, byte [esi + ref_00473610] ; movsx ebp, byte [esi + 0x473610]
+cmp ebp, 0xffffff80
+je near loc_0040855f ; je 0x40855f
+movsx eax, byte [esi + ref_00473611] ; movsx eax, byte [esi + 0x473611]
+mov dword [esp + 0x2c], eax
+lea edx, [eax + 0xe]
+lea edi, [ebp + 0xe]
+imul ecx, dword [ref_00499088], 0xd24 ; imul ecx, dword [0x499088], 0xd24
+imul eax, edi, 0x74
+add eax, ecx
+shl edx, 2
+lea esi, [eax + edx]
+mov ax, word [esi + ref_0046ccf2] ; mov ax, word [esi + 0x46ccf2]
+add eax, dword [esp + 0x34]
+mov word [esp + 2], ax
+mov ax, word [esi + ref_0046ccf0] ; mov ax, word [esi + 0x46ccf0]
+add eax, dword [esp + 0x20]
+mov word [esp], ax
+mov ax, word [esi + ref_0046ccf6] ; mov ax, word [esi + 0x46ccf6]
+add eax, dword [esp + 0x34]
+mov word [esp + 6], ax
+mov ax, word [esi + ref_0046ccf4] ; mov ax, word [esi + 0x46ccf4]
+mov esi, dword [esp + 0x20]
+add eax, esi
+mov word [esp + 4], ax
+inc edi
+imul edi, edi, 0x74
+add ecx, edi
+lea esi, [ecx + edx]
+mov ax, word [esi + ref_0046ccf6] ; mov ax, word [esi + 0x46ccf6]
+mov edi, dword [esp + 0x34]
+add eax, edi
+mov word [esp + 0xa], ax
+mov ax, word [esi + ref_0046ccf4] ; mov ax, word [esi + 0x46ccf4]
+mov edx, dword [esp + 0x20]
+add eax, edx
+mov word [esp + 8], ax
+mov ax, word [esi + ref_0046ccf2] ; mov ax, word [esi + 0x46ccf2]
+add eax, edi
+mov word [esp + 0xe], ax
+mov ax, word [esi + ref_0046ccf0] ; mov ax, word [esi + 0x46ccf0]
+add eax, edx
+mov word [esp + 0xc], ax
+mov edi, dword [esp + 0x50]
+add edi, dword [esp + 0x2c]
+mov esi, dword [esp + 0x4c]
+add esi, ebp
+test edi, edi
+jl near loc_00408404 ; jl 0x408404
+cmp edi, 0x48
+jge near loc_00408404 ; jge 0x408404
+test esi, esi
+jl near loc_00408404 ; jl 0x408404
+cmp esi, 0x48
+jge near loc_00408404 ; jge 0x408404
+mov eax, esi
+shl esi, 3
+add esi, eax
+shl esi, 3
+add edi, esi
+mov eax, dword [ref_0048bac4] ; mov eax, dword [0x48bac4]
+mov di, word [eax + edi*2]
+mov esi, edi
+and esi, 0xffff
+shl esi, 0xa
+mov eax, dword [ref_0048bacc] ; mov eax, dword [0x48bacc]
+add esi, eax
+jmp near loc_00408409 ; jmp 0x408409
+
+loc_0040855f:
+mov ebx, 1
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, 0x28
+mov dword [esp + 0x48], eax
+
+loc_00408570:
+cmp ebx, dword [ref_00498e9c] ; cmp ebx, dword [0x498e9c]
+jg near loc_00408662 ; jg 0x408662
+mov eax, dword [esp + 0x48]
+cmp word [eax + 0x22], 0
+je near loc_00408657 ; je 0x408657
+movsx ebp, word [eax]
+mov eax, ebp
+sar eax, 5
+sub eax, dword [esp + 0x50]
+lea esi, [eax + 0xe]
+mov eax, dword [esp + 0x48]
+movsx eax, word [eax + 2]
+mov edx, eax
+sar edx, 5
+sub edx, dword [esp + 0x4c]
+lea edi, [edx + 0xe]
+test esi, esi
+jl near loc_00408657 ; jl 0x408657
+cmp esi, 0x1c
+jg near loc_00408657 ; jg 0x408657
+test edi, edi
+jl near loc_00408657 ; jl 0x408657
+cmp edi, 0x1c
+jg near loc_00408657 ; jg 0x408657
+lea edx, [esp + 0x28]
+push edx
+lea edx, [esp + 0x28]
+push edx
+push eax
+push ebp
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul edi, edi, 0x74
+add eax, edi
+shl esi, 2
+add esi, eax
+movsx eax, word [esi + ref_0046ccf2] ; movsx eax, word [esi + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [esi + ref_0046ccf0] ; movsx eax, word [esi + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+push edx
+mov edi, dword [esp + 0x34]
+push edi
+xor eax, eax
+mov edx, dword [esp + 0x50]
+mov ax, word [edx + 0x22]
+dec eax
+mov esi, eax
+shl esi, 2
+sub esi, eax
+shl esi, 2
+mov eax, dword [ref_00474949] ; mov eax, dword [0x474949]
+add eax, 0xc
+add eax, esi
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004564c1 ; call 0x4564c1
+add esp, 0x10
+
+loc_00408657:
+inc ebx
+add dword [esp + 0x48], 0x28
+jmp near loc_00408570 ; jmp 0x408570
+
+loc_00408662:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor ebx, ebx
+
+loc_00408674:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00408919 ; jge 0x408919
+imul esi, ebx, 0x68
+cmp word [esi + ref_00496b70], 0 ; cmp word [esi + 0x496b70], 0
+je near loc_00408913 ; je 0x408913
+cmp dword [esi + ref_00496b9a], 0 ; cmp dword [esi + 0x496b9a], 0
+je short loc_004086a7 ; je 0x4086a7
+test byte [esi + ref_00496b7d], 0x20 ; test byte [esi + 0x496b7d], 0x20
+je near loc_00408913 ; je 0x408913
+
+loc_004086a7:
+imul edi, ebx, 0x68
+xor eax, eax
+mov ax, word [edi + ref_00496b70] ; mov ax, word [edi + 0x496b70]
+mov esi, eax
+sar esi, 5
+sub esi, dword [esp + 0x50]
+add esi, 0xe
+movzx ebp, word [edi + ref_00496b72] ; movzx ebp, word [edi + 0x496b72]
+mov edx, ebp
+sar edx, 5
+sub edx, dword [esp + 0x4c]
+lea edi, [edx + 0xe]
+test esi, esi
+jl near loc_00408913 ; jl 0x408913
+cmp esi, 0x1c
+jg near loc_00408913 ; jg 0x408913
+test edi, edi
+jl near loc_00408913 ; jl 0x408913
+cmp edi, 0x1c
+jg near loc_00408913 ; jg 0x408913
+lea edx, [esp + 0x28]
+push edx
+lea edx, [esp + 0x28]
+push edx
+push ebp
+push eax
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul edi, edi, 0x74
+add eax, edi
+shl esi, 2
+add esi, eax
+movsx eax, word [esi + ref_0046ccf2] ; movsx eax, word [esi + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [esi + ref_0046ccf0] ; movsx eax, word [esi + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+mov eax, edx
+shl eax, 4
+and eax, 0xfff0
+mov edx, dword [ref_0048bac8] ; mov edx, dword [0x48bac8]
+shl edx, 0x10
+add eax, edx
+mov esi, dword [ref_0048bac8] ; mov esi, dword [0x48bac8]
+shl esi, 2
+mov dword [esi + ref_0048a44c], eax ; mov dword [esi + 0x48a44c], eax
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+jne short loc_0040877b ; jne 0x40877b
+or byte [esi + ref_0048a44c], 0xd ; or byte [esi + 0x48a44c], 0xd
+jmp short loc_00408782 ; jmp 0x408782
+
+loc_0040877b:
+or byte [esi + ref_0048a44c], 0xc ; or byte [esi + 0x48a44c], 0xc
+
+loc_00408782:
+imul esi, ebx, 0x34
+xor eax, eax
+mov al, byte [esi + ref_00498ea2] ; mov al, byte [esi + 0x498ea2]
+shl eax, 3
+lea edx, [esi + eax]
+xor eax, eax
+mov al, byte [esi + ref_00498ea1] ; mov al, byte [esi + 0x498ea1]
+shl eax, 2
+add edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov edi, eax
+shl edi, 2
+sub edi, eax
+shl edi, 2
+mov eax, dword [edx + ref_00498eb4] ; mov eax, dword [edx + 0x498eb4]
+mov dword [edi + ref_0048a84c], eax ; mov dword [edi + 0x48a84c], eax
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+je short loc_004087e6 ; je 0x4087e6
+test byte [esi + ref_00498ea0], 0x40 ; test byte [esi + 0x498ea0], 0x40
+jne short loc_004087e6 ; jne 0x4087e6
+mov ebp, dword [edi + ref_0048a84c] ; mov ebp, dword [edi + 0x48a84c]
+push ebp
+call fcn_004555c5 ; call 0x4555c5
+add esp, 4
+or byte [esi + ref_00498ea0], 0x40 ; or byte [esi + 0x498ea0], 0x40
+
+loc_004087e6:
+mov cl, bl
+mov eax, 1
+shl eax, cl
+add ah, 0x80
+mov edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov word [esi*4 + ref_0048a850], dx ; mov word [esi*4 + 0x48a850], dx
+mov byte [esi*4 + ref_0048a852], 0xff ; mov byte [esi*4 + 0x48a852], 0xff
+mov eax, dword [esi*4 + ref_0048a84c] ; mov eax, dword [esi*4 + 0x48a84c]
+mov eax, dword [eax + 4]
+sar eax, 3
+imul edi, ebx, 0x68
+xor edx, edx
+mov dl, byte [edi + ref_00496b78] ; mov dl, byte [edi + 0x496b78]
+mov ecx, 8
+sub ecx, dword [ref_00499088] ; sub ecx, dword [0x499088]
+add edx, ecx
+and edx, 7
+mov dword [esp + 0x54], edx
+imul edx, ebx, 0x34
+mul byte [esp + 0x54]
+mov ch, byte [edx + ref_00498ea3] ; mov ch, byte [edx + 0x498ea3]
+add al, ch
+mov byte [esi*4 + ref_0048a853], al ; mov byte [esi*4 + 0x48a853], al
+mov eax, dword [esp + 0x30]
+mov word [esi*4 + ref_0048a854], ax ; mov word [esi*4 + 0x48a854], ax
+mov eax, dword [esp + 0x3c]
+mov word [esi*4 + ref_0048a856], ax ; mov word [esi*4 + 0x48a856], ax
+inc dword [ref_0048bac8] ; inc dword [0x48bac8]
+cmp byte [edi + ref_00496b9f], 0 ; cmp byte [edi + 0x496b9f], 0
+je near loc_00408913 ; je 0x408913
+mov eax, dword [esp + 0x3c]
+shl eax, 4
+and eax, 0xfff0
+mov edx, dword [ref_0048bac8] ; mov edx, dword [0x48bac8]
+shl edx, 0x10
+add eax, edx
+mov esi, dword [ref_0048bac8] ; mov esi, dword [0x48bac8]
+shl esi, 2
+mov dword [esi + ref_0048a44c], eax ; mov dword [esi + 0x48a44c], eax
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+jne short loc_004088b4 ; jne 0x4088b4
+or byte [esi + ref_0048a44c], 0xf ; or byte [esi + 0x48a44c], 0xf
+jmp short loc_004088bb ; jmp 0x4088bb
+
+loc_004088b4:
+or byte [esi + ref_0048a44c], 0xe ; or byte [esi + 0x48a44c], 0xe
+
+loc_004088bb:
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov eax, dword [ref_00496978] ; mov eax, dword [0x496978]
+mov dword [esi*4 + ref_0048a84c], eax ; mov dword [esi*4 + 0x48a84c], eax
+xor edx, edx
+mov word [esi*4 + ref_0048a850], dx ; mov word [esi*4 + 0x48a850], dx
+mov byte [esi*4 + ref_0048a852], 0xff ; mov byte [esi*4 + 0x48a852], 0xff
+imul eax, ebx, 0x34
+mov al, byte [eax + ref_00498ea4] ; mov al, byte [eax + 0x498ea4]
+mov byte [esi*4 + ref_0048a853], al ; mov byte [esi*4 + 0x48a853], al
+mov eax, dword [esp + 0x30]
+mov word [esi*4 + ref_0048a854], ax ; mov word [esi*4 + 0x48a854], ax
+mov eax, dword [esp + 0x3c]
+mov word [esi*4 + ref_0048a856], ax ; mov word [esi*4 + 0x48a856], ax
+inc dword [ref_0048bac8] ; inc dword [0x48bac8]
+
+loc_00408913:
+inc ebx
+jmp near loc_00408674 ; jmp 0x408674
+
+loc_00408919:
+xor ebx, ebx
+mov dword [esp + 0x58], 4
+jmp near loc_00408b82 ; jmp 0x408b82
+
+loc_00408928:
+or byte [esi + ref_0048a44c], 8 ; or byte [esi + 0x48a44c], 8
+
+loc_0040892f:
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov ebp, eax
+shl ebp, 2
+sub ebp, eax
+shl ebp, 2
+imul esi, dword [esp + 0x58], 0x34
+cmp ebx, 4
+jge near loc_00408a27 ; jge 0x408a27
+mov eax, ebx
+shl eax, 4
+mov ax, word [eax + ref_00498e2c] ; mov ax, word [eax + 0x498e2c]
+and eax, 0xffff
+mov edi, eax
+shl edi, 2
+add edi, eax
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+test byte [eax + edi*8 + 0x27], 0x80
+je short loc_00408990 ; je 0x408990
+cmp byte [esi + ref_00498ea2], 0 ; cmp byte [esi + 0x498ea2], 0
+jne short loc_00408990 ; jne 0x408990
+xor eax, eax
+mov al, byte [esi + ref_00498ea1] ; mov al, byte [esi + 0x498ea1]
+mov eax, dword [esi + eax*4 + ref_00498ebc] ; mov eax, dword [esi + eax*4 + 0x498ebc]
+mov dword [ebp + ref_0048a84c], eax ; mov dword [ebp + 0x48a84c], eax
+jmp short loc_004089c6 ; jmp 0x4089c6
+
+loc_00408990:
+imul esi, dword [esp + 0x58], 0x34
+xor eax, eax
+mov al, byte [esi + ref_00498ea2] ; mov al, byte [esi + 0x498ea2]
+shl eax, 3
+lea edx, [esi + eax]
+xor eax, eax
+mov al, byte [esi + ref_00498ea1] ; mov al, byte [esi + 0x498ea1]
+mov edi, dword [ref_0048bac8] ; mov edi, dword [0x48bac8]
+mov esi, edi
+shl esi, 2
+sub esi, edi
+mov eax, dword [edx + eax*4 + ref_00498eb4] ; mov eax, dword [edx + eax*4 + 0x498eb4]
+mov dword [esi*4 + ref_0048a84c], eax ; mov dword [esi*4 + 0x48a84c], eax
+
+loc_004089c6:
+mov eax, ebx
+shl eax, 4
+cmp byte [eax + ref_00498e34], 0 ; cmp byte [eax + 0x498e34], 0
+je short loc_00408a05 ; je 0x408a05
+imul edi, dword [esp + 0x58], 0x34
+test byte [edi + ref_00498ea0], 0x40 ; test byte [edi + 0x498ea0], 0x40
+jne short loc_00408a05 ; jne 0x408a05
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov ebp, dword [esi*4 + ref_0048a84c] ; mov ebp, dword [esi*4 + 0x48a84c]
+push ebp
+call fcn_004555c5 ; call 0x4555c5
+add esp, 4
+or byte [edi + ref_00498ea0], 0x40 ; or byte [edi + 0x498ea0], 0x40
+
+loc_00408a05:
+mov cl, bl
+mov edx, 0x10
+shl edx, cl
+add dh, 0x80
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov word [esi*4 + ref_0048a850], dx ; mov word [esi*4 + 0x48a850], dx
+jmp short loc_00408a53 ; jmp 0x408a53
+
+loc_00408a27:
+xor eax, eax
+mov al, byte [esi + ref_00498ea2] ; mov al, byte [esi + 0x498ea2]
+shl eax, 3
+lea edx, [esi + eax]
+xor eax, eax
+mov al, byte [esi + ref_00498ea1] ; mov al, byte [esi + 0x498ea1]
+mov eax, dword [edx + eax*4 + ref_00498eb4] ; mov eax, dword [edx + eax*4 + 0x498eb4]
+mov dword [ebp + ref_0048a84c], eax ; mov dword [ebp + 0x48a84c], eax
+xor ecx, ecx
+mov word [ebp + ref_0048a850], cx ; mov word [ebp + 0x48a850], cx
+
+loc_00408a53:
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov byte [esi*4 + ref_0048a852], 0xff ; mov byte [esi*4 + 0x48a852], 0xff
+mov eax, dword [esi*4 + ref_0048a84c] ; mov eax, dword [esi*4 + 0x48a84c]
+mov eax, dword [eax + 4]
+sar eax, 3
+mov edi, ebx
+shl edi, 4
+xor edx, edx
+mov dl, byte [edi + ref_00498e31] ; mov dl, byte [edi + 0x498e31]
+mov ecx, 8
+sub ecx, dword [ref_00499088] ; sub ecx, dword [0x499088]
+add edx, ecx
+and edx, 7
+mov dword [esp + 0x54], edx
+imul ebp, dword [esp + 0x58], 0x34
+mul byte [esp + 0x54]
+mov dh, byte [ebp + ref_00498ea3] ; mov dh, byte [ebp + 0x498ea3]
+add al, dh
+mov byte [esi*4 + ref_0048a853], al ; mov byte [esi*4 + 0x48a853], al
+mov eax, dword [esp + 0x30]
+mov word [esi*4 + ref_0048a854], ax ; mov word [esi*4 + 0x48a854], ax
+mov eax, dword [esp + 0x3c]
+mov word [esi*4 + ref_0048a856], ax ; mov word [esi*4 + 0x48a856], ax
+inc dword [ref_0048bac8] ; inc dword [0x48bac8]
+cmp byte [edi + ref_00498e35], 0 ; cmp byte [edi + 0x498e35], 0
+je near loc_00408b74 ; je 0x408b74
+mov eax, dword [esp + 0x3c]
+shl eax, 4
+and eax, 0xfff0
+mov edx, dword [ref_0048bac8] ; mov edx, dword [0x48bac8]
+shl edx, 0x10
+add eax, edx
+mov esi, dword [ref_0048bac8] ; mov esi, dword [0x48bac8]
+shl esi, 2
+mov dword [esi + ref_0048a44c], eax ; mov dword [esi + 0x48a44c], eax
+mov eax, dword [esp + 0x58]
+cmp eax, dword [ref_0049910c] ; cmp eax, dword [0x49910c]
+jne short loc_00408b13 ; jne 0x408b13
+or byte [esi + ref_0048a44c], 0xf ; or byte [esi + 0x48a44c], 0xf
+jmp short loc_00408b1a ; jmp 0x408b1a
+
+loc_00408b13:
+or byte [esi + ref_0048a44c], 0xe ; or byte [esi + 0x48a44c], 0xe
+
+loc_00408b1a:
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov eax, dword [ref_00496978] ; mov eax, dword [0x496978]
+mov dword [esi*4 + ref_0048a84c], eax ; mov dword [esi*4 + 0x48a84c], eax
+xor edi, edi
+mov word [esi*4 + ref_0048a850], di ; mov word [esi*4 + 0x48a850], di
+mov byte [esi*4 + ref_0048a852], 0xff ; mov byte [esi*4 + 0x48a852], 0xff
+imul eax, dword [esp + 0x58], 0x34
+mov al, byte [eax + ref_00498ea4] ; mov al, byte [eax + 0x498ea4]
+mov byte [esi*4 + ref_0048a853], al ; mov byte [esi*4 + 0x48a853], al
+mov eax, dword [esp + 0x30]
+mov word [esi*4 + ref_0048a854], ax ; mov word [esi*4 + 0x48a854], ax
+mov eax, dword [esp + 0x3c]
+mov word [esi*4 + ref_0048a856], ax ; mov word [esi*4 + 0x48a856], ax
+inc dword [ref_0048bac8] ; inc dword [0x48bac8]
+
+loc_00408b74:
+inc ebx
+inc dword [esp + 0x58]
+cmp ebx, 5
+jge near loc_00408c5e ; jge 0x408c5e
+
+loc_00408b82:
+mov edi, ebx
+shl edi, 4
+cmp byte [edi + ref_00498e32], 0 ; cmp byte [edi + 0x498e32], 0
+jne short loc_00408b74 ; jne 0x408b74
+xor eax, eax
+mov ax, word [edi + ref_00498e28] ; mov ax, word [edi + 0x498e28]
+mov esi, eax
+sar esi, 5
+sub esi, dword [esp + 0x50]
+add esi, 0xe
+xor edx, edx
+mov dx, word [edi + ref_00498e2a] ; mov dx, word [edi + 0x498e2a]
+mov ecx, edx
+sar ecx, 5
+sub ecx, dword [esp + 0x4c]
+lea edi, [ecx + 0xe]
+test esi, esi
+jl short loc_00408b74 ; jl 0x408b74
+cmp esi, 0x1c
+jg short loc_00408b74 ; jg 0x408b74
+test edi, edi
+jl short loc_00408b74 ; jl 0x408b74
+cmp edi, 0x1c
+jg short loc_00408b74 ; jg 0x408b74
+lea ecx, [esp + 0x28]
+push ecx
+lea ecx, [esp + 0x28]
+push ecx
+push edx
+push eax
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul edi, edi, 0x74
+add eax, edi
+shl esi, 2
+add esi, eax
+movsx eax, word [esi + ref_0046ccf2] ; movsx eax, word [esi + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [esi + ref_0046ccf0] ; movsx eax, word [esi + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+mov eax, edx
+shl eax, 4
+and eax, 0xfff0
+mov edx, dword [ref_0048bac8] ; mov edx, dword [0x48bac8]
+shl edx, 0x10
+add eax, edx
+mov esi, dword [ref_0048bac8] ; mov esi, dword [0x48bac8]
+shl esi, 2
+mov dword [esi + ref_0048a44c], eax ; mov dword [esi + 0x48a44c], eax
+mov eax, dword [esp + 0x58]
+cmp eax, dword [ref_0049910c] ; cmp eax, dword [0x49910c]
+jne near loc_00408928 ; jne 0x408928
+or byte [esi + ref_0048a44c], 0xd ; or byte [esi + 0x48a44c], 0xd
+jmp near loc_0040892f ; jmp 0x40892f
+
+loc_00408c5e:
+xor ebx, ebx
+jmp near loc_00408f78 ; jmp 0x408f78
+
+loc_00408c65:
+mov esi, dword [esp + 0x54]
+mov eax, dword [esi*8 + ref_00474951] ; mov eax, dword [esi*8 + 0x474951]
+add dword [esp + 0x30], eax
+mov eax, dword [esi*8 + ref_00474955] ; mov eax, dword [esi*8 + 0x474955]
+
+loc_00408c7b:
+add dword [esp + 0x3c], eax
+mov eax, ebx
+inc eax
+shl eax, 8
+add ah, 0x80
+mov edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov edi, eax
+shl edi, 2
+sub edi, eax
+shl edi, 2
+mov word [edi + ref_0048a850], dx ; mov word [edi + 0x48a850], dx
+mov esi, ebx
+shl esi, 2
+sub esi, ebx
+cmp byte [esi*8 + ref_00496d08], 0x12 ; cmp byte [esi*8 + 0x496d08], 0x12
+jne short loc_00408cb8 ; jne 0x408cb8
+or byte [edi + ref_0048a851], 0x40 ; or byte [edi + 0x48a851], 0x40
+
+loc_00408cb8:
+mov eax, dword [esp + 0x3c]
+shl eax, 4
+and eax, 0xfff0
+mov edx, dword [ref_0048bac8] ; mov edx, dword [0x48bac8]
+shl edx, 0x10
+add edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+jmp near loc_00408f15 ; jmp 0x408f15
+
+loc_00408cd9:
+cmp byte [ebp + ref_00496d0e], 0 ; cmp byte [ebp + 0x496d0e], 0
+je near loc_00408e0e ; je 0x408e0e
+fld dword [ebp + ref_00496d10] ; fld dword [ebp + 0x496d10]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x40]
+fld dword [ebp + ref_00496d14] ; fld dword [ebp + 0x496d14]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x44]
+mov eax, dword [esp + 0x40]
+sar eax, 5
+sub eax, dword [esp + 0x50]
+lea esi, [eax + 0xe]
+mov edi, dword [esp + 0x44]
+sar edi, 5
+sub edi, dword [esp + 0x4c]
+add edi, 0xe
+test esi, esi
+jl short loc_00408d32 ; jl 0x408d32
+cmp esi, 0x1c
+jg short loc_00408d32 ; jg 0x408d32
+test edi, edi
+jl short loc_00408d32 ; jl 0x408d32
+cmp edi, 0x1c
+jle short loc_00408d47 ; jle 0x408d47
+
+loc_00408d32:
+mov esi, ebx
+shl esi, 2
+sub esi, ebx
+xor ch, ch
+mov byte [esi*8 + ref_00496d0e], ch ; mov byte [esi*8 + 0x496d0e], ch
+jmp near loc_00408f6e ; jmp 0x408f6e
+
+loc_00408d47:
+lea eax, [esp + 0x28]
+push eax
+lea eax, [esp + 0x28]
+push eax
+mov edx, dword [esp + 0x4c]
+push edx
+mov ecx, dword [esp + 0x4c]
+push ecx
+dec byte [ebp + ref_00496d0e] ; dec byte [ebp + 0x496d0e]
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul edi, edi, 0x74
+add edi, eax
+movsx eax, word [edi + esi*4 + ref_0046ccf2] ; movsx eax, word [edi + esi*4 + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [edi + esi*4 + ref_0046ccf0] ; movsx eax, word [edi + esi*4 + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+fld dword [ebp + ref_00496d18] ; fld dword [ebp + 0x496d18]
+fadd dword [ebp + ref_00496d10] ; fadd dword [ebp + 0x496d10]
+fstp dword [ebp + ref_00496d10] ; fstp dword [ebp + 0x496d10]
+fld dword [ebp + ref_00496d1c] ; fld dword [ebp + 0x496d1c]
+fadd dword [ebp + ref_00496d14] ; fadd dword [ebp + 0x496d14]
+fstp dword [ebp + ref_00496d14] ; fstp dword [ebp + 0x496d14]
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+xor edx, edx
+mov word [esi*4 + ref_0048a850], dx ; mov word [esi*4 + 0x48a850], dx
+mov al, 8
+sub al, byte [ref_00499088] ; sub al, byte [0x499088]
+add al, byte [ebp + ref_00496d0f] ; add al, byte [ebp + 0x496d0f]
+and al, 7
+mov byte [esi*4 + ref_0048a853], al ; mov byte [esi*4 + 0x48a853], al
+mov edx, dword [ref_0048bac8] ; mov edx, dword [0x48bac8]
+shl edx, 0x10
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+add edx, 0x7ff0
+jmp near loc_00408f15 ; jmp 0x408f15
+
+loc_00408e0e:
+xor eax, eax
+mov ax, word [ebp + ref_00496d0a] ; mov ax, word [ebp + 0x496d0a]
+mov esi, eax
+shl esi, 2
+add esi, eax
+shl esi, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, esi
+mov dword [esp + 0x48], eax
+movsx edx, word [eax]
+mov eax, edx
+sar eax, 5
+sub eax, dword [esp + 0x50]
+lea esi, [eax + 0xe]
+mov eax, dword [esp + 0x48]
+movsx eax, word [eax + 2]
+mov ecx, eax
+sar ecx, 5
+sub ecx, dword [esp + 0x4c]
+lea edi, [ecx + 0xe]
+test esi, esi
+jl near loc_00408f6e ; jl 0x408f6e
+cmp esi, 0x1c
+jg near loc_00408f6e ; jg 0x408f6e
+test edi, edi
+jl near loc_00408f6e ; jl 0x408f6e
+cmp edi, 0x1c
+jg near loc_00408f6e ; jg 0x408f6e
+lea ecx, [esp + 0x28]
+push ecx
+lea ecx, [esp + 0x28]
+push ecx
+push eax
+push edx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul edi, edi, 0x74
+add eax, edi
+shl esi, 2
+add esi, eax
+movsx eax, word [esi + ref_0046ccf2] ; movsx eax, word [esi + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [esi + ref_0046ccf0] ; movsx eax, word [esi + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+mov eax, ebx
+inc eax
+shl eax, 8
+add ah, 0x80
+mov edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov word [esi*4 + ref_0048a850], dx ; mov word [esi*4 + 0x48a850], dx
+mov al, 8
+sub al, byte [ref_00499088] ; sub al, byte [0x499088]
+add al, byte [ebp + ref_00496d09] ; add al, byte [ebp + 0x496d09]
+and al, 7
+mov byte [esi*4 + ref_0048a853], al ; mov byte [esi*4 + 0x48a853], al
+mov edx, dword [esp + 0x3c]
+shl edx, 4
+and edx, 0xfff0
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+shl eax, 0x10
+add edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+
+loc_00408f15:
+mov dword [eax*4 + ref_0048a44c], edx ; mov dword [eax*4 + 0x48a44c], edx
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov eax, dword [esp + 0x30]
+mov word [esi*4 + ref_0048a854], ax ; mov word [esi*4 + 0x48a854], ax
+mov eax, dword [esp + 0x3c]
+mov word [esi*4 + ref_0048a856], ax ; mov word [esi*4 + 0x48a856], ax
+mov eax, ebx
+mov edi, ebx
+shl edi, 2
+sub edi, ebx
+xor eax, ebx
+mov al, byte [edi*8 + ref_00496d08] ; mov al, byte [edi*8 + 0x496d08]
+mov eax, dword [eax*4 + ref_0049692c] ; mov eax, dword [eax*4 + 0x49692c]
+mov dword [esi*4 + ref_0048a84c], eax ; mov dword [esi*4 + 0x48a84c], eax
+mov byte [esi*4 + ref_0048a852], 0xff ; mov byte [esi*4 + 0x48a852], 0xff
+inc dword [ref_0048bac8] ; inc dword [0x48bac8]
+
+loc_00408f6e:
+inc ebx
+cmp ebx, 0x2e
+jge near loc_004090e2 ; jge 0x4090e2
+
+loc_00408f78:
+mov esi, ebx
+shl esi, 2
+sub esi, ebx
+shl esi, 3
+cmp word [esi + ref_00496d0a], 0 ; cmp word [esi + 0x496d0a], 0
+jne short loc_00408f95 ; jne 0x408f95
+cmp byte [esi + ref_00496d0e], 0 ; cmp byte [esi + 0x496d0e], 0
+je short loc_00408f6e ; je 0x408f6e
+
+loc_00408f95:
+mov ebp, ebx
+shl ebp, 2
+sub ebp, ebx
+shl ebp, 3
+mov dh, byte [ebp + ref_00496d0d] ; mov dh, byte [ebp + 0x496d0d]
+test dh, dh
+je near loc_00408cd9 ; je 0x408cd9
+xor eax, eax
+mov al, dh
+dec eax
+mov dword [esp + 0x58], eax
+imul eax, eax, 0x68
+mov dword [esp + 0x38], eax
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne short loc_00408f6e ; jne 0x408f6e
+xor eax, eax
+mov edx, dword [esp + 0x38]
+mov ax, word [edx + ref_00496b70] ; mov ax, word [edx + 0x496b70]
+mov edx, eax
+sar edx, 5
+sub edx, dword [esp + 0x50]
+lea esi, [edx + 0xe]
+xor edx, edx
+mov ecx, dword [esp + 0x38]
+mov dx, word [ecx + ref_00496b72] ; mov dx, word [ecx + 0x496b72]
+mov ecx, edx
+sar ecx, 5
+sub ecx, dword [esp + 0x4c]
+lea edi, [ecx + 0xe]
+test esi, esi
+jl near loc_00408f6e ; jl 0x408f6e
+cmp esi, 0x1c
+jg near loc_00408f6e ; jg 0x408f6e
+test edi, edi
+jl near loc_00408f6e ; jl 0x408f6e
+cmp edi, 0x1c
+jg near loc_00408f6e ; jg 0x408f6e
+lea ecx, [esp + 0x28]
+push ecx
+lea ecx, [esp + 0x28]
+push ecx
+push edx
+push eax
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul edi, edi, 0x74
+add eax, edi
+shl esi, 2
+add esi, eax
+movsx eax, word [esi + ref_0046ccf2] ; movsx eax, word [esi + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [esi + ref_0046ccf0] ; movsx eax, word [esi + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+xor edx, edx
+mov eax, dword [esp + 0x38]
+mov dl, byte [eax + ref_00496b78] ; mov dl, byte [eax + 0x496b78]
+mov eax, 8
+sub eax, dword [ref_00499088] ; sub eax, dword [0x499088]
+add eax, edx
+and eax, 7
+mov dword [esp + 0x54], eax
+mov dl, byte [esp + 0x54]
+add dl, 4
+and dl, 7
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov byte [esi*4 + ref_0048a853], dl ; mov byte [esi*4 + 0x48a853], dl
+cmp byte [ebp + ref_00496d08], 0x12 ; cmp byte [ebp + 0x496d08], 0x12
+jne near loc_00408c65 ; jne 0x408c65
+mov eax, dword [esp + 0x38]
+cmp byte [eax + ref_00496ba7], 0 ; cmp byte [eax + 0x496ba7], 0
+je near loc_00408c65 ; je 0x408c65
+mov esi, dword [esp + 0x54]
+mov eax, dword [esi*8 + ref_00474991] ; mov eax, dword [esi*8 + 0x474991]
+add dword [esp + 0x30], eax
+mov eax, dword [esi*8 + ref_00474995] ; mov eax, dword [esi*8 + 0x474995]
+jmp near loc_00408c7b ; jmp 0x408c7b
+
+loc_004090e2:
+mov ebx, 1
+mov ebp, dword [ref_00498e84] ; mov ebp, dword [0x498e84]
+
+loc_004090ed:
+add ebp, 0x34
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg near loc_004092f4 ; jg 0x4092f4
+movsx eax, word [ebp]
+mov edx, eax
+sar edx, 5
+sub edx, dword [esp + 0x50]
+lea esi, [edx + 0xe]
+movsx edx, word [ebp + 2]
+mov edi, edx
+sar edi, 5
+sub edi, dword [esp + 0x4c]
+add edi, 0xe
+test esi, esi
+jl near loc_004092ee ; jl 0x4092ee
+cmp esi, 0x1c
+jg near loc_004092ee ; jg 0x4092ee
+test edi, edi
+jl near loc_004092ee ; jl 0x4092ee
+cmp edi, 0x1c
+jg near loc_004092ee ; jg 0x4092ee
+lea ecx, [esp + 0x28]
+push ecx
+lea ecx, [esp + 0x28]
+push ecx
+push edx
+push eax
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul edi, edi, 0x74
+add eax, edi
+shl esi, 2
+add esi, eax
+movsx eax, word [esi + ref_0046ccf2] ; movsx eax, word [esi + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [esi + ref_0046ccf0] ; movsx eax, word [esi + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+shl edx, 4
+and edx, 0xfff0
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+shl eax, 0x10
+add edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov dword [eax*4 + ref_0048a44c], edx ; mov dword [eax*4 + 0x48a44c], edx
+mov al, byte [ebp + 0x1b]
+add al, byte [ref_00499088] ; add al, byte [0x499088]
+mov dl, 8
+sub dl, al
+and dl, 7
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+shl esi, 2
+mov byte [esi + ref_0048a853], dl ; mov byte [esi + 0x48a853], dl
+mov al, dl
+and eax, 0xff
+mov dword [esp + 0x54], eax
+cmp byte [ebp + 0x1a], 0
+je short loc_0040920f ; je 0x40920f
+mov al, byte [ebp + 0x19]
+mov byte [esi + ref_0048a852], al ; mov byte [esi + 0x48a852], al
+cmp byte [ebp + 0x18], 0
+jne short loc_00409208 ; jne 0x409208
+xor eax, eax
+mov al, byte [ebp + 0x1a]
+mov eax, dword [eax*4 + ref_0048ae48] ; mov eax, dword [eax*4 + 0x48ae48]
+
+loc_00409200:
+mov dword [esi + ref_0048a84c], eax ; mov dword [esi + 0x48a84c], eax
+jmp short loc_00409246 ; jmp 0x409246
+
+loc_00409208:
+mov eax, dword [ref_0048ae60] ; mov eax, dword [0x48ae60]
+jmp short loc_00409200 ; jmp 0x409200
+
+loc_0040920f:
+mov byte [esi + ref_0048a852], 0xff ; mov byte [esi + 0x48a852], 0xff
+cmp byte [ebp + 0x19], 0
+je short loc_0040923e ; je 0x40923e
+mov eax, dword [ref_0048aea8] ; mov eax, dword [0x48aea8]
+mov dword [esi + ref_0048a84c], eax ; mov dword [esi + 0x48a84c], eax
+xor eax, eax
+mov al, byte [ebp + 0x19]
+dec eax
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+mov byte [esi + ref_0048a853], al ; mov byte [esi + 0x48a853], al
+jmp short loc_00409246 ; jmp 0x409246
+
+loc_0040923e:
+xor edi, edi
+mov dword [esi + ref_0048a84c], edi ; mov dword [esi + 0x48a84c], edi
+
+loc_00409246:
+mov edx, ebx
+add edx, 0x7d0
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov word [esi*4 + ref_0048a850], dx ; mov word [esi*4 + 0x48a850], dx
+mov eax, dword [esp + 0x30]
+mov word [esi*4 + ref_0048a854], ax ; mov word [esi*4 + 0x48a854], ax
+mov eax, dword [esp + 0x3c]
+mov word [esi*4 + ref_0048a856], ax ; mov word [esi*4 + 0x48a856], ax
+inc dword [ref_0048bac8] ; inc dword [0x48bac8]
+cmp byte [ebp + 0x17], 0
+je short loc_004092ee ; je 0x4092ee
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+mov eax, dword [esi]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push esi
+call dword [eax + 0x64] ; ucall
+mov al, byte [ebp + 0x17]
+and al, 1
+and eax, 0xff
+push eax
+mov edx, dword [esp + 0x40]
+push edx
+mov ecx, dword [esp + 0x38]
+push ecx
+mov eax, dword [esp + 0x60]
+and eax, 1
+mov esi, eax
+shl esi, 2
+sub esi, eax
+shl esi, 2
+mov eax, dword [ref_0047494d] ; mov eax, dword [0x47494d]
+add eax, 0xc
+add eax, esi
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456c33 ; call 0x456c33
+add esp, 0x14
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+mov eax, dword [esi]
+push 0
+push esi
+call dword [eax + 0x80] ; ucall
+
+loc_004092ee:
+inc ebx
+jmp near loc_004090ed ; jmp 0x4090ed
+
+loc_004092f4:
+mov ebx, 1
+mov ebp, dword [ref_00498e88] ; mov ebp, dword [0x498e88]
+
+loc_004092ff:
+add ebp, 0x38
+cmp ebx, dword [ref_00498e8c] ; cmp ebx, dword [0x498e8c]
+jg near loc_0040953f ; jg 0x40953f
+movsx edx, word [ebp]
+mov eax, edx
+sar eax, 5
+sub eax, dword [esp + 0x50]
+lea esi, [eax + 0xe]
+movsx eax, word [ebp + 2]
+mov edi, eax
+sar edi, 5
+sub edi, dword [esp + 0x4c]
+add edi, 0xe
+test esi, esi
+jl near loc_00409539 ; jl 0x409539
+cmp esi, 0x1c
+jg near loc_00409539 ; jg 0x409539
+test edi, edi
+jl near loc_00409539 ; jl 0x409539
+cmp edi, 0x1c
+jg near loc_00409539 ; jg 0x409539
+lea ecx, [esp + 0x28]
+push ecx
+lea ecx, [esp + 0x28]
+push ecx
+push eax
+push edx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul edi, edi, 0x74
+add eax, edi
+shl esi, 2
+add esi, eax
+movsx eax, word [esi + ref_0046ccf2] ; movsx eax, word [esi + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [esi + ref_0046ccf0] ; movsx eax, word [esi + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+mov eax, edx
+shl eax, 4
+and eax, 0xfff0
+mov edx, dword [ref_0048bac8] ; mov edx, dword [0x48bac8]
+shl edx, 0x10
+add edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov dword [eax*4 + ref_0048a44c], edx ; mov dword [eax*4 + 0x48a44c], edx
+mov al, byte [ebp + 0x1b]
+add al, byte [ref_00499088] ; add al, byte [0x499088]
+mov dl, 8
+sub dl, al
+and dl, 7
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+shl esi, 2
+mov byte [esi + ref_0048a853], dl ; mov byte [esi + 0x48a853], dl
+mov al, dl
+and eax, 0xff
+mov dword [esp + 0x54], eax
+cmp byte [ebp + 0x1a], 0
+je short loc_00409457 ; je 0x409457
+mov al, byte [ebp + 0x19]
+mov byte [esi + ref_0048a852], al ; mov byte [esi + 0x48a852], al
+mov al, byte [ebp + 0x18]
+cmp al, 4
+ja near loc_0040948e ; ja 0x40948e
+and eax, 0xff
+jmp dword [eax*4 + ref_00408289] ; ujmp: jmp dword [eax*4 + 0x408289]
+
+fcn_00409419:
+mov eax, dword [ref_0048ae64] ; mov eax, dword [0x48ae64]
+
+loc_0040941e:
+mov dword [esi + ref_0048a84c], eax ; mov dword [esi + 0x48a84c], eax
+jmp short loc_0040948e ; jmp 0x40948e
+
+fcn_00409426:
+xor eax, eax
+mov al, byte [ebp + 0x1a]
+mov eax, dword [eax*4 + ref_0048ae64] ; mov eax, dword [eax*4 + 0x48ae64]
+jmp short loc_0040941e ; jmp 0x40941e
+
+fcn_00409434:
+xor eax, eax
+mov al, byte [ebp + 0x1a]
+mov eax, dword [eax*4 + ref_0048ae78] ; mov eax, dword [eax*4 + 0x48ae78]
+jmp short loc_0040941e ; jmp 0x40941e
+
+fcn_00409442:
+mov eax, dword [ref_0048ae90] ; mov eax, dword [0x48ae90]
+jmp short loc_0040941e ; jmp 0x40941e
+
+fcn_00409449:
+xor eax, eax
+mov al, byte [ebp + 0x1a]
+mov eax, dword [eax*4 + ref_0048ae90] ; mov eax, dword [eax*4 + 0x48ae90]
+jmp short loc_0040941e ; jmp 0x40941e
+
+loc_00409457:
+mov byte [esi + ref_0048a852], 0xff ; mov byte [esi + 0x48a852], 0xff
+cmp byte [ebp + 0x19], 0
+je short loc_00409486 ; je 0x409486
+mov eax, dword [ref_0048aea8] ; mov eax, dword [0x48aea8]
+mov dword [esi + ref_0048a84c], eax ; mov dword [esi + 0x48a84c], eax
+xor eax, eax
+mov al, byte [ebp + 0x19]
+dec eax
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+mov byte [esi + ref_0048a853], al ; mov byte [esi + 0x48a853], al
+jmp short loc_0040948e ; jmp 0x40948e
+
+loc_00409486:
+xor edi, edi
+mov dword [esi + ref_0048a84c], edi ; mov dword [esi + 0x48a84c], edi
+
+loc_0040948e:
+mov edx, ebx
+add edx, 0xfa0
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov word [esi*4 + ref_0048a850], dx ; mov word [esi*4 + 0x48a850], dx
+mov eax, dword [esp + 0x30]
+mov word [esi*4 + ref_0048a854], ax ; mov word [esi*4 + 0x48a854], ax
+mov eax, dword [esp + 0x3c]
+mov word [esi*4 + ref_0048a856], ax ; mov word [esi*4 + 0x48a856], ax
+inc dword [ref_0048bac8] ; inc dword [0x48bac8]
+cmp byte [ebp + 0x1c], 0
+je short loc_00409539 ; je 0x409539
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+mov eax, dword [esi]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push esi
+call dword [eax + 0x64] ; ucall
+mov al, byte [ebp + 0x1c]
+and al, 1
+and eax, 0xff
+push eax
+mov edx, dword [esp + 0x40]
+push edx
+mov ecx, dword [esp + 0x38]
+push ecx
+mov eax, dword [esp + 0x60]
+and eax, 1
+add eax, 2
+mov esi, eax
+shl esi, 2
+sub esi, eax
+shl esi, 2
+mov eax, dword [ref_0047494d] ; mov eax, dword [0x47494d]
+add eax, 0xc
+add eax, esi
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456c33 ; call 0x456c33
+add esp, 0x14
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+mov eax, dword [esi]
+push 0
+push esi
+call dword [eax + 0x80] ; ucall
+
+loc_00409539:
+inc ebx
+jmp near loc_004092ff ; jmp 0x4092ff
+
+loc_0040953f:
+mov ebx, 1
+mov ebp, dword [ref_00498e7c] ; mov ebp, dword [0x498e7c]
+
+loc_0040954a:
+add ebp, 0x34
+cmp ebx, dword [ref_00498e90] ; cmp ebx, dword [0x498e90]
+jg near loc_00409689 ; jg 0x409689
+cmp word [ebp + 0x20], 0
+je near loc_00409683 ; je 0x409683
+movsx edx, word [ebp]
+mov eax, edx
+sar eax, 5
+sub eax, dword [esp + 0x50]
+lea esi, [eax + 0xe]
+movsx eax, word [ebp + 2]
+mov ecx, eax
+sar ecx, 5
+sub ecx, dword [esp + 0x4c]
+lea edi, [ecx + 0xe]
+test esi, esi
+jl near loc_00409683 ; jl 0x409683
+cmp esi, 0x1c
+jg near loc_00409683 ; jg 0x409683
+test edi, edi
+jl near loc_00409683 ; jl 0x409683
+cmp edi, 0x1c
+jg near loc_00409683 ; jg 0x409683
+lea ecx, [esp + 0x28]
+push ecx
+lea ecx, [esp + 0x28]
+push ecx
+push eax
+push edx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul edx, dword [ref_00499088], 0xd24 ; imul edx, dword [0x499088], 0xd24
+imul eax, edi, 0x74
+add eax, edx
+shl esi, 2
+add esi, eax
+movsx eax, word [esi + ref_0046ccf2] ; movsx eax, word [esi + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [esi + ref_0046ccf0] ; movsx eax, word [esi + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+mov eax, edx
+shl eax, 4
+and eax, 0xfff0
+mov edx, dword [ref_0048bac8] ; mov edx, dword [0x48bac8]
+shl edx, 0x10
+add edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov dword [eax*4 + ref_0048a44c], edx ; mov dword [eax*4 + 0x48a44c], edx
+xor edx, edx
+mov dx, word [ebp + 0x20]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov eax, dword [edx*4 + ref_0048ae4c] ; mov eax, dword [edx*4 + 0x48ae4c]
+mov dword [esi*4 + ref_0048a84c], eax ; mov dword [esi*4 + 0x48a84c], eax
+mov eax, ebx
+add eax, 0x1770
+mov word [esi*4 + ref_0048a850], ax ; mov word [esi*4 + 0x48a850], ax
+mov al, byte [ebp + 0x18]
+mov byte [esi*4 + ref_0048a852], al ; mov byte [esi*4 + 0x48a852], al
+mov al, byte [ebp + 0x1b]
+add al, byte [ref_00499088] ; add al, byte [0x499088]
+mov ah, 8
+sub ah, al
+mov al, ah
+and al, 7
+mov byte [esi*4 + ref_0048a853], al ; mov byte [esi*4 + 0x48a853], al
+mov eax, dword [esp + 0x30]
+mov word [esi*4 + ref_0048a854], ax ; mov word [esi*4 + 0x48a854], ax
+mov eax, dword [esp + 0x3c]
+mov word [esi*4 + ref_0048a856], ax ; mov word [esi*4 + 0x48a856], ax
+inc dword [ref_0048bac8] ; inc dword [0x48bac8]
+
+loc_00409683:
+inc ebx
+jmp near loc_0040954a ; jmp 0x40954a
+
+loc_00409689:
+mov ebx, 1
+mov ebp, dword [ref_00498e78] ; mov ebp, dword [0x498e78]
+
+loc_00409694:
+add ebp, 0x1c
+cmp ebx, dword [ref_00499074] ; cmp ebx, dword [0x499074]
+jg near loc_004097cf ; jg 0x4097cf
+cmp word [ebp + 0x1a], 0
+je near loc_004097c9 ; je 0x4097c9
+movsx edx, word [ebp]
+mov eax, edx
+sar eax, 5
+sub eax, dword [esp + 0x50]
+lea esi, [eax + 0xe]
+movsx eax, word [ebp + 2]
+mov ecx, eax
+sar ecx, 5
+sub ecx, dword [esp + 0x4c]
+lea edi, [ecx + 0xe]
+test esi, esi
+jl near loc_004097c9 ; jl 0x4097c9
+cmp esi, 0x1c
+jg near loc_004097c9 ; jg 0x4097c9
+test edi, edi
+jl near loc_004097c9 ; jl 0x4097c9
+cmp edi, 0x1c
+jg near loc_004097c9 ; jg 0x4097c9
+lea ecx, [esp + 0x28]
+push ecx
+lea ecx, [esp + 0x28]
+push ecx
+push eax
+push edx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul edx, dword [ref_00499088], 0xd24 ; imul edx, dword [0x499088], 0xd24
+imul eax, edi, 0x74
+add eax, edx
+shl esi, 2
+add esi, eax
+movsx eax, word [esi + ref_0046ccf2] ; movsx eax, word [esi + 0x46ccf2]
+sub eax, dword [esp + 0x24]
+mov edx, dword [esp + 0x34]
+add edx, eax
+mov dword [esp + 0x30], edx
+movsx eax, word [esi + ref_0046ccf0] ; movsx eax, word [esi + 0x46ccf0]
+sub eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x3c], edx
+shl edx, 4
+and edx, 0xfff0
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+shl eax, 0x10
+add edx, eax
+mov eax, dword [ref_0048bac8] ; mov eax, dword [0x48bac8]
+mov dword [eax*4 + ref_0048a44c], edx ; mov dword [eax*4 + 0x48a44c], edx
+xor edx, edx
+mov dx, word [ebp + 0x1a]
+mov esi, eax
+shl esi, 2
+sub esi, eax
+mov eax, dword [edx*4 + ref_0048ae4c] ; mov eax, dword [edx*4 + 0x48ae4c]
+mov dword [esi*4 + ref_0048a84c], eax ; mov dword [esi*4 + 0x48a84c], eax
+mov eax, ebx
+add eax, 0x1f40
+mov word [esi*4 + ref_0048a850], ax ; mov word [esi*4 + 0x48a850], ax
+mov byte [esi*4 + ref_0048a852], 0xff ; mov byte [esi*4 + 0x48a852], 0xff
+mov al, byte [ebp + 0x18]
+add al, byte [ref_00499088] ; add al, byte [0x499088]
+mov ah, 8
+sub ah, al
+mov al, ah
+and al, 7
+mov byte [esi*4 + ref_0048a853], al ; mov byte [esi*4 + 0x48a853], al
+mov eax, dword [esp + 0x30]
+mov word [esi*4 + ref_0048a854], ax ; mov word [esi*4 + 0x48a854], ax
+mov eax, dword [esp + 0x3c]
+mov word [esi*4 + ref_0048a856], ax ; mov word [esi*4 + 0x48a856], ax
+inc dword [ref_0048bac8] ; inc dword [0x48bac8]
+
+loc_004097c9:
+inc ebx
+jmp near loc_00409694 ; jmp 0x409694
+
+loc_004097cf:
+mov ebp, dword [ref_0048bac8] ; mov ebp, dword [0x48bac8]
+test ebp, ebp
+je near loc_00409a1b ; je 0x409a1b
+push fcn_004079f9 ; push 0x4079f9
+push 4
+push ebp
+push ref_0048a44c ; push 0x48a44c
+call fcn_00457e6c ; call 0x457e6c
+add esp, 0x10
+push 0
+push 0xb
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor ebx, ebx
+
+loc_00409822:
+cmp ebx, dword [ref_0048bac8] ; cmp ebx, dword [0x48bac8]
+jge near loc_00409937 ; jge 0x409937
+mov edi, dword [ebx*4 + ref_0048a44c] ; mov edi, dword [ebx*4 + 0x48a44c]
+shr edi, 0x10
+mov esi, edi
+shl esi, 2
+sub esi, edi
+shl esi, 2
+mov ebp, dword [esi + ref_0048a84c] ; mov ebp, dword [esi + 0x48a84c]
+test ebp, ebp
+je near loc_00409931 ; je 0x409931
+add ebp, dword [ebp + 8]
+mov cl, byte [esi + ref_0048a852] ; mov cl, byte [esi + 0x48a852]
+cmp cl, 0xff
+je short loc_00409884 ; je 0x409884
+test cl, cl
+jne short loc_00409866 ; jne 0x409866
+xor eax, eax
+jmp short loc_0040987d ; jmp 0x40987d
+
+loc_00409866:
+xor eax, eax
+mov al, cl
+dec eax
+imul eax, eax, 0x68
+mov edx, dword [eax + ref_00496b6c] ; mov edx, dword [eax + 0x496b6c]
+push edx
+call fcn_004551f0 ; call 0x4551f0
+add esp, 4
+
+loc_0040987d:
+mov word [ebp + 0x1fe], ax
+
+loc_00409884:
+mov esi, edi
+shl esi, 2
+sub esi, edi
+shl esi, 2
+movsx eax, word [esi + ref_0048a856] ; movsx eax, word [esi + 0x48a856]
+push eax
+movsx eax, word [esi + ref_0048a854] ; movsx eax, word [esi + 0x48a854]
+push eax
+xor eax, eax
+mov al, byte [esi + ref_0048a853] ; mov al, byte [esi + 0x48a853]
+push eax
+mov ecx, dword [esi + ref_0048a84c] ; mov ecx, dword [esi + 0x48a84c]
+push ecx
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456770 ; call 0x456770
+add esp, 0x14
+mov al, byte [esi + ref_0048a851] ; mov al, byte [esi + 0x48a851]
+test al, 0x80
+je short loc_00409931 ; je 0x409931
+test al, 0x40
+je short loc_00409931 ; je 0x409931
+mov dl, al
+and dl, 0xbf
+mov byte [esi + ref_0048a851], dl ; mov byte [esi + 0x48a851], dl
+xor eax, eax
+mov ax, word [esi + ref_0048a850] ; mov ax, word [esi + 0x48a850]
+sar eax, 8
+and eax, 0x3f
+mov dword [esp + 0x58], eax
+dec eax
+mov edi, eax
+shl edi, 2
+sub edi, eax
+xor eax, eax
+mov al, byte [edi*8 + ref_00496d0c] ; mov al, byte [edi*8 + 0x496d0c]
+push eax
+push ref_004631d3 ; push 0x4631d3
+lea eax, [esp + 0x20]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 2
+movsx eax, word [esi + ref_0048a856] ; movsx eax, word [esi + 0x48a856]
+sub eax, 0x3c
+push eax
+movsx eax, word [esi + ref_0048a854] ; movsx eax, word [esi + 0x48a854]
+push eax
+lea eax, [esp + 0x24]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00409931:
+inc ebx
+jmp near loc_00409822 ; jmp 0x409822
+
+loc_00409937:
+cmp byte [ref_0046cafb], 0 ; cmp byte [0x46cafb], 0
+je near loc_004099fd ; je 0x4099fd
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je near loc_004099fd ; je 0x4099fd
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp eax, 4
+jge short loc_0040997e ; jge 0x40997e
+jge near loc_004099fd ; jge 0x4099fd
+imul eax, eax, 0x68
+test byte [eax + ref_00496b7d], 0x30 ; test byte [eax + 0x496b7d], 0x30
+jne near loc_004099fd ; jne 0x4099fd
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne near loc_004099fd ; jne 0x4099fd
+
+loc_0040997e:
+mov esi, dword [ref_0048baf8] ; mov esi, dword [0x48baf8]
+push esi
+push ref_004631d3 ; push 0x4631d3
+lea eax, [esp + 0x20]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+lea eax, [esp + 0x18]
+push eax
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+mov dword [esp + 0x58], eax
+imul edx, eax, 0x32
+mov eax, edx
+sar edx, 0x1f
+sub eax, edx
+sar eax, 1
+mov esi, 0xf5
+sub esi, eax
+xor ebx, ebx
+mov ebp, dword [esp + 0x58]
+
+loc_004099c1:
+cmp ebx, ebp
+jge short loc_004099fd ; jge 0x4099fd
+push 0x190
+push esi
+xor eax, eax
+mov al, byte [esp + ebx + 0x20]
+sub eax, 0x28
+mov edi, eax
+shl edi, 2
+sub edi, eax
+shl edi, 2
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0xc
+add eax, edi
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+inc ebx
+add esi, 0x32
+jmp short loc_004099c1 ; jmp 0x4099c1
+
+loc_004099fd:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor edx, edx
+mov dword [ref_00474930], edx ; mov dword [0x474930], edx
+mov dword [ref_00474934], edx ; mov dword [0x474934], edx
+
+loc_00409a1b:
+add esp, 0x5c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00409a23:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov edi, dword [esp + 0x2c]
+mov ebp, dword [esp + 0x30]
+mov ebx, dword [ref_0048b2ac] ; mov ebx, dword [0x48b2ac]
+sar ebx, 5
+mov esi, dword [ref_0048b2b0] ; mov esi, dword [0x48b2b0]
+sar esi, 5
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 4]
+push eax
+mov edx, dword [ref_0048b2b0] ; mov edx, dword [0x48b2b0]
+push edx
+mov ecx, dword [ref_0048b2ac] ; mov ecx, dword [0x48b2ac]
+push ecx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+mov eax, dword [esp + 0x24]
+sar eax, 5
+add dword [esp], 0xdc
+add dword [esp + 4], 0x104
+sub eax, ebx
+lea ebx, [eax + 0xe]
+mov eax, dword [esp + 0x28]
+sar eax, 5
+sub eax, esi
+lea esi, [eax + 0xe]
+test ebx, ebx
+jl short loc_00409a9d ; jl 0x409a9d
+cmp ebx, 0x1c
+jg short loc_00409a9d ; jg 0x409a9d
+test esi, esi
+jl short loc_00409a9d ; jl 0x409a9d
+cmp esi, 0x1c
+jle short loc_00409aac ; jle 0x409aac
+
+loc_00409a9d:
+mov dword [edi], 0
+mov dword [ebp], 0
+jmp short loc_00409b10 ; jmp 0x409b10
+
+loc_00409aac:
+lea eax, [esp + 0xc]
+push eax
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [esp + 0x30]
+push eax
+mov edx, dword [esp + 0x30]
+push edx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul edx, dword [ref_00499088], 0xd24 ; imul edx, dword [0x499088], 0xd24
+imul eax, esi, 0x74
+add edx, eax
+shl ebx, 2
+lea esi, [edx + ebx]
+movsx edx, word [esi + ref_0046ccf2] ; movsx edx, word [esi + 0x46ccf2]
+sub edx, dword [esp + 8]
+mov esi, dword [esp]
+add esi, edx
+mov dword [edi], esi
+imul edx, dword [ref_00499088], 0xd24 ; imul edx, dword [0x499088], 0xd24
+add eax, edx
+movsx eax, word [ebx + eax + ref_0046ccf0] ; movsx eax, word [ebx + eax + 0x46ccf0]
+sub eax, dword [esp + 0xc]
+mov edx, dword [esp + 4]
+add edx, eax
+mov dword [ebp], edx
+
+loc_00409b10:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00409b18:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+cmp dword [esp + 0x2c], 0
+jne short loc_00409b44 ; jne 0x409b44
+mov eax, dword [ref_00474930] ; mov eax, dword [0x474930]
+cmp eax, dword [ref_0048b2ac] ; cmp eax, dword [0x48b2ac]
+jne short loc_00409b44 ; jne 0x409b44
+mov eax, dword [ref_00474934] ; mov eax, dword [0x474934]
+cmp eax, dword [ref_0048b2b0] ; cmp eax, dword [0x48b2b0]
+je near loc_0040b33b ; je 0x40b33b
+
+loc_00409b44:
+mov eax, dword [ref_0048b2ac] ; mov eax, dword [0x48b2ac]
+mov dword [ref_00474930], eax ; mov dword [0x474930], eax
+mov edx, dword [ref_0048b2b0] ; mov edx, dword [0x48b2b0]
+mov dword [ref_00474934], edx ; mov dword [0x474934], edx
+mov ecx, eax
+sar ecx, 5
+mov dword [esp + 0x10], ecx
+mov ecx, edx
+sar ecx, 5
+mov dword [esp + 0x14], ecx
+lea ecx, [esp + 4]
+push ecx
+lea ecx, [esp + 4]
+push ecx
+push edx
+push eax
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+push 0x5e880
+push 0
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+push esi
+add dword [esp + 0xc], 0xdc
+add dword [esp + 0x10], 0xdc
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov esi, 1
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+
+loc_00409bb1:
+add ebx, 0x28
+cmp esi, dword [ref_00498e9c] ; cmp esi, dword [0x498e9c]
+jg near loc_00409c61 ; jg 0x409c61
+test dword [ebx + 0x24], 0xffff00
+jne near loc_00409c5b ; jne 0x409c5b
+movsx eax, word [ebx]
+mov edx, eax
+sar edx, 5
+sub edx, dword [esp + 0x10]
+lea edi, [edx + 0xe]
+movsx edx, word [ebx + 2]
+mov ebp, edx
+sar ebp, 5
+sub ebp, dword [esp + 0x14]
+add ebp, 0xe
+test edi, edi
+jl short loc_00409c5b ; jl 0x409c5b
+cmp edi, 0x1c
+jg short loc_00409c5b ; jg 0x409c5b
+test ebp, ebp
+jl short loc_00409c5b ; jl 0x409c5b
+cmp ebp, 0x1c
+jg short loc_00409c5b ; jg 0x409c5b
+lea ecx, [esp + 0xc]
+push ecx
+lea ecx, [esp + 0xc]
+push ecx
+push edx
+push eax
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul ebp, ebp, 0x74
+add eax, ebp
+movsx edx, word [eax + edi*4 + ref_0046ccf2] ; movsx edx, word [eax + edi*4 + 0x46ccf2]
+sub edx, dword [esp + 8]
+add edx, dword [esp]
+movsx eax, word [eax + edi*4 + ref_0046ccf0] ; movsx eax, word [eax + edi*4 + 0x46ccf0]
+sub eax, dword [esp + 0xc]
+add eax, dword [esp + 4]
+push esi
+push eax
+push edx
+mov eax, dword [ref_0047494d] ; mov eax, dword [0x47494d]
+add eax, 0x3c
+push eax
+mov ebp, dword [ref_00474938] ; mov ebp, dword [0x474938]
+push ebp
+call fcn_00456a1c ; call 0x456a1c
+add esp, 0x14
+
+loc_00409c5b:
+inc esi
+jmp near loc_00409bb1 ; jmp 0x409bb1
+
+loc_00409c61:
+cmp dword [ref_0048bac8], 0 ; cmp dword [0x48bac8], 0
+je near loc_0040b33b ; je 0x40b33b
+xor esi, esi
+
+loc_00409c70:
+cmp esi, dword [ref_0048bac8] ; cmp esi, dword [0x48bac8]
+jge near loc_0040b33b ; jge 0x40b33b
+mov edi, dword [esi*4 + ref_0048a44c] ; mov edi, dword [esi*4 + 0x48a44c]
+shr edi, 0x10
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 2
+mov dx, word [eax + ref_0048a850] ; mov dx, word [eax + 0x48a850]
+test dx, dx
+je near loc_00409de1 ; je 0x409de1
+xor ebx, ebx
+mov bx, dx
+cmp ebx, 0x7d0
+jle near loc_00409d8d ; jle 0x409d8d
+cmp ebx, 0x1f40
+jge near loc_00409d8d ; jge 0x409d8d
+cmp ebx, 0x7d0
+jle short loc_00409cf6 ; jle 0x409cf6
+cmp ebx, 0xfa0
+jge short loc_00409cf6 ; jge 0x409cf6
+lea edx, [ebx - 0x7d0]
+imul edx, edx, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+mov al, byte [edx + eax + 0x1b]
+and eax, 0xff
+add eax, dword [ref_00499088] ; add eax, dword [0x499088]
+mov edx, 8
+sub edx, eax
+and edx, 1
+jmp short loc_00409d4a ; jmp 0x409d4a
+
+loc_00409cf6:
+cmp ebx, 0xfa0
+jle short loc_00409d1e ; jle 0x409d1e
+cmp ebx, 0x1770
+jge short loc_00409d1e ; jge 0x409d1e
+lea eax, [ebx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+jmp short loc_00409d2c ; jmp 0x409d2c
+
+loc_00409d1e:
+lea eax, [ebx - 0x1770]
+imul edx, eax, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+
+loc_00409d2c:
+mov al, byte [edx + eax + 0x1b]
+and eax, 0xff
+add eax, dword [ref_00499088] ; add eax, dword [0x499088]
+mov edx, 8
+sub edx, eax
+mov eax, edx
+and eax, 1
+lea edx, [eax + 2]
+
+loc_00409d4a:
+push ebx
+mov eax, edi
+shl eax, 2
+sub eax, edi
+movsx ebp, word [eax*4 + ref_0048a856] ; movsx ebp, word [eax*4 + 0x48a856]
+sub ebp, 0x28
+push ebp
+movsx eax, word [eax*4 + ref_0048a854] ; movsx eax, word [eax*4 + 0x48a854]
+push eax
+mov ebp, dword [ref_0047494d] ; mov ebp, dword [0x47494d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+lea eax, [ebp + 0xc]
+add eax, edx
+push eax
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456a1c ; call 0x456a1c
+add esp, 0x14
+
+loc_00409d8d:
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 2
+cmp dword [eax + ref_0048a84c], 0 ; cmp dword [eax + 0x48a84c], 0
+je short loc_00409de1 ; je 0x409de1
+push ebx
+movsx edx, word [eax + ref_0048a856] ; movsx edx, word [eax + 0x48a856]
+sub edx, 0x28
+push edx
+movsx edx, word [eax + ref_0048a854] ; movsx edx, word [eax + 0x48a854]
+push edx
+xor edx, edx
+mov dl, byte [eax + ref_0048a853] ; mov dl, byte [eax + 0x48a853]
+mov ebx, edx
+shl ebx, 2
+sub ebx, edx
+shl ebx, 2
+mov eax, dword [eax + ref_0048a84c] ; mov eax, dword [eax + 0x48a84c]
+add eax, 0xc
+add eax, ebx
+push eax
+mov ecx, dword [ref_00474938] ; mov ecx, dword [0x474938]
+push ecx
+call fcn_00456a1c ; call 0x456a1c
+add esp, 0x14
+
+loc_00409de1:
+inc esi
+jmp near loc_00409c70 ; jmp 0x409c70
+
+fcn_00409de7:
+push ebx
+push esi
+push edi
+push 0x5e880
+push 0
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+push edx
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+cmp dword [ref_0048bac8], 0 ; cmp dword [0x48bac8], 0
+je near loc_00409ef5 ; je 0x409ef5
+xor ecx, ecx
+
+loc_00409e0f:
+cmp ecx, dword [ref_0048bac8] ; cmp ecx, dword [0x48bac8]
+jge near loc_00409ee7 ; jge 0x409ee7
+mov edi, dword [ecx*4 + ref_0048a44c] ; mov edi, dword [ecx*4 + 0x48a44c]
+shr edi, 0x10
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 2
+cmp word [eax + ref_0048a850], 0 ; cmp word [eax + 0x48a850], 0
+je near loc_00409ee1 ; je 0x409ee1
+cmp dword [eax + ref_0048a84c], 0 ; cmp dword [eax + 0x48a84c], 0
+je near loc_00409ee1 ; je 0x409ee1
+movsx ebx, word [eax + ref_0048a854] ; movsx ebx, word [eax + 0x48a854]
+movsx edx, word [eax + ref_0048a856] ; movsx edx, word [eax + 0x48a856]
+sub edx, 0x28
+test byte [eax + ref_0048a851], 0x80 ; test byte [eax + 0x48a851], 0x80
+je short loc_00409e95 ; je 0x409e95
+test byte [eax + ref_0048a851], 0x3f ; test byte [eax + 0x48a851], 0x3f
+je short loc_00409e95 ; je 0x409e95
+mov ax, word [eax + ref_0048a850] ; mov ax, word [eax + 0x48a850]
+xor al, al
+and ah, 0x3f
+and eax, 0xffff
+sar eax, 8
+lea esi, [eax - 1]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+cmp byte [eax*8 + ref_00496d0d], 0 ; cmp byte [eax*8 + 0x496d0d], 0
+jne short loc_00409ee1 ; jne 0x409ee1
+
+loc_00409e95:
+test ebx, ebx
+jl short loc_00409ee1 ; jl 0x409ee1
+cmp ebx, 0x1b8
+jge short loc_00409ee1 ; jge 0x409ee1
+test edx, edx
+jl short loc_00409ee1 ; jl 0x409ee1
+cmp edx, 0x1b8
+jge short loc_00409ee1 ; jge 0x409ee1
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+lea edx, [eax + ebx]
+add edx, edx
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+add edx, eax
+mov eax, edi
+shl eax, 2
+sub eax, edi
+mov ax, word [eax*4 + ref_0048a850] ; mov ax, word [eax*4 + 0x48a850]
+or word [edx], ax
+
+loc_00409ee1:
+inc ecx
+jmp near loc_00409e0f ; jmp 0x409e0f
+
+loc_00409ee7:
+xor esi, esi
+mov dword [ref_00474930], esi ; mov dword [0x474930], esi
+mov dword [ref_00474934], esi ; mov dword [0x474934], esi
+
+loc_00409ef5:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00409ef9:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+mov eax, dword [ref_0048b2ac] ; mov eax, dword [0x48b2ac]
+mov dword [ref_00474930], eax ; mov dword [0x474930], eax
+mov edx, eax
+mov eax, dword [ref_0048b2b0] ; mov eax, dword [0x48b2b0]
+mov dword [ref_00474934], eax ; mov dword [0x474934], eax
+mov ecx, edx
+sar ecx, 5
+mov dword [esp + 0x10], ecx
+mov ecx, eax
+sar ecx, 5
+mov dword [esp + 0x14], ecx
+lea ecx, [esp + 4]
+push ecx
+lea ecx, [esp + 4]
+push ecx
+push eax
+push edx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+push 0x5e880
+push 0
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+push edx
+add dword [esp + 0xc], 0xdc
+add dword [esp + 0x10], 0xdc
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov edi, 1
+mov esi, dword [ref_00498e80] ; mov esi, dword [0x498e80]
+
+loc_00409f6d:
+add esi, 0x28
+cmp edi, dword [ref_00498e9c] ; cmp edi, dword [0x498e9c]
+jg near loc_0040a050 ; jg 0x40a050
+test dword [esi + 0x24], 0xffff00
+jne near loc_0040a04a ; jne 0x40a04a
+movsx eax, word [esi]
+mov edx, eax
+sar edx, 5
+sub edx, dword [esp + 0x10]
+lea ebx, [edx + 0xe]
+movsx edx, word [esi + 2]
+mov ecx, edx
+sar ecx, 5
+sub ecx, dword [esp + 0x14]
+lea ebp, [ecx + 0xe]
+test ebx, ebx
+jl near loc_0040a04a ; jl 0x40a04a
+cmp ebx, 0x1c
+jg near loc_0040a04a ; jg 0x40a04a
+test ebp, ebp
+jl near loc_0040a04a ; jl 0x40a04a
+cmp ebp, 0x1c
+jg near loc_0040a04a ; jg 0x40a04a
+lea ecx, [esp + 0xc]
+push ecx
+lea ecx, [esp + 0xc]
+push ecx
+push edx
+push eax
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul ebp, ebp, 0x74
+add ebp, eax
+mov eax, ebx
+movsx edx, word [ebp + eax*4 + ref_0046ccf2] ; movsx edx, word [ebp + eax*4 + 0x46ccf2]
+sub edx, dword [esp + 8]
+mov ecx, dword [esp]
+add ecx, edx
+movsx edx, word [ebp + eax*4 + ref_0046ccf0] ; movsx edx, word [ebp + eax*4 + 0x46ccf0]
+sub edx, dword [esp + 0xc]
+add edx, dword [esp + 4]
+test ecx, ecx
+jl short loc_0040a04a ; jl 0x40a04a
+cmp ecx, 0x1b8
+jge short loc_0040a04a ; jge 0x40a04a
+test edx, edx
+jl short loc_0040a04a ; jl 0x40a04a
+cmp edx, 0x1b8
+jge short loc_0040a04a ; jge 0x40a04a
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+add eax, ecx
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+mov word [edx + eax*2], di
+
+loc_0040a04a:
+inc edi
+jmp near loc_00409f6d ; jmp 0x409f6d
+
+loc_0040a050:
+xor eax, eax
+mov dword [ref_00474930], eax ; mov dword [0x474930], eax
+mov dword [ref_00474934], eax ; mov dword [0x474934], eax
+xor edi, edi
+xor ecx, ecx
+xor esi, esi
+jmp short loc_0040a073 ; jmp 0x40a073
+
+loc_0040a064:
+add ecx, 0x1b8
+inc edi
+cmp edi, 0x1b8
+jge short loc_0040a0a0 ; jge 0x40a0a0
+
+loc_0040a073:
+xor ebx, ebx
+jmp short loc_0040a080 ; jmp 0x40a080
+
+loc_0040a077:
+inc ebx
+cmp ebx, 0x1b8
+jge short loc_0040a064 ; jge 0x40a064
+
+loc_0040a080:
+lea eax, [ecx + ebx]
+add eax, eax
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+add eax, edx
+mov dx, word [eax]
+test dx, dx
+je short loc_0040a077 ; je 0x40a077
+mov word [esi*2 + ref_0048b8c4], dx ; mov word [esi*2 + 0x48b8c4], dx
+inc esi
+jmp short loc_0040a077 ; jmp 0x40a077
+
+loc_0040a0a0:
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+mov eax, esi
+jmp near loc_0040b33b ; jmp 0x40b33b
+
+fcn_0040a0b1:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+mov eax, dword [esp + 0x2c]
+sar eax, 5
+mov dword [esp + 0x14], eax
+mov eax, dword [esp + 0x30]
+sar eax, 5
+mov dword [esp + 0x10], eax
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 4]
+push eax
+mov edx, dword [esp + 0x38]
+push edx
+mov ecx, dword [esp + 0x38]
+push ecx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+push 0x5e880
+push 0
+mov ebx, dword [ref_00474938] ; mov ebx, dword [0x474938]
+push ebx
+add dword [esp + 0xc], 0xdc
+add dword [esp + 0x10], 0xdc
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [eax + ref_00496b9a] ; mov edx, dword [eax + 0x496b9a]
+test edx, edx
+jne near loc_0040a206 ; jne 0x40a206
+mov dx, word [eax + ref_00496b70] ; mov dx, word [eax + 0x496b70]
+mov ecx, edx
+sar ecx, 5
+sub ecx, dword [esp + 0x14]
+lea ebx, [ecx + 0xe]
+mov ax, word [eax + ref_00496b72] ; mov ax, word [eax + 0x496b72]
+and eax, 0xffff
+mov ebp, eax
+sar ebp, 5
+sub ebp, dword [esp + 0x10]
+add ebp, 0xe
+test ebx, ebx
+jl near loc_0040a206 ; jl 0x40a206
+cmp ebx, 0x1c
+jg near loc_0040a206 ; jg 0x40a206
+test ebp, ebp
+jl near loc_0040a206 ; jl 0x40a206
+cmp ebp, 0x1c
+jg near loc_0040a206 ; jg 0x40a206
+lea ecx, [esp + 0xc]
+push ecx
+lea ecx, [esp + 0xc]
+push ecx
+push eax
+push edx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul edx, ebp, 0x74
+add edx, eax
+mov eax, ebx
+shl eax, 2
+add eax, edx
+movsx edx, word [eax + ref_0046ccf2] ; movsx edx, word [eax + 0x46ccf2]
+sub edx, dword [esp + 8]
+mov ebx, dword [esp]
+add ebx, edx
+movsx eax, word [eax + ref_0046ccf0] ; movsx eax, word [eax + 0x46ccf0]
+sub eax, dword [esp + 0xc]
+add eax, dword [esp + 4]
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+mov edx, 1
+shl edx, cl
+mov ecx, edx
+add ch, 0x80
+test ebx, ebx
+jl short loc_0040a206 ; jl 0x40a206
+cmp ebx, 0x1b8
+jge short loc_0040a206 ; jge 0x40a206
+test eax, eax
+jl short loc_0040a206 ; jl 0x40a206
+cmp eax, 0x1b8
+jge short loc_0040a206 ; jge 0x40a206
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+add eax, ebx
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+mov word [edx + eax*2], cx
+
+loc_0040a206:
+mov edi, 1
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+
+loc_0040a211:
+add esi, 0x34
+cmp edi, dword [ref_00498e98] ; cmp edi, dword [0x498e98]
+jg near loc_0040a2f6 ; jg 0x40a2f6
+cmp byte [esi + 0x19], 0
+je near loc_0040a2f0 ; je 0x40a2f0
+movsx edx, word [esi]
+mov ebx, edx
+sar ebx, 5
+sub ebx, dword [esp + 0x14]
+add ebx, 0xe
+movsx eax, word [esi + 2]
+mov ecx, eax
+sar ecx, 5
+sub ecx, dword [esp + 0x10]
+lea ebp, [ecx + 0xe]
+test ebx, ebx
+jl near loc_0040a2f0 ; jl 0x40a2f0
+cmp ebx, 0x1c
+jg near loc_0040a2f0 ; jg 0x40a2f0
+test ebp, ebp
+jl near loc_0040a2f0 ; jl 0x40a2f0
+cmp ebp, 0x1c
+jg near loc_0040a2f0 ; jg 0x40a2f0
+lea ecx, [esp + 0xc]
+push ecx
+lea ecx, [esp + 0xc]
+push ecx
+push eax
+push edx
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul ebp, ebp, 0x74
+add ebp, eax
+mov eax, ebx
+movsx ebx, word [ebp + eax*4 + ref_0046ccf2] ; movsx ebx, word [ebp + eax*4 + 0x46ccf2]
+sub ebx, dword [esp + 8]
+add ebx, dword [esp]
+movsx eax, word [ebp + eax*4 + ref_0046ccf0] ; movsx eax, word [ebp + eax*4 + 0x46ccf0]
+sub eax, dword [esp + 0xc]
+add eax, dword [esp + 4]
+test ebx, ebx
+jl short loc_0040a2f0 ; jl 0x40a2f0
+cmp ebx, 0x1b8
+jge short loc_0040a2f0 ; jge 0x40a2f0
+test eax, eax
+jl short loc_0040a2f0 ; jl 0x40a2f0
+cmp eax, 0x1b8
+jge short loc_0040a2f0 ; jge 0x40a2f0
+mov ecx, edi
+add ecx, 0x7d0
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+add eax, ebx
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+mov word [edx + eax*2], cx
+
+loc_0040a2f0:
+inc edi
+jmp near loc_0040a211 ; jmp 0x40a211
+
+loc_0040a2f6:
+mov edi, 1
+mov esi, dword [ref_00498e88] ; mov esi, dword [0x498e88]
+
+loc_0040a301:
+add esi, 0x38
+cmp edi, dword [ref_00498e8c] ; cmp edi, dword [0x498e8c]
+jg near loc_0040a3e9 ; jg 0x40a3e9
+cmp byte [esi + 0x19], 0
+je near loc_0040a3e3 ; je 0x40a3e3
+movsx eax, word [esi]
+mov edx, eax
+sar edx, 5
+sub edx, dword [esp + 0x14]
+lea ebx, [edx + 0xe]
+movsx edx, word [esi + 2]
+mov ecx, edx
+sar ecx, 5
+sub ecx, dword [esp + 0x10]
+lea ebp, [ecx + 0xe]
+test ebx, ebx
+jl near loc_0040a3e3 ; jl 0x40a3e3
+cmp ebx, 0x1c
+jg near loc_0040a3e3 ; jg 0x40a3e3
+test ebp, ebp
+jl near loc_0040a3e3 ; jl 0x40a3e3
+cmp ebp, 0x1c
+jg near loc_0040a3e3 ; jg 0x40a3e3
+lea ecx, [esp + 0xc]
+push ecx
+lea ecx, [esp + 0xc]
+push ecx
+push edx
+push eax
+call fcn_00407a2c ; call 0x407a2c
+add esp, 0x10
+imul eax, dword [ref_00499088], 0xd24 ; imul eax, dword [0x499088], 0xd24
+imul ebp, ebp, 0x74
+add ebp, eax
+mov eax, ebx
+movsx edx, word [ebp + eax*4 + ref_0046ccf2] ; movsx edx, word [ebp + eax*4 + 0x46ccf2]
+sub edx, dword [esp + 8]
+mov ebx, dword [esp]
+add ebx, edx
+movsx eax, word [ebp + eax*4 + ref_0046ccf0] ; movsx eax, word [ebp + eax*4 + 0x46ccf0]
+sub eax, dword [esp + 0xc]
+add eax, dword [esp + 4]
+test ebx, ebx
+jl short loc_0040a3e3 ; jl 0x40a3e3
+cmp ebx, 0x1b8
+jge short loc_0040a3e3 ; jge 0x40a3e3
+test eax, eax
+jl short loc_0040a3e3 ; jl 0x40a3e3
+cmp eax, 0x1b8
+jge short loc_0040a3e3 ; jge 0x40a3e3
+mov ecx, edi
+add ecx, 0xfa0
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add edx, eax
+add edx, ebx
+add edx, edx
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+mov word [edx + eax], cx
+
+loc_0040a3e3:
+inc edi
+jmp near loc_0040a301 ; jmp 0x40a301
+
+loc_0040a3e9:
+mov edx, dword [esp + 0x34]
+cmp edx, 0xffffffff
+jne short loc_0040a3fb ; jne 0x40a3fb
+xor ecx, ecx
+mov ebp, 0x1b8
+jmp short loc_0040a421 ; jmp 0x40a421
+
+loc_0040a3fb:
+mov edi, 0xdc
+sub edi, edx
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+lea ecx, [eax + edi]
+mov ebp, dword [esp + 0x34]
+add ebp, ebp
+
+loc_0040a421:
+xor edi, edi
+xor esi, esi
+
+loc_0040a425:
+cmp edi, ebp
+jge near loc_0040a0a0 ; jge 0x40a0a0
+xor ebx, ebx
+
+loc_0040a42f:
+cmp ebx, ebp
+jge short loc_0040a453 ; jge 0x40a453
+lea edx, [ecx + ebx]
+add edx, edx
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+add eax, edx
+mov dx, word [eax]
+test dx, dx
+je short loc_0040a450 ; je 0x40a450
+mov word [esi*2 + ref_0048b8c4], dx ; mov word [esi*2 + 0x48b8c4], dx
+inc esi
+
+loc_0040a450:
+inc ebx
+jmp short loc_0040a42f ; jmp 0x40a42f
+
+loc_0040a453:
+add ecx, 0x1b8
+inc edi
+jmp short loc_0040a425 ; jmp 0x40a425
+
+fcn_0040a45c:
+push ebx
+push esi
+push edi
+push ebp
+mov edi, dword [esp + 0x14]
+cmp edi, 0xffffffff
+jne short loc_0040a472 ; jne 0x40a472
+xor esi, esi
+mov edi, 0x1b8
+jmp short loc_0040a494 ; jmp 0x40a494
+
+loc_0040a472:
+mov ebp, 0xdc
+sub ebp, edi
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+lea esi, [eax + ebp]
+add edi, edi
+
+loc_0040a494:
+call fcn_00409de7 ; call 0x409de7
+xor ebp, ebp
+xor ebx, ebx
+
+loc_0040a49d:
+cmp ebp, edi
+jge short loc_0040a4d0 ; jge 0x40a4d0
+xor edx, edx
+
+loc_0040a4a3:
+cmp edx, edi
+jge short loc_0040a4c7 ; jge 0x40a4c7
+lea ecx, [esi + edx]
+add ecx, ecx
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+add eax, ecx
+mov cx, word [eax]
+test cx, cx
+je short loc_0040a4c4 ; je 0x40a4c4
+mov word [ebx*2 + ref_0048b8c4], cx ; mov word [ebx*2 + 0x48b8c4], cx
+inc ebx
+
+loc_0040a4c4:
+inc edx
+jmp short loc_0040a4a3 ; jmp 0x40a4a3
+
+loc_0040a4c7:
+add esi, 0x1b8
+inc ebp
+jmp short loc_0040a49d ; jmp 0x40a49d
+
+loc_0040a4d0:
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+mov eax, ebx
+
+loc_0040a4dc:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040a4e1:
+push ebx
+push esi
+push edi
+push ebp
+mov edi, dword [esp + 0x14]
+push 0
+push 0
+mov ecx, dword [ref_0048bad0] ; mov ecx, dword [0x48bad0]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 2
+add ecx, 0xc
+add ecx, eax
+push ecx
+mov edx, dword [ref_0048badc] ; mov edx, dword [0x48badc]
+add edx, 0xc
+add eax, edx
+push eax
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+mov esi, 1
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+
+loc_0040a522:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_0040a60f ; jg 0x40a60f
+cmp byte [ebx + 0x19], 0
+je near loc_0040a609 ; je 0x40a609
+test edi, edi
+je short loc_0040a583 ; je 0x40a583
+movsx edx, word [ebx]
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 3
+add ecx, edx
+shl ecx, 7
+sar ecx, 0x10
+movsx edx, word [ebx + 2]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 7
+sar edx, 0x10
+mov al, byte [ebx + 0x1b]
+and al, 1
+and eax, 0xff
+add eax, 0x1a
+jmp short loc_0040a5c5 ; jmp 0x40a5c5
+
+loc_0040a583:
+movsx edx, word [ebx]
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 3
+add ecx, edx
+shl ecx, 6
+sar ecx, 0x10
+movsx edx, word [ebx + 2]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 6
+sar edx, 0x10
+mov al, byte [ebx + 0x1b]
+and al, 1
+and eax, 0xff
+add eax, 0x16
+
+loc_0040a5c5:
+movzx ebp, byte [ebx + 0x19]
+dec ebp
+imul ebp, ebp, 0x68
+push dword [ebp + ref_00496b6c] ; push dword [ebp + 0x496b6c]
+push edx
+push ecx
+mov ecx, dword [ref_0048bad8] ; mov ecx, dword [0x48bad8]
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+mov ecx, dword [ref_0048badc] ; mov ecx, dword [0x48badc]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+call fcn_00456384 ; call 0x456384
+add esp, 0x14
+
+loc_0040a609:
+inc esi
+jmp near loc_0040a522 ; jmp 0x40a522
+
+loc_0040a60f:
+mov esi, 1
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+
+loc_0040a61a:
+add ebx, 0x38
+cmp esi, dword [ref_00498e8c] ; cmp esi, dword [0x498e8c]
+jg near loc_0040a709 ; jg 0x40a709
+cmp byte [ebx + 0x19], 0
+je near loc_0040a703 ; je 0x40a703
+test edi, edi
+je short loc_0040a67b ; je 0x40a67b
+movsx edx, word [ebx]
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 3
+add ecx, edx
+shl ecx, 7
+sar ecx, 0x10
+movsx edx, word [ebx + 2]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 7
+sar edx, 0x10
+mov al, byte [ebx + 0x1b]
+and al, 1
+and eax, 0xff
+add eax, 0x1c
+jmp short loc_0040a6bd ; jmp 0x40a6bd
+
+loc_0040a67b:
+movsx edx, word [ebx]
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 3
+add ecx, edx
+shl ecx, 6
+sar ecx, 0x10
+movsx edx, word [ebx + 2]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 6
+sar edx, 0x10
+mov al, byte [ebx + 0x1b]
+and al, 1
+and eax, 0xff
+add eax, 0x18
+
+loc_0040a6bd:
+movzx ebp, byte [ebx + 0x19]
+dec ebp
+imul ebp, ebp, 0x68
+push dword [ebp + ref_00496b6c] ; push dword [ebp + 0x496b6c]
+push edx
+push ecx
+mov ecx, dword [ref_0048bad8] ; mov ecx, dword [0x48bad8]
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+lea eax, [ecx + 0xc]
+add eax, edx
+push eax
+mov ecx, dword [ref_0048badc] ; mov ecx, dword [0x48badc]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 2
+lea edx, [ecx + 0xc]
+add eax, edx
+push eax
+call fcn_00456384 ; call 0x456384
+add esp, 0x14
+
+loc_0040a703:
+inc esi
+jmp near loc_0040a61a ; jmp 0x40a61a
+
+loc_0040a709:
+mov esi, 1
+mov ebx, dword [ref_00498e7c] ; mov ebx, dword [0x498e7c]
+
+loc_0040a714:
+add ebx, 0x34
+cmp esi, dword [ref_00498e90] ; cmp esi, dword [0x498e90]
+jg near loc_0040a4dc ; jg 0x40a4dc
+cmp byte [ebx + 0x18], 0
+je near loc_0040a7fb ; je 0x40a7fb
+test edi, edi
+je short loc_0040a775 ; je 0x40a775
+movsx edx, word [ebx]
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 3
+add ecx, edx
+shl ecx, 7
+sar ecx, 0x10
+movsx edx, word [ebx + 2]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 7
+sar edx, 0x10
+mov al, byte [ebx + 0x1b]
+and al, 1
+and eax, 0xff
+add eax, 0x1c
+jmp short loc_0040a7b7 ; jmp 0x40a7b7
+
+loc_0040a775:
+movsx edx, word [ebx]
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 3
+add ecx, edx
+shl ecx, 6
+sar ecx, 0x10
+movsx edx, word [ebx + 2]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 6
+sar edx, 0x10
+mov al, byte [ebx + 0x1b]
+and al, 1
+and eax, 0xff
+add eax, 0x18
+
+loc_0040a7b7:
+movzx ebp, byte [ebx + 0x18]
+dec ebp
+imul ebp, ebp, 0x68
+push dword [ebp + ref_00496b6c] ; push dword [ebp + 0x496b6c]
+push edx
+push ecx
+mov ecx, dword [ref_0048bad8] ; mov ecx, dword [0x48bad8]
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 2
+lea edx, [ecx + 0xc]
+add eax, edx
+push eax
+mov ecx, dword [ref_0048badc] ; mov ecx, dword [0x48badc]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+call fcn_00456384 ; call 0x456384
+add esp, 0x14
+
+loc_0040a7fb:
+inc esi
+jmp near loc_0040a714 ; jmp 0x40a714
+
+fcn_0040a801:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov eax, dword [esp + 0x28]
+cmp eax, 0x205
+jb short loc_0040a821 ; jb 0x40a821
+jbe short loc_0040a854 ; jbe 0x40a854
+cmp eax, 0x401
+je short loc_0040a82b ; je 0x40a82b
+jmp near loc_0040a9a4 ; jmp 0x40a9a4
+
+loc_0040a821:
+cmp eax, 0xf
+je short loc_0040a86d ; je 0x40a86d
+jmp near loc_0040a9a4 ; jmp 0x40a9a4
+
+loc_0040a82b:
+push 1
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+mov edx, dword [esp + 0x2c]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0040a998 ; jmp 0x40a998
+
+loc_0040a854:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_0040a998 ; jmp 0x40a998
+
+loc_0040a86d:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x3c
+push 0x14
+mov eax, dword [ref_0048badc] ; mov eax, dword [0x48badc]
+add eax, 0x18
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor ebx, ebx
+
+loc_0040a8a1:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_0040a928 ; jge 0x40a928
+imul edx, ebx, 0x68
+cmp word [edx + ref_00496b70], 0 ; cmp word [edx + 0x496b70], 0
+je short loc_0040a922 ; je 0x40a922
+xor ecx, ecx
+mov cx, word [edx + ref_00496b70] ; mov cx, word [edx + 0x496b70]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 3
+add eax, ecx
+shl eax, 7
+sar eax, 0x10
+lea ecx, [eax + 0x14]
+mov dx, word [edx + ref_00496b72] ; mov dx, word [edx + 0x496b72]
+and edx, 0xffff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 7
+sar eax, 0x10
+add eax, 0x3c
+push eax
+push ecx
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x48
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0040a922:
+inc ebx
+jmp near loc_0040a8a1 ; jmp 0x40a8a1
+
+loc_0040a928:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp], 0x14
+mov dword [esp + 4], 0x3c
+mov dword [esp + 8], 0x1a4
+mov dword [esp + 0xc], 0x1cc
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+push 0x3c
+push 0x14
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+push 0
+mov edi, dword [esp + 0x28]
+push edi
+call dword [cs:__imp__ValidateRect@8] ; ucall: call dword cs:[0x462340]
+
+loc_0040a998:
+xor eax, eax
+
+loc_0040a99a:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_0040a9a4:
+mov ecx, dword [esp + 0x30]
+push ecx
+mov ebx, dword [esp + 0x30]
+push ebx
+push eax
+mov esi, dword [esp + 0x30]
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp short loc_0040a99a ; jmp 0x40a99a
+
+fcn_0040a9bd:
+push 0
+push fcn_0040a801 ; push 0x40a801
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+push 1
+call fcn_00415e70 ; call 0x415e70
+add esp, 4
+ret
+
+fcn_0040a9d7:
+push 0
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+mov edx, dword [esp + 8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+add eax, dword [esp + 4]
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+mov ax, word [edx + eax*2]
+and eax, 0xffff
+ret
+
+fcn_0040aa0f:
+push ebx
+sub esp, 0x100
+mov edx, 1
+xor ebx, ebx
+
+loc_0040aa1d:
+cmp edx, dword [ref_00498e9c] ; cmp edx, dword [0x498e9c]
+jg short loc_0040aa53 ; jg 0x40aa53
+mov eax, edx
+shl eax, 2
+lea ecx, [edx + eax]
+shl ecx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, ecx
+test dword [eax + 0x24], 0x80ffff00
+jne short loc_0040aa50 ; jne 0x40aa50
+cmp dword [eax + 0x18], 0
+jne short loc_0040aa4c ; jne 0x40aa4c
+cmp dword [eax + 0x1c], 0
+je short loc_0040aa50 ; je 0x40aa50
+
+loc_0040aa4c:
+mov byte [esp + ebx], dl
+inc ebx
+
+loc_0040aa50:
+inc edx
+jmp short loc_0040aa1d ; jmp 0x40aa1d
+
+loc_0040aa53:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+xor eax, eax
+mov al, byte [esp + edx]
+add esp, 0x100
+pop ebx
+ret
+
+fcn_0040aa6c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x104
+mov edx, dword [esp + 0x118]
+test edx, edx
+je short loc_0040aaa2 ; je 0x40aaa2
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov ebp, dword [ref_00498e80] ; mov ebp, dword [0x498e80]
+add ebp, eax
+movsx eax, word [ebp]
+mov dword [esp + 0x100], eax
+movsx ebp, word [ebp + 2]
+
+loc_0040aaa2:
+mov edx, 1
+xor ebx, ebx
+
+loc_0040aaa9:
+cmp edx, dword [ref_00498e9c] ; cmp edx, dword [0x498e9c]
+jg short loc_0040aadf ; jg 0x40aadf
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+add eax, ecx
+test dword [eax + 0x24], 0x80ffff00
+jne short loc_0040aadc ; jne 0x40aadc
+cmp dword [eax + 0x18], 0
+jne short loc_0040aad8 ; jne 0x40aad8
+cmp dword [eax + 0x1c], 0
+je short loc_0040aadc ; je 0x40aadc
+
+loc_0040aad8:
+mov byte [esp + ebx], dl
+inc ebx
+
+loc_0040aadc:
+inc edx
+jmp short loc_0040aaa9 ; jmp 0x40aaa9
+
+loc_0040aadf:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+movzx esi, byte [esp + edx]
+mov eax, esi
+shl eax, 2
+add eax, esi
+shl eax, 3
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+add eax, edx
+movsx edx, word [eax]
+movsx edi, word [eax + 2]
+cmp dword [esp + 0x118], 0
+je short loc_0040ab3d ; je 0x40ab3d
+sub edx, dword [esp + 0x100]
+push edx
+call fcn_00458276 ; call 0x458276
+add esp, 4
+cmp eax, 0x12c
+jge short loc_0040ab3d ; jge 0x40ab3d
+mov eax, edi
+sub eax, ebp
+push eax
+call fcn_00458276 ; call 0x458276
+add esp, 4
+cmp eax, 0x12c
+jl short loc_0040aadf ; jl 0x40aadf
+
+loc_0040ab3d:
+mov eax, esi
+add esp, 0x104
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040ab4a:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+mov ebx, dword [esp + 0x10]
+xor edx, edx
+cmp esi, 0x7d0
+jle near loc_0040abdb ; jle 0x40abdb
+cmp esi, 0xfa0
+jge near loc_0040abdb ; jge 0x40abdb
+lea eax, [esi - 0x7d0]
+imul ecx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, ecx
+cmp ebx, 1
+jb short loc_0040ab8c ; jb 0x40ab8c
+jbe short loc_0040abae ; jbe 0x40abae
+cmp ebx, 2
+je short loc_0040abc8 ; je 0x40abc8
+jmp short loc_0040abdb ; jmp 0x40abdb
+
+loc_0040ab8c:
+test ebx, ebx
+jne short loc_0040abdb ; jne 0x40abdb
+mov ch, byte [eax + 0x1a]
+test ch, ch
+je short loc_0040abdb ; je 0x40abdb
+mov dl, ch
+dec dl
+mov byte [eax + 0x1a], dl
+cmp byte [eax + 0x18], 0
+je short loc_0040abd6 ; je 0x40abd6
+mov byte [eax + 0x1a], 0
+mov byte [eax + 0x18], 0
+jmp short loc_0040abd6 ; jmp 0x40abd6
+
+loc_0040abae:
+mov byte [eax + 0x19], 0
+mov byte [eax + 0x1a], 0
+mov byte [eax + 0x18], 0
+mov dword [eax + 0x30], edx
+push edx
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+jmp short loc_0040abd6 ; jmp 0x40abd6
+
+loc_0040abc8:
+cmp byte [eax + 0x1a], 0
+je short loc_0040abdb ; je 0x40abdb
+mov byte [eax + 0x1a], 0
+mov byte [eax + 0x18], 0
+
+loc_0040abd6:
+mov edx, 1
+
+loc_0040abdb:
+cmp esi, 0xfa0
+jle near loc_0040ac76 ; jle 0x40ac76
+cmp esi, 0x1770
+jge near loc_0040ac76 ; jge 0x40ac76
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov ecx, eax
+shl eax, 3
+sub eax, ecx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+add eax, ecx
+cmp ebx, 1
+jb short loc_0040ac1c ; jb 0x40ac1c
+jbe short loc_0040ac3a ; jbe 0x40ac3a
+cmp ebx, 2
+je short loc_0040ac5e ; je 0x40ac5e
+mov eax, edx
+pop esi
+pop ebx
+ret
+
+loc_0040ac1c:
+test ebx, ebx
+jne short loc_0040ac76 ; jne 0x40ac76
+mov bh, byte [eax + 0x1a]
+test bh, bh
+je short loc_0040ac76 ; je 0x40ac76
+mov cl, bh
+dec cl
+mov byte [eax + 0x1a], cl
+jne short loc_0040ac71 ; jne 0x40ac71
+mov byte [eax + 0x18], cl
+call fcn_0040dffa ; call 0x40dffa
+jmp short loc_0040ac71 ; jmp 0x40ac71
+
+loc_0040ac3a:
+mov byte [eax + 0x19], 0
+mov byte [eax + 0x1a], 0
+mov byte [eax + 0x18], 0
+mov dword [eax + 0x34], 0
+call fcn_0040dffa ; call 0x40dffa
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+jmp short loc_0040ac71 ; jmp 0x40ac71
+
+loc_0040ac5e:
+cmp byte [eax + 0x1a], 0
+je short loc_0040ac76 ; je 0x40ac76
+mov byte [eax + 0x1a], 0
+mov byte [eax + 0x18], 0
+call fcn_0040dffa ; call 0x40dffa
+
+loc_0040ac71:
+mov edx, 1
+
+loc_0040ac76:
+mov eax, edx
+pop esi
+pop ebx
+ret
+
+fcn_0040ac7b:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+mov ebp, dword [esp + 0x28]
+mov esi, dword [esp + 0x2c]
+mov edx, dword [esp + 0x20]
+push edx
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [esp], eax
+xor edi, edi
+
+loc_0040ac9c:
+cmp edi, dword [esp]
+jge near loc_0040af0a ; jge 0x40af0a
+mov ax, word [edi*2 + ref_0048b8c4] ; mov ax, word [edi*2 + 0x48b8c4]
+and eax, 0xffff
+mov dword [esp + 8], eax
+test byte [esp + 0x24], 2
+je near loc_0040ad88 ; je 0x40ad88
+mov ebx, dword [esp + 8]
+cmp ebx, 0x7d0
+jle near loc_0040ad88 ; jle 0x40ad88
+cmp ebx, 0xfa0
+jge near loc_0040ad88 ; jge 0x40ad88
+lea eax, [ebx - 0x7d0]
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+test ebp, ebp
+jne short loc_0040ad3a ; jne 0x40ad3a
+cmp esi, 0xffffffff
+je short loc_0040ad1c ; je 0x40ad1c
+cmp byte [ebx + 0x19], 0
+je short loc_0040ad1c ; je 0x40ad1c
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+push esi
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_0040ad1c:
+mov cl, byte [ebx + 0x1a]
+test cl, cl
+je short loc_0040ad2a ; je 0x40ad2a
+mov ch, cl
+dec ch
+mov byte [ebx + 0x1a], ch
+
+loc_0040ad2a:
+cmp byte [ebx + 0x18], 0
+je short loc_0040ad88 ; je 0x40ad88
+mov byte [ebx + 0x1a], 0
+mov byte [ebx + 0x18], 0
+jmp short loc_0040ad88 ; jmp 0x40ad88
+
+loc_0040ad3a:
+cmp esi, 0xffffffff
+je short loc_0040ad6b ; je 0x40ad6b
+cmp byte [ebx + 0x19], 0
+je short loc_0040ad6b ; je 0x40ad6b
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+add edx, edx
+mov eax, edx
+shl eax, 4
+sub eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+push esi
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_0040ad6b:
+mov byte [ebx + 0x19], 0
+mov byte [ebx + 0x1a], 0
+mov byte [ebx + 0x18], 0
+mov dword [ebx + 0x30], 0
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+
+loc_0040ad88:
+test byte [esp + 0x24], 4
+je near loc_0040ae67 ; je 0x40ae67
+mov ecx, dword [esp + 8]
+cmp ecx, 0xfa0
+jle near loc_0040ae67 ; jle 0x40ae67
+cmp ecx, 0x1770
+jge near loc_0040ae67 ; jge 0x40ae67
+lea eax, [ecx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+test ebp, ebp
+jne short loc_0040ae14 ; jne 0x40ae14
+cmp esi, 0xffffffff
+je short loc_0040adf5 ; je 0x40adf5
+cmp byte [ebx + 0x19], 0
+je short loc_0040adf5 ; je 0x40adf5
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+push esi
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_0040adf5:
+mov cl, byte [ebx + 0x1a]
+test cl, cl
+je short loc_0040ae03 ; je 0x40ae03
+mov ch, cl
+dec ch
+mov byte [ebx + 0x1a], ch
+
+loc_0040ae03:
+mov al, byte [ebx + 0x1a]
+test al, al
+jne short loc_0040ae67 ; jne 0x40ae67
+mov byte [ebx + 0x18], al
+call fcn_0040dffa ; call 0x40dffa
+jmp short loc_0040ae67 ; jmp 0x40ae67
+
+loc_0040ae14:
+cmp esi, 0xffffffff
+je short loc_0040ae45 ; je 0x40ae45
+cmp byte [ebx + 0x19], 0
+je short loc_0040ae45 ; je 0x40ae45
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+add edx, edx
+mov eax, edx
+shl eax, 4
+sub eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+push esi
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_0040ae45:
+mov byte [ebx + 0x19], 0
+mov byte [ebx + 0x1a], 0
+mov byte [ebx + 0x18], 0
+mov dword [ebx + 0x34], 0
+call fcn_0040dffa ; call 0x40dffa
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+
+loc_0040ae67:
+test byte [esp + 0x24], 0x20
+je near loc_0040af04 ; je 0x40af04
+test byte [esp + 9], 0x80
+je near loc_0040af04 ; je 0x40af04
+mov eax, dword [esp + 8]
+mov dword [esp + 4], eax
+test byte [esp + 8], 0xf
+je short loc_0040aeac ; je 0x40aeac
+xor ebx, ebx
+jmp short loc_0040ae9a ; jmp 0x40ae9a
+
+loc_0040ae90:
+sar dword [esp + 8], 1
+inc ebx
+cmp ebx, 4
+jge short loc_0040aeac ; jge 0x40aeac
+
+loc_0040ae9a:
+test byte [esp + 8], 1
+je short loc_0040ae90 ; je 0x40ae90
+push ebx
+call fcn_0040cd07 ; call 0x40cd07
+add esp, 4
+jmp short loc_0040ae90 ; jmp 0x40ae90
+
+loc_0040aeac:
+mov eax, dword [esp + 4]
+mov dword [esp + 8], eax
+test byte [esp + 4], 0xf0
+je short loc_0040aee0 ; je 0x40aee0
+mov ebx, 4
+jmp short loc_0040aecc ; jmp 0x40aecc
+
+loc_0040aec2:
+sar dword [esp + 8], 1
+inc ebx
+cmp ebx, 8
+jge short loc_0040aee0 ; jge 0x40aee0
+
+loc_0040aecc:
+test byte [esp + 8], 0x10
+je short loc_0040aec2 ; je 0x40aec2
+push 0
+push ebx
+call fcn_0043ec3f ; call 0x43ec3f
+add esp, 8
+jmp short loc_0040aec2 ; jmp 0x40aec2
+
+loc_0040aee0:
+test byte [esp + 5], 0x7f
+je short loc_0040af04 ; je 0x40af04
+mov eax, dword [esp + 4]
+sar eax, 8
+mov dword [esp + 8], eax
+mov edx, eax
+and edx, 0x7f
+mov dword [esp + 8], edx
+push edx
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+
+loc_0040af04:
+inc edi
+jmp near loc_0040ac9c ; jmp 0x40ac9c
+
+loc_0040af0a:
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040af12:
+push ebx
+mov eax, dword [esp + 8]
+xor ebx, ebx
+xor ecx, ecx
+cmp eax, 0x7d0
+jge short loc_0040af38 ; jge 0x40af38
+mov edx, eax
+shl edx, 2
+add edx, eax
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+movsx ebx, word [ecx + edx*8]
+movsx ecx, word [ecx + edx*8 + 2]
+
+loc_0040af38:
+cmp eax, 0x7d0
+jle short loc_0040af62 ; jle 0x40af62
+cmp eax, 0xfa0
+jge short loc_0040af62 ; jge 0x40af62
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ecx, dword [ref_00498e84] ; mov ecx, dword [0x498e84]
+
+loc_0040af54:
+movsx ebx, word [ecx + eax]
+movsx ecx, word [ecx + eax + 2]
+jmp near loc_0040b058 ; jmp 0x40b058
+
+loc_0040af62:
+cmp eax, 0xfa0
+jle short loc_0040af87 ; jle 0x40af87
+cmp eax, 0x1770
+jge short loc_0040af87 ; jge 0x40af87
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+jmp short loc_0040af54 ; jmp 0x40af54
+
+loc_0040af87:
+cmp eax, 0x1770
+jle short loc_0040afa5 ; jle 0x40afa5
+cmp eax, 0x1f40
+jge short loc_0040afa5 ; jge 0x40afa5
+sub eax, 0x1770
+imul eax, eax, 0x34
+mov ecx, dword [ref_00498e7c] ; mov ecx, dword [0x498e7c]
+jmp short loc_0040af54 ; jmp 0x40af54
+
+loc_0040afa5:
+cmp eax, 0x1f40
+jle short loc_0040afca ; jle 0x40afca
+cmp eax, 0x2710
+jge short loc_0040afca ; jge 0x40afca
+sub eax, 0x1f40
+shl eax, 2
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ecx, dword [ref_00498e78] ; mov ecx, dword [0x498e78]
+jmp short loc_0040af54 ; jmp 0x40af54
+
+loc_0040afca:
+test ah, 0x80
+je near loc_0040b058 ; je 0x40b058
+xor edx, edx
+test al, 0xf
+je short loc_0040afff ; je 0x40afff
+
+loc_0040afd9:
+mov ecx, eax
+and ecx, 1
+cmp ecx, 1
+je short loc_0040afe8 ; je 0x40afe8
+sar eax, 1
+inc edx
+jmp short loc_0040afd9 ; jmp 0x40afd9
+
+loc_0040afe8:
+imul edx, edx, 0x68
+xor ebx, ebx
+mov bx, word [edx + ref_00496b70] ; mov bx, word [edx + 0x496b70]
+xor ecx, ecx
+mov cx, word [edx + ref_00496b72] ; mov cx, word [edx + 0x496b72]
+jmp short loc_0040b058 ; jmp 0x40b058
+
+loc_0040afff:
+test al, 0xf0
+je short loc_0040b023 ; je 0x40b023
+
+loc_0040b003:
+test al, 0x10
+jne short loc_0040b00c ; jne 0x40b00c
+sar eax, 1
+inc edx
+jmp short loc_0040b003 ; jmp 0x40b003
+
+loc_0040b00c:
+shl edx, 4
+xor ebx, ebx
+mov bx, word [edx + ref_00498e28] ; mov bx, word [edx + 0x498e28]
+xor ecx, ecx
+mov cx, word [edx + ref_00498e2a] ; mov cx, word [edx + 0x498e2a]
+jmp short loc_0040b058 ; jmp 0x40b058
+
+loc_0040b023:
+test ah, 0x7f
+je short loc_0040b058 ; je 0x40b058
+sar eax, 8
+and eax, 0x7f
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor edx, edx
+mov dx, word [eax*8 + ref_00496d0a] ; mov dx, word [eax*8 + 0x496d0a]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+movsx ebx, word [ecx + eax*8]
+movsx ecx, word [ecx + eax*8 + 2]
+
+loc_0040b058:
+mov eax, dword [esp + 0xc]
+mov dword [eax], ebx
+mov eax, dword [esp + 0x10]
+mov dword [eax], ecx
+pop ebx
+ret
+
+fcn_0040b066:
+push ebx
+mov ebx, dword [esp + 8]
+xor edx, edx
+mov ecx, dword [ref_0048bac8] ; mov ecx, dword [0x48bac8]
+
+loc_0040b073:
+cmp edx, ecx
+jge short loc_0040b092 ; jge 0x40b092
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov ax, word [eax*4 + ref_0048a850] ; mov ax, word [eax*4 + 0x48a850]
+and eax, 0xffff
+cmp eax, ebx
+je short loc_0040b092 ; je 0x40b092
+inc edx
+jmp short loc_0040b073 ; jmp 0x40b073
+
+loc_0040b092:
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+movsx edx, word [eax + ref_0048a854] ; movsx edx, word [eax + 0x48a854]
+mov ecx, dword [esp + 0xc]
+mov dword [ecx], edx
+movsx edx, word [eax + ref_0048a856] ; movsx edx, word [eax + 0x48a856]
+mov ecx, dword [esp + 0x10]
+mov dword [ecx], edx
+mov ebx, dword [esp + 0x14]
+test ebx, ebx
+je short loc_0040b0cb ; je 0x40b0cb
+mov al, byte [eax + ref_0048a853] ; mov al, byte [eax + 0x48a853]
+and eax, 0xff
+mov dword [ebx], eax
+
+loc_0040b0cb:
+pop ebx
+ret
+
+fcn_0040b0cd:
+push ebx
+push 0
+push 0
+push 0x20b
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0
+push 0xffffffffffffffff
+call fcn_0040829d ; call 0x40829d
+add esp, 8
+push 0x5a
+push 1
+push 0x28
+push 0
+push ebx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+pop ebx
+ret
+
+fcn_0040b110:
+push ebx
+mov edx, dword [esp + 8]
+xor eax, eax
+cmp edx, 0x7d0
+jle short loc_0040b170 ; jle 0x40b170
+cmp edx, 0xfa0
+jge short loc_0040b170 ; jge 0x40b170
+lea ecx, [edx - 0x7d0]
+imul ecx, ecx, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, ecx
+cmp byte [ebx + 0x18], 0
+jne short loc_0040b149 ; jne 0x40b149
+cmp byte [ebx + 0x1a], 5
+jae short loc_0040b149 ; jae 0x40b149
+mov eax, 1
+
+loc_0040b149:
+mov cl, byte [ebx + 0x18]
+cmp cl, 1
+jne short loc_0040b15d ; jne 0x40b15d
+cmp cl, byte [ebx + 0x1a]
+jbe short loc_0040b15d ; jbe 0x40b15d
+mov eax, 1
+jmp short loc_0040b161 ; jmp 0x40b161
+
+loc_0040b15d:
+test eax, eax
+je short loc_0040b170 ; je 0x40b170
+
+loc_0040b161:
+mov cl, byte [ebx + 0x1a]
+inc cl
+mov byte [ebx + 0x1a], cl
+cmp cl, 5
+jne short loc_0040b170 ; jne 0x40b170
+or al, 0x80
+
+loc_0040b170:
+cmp edx, 0xfa0
+jle near loc_0040b21f ; jle 0x40b21f
+cmp edx, 0x1770
+jge near loc_0040b21f ; jge 0x40b21f
+lea ebx, [edx - 0xfa0]
+shl ebx, 3
+mov edx, ebx
+shl ebx, 3
+sub ebx, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add ebx, edx
+cmp byte [ebx + 0x1a], 0
+jne short loc_0040b1f9 ; jne 0x40b1f9
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+test byte [eax + ref_00496b7d], 6 ; test byte [eax + 0x496b7d], 6
+je short loc_0040b1e2 ; je 0x40b1e2
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne short loc_0040b1dc ; jne 0x40b1dc
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 4
+sar edx, 0x1f
+idiv ecx
+inc edx
+mov byte [ebx + 0x18], dl
+jmp short loc_0040b1ef ; jmp 0x40b1ef
+
+loc_0040b1dc:
+mov byte [ebx + 0x18], 0
+jmp short loc_0040b1ef ; jmp 0x40b1ef
+
+loc_0040b1e2:
+push 0
+call fcn_00440aac ; call 0x440aac
+add esp, 4
+mov byte [ebx + 0x18], al
+
+loc_0040b1ef:
+mov eax, 1
+inc byte [ebx + 0x1a]
+pop ebx
+ret
+
+loc_0040b1f9:
+xor edx, edx
+mov dl, byte [ebx + 0x18]
+mov cl, byte [ebx + 0x1a]
+cmp cl, byte [edx + ref_00474940] ; cmp cl, byte [edx + 0x474940]
+jae short loc_0040b21f ; jae 0x40b21f
+mov eax, 1
+mov dl, cl
+inc dl
+mov byte [ebx + 0x1a], dl
+cmp dl, 5
+jne short loc_0040b21f ; jne 0x40b21f
+mov eax, 0x81
+
+loc_0040b21f:
+pop ebx
+ret
+
+fcn_0040b221:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+xor edx, edx
+mov dword [esp + 8], edx
+push 0x10
+push edx
+push ref_0048b8b4 ; push 0x48b8b4
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+cmp dword [esp + 0x30], 8
+jle short loc_0040b24d ; jle 0x40b24d
+mov dword [esp + 0x30], 8
+
+loc_0040b24d:
+imul eax, dword [esp + 0x2c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+mov dword [esp + 0xc], edx
+mov ax, word [eax + ref_00496b76] ; mov ax, word [eax + 0x496b76]
+and eax, 0xffff
+mov dword [esp + 0x14], eax
+xor edi, edi
+mov dword [esp + 0x10], edi
+
+loc_0040b275:
+mov eax, dword [esp + 0x10]
+cmp eax, dword [esp + 0x30]
+jge near loc_0040b337 ; jge 0x40b337
+mov edx, dword [esp + 0xc]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov edi, dword [ref_00498e80] ; mov edi, dword [0x498e80]
+add edi, eax
+mov ebp, dword [edi + 0x24]
+xor eax, eax
+mov ecx, 0x40000000
+xor ebx, ebx
+jmp short loc_0040b2af ; jmp 0x40b2af
+
+loc_0040b2a7:
+shr ecx, 1
+inc eax
+cmp eax, 4
+jge short loc_0040b2d1 ; jge 0x40b2d1
+
+loc_0040b2af:
+mov edx, eax
+mov dx, word [edi + edx*2 + 0x18]
+test dx, dx
+je short loc_0040b2a7 ; je 0x40b2a7
+xor esi, esi
+mov si, dx
+cmp esi, dword [esp + 0x14]
+je short loc_0040b2a7 ; je 0x40b2a7
+test ebp, ecx
+jne short loc_0040b2a7 ; jne 0x40b2a7
+mov word [esp + ebx*2], dx
+inc ebx
+jmp short loc_0040b2a7 ; jmp 0x40b2a7
+
+loc_0040b2d1:
+mov esi, dword [esp + 0x10]
+add esi, esi
+test ebx, ebx
+jne short loc_0040b2e8 ; jne 0x40b2e8
+mov eax, dword [esp + 0x14]
+
+loc_0040b2df:
+mov word [esi + ref_0048b8b4], ax ; mov word [esi + 0x48b8b4], ax
+jmp short loc_0040b311 ; jmp 0x40b311
+
+loc_0040b2e8:
+cmp ebx, 1
+jne short loc_0040b2f2 ; jne 0x40b2f2
+mov eax, dword [esp]
+jmp short loc_0040b2df ; jmp 0x40b2df
+
+loc_0040b2f2:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov ax, word [esp + edx*2]
+mov word [esi + ref_0048b8b4], ax ; mov word [esi + 0x48b8b4], ax
+mov dword [esp + 8], 1
+
+loc_0040b311:
+mov eax, dword [esp + 0xc]
+mov dword [esp + 0x14], eax
+mov eax, dword [esp + 0x10]
+mov ax, word [eax*2 + ref_0048b8b4] ; mov ax, word [eax*2 + 0x48b8b4]
+and eax, 0xffff
+mov dword [esp + 0xc], eax
+inc dword [esp + 0x10]
+jmp near loc_0040b275 ; jmp 0x40b275
+
+loc_0040b337:
+mov eax, dword [esp + 8]
+
+loc_0040b33b:
+add esp, 0x18
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040b343:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+xor edx, edx
+mov dword [esp + 8], edx
+push 0x10
+push edx
+push ref_0048b8b4 ; push 0x48b8b4
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+cmp dword [esp + 0x30], 8
+jle short loc_0040b36f ; jle 0x40b36f
+mov dword [esp + 0x30], 8
+
+loc_0040b36f:
+imul eax, dword [esp + 0x2c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b76] ; mov dx, word [eax + 0x496b76]
+mov dword [esp + 0xc], edx
+mov ax, word [eax + ref_00496b74] ; mov ax, word [eax + 0x496b74]
+and eax, 0xffff
+mov dword [esp + 0x14], eax
+xor edi, edi
+mov dword [esp + 0x10], edi
+
+loc_0040b397:
+mov eax, dword [esp + 0x10]
+cmp eax, dword [esp + 0x30]
+jge short loc_0040b337 ; jge 0x40b337
+mov edx, dword [esp + 0xc]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov edi, dword [ref_00498e80] ; mov edi, dword [0x498e80]
+add edi, eax
+mov ebp, dword [edi + 0x24]
+xor eax, eax
+mov ecx, 0x40000000
+xor ebx, ebx
+jmp short loc_0040b3cd ; jmp 0x40b3cd
+
+loc_0040b3c5:
+shr ecx, 1
+inc eax
+cmp eax, 4
+jge short loc_0040b3ef ; jge 0x40b3ef
+
+loc_0040b3cd:
+mov edx, eax
+mov dx, word [edi + edx*2 + 0x18]
+test dx, dx
+je short loc_0040b3c5 ; je 0x40b3c5
+xor esi, esi
+mov si, dx
+cmp esi, dword [esp + 0x14]
+je short loc_0040b3c5 ; je 0x40b3c5
+test ebp, ecx
+jne short loc_0040b3c5 ; jne 0x40b3c5
+mov word [esp + ebx*2], dx
+inc ebx
+jmp short loc_0040b3c5 ; jmp 0x40b3c5
+
+loc_0040b3ef:
+mov esi, dword [esp + 0x10]
+add esi, esi
+test ebx, ebx
+jne short loc_0040b406 ; jne 0x40b406
+mov eax, dword [esp + 0x14]
+
+loc_0040b3fd:
+mov word [esi + ref_0048b8b4], ax ; mov word [esi + 0x48b8b4], ax
+jmp short loc_0040b42f ; jmp 0x40b42f
+
+loc_0040b406:
+cmp ebx, 1
+jne short loc_0040b410 ; jne 0x40b410
+mov eax, dword [esp]
+jmp short loc_0040b3fd ; jmp 0x40b3fd
+
+loc_0040b410:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov ax, word [esp + edx*2]
+mov word [esi + ref_0048b8b4], ax ; mov word [esi + 0x48b8b4], ax
+mov dword [esp + 8], 1
+
+loc_0040b42f:
+mov eax, dword [esp + 0xc]
+mov dword [esp + 0x14], eax
+mov eax, dword [esp + 0x10]
+mov ax, word [eax*2 + ref_0048b8b4] ; mov ax, word [eax*2 + 0x48b8b4]
+and eax, 0xffff
+mov dword [esp + 0xc], eax
+inc dword [esp + 0x10]
+jmp near loc_0040b397 ; jmp 0x40b397
+
+fcn_0040b455:
+push ebx
+push esi
+push edi
+push ebp
+xor ebp, ebp
+mov edx, 1
+xor ecx, ecx
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+
+loc_0040b467:
+add eax, 0x34
+cmp edx, dword [ref_00498e98] ; cmp edx, dword [0x498e98]
+jg short loc_0040b4ab ; jg 0x40b4ab
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+mov esi, dword [esp + 0x14]
+inc esi
+cmp ebx, esi
+jne short loc_0040b4a8 ; jne 0x40b4a8
+cmp byte [eax + 0x18], 0
+jne short loc_0040b4a8 ; jne 0x40b4a8
+xor ebx, ebx
+mov bl, byte [eax + 0x1a]
+mov bx, word [eax + ebx*2 + 0x20]
+and ebx, 0xffff
+cmp ecx, ebx
+jge short loc_0040b4a8 ; jge 0x40b4a8
+cmp byte [eax + 0x1a], 5
+jae short loc_0040b4a8 ; jae 0x40b4a8
+mov ecx, ebx
+lea ebp, [edx + 0x7d0]
+
+loc_0040b4a8:
+inc edx
+jmp short loc_0040b467 ; jmp 0x40b467
+
+loc_0040b4ab:
+mov edx, 1
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+
+loc_0040b4b5:
+add eax, 0x38
+cmp edx, dword [ref_00498e8c] ; cmp edx, dword [0x498e8c]
+jg short loc_0040b4f1 ; jg 0x40b4f1
+movzx esi, byte [eax + 0x19]
+mov ebx, dword [esp + 0x14]
+inc ebx
+cmp esi, ebx
+jne short loc_0040b4ee ; jne 0x40b4ee
+xor edi, edi
+mov di, word [eax + 0x22]
+cmp ecx, edi
+jge short loc_0040b4ee ; jge 0x40b4ee
+movzx esi, byte [eax + 0x18]
+mov bl, byte [eax + 0x1a]
+cmp bl, byte [esi + ref_00474940] ; cmp bl, byte [esi + 0x474940]
+jae short loc_0040b4ee ; jae 0x40b4ee
+mov ecx, edi
+lea ebp, [edx + 0xfa0]
+
+loc_0040b4ee:
+inc edx
+jmp short loc_0040b4b5 ; jmp 0x40b4b5
+
+loc_0040b4f1:
+mov eax, ebp
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040b4f8:
+push ebx
+push esi
+push edi
+sub esp, 0x38
+mov eax, dword [esp + 0x48]
+cmp eax, 0x7d0
+jle near loc_0040b6e2 ; jle 0x40b6e2
+cmp eax, 0xfa0
+jge near loc_0040b6e2 ; jge 0x40b6e2
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+lea ebx, [esi + eax]
+mov eax, dword [esp + 0x4c]
+sub eax, 0x7d0
+imul eax, eax, 0x34
+add esi, eax
+movsx eax, word [ebx]
+mov dword [esp + 0xc], eax
+movsx eax, word [ebx + 2]
+mov dword [esp + 0x14], eax
+movsx eax, word [esi]
+mov dword [esp + 0x10], eax
+movsx eax, word [esi + 2]
+mov dword [esp + 8], eax
+mov edi, dword [esp + 0xc]
+sub edi, dword [esp + 0x10]
+mov edx, dword [esp + 0x14]
+sub edx, eax
+mov ecx, edi
+imul ecx, edi
+mov eax, edx
+imul eax, edx
+add eax, ecx
+mov dword [esp + 0x34], eax
+fild dword [esp + 0x34]
+call fcn_004582bc ; call 0x4582bc
+fst dword [esp]
+fmul dword [ref_004631d8] ; fmul dword [0x4631d8]
+fld1
+faddp st1 ; faddp st(1)
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x30]
+mov dword [esp + 0x34], edi
+fild dword [esp + 0x34]
+mov eax, dword [esp + 0x30]
+mov dword [esp + 0x34], eax
+fild dword [esp + 0x34]
+fstp dword [esp + 4]
+fdiv dword [esp + 4]
+fstp dword [esp + 0x18]
+mov dword [esp + 0x34], edx
+fild dword [esp + 0x34]
+fdiv dword [esp + 4]
+fstp dword [esp + 0x1c]
+fild word [ebx]
+fstp dword [esp + 0x20]
+fild word [ebx + 2]
+fstp dword [esp + 0x24]
+fild word [esi]
+fstp dword [esp + 0x28]
+fild word [esi + 2]
+fstp dword [esp + 0x2c]
+
+loc_0040b5dc:
+cmp dword [esp + 0x30], 0
+je near loc_0040b6a7 ; je 0x40b6a7
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov edi, eax
+fld dword [esp + 0x20]
+fsub dword [esp + 0x18]
+fstp dword [esp + 0x20]
+fld dword [esp + 0x24]
+fsub dword [esp + 0x1c]
+fstp dword [esp + 0x24]
+fld dword [esp + 0x28]
+fadd dword [esp + 0x18]
+fstp dword [esp + 0x28]
+fld dword [esp + 0x2c]
+fadd dword [esp + 0x1c]
+fstp dword [esp + 0x2c]
+fld dword [esp + 0x20]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x34]
+mov eax, dword [esp + 0x34]
+mov word [ebx], ax
+fld dword [esp + 0x24]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x34]
+mov eax, dword [esp + 0x34]
+mov word [ebx + 2], ax
+fld dword [esp + 0x28]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x34]
+mov eax, dword [esp + 0x34]
+mov word [esi], ax
+fld dword [esp + 0x2c]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x34]
+mov eax, dword [esp + 0x34]
+mov word [esi + 2], ax
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+sub eax, edi
+cmp eax, 0x18
+jae short loc_0040b69e ; jae 0x40b69e
+mov edx, 0x18
+sub edx, eax
+push edx
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+
+loc_0040b69e:
+dec dword [esp + 0x30]
+jmp near loc_0040b5dc ; jmp 0x40b5dc
+
+loc_0040b6a7:
+mov eax, dword [esp + 0xc]
+mov word [ebx], ax
+mov eax, dword [esp + 0x14]
+mov word [ebx + 2], ax
+mov eax, dword [esp + 0x10]
+mov word [esi], ax
+mov eax, dword [esp + 8]
+mov word [esi + 2], ax
+mov al, byte [ebx + 0x1a]
+mov ah, byte [esi + 0x1a]
+mov byte [ebx + 0x1a], ah
+mov byte [esi + 0x1a], al
+mov al, byte [ebx + 0x18]
+mov ah, byte [esi + 0x18]
+mov byte [ebx + 0x18], ah
+mov byte [esi + 0x18], al
+jmp near loc_0040b8b6 ; jmp 0x40b8b6
+
+loc_0040b6e2:
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+lea esi, [edx + eax]
+mov eax, dword [esp + 0x4c]
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+lea ebx, [edx + eax]
+movsx eax, word [esi]
+mov dword [esp + 0xc], eax
+movsx eax, word [esi + 2]
+mov dword [esp + 0x14], eax
+movsx eax, word [ebx]
+mov dword [esp + 0x10], eax
+movsx eax, word [ebx + 2]
+mov dword [esp + 8], eax
+mov edi, dword [esp + 0xc]
+sub edi, dword [esp + 0x10]
+mov edx, dword [esp + 0x14]
+sub edx, eax
+mov ecx, edi
+imul ecx, edi
+mov eax, edx
+imul eax, edx
+add eax, ecx
+mov dword [esp + 0x34], eax
+fild dword [esp + 0x34]
+call fcn_004582bc ; call 0x4582bc
+fst dword [esp]
+fmul dword [ref_004631d8] ; fmul dword [0x4631d8]
+fld1
+faddp st1 ; faddp st(1)
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x30]
+mov dword [esp + 0x34], edi
+fild dword [esp + 0x34]
+mov eax, dword [esp + 0x30]
+mov dword [esp + 0x34], eax
+fild dword [esp + 0x34]
+fstp dword [esp + 4]
+fdiv dword [esp + 4]
+fstp dword [esp + 0x18]
+mov dword [esp + 0x34], edx
+fild dword [esp + 0x34]
+fdiv dword [esp + 4]
+fstp dword [esp + 0x1c]
+fild word [esi]
+fstp dword [esp + 0x20]
+fild word [esi + 2]
+fstp dword [esp + 0x24]
+fild word [ebx]
+fstp dword [esp + 0x28]
+fild word [ebx + 2]
+fstp dword [esp + 0x2c]
+
+loc_0040b7b5:
+cmp dword [esp + 0x30], 0
+je near loc_0040b880 ; je 0x40b880
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov edi, eax
+fld dword [esp + 0x20]
+fsub dword [esp + 0x18]
+fstp dword [esp + 0x20]
+fld dword [esp + 0x24]
+fsub dword [esp + 0x1c]
+fstp dword [esp + 0x24]
+fld dword [esp + 0x28]
+fadd dword [esp + 0x18]
+fstp dword [esp + 0x28]
+fld dword [esp + 0x2c]
+fadd dword [esp + 0x1c]
+fstp dword [esp + 0x2c]
+fld dword [esp + 0x20]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x34]
+mov eax, dword [esp + 0x34]
+mov word [esi], ax
+fld dword [esp + 0x24]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x34]
+mov eax, dword [esp + 0x34]
+mov word [esi + 2], ax
+fld dword [esp + 0x28]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x34]
+mov eax, dword [esp + 0x34]
+mov word [ebx], ax
+fld dword [esp + 0x2c]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x34]
+mov eax, dword [esp + 0x34]
+mov word [ebx + 2], ax
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+sub eax, edi
+cmp eax, 0x18
+jae short loc_0040b877 ; jae 0x40b877
+mov edx, 0x18
+sub edx, eax
+push edx
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+
+loc_0040b877:
+dec dword [esp + 0x30]
+jmp near loc_0040b7b5 ; jmp 0x40b7b5
+
+loc_0040b880:
+mov eax, dword [esp + 0xc]
+mov word [esi], ax
+mov eax, dword [esp + 0x14]
+mov word [esi + 2], ax
+mov eax, dword [esp + 0x10]
+mov word [ebx], ax
+mov eax, dword [esp + 8]
+mov word [ebx + 2], ax
+mov al, byte [esi + 0x1a]
+mov ah, byte [ebx + 0x1a]
+mov byte [esi + 0x1a], ah
+mov byte [ebx + 0x1a], al
+mov al, byte [esi + 0x18]
+mov ah, byte [ebx + 0x18]
+mov byte [esi + 0x18], ah
+mov byte [ebx + 0x18], al
+
+loc_0040b8b6:
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x1f4
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+add esp, 0x38
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040b8d8:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x14]
+mov edi, dword [esp + 0x18]
+xor esi, esi
+jmp short loc_0040b8ee ; jmp 0x40b8ee
+
+loc_0040b8e8:
+inc esi
+cmp esi, 4
+jge short loc_0040b91c ; jge 0x40b91c
+
+loc_0040b8ee:
+imul eax, ebp, 0x34
+mov ebx, esi
+shl ebx, 3
+add ebx, eax
+mov eax, edi
+shl eax, 2
+add ebx, eax
+mov edx, dword [ebx + ref_00498eb4] ; mov edx, dword [ebx + 0x498eb4]
+test edx, edx
+je short loc_0040b8e8 ; je 0x40b8e8
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor eax, eax
+mov dword [ebx + ref_00498eb4], eax ; mov dword [ebx + 0x498eb4], eax
+jmp short loc_0040b8e8 ; jmp 0x40b8e8
+
+loc_0040b91c:
+imul ebp, ebp, 0x34
+test edi, edi
+je short loc_0040b92f ; je 0x40b92f
+and byte [ebp + ref_00498ea0], 0xf ; and byte [ebp + 0x498ea0], 0xf
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0040b92f:
+and byte [ebp + ref_00498ea0], 0xf0 ; and byte [ebp + 0x498ea0], 0xf0
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040b93b:
+push ebx
+push esi
+push edi
+push ebp
+mov esi, dword [esp + 0x14]
+imul ebx, esi, 0x34
+cmp esi, 4
+jge near loc_0040bd43 ; jge 0x40bd43
+imul ebp, esi, 0x68
+xor eax, eax
+mov al, byte [ebp + ref_00496b7b] ; mov al, byte [ebp + 0x496b7b]
+mov edi, eax
+shl edi, 2
+add edi, eax
+shl edi, 2
+add edi, eax
+add edi, 0x80
+mov cl, byte [ebp + ref_00496b7d] ; mov cl, byte [ebp + 0x496b7d]
+test cl, cl
+je short loc_0040b97f ; je 0x40b97f
+test cl, 0x40
+je near loc_0040ba16 ; je 0x40ba16
+
+loc_0040b97f:
+imul ebx, esi, 0x34
+mov al, byte [ebx + ref_00498ea0] ; mov al, byte [ebx + 0x498ea0]
+and al, 0x30
+cmp al, 0x20
+je short loc_0040b9d0 ; je 0x40b9d0
+push 1
+push esi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+mov cl, byte [ebx + ref_00498ea0] ; mov cl, byte [ebx + 0x498ea0]
+and cl, 0xcf
+mov byte [ebx + ref_00498ea0], cl ; mov byte [ebx + 0x498ea0], cl
+mov ch, cl
+or ch, 0x20
+mov byte [ebx + ref_00498ea0], ch ; mov byte [ebx + 0x498ea0], ch
+push 0
+push 0
+add edi, 0x12
+push edi
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498eb8], eax ; mov dword [ebx + 0x498eb8], eax
+
+loc_0040b9d0:
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+imul eax, esi, 0x34
+mov dl, 1
+mov byte [eax + ref_00498ea1], dl ; mov byte [eax + 0x498ea1], dl
+cmp dl, byte [eax + ref_00498ea2] ; cmp dl, byte [eax + 0x498ea2]
+jne short loc_0040ba00 ; jne 0x40ba00
+mov byte [eax + ref_00498ea5], 5 ; mov byte [eax + 0x498ea5], 5
+
+loc_0040ba00:
+imul esi, esi, 0x34
+xor bh, bh
+mov byte [esi + ref_00498ea2], bh ; mov byte [esi + 0x498ea2], bh
+mov byte [esi + ref_00498ea3], bh ; mov byte [esi + 0x498ea3], bh
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0040ba16:
+cmp byte [ebp + ref_00496b9f], 0 ; cmp byte [ebp + 0x496b9f], 0
+je near loc_0040bace ; je 0x40bace
+mov al, byte [ebx + ref_00498ea0] ; mov al, byte [ebx + 0x498ea0]
+and al, 0xf
+cmp al, 5
+je short loc_0040baaa ; je 0x40baaa
+push 0
+push esi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+mov cl, byte [ebx + ref_00498ea0] ; mov cl, byte [ebx + 0x498ea0]
+and cl, 0xf0
+mov byte [ebx + ref_00498ea0], cl ; mov byte [ebx + 0x498ea0], cl
+mov ch, cl
+or ch, 5
+mov byte [ebx + ref_00498ea0], ch ; mov byte [ebx + 0x498ea0], ch
+push 0
+push 0
+lea eax, [edi + 0x10]
+push eax
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498eb4], eax ; mov dword [ebx + 0x498eb4], eax
+push 0
+push 0
+lea eax, [edi + 0x11]
+push eax
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ebc], eax ; mov dword [ebx + 0x498ebc], eax
+push 0
+push 0
+add edi, 2
+push edi
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ec4], eax ; mov dword [ebx + 0x498ec4], eax
+
+loc_0040baaa:
+imul eax, esi, 0x34
+cmp byte [eax + ref_00498ea1], 1 ; cmp byte [eax + 0x498ea1], 1
+jne short loc_0040babe ; jne 0x40babe
+
+loc_0040bab6:
+xor dh, dh
+mov byte [eax + ref_00498ea3], dh ; mov byte [eax + 0x498ea3], dh
+
+loc_0040babe:
+imul esi, esi, 0x34
+xor bl, bl
+mov byte [esi + ref_00498ea1], bl ; mov byte [esi + 0x498ea1], bl
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0040bace:
+xor edx, edx
+mov dx, word [ebp + ref_00496b74] ; mov dx, word [ebp + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+test byte [edx + eax*8 + 0x27], 0x80
+je near loc_0040bbd8 ; je 0x40bbd8
+mov al, byte [ebx + ref_00498ea0] ; mov al, byte [ebx + 0x498ea0]
+and al, 0x30
+cmp al, 0x10
+je short loc_0040bb76 ; je 0x40bb76
+push 1
+push esi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+mov cl, byte [ebx + ref_00498ea0] ; mov cl, byte [ebx + 0x498ea0]
+and cl, 0xcf
+mov byte [ebx + ref_00498ea0], cl ; mov byte [ebx + 0x498ea0], cl
+mov ch, cl
+or ch, 0x10
+mov byte [ebx + ref_00498ea0], ch ; mov byte [ebx + 0x498ea0], ch
+push 0
+push 0
+lea eax, [edi + 0xd]
+push eax
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498eb8], eax ; mov dword [ebx + 0x498eb8], eax
+push 0
+push 0
+lea eax, [edi + 0xe]
+push eax
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ec0], eax ; mov dword [ebx + 0x498ec0], eax
+push 0
+push 0
+add edi, 0xf
+push edi
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ec8], eax ; mov dword [ebx + 0x498ec8], eax
+
+loc_0040bb76:
+imul eax, esi, 0x34
+cmp byte [eax + ref_00498ea1], 0 ; cmp byte [eax + 0x498ea1], 0
+jne short loc_0040bbc9 ; jne 0x40bbc9
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je short loc_0040bbbe ; je 0x40bbbe
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+mov dword [ref_004749d4], 0xf ; mov dword [0x4749d4], 0xf
+push 1
+mov eax, ref_0048234a ; mov eax, 0x48234a
+add eax, 0x78
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0040bbbe:
+imul eax, esi, 0x34
+xor dh, dh
+mov byte [eax + ref_00498ea3], dh ; mov byte [eax + 0x498ea3], dh
+
+loc_0040bbc9:
+imul esi, esi, 0x34
+mov byte [esi + ref_00498ea1], 1 ; mov byte [esi + 0x498ea1], 1
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0040bbd8:
+mov al, byte [ebp + ref_00496b79] ; mov al, byte [ebp + 0x496b79]
+and al, 3
+xor edx, edx
+mov dl, al
+mov al, byte [ebx + ref_00498ea0] ; mov al, byte [ebx + 0x498ea0]
+and al, 0xf
+and eax, 0xff
+inc edx
+cmp edx, eax
+je near loc_0040bcb3 ; je 0x40bcb3
+push 0
+push esi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+mov ch, byte [ebx + ref_00498ea0] ; mov ch, byte [ebx + 0x498ea0]
+and ch, 0xf0
+mov byte [ebx + ref_00498ea0], ch ; mov byte [ebx + 0x498ea0], ch
+mov al, byte [ebp + ref_00496b79] ; mov al, byte [ebp + 0x496b79]
+and al, 3
+mov ah, al
+inc ah
+mov dl, ch
+or dl, ah
+mov byte [ebx + ref_00498ea0], dl ; mov byte [ebx + 0x498ea0], dl
+xor edx, edx
+mov dl, al
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add edi, eax
+push 0
+push 0
+push edi
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498eb4], eax ; mov dword [ebx + 0x498eb4], eax
+push 0
+push 0
+lea eax, [edi + 1]
+push eax
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ebc], eax ; mov dword [ebx + 0x498ebc], eax
+push 0
+push 0
+lea eax, [edi + 2]
+push eax
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ec4], eax ; mov dword [ebx + 0x498ec4], eax
+mov al, byte [ebp + ref_00496b79] ; mov al, byte [ebp + 0x496b79]
+and al, 3
+cmp al, 3
+jne short loc_0040bcb3 ; jne 0x40bcb3
+push 0
+push 0
+add edi, 3
+push edi
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ecc], eax ; mov dword [ebx + 0x498ecc], eax
+
+loc_0040bcb3:
+imul eax, esi, 0x34
+cmp byte [eax + ref_00498ea1], 1 ; cmp byte [eax + 0x498ea1], 1
+jne short loc_0040bcc7 ; jne 0x40bcc7
+xor bl, bl
+mov byte [eax + ref_00498ea3], bl ; mov byte [eax + 0x498ea3], bl
+
+loc_0040bcc7:
+imul eax, esi, 0x34
+xor bh, bh
+mov byte [eax + ref_00498ea1], bh ; mov byte [eax + 0x498ea1], bh
+imul esi, esi, 0x68
+mov al, byte [esi + ref_00496b79] ; mov al, byte [esi + 0x496b79]
+and al, 3
+and eax, 0xff
+mov edx, dword [ref_004749d4] ; mov edx, dword [0x4749d4]
+sub edx, 0xb
+cmp edx, eax
+je near loc_0040bf8e ; je 0x40bf8e
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je near loc_0040bf8e ; je 0x40bf8e
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+mov al, byte [esi + ref_00496b79] ; mov al, byte [esi + 0x496b79]
+and al, 3
+and eax, 0xff
+add eax, 0xb
+mov dword [ref_004749d4], eax ; mov dword [0x4749d4], eax
+push 1
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0040bd43:
+cmp esi, 8
+jge near loc_0040bf02 ; jge 0x40bf02
+mov edi, esi
+shl edi, 2
+add edi, 0x16c
+mov eax, esi
+shl eax, 4
+cmp byte [eax + ref_00498df5], 0 ; cmp byte [eax + 0x498df5], 0
+je short loc_0040bdd6 ; je 0x40bdd6
+mov al, byte [ebx + ref_00498ea0] ; mov al, byte [ebx + 0x498ea0]
+and al, 0xf
+cmp al, 5
+je near loc_0040baaa ; je 0x40baaa
+push 0
+push esi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+mov cl, byte [ebx + ref_00498ea0] ; mov cl, byte [ebx + 0x498ea0]
+and cl, 0xf0
+mov byte [ebx + ref_00498ea0], cl ; mov byte [ebx + 0x498ea0], cl
+mov ch, cl
+or ch, 5
+mov byte [ebx + ref_00498ea0], ch ; mov byte [ebx + 0x498ea0], ch
+push 0
+push 0
+push edi
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498eb4], eax ; mov dword [ebx + 0x498eb4], eax
+push 0
+push 0
+add edi, 3
+push edi
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ebc], eax ; mov dword [ebx + 0x498ebc], eax
+jmp near loc_0040baaa ; jmp 0x40baaa
+
+loc_0040bdd6:
+xor edx, edx
+mov dx, word [eax + ref_00498dec] ; mov dx, word [eax + 0x498dec]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+test byte [edx + eax*8 + 0x27], 0x80
+je short loc_0040be4a ; je 0x40be4a
+mov al, byte [ebx + ref_00498ea0] ; mov al, byte [ebx + 0x498ea0]
+and al, 0x30
+cmp al, 0x10
+je near loc_0040bb76 ; je 0x40bb76
+push 1
+push esi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+mov cl, byte [ebx + ref_00498ea0] ; mov cl, byte [ebx + 0x498ea0]
+and cl, 0xcf
+mov byte [ebx + ref_00498ea0], cl ; mov byte [ebx + 0x498ea0], cl
+mov ch, cl
+or ch, 0x10
+mov byte [ebx + ref_00498ea0], ch ; mov byte [ebx + 0x498ea0], ch
+push 0
+push 0
+add edi, 2
+push edi
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ec0], eax ; mov dword [ebx + 0x498ec0], eax
+jmp near loc_0040bb76 ; jmp 0x40bb76
+
+loc_0040be4a:
+mov al, byte [ebx + ref_00498ea0] ; mov al, byte [ebx + 0x498ea0]
+and al, 0xf
+cmp al, 1
+je short loc_0040beae ; je 0x40beae
+push 0
+push esi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+mov al, byte [ebx + ref_00498ea0] ; mov al, byte [ebx + 0x498ea0]
+and al, 0xf0
+mov byte [ebx + ref_00498ea0], al ; mov byte [ebx + 0x498ea0], al
+mov ah, al
+or ah, 1
+mov byte [ebx + ref_00498ea0], ah ; mov byte [ebx + 0x498ea0], ah
+push 0
+push 0
+push edi
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498eb4], eax ; mov dword [ebx + 0x498eb4], eax
+push 0
+push 0
+inc edi
+push edi
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ebc], eax ; mov dword [ebx + 0x498ebc], eax
+
+loc_0040beae:
+imul eax, esi, 0x34
+cmp byte [eax + ref_00498ea1], 1 ; cmp byte [eax + 0x498ea1], 1
+jne near loc_0040babe ; jne 0x40babe
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je short loc_0040befa ; je 0x40befa
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+mov dword [ref_004749d4], 0xb ; mov dword [0x4749d4], 0xb
+push 1
+mov eax, ref_0048234a ; mov eax, 0x48234a
+add eax, 0x58
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0040befa:
+imul eax, esi, 0x34
+jmp near loc_0040bab6 ; jmp 0x40bab6
+
+loc_0040bf02:
+mov al, byte [ebx + ref_00498ea0] ; mov al, byte [ebx + 0x498ea0]
+and al, 0xf
+cmp al, 1
+je short loc_0040bf6f ; je 0x40bf6f
+push 0
+push esi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+mov ah, byte [ebx + ref_00498ea0] ; mov ah, byte [ebx + 0x498ea0]
+and ah, 0xf0
+mov byte [ebx + ref_00498ea0], ah ; mov byte [ebx + 0x498ea0], ah
+mov dl, ah
+or dl, 1
+mov byte [ebx + ref_00498ea0], dl ; mov byte [ebx + 0x498ea0], dl
+push 0
+push 0
+push 0x209
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498eb4], eax ; mov dword [ebx + 0x498eb4], eax
+push 0
+push 0
+push 0x20a
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498ebc], eax ; mov dword [ebx + 0x498ebc], eax
+
+loc_0040bf6f:
+imul eax, esi, 0x34
+cmp byte [eax + ref_00498ea1], 1 ; cmp byte [eax + 0x498ea1], 1
+jne short loc_0040bf83 ; jne 0x40bf83
+xor bl, bl
+mov byte [eax + ref_00498ea3], bl ; mov byte [eax + 0x498ea3], bl
+
+loc_0040bf83:
+imul esi, esi, 0x34
+xor bh, bh
+mov byte [esi + ref_00498ea1], bh ; mov byte [esi + 0x498ea1], bh
+
+loc_0040bf8e:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040bf93:
+push ebx
+push esi
+push edi
+mov edi, dword [esp + 0x10]
+imul eax, edi, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+add eax, ebx
+lea esi, [eax + 0x80]
+imul eax, edi, 0x34
+test byte [eax + ref_00498ea0], 0x30 ; test byte [eax + 0x498ea0], 0x30
+je short loc_0040bfce ; je 0x40bfce
+push 1
+push edi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+
+loc_0040bfce:
+imul ebx, edi, 0x34
+mov edx, dword [esp + 0x14]
+test edx, edx
+jne short loc_0040bfe8 ; jne 0x40bfe8
+push edx
+push edx
+add esi, 0x13
+push esi
+mov esi, dword [ref_0048a0e4] ; mov esi, dword [0x48a0e4]
+push esi
+jmp short loc_0040bff7 ; jmp 0x40bff7
+
+loc_0040bfe8:
+push 0
+push 0
+add esi, 0x14
+push esi
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+
+loc_0040bff7:
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx + ref_00498eb8], eax ; mov dword [ebx + 0x498eb8], eax
+imul eax, edi, 0x34
+mov dh, byte [eax + ref_00498ea0] ; mov dh, byte [eax + 0x498ea0]
+and dh, 0xcf
+mov byte [eax + ref_00498ea0], dh ; mov byte [eax + 0x498ea0], dh
+mov bl, dh
+or bl, 0x30
+mov byte [eax + ref_00498ea0], bl ; mov byte [eax + 0x498ea0], bl
+mov byte [eax + ref_00498ea1], 1 ; mov byte [eax + 0x498ea1], 1
+xor cl, cl
+mov byte [eax + ref_00498ea2], cl ; mov byte [eax + 0x498ea2], cl
+mov byte [eax + ref_00498ea3], cl ; mov byte [eax + 0x498ea3], cl
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040c03b:
+push ebx
+xor ebx, ebx
+
+loc_0040c03e:
+push 0
+push ebx
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+push 1
+push ebx
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+inc ebx
+cmp ebx, 9
+jl short loc_0040c03e ; jl 0x40c03e
+pop ebx
+ret
+
+fcn_0040c05c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x30
+xor edx, edx
+mov dword [esp + 8], edx
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+cmp ecx, 4
+jge near loc_0040c489 ; jge 0x40c489
+cmp dword [ref_004749dc], 0 ; cmp dword [0x4749dc], 0
+jne near loc_0040c332 ; jne 0x40c332
+imul eax, ecx, 0x68
+xor ecx, ecx
+mov cx, word [eax + ref_00496b74] ; mov cx, word [eax + 0x496b74]
+mov edx, ecx
+shl edx, 2
+add edx, ecx
+shl edx, 3
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+add ebx, edx
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+mov edx, 0x100
+shl edx, cl
+mov dword [esp + 0x10], edx
+mov dl, byte [eax + ref_00496b7d] ; mov dl, byte [eax + 0x496b7d]
+test dl, 0x10
+je short loc_0040c0ed ; je 0x40c0ed
+xor edx, edx
+mov dx, word [eax + ref_00496b70] ; mov dx, word [eax + 0x496b70]
+mov dword [esp + 0x18], edx
+mov ax, word [eax + ref_00496b72] ; mov ax, word [eax + 0x496b72]
+and eax, 0xffff
+mov dword [esp + 0x14], eax
+movsx eax, word [ebx]
+mov dword [ref_0048bae4], eax ; mov dword [0x48bae4], eax
+movsx eax, word [ebx + 2]
+jmp near loc_0040c211 ; jmp 0x40c211
+
+loc_0040c0ed:
+test dl, 0x20
+je short loc_0040c12c ; je 0x40c12c
+movsx edx, word [ebx]
+mov dword [esp + 0x18], edx
+movsx edx, word [ebx + 2]
+mov dword [esp + 0x14], edx
+movsx edx, word [eax + ref_00496bb2] ; movsx edx, word [eax + 0x496bb2]
+shl edx, 3
+mov eax, edx
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+movsx edx, word [eax]
+mov dword [ref_0048bae4], edx ; mov dword [0x48bae4], edx
+movsx eax, word [eax + 2]
+jmp near loc_0040c211 ; jmp 0x40c211
+
+loc_0040c12c:
+xor eax, eax
+mov ecx, 0x40000000
+xor esi, esi
+mov edx, dword [ebx + 0x24]
+mov dword [esp + 0x24], edx
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+jmp short loc_0040c14c ; jmp 0x40c14c
+
+loc_0040c144:
+sar ecx, 1
+inc eax
+cmp eax, 4
+jge short loc_0040c17c ; jge 0x40c17c
+
+loc_0040c14c:
+mov edx, eax
+mov dx, word [ebx + edx*2 + 0x18]
+and edx, 0xffff
+je short loc_0040c144 ; je 0x40c144
+imul edi, ebp, 0x68
+mov di, word [edi + ref_00496b76] ; mov di, word [edi + 0x496b76]
+and edi, 0xffff
+cmp edx, edi
+je short loc_0040c144 ; je 0x40c144
+test dword [esp + 0x24], ecx
+jne short loc_0040c144 ; jne 0x40c144
+mov word [esp + esi*2], dx
+inc esi
+jmp short loc_0040c144 ; jmp 0x40c144
+
+loc_0040c17c:
+test esi, esi
+jne short loc_0040c196 ; jne 0x40c196
+imul edi, dword [ref_0049910c], 0x68 ; imul edi, dword [0x49910c], 0x68
+mov di, word [edi + ref_00496b76] ; mov di, word [edi + 0x496b76]
+and edi, 0xffff
+jmp short loc_0040c1a9 ; jmp 0x40c1a9
+
+loc_0040c196:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+lea edi, [edx + edx]
+movsx edi, word [esp + edi]
+
+loc_0040c1a9:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+mov word [eax + ref_00496b76], dx ; mov word [eax + 0x496b76], dx
+mov word [eax + ref_00496b74], di ; mov word [eax + 0x496b74], di
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040fc00 ; call 0x40fc00
+add esp, 4
+movsx eax, word [ebx]
+mov dword [esp + 0x18], eax
+movsx eax, word [ebx + 2]
+mov dword [esp + 0x14], eax
+mov eax, dword [esp + 0x10]
+not eax
+and dword [ebx + 0x24], eax
+mov eax, edi
+shl eax, 2
+add eax, edi
+shl eax, 3
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+add ebx, eax
+mov eax, dword [esp + 0x10]
+or dword [ebx + 0x24], eax
+movsx eax, word [ebx]
+mov dword [ref_0048bae4], eax ; mov dword [0x48bae4], eax
+movsx eax, word [ebx + 2]
+
+loc_0040c211:
+mov dword [ref_0048bae8], eax ; mov dword [0x48bae8], eax
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+mov edx, dword [ref_0048bae4] ; mov edx, dword [0x48bae4]
+sub edx, dword [esp + 0x18]
+mov edi, dword [ref_0048bae8] ; mov edi, dword [0x48bae8]
+sub edi, dword [esp + 0x14]
+mov eax, edx
+imul eax, edx
+mov ecx, edi
+imul ecx, edi
+add eax, ecx
+mov dword [esp + 0x28], eax
+fild dword [esp + 0x28]
+call fcn_004582bc ; call 0x4582bc
+fstp dword [esp + 0xc]
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+cmp byte [eax + ref_00498ea1], 0 ; cmp byte [eax + 0x498ea1], 0
+jne short loc_0040c276 ; jne 0x40c276
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+test byte [eax + ref_00496b7d], 0x30 ; test byte [eax + 0x496b7d], 0x30
+je short loc_0040c282 ; je 0x40c282
+
+loc_0040c276:
+fld dword [esp + 0xc]
+fmul dword [ref_004631dc] ; fmul dword [0x4631dc]
+jmp short loc_0040c2a2 ; jmp 0x40c2a2
+
+loc_0040c282:
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+xor ecx, ecx
+mov cl, al
+xor eax, eax
+mov al, byte [ecx + ref_004749d8] ; mov al, byte [ecx + 0x4749d8]
+mov dword [esp + 0x2c], eax
+fild word [esp + 0x2c]
+fdivr dword [esp + 0xc]
+
+loc_0040c2a2:
+fstp dword [esp + 0x1c]
+mov dword [esp + 0x28], edx
+fild dword [esp + 0x28]
+fdiv dword [esp + 0x1c]
+fstp dword [ref_0048baec] ; fstp dword [0x48baec]
+mov dword [esp + 0x28], edi
+fild dword [esp + 0x28]
+fdiv dword [esp + 0x1c]
+fstp dword [ref_0048baf0] ; fstp dword [0x48baf0]
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul edx, edi, 0x68
+xor eax, eax
+mov ax, word [edx + ref_00496b70] ; mov ax, word [edx + 0x496b70]
+mov dword [esp + 0x28], eax
+fild dword [esp + 0x28]
+imul ecx, edi, 0x34
+fstp dword [ecx + ref_00498ea8] ; fstp dword [ecx + 0x498ea8]
+xor eax, eax
+mov ax, word [edx + ref_00496b72] ; mov ax, word [edx + 0x496b72]
+mov dword [esp + 0x28], eax
+fild dword [esp + 0x28]
+fstp dword [ecx + ref_00498eac] ; fstp dword [ecx + 0x498eac]
+fld dword [esp + 0x1c]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [ref_004749dc] ; fistp dword [0x4749dc]
+mov eax, dword [ref_004749dc] ; mov eax, dword [0x4749dc]
+sar eax, 1
+mov dword [ref_0048baf4], eax ; mov dword [0x48baf4], eax
+cmp dword [ref_004749dc], 0 ; cmp dword [0x4749dc], 0
+jne short loc_0040c332 ; jne 0x40c332
+mov dword [ref_004749dc], 1 ; mov dword [0x4749dc], 1
+
+loc_0040c332:
+mov ecx, dword [ref_004749dc] ; mov ecx, dword [0x4749dc]
+dec ecx
+mov dword [ref_004749dc], ecx ; mov dword [0x4749dc], ecx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+test ecx, ecx
+jle near loc_0040c3ec ; jle 0x40c3ec
+imul edx, ebx, 0x34
+fld dword [ref_0048baec] ; fld dword [0x48baec]
+fadd dword [edx + ref_00498ea8] ; fadd dword [edx + 0x498ea8]
+fstp dword [edx + ref_00498ea8] ; fstp dword [edx + 0x498ea8]
+fld dword [ref_0048baf0] ; fld dword [0x48baf0]
+fadd dword [edx + ref_00498eac] ; fadd dword [edx + 0x498eac]
+fstp dword [edx + ref_00498eac] ; fstp dword [edx + 0x498eac]
+fld dword [edx + ref_00498ea8] ; fld dword [edx + 0x498ea8]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x28]
+mov ebx, dword [esp + 0x28]
+mov word [eax + ref_00496b70], bx ; mov word [eax + 0x496b70], bx
+fld dword [edx + ref_00498eac] ; fld dword [edx + 0x498eac]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x28]
+mov edx, dword [esp + 0x28]
+mov word [eax + ref_00496b72], dx ; mov word [eax + 0x496b72], dx
+test byte [eax + ref_00496b7d], 0x30 ; test byte [eax + 0x496b7d], 0x30
+je short loc_0040c410 ; je 0x40c410
+mov edx, dword [ref_004749dc] ; mov edx, dword [0x4749dc]
+cmp edx, dword [ref_0048baf4] ; cmp edx, dword [0x48baf4]
+jge short loc_0040c410 ; jge 0x40c410
+mov ch, byte [eax + ref_00496b7d] ; mov ch, byte [eax + 0x496b7d]
+test ch, 0x10
+je short loc_0040c3d7 ; je 0x40c3d7
+xor ebx, ebx
+mov dword [eax + ref_00496b9a], ebx ; mov dword [eax + 0x496b9a], ebx
+jmp short loc_0040c3e2 ; jmp 0x40c3e2
+
+loc_0040c3d7:
+mov dl, ch
+and dl, 0xf
+mov byte [eax + ref_00496b7d], dl ; mov byte [eax + 0x496b7d], dl
+
+loc_0040c3e2:
+xor esi, esi
+mov dword [ref_0048baf4], esi ; mov dword [0x48baf4], esi
+jmp short loc_0040c410 ; jmp 0x40c410
+
+loc_0040c3ec:
+mov dx, word [ref_0048bae4] ; mov dx, word [0x48bae4]
+mov word [eax + ref_00496b70], dx ; mov word [eax + 0x496b70], dx
+mov dx, word [ref_0048bae8] ; mov dx, word [0x48bae8]
+mov word [eax + ref_00496b72], dx ; mov word [eax + 0x496b72], dx
+mov dword [esp + 8], 1
+
+loc_0040c410:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+test byte [eax + ref_00496b7d], 0x30 ; test byte [eax + 0x496b7d], 0x30
+jne short loc_0040c44c ; jne 0x40c44c
+xor edx, edx
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+push edx
+mov ax, word [eax + ref_00496b76] ; mov ax, word [eax + 0x496b76]
+and eax, 0xffff
+push eax
+call fcn_00407a8c ; call 0x407a8c
+add esp, 8
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov byte [edx + ref_00496b78], al ; mov byte [edx + 0x496b78], al
+
+loc_0040c44c:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+je near loc_0040c74a ; je 0x40c74a
+imul eax, edx, 0x34
+mov bh, byte [eax + ref_00498ea4] ; mov bh, byte [eax + 0x498ea4]
+inc bh
+mov byte [eax + ref_00498ea4], bh ; mov byte [eax + 0x498ea4], bh
+cmp bh, 6
+jne near loc_0040c74a ; jne 0x40c74a
+xor ch, ch
+mov byte [eax + ref_00498ea4], ch ; mov byte [eax + 0x498ea4], ch
+jmp near loc_0040c74a ; jmp 0x40c74a
+
+loc_0040c489:
+lea eax, [ecx - 4]
+mov dword [esp + 0x20], eax
+shl eax, 4
+mov dx, word [eax + ref_00498e2c] ; mov dx, word [eax + 0x498e2c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+add ebx, eax
+movsx eax, word [ebx]
+mov dword [esp + 0x18], eax
+movsx eax, word [ebx + 2]
+mov dword [esp + 0x14], eax
+mov esi, dword [ref_004749dc] ; mov esi, dword [0x4749dc]
+test esi, esi
+jne near loc_0040c65f ; jne 0x40c65f
+xor eax, eax
+mov ecx, 0x40000000
+mov edx, dword [ebx + 0x24]
+mov dword [esp + 0x24], edx
+jmp short loc_0040c4e1 ; jmp 0x40c4e1
+
+loc_0040c4d9:
+sar ecx, 1
+inc eax
+cmp eax, 4
+jge short loc_0040c515 ; jge 0x40c515
+
+loc_0040c4e1:
+mov edx, eax
+mov dx, word [ebx + edx*2 + 0x18]
+and edx, 0xffff
+je short loc_0040c4d9 ; je 0x40c4d9
+mov edi, dword [esp + 0x20]
+shl edi, 4
+mov di, word [edi + ref_00498e2e] ; mov di, word [edi + 0x498e2e]
+and edi, 0xffff
+cmp edx, edi
+je short loc_0040c4d9 ; je 0x40c4d9
+test dword [esp + 0x24], ecx
+jne short loc_0040c4d9 ; jne 0x40c4d9
+mov word [esp + esi*2], dx
+inc esi
+jmp short loc_0040c4d9 ; jmp 0x40c4d9
+
+loc_0040c515:
+test esi, esi
+jne short loc_0040c52f ; jne 0x40c52f
+mov edi, dword [esp + 0x20]
+shl edi, 4
+mov di, word [edi + ref_00498e2e] ; mov di, word [edi + 0x498e2e]
+and edi, 0xffff
+jmp short loc_0040c542 ; jmp 0x40c542
+
+loc_0040c52f:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+lea edi, [edx + edx]
+movsx edi, word [esp + edi]
+
+loc_0040c542:
+mov eax, dword [esp + 0x20]
+shl eax, 4
+mov dx, word [eax + ref_00498e2c] ; mov dx, word [eax + 0x498e2c]
+mov word [eax + ref_00498e2e], dx ; mov word [eax + 0x498e2e], dx
+mov word [eax + ref_00498e2c], di ; mov word [eax + 0x498e2c], di
+cmp dword [esp + 0x20], 4
+jge short loc_0040c579 ; jge 0x40c579
+mov cl, byte [esp + 0x20]
+mov eax, 0x1000
+shl eax, cl
+mov dword [esp + 0x10], eax
+not eax
+and dword [ebx + 0x24], eax
+
+loc_0040c579:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+mov eax, edi
+shl eax, 2
+add eax, edi
+shl eax, 3
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+add ebx, eax
+cmp dword [esp + 0x20], 4
+jge short loc_0040c5a8 ; jge 0x40c5a8
+mov eax, dword [esp + 0x10]
+or dword [ebx + 0x24], eax
+
+loc_0040c5a8:
+movsx eax, word [ebx]
+mov dword [ref_0048bae4], eax ; mov dword [0x48bae4], eax
+movsx eax, word [ebx + 2]
+mov dword [ref_0048bae8], eax ; mov dword [0x48bae8], eax
+mov edx, dword [ref_0048bae4] ; mov edx, dword [0x48bae4]
+sub edx, dword [esp + 0x18]
+mov edi, eax
+sub edi, dword [esp + 0x14]
+mov eax, edx
+imul eax, edx
+mov ecx, edi
+imul ecx, edi
+add eax, ecx
+mov dword [esp + 0x28], eax
+fild dword [esp + 0x28]
+call fcn_004582bc ; call 0x4582bc
+fst dword [esp + 0xc]
+fmul dword [ref_004631dc] ; fmul dword [0x4631dc]
+fstp dword [esp + 0x1c]
+mov dword [esp + 0x28], edx
+fild dword [esp + 0x28]
+fdiv dword [esp + 0x1c]
+fstp dword [ref_0048baec] ; fstp dword [0x48baec]
+mov dword [esp + 0x28], edi
+fild dword [esp + 0x28]
+fdiv dword [esp + 0x1c]
+fstp dword [ref_0048baf0] ; fstp dword [0x48baf0]
+mov ecx, dword [esp + 0x20]
+shl ecx, 4
+xor eax, eax
+mov ax, word [ecx + ref_00498e28] ; mov ax, word [ecx + 0x498e28]
+mov dword [esp + 0x28], eax
+fild dword [esp + 0x28]
+imul edx, dword [ref_0049910c], 0x34 ; imul edx, dword [0x49910c], 0x34
+fstp dword [edx + ref_00498ea8] ; fstp dword [edx + 0x498ea8]
+xor eax, eax
+mov ax, word [ecx + ref_00498e2a] ; mov ax, word [ecx + 0x498e2a]
+mov dword [esp + 0x28], eax
+fild dword [esp + 0x28]
+fstp dword [edx + ref_00498eac] ; fstp dword [edx + 0x498eac]
+fld dword [esp + 0x1c]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [ref_004749dc] ; fistp dword [0x4749dc]
+
+loc_0040c65f:
+mov esi, dword [ref_004749dc] ; mov esi, dword [0x4749dc]
+dec esi
+mov dword [ref_004749dc], esi ; mov dword [0x4749dc], esi
+mov edx, dword [esp + 0x20]
+shl edx, 4
+test esi, esi
+jle short loc_0040c6d8 ; jle 0x40c6d8
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+fld dword [ref_0048baec] ; fld dword [0x48baec]
+fadd dword [eax + ref_00498ea8] ; fadd dword [eax + 0x498ea8]
+fstp dword [eax + ref_00498ea8] ; fstp dword [eax + 0x498ea8]
+fld dword [ref_0048baf0] ; fld dword [0x48baf0]
+fadd dword [eax + ref_00498eac] ; fadd dword [eax + 0x498eac]
+fstp dword [eax + ref_00498eac] ; fstp dword [eax + 0x498eac]
+fld dword [eax + ref_00498ea8] ; fld dword [eax + 0x498ea8]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x28]
+mov ebx, dword [esp + 0x28]
+mov word [edx + ref_00498e28], bx ; mov word [edx + 0x498e28], bx
+fld dword [eax + ref_00498eac] ; fld dword [eax + 0x498eac]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x28]
+mov eax, dword [esp + 0x28]
+mov word [edx + ref_00498e2a], ax ; mov word [edx + 0x498e2a], ax
+jmp short loc_0040c6f6 ; jmp 0x40c6f6
+
+loc_0040c6d8:
+mov eax, dword [esp + 0x18]
+mov word [edx + ref_00498e28], ax ; mov word [edx + 0x498e28], ax
+mov eax, dword [esp + 0x14]
+mov word [edx + ref_00498e2a], ax ; mov word [edx + 0x498e2a], ax
+mov dword [esp + 8], 1
+
+loc_0040c6f6:
+mov ebx, dword [esp + 0x20]
+shl ebx, 4
+xor eax, eax
+mov ax, word [ebx + ref_00498e2c] ; mov ax, word [ebx + 0x498e2c]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00498e2e] ; mov ax, word [ebx + 0x498e2e]
+push eax
+call fcn_00407a8c ; call 0x407a8c
+add esp, 8
+mov byte [ebx + ref_00498e31], al ; mov byte [ebx + 0x498e31], al
+cmp byte [ebx + ref_00498e35], 0 ; cmp byte [ebx + 0x498e35], 0
+je short loc_0040c74a ; je 0x40c74a
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov ch, byte [eax + ref_00498ea4] ; mov ch, byte [eax + 0x498ea4]
+inc ch
+mov byte [eax + ref_00498ea4], ch ; mov byte [eax + 0x498ea4], ch
+cmp ch, 6
+jne short loc_0040c74a ; jne 0x40c74a
+xor dh, dh
+mov byte [eax + ref_00498ea4], dh ; mov byte [eax + 0x498ea4], dh
+
+loc_0040c74a:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+inc byte [eax + ref_00498ea3] ; inc byte [eax + 0x498ea3]
+xor edx, edx
+mov dl, byte [eax + ref_00498ea1] ; mov dl, byte [eax + 0x498ea1]
+mov edx, dword [eax + edx*4 + ref_00498ebc] ; mov edx, dword [eax + edx*4 + 0x498ebc]
+mov edx, dword [edx + 4]
+sar edx, 3
+xor ecx, ecx
+mov cl, byte [eax + ref_00498ea3] ; mov cl, byte [eax + 0x498ea3]
+cmp ecx, edx
+jne short loc_0040c780 ; jne 0x40c780
+xor dh, dh
+mov byte [eax + ref_00498ea3], dh ; mov byte [eax + 0x498ea3], dh
+
+loc_0040c780:
+mov eax, dword [esp + 8]
+add esp, 0x30
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040c78c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+push 0
+push ref_004823f2 ; push 0x4823f2
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov edx, dword [esp + 0x20]
+cmp edx, 4
+jge near loc_0040c85e ; jge 0x40c85e
+imul eax, edx, 0x68
+mov dl, byte [eax + ref_00496b78] ; mov dl, byte [eax + 0x496b78]
+add dl, 4
+and dl, 7
+mov byte [eax + ref_00496b78], dl ; mov byte [eax + 0x496b78], dl
+xor edx, edx
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+add ecx, eax
+xor ebx, ebx
+xor edx, edx
+mov esi, 0x40000000
+jmp short loc_0040c7f2 ; jmp 0x40c7f2
+
+loc_0040c7ea:
+sar esi, 1
+inc edx
+cmp edx, 4
+jge short loc_0040c82b ; jge 0x40c82b
+
+loc_0040c7f2:
+mov eax, edx
+mov ax, word [ecx + eax*2 + 0x18]
+test ax, ax
+je short loc_0040c7ea ; je 0x40c7ea
+test dword [ecx + 0x24], esi
+jne short loc_0040c7ea ; jne 0x40c7ea
+imul edi, dword [esp + 0x20], 0x68
+mov di, word [edi + ref_00496b76] ; mov di, word [edi + 0x496b76]
+and edi, 0xffff
+mov dword [esp + 8], edi
+xor edi, edi
+mov di, ax
+cmp edi, dword [esp + 8]
+je short loc_0040c7ea ; je 0x40c7ea
+mov word [esp + ebx*2], ax
+inc ebx
+jmp short loc_0040c7ea ; jmp 0x40c7ea
+
+loc_0040c82b:
+imul esi, dword [esp + 0x20], 0x68
+test ebx, ebx
+je short loc_0040c850 ; je 0x40c850
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov ax, word [esp + edx*2]
+mov word [esi + ref_00496b76], ax ; mov word [esi + 0x496b76], ax
+jmp near loc_0040c90a ; jmp 0x40c90a
+
+loc_0040c850:
+xor ebx, ebx
+mov word [esi + ref_00496b76], bx ; mov word [esi + 0x496b76], bx
+jmp near loc_0040c90a ; jmp 0x40c90a
+
+loc_0040c85e:
+lea ecx, [edx - 4]
+mov dword [esp + 0x20], ecx
+mov eax, ecx
+shl eax, 4
+mov dl, byte [eax + ref_00498e31] ; mov dl, byte [eax + 0x498e31]
+add dl, 4
+and dl, 7
+mov byte [eax + ref_00498e31], dl ; mov byte [eax + 0x498e31], dl
+xor edx, edx
+mov dx, word [eax + ref_00498e2c] ; mov dx, word [eax + 0x498e2c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+add ecx, eax
+xor ebx, ebx
+xor edx, edx
+mov esi, 0x40000000
+jmp short loc_0040c8aa ; jmp 0x40c8aa
+
+loc_0040c8a2:
+sar esi, 1
+inc edx
+cmp edx, 4
+jge short loc_0040c8dd ; jge 0x40c8dd
+
+loc_0040c8aa:
+mov eax, edx
+mov ax, word [ecx + eax*2 + 0x18]
+test ax, ax
+je short loc_0040c8a2 ; je 0x40c8a2
+test dword [ecx + 0x24], esi
+jne short loc_0040c8a2 ; jne 0x40c8a2
+mov edi, dword [esp + 0x20]
+shl edi, 4
+mov di, word [edi + ref_00498e2e] ; mov di, word [edi + 0x498e2e]
+and edi, 0xffff
+movzx ebp, ax
+cmp edi, ebp
+je short loc_0040c8a2 ; je 0x40c8a2
+mov word [esp + ebx*2], ax
+inc ebx
+jmp short loc_0040c8a2 ; jmp 0x40c8a2
+
+loc_0040c8dd:
+mov esi, dword [esp + 0x20]
+shl esi, 4
+test ebx, ebx
+je short loc_0040c901 ; je 0x40c901
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov ax, word [esp + edx*2]
+mov word [esi + ref_00498e2e], ax ; mov word [esi + 0x498e2e], ax
+jmp short loc_0040c90a ; jmp 0x40c90a
+
+loc_0040c901:
+xor edx, edx
+mov word [esi + ref_00498e2e], dx ; mov word [esi + 0x498e2e], dx
+
+loc_0040c90a:
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040c912:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x94
+xor ebx, ebx
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+cmp edx, 4
+jge near loc_0040cbdd ; jge 0x40cbdd
+imul eax, edx, 0x68
+mov ch, byte [eax + ref_00496b7d] ; mov ch, byte [eax + 0x496b7d]
+test ch, ch
+je near loc_0040cc0d ; je 0x40cc0d
+cmp dword [esp + 0xa8], 0
+jne near loc_0040cbc2 ; jne 0x40cbc2
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne short loc_0040c962 ; jne 0x40c962
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+je near loc_0040cba5 ; je 0x40cba5
+
+loc_0040c962:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+test byte [eax + ref_00496b7d], 0x30 ; test byte [eax + 0x496b7d], 0x30
+je short loc_0040c97c ; je 0x40c97c
+call fcn_0040dd1f ; call 0x40dd1f
+jmp near loc_0040cc0d ; jmp 0x40cc0d
+
+loc_0040c97c:
+call fcn_0044808a ; call 0x44808a
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+xor dh, dh
+mov byte [esp], dh
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov cl, byte [eax + ref_00496b9a] ; mov cl, byte [eax + 0x496b9a]
+test cl, cl
+je short loc_0040c9da ; je 0x40c9da
+mov al, cl
+and al, 0x7f
+and eax, 0xff
+inc eax
+push eax
+lea eax, [esp + 0x84]
+push eax
+push ref_004631e0 ; push 0x4631e0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+
+loc_0040c9da:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ch, byte [eax + ref_00496b9b] ; mov ch, byte [eax + 0x496b9b]
+test ch, ch
+je short loc_0040ca10 ; je 0x40ca10
+mov al, ch
+and al, 0x3f
+and eax, 0xff
+inc eax
+push eax
+lea eax, [esp + 0x84]
+push eax
+push ref_004631f5 ; push 0x4631f5
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+
+loc_0040ca10:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b9c], 0 ; cmp byte [eax + 0x496b9c], 0
+je short loc_0040ca89 ; je 0x40ca89
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_0040ca59 ; je 0x40ca59
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov edi, dword [edx + eax*8 + ref_00480896] ; mov edi, dword [edx + eax*8 + 0x480896]
+push edi
+push 2
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0040ca59:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496b9c] ; mov al, byte [eax + 0x496b9c]
+and al, 0x7f
+and eax, 0xff
+inc eax
+push eax
+lea eax, [esp + 0x84]
+push eax
+push ref_0046320a ; push 0x46320a
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+
+loc_0040ca89:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b9d], 0 ; cmp byte [eax + 0x496b9d], 0
+je short loc_0040cb02 ; je 0x40cb02
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_0040cad2 ; je 0x40cad2
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov edi, dword [edx + eax*8 + ref_0048089a] ; mov edi, dword [edx + eax*8 + 0x48089a]
+push edi
+push 2
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0040cad2:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496b9d] ; mov al, byte [eax + 0x496b9d]
+and al, 0x7f
+and eax, 0xff
+inc eax
+push eax
+lea eax, [esp + 0x84]
+push eax
+push ref_0046321f ; push 0x46321f
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+
+loc_0040cb02:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+je short loc_0040cb84 ; je 0x40cb84
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne short loc_0040cb84 ; jne 0x40cb84
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_0040cb54 ; je 0x40cb54
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ebp, dword [edx + eax*8 + ref_0048089e] ; mov ebp, dword [edx + eax*8 + 0x48089e]
+push ebp
+push 1
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0040cb54:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496b9e] ; mov al, byte [eax + 0x496b9e]
+and al, 0x7f
+and eax, 0xff
+inc eax
+push eax
+lea eax, [esp + 0x84]
+push eax
+push ref_00463234 ; push 0x463234
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+
+loc_0040cb84:
+cmp byte [esp], 0
+je near loc_0040cc0d ; je 0x40cc0d
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+jmp near loc_0040cc0d ; jmp 0x40cc0d
+
+loc_0040cba5:
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+je short loc_0040cbba ; je 0x40cbba
+call fcn_0040dd1f ; call 0x40dd1f
+mov ebx, 0xffffffff
+jmp short loc_0040cc0d ; jmp 0x40cc0d
+
+loc_0040cbba:
+mov bl, byte [eax + ref_00496b7d] ; mov bl, byte [eax + 0x496b7d]
+jmp short loc_0040cc0d ; jmp 0x40cc0d
+
+loc_0040cbc2:
+test ch, 0x30
+jne short loc_0040cc0d ; jne 0x40cc0d
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne short loc_0040cc0d ; jne 0x40cc0d
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+jne short loc_0040cc0d ; jne 0x40cc0d
+mov bl, ch
+jmp short loc_0040cc0d ; jmp 0x40cc0d
+
+loc_0040cbdd:
+lea eax, [edx - 4]
+shl eax, 4
+cmp byte [eax + ref_00498e32], 0 ; cmp byte [eax + 0x498e32], 0
+jne short loc_0040cc0d ; jne 0x40cc0d
+cmp dword [esp + 0xa8], 0
+jne short loc_0040cc0d ; jne 0x40cc0d
+cmp byte [eax + ref_00498e34], 0 ; cmp byte [eax + 0x498e34], 0
+jne short loc_0040cc0d ; jne 0x40cc0d
+cmp byte [eax + ref_00498e36], 0 ; cmp byte [eax + 0x498e36], 0
+jne short loc_0040cc0d ; jne 0x40cc0d
+mov ebx, 2
+
+loc_0040cc0d:
+mov eax, ebx
+add esp, 0x94
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040cc1a:
+push ebx
+imul eax, dword [esp + 8], 0x68
+xor dl, dl
+mov byte [eax + ref_00496ba5], dl ; mov byte [eax + 0x496ba5], dl
+xor edx, edx
+mov dl, byte [eax + ref_00496ba9] ; mov dl, byte [eax + 0x496ba9]
+dec edx
+imul edx, edx, 0x68
+xor bl, bl
+mov byte [edx + ref_00496ba9], bl ; mov byte [edx + 0x496ba9], bl
+xor edx, edx
+mov dl, byte [eax + ref_00496ba9] ; mov dl, byte [eax + 0x496ba9]
+dec edx
+imul edx, edx, 0x68
+mov byte [edx + ref_00496ba5], bl ; mov byte [edx + 0x496ba5], bl
+mov byte [eax + ref_00496ba9], bl ; mov byte [eax + 0x496ba9], bl
+pop ebx
+ret
+
+fcn_0040cc56:
+push ebx
+push esi
+push edi
+mov cl, byte [esp + 0x10]
+mov edi, 0x100
+shl edi, cl
+imul edx, dword [esp + 0x10], 0x68
+xor ecx, ecx
+mov cx, word [edx + ref_00496b74] ; mov cx, word [edx + 0x496b74]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+shl eax, 3
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+add eax, ecx
+mov ecx, edi
+not ecx
+and dword [eax + 0x24], ecx
+xor eax, eax
+mov ax, word [edx + ref_00496b74] ; mov ax, word [edx + 0x496b74]
+push eax
+call fcn_0040aa6c ; call 0x40aa6c
+add esp, 4
+mov ecx, eax
+shl eax, 2
+add eax, ecx
+shl eax, 3
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+add ebx, eax
+xor eax, eax
+jmp short loc_0040ccb9 ; jmp 0x40ccb9
+
+loc_0040ccb3:
+inc eax
+cmp eax, 4
+jge short loc_0040ccc8 ; jge 0x40ccc8
+
+loc_0040ccb9:
+mov edx, eax
+mov dx, word [ebx + edx*2 + 0x18]
+and edx, 0xffff
+je short loc_0040ccb3 ; je 0x40ccb3
+
+loc_0040ccc8:
+imul esi, dword [esp + 0x10], 0x68
+mov ax, word [ebx]
+mov word [esi + ref_00496b70], ax ; mov word [esi + 0x496b70], ax
+mov ax, word [ebx + 2]
+mov word [esi + ref_00496b72], ax ; mov word [esi + 0x496b72], ax
+mov word [esi + ref_00496b74], cx ; mov word [esi + 0x496b74], cx
+mov word [esi + ref_00496b76], dx ; mov word [esi + 0x496b76], dx
+push ecx
+push edx
+call fcn_00407a8c ; call 0x407a8c
+add esp, 8
+mov byte [esi + ref_00496b78], al ; mov byte [esi + 0x496b78], al
+or dword [ebx + 0x24], edi
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040cd07:
+push ebx
+mov edx, dword [esp + 8]
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0040cd70 ; je 0x40cd70
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne short loc_0040cd70 ; jne 0x40cd70
+mov cl, byte [eax + ref_00496b79] ; mov cl, byte [eax + 0x496b79]
+test cl, cl
+je short loc_0040cd5b ; je 0x40cd5b
+mov al, cl
+and al, 3
+cmp al, 1
+jb short loc_0040cd49 ; jb 0x40cd49
+jbe short loc_0040cd3b ; jbe 0x40cd3b
+cmp al, 2
+je short loc_0040cd43 ; je 0x40cd43
+jmp short loc_0040cd49 ; jmp 0x40cd49
+
+loc_0040cd3b:
+inc byte [ref_00497324] ; inc byte [0x497324]
+jmp short loc_0040cd49 ; jmp 0x40cd49
+
+loc_0040cd43:
+inc byte [ref_00497325] ; inc byte [0x497325]
+
+loc_0040cd49:
+imul eax, edx, 0x68
+xor bl, bl
+mov byte [eax + ref_00496b79], bl ; mov byte [eax + 0x496b79], bl
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+
+loc_0040cd5b:
+imul eax, edx, 0x68
+or byte [eax + ref_00496b7d], 0x40 ; or byte [eax + 0x496b7d], 0x40
+push edx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+pop ebx
+ret
+
+loc_0040cd70:
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+jne short loc_0040cd85 ; jne 0x40cd85
+push edx
+call fcn_0040cc56 ; call 0x40cc56
+add esp, 4
+
+loc_0040cd85:
+pop ebx
+ret
+
+fcn_0040cd87:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x404
+imul eax, dword [esp + 0x418], 0x68
+mov dl, byte [eax + ref_00496b7d] ; mov dl, byte [eax + 0x496b7d]
+mov byte [esp + 0x400], dl
+test dl, dl
+je near loc_0040d288 ; je 0x40d288
+xor ebx, ebx
+mov bx, word [eax + ref_00496b74] ; mov bx, word [eax + 0x496b74]
+mov edx, ebx
+shl edx, 2
+add edx, ebx
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+mov dx, word [ebx + edx*8]
+mov word [eax + ref_00496b70], dx ; mov word [eax + 0x496b70], dx
+xor esi, esi
+mov si, word [eax + ref_00496b74] ; mov si, word [eax + 0x496b74]
+mov edx, esi
+shl edx, 2
+add edx, esi
+mov dx, word [ebx + edx*8 + 2]
+mov word [eax + ref_00496b72], dx ; mov word [eax + 0x496b72], dx
+xor esi, esi
+mov si, word [eax + ref_00496b74] ; mov si, word [eax + 0x496b74]
+mov edx, esi
+shl edx, 2
+add edx, esi
+shl edx, 3
+add edx, ebx
+mov cl, byte [esp + 0x418]
+mov ebx, 0x100
+shl ebx, cl
+or dword [edx + 0x24], ebx
+xor dh, dh
+mov byte [eax + ref_00496b7d], dh ; mov byte [eax + 0x496b7d], dh
+mov edx, dword [esp + 0x418]
+xor bl, bl
+mov byte [edx + ref_00496b30], bl ; mov byte [edx + 0x496b30], bl
+mov byte [edx + ref_00496b60], bl ; mov byte [edx + 0x496b60], bl
+mov cl, byte [eax + ref_00496ba7] ; mov cl, byte [eax + 0x496ba7]
+test cl, cl
+je short loc_0040ce48 ; je 0x40ce48
+mov al, cl
+and eax, 0xff
+push eax
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+
+loc_0040ce48:
+imul eax, dword [esp + 0x418], 0x68
+mov ch, byte [eax + ref_00496ba8] ; mov ch, byte [eax + 0x496ba8]
+test ch, ch
+je short loc_0040ce6a ; je 0x40ce6a
+mov al, ch
+and eax, 0xff
+push eax
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+
+loc_0040ce6a:
+mov esi, dword [esp + 0x418]
+imul eax, esi, 0x68
+cmp byte [eax + ref_00496ba9], 0 ; cmp byte [eax + 0x496ba9], 0
+je short loc_0040ce86 ; je 0x40ce86
+push esi
+call fcn_0040cc1a ; call 0x40cc1a
+add esp, 4
+
+loc_0040ce86:
+xor ebx, ebx
+jmp short loc_0040ce90 ; jmp 0x40ce90
+
+loc_0040ce8a:
+inc ebx
+cmp ebx, 2
+jge short loc_0040cec0 ; jge 0x40cec0
+
+loc_0040ce90:
+mov eax, ebx
+shl eax, 4
+cmp byte [eax + ref_00498e32], 0 ; cmp byte [eax + 0x498e32], 0
+jne short loc_0040ce8a ; jne 0x40ce8a
+mov al, byte [eax + ref_00498e30] ; mov al, byte [eax + 0x498e30]
+and eax, 0xff
+cmp eax, dword [esp + 0x418]
+jne short loc_0040ce8a ; jne 0x40ce8a
+lea eax, [ebx + 4]
+push eax
+call fcn_0043d593 ; call 0x43d593
+add esp, 4
+jmp short loc_0040ce8a ; jmp 0x40ce8a
+
+loc_0040cec0:
+mov ebx, 2
+jmp short loc_0040cecd ; jmp 0x40cecd
+
+loc_0040cec7:
+inc ebx
+cmp ebx, 4
+jge short loc_0040cefd ; jge 0x40cefd
+
+loc_0040cecd:
+mov eax, ebx
+shl eax, 4
+cmp byte [eax + ref_00498e32], 0 ; cmp byte [eax + 0x498e32], 0
+jne short loc_0040cec7 ; jne 0x40cec7
+mov al, byte [eax + ref_00498e30] ; mov al, byte [eax + 0x498e30]
+and eax, 0xff
+cmp eax, dword [esp + 0x418]
+jne short loc_0040cec7 ; jne 0x40cec7
+lea eax, [ebx + 4]
+push eax
+call fcn_0043ec3f ; call 0x43ec3f
+add esp, 4
+jmp short loc_0040cec7 ; jmp 0x40cec7
+
+loc_0040cefd:
+imul esi, dword [esp + 0x418], 0x68
+mov ebx, ref_00496b68 ; mov ebx, 0x496b68
+add ebx, esi
+lea eax, [ebx + 0x1c]
+mov edx, eax
+sub edx, ebx
+mov ebx, edx
+mov edx, 0x68
+sub edx, ebx
+push edx
+push 0
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor eax, eax
+mov al, byte [esi + ref_00496b7b] ; mov al, byte [esi + 0x496b7b]
+mov byte [eax + ref_004990f4], 2 ; mov byte [eax + 0x4990f4], 2
+mov esi, dword [esp + 0x418]
+push esi
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+xor ebx, ebx
+mov esi, dword [esp + 0x418]
+
+loc_0040cf50:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0040cf6d ; jge 0x40cf6d
+cmp ebx, esi
+je short loc_0040cf6a ; je 0x40cf6a
+imul eax, ebx, 0x68
+mov edx, esi
+xor ebp, ebp
+mov dword [eax + edx*4 + ref_00496bb4], ebp ; mov dword [eax + edx*4 + 0x496bb4], ebp
+
+loc_0040cf6a:
+inc ebx
+jmp short loc_0040cf50 ; jmp 0x40cf50
+
+loc_0040cf6d:
+xor eax, eax
+mov dword [ref_0048be18], eax ; mov dword [0x48be18], eax
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+mov eax, dword [esp + 0x418]
+mov dword [ref_0049910c], eax ; mov dword [0x49910c], eax
+push 2
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+push 0
+push 0
+push 0x22b
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x64
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x7d0
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+cmp dword [ref_00499104], 1 ; cmp dword [0x499104], 1
+jne short loc_0040d002 ; jne 0x40d002
+test byte [esp + 0x400], 1
+je short loc_0040d002 ; je 0x40d002
+push 0
+call fcn_00407842 ; call 0x407842
+add esp, 4
+mov byte [ref_0046caf8], al ; mov byte [0x46caf8], al
+jmp near loc_0040d274 ; jmp 0x40d274
+
+loc_0040d002:
+xor ebx, ebx
+xor eax, eax
+xor esi, esi
+
+loc_0040d008:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0040d029 ; jge 0x40d029
+imul edx, ebx, 0x68
+mov cl, byte [edx + ref_00496b7d] ; mov cl, byte [edx + 0x496b7d]
+test cl, cl
+je short loc_0040d026 ; je 0x40d026
+test cl, 1
+je short loc_0040d025 ; je 0x40d025
+mov edi, ebx
+inc esi
+
+loc_0040d025:
+inc eax
+
+loc_0040d026:
+inc ebx
+jmp short loc_0040d008 ; jmp 0x40d008
+
+loc_0040d029:
+test esi, esi
+jne short loc_0040d039 ; jne 0x40d039
+mov byte [ref_0046caf8], 1 ; mov byte [0x46caf8], 1
+jmp near loc_0040d282 ; jmp 0x40d282
+
+loc_0040d039:
+cmp eax, 1
+jne short loc_0040d089 ; jne 0x40d089
+imul eax, edi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_004808aa] ; mov ecx, dword [edx + eax*8 + 0x4808aa]
+push ecx
+push 3
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp dword [ref_00499104], 1 ; cmp dword [0x499104], 1
+jne short loc_0040d07d ; jne 0x40d07d
+mov byte [ref_0046caf8], 2 ; mov byte [0x46caf8], 2
+jmp near loc_0040d282 ; jmp 0x40d282
+
+loc_0040d07d:
+mov byte [ref_0046caf8], 3 ; mov byte [0x46caf8], 3
+jmp near loc_0040d282 ; jmp 0x40d282
+
+loc_0040d089:
+xor esi, esi
+mov ebx, 1
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+
+loc_0040d095:
+add eax, 0x34
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg short loc_0040d0cc ; jg 0x40d0cc
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov edi, dword [esp + 0x418]
+inc edi
+cmp edx, edi
+jne short loc_0040d0c9 ; jne 0x40d0c9
+mov byte [eax + 0x19], 0
+mov dword [eax + 0x30], 0
+mov edi, ebx
+add edi, 0x7d0
+mov word [esp + esi*2], di
+inc esi
+
+loc_0040d0c9:
+inc ebx
+jmp short loc_0040d095 ; jmp 0x40d095
+
+loc_0040d0cc:
+mov ebx, 1
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+
+loc_0040d0d6:
+add eax, 0x38
+cmp ebx, dword [ref_00498e8c] ; cmp ebx, dword [0x498e8c]
+jg short loc_0040d10d ; jg 0x40d10d
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov edi, dword [esp + 0x418]
+inc edi
+cmp edx, edi
+jne short loc_0040d10a ; jne 0x40d10a
+mov byte [eax + 0x19], 0
+mov dword [eax + 0x34], 0
+mov edi, ebx
+add edi, 0xfa0
+mov word [esp + esi*2], di
+inc esi
+
+loc_0040d10a:
+inc ebx
+jmp short loc_0040d0d6 ; jmp 0x40d0d6
+
+loc_0040d10d:
+mov ebx, 1
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+
+loc_0040d117:
+add eax, 0x34
+cmp ebx, dword [ref_00498e90] ; cmp ebx, dword [0x498e90]
+jg short loc_0040d139 ; jg 0x40d139
+movzx edi, byte [eax + 0x18]
+mov edx, dword [esp + 0x418]
+inc edx
+cmp edi, edx
+jne short loc_0040d136 ; jne 0x40d136
+mov byte [eax + 0x18], 0
+
+loc_0040d136:
+inc ebx
+jmp short loc_0040d117 ; jmp 0x40d117
+
+loc_0040d139:
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+xor ebx, ebx
+jmp short loc_0040d14d ; jmp 0x40d14d
+
+loc_0040d147:
+inc ebx
+cmp ebx, 0xc
+jge short loc_0040d185 ; jge 0x40d185
+
+loc_0040d14d:
+mov edx, dword [esp + 0x418]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov edx, ebx
+shl edx, 3
+add eax, edx
+mov edi, dword [eax + ref_004971a0] ; mov edi, dword [eax + 0x4971a0]
+test edi, edi
+je short loc_0040d147 ; je 0x40d147
+push 0
+push edi
+push ebx
+mov ecx, dword [esp + 0x424]
+push ecx
+call fcn_00428e23 ; call 0x428e23
+add esp, 0x10
+jmp short loc_0040d147 ; jmp 0x40d147
+
+loc_0040d185:
+mov ebx, dword [esp + 0x418]
+push ebx
+call fcn_00445b3f ; call 0x445b3f
+add esp, 4
+push ebx
+call fcn_00441f21 ; call 0x441f21
+add esp, 4
+xor ebx, ebx
+jmp short loc_0040d1a8 ; jmp 0x40d1a8
+
+loc_0040d1a2:
+inc ebx
+cmp ebx, 0x24
+jge short loc_0040d1c6 ; jge 0x40d1c6
+
+loc_0040d1a8:
+xor eax, eax
+mov al, byte [ebx + ref_004990b8] ; mov al, byte [ebx + 0x4990b8]
+mov edx, dword [esp + 0x418]
+inc edx
+cmp eax, edx
+jne short loc_0040d1a2 ; jne 0x40d1a2
+xor al, dl
+mov byte [ebx + ref_004990b8], al ; mov byte [ebx + 0x4990b8], al
+jmp short loc_0040d1a2 ; jmp 0x40d1a2
+
+loc_0040d1c6:
+cmp esi, 3
+jle short loc_0040d211 ; jle 0x40d211
+push 5
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+xor ebx, ebx
+jmp short loc_0040d1f7 ; jmp 0x40d1f7
+
+loc_0040d1d9:
+push 0
+xor eax, eax
+mov ax, dx
+push eax
+push 0xffffffffffffffff
+call fcn_0043bde5 ; call 0x43bde5
+add esp, 0xc
+xor ecx, ecx
+mov word [esp + edi], cx
+inc ebx
+cmp ebx, 3
+jge short loc_0040d211 ; jge 0x40d211
+
+loc_0040d1f7:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+lea edi, [edx + edx]
+mov dx, word [esp + edi]
+test dx, dx
+je short loc_0040d1f7 ; je 0x40d1f7
+jmp short loc_0040d1d9 ; jmp 0x40d1d9
+
+loc_0040d211:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [esp + 0x418], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_004808ae] ; mov ecx, dword [edx + eax*8 + 0x4808ae]
+push ecx
+push 2
+mov ebx, dword [esp + 0x420]
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+movsx edx, word [eax + 0xe]
+push edx
+movsx edx, word [eax + 0xc]
+push edx
+push 0
+push 0
+add eax, 0xc
+push eax
+call fcn_004553fe ; call 0x4553fe
+add esp, 0x14
+
+loc_0040d274:
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne short loc_0040d282 ; jne 0x40d282
+call fcn_00454bcc ; call 0x454bcc
+
+loc_0040d282:
+mov dword [ref_0049910c], ebp ; mov dword [0x49910c], ebp
+
+loc_0040d288:
+add esp, 0x404
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040d293:
+mov edx, dword [esp + 4]
+test dl, 0xff
+jne short loc_0040d2a2 ; jne 0x40d2a2
+mov eax, 0xffffffff
+ret
+
+loc_0040d2a2:
+xor eax, eax
+jmp short loc_0040d2ae ; jmp 0x40d2ae
+
+loc_0040d2a6:
+sar edx, 1
+inc eax
+cmp eax, 8
+jge short loc_0040d2b3 ; jge 0x40d2b3
+
+loc_0040d2ae:
+test dl, 1
+je short loc_0040d2a6 ; je 0x40d2a6
+
+loc_0040d2b3:
+ret
+
+fcn_0040d2b4:
+xor eax, eax
+xor ecx, ecx
+
+loc_0040d2b8:
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jge short loc_0040d2d0 ; jge 0x40d2d0
+imul edx, eax, 0x68
+cmp byte [edx + ref_00496b7d], 0 ; cmp byte [edx + 0x496b7d], 0
+je short loc_0040d2cd ; je 0x40d2cd
+inc ecx
+
+loc_0040d2cd:
+inc eax
+jmp short loc_0040d2b8 ; jmp 0x40d2b8
+
+loc_0040d2d0:
+mov eax, ecx
+ret
+
+fcn_0040d2d3:
+push ebx
+push esi
+push edi
+mov esi, dword [esp + 0x10]
+xor eax, eax
+xor ecx, ecx
+mov edi, 0xffffffff
+
+loc_0040d2e3:
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jge short loc_0040d316 ; jge 0x40d316
+cmp eax, esi
+je short loc_0040d313 ; je 0x40d313
+imul edx, eax, 0x68
+cmp byte [edx + ref_00496b7d], 0 ; cmp byte [edx + 0x496b7d], 0
+je short loc_0040d313 ; je 0x40d313
+imul edx, esi, 0x68
+mov ebx, eax
+shl ebx, 2
+add edx, ebx
+mov ebx, dword [edx + ref_00496bb4] ; mov ebx, dword [edx + 0x496bb4]
+cmp ecx, ebx
+jge short loc_0040d313 ; jge 0x40d313
+mov ecx, ebx
+mov edi, eax
+
+loc_0040d313:
+inc eax
+jmp short loc_0040d2e3 ; jmp 0x40d2e3
+
+loc_0040d316:
+mov eax, edi
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040d31c:
+push ebx
+push esi
+sub esp, 4
+mov edx, dword [esp + 0x10]
+xor ebx, ebx
+xor esi, esi
+
+loc_0040d329:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0040d351 ; jge 0x40d351
+cmp ebx, edx
+je short loc_0040d34e ; je 0x40d34e
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0040d34e ; je 0x40d34e
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne short loc_0040d34e ; jne 0x40d34e
+mov byte [esp + esi], bl
+inc esi
+
+loc_0040d34e:
+inc ebx
+jmp short loc_0040d329 ; jmp 0x40d329
+
+loc_0040d351:
+test esi, esi
+je short loc_0040d368 ; je 0x40d368
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+xor ebx, ebx
+mov bl, byte [esp + edx]
+jmp short loc_0040d36d ; jmp 0x40d36d
+
+loc_0040d368:
+mov ebx, 0xffffffff
+
+loc_0040d36d:
+mov eax, ebx
+add esp, 4
+pop esi
+pop ebx
+ret
+
+fcn_0040d375:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov cl, byte [esp + 0x18]
+mov edi, 0x100
+shl edi, cl
+mov edx, dword [esp + 0x18]
+imul ebx, edx, 0x68
+mov al, byte [esp + 0x20]
+shl al, 6
+mov ah, byte [esp + 0x1c]
+or ah, al
+mov byte [esp], ah
+mov ah, byte [ebx + ref_00496b9b] ; mov ah, byte [ebx + 0x496b9b]
+test ah, ah
+jne near loc_0040d4c5 ; jne 0x40d4c5
+push edx
+call fcn_0040d761 ; call 0x40d761
+add esp, 4
+xor edx, edx
+mov dx, word [ebx + ref_00496b74] ; mov dx, word [ebx + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov esi, dword [ref_00498e80] ; mov esi, dword [0x498e80]
+add esi, eax
+push 0
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ebp, dword [esp + 0x1c]
+push ebp
+mov eax, dword [esp + 0x1c]
+push eax
+call fcn_0044f2c2 ; call 0x44f2c2
+add esp, 8
+push 0
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 3
+add eax, ebp
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+mov ecx, dword [esp + 0x20]
+push ecx
+call fcn_0044ba63 ; call 0x44ba63
+add esp, 0xc
+mov al, byte [esp + 0x1c]
+add byte [ebx + ref_00496baa], al ; add byte [ebx + 0x496baa], al
+mov al, byte [esp]
+mov byte [ebx + ref_00496b9b], al ; mov byte [ebx + 0x496b9b], al
+mov eax, edi
+not eax
+and dword [esi + 0x24], eax
+mov edi, dword [esp + 0x20]
+test edi, edi
+jne short loc_0040d472 ; jne 0x40d472
+push edi
+push edi
+push 0x22e
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov ebx, eax
+push 0x60
+push 0x140001
+push 0x28
+push edi
+jmp short loc_0040d497 ; jmp 0x40d497
+
+loc_0040d472:
+push 0
+push 0
+push 0x215
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov ebx, eax
+push 0x54
+push 0x1c0001
+push 0x28
+push 0
+
+loc_0040d497:
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+imul eax, dword [esp + 0x18], 0x68
+mov dx, word [esi]
+mov word [eax + ref_00496b70], dx ; mov word [eax + 0x496b70], dx
+mov dx, word [esi + 2]
+mov word [eax + ref_00496b72], dx ; mov word [eax + 0x496b72], dx
+jmp short loc_0040d4dd ; jmp 0x40d4dd
+
+loc_0040d4c5:
+mov dl, ah
+and dl, 0x3f
+mov byte [ebx + ref_00496b9b], dl ; mov byte [ebx + 0x496b9b], dl
+mov al, byte [esp]
+mov dh, dl
+add dh, al
+mov byte [ebx + ref_00496b9b], dh ; mov byte [ebx + 0x496b9b], dh
+
+loc_0040d4dd:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040d4e5:
+push ebx
+push edi
+push ebp
+sub esp, 4
+mov cl, byte [esp + 0x14]
+mov ebx, 0x100
+shl ebx, cl
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul edx, dword [esp + 0x14], 0x68
+xor eax, eax
+mov al, byte [edx + ref_00496b9b] ; mov al, byte [edx + 0x496b9b]
+mov dword [esp], eax
+xor ecx, ecx
+mov cx, word [edx + ref_00496b74] ; mov cx, word [edx + 0x496b74]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+or dword [ecx + eax*8 + 0x24], ebx
+xor ah, ah
+mov byte [edx + ref_00496b9b], ah ; mov byte [edx + 0x496b9b], ah
+mov edi, dword [esp + 0x14]
+push edi
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+test byte [esp], 0x40
+je short loc_0040d567 ; je 0x40d567
+push 0
+push 0
+push 0x215
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov ebx, eax
+push 0x54
+push 0x1c0001
+jmp short loc_0040d588 ; jmp 0x40d588
+
+loc_0040d567:
+push 0
+push 0
+push 0x22e
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov ebx, eax
+push 0x60
+push 0x140001
+
+loc_0040d588:
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+add esp, 4
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_0040d5a5:
+push ebx
+push edi
+push ebp
+mov cl, byte [esp + 0x10]
+mov eax, 0x100
+shl eax, cl
+mov ecx, eax
+not ecx
+imul ebx, dword [esp + 0x10], 0x68
+xor edx, edx
+mov dx, word [ebx + ref_00496b74] ; mov dx, word [ebx + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+and dword [edx + eax*8 + 0x24], ecx
+mov eax, dword [esp + 0x18]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+movsx edx, word [eax]
+movsx eax, word [eax + 2]
+xor ecx, ecx
+mov cx, word [ebx + ref_00496b74] ; mov cx, word [ebx + 0x496b74]
+cmp ecx, dword [esp + 0x14]
+jne short loc_0040d650 ; jne 0x40d650
+mov ecx, dword [esp + 0x10]
+cmp ecx, dword [ref_0049910c] ; cmp ecx, dword [0x49910c]
+jne short loc_0040d650 ; jne 0x40d650
+or byte [ebx + ref_00496b7d], 0x20 ; or byte [ebx + 0x496b7d], 0x20
+mov cl, byte [ebx + ref_00496b78] ; mov cl, byte [ebx + 0x496b78]
+mov byte [ebx + ref_00496b83], cl ; mov byte [ebx + 0x496b83], cl
+xor ecx, ecx
+mov cx, word [ebx + ref_00496b70] ; mov cx, word [ebx + 0x496b70]
+sub edx, ecx
+mov ecx, edx
+xor edx, edx
+mov dx, word [ebx + ref_00496b72] ; mov dx, word [ebx + 0x496b72]
+sub eax, edx
+push eax
+push ecx
+call fcn_00454fb4 ; call 0x454fb4
+add esp, 8
+mov byte [ebx + ref_00496b78], al ; mov byte [ebx + 0x496b78], al
+call fcn_0040dd1f ; call 0x40dd1f
+jmp short loc_0040d6aa ; jmp 0x40d6aa
+
+loc_0040d650:
+mov ecx, dword [esp + 0x10]
+imul ebx, ecx, 0x68
+mov word [ebx + ref_00496b70], dx ; mov word [ebx + 0x496b70], dx
+mov word [ebx + ref_00496b72], ax ; mov word [ebx + 0x496b72], ax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+mov word [ebx + ref_00496b74], dx ; mov word [ebx + 0x496b74], dx
+mov dx, word [eax + ref_00496b76] ; mov dx, word [eax + 0x496b76]
+mov word [ebx + ref_00496b76], dx ; mov word [ebx + 0x496b76], dx
+mov al, byte [eax + ref_00496b78] ; mov al, byte [eax + 0x496b78]
+mov byte [ebx + ref_00496b83], al ; mov byte [ebx + 0x496b83], al
+mov edi, ecx
+push ecx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+mov ebp, edi
+push ebp
+call fcn_0040fc00 ; call 0x40fc00
+add esp, 4
+
+loc_0040d6aa:
+imul eax, dword [esp + 0x10], 0x68
+mov edx, dword [esp + 0x18]
+mov word [eax + ref_00496bb2], dx ; mov word [eax + 0x496bb2], dx
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_0040d6be:
+push ebx
+push esi
+push edi
+mov ebx, dword [esp + 0x10]
+mov cl, bl
+mov esi, 0x100
+shl esi, cl
+imul ebx, ebx, 0x68
+or byte [ebx + ref_00496b7d], 0x10 ; or byte [ebx + 0x496b7d], 0x10
+xor edx, edx
+mov dx, word [ebx + ref_00496b74] ; mov dx, word [ebx + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+movsx ecx, word [edx + eax*8]
+movsx edi, word [edx + eax*8 + 2]
+xor edx, edx
+mov dx, word [ebx + ref_00496b70] ; mov dx, word [ebx + 0x496b70]
+sub ecx, edx
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+sub edi, eax
+push edi
+push ecx
+call fcn_00454fb4 ; call 0x454fb4
+add esp, 8
+mov byte [ebx + ref_00496b78], al ; mov byte [ebx + 0x496b78], al
+mov bx, word [ebx + ref_00496b74] ; mov bx, word [ebx + 0x496b74]
+and ebx, 0xffff
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+or dword [edx + eax*8 + 0x24], esi
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040d73f:
+xor edx, edx
+imul eax, dword [esp + 4], 0x68
+mov ecx, dword [eax + ref_00496b9a] ; mov ecx, dword [eax + 0x496b9a]
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0040d75e ; je 0x40d75e
+test ecx, ecx
+jne short loc_0040d75e ; jne 0x40d75e
+mov edx, 1
+
+loc_0040d75e:
+mov eax, edx
+ret
+
+fcn_0040d761:
+push ebx
+mov ebx, dword [esp + 8]
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9c], 0 ; cmp byte [eax + 0x496b9c], 0
+je short loc_0040d785 ; je 0x40d785
+xor dh, dh
+mov byte [ebx + ref_00496b30], dh ; mov byte [ebx + 0x496b30], dh
+push 1
+push ebx
+call fcn_0040bf93 ; call 0x40bf93
+add esp, 8
+
+loc_0040d785:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9d], 0 ; cmp byte [eax + 0x496b9d], 0
+je short loc_0040d7a4 ; je 0x40d7a4
+xor ch, ch
+mov byte [ebx + ref_00496b60], ch ; mov byte [ebx + 0x496b60], ch
+push 0
+push ebx
+call fcn_0040bf93 ; call 0x40bf93
+add esp, 8
+
+loc_0040d7a4:
+imul ebx, ebx, 0x68
+xor edx, edx
+mov dword [ebx + ref_00496b9a], edx ; mov dword [ebx + 0x496b9a], edx
+pop ebx
+ret
+
+endloc_0040d7b1:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_0040d7b4: ; may contain a jump table
+dd loc_0040d808
+dd loc_0040d8d3
+dd loc_0040d975
+dd loc_0040da4b
+
+fcn_0040d7c4:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+xor ah, ah
+mov byte [ref_0046cafa], ah ; mov byte [0x46cafa], ah
+cmp byte [ref_0046cafb], 0 ; cmp byte [0x46cafb], 0
+je near loc_0040dd17 ; je 0x40dd17
+mov edi, 1
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul edx, ecx, 0x34
+mov al, byte [edx + ref_00498ea2] ; mov al, byte [edx + 0x498ea2]
+cmp al, 3
+ja near loc_0040d88e ; ja 0x40d88e
+and eax, 0xff
+jmp dword [eax*4 + ref_0040d7b4] ; ujmp: jmp dword [eax*4 + 0x40d7b4]
+
+loc_0040d808:
+xor edi, edi
+cmp byte [edx + ref_00498ea5], 0 ; cmp byte [edx + 0x498ea5], 0
+je near loc_0040d88e ; je 0x40d88e
+cmp ecx, 8
+jne short loc_0040d82a ; jne 0x40d82a
+call fcn_0040fad6 ; call 0x40fad6
+test eax, eax
+jne short loc_0040d82a ; jne 0x40d82a
+mov edi, 1
+
+loc_0040d82a:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov bh, byte [eax + ref_00498ea5] ; mov bh, byte [eax + 0x498ea5]
+test bh, 0x7f
+je short loc_0040d846 ; je 0x40d846
+mov cl, bh
+dec cl
+mov byte [eax + ref_00498ea5], cl ; mov byte [eax + 0x498ea5], cl
+
+loc_0040d846:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov ch, byte [eax + ref_00498ea5] ; mov ch, byte [eax + 0x498ea5]
+test ch, 0x7f
+jne near loc_0040d88e ; jne 0x40d88e
+test ch, 0x80
+je short loc_0040d879 ; je 0x40d879
+xor bl, bl
+mov byte [ref_0046cafb], bl ; mov byte [0x46cafb], bl
+mov byte [eax + ref_00498ea5], bl ; mov byte [eax + 0x498ea5], bl
+call fcn_00418ebd ; call 0x418ebd
+jmp near loc_0040d88e ; jmp 0x40d88e
+
+loc_0040d879:
+test edi, edi
+je short loc_0040d889 ; je 0x40d889
+mov byte [eax + ref_00498ea5], 1 ; mov byte [eax + 0x498ea5], 1
+jmp near loc_0040d88e ; jmp 0x40d88e
+
+loc_0040d889:
+call fcn_00418e7f ; call 0x418e7f
+
+loc_0040d88e:
+test edi, edi
+je near loc_0040dd17 ; je 0x40dd17
+
+loc_0040d896:
+cmp dword [ref_0048be18], 0 ; cmp dword [0x48be18], 0
+jne near loc_0040dcdf ; jne 0x40dcdf
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp ebp, 4
+jge near loc_0040dcc4 ; jge 0x40dcc4
+mov edx, ebp
+imul eax, ebp, 0x68
+xor edx, ebp
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+
+loc_0040d8c8:
+and eax, 0xffff
+push eax
+jmp near loc_0040dced ; jmp 0x40dced
+
+loc_0040d8d3:
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+jne short loc_0040d932 ; jne 0x40d932
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp ebp, 4
+jge short loc_0040d916 ; jge 0x40d916
+imul eax, ebp, 0x68
+cmp byte [eax + ref_00496ba8], 0 ; cmp byte [eax + 0x496ba8], 0
+je short loc_0040d916 ; je 0x40d916
+push ref_00482362 ; push 0x482362
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+
+loc_0040d916:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+xor bl, bl
+mov byte [eax + ref_00498ea2], bl ; mov byte [eax + 0x498ea2], bl
+mov byte [eax + ref_00498ea3], bl ; mov byte [eax + 0x498ea3], bl
+mov byte [eax + ref_00498ea5], 5 ; mov byte [eax + 0x498ea5], 5
+
+loc_0040d932:
+cmp byte [ref_0048bb00], 0 ; cmp byte [0x48bb00], 0
+je short loc_0040d947 ; je 0x40d947
+xor al, al
+mov byte [ref_0048bb00], al ; mov byte [0x48bb00], al
+call fcn_0041b42d ; call 0x41b42d
+
+loc_0040d947:
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je short loc_0040d966 ; je 0x40d966
+call fcn_0040c05c ; call 0x40c05c
+test eax, eax
+je short loc_0040d966 ; je 0x40d966
+mov byte [ref_0048bb00], 1 ; mov byte [0x48bb00], 1
+dec dword [ref_0048baf8] ; dec dword [0x48baf8]
+
+loc_0040d966:
+push 1
+call fcn_00416e6d ; call 0x416e6d
+add esp, 4
+jmp near loc_0040d88e ; jmp 0x40d88e
+
+loc_0040d975:
+mov bl, byte [edx + ref_00498ea3] ; mov bl, byte [edx + 0x498ea3]
+inc bl
+mov byte [edx + ref_00498ea3], bl ; mov byte [edx + 0x498ea3], bl
+xor eax, eax
+mov al, byte [edx + ref_00498ea1] ; mov al, byte [edx + 0x498ea1]
+mov esi, dword [edx + eax*4 + ref_00498ec4] ; mov esi, dword [edx + eax*4 + 0x498ec4]
+mov esi, dword [esi + 4]
+sar esi, 3
+xor eax, eax
+mov al, bl
+cmp eax, esi
+jne near loc_0040d88e ; jne 0x40d88e
+call fcn_00447285 ; call 0x447285
+push eax
+call fcn_00419572 ; call 0x419572
+add esp, 4
+mov dword [ref_0048baf8], eax ; mov dword [0x48baf8], eax
+mov dword [ref_0048bafc], eax ; mov dword [0x48bafc], eax
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x34
+cmp byte [eax + ref_00498ea1], 0 ; cmp byte [eax + 0x498ea1], 0
+je short loc_0040d9da ; je 0x40d9da
+mov dword [ref_004749d4], 0xf ; mov dword [0x4749d4], 0xf
+jmp short loc_0040d9f2 ; jmp 0x40d9f2
+
+loc_0040d9da:
+imul eax, esi, 0x68
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+and eax, 0xff
+add eax, 0xb
+mov dword [ref_004749d4], eax ; mov dword [0x4749d4], eax
+
+loc_0040d9f2:
+push 1
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+cmp edx, 4
+jge short loc_0040da30 ; jge 0x40da30
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496ba8], 0 ; cmp byte [eax + 0x496ba8], 0
+je short loc_0040da30 ; je 0x40da30
+push 1
+push ref_00482362 ; push 0x482362
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0040da30:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov byte [eax + ref_00498ea2], 1 ; mov byte [eax + 0x498ea2], 1
+xor dl, dl
+mov byte [eax + ref_00498ea3], dl ; mov byte [eax + 0x498ea3], dl
+jmp near loc_0040d88e ; jmp 0x40d88e
+
+loc_0040da4b:
+mov bl, byte [ref_004749e0] ; mov bl, byte [0x4749e0]
+test bl, bl
+je short loc_0040da64 ; je 0x40da64
+mov ah, bl
+dec ah
+mov byte [ref_004749e0], ah ; mov byte [0x4749e0], ah
+jmp near loc_0040dd17 ; jmp 0x40dd17
+
+loc_0040da64:
+imul ebx, ecx, 0x68
+mov cl, byte [edx + ref_00498ea3] ; mov cl, byte [edx + 0x498ea3]
+test cl, cl
+jne near loc_0040dbde ; jne 0x40dbde
+xor edx, edx
+mov dx, word [ebx + ref_00496b74] ; mov dx, word [ebx + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+add ebx, eax
+mov si, word [ebx + 0x20]
+cmp si, 0x7d0
+jbe short loc_0040dae9 ; jbe 0x40dae9
+cmp si, 0xfa0
+jae short loc_0040dae9 ; jae 0x40dae9
+xor eax, eax
+mov ax, si
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add edx, eax
+movsx eax, word [edx]
+mov dword [esp], eax
+movsx eax, word [edx + 2]
+mov dword [esp + 4], eax
+cmp byte [edx + 0x19], 0
+je short loc_0040db3e ; je 0x40db3e
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+add eax, eax
+mov ecx, eax
+shl eax, 4
+sub eax, ecx
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+xor eax, eax
+mov al, byte [edx + 0x19]
+sub eax, edi
+jmp short loc_0040db35 ; jmp 0x40db35
+
+loc_0040dae9:
+xor eax, eax
+mov ax, si
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add edx, eax
+movsx eax, word [edx]
+mov dword [esp], eax
+movsx eax, word [edx + 2]
+mov dword [esp + 4], eax
+cmp byte [edx + 0x19], 0
+je short loc_0040db3e ; je 0x40db3e
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+add eax, eax
+mov ecx, eax
+shl eax, 4
+sub eax, ecx
+push eax
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+xor eax, eax
+mov al, byte [edx + 0x19]
+dec eax
+
+loc_0040db35:
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_0040db3e:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [eax + ref_00496b78] ; mov dl, byte [eax + 0x496b78]
+mov byte [eax + ref_00496b83], dl ; mov byte [eax + 0x496b83], dl
+movsx eax, word [ebx + 2]
+mov edx, dword [esp + 4]
+sub edx, eax
+push edx
+movsx eax, word [ebx]
+mov edx, dword [esp + 4]
+sub edx, eax
+push edx
+call fcn_00454fb4 ; call 0x454fb4
+mov edx, eax
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov byte [eax + ref_00496b78], dl ; mov byte [eax + 0x496b78], dl
+push 0
+lea eax, [esp + 8]
+push eax
+lea eax, [esp + 8]
+push eax
+xor eax, eax
+mov ax, si
+push eax
+call fcn_0040b066 ; call 0x40b066
+add esp, 0x10
+push 0
+push 0
+push 0x20e
+mov ebx, dword [ref_0048a0e4] ; mov ebx, dword [0x48a0e4]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bb01], eax ; mov dword [0x48bb01], eax
+push 0xff0001
+mov edx, dword [esp + 8]
+sub edx, 0x37
+push edx
+mov edx, dword [esp + 8]
+sub edx, 0x37
+push edx
+push eax
+call fcn_00450ced ; call 0x450ced
+add esp, 0x10
+mov byte [ref_004749e0], 6 ; mov byte [0x4749e0], 6
+jmp near loc_0040d88e ; jmp 0x40d88e
+
+loc_0040dbde:
+mov esi, dword [edx + ref_00498ecc] ; mov esi, dword [edx + 0x498ecc]
+mov esi, dword [esi + 4]
+sar esi, 3
+xor eax, eax
+mov al, cl
+mov dword [esp], eax
+cmp eax, 3
+jne short loc_0040dc21 ; jne 0x40dc21
+push 2
+xor edx, edx
+mov dx, word [ebx + ref_00496b74] ; mov dx, word [ebx + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+mov ax, word [edx + eax*8 + 0x20]
+and eax, 0xffff
+push eax
+call fcn_0040ab4a ; call 0x40ab4a
+add esp, 8
+
+loc_0040dc21:
+mov eax, dword [esp]
+cmp eax, 2
+jl short loc_0040dc47 ; jl 0x40dc47
+jne short loc_0040dc3a ; jne 0x40dc3a
+push 0
+push ref_004823fa ; push 0x4823fa
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0040dc3a:
+call fcn_00450f04 ; call 0x450f04
+mov dword [esp + 4], eax
+xor edi, edi
+jmp short loc_0040dc4f ; jmp 0x40dc4f
+
+loc_0040dc47:
+mov dword [esp + 4], 1
+
+loc_0040dc4f:
+lea eax, [esi - 1]
+cmp eax, dword [esp]
+jle short loc_0040dc64 ; jle 0x40dc64
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+inc byte [eax + ref_00498ea3] ; inc byte [eax + 0x498ea3]
+
+loc_0040dc64:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov al, byte [eax + ref_00498ea3] ; mov al, byte [eax + 0x498ea3]
+and eax, 0xff
+dec esi
+cmp eax, esi
+jne near loc_0040d88e ; jne 0x40d88e
+cmp dword [esp + 4], 0
+jne near loc_0040d88e ; jne 0x40d88e
+mov ebx, dword [ref_0048bb01] ; mov ebx, dword [0x48bb01]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+mov dl, byte [eax + ref_00496b83] ; mov dl, byte [eax + 0x496b83]
+mov byte [eax + ref_00496b78], dl ; mov byte [eax + 0x496b78], dl
+imul eax, esi, 0x34
+xor dl, dl
+mov byte [eax + ref_00498ea2], dl ; mov byte [eax + 0x498ea2], dl
+mov byte [eax + ref_00498ea3], dl ; mov byte [eax + 0x498ea3], dl
+jmp near loc_0040d896 ; jmp 0x40d896
+
+loc_0040dcc4:
+mov eax, ebp
+shl eax, 4
+xor edx, edx
+mov dx, word [eax + ref_00498dea] ; mov dx, word [eax + 0x498dea]
+push edx
+mov ax, word [eax + ref_00498de8] ; mov ax, word [eax + 0x498de8]
+jmp near loc_0040d8c8 ; jmp 0x40d8c8
+
+loc_0040dcdf:
+mov esi, dword [ref_0048be20] ; mov esi, dword [0x48be20]
+push esi
+mov edi, dword [ref_0048be1c] ; mov edi, dword [0x48be1c]
+push edi
+
+loc_0040dced:
+call fcn_0040829d ; call 0x40829d
+add esp, 8
+or byte [ref_00475110], 2 ; or byte [0x475110], 2
+call fcn_004192f7 ; call 0x4192f7
+cmp byte [ref_004749e0], 6 ; cmp byte [0x4749e0], 6
+jne short loc_0040dd17 ; jne 0x40dd17
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+inc byte [eax + ref_00498ea3] ; inc byte [eax + 0x498ea3]
+
+loc_0040dd17:
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040dd1f:
+push ebx
+push esi
+push edi
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x34
+cmp edx, 4
+jge near loc_0040de09 ; jge 0x40de09
+imul edx, edx, 0x68
+test byte [edx + ref_00496b7d], 0x30 ; test byte [edx + 0x496b7d], 0x30
+je short loc_0040dd53 ; je 0x40dd53
+
+loc_0040dd40:
+mov dword [ref_0048baf8], 1 ; mov dword [0x48baf8], 1
+mov byte [eax + ref_00498ea2], 1 ; mov byte [eax + 0x498ea2], 1
+jmp short loc_0040dd8e ; jmp 0x40dd8e
+
+loc_0040dd53:
+call fcn_0044808a ; call 0x44808a
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul edx, edi, 0x68
+imul eax, edi, 0x34
+cmp byte [edx + ref_00496ba0], 0 ; cmp byte [edx + 0x496ba0], 0
+je short loc_0040dd7e ; je 0x40dd7e
+xor dh, dh
+mov byte [eax + ref_00498ea2], dh ; mov byte [eax + 0x498ea2], dh
+mov byte [eax + ref_00498ea5], 2 ; mov byte [eax + 0x498ea5], 2
+jmp short loc_0040dd8e ; jmp 0x40dd8e
+
+loc_0040dd7e:
+cmp byte [edx + ref_00496ba1], 0 ; cmp byte [edx + 0x496ba1], 0
+jne short loc_0040dd40 ; jne 0x40dd40
+mov byte [eax + ref_00498ea2], 2 ; mov byte [eax + 0x498ea2], 2
+
+loc_0040dd8e:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x34
+cmp byte [eax + ref_00498ea2], 1 ; cmp byte [eax + 0x498ea2], 1
+jne near loc_0040dee4 ; jne 0x40dee4
+cmp byte [eax + ref_00498ea1], 0 ; cmp byte [eax + 0x498ea1], 0
+je short loc_0040ddb9 ; je 0x40ddb9
+mov dword [ref_004749d4], 0xf ; mov dword [0x4749d4], 0xf
+jmp short loc_0040ddd1 ; jmp 0x40ddd1
+
+loc_0040ddb9:
+imul eax, ebx, 0x68
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+and eax, 0xff
+add eax, 0xb
+mov dword [ref_004749d4], eax ; mov dword [0x4749d4], eax
+
+loc_0040ddd1:
+push 1
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba8], 0 ; cmp byte [eax + 0x496ba8], 0
+je near loc_0040dee4 ; je 0x40dee4
+push 1
+push ref_00482362 ; push 0x482362
+jmp near loc_0040dedc ; jmp 0x40dedc
+
+loc_0040de09:
+cmp edx, 8
+jge near loc_0040deb9 ; jge 0x40deb9
+mov eax, edx
+shl eax, 4
+imul edx, edx, 0x34
+cmp byte [eax + ref_00498df6], 0 ; cmp byte [eax + 0x498df6], 0
+je short loc_0040de34 ; je 0x40de34
+xor al, al
+mov byte [edx + ref_00498ea2], al ; mov byte [edx + 0x498ea2], al
+mov byte [edx + ref_00498ea5], 0x82 ; mov byte [edx + 0x498ea5], 0x82
+jmp short loc_0040de78 ; jmp 0x40de78
+
+loc_0040de34:
+cmp byte [eax + ref_00498df7], 0 ; cmp byte [eax + 0x498df7], 0
+je short loc_0040de50 ; je 0x40de50
+mov dword [ref_0048baf8], 1 ; mov dword [0x48baf8], 1
+mov byte [edx + ref_00498ea2], 1 ; mov byte [edx + 0x498ea2], 1
+jmp short loc_0040de78 ; jmp 0x40de78
+
+loc_0040de50:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 9
+sar edx, 0x1f
+idiv ecx
+add edx, 2
+mov dword [ref_0048baf8], edx ; mov dword [0x48baf8], edx
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov byte [eax + ref_00498ea2], 1 ; mov byte [eax + 0x498ea2], 1
+
+loc_0040de78:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+cmp byte [eax + ref_00498ea2], 0 ; cmp byte [eax + 0x498ea2], 0
+je short loc_0040dee4 ; je 0x40dee4
+cmp byte [eax + ref_00498ea1], 0 ; cmp byte [eax + 0x498ea1], 0
+je short loc_0040de9d ; je 0x40de9d
+mov dword [ref_004749d4], 0xf ; mov dword [0x4749d4], 0xf
+jmp short loc_0040dea7 ; jmp 0x40dea7
+
+loc_0040de9d:
+mov dword [ref_004749d4], 0xb ; mov dword [0x4749d4], 0xb
+
+loc_0040dea7:
+push 1
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+jmp short loc_0040dedc ; jmp 0x40dedc
+
+loc_0040deb9:
+mov esi, 9
+mov dword [ref_0048baf8], esi ; mov dword [0x48baf8], esi
+mov byte [eax + ref_00498ea2], 1 ; mov byte [eax + 0x498ea2], 1
+mov dword [ref_004749d4], esi ; mov dword [0x4749d4], esi
+push 1
+mov eax, ref_0048234a ; mov eax, 0x48234a
+add eax, 0x48
+push eax
+
+loc_0040dedc:
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0040dee4:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+xor dh, dh
+mov byte [eax + ref_00498ea3], dh ; mov byte [eax + 0x498ea3], dh
+mov byte [ref_0046cafb], 1 ; mov byte [0x46cafb], 1
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040defe:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+cmp edx, 4
+jge short loc_0040df41 ; jge 0x40df41
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0040df30 ; jne 0x40df30
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne short loc_0040df30 ; jne 0x40df30
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne short loc_0040df30 ; jne 0x40df30
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+je short loc_0040df41 ; je 0x40df41
+
+loc_0040df30:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+or byte [eax + ref_00498ea0], 0x80 ; or byte [eax + 0x498ea0], 0x80
+
+loc_0040df3e:
+xor eax, eax
+ret
+
+loc_0040df41:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+cmp byte [eax + ref_00498ea2], 0 ; cmp byte [eax + 0x498ea2], 0
+jne short loc_0040df3e ; jne 0x40df3e
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne short loc_0040df3e ; jne 0x40df3e
+cmp byte [ref_0046caf9], 0 ; cmp byte [0x46caf9], 0
+jne short loc_0040df3e ; jne 0x40df3e
+mov eax, 1
+ret
+
+fcn_0040df69:
+push ebx
+push edi
+mov edx, dword [esp + 0xc]
+mov ebx, dword [esp + 0x10]
+cmp edx, ebx
+je short loc_0040dfd7 ; je 0x40dfd7
+cmp dword [esp + 0x14], 0
+jge short loc_0040df8d ; jge 0x40df8d
+imul eax, edx, 0x68
+mov ecx, ebx
+cmp dword [eax + ecx*4 + ref_00496bb4], 0 ; cmp dword [eax + ecx*4 + 0x496bb4], 0
+je short loc_0040dfd7 ; je 0x40dfd7
+
+loc_0040df8d:
+imul eax, edx, 0x68
+mov ecx, ebx
+shl ecx, 2
+add eax, ecx
+mov ecx, dword [esp + 0x14]
+mov edi, dword [eax + ref_00496bb4] ; mov edi, dword [eax + 0x496bb4]
+add edi, ecx
+mov dword [eax + ref_00496bb4], edi ; mov dword [eax + 0x496bb4], edi
+test edi, edi
+jge short loc_0040dfb5 ; jge 0x40dfb5
+xor ecx, ecx
+mov dword [eax + ref_00496bb4], ecx ; mov dword [eax + 0x496bb4], ecx
+
+loc_0040dfb5:
+cmp dword [esp + 0x14], 0
+jle short loc_0040dfd7 ; jle 0x40dfd7
+imul eax, edx, 0x68
+xor ecx, ecx
+mov cl, byte [eax + ref_00496ba9] ; mov cl, byte [eax + 0x496ba9]
+lea eax, [ebx + 1]
+cmp ecx, eax
+jne short loc_0040dfd7 ; jne 0x40dfd7
+push edx
+call fcn_0040cc1a ; call 0x40cc1a
+add esp, 4
+
+loc_0040dfd7:
+pop edi
+pop ebx
+
+loc_0040dfd9:
+ret
+
+fcn_0040dfda:
+xor eax, eax
+xor ecx, ecx
+
+loc_0040dfde:
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jge near loc_0040d2d0 ; jge 0x40d2d0
+imul edx, eax, 0x68
+test byte [edx + ref_00496b7d], 1 ; test byte [edx + 0x496b7d], 1
+je short loc_0040dff7 ; je 0x40dff7
+inc ecx
+
+loc_0040dff7:
+inc eax
+jmp short loc_0040dfde ; jmp 0x40dfde
+
+fcn_0040dffa:
+xor edx, edx
+
+loc_0040dffc:
+cmp edx, dword [ref_00499114] ; cmp edx, dword [0x499114]
+jge short loc_0040dfd9 ; jge 0x40dfd9
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0040e020 ; je 0x40e020
+cmp byte [eax + ref_00496b9a], 0 ; cmp byte [eax + 0x496b9a], 0
+je short loc_0040e020 ; je 0x40e020
+mov byte [eax + ref_00496b9a], 0x80 ; mov byte [eax + 0x496b9a], 0x80
+
+loc_0040e020:
+inc edx
+jmp short loc_0040dffc ; jmp 0x40dffc
+
+ref_0040e023: ; may contain a jump table
+dd fcn_0040e04d
+dd fcn_0040e059
+dd fcn_0040e065
+dd fcn_0040e071
+
+fcn_0040e033:
+push ebx
+push esi
+push edi
+mov edi, dword [esp + 0x10]
+mov esi, dword [esp + 0x14]
+lea eax, [edi - 0xf]
+cmp eax, 3
+ja short loc_0040e07d ; ja 0x40e07d
+jmp dword [eax*4 + ref_0040e023] ; ujmp: jmp dword [eax*4 + 0x40e023]
+
+fcn_0040e04d:
+mov ebx, 0xe
+mov ecx, 0x10
+jmp short loc_0040e082 ; jmp 0x40e082
+
+fcn_0040e059:
+mov ebx, 0x10
+mov ecx, 0x1a
+jmp short loc_0040e082 ; jmp 0x40e082
+
+fcn_0040e065:
+mov ebx, 0x1a
+mov ecx, 0x24
+jmp short loc_0040e082 ; jmp 0x40e082
+
+fcn_0040e071:
+mov ebx, 0x24
+mov ecx, 0x2e
+jmp short loc_0040e082 ; jmp 0x40e082
+
+loc_0040e07d:
+lea ebx, [edi - 1]
+mov ecx, edi
+
+loc_0040e082:
+cmp ebx, ecx
+jge near loc_0040e13f ; jge 0x40e13f
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+lea edx, [ebx + 1]
+cmp word [eax + ref_00496d0a], 0 ; cmp word [eax + 0x496d0a], 0
+jne near loc_0040e146 ; jne 0x40e146
+mov word [eax + ref_00496d0a], si ; mov word [eax + 0x496d0a], si
+mov cl, byte [esp + 0x18]
+mov byte [eax + ref_00496d0c], cl ; mov byte [eax + 0x496d0c], cl
+mov cl, byte [esp + 0x1c]
+mov byte [eax + ref_00496d0d], cl ; mov byte [eax + 0x496d0d], cl
+mov ecx, dword [esp + 0x1c]
+test ecx, ecx
+je short loc_0040e0dc ; je 0x40e0dc
+cmp edi, 0xf
+jne short loc_0040e0dc ; jne 0x40e0dc
+push edx
+push 0
+lea eax, [ecx - 1]
+push eax
+call fcn_0040ead7 ; call 0x40ead7
+add esp, 0xc
+
+loc_0040e0dc:
+test esi, esi
+je short loc_0040e13f ; je 0x40e13f
+xor edx, edx
+jmp short loc_0040e0ea ; jmp 0x40e0ea
+
+loc_0040e0e4:
+inc edx
+cmp edx, 4
+jge short loc_0040e10a ; jge 0x40e10a
+
+loc_0040e0ea:
+mov eax, esi
+shl eax, 2
+lea ecx, [esi + eax]
+shl ecx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, ecx
+mov ecx, edx
+mov ax, word [eax + ecx*2 + 0x18]
+and eax, 0xffff
+je short loc_0040e0e4 ; je 0x40e0e4
+
+loc_0040e10a:
+push esi
+push eax
+call fcn_00407a8c ; call 0x407a8c
+mov edx, eax
+add esp, 8
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov byte [eax*8 + ref_00496d09], dl ; mov byte [eax*8 + 0x496d09], dl
+mov eax, esi
+shl eax, 2
+add eax, esi
+shl eax, 3
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+add eax, edx
+lea edx, [ebx + 1]
+shl edx, 0x10
+or dword [eax + 0x24], edx
+
+loc_0040e13f:
+lea eax, [ebx + 1]
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0040e146:
+mov ebx, edx
+jmp near loc_0040e082 ; jmp 0x40e082
+
+fcn_0040e14d:
+push ebx
+push esi
+mov edx, dword [esp + 0xc]
+test edx, edx
+je near loc_0040e29f ; je 0x40e29f
+dec edx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov cl, byte [eax + ref_00496d08] ; mov cl, byte [eax + 0x496d08]
+cmp cl, 0x11
+jb short loc_0040e17a ; jb 0x40e17a
+jbe short loc_0040e18a ; jbe 0x40e18a
+cmp cl, 0x12
+je short loc_0040e195 ; je 0x40e195
+jmp short loc_0040e1ba ; jmp 0x40e1ba
+
+loc_0040e17a:
+cmp cl, 0x10
+jne short loc_0040e1ba ; jne 0x40e1ba
+inc byte [ref_00497321] ; inc byte [0x497321]
+jmp near loc_0040e21a ; jmp 0x40e21a
+
+loc_0040e18a:
+inc byte [ref_00497322] ; inc byte [0x497322]
+jmp near loc_0040e21a ; jmp 0x40e21a
+
+loc_0040e195:
+inc byte [ref_00497323] ; inc byte [0x497323]
+mov bh, byte [eax + ref_00496d0d] ; mov bh, byte [eax + 0x496d0d]
+test bh, bh
+je short loc_0040e21a ; je 0x40e21a
+mov al, bh
+and eax, 0xff
+dec eax
+imul eax, eax, 0x68
+xor cl, cl
+mov byte [eax + ref_00496ba8], cl ; mov byte [eax + 0x496ba8], cl
+jmp short loc_0040e21a ; jmp 0x40e21a
+
+loc_0040e1ba:
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 3
+cmp byte [ecx + ref_00496d0d], 0 ; cmp byte [ecx + 0x496d0d], 0
+je short loc_0040e21a ; je 0x40e21a
+xor eax, eax
+mov al, byte [ecx + ref_00496d0d] ; mov al, byte [ecx + 0x496d0d]
+dec eax
+imul eax, eax, 0x68
+xor bl, bl
+mov byte [eax + ref_00496ba7], bl ; mov byte [eax + 0x496ba7], bl
+mov cl, byte [ecx + ref_00496d08] ; mov cl, byte [ecx + 0x496d08]
+and ecx, 0xff
+mov bx, word [ecx*2 + ref_004749e2] ; mov bx, word [ecx*2 + 0x4749e2]
+sub word [eax + ref_00496bac], bx ; sub word [eax + 0x496bac], bx
+mov bx, word [ecx*2 + ref_00474a06] ; mov bx, word [ecx*2 + 0x474a06]
+sub word [eax + ref_00496bae], bx ; sub word [eax + 0x496bae], bx
+mov bx, word [ecx*2 + ref_00474a2a] ; mov bx, word [ecx*2 + 0x474a2a]
+sub word [eax + ref_00496bb0], bx ; sub word [eax + 0x496bb0], bx
+
+loc_0040e21a:
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+cmp byte [eax + ref_00496d0d], 0 ; cmp byte [eax + 0x496d0d], 0
+jne short loc_0040e248 ; jne 0x40e248
+xor ecx, ecx
+mov cx, word [eax + ref_00496d0a] ; mov cx, word [eax + 0x496d0a]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov byte [ecx + eax*8 + 0x26], 0
+
+loc_0040e248:
+mov ecx, edx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor ecx, edx
+mov cx, word [eax*8 + ref_00496d0a] ; mov cx, word [eax*8 + 0x496d0a]
+xor esi, esi
+mov word [eax*8 + ref_00496d0a], si ; mov word [eax*8 + 0x496d0a], si
+xor bl, bl
+mov byte [eax*8 + ref_00496d0c], bl ; mov byte [eax*8 + 0x496d0c], bl
+mov byte [eax*8 + ref_00496d0d], bl ; mov byte [eax*8 + 0x496d0d], bl
+cmp edx, 0xc
+jge short loc_0040e29f ; jge 0x40e29f
+test dl, 1
+je short loc_0040e284 ; je 0x40e284
+lea ebx, [edx - 1]
+jmp short loc_0040e287 ; jmp 0x40e287
+
+loc_0040e284:
+lea ebx, [edx + 1]
+
+loc_0040e287:
+push 0
+push 0
+push ecx
+call fcn_0040aa6c ; call 0x40aa6c
+add esp, 4
+push eax
+inc ebx
+push ebx
+call fcn_0040e033 ; call 0x40e033
+add esp, 0x10
+
+loc_0040e29f:
+pop esi
+pop ebx
+ret
+
+fcn_0040e2a2:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a078] ; mov eax, dword [0x48a078]
+sar eax, 1
+mov word [ref_0046caec], ax ; mov word [0x46caec], ax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0
+push 6
+push 0x101010
+push 0xffffff
+push 0x1c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 7
+push 0x1cc
+push 0xdc
+mov edx, dword [esp + 0x10]
+push edx
+push ref_0046caec ; push 0x46caec
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov word [ref_0046caec], 0x280 ; mov word [0x46caec], 0x280
+push 0x960
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+ret
+
+fcn_0040e32c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x30
+imul ebx, dword [esp + 0x44], 0x68
+xor eax, eax
+mov al, byte [ebx + ref_00496ba7] ; mov al, byte [ebx + 0x496ba7]
+dec eax
+mov dword [esp + 0x2c], eax
+mov edi, eax
+shl edi, 2
+sub edi, eax
+shl edi, 3
+movzx ebp, byte [edi + ref_00496d08] ; movzx ebp, byte [edi + 0x496d08]
+cmp dword [ebx + ref_00496b9a], 0 ; cmp dword [ebx + 0x496b9a], 0
+je short loc_0040e36e ; je 0x40e36e
+inc eax
+push eax
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+jmp near loc_0040e661 ; jmp 0x40e661
+
+loc_0040e36e:
+push 4
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov esi, dword [ebp*4 + ref_0049692c] ; mov esi, dword [ebp*4 + 0x49692c]
+mov eax, dword [esp + 0x2c]
+shl eax, 8
+lea edx, [eax + 0x8100]
+lea eax, [esp + 0x24]
+push eax
+lea eax, [esp + 0x2c]
+push eax
+lea eax, [esp + 0x28]
+push eax
+push edx
+call fcn_0040b066 ; call 0x40b066
+add esp, 0x10
+xor edx, edx
+mov word [edi + ref_00496d0a], dx ; mov word [edi + 0x496d0a], dx
+push 0
+push 0xffffffffffffffff
+call fcn_0040829d ; call 0x40829d
+add esp, 8
+mov ax, word [ebx + ref_00496b74] ; mov ax, word [ebx + 0x496b74]
+mov word [edi + ref_00496d0a], ax ; mov word [edi + 0x496d0a], ax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x1b8
+push 0x1b8
+push 0x28
+push 0
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov edi, eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov edx, dword [esp + 0x24]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+movsx edx, word [esi + eax*4 + 0x10]
+mov ecx, dword [esp + 0x20]
+sub ecx, edx
+mov dword [esp], ecx
+movsx edx, word [esi + eax*4 + 0x12]
+mov ecx, dword [esp + 0x28]
+sub ecx, edx
+mov dword [esp + 4], ecx
+movsx edx, word [esi + eax*4 + 0xc]
+mov ecx, dword [esp]
+add ecx, edx
+mov dword [esp + 8], ecx
+movsx eax, word [esi + eax*4 + 0xe]
+mov edx, dword [esp + 4]
+add edx, eax
+mov dword [esp + 0xc], edx
+push 0
+push ref_004823e2 ; push 0x4823e2
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+xor ebx, ebx
+jmp near loc_0040e539 ; jmp 0x40e539
+
+loc_0040e485:
+lea eax, [esp + 0x10]
+push eax
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 0x18]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x14]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ecx, dword [esp + 0x20]
+push ecx
+mov ecx, dword [esp + 0x20]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x1c]
+mov edx, dword [esp + 0x14]
+sub eax, edx
+push eax
+mov eax, dword [esp + 0x1c]
+mov ecx, dword [esp + 0x14]
+sub eax, ecx
+push eax
+lea eax, [edx - 0x28]
+push eax
+push ecx
+push edx
+push ecx
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0x10
+lea eax, [esp + 0x14]
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x3c
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+inc ebx
+cmp ebx, 0x18
+jge near loc_0040e5f5 ; jge 0x40e5f5
+
+loc_0040e539:
+sub dword [esp + 0x28], 0xa
+mov edx, dword [esp + 0x24]
+inc edx
+mov dword [esp + 0x24], edx
+mov ecx, edx
+and ecx, 7
+mov dword [esp + 0x24], ecx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x28]
+push eax
+mov edx, dword [esp + 0x24]
+push edx
+mov ecx, dword [esp + 0x2c]
+push ecx
+push esi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456770 ; call 0x456770
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov edx, dword [esp + 0x24]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+movsx edx, word [esi + eax*4 + 0x10]
+mov ecx, dword [esp + 0x20]
+sub ecx, edx
+mov dword [esp + 0x10], ecx
+movsx edx, word [esi + eax*4 + 0x12]
+mov ecx, dword [esp + 0x28]
+sub ecx, edx
+mov dword [esp + 0x14], ecx
+movsx edx, word [esi + eax*4 + 0xc]
+mov ecx, dword [esp + 0x10]
+add ecx, edx
+mov dword [esp + 0x18], ecx
+movsx eax, word [esi + eax*4 + 0xe]
+mov edx, dword [esp + 0x14]
+add edx, eax
+mov dword [esp + 0x1c], edx
+cmp dword [esp + 0x14], 0x28
+jge short loc_0040e5ea ; jge 0x40e5ea
+mov dword [esp + 0x14], 0x28
+
+loc_0040e5ea:
+cmp dword [esp + 0x1c], 0x28
+jge near loc_0040e485 ; jge 0x40e485
+
+loc_0040e5f5:
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [esp + 0x2c]
+inc eax
+push eax
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 0
+push 0xffffffffffffffff
+call fcn_0040829d ; call 0x40829d
+add esp, 8
+cmp ebp, 5
+je short loc_0040e631 ; je 0x40e631
+cmp ebp, 6
+je short loc_0040e631 ; je 0x40e631
+cmp ebp, 7
+je short loc_0040e631 ; je 0x40e631
+cmp ebp, 8
+je short loc_0040e631 ; je 0x40e631
+cmp ebp, 0xf
+jne short loc_0040e661 ; jne 0x40e661
+
+loc_0040e631:
+imul eax, dword [esp + 0x44], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_004808a6] ; mov ecx, dword [edx + eax*8 + 0x4808a6]
+push ecx
+push 2
+mov ebx, dword [esp + 0x4c]
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0040e661:
+add esp, 0x30
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040e669:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x68
+mov edx, dword [esp + 0x7c]
+test edx, edx
+je short loc_0040e6b9 ; je 0x40e6b9
+dec edx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor ecx, ecx
+mov cl, byte [eax*8 + ref_00496d09] ; mov cl, byte [eax*8 + 0x496d09]
+mov ebp, 8
+sub ebp, dword [ref_00499088] ; sub ebp, dword [0x499088]
+add ebp, ecx
+and ebp, 7
+movzx edi, byte [eax*8 + ref_00496d08] ; movzx edi, byte [eax*8 + 0x496d08]
+mov edi, dword [edi*4 + ref_0049692c] ; mov edi, dword [edi*4 + 0x49692c]
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 2
+lea ebx, [edi + 0xc]
+add ebx, eax
+jmp short loc_0040e6c4 ; jmp 0x40e6c4
+
+loc_0040e6b9:
+xor ebp, ebp
+mov edi, dword [ref_0049697c] ; mov edi, dword [0x49697c]
+lea ebx, [edi + 0xc]
+
+loc_0040e6c4:
+lea eax, [esp + 0x34]
+push eax
+lea eax, [esp + 0x34]
+push eax
+mov esi, dword [esp + 0x8c]
+push esi
+mov eax, dword [esp + 0x8c]
+push eax
+call fcn_00409a23 ; call 0x409a23
+add esp, 0x10
+lea eax, [esp + 0x3c]
+push eax
+lea eax, [esp + 0x3c]
+push eax
+mov edx, dword [esp + 0x94]
+push edx
+mov ecx, dword [esp + 0x94]
+push ecx
+call fcn_00409a23 ; call 0x409a23
+add esp, 0x10
+mov edx, dword [esp + 0x38]
+sub edx, dword [esp + 0x30]
+mov ecx, dword [esp + 0x3c]
+sub ecx, dword [esp + 0x34]
+test edx, edx
+jne short loc_0040e724 ; jne 0x40e724
+test ecx, ecx
+je near loc_0040ea5a ; je 0x40ea5a
+
+loc_0040e724:
+mov eax, edx
+imul eax, edx
+mov dword [esp + 0x40], eax
+mov eax, ecx
+imul eax, ecx
+mov esi, dword [esp + 0x40]
+add eax, esi
+mov dword [esp + 0x64], eax
+fild dword [esp + 0x64]
+call fcn_004582bc ; call 0x4582bc
+fmul dword [ref_0046324c] ; fmul dword [0x46324c]
+fld1
+faddp st1 ; faddp st(1)
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x60]
+mov dword [esp + 0x64], edx
+fild dword [esp + 0x64]
+mov eax, dword [esp + 0x60]
+mov dword [esp + 0x64], eax
+fild dword [esp + 0x64]
+fstp dword [esp + 0x40]
+fdiv dword [esp + 0x40]
+fstp dword [esp + 0x48]
+mov dword [esp + 0x64], ecx
+fild dword [esp + 0x64]
+fdiv dword [esp + 0x40]
+fstp dword [esp + 0x44]
+mov eax, dword [esp + 0x30]
+mov dword [esp + 0x64], eax
+fild dword [esp + 0x64]
+fadd dword [esp + 0x48]
+fstp dword [esp + 0x58]
+mov eax, dword [esp + 0x34]
+mov dword [esp + 0x64], eax
+fild dword [esp + 0x64]
+fadd dword [esp + 0x44]
+fstp dword [esp + 0x5c]
+mov dword [esp], 0xfffffc18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x1b8
+push 0x1b8
+push 0x28
+push 0
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_0040e808:
+cmp dword [esp + 0x60], 0
+je near loc_0040e9bd ; je 0x40e9bd
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov esi, eax
+fld dword [esp + 0x58]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x54]
+fld dword [esp + 0x5c]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x50]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp]
+cmp edx, 0xfffffc18
+je short loc_0040e883 ; je 0x40e883
+mov eax, dword [esp + 0xc]
+mov ecx, dword [esp + 4]
+sub eax, ecx
+push eax
+mov eax, dword [esp + 0xc]
+sub eax, edx
+push eax
+lea eax, [ecx - 0x28]
+push eax
+push edx
+push ecx
+push edx
+mov ecx, dword [esp + 0x64]
+push ecx
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456469 ; call 0x456469
+add esp, 0x20
+
+loc_0040e883:
+mov edx, dword [esp + 0x50]
+push edx
+mov ecx, dword [esp + 0x58]
+push ecx
+push ebp
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456770 ; call 0x456770
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+movsx eax, word [ebx + 4]
+mov edx, dword [esp + 0x54]
+sub edx, eax
+mov dword [esp + 0x20], edx
+movsx eax, word [ebx + 6]
+mov edx, dword [esp + 0x50]
+sub edx, eax
+mov dword [esp + 0x24], edx
+movsx eax, word [ebx]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x28], edx
+movsx eax, word [ebx + 2]
+mov edx, dword [esp + 0x24]
+add edx, eax
+mov dword [esp + 0x2c], edx
+cmp dword [esp], 0xfffffc18
+je short loc_0040e903 ; je 0x40e903
+lea eax, [esp + 0x10]
+push eax
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 0x28]
+push eax
+call fcn_00452808 ; call 0x452808
+jmp short loc_0040e914 ; jmp 0x40e914
+
+loc_0040e903:
+push 0x10
+lea eax, [esp + 0x24]
+push eax
+lea eax, [esp + 0x18]
+push eax
+call fcn_00456de8 ; call 0x456de8
+
+loc_0040e914:
+add esp, 0xc
+cmp dword [esp + 0x18], 0
+jle short loc_0040e96a ; jle 0x40e96a
+cmp dword [esp + 0x14], 0x1e0
+jge short loc_0040e96a ; jge 0x40e96a
+cmp dword [esp + 0x10], 0
+jge short loc_0040e935 ; jge 0x40e935
+xor ecx, ecx
+mov dword [esp + 0x10], ecx
+
+loc_0040e935:
+cmp dword [esp + 0x1c], 0x1e0
+jle short loc_0040e947 ; jle 0x40e947
+mov dword [esp + 0x1c], 0x1e0
+
+loc_0040e947:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x14]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ecx, dword [esp + 0x20]
+push ecx
+mov ecx, dword [esp + 0x20]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+
+loc_0040e96a:
+push 0x10
+lea eax, [esp + 0x24]
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+sub eax, esi
+cmp eax, 0x18
+jae short loc_0040e99c ; jae 0x40e99c
+mov edx, 0x18
+sub edx, eax
+push edx
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+
+loc_0040e99c:
+fld dword [esp + 0x58]
+fadd dword [esp + 0x48]
+fstp dword [esp + 0x58]
+fld dword [esp + 0x5c]
+fadd dword [esp + 0x44]
+fstp dword [esp + 0x5c]
+dec dword [esp + 0x60]
+jmp near loc_0040e808 ; jmp 0x40e808
+
+loc_0040e9bd:
+mov ecx, dword [esp + 0x90]
+push ecx
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+mov ebx, dword [esp + 0x7c]
+test ebx, ebx
+jne short loc_0040ea4d ; jne 0x40ea4d
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push ebx
+push 1
+push ref_0048a068 ; push 0x48a068
+push ebx
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0xc]
+mov esi, dword [esp + 4]
+sub eax, esi
+push eax
+mov eax, dword [esp + 0xc]
+mov edi, dword [esp + 4]
+sub eax, edi
+push eax
+lea eax, [esi - 0x28]
+push eax
+push edi
+push esi
+push edi
+mov ecx, dword [esp + 0x64]
+push ecx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456469 ; call 0x456469
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x10]
+push edi
+mov ebp, dword [esp + 0x10]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+
+loc_0040ea4d:
+mov eax, dword [esp + 0x4c]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0040ea5a:
+add esp, 0x68
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040ea62:
+xor edx, edx
+mov ecx, dword [esp + 4]
+test ecx, ecx
+jne short loc_0040ea6f ; jne 0x40ea6f
+xor eax, eax
+ret
+
+loc_0040ea6f:
+dec ecx
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+mov al, byte [eax*8 + ref_00496d08] ; mov al, byte [eax*8 + 0x496d08]
+and eax, 0xff
+cmp eax, 0xc
+jg short loc_0040ea8d ; jg 0x40ea8d
+cmp eax, 0xb
+jne short loc_0040ea92 ; jne 0x40ea92
+
+loc_0040ea8d:
+cmp eax, 0xf
+jne short loc_0040ea97 ; jne 0x40ea97
+
+loc_0040ea92:
+mov edx, 1
+
+loc_0040ea97:
+mov eax, edx
+ret
+
+endloc_0040ea9a:
+db 0x90
+
+ref_0040ea9b: ; may contain a jump table
+dd fcn_0040ec14
+dd fcn_0040ecf1
+dd fcn_0040ed8f
+dd fcn_0040ee50
+dd fcn_0040ef1b
+dd fcn_0040efe4
+dd fcn_0040f083
+dd fcn_0040f155
+dd fcn_0040f205
+dd fcn_0040f258
+dd fcn_0040ece6
+dd fcn_0040f2a0
+dd fcn_0040ece6
+dd fcn_0040ece6
+dd fcn_0040f2eb
+
+fcn_0040ead7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+mov edx, dword [esp + 0x9c]
+test edx, edx
+je near fcn_0040ece6 ; je 0x40ece6
+push edx
+call fcn_0040ea62 ; call 0x40ea62
+add esp, 4
+test eax, eax
+je near fcn_0040ece6 ; je 0x40ece6
+mov ebx, dword [esp + 0x9c]
+dec ebx
+mov dword [esp + 0x9c], ebx
+mov edx, ebx
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+movzx esi, byte [eax*8 + ref_00496d08] ; movzx esi, byte [eax*8 + 0x496d08]
+xor edx, ebx
+mov word [eax*8 + ref_00496d0a], dx ; mov word [eax*8 + 0x496d0a], dx
+mov edi, dword [esp + 0x94]
+imul eax, edi, 0x68
+cmp byte [eax + ref_00496ba7], 0 ; cmp byte [eax + 0x496ba7], 0
+je short loc_0040eb47 ; je 0x40eb47
+push edi
+call fcn_0040e32c ; call 0x40e32c
+add esp, 4
+
+loc_0040eb47:
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov al, byte [esp + 0x9c]
+inc al
+imul ebx, dword [esp + 0x94], 0x68
+mov byte [ebx + ref_00496ba7], al ; mov byte [ebx + 0x496ba7], al
+mov edx, dword [esp + 0x9c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov dx, word [ebx + ref_00496b74] ; mov dx, word [ebx + 0x496b74]
+mov word [eax + ref_00496d0a], dx ; mov word [eax + 0x496d0a], dx
+mov dl, byte [esp + 0x94]
+inc dl
+mov byte [eax + ref_00496d0d], dl ; mov byte [eax + 0x496d0d], dl
+cmp esi, 0xf
+jne short loc_0040eba8 ; jne 0x40eba8
+mov byte [eax + ref_00496d0c], 0xd ; mov byte [eax + 0x496d0c], 0xd
+jmp short loc_0040ebaf ; jmp 0x40ebaf
+
+loc_0040eba8:
+mov byte [eax + ref_00496d0c], 7 ; mov byte [eax + 0x496d0c], 7
+
+loc_0040ebaf:
+mov ecx, dword [esp + 0x98]
+test ecx, ecx
+je short loc_0040ebcc ; je 0x40ebcc
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+mov byte [edx + eax*8 + 0x26], 0
+
+loc_0040ebcc:
+imul eax, dword [esp + 0x94], 0x68
+mov dx, word [esi*2 + ref_004749e2] ; mov dx, word [esi*2 + 0x4749e2]
+add word [eax + ref_00496bac], dx ; add word [eax + 0x496bac], dx
+mov dx, word [esi*2 + ref_00474a06] ; mov dx, word [esi*2 + 0x474a06]
+add word [eax + ref_00496bae], dx ; add word [eax + 0x496bae], dx
+mov dx, word [esi*2 + ref_00474a2a] ; mov dx, word [esi*2 + 0x474a2a]
+add word [eax + ref_00496bb0], dx ; add word [eax + 0x496bb0], dx
+lea edx, [esi - 1]
+cmp edx, 0xe
+ja near fcn_0040ece6 ; ja 0x40ece6
+jmp dword [edx*4 + ref_0040ea9b] ; ujmp: jmp dword [edx*4 + 0x40ea9b]
+
+fcn_0040ec14:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0040ec5e ; je 0x40ec5e
+push 0
+push 0
+push 0x21c
+mov esi, dword [ref_0048a0e4] ; mov esi, dword [0x48a0e4]
+push esi
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x66
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_00463250 ; push 0x463250
+call fcn_0040e2a2 ; call 0x40e2a2
+add esp, 4
+
+loc_0040ec5e:
+push 0
+call fcn_00440706 ; call 0x440706
+add esp, 4
+mov esi, eax
+xor ebx, ebx
+mov ebp, dword [esp + 0x94]
+
+loc_0040ec73:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0040eca4 ; jge 0x40eca4
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne short loc_0040eca4 ; jne 0x40eca4
+cmp ebx, ebp
+je short loc_0040eca1 ; je 0x40eca1
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0040eca1 ; je 0x40eca1
+push 1
+push esi
+push ebp
+push ebx
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+
+loc_0040eca1:
+inc ebx
+jmp short loc_0040ec73 ; jmp 0x40ec73
+
+loc_0040eca4:
+cmp esi, 0x2bc
+jle short fcn_0040ece6 ; jle 0x40ece6
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne short fcn_0040ece6 ; jne 0x40ece6
+mov ecx, dword [esp + 0x94]
+imul eax, ecx, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov esi, dword [ebx + eax*8 + ref_0048086a] ; mov esi, dword [ebx + eax*8 + 0x48086a]
+push esi
+push 3
+push ecx
+
+loc_0040ecde:
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+fcn_0040ece6:
+add esp, 0x80
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040ecf1:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0040ed3b ; je 0x40ed3b
+push 0
+push 0
+push 0x21d
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x67
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_00463295 ; push 0x463295
+call fcn_0040e2a2 ; call 0x40e2a2
+add esp, 4
+
+loc_0040ed3b:
+push 1
+call fcn_00440706 ; call 0x440706
+mov esi, eax
+add esp, 4
+push 1
+push eax
+mov ecx, dword [esp + 0x9c]
+push ecx
+call fcn_0041d3f4 ; call 0x41d3f4
+add esp, 0xc
+mov ebx, dword [ref_004990e8] ; mov ebx, dword [0x4990e8]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 3
+sub eax, ebx
+shl eax, 4
+add eax, ebx
+shl eax, 3
+cmp esi, eax
+jl near fcn_0040ece6 ; jl 0x40ece6
+push esi
+mov ebx, dword [esp + 0x98]
+push ebx
+call fcn_0044f354 ; call 0x44f354
+jmp near loc_0040f14d ; jmp 0x40f14d
+
+fcn_0040ed8f:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0040ede7 ; je 0x40ede7
+push 0
+push 0
+push 0x21e
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x68
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_004632cc ; push 0x4632cc
+call fcn_0040e2a2 ; call 0x40e2a2
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+
+loc_0040ede7:
+mov ebx, dword [esp + 0x94]
+push ebx
+call fcn_00441e12 ; call 0x441e12
+add esp, 4
+test eax, eax
+je near fcn_0040ece6 ; je 0x40ece6
+mov ebx, eax
+shl ebx, 3
+mov edi, dword [ebx + ref_0047fdea] ; mov edi, dword [ebx + 0x47fdea]
+push edi
+mov ebp, dword [esi*4 + ref_0047ed76] ; mov ebp, dword [esi*4 + 0x47ed76]
+push ebp
+push ref_004632fd ; push 0x4632fd
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+xor eax, eax
+mov al, byte [ebx + ref_0047fdef] ; mov al, byte [ebx + 0x47fdef]
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+
+loc_0040ee46:
+call fcn_0044f230 ; call 0x44f230
+jmp near loc_0040f14d ; jmp 0x40f14d
+
+fcn_0040ee50:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0040eea8 ; je 0x40eea8
+push 0
+push 0
+push 0x21f
+mov ebx, dword [ref_0048a0e4] ; mov ebx, dword [0x48a0e4]
+push ebx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x69
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_0046330e ; push 0x46330e
+call fcn_0040e2a2 ; call 0x40e2a2
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+
+loc_0040eea8:
+mov esi, dword [esp + 0x94]
+push esi
+call fcn_00441e12 ; call 0x441e12
+mov ebx, eax
+add esp, 4
+push esi
+call fcn_00441e12 ; call 0x441e12
+add esp, 4
+mov esi, eax
+shl esi, 3
+mov ebp, dword [esi + ref_0047fdea] ; mov ebp, dword [esi + 0x47fdea]
+push ebp
+mov eax, dword [ebx*8 + ref_0047fdea] ; mov eax, dword [ebx*8 + 0x47fdea]
+push eax
+push ref_00463353 ; push 0x463353
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+xor edx, edx
+mov dl, byte [ebx*8 + ref_0047fdef] ; mov dl, byte [ebx*8 + 0x47fdef]
+xor eax, eax
+mov al, byte [esi + ref_0047fdef] ; mov al, byte [esi + 0x47fdef]
+add eax, edx
+push eax
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+jmp near loc_0040ee46 ; jmp 0x40ee46
+
+fcn_0040ef1b:
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov edx, dword [ebx + eax*8 + ref_004808a2] ; mov edx, dword [ebx + eax*8 + 0x4808a2]
+push edx
+push 2
+mov eax, dword [esp + 0x9c]
+or ah, 0x80
+push eax
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0040ef96 ; je 0x40ef96
+push 0
+push 0
+push 0x220
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x6a
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_0046336c ; push 0x46336c
+call fcn_0040e2a2 ; call 0x40e2a2
+add esp, 4
+
+loc_0040ef96:
+push 4
+call fcn_00440706 ; call 0x440706
+add esp, 4
+mov esi, eax
+xor ebx, ebx
+mov ebp, dword [esp + 0x94]
+
+loc_0040efab:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near fcn_0040ece6 ; jge 0x40ece6
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne near fcn_0040ece6 ; jne 0x40ece6
+cmp ebx, ebp
+je short loc_0040efe1 ; je 0x40efe1
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0040efe1 ; je 0x40efe1
+push 0
+push esi
+push ebx
+push ebp
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+
+loc_0040efe1:
+inc ebx
+jmp short loc_0040efab ; jmp 0x40efab
+
+fcn_0040efe4:
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov edi, dword [ebx + eax*8 + ref_004808a2] ; mov edi, dword [ebx + eax*8 + 0x4808a2]
+push edi
+push 2
+mov eax, dword [esp + 0x9c]
+or ah, 0x80
+push eax
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0040f05f ; je 0x40f05f
+push 0
+push 0
+push 0x221
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x6b
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_00463381 ; push 0x463381
+call fcn_0040e2a2 ; call 0x40e2a2
+add esp, 4
+
+loc_0040f05f:
+push 5
+call fcn_00440706 ; call 0x440706
+add esp, 4
+push 0
+push eax
+push 0xffffffffffffffff
+mov eax, dword [esp + 0xa0]
+push eax
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+jmp near fcn_0040ece6 ; jmp 0x40ece6
+
+fcn_0040f083:
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov edx, dword [ebx + eax*8 + ref_004808a2] ; mov edx, dword [ebx + eax*8 + 0x4808a2]
+push edx
+push 2
+mov eax, dword [esp + 0x9c]
+or ah, 0x80
+push eax
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0040f10c ; je 0x40f10c
+push 0
+push 0
+push 0x222
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x6c
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_0046338e ; push 0x46338e
+call fcn_0040e2a2 ; call 0x40e2a2
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+
+loc_0040f10c:
+mov ebx, dword [esp + 0x94]
+push ebx
+call fcn_00441e77 ; call 0x441e77
+add esp, 4
+test eax, eax
+je near fcn_0040ece6 ; je 0x40ece6
+mov esi, dword [eax*8 + ref_0047fdea] ; mov esi, dword [eax*8 + 0x47fdea]
+push esi
+push ref_004633ab ; push 0x4633ab
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+
+loc_0040f148:
+call fcn_00440cac ; call 0x440cac
+
+loc_0040f14d:
+add esp, 8
+jmp near fcn_0040ece6 ; jmp 0x40ece6
+
+fcn_0040f155:
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov esi, dword [ebx + eax*8 + ref_004808a2] ; mov esi, dword [ebx + eax*8 + 0x4808a2]
+push esi
+push 2
+mov eax, dword [esp + 0x9c]
+or ah, 0x80
+push eax
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0040f1de ; je 0x40f1de
+push 0
+push 0
+push 0x223
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x6d
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_004633c0 ; push 0x4633c0
+call fcn_0040e2a2 ; call 0x40e2a2
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+
+loc_0040f1de:
+mov ebp, dword [esp + 0x94]
+push ebp
+call fcn_00441ece ; call 0x441ece
+add esp, 4
+test eax, eax
+je near fcn_0040ece6 ; je 0x40ece6
+push 0x5dc
+push ref_004633d5 ; push 0x4633d5
+jmp near loc_0040f148 ; jmp 0x40f148
+
+fcn_0040f205:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je near fcn_0040ece6 ; je 0x40ece6
+push 0
+push 0
+push 0x224
+mov ebx, dword [ref_0048a0e4] ; mov ebx, dword [0x48a0e4]
+push ebx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x6e
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_004633f0 ; push 0x4633f0
+
+loc_0040f24b:
+call fcn_0040e2a2 ; call 0x40e2a2
+
+loc_0040f250:
+add esp, 4
+jmp near fcn_0040ece6 ; jmp 0x40ece6
+
+fcn_0040f258:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je near fcn_0040ece6 ; je 0x40ece6
+push 0
+push 0
+push 0x225
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x70
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_00463419 ; push 0x463419
+jmp short loc_0040f24b ; jmp 0x40f24b
+
+fcn_0040f2a0:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je near fcn_0040ece6 ; je 0x40ece6
+push 0
+push 0
+push 0x226
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x6f
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_0046344e ; push 0x46344e
+jmp near loc_0040f24b ; jmp 0x40f24b
+
+fcn_0040f2eb:
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov esi, dword [ebx + eax*8 + ref_004808a2] ; mov esi, dword [ebx + eax*8 + 0x4808a2]
+push esi
+push 2
+mov eax, dword [esp + 0x9c]
+or ah, 0x80
+push eax
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0040f366 ; je 0x40f366
+push 0
+push 0
+push 0x227
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x71
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_00463495 ; push 0x463495
+call fcn_0040e2a2 ; call 0x40e2a2
+add esp, 4
+
+loc_0040f366:
+mov ebp, dword [esp + 0x94]
+push ebp
+call fcn_00445b3f ; call 0x445b3f
+add esp, 4
+push ebp
+call fcn_00441f21 ; call 0x441f21
+jmp near loc_0040f250 ; jmp 0x40f250
+
+fcn_0040f381:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x94
+xor edx, edx
+mov dword [esp + 0x88], edx
+mov ecx, dword [esp + 0xa8]
+imul ebx, ecx, 0x68
+cmp byte [ebx + ref_00496b9a], 0 ; cmp byte [ebx + 0x496b9a], 0
+jne near loc_0040f8b3 ; jne 0x40f8b3
+cmp byte [ebx + ref_00496b7d], 0 ; cmp byte [ebx + 0x496b7d], 0
+je near loc_0040f8b3 ; je 0x40f8b3
+mov edx, dword [esp + 0xac]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov esi, dword [ref_00498e80] ; mov esi, dword [0x498e80]
+mov si, word [esi + eax*8 + 0x20]
+and esi, 0xffff
+mov al, byte [ebx + ref_00496ba7] ; mov al, byte [ebx + 0x496ba7]
+cmp al, 0xa
+jb short loc_0040f3ff ; jb 0x40f3ff
+lea ebx, [esi - 0x7d0]
+imul ebx, ebx, 0x34
+cmp al, 0xa
+jbe near loc_0040f521 ; jbe 0x40f521
+cmp al, 0xc
+je near loc_0040f68b ; je 0x40f68b
+jmp near loc_0040f8b3 ; jmp 0x40f8b3
+
+loc_0040f3ff:
+cmp al, 9
+jne near loc_0040f8b3 ; jne 0x40f8b3
+push 0
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+cmp esi, 0xfa0
+jle short loc_0040f492 ; jle 0x40f492
+cmp esi, 0x1770
+jge short loc_0040f492 ; jge 0x40f492
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+cmp byte [ebx + eax + 0x1a], 0
+jne short loc_0040f492 ; jne 0x40f492
+mov ecx, dword [ref_0047ed9a] ; mov ecx, dword [0x47ed9a]
+push ecx
+push ref_004634c0 ; push 0x4634c0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov dword [esp + 0x88], 0x800
+
+loc_0040f492:
+push esi
+call fcn_0040b110 ; call 0x40b110
+add esp, 4
+or dword [esp + 0x88], eax
+test byte [esp + 0x88], 1
+je short loc_0040f4e1 ; je 0x40f4e1
+test byte [esp + 0x89], 8
+jne short loc_0040f4e1 ; jne 0x40f4e1
+mov edi, dword [ref_0047ed9a] ; mov edi, dword [0x47ed9a]
+push edi
+push ref_004634c0 ; push 0x4634c0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_0040f4e1:
+mov bh, byte [esp + 0x88]
+test bh, 1
+je near loc_0040f8b3 ; je 0x40f8b3
+push 0
+push ref_004823da ; push 0x4823da
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+test bh, 0x80
+je near loc_0040f8b3 ; je 0x40f8b3
+call fcn_0040b0cd ; call 0x40b0cd
+jmp near loc_0040f8b3 ; jmp 0x40f8b3
+
+loc_0040f521:
+cmp esi, 0x7d0
+jle short loc_0040f574 ; jle 0x40f574
+cmp esi, 0xfa0
+jge short loc_0040f574 ; jge 0x40f574
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add ebx, eax
+cmp byte [ebx + 0x1a], 0
+je near loc_0040f5d0 ; je 0x40f5d0
+mov ch, byte [ebx + 0x19]
+test ch, ch
+je near loc_0040f5de ; je 0x40f5de
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+mov edi, dword [esp + 0xac]
+push edi
+xor eax, eax
+mov al, ch
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+jmp short loc_0040f5de ; jmp 0x40f5de
+
+loc_0040f574:
+cmp esi, 0xfa0
+jle short loc_0040f5d0 ; jle 0x40f5d0
+cmp esi, 0x1770
+jge short loc_0040f5d0 ; jge 0x40f5d0
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+cmp byte [ebx + 0x1a], 0
+je short loc_0040f5d0 ; je 0x40f5d0
+cmp byte [ebx + 0x19], 0
+je short loc_0040f5de ; je 0x40f5de
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+mov edx, dword [esp + 0xac]
+push edx
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+jmp short loc_0040f5de ; jmp 0x40f5de
+
+loc_0040f5d0:
+cmp dword [esp + 0x88], 0
+je near loc_0040f8b3 ; je 0x40f8b3
+
+loc_0040f5de:
+push 0
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x5dc
+push ref_004634d7 ; push 0x4634d7
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 0
+push esi
+call fcn_0040ab4a ; call 0x40ab4a
+add esp, 8
+push 0
+lea eax, [esp + 0x88]
+push eax
+lea eax, [esp + 0x88]
+push eax
+push esi
+call fcn_0040b066 ; call 0x40b066
+add esp, 0x10
+push 0
+push 0
+push 0x20e
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x5f
+push 0x30001
+mov eax, dword [esp + 0x8c]
+sub eax, 0x37
+push eax
+mov eax, dword [esp + 0x8c]
+sub eax, 0x37
+push eax
+push ebx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp near loc_0040f8b3 ; jmp 0x40f8b3
+
+loc_0040f68b:
+cmp esi, 0x7d0
+jle near loc_0040f753 ; jle 0x40f753
+cmp esi, 0xfa0
+jge near loc_0040f753 ; jge 0x40f753
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add ebx, eax
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+lea eax, [ecx + 1]
+cmp edx, eax
+je near loc_0040f83c ; je 0x40f83c
+test dl, dl
+je short loc_0040f70d ; je 0x40f70d
+xor eax, eax
+mov ax, word [ebx + 0x1c]
+mov esi, dword [ref_004990e8] ; mov esi, dword [0x4990e8]
+imul eax, esi
+mov dword [esp + 0x8c], eax
+fild dword [esp + 0x8c]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov dword [esp + 0x90], eax
+fild word [esp + 0x90]
+fadd dword [ref_0046350c] ; fadd dword [0x46350c]
+fdiv dword [ref_00463510] ; fdiv dword [0x463510]
+fmulp st1 ; fmulp st(1)
+sub esp, 8
+fstp qword [esp]
+push ecx
+dec edx
+push edx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0x10
+
+loc_0040f70d:
+mov dword [esp + 0x88], 1
+cmp dword [ref_00499110], 0 ; cmp dword [0x499110], 0
+je near loc_0040f826 ; je 0x40f826
+cmp byte [ebx + 0x19], 0
+jne near loc_0040f826 ; jne 0x40f826
+mov eax, dword [ref_00499110] ; mov eax, dword [0x499110]
+mov edx, dword [eax*4 + ref_004751f0] ; mov edx, dword [eax*4 + 0x4751f0]
+push edx
+mov ecx, dword [ref_00497160] ; mov ecx, dword [0x497160]
+push ecx
+call fcn_004521cb ; call 0x4521cb
+add esp, 8
+mov dword [ebx + 0x30], eax
+jmp near loc_0040f826 ; jmp 0x40f826
+
+loc_0040f753:
+cmp esi, 0xfa0
+jle near loc_0040f83c ; jle 0x40f83c
+cmp esi, 0x1770
+jge near loc_0040f83c ; jge 0x40f83c
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+mov eax, dword [esp + 0xa8]
+inc eax
+cmp edx, eax
+je near loc_0040f83c ; je 0x40f83c
+test dl, dl
+je short loc_0040f7f2 ; je 0x40f7f2
+xor eax, eax
+mov ax, word [ebx + 0x22]
+mov esi, dword [ref_004990e8] ; mov esi, dword [0x4990e8]
+imul eax, esi
+mov dword [esp + 0x8c], eax
+fild dword [esp + 0x8c]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov dword [esp + 0x90], eax
+fild word [esp + 0x90]
+fadd dword [ref_0046350c] ; fadd dword [0x46350c]
+fdiv dword [ref_00463510] ; fdiv dword [0x463510]
+fmulp st1 ; fmulp st(1)
+sub esp, 8
+fstp qword [esp]
+mov edi, dword [esp + 0xb0]
+push edi
+dec edx
+push edx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0x10
+
+loc_0040f7f2:
+mov dword [esp + 0x88], 1
+mov eax, dword [ref_00499110] ; mov eax, dword [0x499110]
+test eax, eax
+je short loc_0040f826 ; je 0x40f826
+cmp byte [ebx + 0x19], 0
+jne short loc_0040f826 ; jne 0x40f826
+mov edx, dword [eax*4 + ref_004751f0] ; mov edx, dword [eax*4 + 0x4751f0]
+push edx
+mov ecx, dword [ref_00497160] ; mov ecx, dword [0x497160]
+push ecx
+call fcn_004521cb ; call 0x4521cb
+add esp, 8
+mov dword [ebx + 0x34], eax
+
+loc_0040f826:
+mov al, byte [esp + 0xa8]
+inc al
+mov byte [ebx + 0x19], al
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+
+loc_0040f83c:
+cmp dword [esp + 0x88], 0
+je short loc_0040f8b3 ; je 0x40f8b3
+push 0
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x5dc
+push ref_004634f2 ; push 0x4634f2
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 2
+mov eax, ebx
+mov ebp, dword [eax + ebx*8 + ref_0048084a] ; mov ebp, dword [eax + ebx*8 + 0x48084a]
+push ebp
+push 0
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0040f8b3:
+add esp, 0x94
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040f8be:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+mov edi, dword [esp + 0x94]
+xor ebx, ebx
+imul eax, edi, 0x68
+mov dl, byte [eax + ref_00496ba7] ; mov dl, byte [eax + 0x496ba7]
+cmp dl, 3
+je short loc_0040f8e8 ; je 0x40f8e8
+cmp dl, 4
+jne near fcn_0040ece6 ; jne 0x40ece6
+
+loc_0040f8e8:
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov edx, dword [esp + 0x98]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov esi, dword [ref_00498e80] ; mov esi, dword [0x498e80]
+mov si, word [esi + eax*8 + 0x20]
+and esi, 0xffff
+cmp esi, 0xfa0
+jle short loc_0040f982 ; jle 0x40f982
+cmp esi, 0x1770
+jge short loc_0040f982 ; jge 0x40f982
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+cmp byte [edx + eax + 0x1a], 0
+jne short loc_0040f982 ; jne 0x40f982
+imul eax, edi, 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+mov edx, dword [eax*4 + ref_0047ed76] ; mov edx, dword [eax*4 + 0x47ed76]
+push edx
+push ref_004634c0 ; push 0x4634c0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ebx, 0x800
+
+loc_0040f982:
+push esi
+call fcn_0040b110 ; call 0x40b110
+add esp, 4
+or ebx, eax
+test bl, 1
+je short loc_0040f9d1 ; je 0x40f9d1
+test bh, 8
+jne short loc_0040f9d1 ; jne 0x40f9d1
+imul eax, edi, 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+mov ecx, dword [eax*4 + ref_0047ed76] ; mov ecx, dword [eax*4 + 0x47ed76]
+push ecx
+push ref_004634c0 ; push 0x4634c0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_0040f9d1:
+test bl, 1
+je near fcn_0040ece6 ; je 0x40ece6
+push 0
+push ref_004823da ; push 0x4823da
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+imul eax, edi, 0x68
+test bl, 0x80
+je short loc_0040fa30 ; je 0x40fa30
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov ebp, dword [ebx + eax*8 + ref_00480886] ; mov ebp, dword [ebx + eax*8 + 0x480886]
+push ebp
+push 0
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+call fcn_0040b0cd ; call 0x40b0cd
+jmp near fcn_0040ece6 ; jmp 0x40ece6
+
+loc_0040fa30:
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+shl eax, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov esi, dword [ebx + eax*4 + ref_0048084a] ; mov esi, dword [ebx + eax*4 + 0x48084a]
+push esi
+push 0
+push edi
+jmp near loc_0040ecde ; jmp 0x40ecde
+
+fcn_0040fa61:
+push esi
+sub esp, 0x80
+xor edx, edx
+imul eax, dword [esp + 0x88], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+cmp al, 8
+jb short loc_0040fa84 ; jb 0x40fa84
+jbe short loc_0040fa88 ; jbe 0x40fa88
+cmp al, 0xf
+je short loc_0040fa88 ; je 0x40fa88
+jmp short loc_0040facc ; jmp 0x40facc
+
+loc_0040fa84:
+cmp al, 7
+jne short loc_0040facc ; jne 0x40facc
+
+loc_0040fa88:
+imul eax, dword [esp + 0x88], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+mov esi, dword [eax*4 + ref_0047ed76] ; mov esi, dword [eax*4 + 0x47ed76]
+push esi
+push ref_00463514 ; push 0x463514
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov edx, 1
+
+loc_0040facc:
+mov eax, edx
+add esp, 0x80
+pop esi
+ret
+
+fcn_0040fad6:
+push ebx
+mov ebx, 1
+xor edx, edx
+jmp short loc_0040fae6 ; jmp 0x40fae6
+
+loc_0040fae0:
+inc edx
+cmp edx, 0x2e
+jge short loc_0040faf9 ; jge 0x40faf9
+
+loc_0040fae6:
+mov eax, edx
+shl eax, 2
+sub eax, edx
+cmp byte [eax*8 + ref_00496d0e], 0 ; cmp byte [eax*8 + 0x496d0e], 0
+je short loc_0040fae0 ; je 0x40fae0
+xor ebx, ebx
+
+loc_0040faf9:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_0040fafd:
+push ebx
+push esi
+push edi
+sub esp, 4
+mov edi, dword [esp + 0x14]
+test edi, edi
+je near loc_0040fbb1 ; je 0x40fbb1
+mov edx, dword [esp + 0x18]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+dec edi
+movsx esi, word [ecx + eax*8]
+movsx ebx, word [ecx + eax*8 + 2]
+mov edx, dword [esp + 0x1c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+movsx edx, word [ecx + eax*8]
+movsx ecx, word [ecx + eax*8 + 2]
+mov eax, esi
+sub eax, edx
+mov dword [esp], eax
+fild dword [esp]
+fmul qword [ref_0046352c] ; fmul qword [0x46352c]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+fstp dword [eax*8 + ref_00496d18] ; fstp dword [eax*8 + 0x496d18]
+mov edx, ebx
+sub edx, ecx
+mov dword [esp], edx
+fild dword [esp]
+fmul qword [ref_0046352c] ; fmul qword [0x46352c]
+fstp dword [eax*8 + ref_00496d1c] ; fstp dword [eax*8 + 0x496d1c]
+mov dword [esp], esi
+fild dword [esp]
+fadd dword [eax*8 + ref_00496d18] ; fadd dword [eax*8 + 0x496d18]
+fstp dword [eax*8 + ref_00496d10] ; fstp dword [eax*8 + 0x496d10]
+mov dword [esp], ebx
+fild dword [esp]
+fadd dword [eax*8 + ref_00496d1c] ; fadd dword [eax*8 + 0x496d1c]
+fstp dword [eax*8 + ref_00496d14] ; fstp dword [eax*8 + 0x496d14]
+mov byte [eax*8 + ref_00496d0e], 0xff ; mov byte [eax*8 + 0x496d0e], 0xff
+mov dl, byte [eax*8 + ref_00496d09] ; mov dl, byte [eax*8 + 0x496d09]
+mov byte [eax*8 + ref_00496d0f], dl ; mov byte [eax*8 + 0x496d0f], dl
+
+loc_0040fbb1:
+add esp, 4
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040fbb8:
+push ebx
+push esi
+mov ecx, dword [esp + 0xc]
+mov ebx, 0xffffffff
+xor edx, edx
+mov esi, dword [ref_00499114] ; mov esi, dword [0x499114]
+
+loc_0040fbcb:
+cmp edx, esi
+jge short loc_0040fbfb ; jge 0x40fbfb
+cmp edx, ecx
+je short loc_0040fbf8 ; je 0x40fbf8
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0040fbf8 ; je 0x40fbf8
+cmp byte [eax + ref_00496ba7], 0xe ; cmp byte [eax + 0x496ba7], 0xe
+je short loc_0040fbf1 ; je 0x40fbf1
+cmp byte [eax + ref_00496ba7], 0xf ; cmp byte [eax + 0x496ba7], 0xf
+jne short loc_0040fbf8 ; jne 0x40fbf8
+
+loc_0040fbf1:
+mov ebx, edx
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+loc_0040fbf8:
+inc edx
+jmp short loc_0040fbcb ; jmp 0x40fbcb
+
+loc_0040fbfb:
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_0040fc00:
+push ebx
+imul edx, dword [esp + 8], 0x68
+mov ah, byte [edx + ref_00496ba7] ; mov ah, byte [edx + 0x496ba7]
+test ah, ah
+je short loc_0040fc2b ; je 0x40fc2b
+xor ecx, ecx
+mov cl, ah
+dec ecx
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+mov dx, word [edx + ref_00496b74] ; mov dx, word [edx + 0x496b74]
+mov word [eax*8 + ref_00496d0a], dx ; mov word [eax*8 + 0x496d0a], dx
+
+loc_0040fc2b:
+imul edx, dword [esp + 8], 0x68
+mov bl, byte [edx + ref_00496ba8] ; mov bl, byte [edx + 0x496ba8]
+test bl, bl
+je short loc_0040fc55 ; je 0x40fc55
+xor ecx, ecx
+mov cl, bl
+dec ecx
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+mov dx, word [edx + ref_00496b74] ; mov dx, word [edx + 0x496b74]
+mov word [eax*8 + ref_00496d0a], dx ; mov word [eax*8 + 0x496d0a], dx
+
+loc_0040fc55:
+pop ebx
+ret
+
+fcn_0040fc57:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebp, dword [esp + 0x18]
+mov edi, dword [esp + 0x1c]
+call fcn_00454f5b ; call 0x454f5b
+mov dword [esp], eax
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x78
+push 0x9f
+push 0xe2
+push 0x12
+lea eax, [edi + 0xe2]
+push eax
+lea eax, [ebp + 0x12]
+push eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+xor ebx, ebx
+mov esi, 0xe9
+jmp short loc_0040fd05 ; jmp 0x40fd05
+
+loc_0040fce0:
+push 5
+lea eax, [edi + esi]
+push eax
+lea eax, [ebp + 0x1a]
+push eax
+mov edx, dword [ebx*4 + ref_00474a9c] ; mov edx, dword [ebx*4 + 0x474a9c]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0xf
+cmp ebx, 8
+jge short loc_0040fd31 ; jge 0x40fd31
+
+loc_0040fd05:
+lea eax, [ebx + 1]
+cmp eax, dword [esp]
+jne short loc_0040fce0 ; jne 0x40fce0
+push 0xff0000
+push 0xe
+push 0x9f
+lea eax, [edi + esi - 7]
+push eax
+lea eax, [ebp + 0x12]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+jmp short loc_0040fce0 ; jmp 0x40fce0
+
+loc_0040fd31:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040fd49:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x14]
+mov edi, dword [esp + 0x18]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+push edi
+push ebp
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor esi, esi
+mov ebx, dword [ref_00474b92] ; mov ebx, dword [0x474b92]
+add ebx, ebp
+
+loc_0040fd8f:
+xor eax, eax
+mov al, byte [ref_0048bb48] ; mov al, byte [0x48bb48]
+cmp esi, eax
+jg short loc_0040fdc0 ; jg 0x40fdc0
+mov eax, dword [ref_00474b96] ; mov eax, dword [0x474b96]
+add eax, edi
+push eax
+push ebx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x48
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+inc esi
+add ebx, 0x10
+jmp short loc_0040fd8f ; jmp 0x40fd8f
+
+loc_0040fdc0:
+cmp byte [ref_0048bb49], 0 ; cmp byte [0x48bb49], 0
+je short loc_0040fdf1 ; je 0x40fdf1
+mov eax, dword [ref_00474c26] ; mov eax, dword [0x474c26]
+add eax, edi
+push eax
+mov eax, dword [ref_00474c22] ; mov eax, dword [0x474c22]
+add eax, ebp
+push eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x78
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0040fdf1:
+cmp byte [ref_0048bb4a], 0 ; cmp byte [0x48bb4a], 0
+je short loc_0040fe5e ; je 0x40fe5e
+xor esi, esi
+mov ebx, dword [ref_00474ba2] ; mov ebx, dword [0x474ba2]
+add ebx, ebp
+
+loc_0040fe04:
+xor eax, eax
+mov al, byte [ref_0048bb4a] ; mov al, byte [0x48bb4a]
+cmp esi, eax
+jge short loc_0040fe36 ; jge 0x40fe36
+mov eax, dword [ref_00474ba6] ; mov eax, dword [0x474ba6]
+add eax, edi
+push eax
+push ebx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x48
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+inc esi
+add ebx, 0x10
+jmp short loc_0040fe04 ; jmp 0x40fe04
+
+loc_0040fe36:
+mov eax, dword [ref_00474c36] ; mov eax, dword [0x474c36]
+add eax, edi
+push eax
+mov eax, dword [ref_00474c32] ; mov eax, dword [0x474c32]
+add eax, ebp
+push eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x78
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0040fe5e:
+cmp byte [ref_0048bb4b], 0 ; cmp byte [0x48bb4b], 0
+je short loc_0040feca ; je 0x40feca
+xor esi, esi
+mov ebx, dword [ref_00474bb2] ; mov ebx, dword [0x474bb2]
+add ebx, ebp
+
+loc_0040fe71:
+xor eax, eax
+mov al, byte [ref_0048bb4b] ; mov al, byte [0x48bb4b]
+cmp esi, eax
+jge short loc_0040fea2 ; jge 0x40fea2
+mov eax, dword [ref_00474bb6] ; mov eax, dword [0x474bb6]
+add eax, edi
+push eax
+push ebx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x48
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+inc esi
+add ebx, 0x10
+jmp short loc_0040fe71 ; jmp 0x40fe71
+
+loc_0040fea2:
+mov eax, dword [ref_00474c46] ; mov eax, dword [0x474c46]
+add eax, edi
+push eax
+mov eax, dword [ref_00474c42] ; mov eax, dword [0x474c42]
+add eax, ebp
+push eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x78
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0040feca:
+cmp byte [ref_0048bb4c], 0 ; cmp byte [0x48bb4c], 0
+je short loc_0040fefb ; je 0x40fefb
+mov eax, dword [ref_00474c56] ; mov eax, dword [0x474c56]
+add eax, edi
+push eax
+mov eax, dword [ref_00474c52] ; mov eax, dword [0x474c52]
+add eax, ebp
+push eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x78
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0040fefb:
+xor eax, eax
+mov al, byte [ref_0048bb4d] ; mov al, byte [0x48bb4d]
+movsx eax, word [eax*2 + ref_00474c92] ; movsx eax, word [eax*2 + 0x474c92]
+add eax, edi
+push eax
+lea eax, [ebp + 0xda]
+push eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x78
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+push edi
+push ebp
+call fcn_0040fc57 ; call 0x40fc57
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0040ff4b:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+mov edi, dword [esp + 0x28]
+mov esi, edi
+shr esi, 0x10
+mov eax, edi
+shr eax, 8
+and eax, 0xff
+mov dword [esp + 0x10], eax
+mov ebp, edi
+and ebp, 0xff
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov edx, dword [esp + 0x30]
+push edx
+mov ecx, dword [esp + 0x30]
+push ecx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x24
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 2
+movsx eax, word [ref_00474cd6] ; movsx eax, word [0x474cd6]
+add eax, dword [esp + 0x34]
+push eax
+movsx eax, word [ref_00474cd4] ; movsx eax, word [0x474cd4]
+add eax, dword [esp + 0x34]
+push eax
+mov eax, dword [esp + 0x1c]
+mov ebx, dword [eax*4 + ref_00474c94] ; mov ebx, dword [eax*4 + 0x474c94]
+push ebx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+push esi
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 2
+movsx eax, word [ref_00474cda] ; movsx eax, word [0x474cda]
+mov esi, dword [esp + 0x34]
+add eax, esi
+push eax
+movsx eax, word [ref_00474cd8] ; movsx eax, word [0x474cd8]
+add eax, dword [esp + 0x34]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+and di, 0xff00
+mov eax, edi
+or al, 1
+lea ebx, [esp + 0xc]
+push ebx
+lea ebx, [esp + 0xc]
+push ebx
+push eax
+call fcn_004520a6 ; call 0x4520a6
+add esp, 0xc
+mov ebx, dword [esp + 8]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+sub eax, ebx
+add eax, 0x1c
+mov dword [esp + 8], eax
+mov eax, dword [esp + 8]
+mov word [ref_0048bb08], ax ; mov word [0x48bb08], ax
+mov word [ref_0048bb0a], 0x50 ; mov word [0x48bb0a], 0x50
+mov edi, 1
+movsx ebx, ax
+add ebx, dword [esp + 0x2c]
+add esi, 0x50
+
+loc_00410073:
+cmp edi, dword [esp + 0xc]
+jg near loc_00410126 ; jg 0x410126
+push 0xa
+lea eax, [esp + 4]
+push eax
+push edi
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+cmp edi, ebp
+jne short loc_004100f1 ; jne 0x4100f1
+push 0x51916c
+push 0x10
+push 0x14
+lea eax, [esi - 6]
+push eax
+lea eax, [ebx - 0xa]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 0
+push 2
+push 0x101010
+push 0xffffff
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push esi
+push ebx
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 2
+push 0x101010
+push 0x101010
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+jmp short loc_00410101 ; jmp 0x410101
+
+loc_004100f1:
+push 2
+push esi
+push ebx
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+
+loc_00410101:
+add esp, 0x14
+mov eax, dword [esp + 0x2c]
+add eax, 0xa6
+cmp ebx, eax
+jne short loc_0041011d ; jne 0x41011d
+mov ebx, dword [esp + 0x2c]
+add ebx, 0x1c
+add esi, 0x12
+jmp short loc_00410120 ; jmp 0x410120
+
+loc_0041011d:
+add ebx, 0x17
+
+loc_00410120:
+inc edi
+jmp near loc_00410073 ; jmp 0x410073
+
+loc_00410126:
+mov ecx, dword [esp + 0x2c]
+sub ebx, ecx
+mov word [ref_0048bb0c], bx ; mov word [0x48bb0c], bx
+mov edi, dword [esp + 0x30]
+sub esi, edi
+mov word [ref_0048bb0e], si ; mov word [0x48bb0e], si
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00410158:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x38
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp + 0x50]
+push edx
+mov ecx, dword [esp + 0x50]
+push ecx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x18
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor ebx, ebx
+mov edi, dword [esp + 0x4c]
+add edi, 0x84
+mov esi, dword [esp + 0x50]
+add esi, 0x21
+jmp near loc_004102db ; jmp 0x4102db
+
+loc_004101af:
+push 0
+push 1
+push 0x101010
+push 0xf0f000
+
+loc_004101bd:
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ah, ah
+mov byte [esp], ah
+lea eax, [ebx + ebx]
+test byte [eax + ref_0048bb11], 0xff ; test byte [eax + 0x48bb11], 0xff
+je short loc_0041023d ; je 0x41023d
+mov ax, word [eax + ref_0048bb10] ; mov ax, word [eax + 0x48bb10]
+mov ecx, eax
+and ecx, 0xffff
+sar ecx, 8
+and ecx, 0xff
+xor eax, eax
+
+loc_004101f2:
+mov edx, eax
+shl edx, 3
+cmp byte [edx + ref_0047edfa], 0 ; cmp byte [edx + 0x47edfa], 0
+je short loc_00410213 ; je 0x410213
+mov dl, byte [edx + ref_0047edfa] ; mov dl, byte [edx + 0x47edfa]
+and edx, 0xff
+cmp edx, ecx
+je short loc_00410213 ; je 0x410213
+inc eax
+jmp short loc_004101f2 ; jmp 0x4101f2
+
+loc_00410213:
+shl eax, 3
+cmp byte [eax + ref_0047edfa], 0 ; cmp byte [eax + 0x47edfa], 0
+je short loc_0041023d ; je 0x41023d
+test byte [ebx*2 + ref_0048bb10], 0xff ; test byte [ebx*2 + 0x48bb10], 0xff
+je short loc_0041023d ; je 0x41023d
+mov ebp, dword [eax + ref_0047edfe] ; mov ebp, dword [eax + 0x47edfe]
+push ebp
+lea eax, [esp + 4]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+
+loc_0041023d:
+lea eax, [ebx + ebx]
+test byte [eax + ref_0048bb10], 0xff ; test byte [eax + 0x48bb10], 0xff
+je short loc_0041029a ; je 0x41029a
+mov ax, word [eax + ref_0048bb10] ; mov ax, word [eax + 0x48bb10]
+xor ah, ah
+xor ecx, ecx
+mov cx, ax
+xor eax, eax
+
+loc_00410259:
+mov edx, eax
+shl edx, 3
+cmp byte [edx + ref_0047edfa], 0 ; cmp byte [edx + 0x47edfa], 0
+je short loc_0041027a ; je 0x41027a
+mov dl, byte [edx + ref_0047edfa] ; mov dl, byte [edx + 0x47edfa]
+and edx, 0xff
+cmp edx, ecx
+je short loc_0041027a ; je 0x41027a
+inc eax
+jmp short loc_00410259 ; jmp 0x410259
+
+loc_0041027a:
+shl eax, 3
+cmp byte [eax + ref_0047edfa], 0 ; cmp byte [eax + 0x47edfa], 0
+je short loc_0041029a ; je 0x41029a
+mov edx, dword [eax + ref_0047edfe] ; mov edx, dword [eax + 0x47edfe]
+push edx
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+
+loc_0041029a:
+cmp byte [esp], 0
+je short loc_004102b3 ; je 0x4102b3
+push 2
+push esi
+push edi
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_004102b3:
+add esi, 0x10
+cmp ebx, 0xe
+jne short loc_004102cc ; jne 0x4102cc
+mov edi, dword [esp + 0x4c]
+add edi, 0x11c
+mov esi, dword [esp + 0x50]
+add esi, 0x21
+
+loc_004102cc:
+inc ebx
+cmp ebx, 0x1c
+jge short loc_004102ee ; jge 0x4102ee
+cmp ebx, 8
+jge near loc_004101af ; jge 0x4101af
+
+loc_004102db:
+push 0
+push 1
+push 0x101010
+push 0xf0f0
+jmp near loc_004101bd ; jmp 0x4101bd
+
+loc_004102ee:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [esp + 0x4c]
+mov dword [esp + 0x28], eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+movsx edx, word [eax + 0x18]
+mov ecx, dword [esp + 0x4c]
+add ecx, edx
+mov dword [esp + 0x30], ecx
+mov edx, dword [esp + 0x50]
+mov dword [esp + 0x2c], edx
+movsx eax, word [eax + 0x1a]
+add edx, eax
+mov dword [esp + 0x34], edx
+push 0
+lea eax, [esp + 0x2c]
+push eax
+mov ecx, dword [ref_0048a0d4] ; mov ecx, dword [0x48a0d4]
+push ecx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+add esp, 0x38
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00410348:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_0041034b: ; may contain a jump table
+dd fcn_00410537
+dd fcn_00410572
+dd fcn_004105b9
+dd fcn_004105f4
+dd fcn_004105f4
+dd fcn_004105f4
+dd fcn_00410668
+dd fcn_004106c1
+dd fcn_004106c1
+dd fcn_00410745
+dd fcn_0041076e
+dd fcn_0041079c
+dd fcn_004107d8
+dd fcn_004107f3
+dd fcn_004107f3
+dd fcn_004107f3
+
+ref_0041038b: ; may contain a jump table
+dd fcn_00410838
+dd fcn_00410838
+dd fcn_00410838
+dd fcn_004104a5
+dd fcn_0041095b
+dd fcn_00410969
+
+fcn_004103a3:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x40
+mov edi, dword [esp + 0x54]
+mov eax, dword [esp + 0x58]
+mov esi, dword [esp + 0x60]
+cmp eax, 0x202
+jb short loc_004103ec ; jb 0x4103ec
+jbe near loc_00410820 ; jbe 0x410820
+cmp eax, 0x205
+jb short loc_004103dc ; jb 0x4103dc
+jbe near fcn_0041095b ; jbe 0x41095b
+cmp eax, 0x401
+je short loc_00410402 ; je 0x410402
+jmp near loc_00410a73 ; jmp 0x410a73
+
+loc_004103dc:
+cmp eax, 0x203
+
+loc_004103e1:
+je near loc_004104af ; je 0x4104af
+jmp near loc_00410a73 ; jmp 0x410a73
+
+loc_004103ec:
+cmp eax, 0xf
+jb near loc_00410a73 ; jb 0x410a73
+jbe near loc_00410a1b ; jbe 0x410a1b
+cmp eax, 0x201
+jmp short loc_004103e1 ; jmp 0x4103e1
+
+loc_00410402:
+mov dword [ref_00474d74], 0xffffffff ; mov dword [0x474d74], 0xffffffff
+push 0x10
+push ref_00497158 ; push 0x497158
+push ref_0048bb48 ; push 0x48bb48
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+xor eax, eax
+mov ax, si
+mov dword [ref_0048bb74], eax ; mov dword [0x48bb74], eax
+mov eax, esi
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+mov dword [ref_0048bb78], eax ; mov dword [0x48bb78], eax
+mov eax, dword [ref_0048bb74] ; mov eax, dword [0x48bb74]
+mov dword [ref_0048bb64], eax ; mov dword [0x48bb64], eax
+mov eax, dword [ref_0048bb78] ; mov eax, dword [0x48bb78]
+mov dword [ref_0048bb68], eax ; mov dword [0x48bb68], eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+movsx ebx, word [eax + 0xc]
+mov edx, dword [ref_0048bb74] ; mov edx, dword [0x48bb74]
+add edx, ebx
+mov dword [ref_0048bb6c], edx ; mov dword [0x48bb6c], edx
+movsx edx, word [eax + 0xe]
+mov eax, dword [ref_0048bb78] ; mov eax, dword [0x48bb78]
+add eax, edx
+mov dword [ref_0048bb70], eax ; mov dword [0x48bb70], eax
+mov ecx, dword [ref_0048bb78] ; mov ecx, dword [0x48bb78]
+push ecx
+mov ebx, dword [ref_0048bb74] ; mov ebx, dword [0x48bb74]
+push ebx
+call fcn_0040fd49 ; call 0x40fd49
+add esp, 8
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+
+loc_0041049d:
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+fcn_004104a5:
+xor eax, eax
+
+loc_004104a7:
+add esp, 0x40
+jmp near loc_0041111b ; jmp 0x41111b
+
+loc_004104af:
+xor ebx, ebx
+mov bx, si
+sub ebx, dword [ref_0048bb74] ; sub ebx, dword [0x48bb74]
+shr esi, 0x10
+and esi, 0xffff
+and esi, 0xffff
+sub esi, dword [ref_0048bb78] ; sub esi, dword [0x48bb78]
+xor edx, edx
+mov dword [ref_00474d74], edx ; mov dword [0x474d74], edx
+jmp short loc_004104eb ; jmp 0x4104eb
+
+loc_004104d9:
+mov ecx, dword [ref_00474d74] ; mov ecx, dword [0x474d74]
+inc ecx
+mov dword [ref_00474d74], ecx ; mov dword [0x474d74], ecx
+cmp ecx, 0x10
+jge short loc_00410522 ; jge 0x410522
+
+loc_004104eb:
+mov eax, dword [ref_00474d74] ; mov eax, dword [0x474d74]
+shl eax, 4
+cmp ebx, dword [eax + ref_00474b92] ; cmp ebx, dword [eax + 0x474b92]
+jl short loc_004104d9 ; jl 0x4104d9
+cmp esi, dword [eax + ref_00474b96] ; cmp esi, dword [eax + 0x474b96]
+jl short loc_004104d9 ; jl 0x4104d9
+cmp ebx, dword [eax + ref_00474b9a] ; cmp ebx, dword [eax + 0x474b9a]
+jge short loc_004104d9 ; jge 0x4104d9
+cmp esi, dword [eax + ref_00474b9e] ; cmp esi, dword [eax + 0x474b9e]
+jge short loc_004104d9 ; jge 0x4104d9
+push 0
+push ref_0048bb64 ; push 0x48bb64
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00410522:
+mov eax, dword [ref_00474d74] ; mov eax, dword [0x474d74]
+cmp eax, 0xf
+ja near fcn_004104a5 ; ja 0x4104a5
+jmp dword [eax*4 + ref_0041034b] ; ujmp: jmp dword [eax*4 + 0x41034b]
+
+fcn_00410537:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov esi, dword [ref_00474b92] ; mov esi, dword [0x474b92]
+mov edx, ebx
+sub edx, esi
+mov eax, edx
+sar edx, 0x1f
+shl edx, 4
+sbb eax, edx
+sar eax, 4
+mov byte [ref_0048bb48], al ; mov byte [0x48bb48], al
+mov edi, dword [ref_0048bb78] ; mov edi, dword [0x48bb78]
+push edi
+mov ebp, dword [ref_0048bb74] ; mov ebp, dword [0x48bb74]
+push ebp
+jmp short loc_004105ac ; jmp 0x4105ac
+
+fcn_00410572:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov edx, dword [ref_00474ba2] ; mov edx, dword [0x474ba2]
+sub ebx, edx
+mov edx, ebx
+mov eax, ebx
+sar edx, 0x1f
+shl edx, 4
+sbb eax, edx
+sar eax, 4
+inc eax
+mov byte [ref_0048bb4a], al ; mov byte [0x48bb4a], al
+
+loc_0041059e:
+mov ecx, dword [ref_0048bb78] ; mov ecx, dword [0x48bb78]
+push ecx
+mov ebx, dword [ref_0048bb74] ; mov ebx, dword [0x48bb74]
+push ebx
+
+loc_004105ac:
+call fcn_0040fd49 ; call 0x40fd49
+
+loc_004105b1:
+add esp, 8
+jmp near fcn_004104a5 ; jmp 0x4104a5
+
+fcn_004105b9:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov edi, dword [ref_00474bb2] ; mov edi, dword [0x474bb2]
+mov edx, ebx
+sub edx, edi
+mov eax, edx
+sar edx, 0x1f
+shl edx, 4
+sbb eax, edx
+sar eax, 4
+inc eax
+mov byte [ref_0048bb4b], al ; mov byte [0x48bb4b], al
+
+loc_004105e5:
+mov ebp, dword [ref_0048bb78] ; mov ebp, dword [0x48bb78]
+push ebp
+mov eax, dword [ref_0048bb74] ; mov eax, dword [0x48bb74]
+push eax
+jmp short loc_004105ac ; jmp 0x4105ac
+
+fcn_004105f4:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_00474d74] ; mov eax, dword [0x474d74]
+shl eax, 4
+mov edx, dword [ref_0048bb78] ; mov edx, dword [0x48bb78]
+add edx, dword [eax + ref_00474b96] ; add edx, dword [eax + 0x474b96]
+push edx
+mov edx, dword [ref_0048bb74] ; mov edx, dword [0x48bb74]
+add edx, dword [eax + ref_00474b92] ; add edx, dword [eax + 0x474b92]
+push edx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x54
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+
+loc_0041064b:
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near fcn_004104a5 ; jmp 0x4104a5
+
+fcn_00410668:
+cmp byte [ref_0049715a], 0 ; cmp byte [0x49715a], 0
+je short loc_004106b0 ; je 0x4106b0
+lea edx, [esi - 0xe2]
+mov ebx, 0xf
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+lea ebx, [eax + 1]
+push ebx
+call fcn_00454d91 ; call 0x454d91
+add esp, 4
+mov ebp, dword [ref_0048bb78] ; mov ebp, dword [0x48bb78]
+push ebp
+mov eax, dword [ref_0048bb74] ; mov eax, dword [0x48bb74]
+push eax
+call fcn_0040fc57 ; call 0x40fc57
+add esp, 8
+push 0
+push ref_0048bb64 ; push 0x48bb64
+jmp near loc_0041049d ; jmp 0x41049d
+
+loc_004106b0:
+push 0
+push ref_0048233a ; push 0x48233a
+call fcn_004542ce ; call 0x4542ce
+jmp near loc_004105b1 ; jmp 0x4105b1
+
+fcn_004106c1:
+push 0
+mov eax, dword [ref_00474d74] ; mov eax, dword [0x474d74]
+sub eax, 7
+xor al, 1
+shl eax, 3
+add eax, 0x10
+add eax, ref_0048231a ; add eax, 0x48231a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_00474d74] ; mov eax, dword [0x474d74]
+shl eax, 4
+mov edx, dword [ref_0048bb78] ; mov edx, dword [0x48bb78]
+add edx, dword [eax + ref_00474b96] ; add edx, dword [eax + 0x474b96]
+push edx
+mov edx, dword [ref_0048bb74] ; mov edx, dword [0x48bb74]
+add edx, dword [eax + ref_00474b92] ; add edx, dword [eax + 0x474b92]
+push edx
+mov edx, dword [ref_00474d74] ; mov edx, dword [0x474d74]
+sub edx, 4
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+jmp near loc_0041064b ; jmp 0x41064b
+
+fcn_00410745:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+xor byte [ref_0048bb49], 1 ; xor byte [0x48bb49], 1
+mov edx, dword [ref_0048bb78] ; mov edx, dword [0x48bb78]
+push edx
+mov ecx, dword [ref_0048bb74] ; mov ecx, dword [0x48bb74]
+push ecx
+jmp near loc_004105ac ; jmp 0x4105ac
+
+fcn_0041076e:
+cmp byte [ref_0048bb4a], 0 ; cmp byte [0x48bb4a], 0
+je short loc_00410781 ; je 0x410781
+xor cl, cl
+mov byte [ref_0048bb4a], cl ; mov byte [0x48bb4a], cl
+jmp short loc_00410788 ; jmp 0x410788
+
+loc_00410781:
+mov byte [ref_0048bb4a], 4 ; mov byte [0x48bb4a], 4
+
+loc_00410788:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_004105e5 ; jmp 0x4105e5
+
+fcn_0041079c:
+cmp byte [ref_0048bb4b], 0 ; cmp byte [0x48bb4b], 0
+je short loc_004107af ; je 0x4107af
+xor dh, dh
+mov byte [ref_0048bb4b], dh ; mov byte [0x48bb4b], dh
+jmp short loc_004107b6 ; jmp 0x4107b6
+
+loc_004107af:
+mov byte [ref_0048bb4b], 4 ; mov byte [0x48bb4b], 4
+
+loc_004107b6:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov esi, dword [ref_0048bb78] ; mov esi, dword [0x48bb78]
+push esi
+mov edi, dword [ref_0048bb74] ; mov edi, dword [0x48bb74]
+push edi
+jmp near loc_004105ac ; jmp 0x4105ac
+
+fcn_004107d8:
+xor byte [ref_0048bb4c], 1 ; xor byte [0x48bb4c], 1
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_0041059e ; jmp 0x41059e
+
+fcn_004107f3:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov al, byte [ref_00474d74] ; mov al, byte [0x474d74]
+sub al, 0xd
+mov byte [ref_0048bb4d], al ; mov byte [0x48bb4d], al
+mov eax, dword [ref_0048bb78] ; mov eax, dword [0x48bb78]
+push eax
+mov edx, dword [ref_0048bb74] ; mov edx, dword [0x48bb74]
+push edx
+jmp near loc_004105ac ; jmp 0x4105ac
+
+loc_00410820:
+mov eax, dword [ref_00474d74] ; mov eax, dword [0x474d74]
+sub eax, 3
+cmp eax, 5
+ja near fcn_004104a5 ; ja 0x4104a5
+jmp dword [eax*4 + ref_0041038b] ; ujmp: jmp dword [eax*4 + 0x41038b]
+
+fcn_00410838:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048bb78] ; mov eax, dword [0x48bb78]
+add eax, 2
+push eax
+mov eax, dword [ref_0048bb74] ; mov eax, dword [0x48bb74]
+add eax, 0xa8
+push eax
+mov edx, dword [ref_0048bb58] ; mov edx, dword [0x48bb58]
+add edx, 0xa
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push ref_0048bb64 ; push 0x48bb64
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0048bb64 ; push 0x48bb64
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [ref_0048bb78] ; mov ebp, dword [0x48bb78]
+push ebp
+mov ecx, dword [ref_0048bb74] ; mov ecx, dword [0x48bb74]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+push ref_0048bb64 ; push 0x48bb64
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov ebx, dword [ref_0048bb58] ; mov ebx, dword [0x48bb58]
+test ebx, ebx
+je short loc_00410927 ; je 0x410927
+push 0xc8
+push 0x140
+call fcn_00453a32 ; call 0x453a32
+add esp, 8
+cmp eax, 1
+jne near fcn_004104a5 ; jne 0x4104a5
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov eax, dword [ref_00474d74] ; mov eax, dword [0x474d74]
+sub eax, 2
+push eax
+
+loc_0041091a:
+call fcn_00401966 ; call 0x401966
+
+loc_0041091f:
+add esp, 4
+jmp near fcn_004104a5 ; jmp 0x4104a5
+
+loc_00410927:
+push ebx
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov eax, dword [ref_00474d74] ; mov eax, dword [0x474d74]
+call dword [eax*4 + ref_00474d5c] ; ucall: call dword [eax*4 + 0x474d5c]
+mov esi, dword [ref_0048bb78] ; mov esi, dword [0x48bb78]
+push esi
+mov edi, dword [ref_0048bb74] ; mov edi, dword [0x48bb74]
+push edi
+call fcn_0040fd49 ; call 0x40fd49
+add esp, 8
+push 1
+call fcn_00402460 ; call 0x402460
+jmp short loc_0041091f ; jmp 0x41091f
+
+fcn_0041095b:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+jmp short loc_0041091a ; jmp 0x41091a
+
+fcn_00410969:
+xor ebx, ebx
+mov bl, byte [ref_0049715a] ; mov bl, byte [0x49715a]
+movzx esi, byte [ref_0049715d] ; movzx esi, byte [0x49715d]
+push 0x10
+push ref_0048bb48 ; push 0x48bb48
+push ref_00497158 ; push 0x497158
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+call fcn_00411f80 ; call 0x411f80
+cmp byte [ref_0049715a], 0 ; cmp byte [0x49715a], 0
+jne short loc_004109b5 ; jne 0x4109b5
+test ebx, ebx
+je short loc_004109b5 ; je 0x4109b5
+test byte [ref_0047e772], 0x80 ; test byte [0x47e772], 0x80
+je short loc_004109ae ; je 0x4109ae
+call fcn_00454edc ; call 0x454edc
+jmp short loc_004109e2 ; jmp 0x4109e2
+
+loc_004109ae:
+call fcn_00454acb ; call 0x454acb
+jmp short loc_004109e2 ; jmp 0x4109e2
+
+loc_004109b5:
+cmp byte [ref_0049715a], 0 ; cmp byte [0x49715a], 0
+je short loc_004109e2 ; je 0x4109e2
+test ebx, ebx
+jne short loc_004109e2 ; jne 0x4109e2
+mov dh, byte [ref_0047e772] ; mov dh, byte [0x47e772]
+test dh, 0x80
+je short loc_004109d5 ; je 0x4109d5
+push ebx
+call fcn_00454d91 ; call 0x454d91
+jmp short loc_004109df ; jmp 0x4109df
+
+loc_004109d5:
+xor eax, eax
+mov al, dh
+push eax
+call fcn_004549cf ; call 0x4549cf
+
+loc_004109df:
+add esp, 4
+
+loc_004109e2:
+mov ch, byte [ref_0049715a] ; mov ch, byte [0x49715a]
+test ch, ch
+je short loc_004109f9 ; je 0x4109f9
+xor eax, eax
+mov al, ch
+cmp eax, ebx
+je short loc_004109f9 ; je 0x4109f9
+call fcn_0045497b ; call 0x45497b
+
+loc_004109f9:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+xor ebx, ebx
+xor eax, eax
+mov al, byte [ref_0049715d] ; mov al, byte [0x49715d]
+cmp eax, esi
+je short loc_00410a15 ; je 0x410a15
+mov ebx, 0x8000
+
+loc_00410a15:
+push ebx
+jmp near loc_0041091a ; jmp 0x41091a
+
+loc_00410a1b:
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0xc]
+push ebx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near fcn_004104a5 ; jmp 0x4104a5
+
+loc_00410a73:
+push esi
+mov ebp, dword [esp + 0x60]
+push ebp
+push eax
+push edi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_004104a7 ; jmp 0x4104a7
+
+ref_00410a87: ; may contain a jump table
+dd loc_00410c40
+dd loc_00410cee
+dd loc_00410c40
+dd loc_00410cee
+dd loc_00410d84
+dd loc_00410d84
+dd loc_00410d84
+dd loc_00410e78
+
+ref_00410aa7: ; may contain a jump table
+dd loc_00410f85
+dd loc_00410fb3
+dd loc_00410fff
+dd loc_0041101a
+dd loc_00411036
+dd loc_0041104c
+dd loc_00411081
+
+fcn_00410ac3:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebp, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x202
+jb short loc_00410b0c ; jb 0x410b0c
+jbe near loc_00410f3d ; jbe 0x410f3d
+cmp eax, 0x205
+jb short loc_00410afc ; jb 0x410afc
+jbe near loc_0041104c ; jbe 0x41104c
+cmp eax, 0x401
+je short loc_00410b22 ; je 0x410b22
+jmp near loc_00411109 ; jmp 0x411109
+
+loc_00410afc:
+cmp eax, 0x203
+
+loc_00410b01:
+je near loc_00410bc8 ; je 0x410bc8
+jmp near loc_00411109 ; jmp 0x411109
+
+loc_00410b0c:
+cmp eax, 0xf
+jb near loc_00411109 ; jb 0x411109
+jbe near loc_004110b1 ; jbe 0x4110b1
+cmp eax, 0x201
+jmp short loc_00410b01 ; jmp 0x410b01
+
+loc_00410b22:
+mov dword [ref_00474d78], 0xffffffff ; mov dword [0x474d78], 0xffffffff
+mov eax, dword [ref_0048bb50] ; mov eax, dword [0x48bb50]
+mov dword [ref_0048bb84], eax ; mov dword [0x48bb84], eax
+mov edx, dword [ref_0048bb60] ; mov edx, dword [0x48bb60]
+movsx eax, word [edx + 0x24]
+sar eax, 1
+mov ecx, 0x140
+sub ecx, eax
+mov dword [ref_0048bb7c], ecx ; mov dword [0x48bb7c], ecx
+mov dword [esp + 0x40], ecx
+movsx eax, word [edx + 0x26]
+sar eax, 1
+mov ecx, 0xf0
+sub ecx, eax
+mov dword [ref_0048bb80], ecx ; mov dword [0x48bb80], ecx
+mov dword [esp + 0x44], ecx
+movsx eax, word [edx + 0x24]
+mov ecx, dword [esp + 0x40]
+add ecx, eax
+mov dword [esp + 0x48], ecx
+movsx eax, word [edx + 0x26]
+mov edx, dword [esp + 0x44]
+add edx, eax
+mov dword [esp + 0x4c], edx
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048bb88], eax ; mov dword [0x48bb88], eax
+mov ecx, dword [ref_0048bb80] ; mov ecx, dword [0x48bb80]
+push ecx
+mov ebx, dword [ref_0048bb7c] ; mov ebx, dword [0x48bb7c]
+push ebx
+mov esi, dword [ref_0048bb84] ; mov esi, dword [0x48bb84]
+push esi
+call fcn_0040ff4b ; call 0x40ff4b
+add esp, 0xc
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+jmp near loc_00410ff0 ; jmp 0x410ff0
+
+loc_00410bc8:
+xor ebx, ebx
+mov bx, dx
+sub ebx, dword [ref_0048bb7c] ; sub ebx, dword [0x48bb7c]
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor esi, esi
+mov si, ax
+sub esi, dword [ref_0048bb80] ; sub esi, dword [0x48bb80]
+xor eax, eax
+mov dword [ref_00474d78], eax ; mov dword [0x474d78], eax
+jmp short loc_00410c03 ; jmp 0x410c03
+
+loc_00410bf1:
+mov ecx, dword [ref_00474d78] ; mov ecx, dword [0x474d78]
+inc ecx
+mov dword [ref_00474d78], ecx ; mov dword [0x474d78], ecx
+cmp ecx, 8
+jge short loc_00410c2b ; jge 0x410c2b
+
+loc_00410c03:
+mov eax, dword [ref_00474d78] ; mov eax, dword [0x474d78]
+shl eax, 4
+cmp ebx, dword [eax + ref_00474ce8] ; cmp ebx, dword [eax + 0x474ce8]
+jl short loc_00410bf1 ; jl 0x410bf1
+cmp esi, dword [eax + ref_00474cec] ; cmp esi, dword [eax + 0x474cec]
+jl short loc_00410bf1 ; jl 0x410bf1
+cmp ebx, dword [eax + ref_00474cf0] ; cmp ebx, dword [eax + 0x474cf0]
+jge short loc_00410bf1 ; jge 0x410bf1
+cmp esi, dword [eax + ref_00474cf4] ; cmp esi, dword [eax + 0x474cf4]
+jge short loc_00410bf1 ; jge 0x410bf1
+
+loc_00410c2b:
+mov eax, dword [ref_00474d78] ; mov eax, dword [0x474d78]
+cmp eax, 7
+ja near loc_00410ff8 ; ja 0x410ff8
+jmp dword [eax*4 + ref_00410a87] ; ujmp: jmp dword [eax*4 + 0x410a87]
+
+loc_00410c40:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_00474d78] ; mov eax, dword [0x474d78]
+shl eax, 4
+mov edx, dword [ref_0048bb7c] ; mov edx, dword [0x48bb7c]
+mov ebx, dword [eax + ref_00474ce8] ; mov ebx, dword [eax + 0x474ce8]
+add edx, ebx
+mov dword [esp + 0x40], edx
+mov edx, dword [ref_0048bb80] ; mov edx, dword [0x48bb80]
+mov esi, dword [eax + ref_00474cec] ; mov esi, dword [eax + 0x474cec]
+add edx, esi
+mov dword [esp + 0x44], edx
+mov edx, dword [ref_0048bb7c] ; mov edx, dword [0x48bb7c]
+mov edi, dword [eax + ref_00474cf0] ; mov edi, dword [eax + 0x474cf0]
+add edx, edi
+mov dword [esp + 0x48], edx
+mov edx, dword [ref_0048bb80] ; mov edx, dword [0x48bb80]
+mov ecx, dword [eax + ref_00474cf4] ; mov ecx, dword [eax + 0x474cf4]
+add edx, ecx
+mov dword [esp + 0x4c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0x44]
+push ebx
+mov esi, dword [esp + 0x44]
+push esi
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x9c
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+
+loc_00410cd1:
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_00410cd9:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_00410fe9 ; jmp 0x410fe9
+
+loc_00410cee:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_00474d78] ; mov eax, dword [0x474d78]
+shl eax, 4
+mov edx, dword [ref_0048bb7c] ; mov edx, dword [0x48bb7c]
+mov ecx, dword [eax + ref_00474ce8] ; mov ecx, dword [eax + 0x474ce8]
+add edx, ecx
+mov dword [esp + 0x40], edx
+mov edx, dword [ref_0048bb80] ; mov edx, dword [0x48bb80]
+mov ebx, dword [eax + ref_00474cec] ; mov ebx, dword [eax + 0x474cec]
+add edx, ebx
+mov dword [esp + 0x44], edx
+mov edx, dword [ref_0048bb7c] ; mov edx, dword [0x48bb7c]
+mov esi, dword [eax + ref_00474cf0] ; mov esi, dword [eax + 0x474cf0]
+add edx, esi
+mov dword [esp + 0x48], edx
+mov edx, dword [ref_0048bb80] ; mov edx, dword [0x48bb80]
+mov edi, dword [eax + ref_00474cf4] ; mov edi, dword [eax + 0x474cf4]
+add edx, edi
+mov dword [esp + 0x4c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x44]
+push eax
+mov edx, dword [esp + 0x44]
+push edx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xa8
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+jmp near loc_00410cd1 ; jmp 0x410cd1
+
+loc_00410d84:
+mov eax, dword [ref_00474d78] ; mov eax, dword [0x474d78]
+cmp eax, 4
+jne short loc_00410d95 ; jne 0x410d95
+mov eax, 1
+jmp short loc_00410d9d ; jmp 0x410d9d
+
+loc_00410d95:
+sub eax, 5
+xor al, 1
+add eax, 2
+
+loc_00410d9d:
+push 0
+shl eax, 3
+add eax, ref_0048231a ; add eax, 0x48231a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_00474d78] ; mov eax, dword [0x474d78]
+shl eax, 4
+mov edx, dword [ref_0048bb7c] ; mov edx, dword [0x48bb7c]
+mov ecx, dword [eax + ref_00474ce8] ; mov ecx, dword [eax + 0x474ce8]
+add edx, ecx
+mov dword [esp + 0x40], edx
+mov edx, dword [ref_0048bb80] ; mov edx, dword [0x48bb80]
+mov ebx, dword [eax + ref_00474cec] ; mov ebx, dword [eax + 0x474cec]
+add edx, ebx
+mov dword [esp + 0x44], edx
+mov edx, dword [ref_0048bb7c] ; mov edx, dword [0x48bb7c]
+mov esi, dword [eax + ref_00474cf0] ; mov esi, dword [eax + 0x474cf0]
+add edx, esi
+mov dword [esp + 0x48], edx
+mov edx, dword [ref_0048bb80] ; mov edx, dword [0x48bb80]
+mov edi, dword [eax + ref_00474cf4] ; mov edi, dword [eax + 0x474cf4]
+add edx, edi
+mov dword [esp + 0x4c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x44]
+push eax
+mov edx, dword [esp + 0x44]
+push edx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xb4
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 2
+mov eax, dword [ref_00474d78] ; mov eax, dword [0x474d78]
+movsx edx, word [eax*4 + (ref_00474cd0 - 2)] ; movsx edx, word [eax*4 + 0x474cce]
+add edx, dword [ref_0048bb80] ; add edx, dword [0x48bb80]
+inc edx
+push edx
+movsx edx, word [eax*4 + ref_00474ccc] ; movsx edx, word [eax*4 + 0x474ccc]
+add edx, dword [ref_0048bb7c] ; add edx, dword [0x48bb7c]
+inc edx
+push edx
+mov edi, dword [eax*4 + ref_00474cb8] ; mov edi, dword [eax*4 + 0x474cb8]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_00410cd9 ; jmp 0x410cd9
+
+loc_00410e78:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+movsx eax, word [ref_0048bb08] ; movsx eax, word [0x48bb08]
+movsx edx, word [ref_0048bb0a] ; movsx edx, word [0x48bb0a]
+mov ecx, 1
+
+loc_00410e9a:
+lea edi, [eax - 0xa]
+cmp ebx, edi
+jl short loc_00410ebe ; jl 0x410ebe
+lea edi, [edx - 8]
+cmp esi, edi
+jl short loc_00410ebe ; jl 0x410ebe
+lea edi, [eax + 0xa]
+cmp ebx, edi
+jge short loc_00410ebe ; jge 0x410ebe
+lea edi, [edx + 8]
+cmp esi, edi
+jge short loc_00410ebe ; jge 0x410ebe
+mov byte [ref_0048bb84], cl ; mov byte [0x48bb84], cl
+jmp short loc_00410ee9 ; jmp 0x410ee9
+
+loc_00410ebe:
+inc ecx
+cmp eax, 0xa6
+jne short loc_00410ed0 ; jne 0x410ed0
+mov eax, 0x1c
+add edx, 0x12
+jmp short loc_00410ed3 ; jmp 0x410ed3
+
+loc_00410ed0:
+add eax, 0x17
+
+loc_00410ed3:
+movsx edi, word [ref_0048bb0c] ; movsx edi, word [0x48bb0c]
+cmp eax, edi
+jne short loc_00410e9a ; jne 0x410e9a
+movsx edi, word [ref_0048bb0e] ; movsx edi, word [0x48bb0e]
+cmp edx, edi
+jne short loc_00410e9a ; jne 0x410e9a
+
+loc_00410ee9:
+mov eax, dword [ref_0048bb80] ; mov eax, dword [0x48bb80]
+push eax
+mov edx, dword [ref_0048bb7c] ; mov edx, dword [0x48bb7c]
+push edx
+mov ecx, dword [ref_0048bb84] ; mov ecx, dword [0x48bb84]
+push ecx
+call fcn_0040ff4b ; call 0x40ff4b
+add esp, 0xc
+mov eax, dword [ref_0048bb7c] ; mov eax, dword [0x48bb7c]
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bb80] ; mov eax, dword [0x48bb80]
+mov dword [esp + 0x44], eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+movsx edx, word [eax + 0x24]
+mov ecx, dword [esp + 0x40]
+add ecx, edx
+mov dword [esp + 0x48], ecx
+movsx eax, word [eax + 0x26]
+mov edx, dword [esp + 0x44]
+add edx, eax
+mov dword [esp + 0x4c], edx
+jmp near loc_00410fe9 ; jmp 0x410fe9
+
+loc_00410f3d:
+mov eax, dword [ref_0048bb7c] ; mov eax, dword [0x48bb7c]
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bb80] ; mov eax, dword [0x48bb80]
+mov dword [esp + 0x44], eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+movsx edx, word [eax + 0x24]
+mov ecx, dword [esp + 0x40]
+add ecx, edx
+mov dword [esp + 0x48], ecx
+movsx eax, word [eax + 0x26]
+mov edx, dword [esp + 0x44]
+add edx, eax
+mov dword [esp + 0x4c], edx
+mov eax, dword [ref_00474d78] ; mov eax, dword [0x474d78]
+cmp eax, 6
+ja near loc_00410ff8 ; ja 0x410ff8
+jmp dword [eax*4 + ref_00410aa7] ; ujmp: jmp dword [eax*4 + 0x410aa7]
+
+loc_00410f85:
+mov bl, byte [ref_0048bb85] ; mov bl, byte [0x48bb85]
+dec bl
+mov byte [ref_0048bb85], bl ; mov byte [0x48bb85], bl
+jne short loc_00410f9c ; jne 0x410f9c
+mov byte [ref_0048bb85], 0xc ; mov byte [0x48bb85], 0xc
+
+loc_00410f9c:
+mov edx, dword [ref_0048bb80] ; mov edx, dword [0x48bb80]
+push edx
+mov ecx, dword [ref_0048bb7c] ; mov ecx, dword [0x48bb7c]
+push ecx
+mov ebx, dword [ref_0048bb84] ; mov ebx, dword [0x48bb84]
+push ebx
+jmp short loc_00410fe1 ; jmp 0x410fe1
+
+loc_00410fb3:
+mov ah, byte [ref_0048bb85] ; mov ah, byte [0x48bb85]
+inc ah
+mov byte [ref_0048bb85], ah ; mov byte [0x48bb85], ah
+cmp ah, 0xd
+jne short loc_00410fcd ; jne 0x410fcd
+mov byte [ref_0048bb85], 1 ; mov byte [0x48bb85], 1
+
+loc_00410fcd:
+mov esi, dword [ref_0048bb80] ; mov esi, dword [0x48bb80]
+push esi
+mov edi, dword [ref_0048bb7c] ; mov edi, dword [0x48bb7c]
+
+loc_00410fda:
+push edi
+mov eax, dword [ref_0048bb84] ; mov eax, dword [0x48bb84]
+
+loc_00410fe0:
+push eax
+
+loc_00410fe1:
+call fcn_0040ff4b ; call 0x40ff4b
+add esp, 0xc
+
+loc_00410fe9:
+push 0
+lea eax, [esp + 0x44]
+push eax
+
+loc_00410ff0:
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00410ff8:
+xor eax, eax
+jmp near loc_00411118 ; jmp 0x411118
+
+loc_00410fff:
+xor ebx, ebx
+mov bx, word [ref_0048bb86] ; mov bx, word [0x48bb86]
+cmp ebx, 0x7ce
+jle short loc_00410f9c ; jle 0x410f9c
+dec ebx
+mov word [ref_0048bb86], bx ; mov word [0x48bb86], bx
+jmp short loc_00410f9c ; jmp 0x410f9c
+
+loc_0041101a:
+xor ebx, ebx
+mov bx, word [ref_0048bb86] ; mov bx, word [0x48bb86]
+inc ebx
+mov word [ref_0048bb86], bx ; mov word [0x48bb86], bx
+mov esi, dword [esp + 0x44]
+push esi
+mov edi, dword [esp + 0x44]
+jmp short loc_00410fda ; jmp 0x410fda
+
+loc_00411036:
+mov eax, dword [ref_0048bb5c] ; mov eax, dword [0x48bb5c]
+mov dword [ref_0048bb84], eax ; mov dword [0x48bb84], eax
+mov edx, dword [esp + 0x44]
+push edx
+mov ecx, dword [esp + 0x44]
+push ecx
+jmp short loc_00410fe0 ; jmp 0x410fe0
+
+loc_0041104c:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov edi, dword [ref_0048bb80] ; mov edi, dword [0x48bb80]
+push edi
+mov ebp, dword [ref_0048bb7c] ; mov ebp, dword [0x48bb7c]
+push ebp
+mov eax, dword [ref_0048bb88] ; mov eax, dword [0x48bb88]
+push eax
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+push 0xffffffffffffffff
+
+loc_00411074:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00410ff8 ; jmp 0x410ff8
+
+loc_00411081:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov edx, dword [ref_0048bb80] ; mov edx, dword [0x48bb80]
+push edx
+mov ecx, dword [ref_0048bb7c] ; mov ecx, dword [0x48bb7c]
+push ecx
+mov ebx, dword [ref_0048bb88] ; mov ebx, dword [0x48bb88]
+push ebx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov esi, dword [ref_0048bb84] ; mov esi, dword [0x48bb84]
+push esi
+jmp short loc_00411074 ; jmp 0x411074
+
+loc_004110b1:
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00410ff8 ; jmp 0x410ff8
+
+loc_00411109:
+push edx
+mov edi, dword [esp + 0x70]
+push edi
+push eax
+push ebp
+
+loc_00411111:
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+
+loc_00411118:
+add esp, 0x50
+
+loc_0041111b:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+fcn_00411122:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebx, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov esi, dword [esp + 0x6c]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x201
+jb short loc_0041116f ; jb 0x41116f
+jbe near loc_004113d9 ; jbe 0x4113d9
+cmp eax, 0x205
+jb short loc_0041115f ; jb 0x41115f
+jbe near loc_00411915 ; jbe 0x411915
+cmp eax, 0x401
+je short loc_0041119a ; je 0x41119a
+jmp near loc_004119da ; jmp 0x4119da
+
+loc_0041115f:
+cmp eax, 0x202
+je near loc_0041170f ; je 0x41170f
+jmp near loc_004119da ; jmp 0x4119da
+
+loc_0041116f:
+cmp eax, 0x100
+jb short loc_0041118c ; jb 0x41118c
+jbe near loc_0041183b ; jbe 0x41183b
+cmp eax, 0x113
+je near loc_00411261 ; je 0x411261
+jmp near loc_004119da ; jmp 0x4119da
+
+loc_0041118c:
+cmp eax, 0xf
+je near loc_0041197c ; je 0x41197c
+jmp near loc_004119da ; jmp 0x4119da
+
+loc_0041119a:
+xor edx, edx
+mov dword [ref_0048bb9e], edx ; mov dword [0x48bb9e], edx
+mov dword [ref_0048bba6], edx ; mov dword [0x48bba6], edx
+xor esi, esi
+mov dword [ref_0048bbaa], edx ; mov dword [0x48bbaa], edx
+mov edx, dword [ref_0048bb60] ; mov edx, dword [0x48bb60]
+movsx eax, word [edx + 0x18]
+sar eax, 1
+mov ecx, 0x140
+sub ecx, eax
+mov dword [ref_0048bb8e], ecx ; mov dword [0x48bb8e], ecx
+mov dword [esp + 0x40], ecx
+movsx eax, word [edx + 0x1a]
+sar eax, 1
+mov ecx, 0xf0
+sub ecx, eax
+mov dword [ref_0048bb92], ecx ; mov dword [0x48bb92], ecx
+mov dword [esp + 0x44], ecx
+movsx eax, word [edx + 0x18]
+mov ecx, dword [esp + 0x40]
+add ecx, eax
+mov dword [esp + 0x48], ecx
+movsx eax, word [edx + 0x1a]
+mov edx, dword [esp + 0x44]
+add edx, eax
+mov dword [esp + 0x4c], edx
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048bbae], eax ; mov dword [0x48bbae], eax
+push 0x38
+push ref_00497168 ; push 0x497168
+push ref_0048bb10 ; push 0x48bb10
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov edi, dword [ref_0048bb92] ; mov edi, dword [0x48bb92]
+push edi
+mov ebp, dword [ref_0048bb8e] ; mov ebp, dword [0x48bb8e]
+push ebp
+call fcn_00410158 ; call 0x410158
+add esp, 8
+push esi
+push 0xfa
+mov eax, dword [ref_0046cad8] ; mov eax, dword [0x46cad8]
+push eax
+push ebx
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048bba2], eax ; mov dword [0x48bba2], eax
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_0041160f ; jmp 0x41160f
+
+loc_00411261:
+cmp dword [ref_0048bba6], 0 ; cmp dword [0x48bba6], 0
+je near loc_00410ff8 ; je 0x410ff8
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_00410ff8 ; je 0x410ff8
+cmp esi, dword [ref_0046cad8] ; cmp esi, dword [0x46cad8]
+jne near loc_00410ff8 ; jne 0x410ff8
+xor byte [ref_0048bbaa], 1 ; xor byte [0x48bbaa], 1
+mov ebp, dword [ref_0048bbaa] ; mov ebp, dword [0x48bbaa]
+test ebp, ebp
+je near loc_00411329 ; je 0x411329
+mov eax, dword [ref_0048bb96] ; mov eax, dword [0x48bb96]
+sub eax, 0x1a
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bb96] ; mov eax, dword [0x48bb96]
+add eax, 0x1b
+mov dword [esp + 0x48], eax
+mov eax, dword [ref_0048bb9a] ; mov eax, dword [0x48bb9a]
+sub eax, 7
+mov dword [esp + 0x44], eax
+mov eax, dword [ref_0048bb9a] ; mov eax, dword [0x48bb9a]
+add eax, 6
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+call dword [eax + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0xf0f0f0
+push 0xd
+push 0x35
+mov esi, dword [esp + 0x50]
+push esi
+mov edi, dword [esp + 0x50]
+push edi
+mov eax, ref_0046caec ; mov eax, 0x46caec
+push eax
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+jmp near loc_004113bf ; jmp 0x4113bf
+
+loc_00411329:
+mov eax, dword [ref_0048bb96] ; mov eax, dword [0x48bb96]
+sub eax, 0x1b
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bb96] ; mov eax, dword [0x48bb96]
+add eax, 0x1c
+mov dword [esp + 0x48], eax
+mov eax, dword [ref_0048bb9a] ; mov eax, dword [0x48bb9a]
+sub eax, 8
+mov dword [esp + 0x44], eax
+mov eax, dword [ref_0048bb9a] ; mov eax, dword [0x48bb9a]
+add eax, 8
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push ebp
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push ebp
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x64] ; ucall
+push 0xf
+push 0x37
+mov eax, dword [esp + 0x4c]
+sub eax, dword [ref_0048bb92] ; sub eax, dword [0x48bb92]
+push eax
+mov eax, dword [esp + 0x4c]
+sub eax, dword [ref_0048bb8e] ; sub eax, dword [0x48bb8e]
+push eax
+mov edi, dword [esp + 0x54]
+push edi
+mov ebp, dword [esp + 0x54]
+push ebp
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+
+loc_004113bf:
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00410ff8 ; jmp 0x410ff8
+
+loc_004113d9:
+xor eax, eax
+mov ax, dx
+shr edx, 0x10
+and edx, 0xffff
+xor esi, esi
+mov si, dx
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0x69
+cmp eax, edx
+jl near loc_004114b6 ; jl 0x4114b6
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0xa0
+cmp eax, edx
+jg near loc_004114b6 ; jg 0x4114b6
+mov edx, dword [ref_0048bb92] ; mov edx, dword [0x48bb92]
+add edx, 0x19
+cmp esi, edx
+jl near loc_004114b6 ; jl 0x4114b6
+mov edx, dword [ref_0048bb92] ; mov edx, dword [0x48bb92]
+add edx, 0x108
+cmp esi, edx
+jg near loc_004114b6 ; jg 0x4114b6
+mov ebx, dword [ref_0048bba6] ; mov ebx, dword [0x48bba6]
+test ebx, ebx
+jne short loc_004114b6 ; jne 0x4114b6
+push ebx
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov ecx, dword [ref_0048bb92] ; mov ecx, dword [0x48bb92]
+add ecx, 0x19
+mov edx, esi
+sub edx, ecx
+mov eax, edx
+sar edx, 0x1f
+shl edx, 4
+sbb eax, edx
+sar eax, 4
+mov edx, eax
+inc eax
+mov dword [ref_0048bb9e], eax ; mov dword [0x48bb9e], eax
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0x69
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0xa0
+mov dword [esp + 0x48], eax
+shl edx, 4
+add ecx, edx
+mov dword [esp + 0x44], ecx
+lea eax, [ecx + 0xf]
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0x84
+
+loc_004114a4:
+mov dword [ref_0048bb96], eax ; mov dword [0x48bb96], eax
+lea eax, [ecx + 8]
+mov dword [ref_0048bb9a], eax ; mov dword [0x48bb9a], eax
+jmp near loc_00411605 ; jmp 0x411605
+
+loc_004114b6:
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0x101
+cmp eax, edx
+jl near loc_00411576 ; jl 0x411576
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0x138
+cmp eax, edx
+jg near loc_00411576 ; jg 0x411576
+mov edx, dword [ref_0048bb92] ; mov edx, dword [0x48bb92]
+add edx, 0x19
+cmp esi, edx
+jl near loc_00411576 ; jl 0x411576
+mov edx, dword [ref_0048bb92] ; mov edx, dword [0x48bb92]
+add edx, 0x108
+cmp esi, edx
+jg short loc_00411576 ; jg 0x411576
+mov edi, dword [ref_0048bba6] ; mov edi, dword [0x48bba6]
+test edi, edi
+jne short loc_00411576 ; jne 0x411576
+push edi
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov ecx, dword [ref_0048bb92] ; mov ecx, dword [0x48bb92]
+add ecx, 0x19
+mov edx, esi
+sub edx, ecx
+mov eax, edx
+sar edx, 0x1f
+shl edx, 4
+sbb eax, edx
+sar eax, 4
+mov edx, eax
+add eax, 0x10
+mov dword [ref_0048bb9e], eax ; mov dword [0x48bb9e], eax
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0x101
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0x138
+mov dword [esp + 0x48], eax
+shl edx, 4
+add ecx, edx
+mov dword [esp + 0x44], ecx
+lea eax, [ecx + 0xf]
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0x11c
+jmp near loc_004114a4 ; jmp 0x4114a4
+
+loc_00411576:
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0x11
+cmp eax, edx
+jl near loc_00411617 ; jl 0x411617
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0x57
+cmp eax, edx
+jg near loc_00411617 ; jg 0x411617
+mov edx, dword [ref_0048bb92] ; mov edx, dword [0x48bb92]
+add edx, 0x119
+cmp esi, edx
+jl short loc_00411617 ; jl 0x411617
+mov edx, dword [ref_0048bb92] ; mov edx, dword [0x48bb92]
+add edx, 0x137
+cmp esi, edx
+jg short loc_00411617 ; jg 0x411617
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dword [ref_0048bb9e], 0x64 ; mov dword [0x48bb9e], 0x64
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0x11
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0x57
+
+loc_004115e5:
+mov dword [esp + 0x48], eax
+mov eax, dword [ref_0048bb92] ; mov eax, dword [0x48bb92]
+add eax, 0x119
+mov dword [esp + 0x44], eax
+mov eax, dword [ref_0048bb92] ; mov eax, dword [0x48bb92]
+add eax, 0x137
+mov dword [esp + 0x4c], eax
+
+loc_00411605:
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+
+loc_0041160f:
+add esp, 4
+jmp near loc_00410ff8 ; jmp 0x410ff8
+
+loc_00411617:
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0x82
+cmp eax, edx
+jl short loc_0041168d ; jl 0x41168d
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0xc8
+cmp eax, edx
+jg short loc_0041168d ; jg 0x41168d
+mov edx, dword [ref_0048bb92] ; mov edx, dword [0x48bb92]
+add edx, 0x119
+cmp esi, edx
+jl short loc_0041168d ; jl 0x41168d
+mov edx, dword [ref_0048bb92] ; mov edx, dword [0x48bb92]
+add edx, 0x137
+cmp esi, edx
+jg short loc_0041168d ; jg 0x41168d
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dword [ref_0048bb9e], 0x65 ; mov dword [0x48bb9e], 0x65
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0x82
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0xc8
+jmp near loc_004115e5 ; jmp 0x4115e5
+
+loc_0041168d:
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0xf2
+cmp eax, edx
+jl near loc_00410ff8 ; jl 0x410ff8
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+add edx, 0x138
+cmp eax, edx
+jg near loc_00410ff8 ; jg 0x410ff8
+mov eax, dword [ref_0048bb92] ; mov eax, dword [0x48bb92]
+add eax, 0x119
+cmp esi, eax
+jl near loc_00410ff8 ; jl 0x410ff8
+mov eax, dword [ref_0048bb92] ; mov eax, dword [0x48bb92]
+add eax, 0x137
+cmp esi, eax
+jg near loc_00410ff8 ; jg 0x410ff8
+push 0
+push ref_0048232a ; push 0x48232a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dword [ref_0048bb9e], 0x66 ; mov dword [0x48bb9e], 0x66
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0xf2
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+add eax, 0x138
+jmp near loc_004115e5 ; jmp 0x4115e5
+
+loc_0041170f:
+cmp dword [ref_0048bb9e], 0 ; cmp dword [0x48bb9e], 0
+je near loc_00410ff8 ; je 0x410ff8
+call fcn_00451d4e ; call 0x451d4e
+mov eax, dword [ref_0048bb9e] ; mov eax, dword [0x48bb9e]
+cmp eax, 0x65
+jb short loc_0041173b ; jb 0x41173b
+jbe short loc_0041177a ; jbe 0x41177a
+cmp eax, 0x66
+je near loc_004117bc ; je 0x4117bc
+jmp near loc_00411804 ; jmp 0x411804
+
+loc_0041173b:
+cmp eax, 0x64
+jne near loc_00411804 ; jne 0x411804
+push 0x38
+push ref_0047edc2 ; push 0x47edc2
+push ref_0048bb10 ; push 0x48bb10
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov ebp, dword [ref_0048bb92] ; mov ebp, dword [0x48bb92]
+push ebp
+mov eax, dword [ref_0048bb8e] ; mov eax, dword [0x48bb8e]
+push eax
+call fcn_00410158 ; call 0x410158
+add esp, 8
+xor edx, edx
+mov dword [ref_0048bba6], edx ; mov dword [0x48bba6], edx
+jmp near loc_0041182e ; jmp 0x41182e
+
+loc_0041177a:
+mov edx, dword [ref_0048bba2] ; mov edx, dword [0x48bba2]
+push edx
+push ebx
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ecx, dword [ref_0048bb92] ; mov ecx, dword [0x48bb92]
+push ecx
+mov ebx, dword [ref_0048bb8e] ; mov ebx, dword [0x48bb8e]
+push ebx
+mov esi, dword [ref_0048bbae] ; mov esi, dword [0x48bbae]
+push esi
+
+loc_004117a8:
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp short loc_0041182e ; jmp 0x41182e
+
+loc_004117bc:
+mov esi, dword [ref_0048bba2] ; mov esi, dword [0x48bba2]
+push esi
+push ebx
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0x38
+push ref_0048bb10 ; push 0x48bb10
+push ref_00497168 ; push 0x497168
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+call fcn_00411f80 ; call 0x411f80
+mov edi, dword [ref_0048bb92] ; mov edi, dword [0x48bb92]
+push edi
+mov ebp, dword [ref_0048bb8e] ; mov ebp, dword [0x48bb8e]
+push ebp
+mov eax, dword [ref_0048bbae] ; mov eax, dword [0x48bbae]
+push eax
+jmp short loc_004117a8 ; jmp 0x4117a8
+
+loc_00411804:
+mov edi, dword [ref_0048bb9e] ; mov edi, dword [0x48bb9e]
+cmp edi, 8
+jle short loc_0041182e ; jle 0x41182e
+mov dword [ref_0048bba6], edi ; mov dword [0x48bba6], edi
+mov dx, word [edi*2 + ref_0048bb0e] ; mov dx, word [edi*2 + 0x48bb0e]
+mov word [ref_0048bb8c], dx ; mov word [0x48bb8c], dx
+xor edx, edx
+mov word [edi*2 + ref_0048bb0e], dx ; mov word [edi*2 + 0x48bb0e], dx
+
+loc_0041182e:
+xor ecx, ecx
+mov dword [ref_0048bb9e], ecx ; mov dword [0x48bb9e], ecx
+jmp near loc_00410ff8 ; jmp 0x410ff8
+
+loc_0041183b:
+cmp dword [ref_0048bba6], 0 ; cmp dword [0x48bba6], 0
+je near loc_00410ff8 ; je 0x410ff8
+xor edx, edx
+
+loc_0041184a:
+mov eax, edx
+shl eax, 3
+mov bl, byte [eax + ref_0047edfa] ; mov bl, byte [eax + 0x47edfa]
+test bl, bl
+je short loc_00411867 ; je 0x411867
+mov al, bl
+and eax, 0xff
+cmp eax, esi
+je short loc_00411867 ; je 0x411867
+inc edx
+jmp short loc_0041184a ; jmp 0x41184a
+
+loc_00411867:
+mov ecx, edx
+shl ecx, 3
+mov bh, byte [ecx + ref_0047edfa] ; mov bh, byte [ecx + 0x47edfa]
+test bh, bh
+je near loc_004118fb ; je 0x4118fb
+cmp bh, 0x11
+jne short loc_00411893 ; jne 0x411893
+mov eax, dword [ref_0048bba6] ; mov eax, dword [0x48bba6]
+mov word [eax*2 + ref_0048bb0e], 0x1100 ; mov word [eax*2 + 0x48bb0e], 0x1100
+jmp near loc_004118fb ; jmp 0x4118fb
+
+loc_00411893:
+xor eax, eax
+xor esi, esi
+mov ebx, dword [ref_0048bba6] ; mov ebx, dword [0x48bba6]
+mov cl, byte [ecx + ref_0047edfa] ; mov cl, byte [ecx + 0x47edfa]
+xor ch, ch
+mov di, word [ebx*2 + ref_0048bb0e] ; mov di, word [ebx*2 + 0x48bb0e]
+or edi, ecx
+jmp short loc_004118b7 ; jmp 0x4118b7
+
+loc_004118b1:
+inc eax
+cmp eax, 0x1c
+jge short loc_004118db ; jge 0x4118db
+
+loc_004118b7:
+mov ecx, dword [ref_0048bba6] ; mov ecx, dword [0x48bba6]
+dec ecx
+cmp eax, ecx
+je short loc_004118b1 ; je 0x4118b1
+mov cx, word [eax*2 + ref_0048bb10] ; mov cx, word [eax*2 + 0x48bb10]
+and ecx, 0xffff
+xor ebx, ebx
+mov bx, di
+cmp ebx, ecx
+jne short loc_004118b1 ; jne 0x4118b1
+jmp short loc_004118fb ; jmp 0x4118fb
+
+loc_004118db:
+test esi, esi
+jne short loc_004118fb ; jne 0x4118fb
+mov eax, dword [ref_0048bba6] ; mov eax, dword [0x48bba6]
+mov dl, byte [edx*8 + ref_0047edfa] ; mov dl, byte [edx*8 + 0x47edfa]
+xor dh, dh
+or word [eax*2 + ref_0048bb0e], dx ; or word [eax*2 + 0x48bb0e], dx
+mov dword [ref_0048bba6], esi ; mov dword [0x48bba6], esi
+
+loc_004118fb:
+mov eax, dword [ref_0048bb92] ; mov eax, dword [0x48bb92]
+push eax
+mov edx, dword [ref_0048bb8e] ; mov edx, dword [0x48bb8e]
+push edx
+call fcn_00410158 ; call 0x410158
+add esp, 8
+jmp near loc_00410ff8 ; jmp 0x410ff8
+
+loc_00411915:
+mov edx, dword [ref_0048bba6] ; mov edx, dword [0x48bba6]
+test edx, edx
+je short loc_0041193a ; je 0x41193a
+mov eax, edx
+mov dx, word [ref_0048bb8c] ; mov dx, word [0x48bb8c]
+mov word [eax*2 + ref_0048bb0e], dx ; mov word [eax*2 + 0x48bb0e], dx
+xor ebp, ebp
+mov dword [ref_0048bba6], ebp ; mov dword [0x48bba6], ebp
+jmp short loc_004118fb ; jmp 0x4118fb
+
+loc_0041193a:
+mov ecx, dword [ref_0048bba2] ; mov ecx, dword [0x48bba2]
+push ecx
+push ebx
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048bb92] ; mov ebx, dword [0x48bb92]
+push ebx
+mov esi, dword [ref_0048bb8e] ; mov esi, dword [0x48bb8e]
+push esi
+mov edi, dword [ref_0048bbae] ; mov edi, dword [0x48bbae]
+push edi
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_0041160f ; jmp 0x41160f
+
+loc_0041197c:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+mov ecx, dword [esp + 0x18]
+push ecx
+mov esi, dword [esp + 0x18]
+push esi
+mov edi, dword [ref_0048a0dc] ; mov edi, dword [0x48a0dc]
+push edi
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00410ff8 ; jmp 0x410ff8
+
+loc_004119da:
+push edx
+push esi
+push eax
+push ebx
+jmp near loc_00411111 ; jmp 0x411111
+
+fcn_004119e3:
+push ebx
+sub esp, 8
+push 0
+push 2
+push 0x101010
+push 0x101010
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+
+loc_00411a01:
+push 2
+movsx edx, word [ebx*4 + ref_00474cde] ; movsx edx, word [ebx*4 + 0x474cde]
+push edx
+movsx edx, word [ebx*4 + ref_00474cdc] ; movsx edx, word [ebx*4 + 0x474cdc]
+push edx
+mov edx, dword [ebx*4 + ref_00474cc8] ; mov edx, dword [ebx*4 + 0x474cc8]
+push edx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+cmp ebx, 3
+jl short loc_00411a01 ; jl 0x411a01
+mov eax, esp
+push eax
+call fcn_00458331 ; call 0x458331
+add esp, 4
+xor eax, eax
+mov ax, word [esp + 2]
+mov edx, eax
+shl edx, 0x10
+xor eax, eax
+mov al, byte [esp + 1]
+shl eax, 8
+add edx, eax
+xor eax, eax
+mov al, byte [esp]
+add edx, eax
+mov dword [ref_0048bb5c], edx ; mov dword [0x48bb5c], edx
+push 0
+push fcn_00410ac3 ; push 0x410ac3
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+cmp eax, 0xffffffff
+je short loc_00411a81 ; je 0x411a81
+mov dword [ref_0048bb50], eax ; mov dword [0x48bb50], eax
+
+loc_00411a7c:
+mov dword [ref_00497160], eax ; mov dword [0x497160], eax
+
+loc_00411a81:
+add esp, 8
+pop ebx
+ret
+
+fcn_00411a86:
+push 0
+push fcn_00411122 ; push 0x411122
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+ret
+
+fcn_00411a96:
+push 0xffffffffffffffff
+push 0xffffffffffffffff
+call fcn_0044eb39 ; call 0x44eb39
+add esp, 8
+ret
+
+fcn_00411aa3:
+sub esp, 8
+mov eax, esp
+push eax
+call fcn_00458331 ; call 0x458331
+add esp, 4
+xor eax, eax
+mov ax, word [esp + 2]
+mov edx, eax
+shl edx, 0x10
+xor eax, eax
+mov al, byte [esp + 1]
+shl eax, 8
+add edx, eax
+xor eax, eax
+mov al, byte [esp]
+add edx, eax
+mov dword [ref_00497160], edx ; mov dword [0x497160], edx
+mov byte [ref_0046caf8], 1 ; mov byte [0x46caf8], 1
+add esp, 8
+ret
+
+fcn_00411ae0:
+push ebx
+push esi
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_0040cd87 ; call 0x40cd87
+add esp, 4
+cmp dword [ref_00499104], 1 ; cmp dword [0x499104], 1
+jle short loc_00411b43 ; jle 0x411b43
+call fcn_0040dfda ; call 0x40dfda
+test eax, eax
+je short loc_00411b43 ; je 0x411b43
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_004339d9 ; call 0x4339d9
+mov ebx, eax
+add esp, 4
+test eax, eax
+je short loc_00411b43 ; je 0x411b43
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+dec eax
+mov dword [ref_0049910c], eax ; mov dword [0x49910c], eax
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+push ebx
+push 7
+push 0
+push 0xf
+call fcn_0040e033 ; call 0x40e033
+add esp, 0x10
+mov dword [ref_0049910c], esi ; mov dword [0x49910c], esi
+
+loc_00411b43:
+pop esi
+pop ebx
+ret
+
+fcn_00411b46:
+call fcn_00411f80 ; call 0x411f80
+mov byte [ref_0046caf9], 1 ; mov byte [0x46caf9], 1
+ret
+
+fcn_00411b53:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov eax, dword [esp + 0x24]
+mov dword [ref_0048bb58], eax ; mov dword [0x48bb58], eax
+push 0
+push 0
+push 3
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bb60], eax ; mov dword [0x48bb60], eax
+push 1
+push 2
+push 0
+push 0x101010
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+
+loc_00411b94:
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+movsx esi, word [eax*2 + ref_00474b3c] ; movsx esi, word [eax*2 + 0x474b3c]
+push esi
+movsx esi, word [eax*2 + ref_00474b3a] ; movsx esi, word [eax*2 + 0x474b3a]
+push esi
+movsx eax, word [eax*2 + ref_00474b38] ; movsx eax, word [eax*2 + 0x474b38]
+push eax
+mov ecx, dword [ebx*4 + ref_00474a54] ; mov ecx, dword [ebx*4 + 0x474a54]
+push ecx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+cmp ebx, 0xa
+jl short loc_00411b94 ; jl 0x411b94
+xor ebx, ebx
+mov esi, 0x34
+
+loc_00411bdc:
+push 2
+push 0x128
+push esi
+mov edi, dword [ebx*4 + ref_00474b2c] ; mov edi, dword [ebx*4 + 0x474b2c]
+push edi
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x71
+cmp ebx, 3
+jl short loc_00411bdc ; jl 0x411bdc
+push 0
+push 1
+push 0x101010
+push 0xf0f0f0
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+mov esi, 0x3e
+mov edi, 0x21
+jmp short loc_00411c32 ; jmp 0x411c32
+
+loc_00411c2c:
+inc ebx
+cmp ebx, 0x1c
+jge short loc_00411c63 ; jge 0x411c63
+
+loc_00411c32:
+push 2
+push edi
+push esi
+mov ebp, dword [ebx*4 + ref_00474abc] ; mov ebp, dword [ebx*4 + 0x474abc]
+push ebp
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+add edi, 0x10
+cmp ebx, 0xe
+jne short loc_00411c2c ; jne 0x411c2c
+mov esi, 0xd0
+mov edi, 0x21
+jmp short loc_00411c2c ; jmp 0x411c2c
+
+loc_00411c63:
+push 1
+push 2
+push 0x101010
+push 0x101010
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+movsx eax, word [ref_00474b78] ; movsx eax, word [0x474b78]
+push eax
+movsx eax, word [ref_00474b76] ; movsx eax, word [0x474b76]
+push eax
+movsx eax, word [ref_00474b74] ; movsx eax, word [0x474b74]
+push eax
+mov eax, dword [ref_00474a7c] ; mov eax, dword [0x474a7c]
+push eax
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+movsx eax, word [ref_00474b7e] ; movsx eax, word [0x474b7e]
+push eax
+movsx eax, word [ref_00474b7c] ; movsx eax, word [0x474b7c]
+push eax
+movsx eax, word [ref_00474b7a] ; movsx eax, word [0x474b7a]
+push eax
+mov edx, dword [ref_00474a80] ; mov edx, dword [0x474a80]
+push edx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebx, 0xc
+
+loc_00411cdf:
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+movsx esi, word [eax*2 + ref_00474b3c] ; movsx esi, word [eax*2 + 0x474b3c]
+push esi
+movsx esi, word [eax*2 + ref_00474b3a] ; movsx esi, word [eax*2 + 0x474b3a]
+push esi
+movsx eax, word [eax*2 + ref_00474b38] ; movsx eax, word [eax*2 + 0x474b38]
+push eax
+mov esi, dword [ref_0048bb58] ; mov esi, dword [0x48bb58]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+add eax, ebx
+mov ecx, dword [eax*4 + ref_00474a54] ; mov ecx, dword [eax*4 + 0x474a54]
+push ecx
+add esi, 0xa
+mov eax, esi
+shl eax, 2
+sub eax, esi
+mov esi, eax
+shl esi, 2
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xc
+add eax, esi
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+cmp ebx, 0xf
+jl short loc_00411cdf ; jl 0x411cdf
+push 2
+push 0xa8
+mov ebx, dword [ref_0048bb58] ; mov ebx, dword [0x48bb58]
+add ebx, 0xa
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov ebx, eax
+shl ebx, 2
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0xc
+add ebx, eax
+push ebx
+push eax
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+push 2
+push 0xe
+push 0x1e
+mov ebx, dword [ref_00474a7c] ; mov ebx, dword [0x474a7c]
+push ebx
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x30
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xe
+push 0x1e
+mov esi, dword [ref_00474a80] ; mov esi, dword [0x474a80]
+push esi
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+add eax, 0x3c
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048bb60] ; mov eax, dword [0x48bb60]
+movsx ebx, word [eax + 0xc]
+sar ebx, 1
+mov esi, 0x140
+sub esi, ebx
+mov dword [esp], esi
+movsx ebx, word [eax + 0xe]
+sar ebx, 1
+mov esi, 0xf0
+sub esi, ebx
+mov dword [esp + 4], esi
+movsx ebx, word [eax + 0xc]
+mov esi, dword [esp]
+add esi, ebx
+mov dword [esp + 8], esi
+movsx eax, word [eax + 0xe]
+mov ebx, dword [esp + 4]
+add ebx, eax
+mov dword [esp + 0xc], ebx
+mov eax, esp
+push eax
+call fcn_00451e7e ; call 0x451e7e
+mov esi, eax
+add esp, 4
+mov eax, dword [esp + 4]
+shl eax, 0x10
+add eax, dword [esp]
+push eax
+push fcn_004103a3 ; push 0x4103a3
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebx, eax
+mov ebp, dword [esp + 4]
+push ebp
+mov eax, dword [esp + 4]
+push eax
+push esi
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov edx, dword [ref_0048bb60] ; mov edx, dword [0x48bb60]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+cmp dword [esp + 0x24], 0
+jne short loc_00411e4b ; jne 0x411e4b
+test byte [ref_0047e772], 0x80 ; test byte [0x47e772], 0x80
+je short loc_00411e4b ; je 0x411e4b
+call fcn_00454edc ; call 0x454edc
+
+loc_00411e4b:
+mov eax, ebx
+and eax, 0x7fff
+cmp eax, 2
+jb short loc_00411e60 ; jb 0x411e60
+jbe short loc_00411e6c ; jbe 0x411e6c
+cmp eax, 3
+je short loc_00411e73 ; je 0x411e73
+jmp short loc_00411e78 ; jmp 0x411e78
+
+loc_00411e60:
+cmp eax, 1
+jne short loc_00411e78 ; jne 0x411e78
+call fcn_00411aa3 ; call 0x411aa3
+jmp short loc_00411e78 ; jmp 0x411e78
+
+loc_00411e6c:
+call fcn_00411ae0 ; call 0x411ae0
+jmp short loc_00411e78 ; jmp 0x411e78
+
+loc_00411e73:
+call fcn_00411b46 ; call 0x411b46
+
+loc_00411e78:
+test bh, 0x80
+je short loc_00411e87 ; je 0x411e87
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+
+loc_00411e87:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00411e8f:
+push ebx
+sub esp, 8
+push ref_00463764 ; push 0x463764
+push ref_00463767 ; push 0x463767
+call fcn_004573bf ; call 0x4573bf
+mov ebx, eax
+add esp, 8
+test eax, eax
+je short loc_00411eda ; je 0x411eda
+push eax
+push 1
+push 0x10
+push ref_00497158 ; push 0x497158
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+push 0x38
+push 1
+push ref_00497168 ; push 0x497168
+call fcn_004576d0 ; call 0x4576d0
+add esp, 0x10
+push ebx
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+jmp short loc_00411f1e ; jmp 0x411f1e
+
+loc_00411eda:
+mov ah, 1
+mov byte [ref_00497158], ah ; mov byte [0x497158], ah
+mov byte [ref_00497159], ah ; mov byte [0x497159], ah
+mov dh, 4
+mov byte [ref_0049715a], dh ; mov byte [0x49715a], dh
+mov byte [ref_0049715b], dh ; mov byte [0x49715b], dh
+mov byte [ref_0049715c], ah ; mov byte [0x49715c], ah
+mov byte [ref_0049715d], ah ; mov byte [0x49715d], ah
+xor ch, ch
+mov byte [ref_00497164], ch ; mov byte [0x497164], ch
+push 0x38
+push ref_0047edc2 ; push 0x47edc2
+push ref_00497168 ; push 0x497168
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+
+loc_00411f1e:
+mov eax, esp
+push eax
+call fcn_00458331 ; call 0x458331
+add esp, 4
+mov edx, dword [esp + 2]
+cmp dx, 0x7ce
+jae short loc_00411f46 ; jae 0x411f46
+mov word [esp + 2], 0x7ce
+mov dl, 1
+mov byte [esp + 1], dl
+mov byte [esp], dl
+jmp short loc_00411f5d ; jmp 0x411f5d
+
+loc_00411f46:
+cmp dx, 0x7da
+jbe short loc_00411f5d ; jbe 0x411f5d
+mov word [esp + 2], 0x7da
+mov al, 1
+mov byte [esp + 1], al
+mov byte [esp], al
+
+loc_00411f5d:
+xor ebx, ebx
+mov bx, word [esp + 2]
+mov eax, ebx
+shl eax, 0x10
+xor ebx, ebx
+mov bl, byte [esp + 1]
+shl ebx, 8
+add eax, ebx
+xor ebx, ebx
+mov bl, byte [esp]
+add eax, ebx
+jmp near loc_00411a7c ; jmp 0x411a7c
+
+fcn_00411f80:
+push ebx
+push ref_00463771 ; push 0x463771
+push ref_00463767 ; push 0x463767
+call fcn_004573bf ; call 0x4573bf
+mov ebx, eax
+add esp, 8
+test eax, eax
+je short loc_00411fc6 ; je 0x411fc6
+push eax
+push 1
+push 0x10
+push ref_00497158 ; push 0x497158
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+push 0x38
+push 1
+push ref_00497168 ; push 0x497168
+call fcn_00457ada ; call 0x457ada
+add esp, 0x10
+push ebx
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+
+loc_00411fc6:
+pop ebx
+ret
+
+ref_00411fc8:
+dd 0x00000003
+dd 0x0000000c
+dd 0x00000003
+dd 0x00000009
+dd 0x00000001
+
+ref_00411fdc:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000280
+dd 0x00000183
+
+ref_00411fec:
+dd 0x01830280
+dd 0x00000000
+dd 0x00000000
+
+ref_00411ff8:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000280
+dd 0x00000183
+
+ref_00412008:
+dd 0x01830280
+dd 0x00000000
+dd 0x00000000
+
+fcn_00412014:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x20
+mov ebp, 0x40
+mov ecx, 5
+mov edi, esp
+mov esi, ref_00411fc8 ; mov esi, 0x411fc8
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+xor esi, esi
+jmp short loc_00412038 ; jmp 0x412038
+
+loc_00412032:
+inc esi
+cmp esi, 9
+jge short loc_00412064 ; jge 0x412064
+
+loc_00412038:
+xor edx, edx
+
+loc_0041203a:
+mov eax, esi
+shl eax, 3
+lea ecx, [esi + eax]
+shl ecx, 3
+mov eax, edx
+mov bx, word [ecx + eax*8 + ref_00474d80] ; mov bx, word [ecx + eax*8 + 0x474d80]
+xor bh, bh
+and bl, 0xf0
+mov word [ecx + eax*8 + ref_00474d80], bx ; mov word [ecx + eax*8 + 0x474d80], bx
+inc edx
+cmp edx, 9
+jl short loc_0041203a ; jl 0x41203a
+jmp short loc_00412032 ; jmp 0x412032
+
+loc_00412064:
+xor edx, edx
+mov dword [esp + 0x1c], edx
+jmp short loc_0041207c ; jmp 0x41207c
+
+loc_0041206c:
+lea esi, [eax + 1]
+mov dword [esp + 0x1c], esi
+cmp esi, 5
+jge near loc_00412114 ; jge 0x412114
+
+loc_0041207c:
+xor ecx, ecx
+mov dword [esp + 0x14], ecx
+
+loc_00412082:
+mov eax, dword [esp + 0x1c]
+mov edx, dword [esp + 0x14]
+cmp edx, dword [esp + eax*4]
+jge short loc_0041206c ; jge 0x41206c
+call fcn_00456f2d ; call 0x456f2d
+imul eax, ebp
+sar eax, 0xf
+mov dword [esp + 0x18], eax
+xor ecx, ecx
+xor esi, esi
+jmp short loc_004120aa ; jmp 0x4120aa
+
+loc_004120a4:
+inc esi
+cmp esi, 9
+jge short loc_0041210b ; jge 0x41210b
+
+loc_004120aa:
+xor edx, edx
+jmp short loc_004120b4 ; jmp 0x4120b4
+
+loc_004120ae:
+inc edx
+cmp edx, 9
+jge short loc_004120a4 ; jge 0x4120a4
+
+loc_004120b4:
+mov eax, esi
+shl eax, 3
+lea ebx, [esi + eax]
+shl ebx, 3
+mov eax, edx
+shl eax, 3
+add eax, ebx
+cmp word [eax + ref_00474d7c], 0 ; cmp word [eax + 0x474d7c], 0
+je short loc_004120ae ; je 0x4120ae
+test byte [eax + ref_00474d80], 0xf ; test byte [eax + 0x474d80], 0xf
+jne short loc_004120ae ; jne 0x4120ae
+mov ebx, ecx
+inc ecx
+cmp ebx, dword [esp + 0x18]
+jne short loc_004120ae ; jne 0x4120ae
+mov dx, word [eax + ref_00474d80] ; mov dx, word [eax + 0x474d80]
+xor dh, dh
+and dl, 0xf0
+mov word [eax + ref_00474d80], dx ; mov word [eax + 0x474d80], dx
+mov edx, dword [esp + 0x1c]
+inc edx
+or word [eax + ref_00474d80], dx ; or word [eax + 0x474d80], dx
+mov esi, 9
+mov edx, esi
+dec ebp
+jmp short loc_004120ae ; jmp 0x4120ae
+
+loc_0041210b:
+inc dword [esp + 0x14]
+jmp near loc_00412082 ; jmp 0x412082
+
+loc_00412114:
+add esp, 0x20
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041211c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov edi, dword [esp + 0x18]
+mov ebp, dword [esp + 0x1c]
+xor eax, eax
+mov ebx, ebp
+shl ebx, 3
+lea esi, [ebx + ebp]
+shl esi, 3
+mov ebx, edi
+cmp word [esi + ebx*8 + ref_00474d7c], 0 ; cmp word [esi + ebx*8 + 0x474d7c], 0
+je near loc_0041227f ; je 0x41227f
+mov ebx, dword [ref_0048bd04] ; mov ebx, dword [0x48bd04]
+shr ebx, 0x10
+and ebx, 0xffff
+and ebx, 0xffff
+cmp edi, ebx
+jne short loc_0041217f ; jne 0x41217f
+mov ebx, dword [ref_0048bd08] ; mov ebx, dword [0x48bd08]
+shr ebx, 0x10
+and ebx, 0xffff
+and ebx, 0xffff
+cmp ebp, ebx
+je near loc_0041227f ; je 0x41227f
+
+loc_0041217f:
+xor ebx, ebx
+mov word [ref_0048bd04], bx ; mov word [0x48bd04], bx
+mov word [ref_0048bd08], bx ; mov word [0x48bd08], bx
+shl edi, 0x10
+mov dword [ref_0048bcdc], edi ; mov dword [0x48bcdc], edi
+shl ebp, 0x10
+mov dword [ref_0048bce0], ebp ; mov dword [0x48bce0], ebp
+mov eax, edi
+shr eax, 0x10
+and eax, 0xffff
+xor ebx, ebx
+mov bx, ax
+mov edx, dword [ref_0048bd04] ; mov edx, dword [0x48bd04]
+add edx, 0x8000
+mov dword [ref_0048bd04], edx ; mov dword [0x48bd04], edx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edi, edi
+mov di, ax
+mov ecx, dword [ref_0048bd08] ; mov ecx, dword [0x48bd08]
+add ecx, 0x8000
+mov dword [ref_0048bd08], ecx ; mov dword [0x48bd08], ecx
+sub ebx, edi
+mov edi, ebx
+mov eax, ebp
+shr eax, 0x10
+and eax, 0xffff
+xor ebx, ebx
+mov bx, ax
+mov eax, ecx
+shr eax, 0x10
+and eax, 0xffff
+movzx ebp, ax
+sub ebx, ebp
+mov ebp, ebx
+push edi
+call fcn_00458276 ; call 0x458276
+mov dword [esp + 4], eax
+add esp, 4
+push ebx
+call fcn_00458276 ; call 0x458276
+add esp, 4
+mov esi, ebx
+shl esi, 0x10
+mov ebx, edi
+shl ebx, 0x10
+cmp eax, dword [esp]
+jge short loc_00412248 ; jge 0x412248
+push edi
+call fcn_00458276 ; call 0x458276
+mov ebp, eax
+add esp, 4
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ebp
+mov dword [ref_0048bcfc], eax ; mov dword [0x48bcfc], eax
+push edi
+jmp short loc_00412262 ; jmp 0x412262
+
+loc_00412248:
+push ebp
+call fcn_00458276 ; call 0x458276
+mov edi, eax
+add esp, 4
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv edi
+mov dword [ref_0048bcfc], eax ; mov dword [0x48bcfc], eax
+push ebp
+
+loc_00412262:
+call fcn_00458276 ; call 0x458276
+mov ebx, eax
+add esp, 4
+mov eax, esi
+mov edx, esi
+sar edx, 0x1f
+idiv ebx
+mov dword [ref_0048bd00], eax ; mov dword [0x48bd00], eax
+mov eax, 1
+
+loc_0041227f:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00412287:
+push ebx
+push esi
+push edi
+mov esi, dword [ref_0048bd04] ; mov esi, dword [0x48bd04]
+add esi, dword [ref_0048bcfc] ; add esi, dword [0x48bcfc]
+mov ebx, dword [ref_0048bd08] ; mov ebx, dword [0x48bd08]
+mov ecx, dword [ref_0048bd00] ; mov ecx, dword [0x48bd00]
+add ebx, ecx
+mov eax, ebx
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+mov eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 3
+mov eax, esi
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+cmp word [edx + eax*8 + ref_00474d7c], 0 ; cmp word [edx + eax*8 + 0x474d7c], 0
+jne near loc_004123aa ; jne 0x4123aa
+mov edi, dword [ref_0048bcfc] ; mov edi, dword [0x48bcfc]
+push edi
+call fcn_00458276 ; call 0x458276
+add esp, 4
+cmp eax, 0x10000
+jne short loc_0041234c ; jne 0x41234c
+mov dword [ref_0048bd10], esi ; mov dword [0x48bd10], esi
+sar ebx, 0x10
+mov eax, dword [ref_0048bd0c] ; mov eax, dword [0x48bd0c]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+cmp eax, ebx
+jne near loc_0041239f ; jne 0x41239f
+cmp dword [ref_0048bd00], 0 ; cmp dword [0x48bd00], 0
+jne short loc_00412327 ; jne 0x412327
+mov dword [ref_0048bd00], 1 ; mov dword [0x48bd00], 1
+
+loc_00412327:
+mov edi, dword [ref_0048bd00] ; mov edi, dword [0x48bd00]
+push edi
+call fcn_00458276 ; call 0x458276
+mov ebx, eax
+add esp, 4
+mov eax, edi
+mov edx, edi
+sar edx, 0x1f
+idiv ebx
+shl eax, 0x10
+add dword [ref_0048bd0c], eax ; add dword [0x48bd0c], eax
+jmp short loc_0041239f ; jmp 0x41239f
+
+loc_0041234c:
+mov dword [ref_0048bd0c], ebx ; mov dword [0x48bd0c], ebx
+sar esi, 0x10
+mov eax, dword [ref_0048bd10] ; mov eax, dword [0x48bd10]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+cmp eax, esi
+jne short loc_0041239f ; jne 0x41239f
+test edi, edi
+jne short loc_00412379 ; jne 0x412379
+mov dword [ref_0048bcfc], 1 ; mov dword [0x48bcfc], 1
+
+loc_00412379:
+mov edx, dword [ref_0048bcfc] ; mov edx, dword [0x48bcfc]
+push edx
+call fcn_00458276 ; call 0x458276
+mov ebx, eax
+add esp, 4
+mov eax, dword [ref_0048bcfc] ; mov eax, dword [0x48bcfc]
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+shl eax, 0x10
+add dword [ref_0048bd10], eax ; add dword [0x48bd10], eax
+
+loc_0041239f:
+mov byte [ref_0048bd5b], 1 ; mov byte [0x48bd5b], 1
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_004123aa:
+mov dword [ref_0048bd10], esi ; mov dword [0x48bd10], esi
+mov dword [ref_0048bd0c], ebx ; mov dword [0x48bd0c], ebx
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004123ba:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0xa
+sar edx, 0x1f
+idiv ecx
+cmp edx, 7
+setl al
+and eax, 0xff
+ret
+
+fcn_004123d7:
+push ebx
+sub esp, 4
+xor ebx, ebx
+jmp short loc_004123e5 ; jmp 0x4123e5
+
+loc_004123df:
+inc ebx
+cmp ebx, 0x10
+jge short loc_004123f0 ; jge 0x4123f0
+
+loc_004123e5:
+cmp word [ebx*8 + ref_0048bbc4], 0 ; cmp word [ebx*8 + 0x48bbc4], 0
+jne short loc_004123df ; jne 0x4123df
+
+loc_004123f0:
+cmp ebx, 0x10
+je near loc_004124a4 ; je 0x4124a4
+cmp dword [esp + 0x10], 0
+jne short loc_00412439 ; jne 0x412439
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0x14
+sar edx, 0x1f
+idiv ecx
+cmp edx, 9
+jge short loc_0041241d ; jge 0x41241d
+mov edx, 3
+jmp short loc_00412445 ; jmp 0x412445
+
+loc_0041241d:
+cmp edx, 0xf
+jge short loc_00412429 ; jge 0x412429
+mov edx, 2
+jmp short loc_00412445 ; jmp 0x412445
+
+loc_00412429:
+cmp edx, 0x12
+jge short loc_00412435 ; jge 0x412435
+mov edx, 1
+jmp short loc_00412445 ; jmp 0x412445
+
+loc_00412435:
+xor edx, edx
+jmp short loc_00412445 ; jmp 0x412445
+
+loc_00412439:
+mov edx, 4
+inc word [ref_0048bd54] ; inc word [0x48bd54]
+
+loc_00412445:
+mov eax, dword [esp + 0xc]
+mov word [ebx*8 + ref_0048bbc4], ax ; mov word [ebx*8 + 0x48bbc4], ax
+mov word [ebx*8 + ref_0048bbc6], 0x64 ; mov word [ebx*8 + 0x48bbc6], 0x64
+mov word [ebx*8 + ref_0048bbc8], dx ; mov word [ebx*8 + 0x48bbc8], dx
+mov word [ebx*8 + ref_0048bbca], 0xfff0 ; mov word [ebx*8 + 0x48bbca], 0xfff0
+mov eax, dword [esp + 0xc]
+sub eax, 0x140
+mov dword [esp], eax
+fild dword [esp]
+fst dword [esp]
+fdiv dword [ref_00463774] ; fdiv dword [0x463774]
+fmul dword [ref_00463778] ; fmul dword [0x463778]
+fsub dword [esp]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+mov eax, dword [esp]
+shl eax, 8
+add word [ebx*8 + ref_0048bbc8], ax ; add word [ebx*8 + 0x48bbc8], ax
+
+loc_004124a4:
+add esp, 4
+pop ebx
+ret
+
+endloc_004124a9:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_004124ac: ; may contain a jump table
+dd loc_004125a3
+dd loc_004125e0
+dd loc_00412651
+dd loc_00412851
+dd loc_00412a08
+dd loc_00412aac
+dd loc_00412b45
+
+fcn_004124c8:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x4c
+mov eax, dword [ref_0048bd04] ; mov eax, dword [0x48bd04]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+mov dword [esp + 0x48], eax
+mov eax, dword [ref_0048bd08] ; mov eax, dword [0x48bd08]
+shr eax, 0x10
+and eax, 0xffff
+movzx ebp, ax
+mov eax, dword [ref_0048bd10] ; mov eax, dword [0x48bd10]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048bd0c] ; mov eax, dword [0x48bd0c]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+mov dword [esp + 0x3c], eax
+xor edx, edx
+mov dword [esp + 0x44], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+cmp dword [ref_0048bcf0], 0xffffffff ; cmp dword [0x48bcf0], 0xffffffff
+je short loc_0041258e ; je 0x41258e
+mov eax, dword [ref_0048bd68] ; mov eax, dword [0x48bd68]
+mov edx, dword [ref_0048bd60] ; mov edx, dword [0x48bd60]
+sub eax, edx
+push eax
+mov eax, dword [ref_0048bd64] ; mov eax, dword [0x48bd64]
+mov ecx, dword [ref_0048bd5c] ; mov ecx, dword [0x48bd5c]
+sub eax, ecx
+push eax
+mov eax, edx
+push edx
+mov edx, ecx
+push ecx
+mov ecx, eax
+push ecx
+mov eax, edx
+push eax
+mov eax, dword [ref_0048bd34] ; mov eax, dword [0x48bd34]
+add eax, 0xc
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004562cc ; call 0x4562cc
+add esp, 0x20
+
+loc_0041258e:
+mov eax, dword [ref_0048bccc] ; mov eax, dword [0x48bccc]
+cmp eax, 6
+ja near loc_00412b9c ; ja 0x412b9c
+jmp dword [eax*4 + ref_004124ac] ; ujmp: jmp dword [eax*4 + 0x4124ac]
+
+loc_004125a3:
+mov eax, ebp
+shl eax, 3
+add eax, ebp
+mov edi, dword [esp + 0x48]
+shl edi, 3
+movsx esi, word [edi + eax*8 + ref_00474d7c] ; movsx esi, word [edi + eax*8 + 0x474d7c]
+movsx edi, word [edi + eax*8 + ref_00474d7e] ; movsx edi, word [edi + eax*8 + 0x474d7e]
+mov ebx, dword [ref_0048bd34] ; mov ebx, dword [0x48bd34]
+add ebx, 0x18
+push edi
+push esi
+push ebx
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+jmp near loc_00412b9c ; jmp 0x412b9c
+
+loc_004125e0:
+mov eax, ebp
+shl eax, 3
+add eax, ebp
+mov edi, dword [esp + 0x48]
+shl edi, 3
+movsx esi, word [edi + eax*8 + ref_00474d7c] ; movsx esi, word [edi + eax*8 + 0x474d7c]
+movsx edi, word [edi + eax*8 + ref_00474d7e] ; movsx edi, word [edi + eax*8 + 0x474d7e]
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 0xf
+cmp eax, 3
+jge short loc_00412616 ; jge 0x412616
+mov ebx, dword [ref_0048bd34] ; mov ebx, dword [0x48bd34]
+add ebx, 0x18
+jmp short loc_0041261f ; jmp 0x41261f
+
+loc_00412616:
+mov ebx, dword [ref_0048bd34] ; mov ebx, dword [0x48bd34]
+add ebx, 0x24
+
+loc_0041261f:
+push edi
+push esi
+push ebx
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov ecx, dword [ref_0048bcc4] ; mov ecx, dword [0x48bcc4]
+inc ecx
+mov dword [ref_0048bcc4], ecx ; mov dword [0x48bcc4], ecx
+mov eax, ecx
+and eax, 0xf
+cmp eax, 0xf
+jne near loc_00412b9c ; jne 0x412b9c
+jmp near loc_00412b95 ; jmp 0x412b95
+
+loc_00412651:
+test byte [ref_0048bcc4], 3 ; test byte [0x48bcc4], 3
+jne short loc_004126b7 ; jne 0x4126b7
+mov esi, dword [esp + 0x40]
+sub esi, dword [esp + 0x48]
+mov edi, dword [esp + 0x3c]
+sub edi, ebp
+test esi, esi
+jle short loc_0041267a ; jle 0x41267a
+lea eax, [edi + 1]
+mov edx, 4
+sub edx, eax
+mov eax, edx
+jmp short loc_00412694 ; jmp 0x412694
+
+loc_0041267a:
+jne short loc_0041268e ; jne 0x41268e
+test edi, edi
+jle short loc_00412687 ; jle 0x412687
+mov eax, 1
+jmp short loc_00412694 ; jmp 0x412694
+
+loc_00412687:
+mov eax, 5
+jmp short loc_00412694 ; jmp 0x412694
+
+loc_0041268e:
+lea eax, [edi + 7]
+and eax, 7
+
+loc_00412694:
+mov esi, dword [ref_0048bcc4] ; mov esi, dword [0x48bcc4]
+and esi, 0xf0f
+mov dword [ref_0048bcc4], esi ; mov dword [0x48bcc4], esi
+mov edx, eax
+shl edx, 4
+mov edi, esi
+or edi, edx
+mov dword [ref_0048bcc4], edi ; mov dword [0x48bcc4], edi
+jmp short loc_004126c2 ; jmp 0x4126c2
+
+loc_004126b7:
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+sar eax, 4
+and eax, 0xf
+
+loc_004126c2:
+mov edx, ebp
+shl edx, 3
+add edx, ebp
+shl edx, 3
+mov edi, dword [esp + 0x48]
+shl edi, 3
+add edi, edx
+movsx esi, word [edi + ref_00474d7c] ; movsx esi, word [edi + 0x474d7c]
+mov ecx, dword [esp + 0x3c]
+mov edx, ecx
+shl edx, 3
+add ecx, edx
+shl ecx, 3
+mov edx, dword [esp + 0x40]
+shl edx, 3
+add edx, ecx
+movsx ecx, word [edx + ref_00474d7c] ; movsx ecx, word [edx + 0x474d7c]
+sub ecx, esi
+sar ecx, 2
+mov ebx, dword [ref_0048bcc4] ; mov ebx, dword [0x48bcc4]
+and ebx, 3
+imul ecx, ebx
+add esi, ecx
+movsx edi, word [edi + ref_00474d7e] ; movsx edi, word [edi + 0x474d7e]
+movsx edx, word [edx + ref_00474d7e] ; movsx edx, word [edx + 0x474d7e]
+sub edx, edi
+sar edx, 2
+imul edx, ebx
+add edi, edx
+shl eax, 2
+lea edx, [eax + ebx]
+mov ebx, edx
+shl ebx, 2
+sub ebx, edx
+shl ebx, 2
+mov eax, dword [ref_0048bcf8] ; mov eax, dword [0x48bcf8]
+lea ecx, [eax + 0xc]
+add ebx, ecx
+push edi
+push esi
+push edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov edx, dword [ref_0048bcc4] ; mov edx, dword [0x48bcc4]
+inc edx
+mov dword [ref_0048bcc4], edx ; mov dword [0x48bcc4], edx
+mov ecx, edx
+and ecx, 0xff3
+mov dword [ref_0048bcc4], ecx ; mov dword [0x48bcc4], ecx
+test byte [ref_0048bcc4], 3 ; test byte [0x48bcc4], 3
+jne near loc_00412b9c ; jne 0x412b9c
+mov eax, dword [ref_0048bd10] ; mov eax, dword [0x48bd10]
+mov dword [ref_0048bd04], eax ; mov dword [0x48bd04], eax
+mov eax, dword [ref_0048bd0c] ; mov eax, dword [0x48bd0c]
+mov dword [ref_0048bd08], eax ; mov dword [0x48bd08], eax
+mov eax, dword [ref_0048bd04] ; mov eax, dword [0x48bd04]
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+mov eax, dword [ref_0048bcdc] ; mov eax, dword [0x48bcdc]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+cmp edx, eax
+jne short loc_00412808 ; jne 0x412808
+mov eax, dword [ref_0048bd08] ; mov eax, dword [0x48bd08]
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+mov eax, dword [ref_0048bce0] ; mov eax, dword [0x48bce0]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+cmp edx, eax
+jne short loc_00412808 ; jne 0x412808
+push ref_00475057 ; push 0x475057
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push 0
+push ref_0047505f ; push 0x47505f
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dword [ref_0048bccc], 3 ; mov dword [0x48bccc], 3
+jmp near loc_00412b9c ; jmp 0x412b9c
+
+loc_00412808:
+cmp byte [ref_0048bd5b], 0 ; cmp byte [0x48bd5b], 0
+je short loc_00412847 ; je 0x412847
+mov eax, dword [ref_0048bce0] ; mov eax, dword [0x48bce0]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+push eax
+mov eax, dword [ref_0048bcdc] ; mov eax, dword [0x48bcdc]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+push eax
+call fcn_0041211c ; call 0x41211c
+add esp, 8
+xor dl, dl
+mov byte [ref_0048bd5b], dl ; mov byte [0x48bd5b], dl
+
+loc_00412847:
+call fcn_00412287 ; call 0x412287
+jmp near loc_00412b9c ; jmp 0x412b9c
+
+loc_00412851:
+mov eax, ebp
+shl eax, 3
+add eax, ebp
+mov edi, dword [esp + 0x48]
+shl edi, 3
+movsx esi, word [edi + eax*8 + ref_00474d7c] ; movsx esi, word [edi + eax*8 + 0x474d7c]
+movsx edi, word [edi + eax*8 + ref_00474d7e] ; movsx edi, word [edi + eax*8 + 0x474d7e]
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 3
+cmp eax, 2
+jne short loc_004128a5 ; jne 0x4128a5
+mov eax, dword [ref_0048bd34] ; mov eax, dword [0x48bd34]
+lea ebx, [eax + 0x78]
+push edi
+push esi
+push ebx
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+push edi
+push esi
+push ebx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_004128a5:
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 3
+cmp eax, 3
+jne short loc_00412925 ; jne 0x412925
+mov eax, ebp
+shl eax, 3
+add eax, ebp
+shl eax, 3
+mov edx, dword [esp + 0x48]
+shl edx, 3
+add edx, eax
+test byte [edx + ref_00474d80], 0xf ; test byte [edx + 0x474d80], 0xf
+je short loc_0041291d ; je 0x41291d
+and dword [ref_0048bcc4], 0xff ; and dword [0x48bcc4], 0xff
+or byte [ref_0048bcc5], 1 ; or byte [0x48bcc5], 1
+mov ax, word [edx + ref_00474d80] ; mov ax, word [edx + 0x474d80]
+xor ah, ah
+and al, 0xf
+cwde
+mov dword [ref_0048bd6c], eax ; mov dword [0x48bd6c], eax
+movsx eax, word [edx + ref_00474d7c] ; movsx eax, word [edx + 0x474d7c]
+mov dword [ref_0048bd70], eax ; mov dword [0x48bd70], eax
+movsx eax, word [edx + ref_00474d7e] ; movsx eax, word [edx + 0x474d7e]
+mov dword [ref_0048bd74], eax ; mov dword [0x48bd74], eax
+mov bx, word [edx + ref_00474d80] ; mov bx, word [edx + 0x474d80]
+xor bh, bh
+and bl, 0xf0
+mov word [edx + ref_00474d80], bx ; mov word [edx + 0x474d80], bx
+jmp short loc_00412925 ; jmp 0x412925
+
+loc_0041291d:
+xor ebx, ebx
+mov dword [ref_0048bd6c], ebx ; mov dword [0x48bd6c], ebx
+
+loc_00412925:
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 0xf0
+sar eax, 4
+shl eax, 2
+mov edx, dword [ref_0048bcc4] ; mov edx, dword [0x48bcc4]
+and edx, 3
+add edx, eax
+mov ebx, edx
+shl ebx, 2
+sub ebx, edx
+shl ebx, 2
+mov eax, dword [ref_0048bd28] ; mov eax, dword [0x48bd28]
+lea ecx, [eax + 0xc]
+add ebx, ecx
+push edi
+push esi
+push edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov edx, dword [ref_0048bcc4] ; mov edx, dword [0x48bcc4]
+inc edx
+mov dword [ref_0048bcc4], edx ; mov dword [0x48bcc4], edx
+mov ecx, edx
+and ecx, 0xff3
+mov dword [ref_0048bcc4], ecx ; mov dword [0x48bcc4], ecx
+test byte [ref_0048bcc4], 3 ; test byte [0x48bcc4], 3
+jne near loc_00412b9c ; jne 0x412b9c
+mov eax, dword [ref_0048bd6c] ; mov eax, dword [0x48bd6c]
+test eax, eax
+jbe short loc_0041299e ; jbe 0x41299e
+cmp eax, 1
+je short loc_004129ab ; je 0x4129ab
+jmp short loc_004129c4 ; jmp 0x4129c4
+
+loc_0041299e:
+xor edx, edx
+mov dword [ref_0048bccc], edx ; mov dword [0x48bccc], edx
+jmp near loc_00412b9c ; jmp 0x412b9c
+
+loc_004129ab:
+mov dword [ref_0048bccc], eax ; mov dword [0x48bccc], eax
+push 0
+push ref_0047508f ; push 0x47508f
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_00412b9c ; jmp 0x412b9c
+
+loc_004129c4:
+xor ecx, ecx
+mov dword [ref_0048bccc], ecx ; mov dword [0x48bccc], ecx
+push ecx
+mov eax, dword [ref_0048bd6c] ; mov eax, dword [0x48bd6c]
+mov al, byte [eax + ref_00475051] ; mov al, byte [eax + 0x475051]
+and eax, 0xff
+shl eax, 3
+add eax, ref_00475057 ; add eax, 0x475057
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0048bd6c] ; mov eax, dword [0x48bd6c]
+mov edx, 1
+mov dword [esp + 0x44], edx
+add dword [eax*4 + ref_0048bbac], edx ; add dword [eax*4 + 0x48bbac], edx
+jmp near loc_00412b9c ; jmp 0x412b9c
+
+loc_00412a08:
+mov eax, ebp
+shl eax, 3
+add eax, ebp
+mov edi, dword [esp + 0x48]
+shl edi, 3
+movsx esi, word [edi + eax*8 + ref_00474d7c] ; movsx esi, word [edi + eax*8 + 0x474d7c]
+movsx edi, word [edi + eax*8 + ref_00474d7e] ; movsx edi, word [edi + eax*8 + 0x474d7e]
+mov edx, dword [ref_0048bcc4] ; mov edx, dword [0x48bcc4]
+and edx, 0xf
+mov ebx, edx
+shl ebx, 2
+sub ebx, edx
+shl ebx, 2
+mov eax, dword [ref_0048bcd8] ; mov eax, dword [0x48bcd8]
+lea ecx, [eax + 0xc]
+add ebx, ecx
+push edi
+push esi
+push edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov eax, dword [ref_0048bcd8] ; mov eax, dword [0x48bcd8]
+mov edx, dword [ref_0048bcc4] ; mov edx, dword [0x48bcc4]
+inc edx
+mov dword [ref_0048bcc4], edx ; mov dword [0x48bcc4], edx
+and edx, 0xf
+cmp edx, dword [eax + 4]
+jne short loc_00412a87 ; jne 0x412a87
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 0xf0
+mov dword [ref_0048bcc4], eax ; mov dword [0x48bcc4], eax
+lea edx, [eax + 0x10]
+mov dword [ref_0048bcc4], edx ; mov dword [0x48bcc4], edx
+
+loc_00412a87:
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 0xf0
+cmp eax, 0x40
+jne near loc_00412b9c ; jne 0x412b9c
+push ref_00475067 ; push 0x475067
+
+loc_00412a9f:
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+jmp near loc_00412b95 ; jmp 0x412b95
+
+loc_00412aac:
+mov eax, ebp
+shl eax, 3
+add eax, ebp
+mov edi, dword [esp + 0x48]
+shl edi, 3
+movsx esi, word [edi + eax*8 + ref_00474d7c] ; movsx esi, word [edi + eax*8 + 0x474d7c]
+movsx edi, word [edi + eax*8 + ref_00474d7e] ; movsx edi, word [edi + eax*8 + 0x474d7e]
+mov ecx, dword [ref_0048bcc4] ; mov ecx, dword [0x48bcc4]
+and ecx, 0xf
+mov ebx, ecx
+shl ebx, 2
+sub ebx, ecx
+shl ebx, 2
+mov eax, dword [ref_0048bcd4] ; mov eax, dword [0x48bcd4]
+lea edx, [eax + 0xc]
+add ebx, edx
+push edi
+push esi
+push ecx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov eax, dword [ref_0048bcd4] ; mov eax, dword [0x48bcd4]
+mov edx, dword [ref_0048bcc4] ; mov edx, dword [0x48bcc4]
+inc edx
+mov dword [ref_0048bcc4], edx ; mov dword [0x48bcc4], edx
+and edx, 0xf
+cmp edx, dword [eax + 4]
+jne short loc_00412b2c ; jne 0x412b2c
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 0xf0
+mov dword [ref_0048bcc4], eax ; mov dword [0x48bcc4], eax
+lea edx, [eax + 0x10]
+mov dword [ref_0048bcc4], edx ; mov dword [0x48bcc4], edx
+
+loc_00412b2c:
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 0xf0
+cmp eax, 0x40
+jne short loc_00412b9c ; jne 0x412b9c
+push ref_0047506f ; push 0x47506f
+jmp near loc_00412a9f ; jmp 0x412a9f
+
+loc_00412b45:
+mov eax, ebp
+shl eax, 3
+add eax, ebp
+mov edi, dword [esp + 0x48]
+shl edi, 3
+movsx esi, word [edi + eax*8 + ref_00474d7c] ; movsx esi, word [edi + eax*8 + 0x474d7c]
+movsx edi, word [edi + eax*8 + ref_00474d7e] ; movsx edi, word [edi + eax*8 + 0x474d7e]
+mov ebx, dword [ref_0048bd34] ; mov ebx, dword [0x48bd34]
+add ebx, 0x18
+push edi
+push esi
+push ebx
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov ecx, dword [ref_0048bcc4] ; mov ecx, dword [0x48bcc4]
+inc ecx
+mov dword [ref_0048bcc4], ecx ; mov dword [0x48bcc4], ecx
+mov eax, ecx
+and eax, 0xf
+cmp eax, 0xf
+jne short loc_00412b9c ; jne 0x412b9c
+
+loc_00412b95:
+mov byte [ref_0048bd58], 1 ; mov byte [0x48bd58], 1
+
+loc_00412b9c:
+movsx eax, word [ebx + 4]
+mov edx, esi
+sub edx, eax
+mov dword [esp], edx
+movsx eax, word [ebx + 6]
+mov edx, edi
+sub edx, eax
+mov dword [esp + 4], edx
+movsx eax, word [ebx]
+mov edx, dword [esp]
+add edx, eax
+mov dword [esp + 8], edx
+movsx eax, word [ebx + 2]
+mov edx, dword [esp + 4]
+add edx, eax
+mov dword [esp + 0xc], edx
+test byte [ref_0048bcc5], 0xf ; test byte [0x48bcc5], 0xf
+je near loc_00412cab ; je 0x412cab
+mov eax, dword [ref_0048bd6c] ; mov eax, dword [0x48bd6c]
+mov eax, dword [eax*4 + ref_0048bd10] ; mov eax, dword [eax*4 + 0x48bd10]
+mov dword [esp + 0x38], eax
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 0xf00
+sar eax, 8
+lea ecx, [eax - 1]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 2
+mov ebx, dword [esp + 0x38]
+add ebx, 0xc
+add ebx, eax
+mov edx, dword [ref_0048bd74] ; mov edx, dword [0x48bd74]
+push edx
+mov eax, dword [ref_0048bd70] ; mov eax, dword [0x48bd70]
+push eax
+push ecx
+mov edx, dword [esp + 0x44]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+movsx eax, word [ebx + 4]
+mov edx, dword [ref_0048bd70] ; mov edx, dword [0x48bd70]
+sub edx, eax
+mov dword [esp + 0x20], edx
+movsx eax, word [ebx + 6]
+mov edx, dword [ref_0048bd74] ; mov edx, dword [0x48bd74]
+sub edx, eax
+mov dword [esp + 0x24], edx
+movsx eax, word [ebx]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x28], edx
+movsx eax, word [ebx + 2]
+mov edx, dword [esp + 0x24]
+add edx, eax
+mov dword [esp + 0x2c], edx
+mov ebx, dword [ref_0048bcc4] ; mov ebx, dword [0x48bcc4]
+add ebx, 0x100
+mov dword [ref_0048bcc4], ebx ; mov dword [0x48bcc4], ebx
+mov eax, ebx
+and eax, 0xf00
+cmp eax, 0x700
+jne short loc_00412c96 ; jne 0x412c96
+mov eax, ebx
+and eax, 0xff
+mov dword [ref_0048bcc4], eax ; mov dword [0x48bcc4], eax
+
+loc_00412c96:
+mov eax, esp
+push eax
+lea eax, [esp + 0x24]
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+
+loc_00412cab:
+mov eax, ebp
+shl eax, 3
+add eax, ebp
+mov edx, dword [esp + 0x48]
+shl edx, 3
+test byte [edx + eax*8 + ref_00474d80], 0xf0 ; test byte [edx + eax*8 + 0x474d80], 0xf0
+je short loc_00412d34 ; je 0x412d34
+mov ebx, dword [ref_0048bd34] ; mov ebx, dword [0x48bd34]
+add ebx, 0x30
+push 0xe1
+push 0x140
+push ebx
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+movsx eax, word [ebx + 4]
+mov edx, 0x140
+sub edx, eax
+mov dword [esp + 0x20], edx
+movsx eax, word [ebx + 6]
+mov edx, 0xe1
+sub edx, eax
+mov dword [esp + 0x24], edx
+movsx eax, word [ebx]
+mov edx, dword [esp + 0x20]
+add edx, eax
+mov dword [esp + 0x28], edx
+movsx eax, word [ebx + 2]
+mov edx, dword [esp + 0x24]
+add edx, eax
+mov dword [esp + 0x2c], edx
+mov eax, esp
+push eax
+lea eax, [esp + 0x24]
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+
+loc_00412d34:
+mov ecx, dword [ref_0048bccc] ; mov ecx, dword [0x48bccc]
+cmp ecx, 3
+jne short loc_00412d8f ; jne 0x412d8f
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, ecx
+cmp eax, ecx
+jne short loc_00412d8f ; jne 0x412d8f
+mov ebx, dword [ref_0048bd34] ; mov ebx, dword [0x48bd34]
+movsx eax, word [ebx + 0x7c]
+sub esi, eax
+mov dword [esp + 0x20], esi
+movsx eax, word [ebx + 0x7e]
+sub edi, eax
+mov dword [esp + 0x24], edi
+movsx eax, word [ebx + 0x78]
+lea edx, [esi + eax]
+mov dword [esp + 0x28], edx
+movsx eax, word [ebx + 0x7a]
+lea edx, [edi + eax]
+mov dword [esp + 0x2c], edx
+mov eax, esp
+push eax
+lea eax, [esp + 0x24]
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+
+loc_00412d8f:
+mov ebx, dword [ref_0048bccc] ; mov ebx, dword [0x48bccc]
+cmp ebx, 1
+je short loc_00412d9f ; je 0x412d9f
+cmp ebx, 6
+jne short loc_00412dac ; jne 0x412dac
+
+loc_00412d9f:
+mov eax, dword [ref_0048bcc4] ; mov eax, dword [0x48bcc4]
+and eax, 0xf
+cmp eax, 4
+je short loc_00412dc0 ; je 0x412dc0
+
+loc_00412dac:
+mov edi, dword [ref_0048bccc] ; mov edi, dword [0x48bccc]
+cmp edi, 4
+je short loc_00412dc0 ; je 0x412dc0
+cmp edi, 5
+jne near loc_00412eac ; jne 0x412eac
+
+loc_00412dc0:
+mov eax, dword [ref_0048bcec] ; mov eax, dword [0x48bcec]
+push eax
+push ref_0046377c ; push 0x46377c
+lea eax, [esp + 0x38]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+lea eax, [esp + 0x30]
+push eax
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+mov edi, eax
+mov ebx, eax
+shl ebx, 5
+add ebx, eax
+add ebx, ebx
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+sub eax, edx
+sar eax, 1
+mov esi, 0x161
+sub esi, eax
+lea eax, [esi - 0x21]
+mov dword [esp + 0x20], eax
+mov dword [esp + 0x24], 0x64
+add eax, ebx
+mov dword [esp + 0x28], eax
+mov dword [esp + 0x2c], 0xc8
+mov eax, esp
+push eax
+lea eax, [esp + 0x24]
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+xor ebx, ebx
+
+loc_00412e36:
+cmp ebx, edi
+jge short loc_00412eac ; jge 0x412eac
+push 0x96
+push esi
+xor edx, edx
+mov dl, byte [esp + ebx + 0x38]
+sub edx, 0x26
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048bd34] ; mov eax, dword [0x48bd34]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+push 0x96
+push esi
+xor eax, eax
+mov al, byte [esp + ebx + 0x38]
+lea edx, [eax - 0x26]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+inc ebx
+add esi, 0x42
+jmp short loc_00412e36 ; jmp 0x412e36
+
+loc_00412eac:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+cmp dword [ref_0048bcf0], 0xffffffff ; cmp dword [0x48bcf0], 0xffffffff
+je short loc_00412edc ; je 0x412edc
+lea eax, [esp + 0x10]
+push eax
+push ref_0048bd5c ; push 0x48bd5c
+lea eax, [esp + 8]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+
+loc_00412edc:
+push 0x10
+lea eax, [esp + 4]
+push eax
+push ref_0048bd5c ; push 0x48bd5c
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+cmp dword [esp + 0x10], 0
+jge short loc_00412efd ; jge 0x412efd
+xor ecx, ecx
+mov dword [esp + 0x10], ecx
+
+loc_00412efd:
+cmp dword [esp + 0x18], 0x280
+jle short loc_00412f0f ; jle 0x412f0f
+mov dword [esp + 0x18], 0x280
+
+loc_00412f0f:
+lea eax, [esp + 0x10]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x14]
+push ecx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x20]
+push ebp
+mov ecx, dword [esp + 0x20]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x10]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+cmp dword [esp + 0x44], 0
+je short loc_00412f5d ; je 0x412f5d
+push 1
+call fcn_00413a4a ; call 0x413a4a
+add esp, 4
+
+loc_00412f5d:
+mov eax, dword [ref_0048bccc] ; mov eax, dword [0x48bccc]
+mov dword [ref_0048bcf0], eax ; mov dword [0x48bcf0], eax
+add esp, 0x4c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00412f6f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x44
+lea edi, [esp + 0x20]
+mov esi, ref_00411fdc ; mov esi, 0x411fdc
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+lea edi, [esp + 0x30]
+mov esi, ref_00411fec ; mov esi, 0x411fec
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [esp + 0x38], eax
+push 0x183
+push 0x280
+push 0
+push 0
+push 0
+push 0
+mov eax, dword [ref_0048bd34] ; mov eax, dword [0x48bd34]
+add eax, 0xc
+push eax
+lea eax, [esp + 0x4c]
+push eax
+call fcn_004562cc ; call 0x4562cc
+add esp, 0x20
+xor ebp, ebp
+mov dword [esp + 0x3c], ebp
+jmp near loc_00413189 ; jmp 0x413189
+
+loc_00412fe1:
+cmp edx, 0x1c
+jge short loc_00412ff8 ; jge 0x412ff8
+mov eax, 0x1b
+sub eax, edx
+sar eax, 1
+add eax, 5
+
+loc_00412ff2:
+mov dword [esp + 0x40], eax
+jmp short loc_0041301c ; jmp 0x41301c
+
+loc_00412ff8:
+cmp edx, 0x1e
+jge near loc_00413183 ; jge 0x413183
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0xa
+sar edx, 0x1f
+idiv ecx
+xor eax, eax
+mov al, byte [edx + ref_00475039] ; mov al, byte [edx + 0x475039]
+jmp short loc_00412ff2 ; jmp 0x412ff2
+
+loc_0041301c:
+cmp dword [esp + 0x40], 0xffffffff
+je near loc_00413183 ; je 0x413183
+mov ebx, 0x28
+xor esi, esi
+jmp short loc_00413066 ; jmp 0x413066
+
+loc_00413030:
+inc edx
+cmp edx, 0x10
+jge short loc_00413053 ; jge 0x413053
+
+loc_00413036:
+mov eax, edx
+shl eax, 3
+movsx ecx, word [eax + ref_0048bc44] ; movsx ecx, word [eax + 0x48bc44]
+cmp ecx, ebx
+jne short loc_00413030 ; jne 0x413030
+cmp word [eax + ref_0048bc46], 0x12c ; cmp word [eax + 0x48bc46], 0x12c
+jle short loc_00413030 ; jle 0x413030
+jmp short loc_0041305b ; jmp 0x41305b
+
+loc_00413053:
+test edi, edi
+jne short loc_0041305b ; jne 0x41305b
+mov dword [esp + esi*4], ebx
+inc esi
+
+loc_0041305b:
+add ebx, 0x50
+cmp ebx, 0x280
+jge short loc_0041306c ; jge 0x41306c
+
+loc_00413066:
+xor edx, edx
+xor edi, edi
+jmp short loc_00413036 ; jmp 0x413036
+
+loc_0041306c:
+test esi, esi
+je near loc_00413183 ; je 0x413183
+push 0
+push ref_0047509f ; push 0x47509f
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+mov dx, word [esp + edx*4]
+mov word [ebp*8 + ref_0048bc44], dx ; mov word [ebp*8 + 0x48bc44], dx
+mov word [ebp*8 + ref_0048bc46], 0x1a4 ; mov word [ebp*8 + 0x48bc46], 0x1a4
+mov edx, dword [esp + 0x40]
+mov word [ebp*8 + ref_0048bc48], dx ; mov word [ebp*8 + 0x48bc48], dx
+jmp near loc_00413183 ; jmp 0x413183
+
+loc_004130b6:
+test byte [eax + ref_0048bc48], 0xf0 ; test byte [eax + 0x48bc48], 0xf0
+je short loc_004130de ; je 0x4130de
+sub word [eax + ref_0048bc48], 0x10 ; sub word [eax + 0x48bc48], 0x10
+test byte [eax + ref_0048bc48], 0xf0 ; test byte [eax + 0x48bc48], 0xf0
+jne short loc_0041311b ; jne 0x41311b
+xor edx, edx
+mov word [eax + ref_0048bc44], dx ; mov word [eax + 0x48bc44], dx
+jmp near loc_00413183 ; jmp 0x413183
+
+loc_004130de:
+cmp byte [ref_0048bd59], 0 ; cmp byte [0x48bd59], 0
+jne short loc_0041311b ; jne 0x41311b
+movsx eax, word [eax + ref_0048bc48] ; movsx eax, word [eax + 0x48bc48]
+mov al, byte [eax + ref_00475004] ; mov al, byte [eax + 0x475004]
+and eax, 0xff
+mov edx, dword [ref_0048bcc8] ; mov edx, dword [0x48bcc8]
+cmp edx, 0xffffffff
+jl short loc_00413113 ; jl 0x413113
+jle short loc_0041310d ; jle 0x41310d
+cmp edx, 1
+je short loc_00413111 ; je 0x413111
+jmp short loc_00413113 ; jmp 0x413113
+
+loc_0041310d:
+add eax, eax
+jmp short loc_00413113 ; jmp 0x413113
+
+loc_00413111:
+sar eax, 1
+
+loc_00413113:
+sub word [ebp*8 + ref_0048bc46], ax ; sub word [ebp*8 + 0x48bc46], ax
+
+loc_0041311b:
+mov ebx, ebp
+shl ebx, 3
+movsx eax, word [ebx + ref_0048bc46] ; movsx eax, word [ebx + 0x48bc46]
+push eax
+movsx eax, word [ebx + ref_0048bc44] ; movsx eax, word [ebx + 0x48bc44]
+push eax
+mov ax, word [ebx + ref_0048bc48] ; mov ax, word [ebx + 0x48bc48]
+xor ah, ah
+and al, 0xf
+cwde
+lea edx, [eax + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bd34] ; mov eax, dword [0x48bd34]
+add eax, 0xc
+add eax, edx
+push eax
+lea eax, [esp + 0x3c]
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+test eax, eax
+je short loc_00413170 ; je 0x413170
+xor esi, esi
+mov word [ebx + ref_0048bc44], si ; mov word [ebx + 0x48bc44], si
+
+loc_00413170:
+cmp word [ebp*8 + ref_0048bc44], 0 ; cmp word [ebp*8 + 0x48bc44], 0
+je short loc_00413183 ; je 0x413183
+mov dword [esp + 0x3c], 1
+
+loc_00413183:
+inc ebp
+cmp ebp, 0x10
+jge short loc_004131cb ; jge 0x4131cb
+
+loc_00413189:
+mov eax, ebp
+shl eax, 3
+cmp word [eax + ref_0048bc44], 0 ; cmp word [eax + 0x48bc44], 0
+jne near loc_004130b6 ; jne 0x4130b6
+cmp byte [ref_0048bd58], 0 ; cmp byte [0x48bd58], 0
+jne short loc_00413183 ; jne 0x413183
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0x3e8
+sar edx, 0x1f
+idiv ecx
+cmp edx, 0x14
+jge near loc_00412fe1 ; jge 0x412fe1
+sar edx, 2
+mov dword [esp + 0x40], edx
+jmp near loc_0041301c ; jmp 0x41301c
+
+loc_004131cb:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+lea eax, [esp + 0x20]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x24]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+push 0
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x20]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+cmp dword [esp + 0x3c], 0
+jne short loc_00413229 ; jne 0x413229
+cmp byte [ref_0048bd58], 1 ; cmp byte [0x48bd58], 1
+jne short loc_00413229 ; jne 0x413229
+mov byte [ref_0048bd58], 2 ; mov byte [0x48bd58], 2
+
+loc_00413229:
+add esp, 0x44
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00413231:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_00413234: ; may contain a jump table
+dd loc_00413886
+dd loc_00413a2b
+dd loc_00413934
+dd loc_00413964
+dd loc_00413986
+
+fcn_00413248:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x40
+mov edi, esp
+mov esi, ref_00411ff8 ; mov esi, 0x411ff8
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+lea edi, [esp + 0x10]
+mov esi, ref_00412008 ; mov esi, 0x412008
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [esp + 0x18], eax
+push 0x183
+push 0x280
+push 0
+push 0
+push 0
+push 0
+push ref_00475043 ; push 0x475043
+lea eax, [esp + 0x2c]
+push eax
+call fcn_004562cc ; call 0x4562cc
+add esp, 0x20
+xor esi, esi
+mov dword [esp + 0x30], esi
+jmp near loc_00413546 ; jmp 0x413546
+
+loc_004132b4:
+movsx eax, bx
+sub eax, 0x82
+
+loc_004132bc:
+mov ebx, esi
+shl ebx, 3
+movsx edx, word [ebx + ref_0048bbc8] ; movsx edx, word [ebx + 0x48bbc8]
+sar edx, 8
+mov dword [esp + 0x24], edx
+mov dword [esp + 0x3c], eax
+fild dword [esp + 0x3c]
+fdiv dword [ref_00463780] ; fdiv dword [0x463780]
+fstp dword [esp + 0x28]
+mov dword [esp + 0x3c], edx
+fild dword [esp + 0x3c]
+fmul dword [esp + 0x28]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x24]
+fld dword [esp + 0x28]
+fmul dword [ref_00463784] ; fmul dword [0x463784]
+fadd dword [ref_00463784] ; fadd dword [0x463784]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x34]
+movsx ebp, word [ebx + ref_0048bbc4] ; movsx ebp, word [ebx + 0x48bbc4]
+add ebp, dword [esp + 0x24]
+mov ax, word [ebx + ref_0048bbc8] ; mov ax, word [ebx + 0x48bbc8]
+xor ah, ah
+and al, 0xf
+movsx edi, ax
+mov cx, word [ref_0048bd48] ; mov cx, word [0x48bd48]
+test cx, cx
+je near loc_00413447 ; je 0x413447
+movsx edx, cx
+movsx eax, word [ref_0048bd52] ; movsx eax, word [0x48bd52]
+dec edx
+imul eax, edx
+movsx edx, word [ref_0048bd50] ; movsx edx, word [0x48bd50]
+add eax, 5
+add edx, eax
+mov ecx, dword [ref_0048bd30] ; mov ecx, dword [0x48bd30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ecx
+movsx edx, word [eax + 0x10]
+mov dword [esp + 0x3c], edx
+movsx edx, word [ref_0048bd4e] ; movsx edx, word [0x48bd4e]
+sub edx, dword [esp + 0x3c]
+movsx ecx, word [eax + 0x12]
+mov dword [esp + 0x3c], ecx
+mov ecx, 0x17c
+sub ecx, dword [esp + 0x3c]
+mov dword [esp + 0x38], ecx
+movsx ecx, word [eax + 0xc]
+add ecx, edx
+mov dword [esp + 0x2c], ecx
+movsx eax, word [eax + 0xe]
+mov ecx, dword [esp + 0x38]
+add ecx, eax
+cmp ebp, edx
+jle near loc_00413447 ; jle 0x413447
+cmp ebp, dword [esp + 0x2c]
+jge near loc_00413447 ; jge 0x413447
+movsx eax, word [ebx + ref_0048bbc6] ; movsx eax, word [ebx + 0x48bbc6]
+cmp eax, dword [esp + 0x38]
+jle near loc_00413447 ; jle 0x413447
+cmp eax, ecx
+jge near loc_00413447 ; jge 0x413447
+cmp byte [ref_0048bd5a], 0 ; cmp byte [0x48bd5a], 0
+jne short loc_00413447 ; jne 0x413447
+cmp edi, 4
+jne short loc_00413436 ; jne 0x413436
+push ref_004750cf ; push 0x4750cf
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push 0
+push ref_004750d7 ; push 0x4750d7
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 1
+push 0x127
+movsx eax, word [ref_0048bd4e] ; movsx eax, word [0x48bd4e]
+sub eax, 0x37
+push eax
+mov eax, dword [ref_0048bce8] ; mov eax, dword [0x48bce8]
+push eax
+call fcn_00450ced ; call 0x450ced
+add esp, 0x10
+xor eax, eax
+mov word [ref_0048bd48], ax ; mov word [0x48bd48], ax
+mov word [ref_0048bd56], 4 ; mov word [0x48bd56], 4
+mov dl, 1
+mov byte [ref_0048bd5a], dl ; mov byte [0x48bd5a], dl
+mov byte [ref_0048bd58], dl ; mov byte [0x48bd58], dl
+jmp short loc_0041343d ; jmp 0x41343d
+
+loc_00413436:
+inc dword [edi*4 + ref_0048bbb4] ; inc dword [edi*4 + 0x48bbb4]
+
+loc_0041343d:
+xor ebx, ebx
+mov word [esi*8 + ref_0048bbc4], bx ; mov word [esi*8 + 0x48bbc4], bx
+
+loc_00413447:
+mov ebx, esi
+shl ebx, 3
+cmp word [ebx + ref_0048bbc4], 0 ; cmp word [ebx + 0x48bbc4], 0
+je near loc_0041352d ; je 0x41352d
+mov ax, word [ebx + ref_0048bbc8] ; mov ax, word [ebx + 0x48bbc8]
+xor ah, ah
+and al, 0xf0
+cwde
+sar eax, 4
+mov edx, dword [esp + 0x34]
+push edx
+movsx edx, word [ebx + ref_0048bbc6] ; movsx edx, word [ebx + 0x48bbc6]
+push edx
+push ebp
+push eax
+mov ecx, dword [edi*4 + ref_0048bd14] ; mov ecx, dword [edi*4 + 0x48bd14]
+push ecx
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004568c2 ; call 0x4568c2
+add esp, 0x18
+add word [ebx + ref_0048bbc8], 0x10 ; add word [ebx + 0x48bbc8], 0x10
+and byte [ebx + ref_0048bbc8], 0x7f ; and byte [ebx + 0x48bbc8], 0x7f
+mov dx, word [ebx + ref_0048bbc6] ; mov dx, word [ebx + 0x48bbc6]
+cmp dx, 0x82
+jge short loc_004134e0 ; jge 0x4134e0
+mov ax, word [ebx + ref_0048bbca] ; mov ax, word [ebx + 0x48bbca]
+db 0x05, 0x02, 0x00, 0x00, 0x00 ; add eax, 2
+mov word [ebx + ref_0048bbca], ax ; mov word [ebx + 0x48bbca], ax
+cmp ax, 0x10
+jle short loc_004134ce ; jle 0x4134ce
+mov word [ebx + ref_0048bbca], 0x10 ; mov word [ebx + 0x48bbca], 0x10
+
+loc_004134ce:
+mov dx, word [esi*8 + ref_0048bbca] ; mov dx, word [esi*8 + 0x48bbca]
+add word [esi*8 + ref_0048bbc6], dx ; add word [esi*8 + 0x48bbc6], dx
+jmp short loc_004134f3 ; jmp 0x4134f3
+
+loc_004134e0:
+xor eax, eax
+mov al, byte [edi + ref_00475010] ; mov al, byte [edi + 0x475010]
+mov ecx, edx
+add ecx, eax
+mov word [ebx + ref_0048bbc6], cx ; mov word [ebx + 0x48bbc6], cx
+
+loc_004134f3:
+cmp word [esi*8 + ref_0048bbc6], 0x17c ; cmp word [esi*8 + 0x48bbc6], 0x17c
+jle short loc_0041352d ; jle 0x41352d
+cmp edi, 4
+jne short loc_00413523 ; jne 0x413523
+mov di, word [ref_0048bd54] ; mov di, word [0x48bd54]
+dec di
+mov word [ref_0048bd54], di ; mov word [0x48bd54], di
+jne short loc_00413523 ; jne 0x413523
+push ref_004750cf ; push 0x4750cf
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+
+loc_00413523:
+xor edx, edx
+mov word [esi*8 + ref_0048bbc4], dx ; mov word [esi*8 + 0x48bbc4], dx
+
+loc_0041352d:
+cmp word [esi*8 + ref_0048bbc4], 0 ; cmp word [esi*8 + 0x48bbc4], 0
+je short loc_00413540 ; je 0x413540
+mov dword [esp + 0x30], 1
+
+loc_00413540:
+inc esi
+cmp esi, 0x10
+jge short loc_0041356e ; jge 0x41356e
+
+loc_00413546:
+mov eax, esi
+shl eax, 3
+cmp word [eax + ref_0048bbc4], 0 ; cmp word [eax + 0x48bbc4], 0
+je short loc_00413540 ; je 0x413540
+mov bx, word [eax + ref_0048bbc6] ; mov bx, word [eax + 0x48bbc6]
+cmp bx, 0x82
+jge near loc_004132b4 ; jge 0x4132b4
+xor eax, eax
+jmp near loc_004132bc ; jmp 0x4132bc
+
+loc_0041356e:
+movsx eax, word [ref_0048bd42] ; movsx eax, word [0x48bd42]
+cmp eax, 0xffffffff
+je short loc_0041359b ; je 0x41359b
+push 0x7d
+movsx edx, word [ref_0048bd4a] ; movsx edx, word [0x48bd4a]
+push edx
+push eax
+mov edx, dword [ref_0048bcf4] ; mov edx, dword [0x48bcf4]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+
+loc_0041359b:
+push 0x7e
+movsx eax, word [ref_0048bd4c] ; movsx eax, word [0x48bd4c]
+push eax
+movsx edx, word [ref_0048bd44] ; movsx edx, word [0x48bd44]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+lea edx, [eax + eax]
+movsx eax, word [ref_0048bd46] ; movsx eax, word [0x48bd46]
+mov al, byte [edx + eax + ref_00475015] ; mov al, byte [edx + eax + 0x475015]
+and eax, 0xff
+push eax
+mov ebx, dword [ref_0048bce4] ; mov ebx, dword [0x48bce4]
+push ebx
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+cmp byte [ref_0048bd58], 2 ; cmp byte [0x48bd58], 2
+je near loc_004136c1 ; je 0x4136c1
+cmp byte [ref_0048bd5a], 0 ; cmp byte [0x48bd5a], 0
+jne near loc_004136c1 ; jne 0x4136c1
+lea eax, [esp + 0x1c]
+push eax
+call dword [cs:__imp__GetCursorPos@4] ; ucall: call dword cs:[0x4622ec]
+mov esi, dword [ref_0047504f] ; mov esi, dword [0x47504f]
+sub esi, dword [esp + 0x1c]
+cmp esi, 8
+jle short loc_0041362d ; jle 0x41362d
+mov edx, dword [esp + 0x20]
+push edx
+push 0
+call dword [cs:__imp__SetCursorPos@8] ; ucall: call dword cs:[0x46231c]
+xor ecx, ecx
+mov dword [ref_0047504f], ecx ; mov dword [0x47504f], ecx
+jmp short loc_0041364d ; jmp 0x41364d
+
+loc_0041362d:
+cmp esi, 0xfffffff8
+jge short loc_0041364d ; jge 0x41364d
+mov ebp, dword [esp + 0x20]
+push ebp
+push 0x27f
+call dword [cs:__imp__SetCursorPos@8] ; ucall: call dword cs:[0x46231c]
+mov dword [ref_0047504f], 0x27f ; mov dword [0x47504f], 0x27f
+
+loc_0041364d:
+movsx esi, word [ref_0048bd4e] ; movsx esi, word [0x48bd4e]
+sub esi, dword [esp + 0x1c]
+push esi
+call fcn_00458276 ; call 0x458276
+add esp, 4
+cmp eax, 8
+jle short loc_004136c1 ; jle 0x4136c1
+test esi, esi
+jle short loc_0041367d ; jle 0x41367d
+mov word [ref_0048bd48], 1 ; mov word [0x48bd48], 1
+sub word [ref_0048bd4e], 0xa ; sub word [0x48bd4e], 0xa
+jmp short loc_0041369b ; jmp 0x41369b
+
+loc_0041367d:
+jge short loc_00413692 ; jge 0x413692
+mov word [ref_0048bd48], 2 ; mov word [0x48bd48], 2
+add word [ref_0048bd4e], 0xa ; add word [0x48bd4e], 0xa
+jmp short loc_0041369b ; jmp 0x41369b
+
+loc_00413692:
+xor ecx, ecx
+mov word [ref_0048bd48], cx ; mov word [0x48bd48], cx
+
+loc_0041369b:
+mov bx, word [ref_0048bd50] ; mov bx, word [0x48bd50]
+inc ebx
+mov word [ref_0048bd50], bx ; mov word [0x48bd50], bx
+movsx edx, bx
+movsx eax, word [ref_0048bd52] ; movsx eax, word [0x48bd52]
+cmp edx, eax
+jne short loc_004136c1 ; jne 0x4136c1
+xor ecx, ecx
+mov word [ref_0048bd50], cx ; mov word [0x48bd50], cx
+
+loc_004136c1:
+mov si, word [ref_0048bd48] ; mov si, word [0x48bd48]
+test si, si
+jne short loc_004136d6 ; jne 0x4136d6
+movsx eax, word [ref_0048bd56] ; movsx eax, word [0x48bd56]
+jmp short loc_004136f0 ; jmp 0x4136f0
+
+loc_004136d6:
+movsx eax, si
+movsx edx, word [ref_0048bd52] ; movsx edx, word [0x48bd52]
+dec eax
+imul eax, edx
+movsx edx, word [ref_0048bd50] ; movsx edx, word [0x48bd50]
+add eax, 5
+add eax, edx
+
+loc_004136f0:
+push 0x17c
+movsx edx, word [ref_0048bd4e] ; movsx edx, word [0x48bd4e]
+push edx
+push eax
+mov esi, dword [ref_0048bd30] ; mov esi, dword [0x48bd30]
+push esi
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+push 0
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+push 1
+call fcn_0041417e ; call 0x41417e
+add esp, 4
+movsx eax, word [ref_0048bd42] ; movsx eax, word [0x48bd42]
+cmp eax, 0xffffffff
+jne near loc_004137e8 ; jne 0x4137e8
+cmp word [ref_0048bd44], 2 ; cmp word [0x48bd44], 2
+jge short loc_00413770 ; jge 0x413770
+cmp word [ref_0048bd4c], 0x140 ; cmp word [0x48bd4c], 0x140
+jg short loc_0041378d ; jg 0x41378d
+
+loc_00413770:
+cmp word [ref_0048bd44], 3 ; cmp word [0x48bd44], 3
+jle near loc_00413849 ; jle 0x413849
+cmp word [ref_0048bd4c], 0x140 ; cmp word [0x48bd4c], 0x140
+jge near loc_00413849 ; jge 0x413849
+
+loc_0041378d:
+call fcn_004123ba ; call 0x4123ba
+test eax, eax
+jne near loc_00413849 ; jne 0x413849
+cmp byte [ref_0048bd58], 0 ; cmp byte [0x48bd58], 0
+jne near loc_00413849 ; jne 0x413849
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0x8c
+sar edx, 0x1f
+idiv ecx
+xor ebx, ebx
+mov word [ref_0048bd42], bx ; mov word [0x48bd42], bx
+movsx eax, word [ref_0048bd4c] ; movsx eax, word [0x48bd4c]
+sub eax, 0x140
+test eax, eax
+jle short loc_004137e0 ; jle 0x4137e0
+add edx, 0xa0
+
+loc_004137d7:
+mov word [ref_0048bd4a], dx ; mov word [0x48bd4a], dx
+jmp short loc_00413849 ; jmp 0x413849
+
+loc_004137e0:
+add edx, 0x168
+jmp short loc_004137d7 ; jmp 0x4137d7
+
+loc_004137e8:
+mov di, word [ref_0048bd42] ; mov di, word [0x48bd42]
+inc edi
+mov word [ref_0048bd42], di ; mov word [0x48bd42], di
+cmp di, 8
+jne short loc_00413836 ; jne 0x413836
+cmp byte [ref_0048bd5a], 0 ; cmp byte [0x48bd5a], 0
+jne short loc_00413836 ; jne 0x413836
+push 0
+push ref_004750bf ; push 0x4750bf
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 1
+push ref_004750cf ; push 0x4750cf
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 1
+movsx eax, word [ref_0048bd4a] ; movsx eax, word [0x48bd4a]
+push eax
+call fcn_004123d7 ; call 0x4123d7
+add esp, 8
+
+loc_00413836:
+cmp word [ref_0048bd42], 0xc ; cmp word [0x48bd42], 0xc
+jne short loc_00413849 ; jne 0x413849
+mov word [ref_0048bd42], 0xffff ; mov word [0x48bd42], 0xffff
+
+loc_00413849:
+cmp byte [ref_0048bd58], 1 ; cmp byte [0x48bd58], 1
+jne short loc_0041386a ; jne 0x41386a
+mov edi, 2
+mov word [ref_0048bd44], di ; mov word [0x48bd44], di
+mov word [ref_0048bd46], di ; mov word [0x48bd46], di
+jmp near loc_00413a2b ; jmp 0x413a2b
+
+loc_0041386a:
+mov ax, word [ref_0048bd44] ; mov ax, word [0x48bd44]
+cmp ax, 4
+ja near loc_00413a2b ; ja 0x413a2b
+and eax, 0xffff
+jmp dword [eax*4 + ref_00413234] ; ujmp: jmp dword [eax*4 + 0x413234]
+
+loc_00413886:
+mov bx, word [ref_0048bd46] ; mov bx, word [0x48bd46]
+cmp bx, 5
+jge short loc_004138c7 ; jge 0x4138c7
+movsx eax, bx
+movsx edx, word [ref_0048bd40] ; movsx edx, word [0x48bd40]
+cmp eax, edx
+jne short loc_004138b3 ; jne 0x4138b3
+push 0
+movsx eax, word [ref_0048bd4c] ; movsx eax, word [0x48bd4c]
+push eax
+call fcn_004123d7 ; call 0x4123d7
+add esp, 8
+
+loc_004138b3:
+inc word [ref_0048bd46] ; inc word [0x48bd46]
+add word [ref_0048bd4c], 0xc ; add word [0x48bd4c], 0xc
+jmp near loc_00413a2b ; jmp 0x413a2b
+
+loc_004138c7:
+cmp word [ref_0048bd4c], 0x140 ; cmp word [0x48bd4c], 0x140
+jle short loc_004138e7 ; jle 0x4138e7
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 4
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+je short loc_004138f2 ; je 0x4138f2
+
+loc_004138e7:
+cmp word [ref_0048bd4c], 0x212 ; cmp word [0x48bd4c], 0x212
+jne short loc_004138fd ; jne 0x4138fd
+
+loc_004138f2:
+mov word [ref_0048bd44], 2 ; mov word [0x48bd44], 2
+jmp short loc_00413926 ; jmp 0x413926
+
+loc_004138fd:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 5
+sar edx, 0x1f
+idiv ecx
+mov word [ref_0048bd40], dx ; mov word [0x48bd40], dx
+xor edi, edi
+mov word [ref_0048bd44], di ; mov word [0x48bd44], di
+add word [ref_0048bd4c], 0xc ; add word [0x48bd4c], 0xc
+
+loc_00413926:
+xor ebx, ebx
+
+loc_00413928:
+mov word [ref_0048bd46], bx ; mov word [0x48bd46], bx
+jmp near loc_00413a2b ; jmp 0x413a2b
+
+loc_00413934:
+mov si, word [ref_0048bd46] ; mov si, word [0x48bd46]
+inc esi
+mov word [ref_0048bd46], si ; mov word [0x48bd46], si
+cmp si, 5
+jne near loc_00413a2b ; jne 0x413a2b
+mov word [ref_0048bd44], 4 ; mov word [0x48bd44], 4
+xor edx, edx
+mov word [ref_0048bd46], dx ; mov word [0x48bd46], dx
+jmp near loc_00413a2b ; jmp 0x413a2b
+
+loc_00413964:
+mov ax, word [ref_0048bd46] ; mov ax, word [0x48bd46]
+inc eax
+mov word [ref_0048bd46], ax ; mov word [0x48bd46], ax
+cmp ax, 5
+jne near loc_00413a2b ; jne 0x413a2b
+xor ebx, ebx
+mov word [ref_0048bd44], bx ; mov word [0x48bd44], bx
+jmp short loc_00413928 ; jmp 0x413928
+
+loc_00413986:
+mov cx, word [ref_0048bd46] ; mov cx, word [0x48bd46]
+cmp cx, 5
+jge short loc_004139c4 ; jge 0x4139c4
+movsx edx, cx
+movsx eax, word [ref_0048bd40] ; movsx eax, word [0x48bd40]
+cmp edx, eax
+jne short loc_004139b3 ; jne 0x4139b3
+push 0
+movsx eax, word [ref_0048bd4c] ; movsx eax, word [0x48bd4c]
+push eax
+call fcn_004123d7 ; call 0x4123d7
+add esp, 8
+
+loc_004139b3:
+inc word [ref_0048bd46] ; inc word [0x48bd46]
+sub word [ref_0048bd4c], 0xc ; sub word [0x48bd4c], 0xc
+jmp short loc_00413a2b ; jmp 0x413a2b
+
+loc_004139c4:
+cmp word [ref_0048bd4c], 0x140 ; cmp word [0x48bd4c], 0x140
+jge short loc_004139e4 ; jge 0x4139e4
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 4
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+je short loc_004139ee ; je 0x4139ee
+
+loc_004139e4:
+cmp word [ref_0048bd4c], 0x6e ; cmp word [0x48bd4c], 0x6e
+jne short loc_004139f9 ; jne 0x4139f9
+
+loc_004139ee:
+mov word [ref_0048bd44], 3 ; mov word [0x48bd44], 3
+jmp short loc_00413a22 ; jmp 0x413a22
+
+loc_004139f9:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 5
+sar edx, 0x1f
+idiv ecx
+mov word [ref_0048bd40], dx ; mov word [0x48bd40], dx
+mov word [ref_0048bd44], 4 ; mov word [0x48bd44], 4
+sub word [ref_0048bd4c], 0xc ; sub word [0x48bd4c], 0xc
+
+loc_00413a22:
+xor ecx, ecx
+mov word [ref_0048bd46], cx ; mov word [0x48bd46], cx
+
+loc_00413a2b:
+cmp dword [esp + 0x30], 0
+jne short loc_00413a42 ; jne 0x413a42
+cmp byte [ref_0048bd58], 1 ; cmp byte [0x48bd58], 1
+jne short loc_00413a42 ; jne 0x413a42
+mov byte [ref_0048bd58], 2 ; mov byte [0x48bd58], 2
+
+loc_00413a42:
+add esp, 0x40
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00413a4a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [ref_0048bd2c] ; mov edx, dword [0x48bd2c]
+push edx
+push ref_00463788 ; push 0x463788
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x31
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x45
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x5e
+xor edx, edx
+mov dl, byte [esp + 0x1a]
+sub edx, 0x30
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048bcd0] ; mov edx, dword [0x48bcd0]
+add edx, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x72
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov ebp, dword [ref_0048bbc0] ; mov ebp, dword [0x48bbc0]
+push ebp
+push ref_0046378d ; push 0x46378d
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0xb9
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0xcd
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov ecx, dword [ref_0048bbb8] ; mov ecx, dword [0x48bbb8]
+push ecx
+push ref_0046378d ; push 0x46378d
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x114
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add edx, eax
+push edx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x128
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov edi, dword [ref_0048bbbc] ; mov edi, dword [0x48bbbc]
+push edi
+push ref_0046378d ; push 0x46378d
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x16f
+xor edx, edx
+mov dl, byte [esp + 0x18]
+sub edx, 0x30
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x183
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov edx, dword [ref_0048bbb4] ; mov edx, dword [0x48bbb4]
+push edx
+push ref_0046378d ; push 0x46378d
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x1ca
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x1de
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov edx, dword [ref_0048bbc0] ; mov edx, dword [0x48bbc0]
+mov ecx, edx
+shl ecx, 2
+add ecx, edx
+shl ecx, 2
+mov edx, dword [ref_0048bbb8] ; mov edx, dword [0x48bbb8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ecx
+mov ecx, dword [ref_0048bbbc] ; mov ecx, dword [0x48bbbc]
+shl ecx, 3
+add ecx, eax
+mov edx, dword [ref_0048bbb4] ; mov edx, dword [0x48bbb4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+add ecx, eax
+mov dword [ref_0048bcec], ecx ; mov dword [0x48bcec], ecx
+push ecx
+push ref_00463788 ; push 0x463788
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x225
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048bcd0] ; mov edx, dword [0x48bcd0]
+add edx, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x239
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add edx, eax
+push edx
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x24d
+xor eax, eax
+mov al, byte [esp + 0x1a]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov edx, dword [esp + 0x2c]
+test edx, edx
+je near loc_00413eff ; je 0x413eff
+cmp edx, 1
+jne short loc_00413eaa ; jne 0x413eaa
+mov dword [esp + 4], 0x19f
+mov dword [esp + 0xc], 0x1c7
+mov dword [esp], 0x2c
+mov dword [esp + 8], 0x261
+jmp short loc_00413ec9 ; jmp 0x413ec9
+
+loc_00413eaa:
+mov dword [esp + 4], 0x19f
+mov dword [esp + 0xc], 0x1c7
+mov dword [esp], 0x2c
+mov dword [esp + 8], 0x8c
+
+loc_00413ec9:
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+
+loc_00413ee9:
+push 0x19f
+push 0x2c
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_00413eff:
+add esp, 0x18
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00413f07:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [ref_0048bd2c] ; mov edx, dword [0x48bd2c]
+push edx
+push ref_00463788 ; push 0x463788
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x31
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x45
+xor edx, edx
+mov dl, byte [esp + 0x19]
+sub edx, 0x30
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048bcd0] ; mov edx, dword [0x48bcd0]
+add edx, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x5e
+xor eax, eax
+mov al, byte [esp + 0x1a]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x72
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov ebp, dword [ref_0048bcec] ; mov ebp, dword [0x48bcec]
+push ebp
+push ref_00463792 ; push 0x463792
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x211
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048bcd0] ; mov edx, dword [0x48bcd0]
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x225
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x239
+xor eax, eax
+mov al, byte [esp + 0x1a]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x24d
+xor eax, eax
+mov al, byte [esp + 0x1b]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov esi, dword [esp + 0x2c]
+test esi, esi
+je near loc_00413eff ; je 0x413eff
+cmp esi, 1
+jne short loc_0041413a ; jne 0x41413a
+mov dword [esp + 4], 0x19f
+mov dword [esp + 0xc], 0x1c7
+mov dword [esp], 0x2c
+mov dword [esp + 8], 0x261
+jmp short loc_00414159 ; jmp 0x414159
+
+loc_0041413a:
+mov dword [esp + 4], 0x19f
+mov dword [esp + 0xc], 0x1c7
+mov dword [esp], 0x2c
+mov dword [esp + 8], 0x8c
+
+loc_00414159:
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+jmp near loc_00413ee9 ; jmp 0x413ee9
+
+fcn_0041417e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048bd2c] ; mov eax, dword [0x48bd2c]
+sar eax, 1
+push eax
+push ref_00463788 ; push 0x463788
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x31
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x45
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x5e
+xor eax, eax
+mov al, byte [esp + 0x1a]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x72
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov edi, dword [ref_0048bbb4] ; mov edi, dword [0x48bbb4]
+push edi
+push ref_0046378d ; push 0x46378d
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0xb9
+xor edx, edx
+mov dl, byte [esp + 0x18]
+sub edx, 0x30
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0xcd
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov edx, dword [ref_0048bbb8] ; mov edx, dword [0x48bbb8]
+push edx
+push ref_0046378d ; push 0x46378d
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x114
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add edx, eax
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x128
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov esi, dword [ref_0048bbbc] ; mov esi, dword [0x48bbbc]
+push esi
+push ref_0046378d ; push 0x46378d
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x16f
+xor edx, edx
+mov dl, byte [esp + 0x18]
+sub edx, 0x30
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048bcd0] ; mov edx, dword [0x48bcd0]
+add edx, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x183
+xor edx, edx
+mov dl, byte [esp + 0x19]
+sub edx, 0x30
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048bbc0] ; mov eax, dword [0x48bbc0]
+push eax
+push ref_0046378d ; push 0x46378d
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x1ca
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048bcd0] ; mov edx, dword [0x48bcd0]
+add edx, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x1de
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov edx, dword [ref_0048bbb8] ; mov edx, dword [0x48bbb8]
+mov ecx, edx
+shl ecx, 2
+add ecx, edx
+mov edx, dword [ref_0048bbb4] ; mov edx, dword [0x48bbb4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, eax
+add ecx, eax
+mov edx, dword [ref_0048bbbc] ; mov edx, dword [0x48bbbc]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, ecx
+mov edx, dword [ref_0048bbc0] ; mov edx, dword [0x48bbc0]
+add edx, eax
+mov dword [ref_0048bcec], edx ; mov dword [0x48bcec], edx
+push edx
+push ref_00463788 ; push 0x463788
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x1a5
+push 0x225
+xor eax, eax
+mov al, byte [esp + 0x18]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048bcd0] ; mov edx, dword [0x48bcd0]
+add edx, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x239
+xor eax, eax
+mov al, byte [esp + 0x19]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048bcd0] ; mov edx, dword [0x48bcd0]
+add edx, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x1a5
+push 0x24d
+xor eax, eax
+mov al, byte [esp + 0x1a]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [esp + 0x2c]
+test eax, eax
+je near loc_00413eff ; je 0x413eff
+cmp eax, 1
+jne short loc_004145d7 ; jne 0x4145d7
+mov dword [esp + 4], 0x19f
+mov dword [esp + 0xc], 0x1c7
+mov dword [esp], 0x2c
+mov dword [esp + 8], 0x261
+jmp short loc_004145f6 ; jmp 0x4145f6
+
+loc_004145d7:
+mov dword [esp + 4], 0x19f
+mov dword [esp + 0xc], 0x1c7
+mov dword [esp], 0x2c
+mov dword [esp + 8], 0x8c
+
+loc_004145f6:
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+jmp near loc_00413ee9 ; jmp 0x413ee9
+
+fcn_0041461b:
+push ebx
+push esi
+push edi
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048bd34] ; mov eax, dword [0x48bd34]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+cmp dword [esp + 0x10], 0
+je near loc_004146d0 ; je 0x4146d0
+xor esi, esi
+jmp short loc_00414665 ; jmp 0x414665
+
+loc_0041465f:
+inc esi
+cmp esi, 9
+jge short loc_004146d0 ; jge 0x4146d0
+
+loc_00414665:
+xor ebx, ebx
+jmp short loc_0041466f ; jmp 0x41466f
+
+loc_00414669:
+inc ebx
+cmp ebx, 9
+jge short loc_0041465f ; jge 0x41465f
+
+loc_0041466f:
+mov eax, esi
+shl eax, 3
+lea edx, [esi + eax]
+shl edx, 3
+mov eax, ebx
+shl eax, 3
+add eax, edx
+test byte [eax + ref_00474d80], 0xf ; test byte [eax + 0x474d80], 0xf
+je short loc_00414669 ; je 0x414669
+movsx edx, word [eax + ref_00474d7e] ; movsx edx, word [eax + 0x474d7e]
+push edx
+movsx edx, word [eax + ref_00474d7c] ; movsx edx, word [eax + 0x474d7c]
+push edx
+mov ax, word [eax + ref_00474d80] ; mov ax, word [eax + 0x474d80]
+xor ah, ah
+and al, 0xf
+cwde
+lea edx, [eax + 3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048bd34] ; mov edx, dword [0x48bd34]
+add edx, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+jmp short loc_00414669 ; jmp 0x414669
+
+loc_004146d0:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+call fcn_00413a4a ; call 0x413a4a
+add esp, 4
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004146ee:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048bd34] ; mov eax, dword [0x48bd34]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+call fcn_00413f07 ; call 0x413f07
+add esp, 4
+ret
+
+fcn_0041473b:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+push ref_00475043 ; push 0x475043
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00413248 ; call 0x413248
+push 0
+call fcn_0041417e ; call 0x41417e
+add esp, 4
+ret
+
+fcn_00414789:
+push ebx
+push esi
+push edi
+sub esp, 8
+mov edx, dword [ref_0048bcec] ; mov edx, dword [0x48bcec]
+push edx
+push ref_0046377c ; push 0x46377c
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+mov edi, eax
+shl eax, 5
+lea edx, [edi + eax]
+add edx, edx
+mov eax, edx
+sar edx, 0x1f
+sub eax, edx
+sar eax, 1
+mov esi, 0x161
+sub esi, eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor ebx, ebx
+
+loc_004147e5:
+cmp ebx, edi
+jge short loc_00414824 ; jge 0x414824
+push 0x96
+push esi
+xor edx, edx
+mov dl, byte [esp + ebx + 8]
+sub edx, 0x26
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+inc ebx
+add esi, 0x42
+jmp short loc_004147e5 ; jmp 0x4147e5
+
+loc_00414824:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+push 0
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+add esp, 8
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00414858:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+mov eax, dword [esp + 0x18]
+mov ecx, dword [esp + 0x20]
+cmp eax, 0x201
+jb short loc_0041489e ; jb 0x41489e
+jbe near loc_00414aa9 ; jbe 0x414aa9
+cmp eax, 0x401
+jb short loc_0041488e ; jb 0x41488e
+jbe short loc_004148b9 ; jbe 0x4148b9
+cmp eax, 0x405
+je near loc_00414a51 ; je 0x414a51
+jmp near loc_00414b8e ; jmp 0x414b8e
+
+loc_0041488e:
+cmp eax, 0x203
+je near loc_00414aa9 ; je 0x414aa9
+jmp near loc_00414b8e ; jmp 0x414b8e
+
+loc_0041489e:
+cmp eax, 0xf
+jb near loc_00414b8e ; jb 0x414b8e
+jbe near loc_00414b62 ; jbe 0x414b62
+cmp eax, 0x113
+je short loc_00414900 ; je 0x414900
+jmp near loc_00414b8e ; jmp 0x414b8e
+
+loc_004148b9:
+mov dword [ref_0048bd2c], 0x96 ; mov dword [0x48bd2c], 0x96
+mov dword [ref_0048bd7c], 0xa ; mov dword [0x48bd7c], 0xa
+push 1
+call fcn_0041461b ; call 0x41461b
+add esp, 4
+push 0
+push 0x64
+mov ebp, dword [ref_0046cad8] ; mov ebp, dword [0x46cad8]
+push ebp
+push ebx
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048bd78], eax ; mov dword [0x48bd78], eax
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00414a4a ; jmp 0x414a4a
+
+loc_00414900:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_00414a4a ; je 0x414a4a
+mov eax, dword [esp + 0x1c]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_00414a4a ; jne 0x414a4a
+mov eax, dword [ref_0048bd2c] ; mov eax, dword [0x48bd2c]
+dec eax
+cmp byte [ref_0048bd58], 2 ; cmp byte [0x48bd58], 2
+jne short loc_00414957 ; jne 0x414957
+mov dword [ref_0048bd2c], eax ; mov dword [0x48bd2c], eax
+test eax, eax
+jne near loc_00414a4a ; jne 0x414a4a
+mov esi, dword [ref_0048bd78] ; mov esi, dword [0x48bd78]
+push esi
+push ebx
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+
+loc_0041494f:
+add esp, 4
+jmp near loc_00414a4a ; jmp 0x414a4a
+
+loc_00414957:
+mov edi, dword [ref_0048bd7c] ; mov edi, dword [0x48bd7c]
+test edi, edi
+je short loc_00414986 ; je 0x414986
+lea edx, [edi - 1]
+mov dword [ref_0048bd7c], edx ; mov dword [0x48bd7c], edx
+test edx, edx
+jne near loc_00414a4a ; jne 0x414a4a
+push edx
+push edx
+push 0x405
+push ebx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00414a4a ; jmp 0x414a4a
+
+loc_00414986:
+cmp dword [ref_0048bd2c], 0 ; cmp dword [0x48bd2c], 0
+jle near loc_00414a0a ; jle 0x414a0a
+push 2
+mov dword [ref_0048bd2c], eax ; mov dword [0x48bd2c], eax
+call fcn_00413a4a ; call 0x413a4a
+add esp, 4
+cmp dword [ref_0048bd2c], 0 ; cmp dword [0x48bd2c], 0
+jne short loc_00414a0a ; jne 0x414a0a
+push ref_00475057 ; push 0x475057
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+and dword [ref_0048bcc4], 0xf00 ; and dword [0x48bcc4], 0xf00
+mov ecx, dword [ref_0048bcec] ; mov ecx, dword [0x48bcec]
+cmp ecx, 0x28
+jge short loc_004149e8 ; jge 0x4149e8
+mov dword [ref_0048bccc], 5 ; mov dword [0x48bccc], 5
+push 1
+push ref_0047506f ; push 0x47506f
+
+loc_004149de:
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp short loc_00414a0a ; jmp 0x414a0a
+
+loc_004149e8:
+cmp ecx, 0x37
+jle short loc_00414a00 ; jle 0x414a00
+mov dword [ref_0048bccc], 4 ; mov dword [0x48bccc], 4
+push 1
+push ref_00475067 ; push 0x475067
+jmp short loc_004149de ; jmp 0x4149de
+
+loc_00414a00:
+mov dword [ref_0048bccc], 6 ; mov dword [0x48bccc], 6
+
+loc_00414a0a:
+call fcn_004124c8 ; call 0x4124c8
+cmp byte [ref_0048bd58], 1 ; cmp byte [0x48bd58], 1
+jne near loc_00414a4a ; jne 0x414a4a
+mov byte [ref_0048bd58], 2 ; mov byte [0x48bd58], 2
+mov dword [ref_0048bd2c], 0x14 ; mov dword [0x48bd2c], 0x14
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+call fcn_00414789 ; call 0x414789
+
+loc_00414a4a:
+xor eax, eax
+jmp near loc_00414b9d ; jmp 0x414b9d
+
+loc_00414a51:
+push 0xffffffffffffffff
+push 1
+push 0
+push 0
+mov edx, dword [ref_0048bd3c] ; mov edx, dword [0x48bd3c]
+push edx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push 0
+call fcn_0041461b ; call 0x41461b
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ecx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+push 0
+push 0
+push eax
+call dword [ecx + 0x1c] ; ucall
+push 0
+push 1
+push 0x2a
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_0041494f ; jmp 0x41494f
+
+loc_00414aa9:
+cmp byte [ref_0048bd58], 2 ; cmp byte [0x48bd58], 2
+jne short loc_00414abe ; jne 0x414abe
+mov dword [ref_0048bd2c], 1 ; mov dword [0x48bd2c], 1
+jmp short loc_00414a4a ; jmp 0x414a4a
+
+loc_00414abe:
+cmp dword [ref_0048bccc], 0 ; cmp dword [0x48bccc], 0
+jne short loc_00414a4a ; jne 0x414a4a
+cmp byte [ref_0048bd58], 0 ; cmp byte [0x48bd58], 0
+jne near loc_00414a4a ; jne 0x414a4a
+cmp dword [ref_0048bd7c], 0 ; cmp dword [0x48bd7c], 0
+jne near loc_00414a4a ; jne 0x414a4a
+xor ebx, ebx
+mov bx, cx
+mov eax, ecx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+mov ecx, eax
+shl ecx, 2
+add ecx, eax
+shl ecx, 7
+mov eax, dword [ref_0048bd38] ; mov eax, dword [0x48bd38]
+add ecx, eax
+mov cl, byte [ecx + ebx]
+and ecx, 0xff
+mov ebx, 9
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv ebx
+mov ebx, edx
+mov esi, 9
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv esi
+push eax
+push ebx
+call fcn_0041211c ; call 0x41211c
+add esp, 8
+test eax, eax
+je near loc_00414a4a ; je 0x414a4a
+call fcn_00412287 ; call 0x412287
+mov dword [ref_0048bccc], 2 ; mov dword [0x48bccc], 2
+push 1
+push ref_00475057 ; push 0x475057
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_00414a4a ; jmp 0x414a4a
+
+loc_00414b62:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ecx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+push 0
+push 0
+push eax
+call dword [ecx + 0x1c] ; ucall
+push 0
+push ebx
+call dword [cs:__imp__ValidateRect@8] ; ucall: call dword cs:[0x462340]
+jmp near loc_00414a4a ; jmp 0x414a4a
+
+loc_00414b8e:
+push ecx
+mov ebp, dword [esp + 0x20]
+push ebp
+
+loc_00414b94:
+push eax
+push ebx
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+
+loc_00414b9d:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+ref_00414ba4: ; may contain a jump table
+dd loc_00414e8d
+dd loc_00414e99
+dd loc_00414ea2
+dd loc_00414eae
+dd loc_00414eba
+dd loc_00414ebe
+
+fcn_00414bbc:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+mov eax, dword [esp + 0x18]
+mov edx, dword [esp + 0x20]
+cmp eax, 0x201
+jb short loc_00414c02 ; jb 0x414c02
+jbe near loc_00414d9f ; jbe 0x414d9f
+cmp eax, 0x401
+jb short loc_00414bf2 ; jb 0x414bf2
+jbe short loc_00414c1d ; jbe 0x414c1d
+cmp eax, 0x405
+je near loc_00414d51 ; je 0x414d51
+jmp near loc_00414fc2 ; jmp 0x414fc2
+
+loc_00414bf2:
+cmp eax, 0x203
+je near loc_00414d9f ; je 0x414d9f
+jmp near loc_00414fc2 ; jmp 0x414fc2
+
+loc_00414c02:
+cmp eax, 0xf
+jb near loc_00414fc2 ; jb 0x414fc2
+jbe near loc_00414f6b ; jbe 0x414f6b
+cmp eax, 0x113
+je short loc_00414c69 ; je 0x414c69
+jmp near loc_00414fc2 ; jmp 0x414fc2
+
+loc_00414c1d:
+mov dword [ref_0048bd2c], 0x96 ; mov dword [0x48bd2c], 0x96
+mov dword [ref_0048bd84], 0x63 ; mov dword [0x48bd84], 0x63
+call fcn_004146ee ; call 0x4146ee
+push 0
+push 0x64
+mov ebp, dword [ref_0046cad8] ; mov ebp, dword [0x46cad8]
+push ebp
+push ebx
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048bd80], eax ; mov dword [0x48bd80], eax
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+call fcn_004024a9 ; call 0x4024a9
+
+loc_00414c61:
+add esp, 4
+jmp near loc_00414a4a ; jmp 0x414a4a
+
+loc_00414c69:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_00414a4a ; je 0x414a4a
+mov eax, dword [esp + 0x1c]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_00414a4a ; jne 0x414a4a
+mov ecx, dword [ref_0048bd84] ; mov ecx, dword [0x48bd84]
+test ecx, ecx
+je short loc_00414cb5 ; je 0x414cb5
+lea edx, [ecx - 1]
+mov dword [ref_0048bd84], edx ; mov dword [0x48bd84], edx
+test edx, edx
+jne near loc_00414a4a ; jne 0x414a4a
+push edx
+push edx
+push 0x405
+push ebx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00414a4a ; jmp 0x414a4a
+
+loc_00414cb5:
+mov dh, byte [ref_0048bd59] ; mov dh, byte [0x48bd59]
+test dh, dh
+je short loc_00414cc9 ; je 0x414cc9
+mov cl, dh
+dec cl
+mov byte [ref_0048bd59], cl ; mov byte [0x48bd59], cl
+
+loc_00414cc9:
+mov esi, dword [ref_0048bd2c] ; mov esi, dword [0x48bd2c]
+test esi, esi
+je short loc_00414ce7 ; je 0x414ce7
+lea edi, [esi - 1]
+mov dword [ref_0048bd2c], edi ; mov dword [0x48bd2c], edi
+test edi, edi
+jne short loc_00414ce7 ; jne 0x414ce7
+mov byte [ref_0048bd58], 1 ; mov byte [0x48bd58], 1
+
+loc_00414ce7:
+push 2
+call fcn_00413f07 ; call 0x413f07
+add esp, 4
+call fcn_00412f6f ; call 0x412f6f
+cmp byte [ref_0048bd58], 2 ; cmp byte [0x48bd58], 2
+jne near loc_00414a4a ; jne 0x414a4a
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+mov eax, dword [ref_0048bd80] ; mov eax, dword [0x48bd80]
+push eax
+push ebx
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 1
+call fcn_004024a9 ; call 0x4024a9
+add esp, 4
+call fcn_00414789 ; call 0x414789
+push 0x7d0
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_00414c61 ; jmp 0x414c61
+
+loc_00414d51:
+push 0xffffffffffffffff
+push 1
+push 0
+push 0
+mov edx, dword [ref_0048bd3c] ; mov edx, dword [0x48bd3c]
+push edx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push 0
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+push 5
+push 3
+push 9
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_00414c61 ; jmp 0x414c61
+
+loc_00414d9f:
+cmp byte [ref_0048bd58], 2 ; cmp byte [0x48bd58], 2
+je near loc_00414a4a ; je 0x414a4a
+cmp dword [ref_0048bd84], 0 ; cmp dword [0x48bd84], 0
+jne near loc_00414a4a ; jne 0x414a4a
+xor edi, edi
+mov di, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+movzx ebp, ax
+xor ebx, ebx
+jmp near loc_00414f26 ; jmp 0x414f26
+
+loc_00414dd2:
+movsx edx, word [eax + ref_0048bc44] ; movsx edx, word [eax + 0x48bc44]
+lea ecx, [edx - 0x12]
+add edx, 0x12
+movsx eax, word [eax + ref_0048bc46] ; movsx eax, word [eax + 0x48bc46]
+lea esi, [eax - 0x1a]
+add eax, 0x1a
+
+loc_00414dec:
+cmp edi, ecx
+jl near loc_00414f0d ; jl 0x414f0d
+cmp edi, edx
+jg near loc_00414f0d ; jg 0x414f0d
+cmp ebp, esi
+jl near loc_00414f0d ; jl 0x414f0d
+cmp ebp, eax
+jg near loc_00414f0d ; jg 0x414f0d
+push 0
+push ref_004750af ; push 0x4750af
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dx, word [ebx*8 + ref_0048bc48] ; mov dx, word [ebx*8 + 0x48bc48]
+cmp dx, 0xa
+jb short loc_00414e36 ; jb 0x414e36
+jbe short loc_00414e51 ; jbe 0x414e51
+cmp dx, 0xb
+je short loc_00414e5c ; je 0x414e5c
+jmp near loc_00414ece ; jmp 0x414ece
+
+loc_00414e36:
+cmp dx, 9
+jne near loc_00414ece ; jne 0x414ece
+mov eax, dword [ref_0048bcec] ; mov eax, dword [0x48bcec]
+add eax, eax
+
+loc_00414e47:
+mov dword [ref_0048bcec], eax ; mov dword [0x48bcec], eax
+jmp near loc_00414ef7 ; jmp 0x414ef7
+
+loc_00414e51:
+sar dword [ref_0048bcec], 1 ; sar dword [0x48bcec], 1
+jmp near loc_00414ef7 ; jmp 0x414ef7
+
+loc_00414e5c:
+xor dh, dh
+mov byte [ref_0048bd59], dh ; mov byte [0x48bd59], dh
+xor ecx, ecx
+mov dword [ref_0048bcc8], ecx ; mov dword [0x48bcc8], ecx
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 6
+sar edx, 0x1f
+idiv ecx
+cmp edx, 5
+ja near loc_00414ef7 ; ja 0x414ef7
+jmp dword [edx*4 + ref_00414ba4] ; ujmp: jmp dword [edx*4 + 0x414ba4]
+
+loc_00414e8d:
+mov dword [ref_0048bd2c], 1 ; mov dword [0x48bd2c], 1
+jmp short loc_00414ef7 ; jmp 0x414ef7
+
+loc_00414e99:
+mov byte [ref_0048bd59], 0x14 ; mov byte [0x48bd59], 0x14
+jmp short loc_00414ef7 ; jmp 0x414ef7
+
+loc_00414ea2:
+mov dword [ref_0048bcc8], 0xffffffff ; mov dword [0x48bcc8], 0xffffffff
+jmp short loc_00414ef7 ; jmp 0x414ef7
+
+loc_00414eae:
+mov dword [ref_0048bcc8], 1 ; mov dword [0x48bcc8], 1
+jmp short loc_00414ef7 ; jmp 0x414ef7
+
+loc_00414eba:
+xor eax, eax
+jmp short loc_00414e47 ; jmp 0x414e47
+
+loc_00414ebe:
+mov esi, dword [ref_0048bcec] ; mov esi, dword [0x48bcec]
+add esi, esi
+mov dword [ref_0048bcec], esi ; mov dword [0x48bcec], esi
+jmp short loc_00414ef7 ; jmp 0x414ef7
+
+loc_00414ece:
+movsx eax, word [ebx*8 + ref_0048bc48] ; movsx eax, word [ebx*8 + 0x48bc48]
+inc eax
+mov edx, dword [ref_0048bcec] ; mov edx, dword [0x48bcec]
+add edx, eax
+mov dword [ref_0048bcec], edx ; mov dword [0x48bcec], edx
+cmp edx, 0x3e8
+jl short loc_00414ef7 ; jl 0x414ef7
+mov dword [ref_0048bcec], 0x3e7 ; mov dword [0x48bcec], 0x3e7
+
+loc_00414ef7:
+push 1
+call fcn_00413f07 ; call 0x413f07
+add esp, 4
+mov word [ebx*8 + ref_0048bc48], 0x3c ; mov word [ebx*8 + 0x48bc48], 0x3c
+jmp short loc_00414f1c ; jmp 0x414f1c
+
+loc_00414f0d:
+push 0
+push ref_004750a7 ; push 0x4750a7
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_00414f1c:
+inc ebx
+cmp ebx, 0x10
+jge near loc_00414a4a ; jge 0x414a4a
+
+loc_00414f26:
+mov eax, ebx
+shl eax, 3
+cmp word [eax + ref_0048bc44], 0 ; cmp word [eax + 0x48bc44], 0
+je short loc_00414f1c ; je 0x414f1c
+test byte [eax + ref_0048bc48], 0xf0 ; test byte [eax + 0x48bc48], 0xf0
+jne short loc_00414f1c ; jne 0x414f1c
+cmp word [eax + ref_0048bc48], 6 ; cmp word [eax + 0x48bc48], 6
+jge near loc_00414dd2 ; jge 0x414dd2
+movsx edx, word [eax + ref_0048bc44] ; movsx edx, word [eax + 0x48bc44]
+lea ecx, [edx - 0x16]
+add edx, 0x16
+movsx eax, word [eax + ref_0048bc46] ; movsx eax, word [eax + 0x48bc46]
+lea esi, [eax - 0x1e]
+add eax, 0x1e
+jmp near loc_00414dec ; jmp 0x414dec
+
+loc_00414f6b:
+push 0
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+push 0
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0
+call fcn_00402250 ; call 0x402250
+add esp, 4
+push 0
+push ebx
+call dword [cs:__imp__ValidateRect@8] ; ucall: call dword cs:[0x462340]
+cmp dword [ref_0048bd84], 0x63 ; cmp dword [0x48bd84], 0x63
+jne near loc_00414a4a ; jne 0x414a4a
+mov dword [ref_0048bd84], 5 ; mov dword [0x48bd84], 5
+jmp near loc_00414a4a ; jmp 0x414a4a
+
+loc_00414fc2:
+push edx
+mov edx, dword [esp + 0x20]
+push edx
+jmp near loc_00414b94 ; jmp 0x414b94
+
+fcn_00414fcd:
+push ebx
+push edi
+push ebp
+sub esp, 8
+mov ebx, dword [esp + 0x18]
+mov eax, dword [esp + 0x1c]
+cmp eax, 0x113
+jb short loc_00415001 ; jb 0x415001
+jbe short loc_00415051 ; jbe 0x415051
+cmp eax, 0x401
+jb near loc_004151fd ; jb 0x4151fd
+jbe short loc_0041500f ; jbe 0x41500f
+cmp eax, 0x405
+je near loc_0041518a ; je 0x41518a
+jmp near loc_004151fd ; jmp 0x4151fd
+
+loc_00415001:
+cmp eax, 0xf
+je near loc_004151c1 ; je 0x4151c1
+jmp near loc_004151fd ; jmp 0x4151fd
+
+loc_0041500f:
+mov dword [ref_0048bd2c], 0x168 ; mov dword [0x48bd2c], 0x168
+mov dword [ref_0048bd8c], 0x63 ; mov dword [0x48bd8c], 0x63
+call fcn_0041473b ; call 0x41473b
+push 0
+push 0x32
+mov edi, dword [ref_0046cad8] ; mov edi, dword [0x46cad8]
+push edi
+push ebx
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048bd88], eax ; mov dword [0x48bd88], eax
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0041517f ; jmp 0x41517f
+
+loc_00415051:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_0041517f ; je 0x41517f
+mov eax, dword [esp + 0x20]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_0041517f ; jne 0x41517f
+mov eax, dword [ref_0048bd8c] ; mov eax, dword [0x48bd8c]
+test eax, eax
+je short loc_0041509c ; je 0x41509c
+lea ecx, [eax - 1]
+mov dword [ref_0048bd8c], ecx ; mov dword [0x48bd8c], ecx
+test ecx, ecx
+jne near loc_00415156 ; jne 0x415156
+push ecx
+push ecx
+push 0x405
+push ebx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00415156 ; jmp 0x415156
+
+loc_0041509c:
+mov edx, dword [ref_0048bd2c] ; mov edx, dword [0x48bd2c]
+test edx, edx
+je short loc_004150ba ; je 0x4150ba
+lea ecx, [edx - 1]
+mov dword [ref_0048bd2c], ecx ; mov dword [0x48bd2c], ecx
+test ecx, ecx
+jne short loc_004150ba ; jne 0x4150ba
+mov byte [ref_0048bd58], 1 ; mov byte [0x48bd58], 1
+
+loc_004150ba:
+push 2
+call fcn_0041417e ; call 0x41417e
+add esp, 4
+call fcn_00413248 ; call 0x413248
+cmp byte [ref_0048bd58], 2 ; cmp byte [0x48bd58], 2
+jne near loc_00415156 ; jne 0x415156
+mov edi, dword [ref_0048bd88] ; mov edi, dword [0x48bd88]
+push edi
+push ebx
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+cmp word [ref_0048bd56], 4 ; cmp word [0x48bd56], 4
+je short loc_00415135 ; je 0x415135
+xor ebx, ebx
+mov word [ref_0048bd48], bx ; mov word [0x48bd48], bx
+mov ebp, dword [ref_0048bcec] ; mov ebp, dword [0x48bcec]
+cmp ebp, 0x28
+jge short loc_0041510e ; jge 0x41510e
+mov word [ref_0048bd56], 1 ; mov word [0x48bd56], 1
+jmp short loc_00415135 ; jmp 0x415135
+
+loc_0041510e:
+cmp ebp, 0x32
+jge short loc_0041511e ; jge 0x41511e
+mov word [ref_0048bd56], 2 ; mov word [0x48bd56], 2
+jmp short loc_00415135 ; jmp 0x415135
+
+loc_0041511e:
+cmp ebp, 0x3c
+jge short loc_0041512c ; jge 0x41512c
+mov word [ref_0048bd56], bx ; mov word [0x48bd56], bx
+jmp short loc_00415135 ; jmp 0x415135
+
+loc_0041512c:
+mov word [ref_0048bd56], 3 ; mov word [0x48bd56], 3
+
+loc_00415135:
+call fcn_0041473b ; call 0x41473b
+call fcn_00414789 ; call 0x414789
+push 0x7d0
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+
+loc_00415156:
+cmp byte [ref_0048bd5a], 0 ; cmp byte [0x48bd5a], 0
+je near loc_0041517f ; je 0x41517f
+call fcn_00450f04 ; call 0x450f04
+test eax, eax
+jne near loc_0041517f ; jne 0x41517f
+xor bh, bh
+mov byte [ref_0048bd5a], bh ; mov byte [0x48bd5a], bh
+mov byte [ref_0048bd58], 2 ; mov byte [0x48bd58], 2
+
+loc_0041517f:
+xor eax, eax
+
+loc_00415181:
+add esp, 8
+pop ebp
+pop edi
+pop ebx
+ret 0x10
+
+loc_0041518a:
+push 0xffffffffffffffff
+push 1
+push 0
+push 0
+mov edx, dword [ref_0048bd3c] ; mov edx, dword [0x48bd3c]
+push edx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov eax, esp
+push eax
+call dword [cs:__imp__GetCursorPos@4] ; ucall: call dword cs:[0x4622ec]
+mov eax, dword [esp]
+mov dword [ref_0047504f], eax ; mov dword [0x47504f], eax
+jmp short loc_0041517f ; jmp 0x41517f
+
+loc_004151c1:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push 0
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0
+push ebx
+call dword [cs:__imp__ValidateRect@8] ; ucall: call dword cs:[0x462340]
+cmp dword [ref_0048bd8c], 0x63 ; cmp dword [0x48bd8c], 0x63
+jne short loc_0041517f ; jne 0x41517f
+mov dword [ref_0048bd8c], 0xa ; mov dword [0x48bd8c], 0xa
+jmp short loc_0041517f ; jmp 0x41517f
+
+loc_004151fd:
+mov edi, dword [esp + 0x24]
+push edi
+mov ebp, dword [esp + 0x24]
+push ebp
+push eax
+push ebx
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00415181 ; jmp 0x415181
+
+fcn_00415215:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_00415457 ; jne 0x415457
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je near loc_00415457 ; je 0x415457
+push ref_00475057 ; push 0x475057
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0
+push 0
+push 0x4e
+mov ebp, dword [ref_0048a05c] ; mov ebp, dword [0x48a05c]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bd3c], eax ; mov dword [0x48bd3c], eax
+push 0
+push 0
+push 0x4f
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bcd0], eax ; mov dword [0x48bcd0], eax
+push 0
+push 0
+push 0x50
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bd34], eax ; mov dword [0x48bd34], eax
+push 0
+push 0
+push 0x51
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bd38], eax ; mov dword [0x48bd38], eax
+push 0
+push 0
+push 0x52
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bcf8], eax ; mov dword [0x48bcf8], eax
+push 0
+push 0
+push 0x53
+mov esi, dword [ref_0048a05c] ; mov esi, dword [0x48a05c]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bd28], eax ; mov dword [0x48bd28], eax
+push 0
+push 0
+push 0x54
+mov edi, dword [ref_0048a05c] ; mov edi, dword [0x48a05c]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bcd8], eax ; mov dword [0x48bcd8], eax
+push 0
+push 0
+push 0x55
+mov ebp, dword [ref_0048a05c] ; mov ebp, dword [0x48a05c]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bcd4], eax ; mov dword [0x48bcd4], eax
+xor ebx, ebx
+
+loc_0041531e:
+push 0
+push 0
+lea eax, [ebx + 0x56]
+push eax
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx*4 + ref_0048bd14], eax ; mov dword [ebx*4 + 0x48bd14], eax
+inc ebx
+cmp ebx, 5
+jl short loc_0041531e ; jl 0x41531e
+mov dword [ref_0048bd04], 0x20000 ; mov dword [0x48bd04], 0x20000
+mov dword [ref_0048bd08], 0x60000 ; mov dword [0x48bd08], 0x60000
+xor ebx, ebx
+mov dword [ref_0048bcec], ebx ; mov dword [0x48bcec], ebx
+mov dword [ref_0048bcf0], 0xffffffff ; mov dword [0x48bcf0], 0xffffffff
+xor edi, edi
+mov dword [ref_0048bccc], ebx ; mov dword [0x48bccc], ebx
+mov dword [ref_0048bcc4], ebx ; mov dword [0x48bcc4], ebx
+push 0x10
+push ebx
+push ref_0048bbb4 ; push 0x48bbb4
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor bl, bl
+mov byte [ref_0048bd58], bl ; mov byte [0x48bd58], bl
+xor bh, bh
+mov byte [ref_0048bd5b], bh ; mov byte [0x48bd5b], bh
+call fcn_00412014 ; call 0x412014
+push 0xc
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push edi
+push fcn_00414858 ; push 0x414858
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+push ref_00475057 ; push 0x475057
+call fcn_00454240 ; call 0x454240
+add esp, 4
+mov eax, dword [ref_0048bcd0] ; mov eax, dword [0x48bcd0]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edx, dword [ref_0048bd3c] ; mov edx, dword [0x48bd3c]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ecx, dword [ref_0048bd34] ; mov ecx, dword [0x48bd34]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0048bd38] ; mov ebx, dword [0x48bd38]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048bcf8] ; mov esi, dword [0x48bcf8]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0048bd28] ; mov edi, dword [0x48bd28]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048bcd8] ; mov ebp, dword [0x48bcd8]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048bcd4] ; mov eax, dword [0x48bcd4]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+
+loc_0041543c:
+mov edx, dword [ebx*4 + ref_0048bd14] ; mov edx, dword [ebx*4 + 0x48bd14]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+inc ebx
+cmp ebx, 5
+jl short loc_0041543c ; jl 0x41543c
+jmp near loc_004155ec ; jmp 0x4155ec
+
+loc_00415457:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 0x14
+sar edx, 0x1f
+idiv ebx
+add edx, 0x32
+mov dword [ref_0048bcec], edx ; mov dword [0x48bcec], edx
+push edx
+push ref_00463797 ; push 0x463797
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x7d0
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov esi, dword [ebx + eax*4 + ref_0048084a] ; mov esi, dword [ebx + eax*4 + 0x48084a]
+push esi
+push 0
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+jmp near loc_004155ec ; jmp 0x4155ec
+
+fcn_004154dc:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_00415457 ; jne 0x415457
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je near loc_00415457 ; je 0x415457
+push ref_0047509f ; push 0x47509f
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0
+push 0
+push 0x4e
+mov ebp, dword [ref_0048a05c] ; mov ebp, dword [0x48a05c]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bd3c], eax ; mov dword [0x48bd3c], eax
+push 0
+push 0
+push 0x4f
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bcd0], eax ; mov dword [0x48bcd0], eax
+push 0
+push 0
+push 0x5b
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bd34], eax ; mov dword [0x48bd34], eax
+push 0x80
+push 0
+push ref_0048bc44 ; push 0x48bc44
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ecx, ecx
+mov dword [ref_0048bcec], ecx ; mov dword [0x48bcec], ecx
+xor bl, bl
+mov byte [ref_0048bd58], bl ; mov byte [0x48bd58], bl
+xor bh, bh
+mov byte [ref_0048bd59], bh ; mov byte [0x48bd59], bh
+xor ebx, ebx
+mov dword [ref_0048bcc8], ecx ; mov dword [0x48bcc8], ecx
+push 0xb
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push ebx
+push fcn_00414bbc ; push 0x414bbc
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+push ref_0047509f ; push 0x47509f
+call fcn_00454240 ; call 0x454240
+add esp, 4
+mov esi, dword [ref_0048bcd0] ; mov esi, dword [0x48bcd0]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0048bd3c] ; mov edi, dword [0x48bd3c]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048bd34] ; mov ebp, dword [0x48bd34]
+push ebp
+
+loc_004155e4:
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_004155ec:
+mov eax, dword [ref_0048bcec] ; mov eax, dword [0x48bcec]
+add esp, 0x80
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004155fc:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_00415457 ; jne 0x415457
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je near loc_00415457 ; je 0x415457
+push ref_004750bf ; push 0x4750bf
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0
+push 0
+push 0x4e
+mov ebp, dword [ref_0048a05c] ; mov ebp, dword [0x48a05c]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bd3c], eax ; mov dword [0x48bd3c], eax
+push 0
+push 0
+push 0x4f
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bcd0], eax ; mov dword [0x48bcd0], eax
+push 0
+push 0
+push 0x5c
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bd38], eax ; mov dword [0x48bd38], eax
+push 0
+push 0
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+add eax, 0x64
+push eax
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bd30], eax ; mov dword [0x48bd30], eax
+push 0
+push 0
+push 0x5d
+mov esi, dword [ref_0048a05c] ; mov esi, dword [0x48a05c]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bce4], eax ; mov dword [0x48bce4], eax
+push 0
+push 0
+push 0x5e
+mov edi, dword [ref_0048a05c] ; mov edi, dword [0x48a05c]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bcf4], eax ; mov dword [0x48bcf4], eax
+xor ebx, ebx
+
+loc_004156e5:
+push 0
+push 0
+lea eax, [ebx + 0x5f]
+push eax
+mov ebp, dword [ref_0048a05c] ; mov ebp, dword [0x48a05c]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx*4 + ref_0048bd14], eax ; mov dword [ebx*4 + 0x48bd14], eax
+inc ebx
+cmp ebx, 5
+jl short loc_004156e5 ; jl 0x4156e5
+push 0
+push 0
+push 0x20e
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bce8], eax ; mov dword [0x48bce8], eax
+mov eax, dword [ref_0048bd38] ; mov eax, dword [0x48bd38]
+mov dword [ref_0047504b], eax ; mov dword [0x47504b], eax
+push 0x10
+push 0
+push ref_0048bbb4 ; push 0x48bbb4
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor bl, bl
+mov byte [ref_0048bd5a], bl ; mov byte [0x48bd5a], bl
+xor edx, edx
+mov dword [ref_0048bcec], edx ; mov dword [0x48bcec], edx
+xor bh, bh
+mov byte [ref_0048bd58], bh ; mov byte [0x48bd58], bh
+mov word [ref_0048bd4c], 0x6e ; mov word [0x48bd4c], 0x6e
+mov word [ref_0048bd44], 3 ; mov word [0x48bd44], 3
+mov word [ref_0048bd46], 4 ; mov word [0x48bd46], 4
+mov word [ref_0048bd42], 0xffff ; mov word [0x48bd42], 0xffff
+xor edi, edi
+mov word [ref_0048bd54], di ; mov word [0x48bd54], di
+mov word [ref_0048bd4e], 0x140 ; mov word [0x48bd4e], 0x140
+mov word [ref_0048bd48], di ; mov word [0x48bd48], di
+mov word [ref_0048bd50], di ; mov word [0x48bd50], di
+mov word [ref_0048bd56], di ; mov word [0x48bd56], di
+mov eax, dword [ref_0048bd30] ; mov eax, dword [0x48bd30]
+mov eax, dword [eax + 4]
+sub eax, 5
+sar eax, 1
+mov word [ref_0048bd52], ax ; mov word [0x48bd52], ax
+push 0x80
+push 0
+push ref_0048bbc4 ; push 0x48bbc4
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0xa
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_00414fcd ; push 0x414fcd
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+push ref_004750bf ; push 0x4750bf
+call fcn_00454240 ; call 0x454240
+add esp, 4
+mov ecx, dword [ref_0048bd3c] ; mov ecx, dword [0x48bd3c]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0048bcd0] ; mov ebx, dword [0x48bcd0]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048bd38] ; mov esi, dword [0x48bd38]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0048bd30] ; mov edi, dword [0x48bd30]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048bce4] ; mov ebp, dword [0x48bce4]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048bcf4] ; mov eax, dword [0x48bcf4]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+
+loc_00415850:
+mov edx, dword [ebx*4 + ref_0048bd14] ; mov edx, dword [ebx*4 + 0x48bd14]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+inc ebx
+cmp ebx, 5
+jl short loc_00415850 ; jl 0x415850
+mov ecx, dword [ref_0048bce8] ; mov ecx, dword [0x48bce8]
+push ecx
+jmp near loc_004155e4 ; jmp 0x4155e4
+
+fcn_00415872:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+push ref_004637cf ; push 0x4637cf
+call fcn_004502fe ; call 0x4502fe
+mov ebx, eax
+add esp, 4
+mov edi, eax
+push 0
+push 0
+push 0x2d
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bdb0], eax ; mov dword [0x48bdb0], eax
+push 0
+push 0
+push 0x2e
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048bdb4], eax ; mov dword [0x48bdb4], eax
+push 0x20
+push 0
+push ref_0048bd90 ; push 0x48bd90
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor esi, esi
+jmp short loc_004158cd ; jmp 0x4158cd
+
+loc_004158c7:
+inc esi
+cmp esi, 2
+jge short loc_00415910 ; jge 0x415910
+
+loc_004158cd:
+xor ebx, ebx
+
+loc_004158cf:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_004158c7 ; jge 0x4158c7
+push 0
+push 0
+imul eax, ebx, 0x68
+xor ecx, ecx
+mov cl, byte [eax + ref_00496b7b] ; mov cl, byte [eax + 0x496b7b]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 2
+add eax, 0x2f
+add eax, ecx
+push eax
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov ecx, esi
+shl ecx, 4
+mov edx, ebx
+mov dword [ecx + edx*4 + ref_0048bd90], eax ; mov dword [ecx + edx*4 + 0x48bd90], eax
+inc ebx
+jmp short loc_004158cf ; jmp 0x4158cf
+
+loc_00415910:
+push edi
+call fcn_00450404 ; call 0x450404
+add esp, 4
+call fcn_00454acb ; call 0x454acb
+cmp word [ref_004991b6], 0 ; cmp word [0x4991b6], 0
+je short loc_00415936 ; je 0x415936
+push 1
+push ref_0046cadc ; push 0x46cadc
+push ref_004637d8 ; push 0x4637d8
+jmp short loc_0041594c ; jmp 0x41594c
+
+loc_00415936:
+push 1
+push ref_0046cadc ; push 0x46cadc
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+mov ecx, dword [eax*4 + ref_004750e8] ; mov ecx, dword [eax*4 + 0x4750e8]
+push ecx
+
+loc_0041594c:
+call fcn_00451677 ; call 0x451677
+add esp, 0xc
+mov esi, eax
+push ref_004750f8 ; push 0x4750f8
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 1
+call fcn_00454d91 ; call 0x454d91
+add esp, 4
+test esi, esi
+jne near loc_00415cad ; jne 0x415cad
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push esi
+push 1
+push ref_0048a068 ; push 0x48a068
+push esi
+push eax
+call dword [edx + 0x64] ; ucall
+push esi
+push esi
+mov eax, dword [ref_0048bdb0] ; mov eax, dword [0x48bdb0]
+add eax, 0xc
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push esi
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 4], esi
+mov dword [esp + 0xc], 0x1e0
+mov dword [esp], esi
+mov dword [esp + 8], 0x280
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push esi
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+push esi
+push ref_004750f8 ; push 0x4750f8
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0xffffffffffffffff
+push 3
+push 0x3c
+push 0xb4
+mov ebx, dword [ref_0048bdb4] ; mov ebx, dword [0x48bdb4]
+push ebx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+test eax, eax
+jne near loc_00415cad ; jne 0x415cad
+movzx edi, byte [ref_00496b7b] ; movzx edi, byte [0x496b7b]
+
+loc_00415a1b:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jg near loc_00415bd3 ; jg 0x415bd3
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0xf0
+push 0xdc
+push 0x3c
+push 0xb4
+push 0x3c
+push 0xb4
+mov eax, dword [ref_0048bdb0] ; mov eax, dword [0x48bdb0]
+add eax, 0xc
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004562cc ; call 0x4562cc
+add esp, 0x20
+cmp edi, 0xffffffff
+je short loc_00415aee ; je 0x415aee
+push 0xffffffffffffffec
+lea edx, [edi + 3]
+mov ebx, edx
+shl ebx, 2
+sub ebx, edx
+shl ebx, 2
+mov eax, dword [ref_0048bdb0] ; mov eax, dword [0x48bdb0]
+movsx edx, word [ebx + eax + 0xe]
+movsx ecx, word [ebx + eax + 0xc]
+imul edx, ecx
+add edx, edx
+push edx
+mov edi, dword [ebx + eax + 0x14]
+push edi
+push edi
+call fcn_004552b7 ; call 0x4552b7
+add esp, 0x10
+push 0xdc
+push 0x10e
+mov eax, dword [ref_0048bdb0] ; mov eax, dword [0x48bdb0]
+add eax, 0xc
+add ebx, eax
+push ebx
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x3c
+push 0x96
+mov eax, dword [ref_0048bdb0] ; mov eax, dword [0x48bdb0]
+add eax, 0x24
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_00415aee:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 4], 0x3c
+mov dword [esp + 0xc], 0x12c
+mov edi, 0xb4
+mov dword [esp], edi
+mov dword [esp + 8], 0x190
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push 0x3c
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+test esi, esi
+je short loc_00415b70 ; je 0x415b70
+push 0
+push ref_00475100 ; push 0x475100
+call fcn_00450cda ; call 0x450cda
+add esp, 8
+push 0xffffffffffffffff
+push 0x14000003
+push 0
+push 0
+mov ebx, dword [esi*4 + ref_0048bd8c] ; mov ebx, dword [esi*4 + 0x48bd8c]
+push ebx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+test eax, eax
+jne near loc_00415cad ; jne 0x415cad
+
+loc_00415b70:
+mov edi, 0x190
+mov dword [esp + 4], edi
+mov dword [esp + 0xc], 0x1e0
+mov dword [esp], 0x140
+mov dword [esp + 8], 0x280
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push edi
+push 0x140
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, dword [ref_00499114] ; mov eax, dword [0x499114]
+dec eax
+cmp esi, eax
+jge short loc_00415bc8 ; jge 0x415bc8
+lea edi, [esi + 1]
+imul edi, edi, 0x68
+movzx edi, byte [edi + ref_00496b7b] ; movzx edi, byte [edi + 0x496b7b]
+jmp short loc_00415bcd ; jmp 0x415bcd
+
+loc_00415bc8:
+mov edi, 0xffffffff
+
+loc_00415bcd:
+inc esi
+jmp near loc_00415a1b ; jmp 0x415a1b
+
+loc_00415bd3:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048bdb0] ; mov eax, dword [0x48bdb0]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor edx, edx
+mov dword [esp + 4], edx
+mov dword [esp + 0xc], 0x1e0
+xor ebx, ebx
+mov dword [esp], edx
+mov esi, 0x280
+mov dword [esp + 8], esi
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+push ebx
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+mov dword [esp + 4], 0x1b8
+mov dword [esp + 0xc], 0x1e0
+xor edx, edx
+mov dword [esp], edx
+mov dword [esp + 8], esi
+xor esi, esi
+
+loc_00415c66:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge short loc_00415cad ; jge 0x415cad
+push 0xffffffffffffffff
+push 3
+push 0
+push 0
+mov edi, dword [esi*4 + ref_0048bda0] ; mov edi, dword [esi*4 + 0x48bda0]
+push edi
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+test eax, eax
+jne short loc_00415cad ; jne 0x415cad
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+push 0x1b8
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+inc esi
+jmp short loc_00415c66 ; jmp 0x415c66
+
+loc_00415cad:
+push ref_004750f8 ; push 0x4750f8
+call fcn_00454240 ; call 0x454240
+add esp, 4
+mov eax, dword [ref_0048bdb0] ; mov eax, dword [0x48bdb0]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edx, dword [ref_0048bdb4] ; mov edx, dword [0x48bdb4]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor esi, esi
+jmp short loc_00415ce1 ; jmp 0x415ce1
+
+loc_00415cdb:
+inc esi
+cmp esi, 2
+jge short loc_00415d05 ; jge 0x415d05
+
+loc_00415ce1:
+xor ebx, ebx
+
+loc_00415ce3:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00415cdb ; jge 0x415cdb
+mov eax, esi
+shl eax, 4
+mov edx, ebx
+mov edi, dword [eax + edx*4 + ref_0048bd90] ; mov edi, dword [eax + edx*4 + 0x48bd90]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+inc ebx
+jmp short loc_00415ce3 ; jmp 0x415ce3
+
+loc_00415d05:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+ref_00415d0d:
+db 0x0f
+db 0x00
+db 0x00
+dd 0x00005800
+dd 0x00009e00
+dd 0x0000e600
+db 0x00
+
+ref_00415d1d:
+db 0x24
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+
+fcn_00415d31:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+test byte [ref_00475110], 1 ; test byte [0x475110], 1
+jne near loc_00415f47 ; jne 0x415f47
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_00475118] ; mov eax, dword [0x475118]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor ebx, ebx
+jmp short loc_00415d81 ; jmp 0x415d81
+
+loc_00415d7b:
+inc ebx
+cmp ebx, 0xb
+jge short loc_00415deb ; jge 0x415deb
+
+loc_00415d81:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 3
+add eax, 0x14
+mov ecx, dword [ref_0048bde4] ; mov ecx, dword [0x48bde4]
+cmp ebx, ecx
+jne short loc_00415dc5 ; jne 0x415dc5
+push 0x14
+push eax
+lea edx, [ecx + 0xc]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_00475118] ; mov edx, dword [0x475118]
+add edx, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+
+loc_00415dbb:
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+jmp short loc_00415d7b ; jmp 0x415d7b
+
+loc_00415dc5:
+push 0x14
+push eax
+lea edx, [ebx + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_00475118] ; mov eax, dword [0x475118]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+jmp short loc_00415dbb ; jmp 0x415dbb
+
+loc_00415deb:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+cmp dword [esp + 0x24], 0
+je short loc_00415e64 ; je 0x415e64
+xor eax, eax
+mov dword [esp + 4], eax
+mov dword [esp + 0xc], 0x28
+mov dword [esp], eax
+mov dword [esp + 8], 0x1b8
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 4]
+push ebx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x10]
+push edi
+mov ebp, dword [esp + 0x10]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+jmp near loc_00415f47 ; jmp 0x415f47
+
+loc_00415e64:
+or byte [ref_00475110], 1 ; or byte [0x475110], 1
+jmp near loc_00415f47 ; jmp 0x415f47
+
+fcn_00415e70:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+test byte [ref_00475110], 2 ; test byte [0x475110], 2
+jne near loc_00415f47 ; jne 0x415f47
+mov edx, dword [ref_0048be18] ; mov edx, dword [0x48be18]
+test edx, edx
+jne short loc_00415ec9 ; jne 0x415ec9
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+cmp esi, 4
+jge short loc_00415eb3 ; jge 0x415eb3
+imul eax, esi, 0x68
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+
+loc_00415eab:
+and eax, 0xffff
+push eax
+jmp short loc_00415ed7 ; jmp 0x415ed7
+
+loc_00415eb3:
+mov eax, esi
+shl eax, 4
+mov dx, word [eax + ref_00498dea] ; mov dx, word [eax + 0x498dea]
+push edx
+mov ax, word [eax + ref_00498de8] ; mov ax, word [eax + 0x498de8]
+jmp short loc_00415eab ; jmp 0x415eab
+
+loc_00415ec9:
+mov ecx, dword [ref_0048be20] ; mov ecx, dword [0x48be20]
+push ecx
+mov ebx, dword [ref_0048be1c] ; mov ebx, dword [0x48be1c]
+push ebx
+
+loc_00415ed7:
+call fcn_0040829d ; call 0x40829d
+add esp, 8
+cmp dword [esp + 0x24], 0
+je short loc_00415f4f ; je 0x415f4f
+mov dword [esp + 4], 0x28
+mov dword [esp + 0xc], 0x1e0
+xor ecx, ecx
+mov dword [esp], ecx
+mov dword [esp + 8], 0x1b8
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x10]
+push edi
+mov ebp, dword [esp + 0x10]
+push ebp
+
+loc_00415f2d:
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+
+loc_00415f44:
+add esp, 4
+
+loc_00415f47:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00415f4f:
+or byte [ref_00475110], 2 ; or byte [0x475110], 2
+jmp short loc_00415f47 ; jmp 0x415f47
+
+endloc_00415f58:
+db 0x90
+
+ref_00415f59: ; may contain a jump table
+dd loc_004162d4
+dd loc_00416355
+dd loc_0041646c
+dd loc_004165e1
+
+fcn_00415f69:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xb0
+lea edi, [esp + 0x90]
+mov esi, ref_00415d0d ; mov esi, 0x415d0d
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+cmp byte [ref_0049715d], 2 ; cmp byte [0x49715d], 2
+je near loc_004166ed ; je 0x4166ed
+mov eax, dword [ref_00475110] ; mov eax, dword [0x475110]
+and eax, 0xc
+cmp eax, 0xc
+je near loc_004166ed ; je 0x4166ed
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jl near loc_0041610d ; jl 0x41610d
+cmp eax, 8
+je near loc_0041610d ; je 0x41610d
+push 0
+push 0x1b8
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x48
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0x101010
+push 0x16
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x28
+push 0x246
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov edx, dword [eax*4 + ref_0047ed5a] ; mov edx, dword [eax*4 + 0x47ed5a]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x40
+push 0x20c
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x18
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_00416064:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+cmp dword [esp + 0xc4], 0
+je near loc_004166e6 ; je 0x4166e6
+xor esi, esi
+mov dword [esp + 0x84], esi
+mov dword [esp + 0x8c], 0x118
+mov dword [esp + 0x80], 0x1b8
+mov dword [esp + 0x88], 0x280
+lea eax, [esp + 0x80]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x84]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x90]
+push ebx
+mov esi, dword [esp + 0x90]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x80]
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+jmp near loc_004166ed ; jmp 0x4166ed
+
+loc_0041610d:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+cmp ebx, 8
+jne short loc_00416121 ; jne 0x416121
+movzx esi, byte [ref_00498e70] ; movzx esi, byte [0x498e70]
+jmp short loc_00416123 ; jmp 0x416123
+
+loc_00416121:
+mov esi, ebx
+
+loc_00416123:
+push 0
+push 0x1b8
+xor edx, edx
+mov dl, byte [esi + ref_0048be24] ; mov dl, byte [esi + 0x48be24]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 1
+push 2
+push 0
+push 0x101010
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov ebp, dword [ref_004990e8] ; mov ebp, dword [0x4990e8]
+push ebp
+push ref_004638f5 ; push 0x4638f5
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x104
+push 0x1c2
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+jmp short loc_004161e5 ; jmp 0x4161e5
+
+loc_004161a5:
+mov eax, 0x404040
+
+loc_004161aa:
+push 0
+push 2
+push 0
+push eax
+push 0x12
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 3
+mov edx, dword [esp + ebx*4 + 0x94]
+add edx, 0x14
+push edx
+push 0x273
+mov edi, dword [ebx*4 + ref_00475274] ; mov edi, dword [ebx*4 + 0x475274]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+cmp ebx, 4
+jge short loc_004161f8 ; jge 0x4161f8
+
+loc_004161e5:
+xor eax, eax
+mov al, byte [esi + ref_0048be24] ; mov al, byte [esi + 0x48be24]
+cmp ebx, eax
+jne short loc_004161a5 ; jne 0x4161a5
+mov eax, 0x101010
+jmp short loc_004161aa ; jmp 0x4161aa
+
+loc_004161f8:
+push 0
+push 0xc
+push 0x56
+push 0x39
+push 0x20b
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+imul ebx, esi, 0x68
+mov ebp, dword [ebx + ref_00496b6c] ; mov ebp, dword [ebx + 0x496b6c]
+push ebp
+push 0xc
+push 0x56
+push 0x38
+push 0x20a
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 0x28
+push 0x1e2
+imul eax, esi, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov dl, byte [ebx + ref_00496ba9] ; mov dl, byte [ebx + 0x496ba9]
+test dl, dl
+je short loc_00416288 ; je 0x416288
+push 0x40
+push 0x20c
+xor eax, eax
+mov al, dl
+dec eax
+imul eax, eax, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x18
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_00416288:
+push 0
+push 2
+push 0
+push 0x101010
+push 0x16
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x28
+push 0x234
+imul ebx, esi, 0x68
+mov ecx, dword [ebx + ref_00496b68] ; mov ecx, dword [ebx + 0x496b68]
+push ecx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov al, byte [esi + ref_0048be24] ; mov al, byte [esi + 0x48be24]
+cmp al, 3
+ja near loc_00416064 ; ja 0x416064
+and eax, 0xff
+jmp dword [eax*4 + ref_00415f59] ; ujmp: jmp dword [eax*4 + 0x415f59]
+
+loc_004162d4:
+mov byte [esp], 0x24
+xor al, al
+mov byte [esp + 1], al
+mov eax, dword [ebx + ref_00496b84] ; mov eax, dword [ebx + 0x496b84]
+push eax
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x66
+push 0x258
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edx, dword [ebx + ref_00496b88] ; mov edx, dword [ebx + 0x496b88]
+push edx
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0xa6
+push 0x258
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push esi
+call fcn_004239b9 ; call 0x4239b9
+add esp, 4
+push eax
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+jmp near loc_0041644c ; jmp 0x41644c
+
+loc_00416355:
+mov ebx, 1
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, 0x34
+xor edi, edi
+mov dword [esp + 0xac], edi
+mov dword [esp + 0xa8], edi
+mov ebp, dword [ref_00498e98] ; mov ebp, dword [0x498e98]
+
+loc_00416378:
+cmp ebx, ebp
+jg short loc_004163a2 ; jg 0x4163a2
+xor edx, edx
+mov dl, byte [eax + 0x19]
+lea ecx, [esi + 1]
+cmp edx, ecx
+jne short loc_0041639c ; jne 0x41639c
+inc dword [esp + 0xac]
+cmp byte [eax + 0x18], 0
+je short loc_0041639c ; je 0x41639c
+inc dword [esp + 0xa8]
+
+loc_0041639c:
+inc ebx
+add eax, 0x34
+jmp short loc_00416378 ; jmp 0x416378
+
+loc_004163a2:
+mov ebx, 1
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, 0x38
+xor edi, edi
+mov ebp, dword [ref_00498e8c] ; mov ebp, dword [0x498e8c]
+
+loc_004163b7:
+cmp ebx, ebp
+jg short loc_004163db ; jg 0x4163db
+xor edx, edx
+mov dl, byte [eax + 0x19]
+lea ecx, [esi + 1]
+cmp edx, ecx
+jne short loc_004163d5 ; jne 0x4163d5
+inc dword [esp + 0xac]
+cmp byte [eax + 0x1a], 0
+je short loc_004163d5 ; je 0x4163d5
+inc edi
+
+loc_004163d5:
+inc ebx
+add eax, 0x38
+jmp short loc_004163b7 ; jmp 0x4163b7
+
+loc_004163db:
+push 0xa
+lea eax, [esp + 4]
+push eax
+mov eax, dword [esp + 0xb4]
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 1
+push 0x66
+push 0x258
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+mov edx, dword [esp + 0xb0]
+push edx
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 1
+push 0xa6
+push 0x258
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+push edi
+
+loc_00416444:
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+
+loc_0041644c:
+push 1
+push 0xe6
+push 0x258
+
+loc_00416458:
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_00416064 ; jmp 0x416064
+
+loc_0041646c:
+xor ebx, ebx
+mov dword [esp + 0xac], ebx
+mov dword [esp + 0xa8], ebx
+jmp short loc_00416488 ; jmp 0x416488
+
+loc_0041647e:
+inc ebx
+cmp ebx, 0xc
+jge near loc_00416534 ; jge 0x416534
+
+loc_00416488:
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 5
+mov edx, ebx
+shl edx, 3
+add edx, eax
+cmp dword [edx + ref_004971a0], 0 ; cmp dword [edx + 0x4971a0], 0
+je short loc_0041647e ; je 0x41647e
+fild dword [edx + ref_004971a0] ; fild dword [edx + 0x4971a0]
+fstp dword [esp + 0xa0]
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+fld dword [esp + 0xa0]
+fmul dword [eax*4 + ref_00496994] ; fmul dword [eax*4 + 0x496994]
+mov eax, dword [esp + 0xac]
+mov dword [esp + 0xa4], eax
+fild dword [esp + 0xa4]
+fstp dword [esp + 0xa4]
+fadd dword [esp + 0xa4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xac]
+fld dword [esp + 0xa0]
+fmul dword [edx + ref_004971a4] ; fmul dword [edx + 0x4971a4]
+mov eax, dword [esp + 0xa8]
+mov dword [esp + 0xa4], eax
+fild dword [esp + 0xa4]
+fstp dword [esp + 0xa4]
+fadd dword [esp + 0xa4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xa8]
+jmp near loc_0041647e ; jmp 0x41647e
+
+loc_00416534:
+mov byte [esp], 0x24
+xor dl, dl
+mov byte [esp + 1], dl
+mov ebx, dword [esp + 0xac]
+push ebx
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x66
+push 0x258
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edi, dword [esp + 0xa8]
+push edi
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0xa6
+push 0x258
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add eax, 0x34
+xor ebx, ebx
+mov dword [esp + 0xac], ebx
+
+loc_004165ac:
+cmp ebx, dword [ref_00498e90] ; cmp ebx, dword [0x498e90]
+jg short loc_004165cd ; jg 0x4165cd
+xor ecx, ecx
+mov cl, byte [eax + 0x18]
+lea edx, [esi + 1]
+cmp ecx, edx
+jne short loc_004165c7 ; jne 0x4165c7
+inc dword [esp + 0xac]
+
+loc_004165c7:
+inc ebx
+add eax, 0x34
+jmp short loc_004165ac ; jmp 0x4165ac
+
+loc_004165cd:
+push 0xa
+lea eax, [esp + 4]
+push eax
+mov ecx, dword [esp + 0xb4]
+push ecx
+jmp near loc_00416444 ; jmp 0x416444
+
+loc_004165e1:
+push 0xa
+lea eax, [esp + 4]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b98] ; mov ax, word [ebx + 0x496b98]
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 1
+push 0x66
+push 0x258
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ebx + ref_00496ba6] ; mov al, byte [ebx + 0x496ba6]
+push eax
+push ref_00463902 ; push 0x463902
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+push 0xe6
+push 0x258
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov byte [esp], 0x24
+xor cl, cl
+mov byte [esp + 1], cl
+mov esi, dword [ebx + ref_00496b8c] ; mov esi, dword [ebx + 0x496b8c]
+push esi
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0xa6
+push 0x258
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp dword [ebx + ref_00496b8c], 0 ; cmp dword [ebx + 0x496b8c], 0
+je near loc_00416064 ; je 0x416064
+mov ebp, dword [ebx + ref_00496b94] ; mov ebp, dword [ebx + 0x496b94]
+push ebp
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+push eax
+call fcn_004521aa ; call 0x4521aa
+mov ebx, eax
+add esp, 8
+test eax, eax
+je near loc_00416064 ; je 0x416064
+push 1
+push 2
+push 0
+push 0x101010
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push ebx
+push ref_00463902 ; push 0x463902
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x92
+push 0x1f4
+jmp near loc_00416458 ; jmp 0x416458
+
+loc_004166e6:
+or byte [ref_00475110], 0xc ; or byte [0x475110], 0xc
+
+loc_004166ed:
+add esp, 0xb0
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004166f8:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x24
+mov ecx, 5
+mov edi, esp
+mov esi, ref_00415d1d ; mov esi, 0x415d1d
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+cmp byte [ref_0049715d], 2 ; cmp byte [0x49715d], 2
+jne near loc_004169b4 ; jne 0x4169b4
+test byte [ref_00475110], 4 ; test byte [0x475110], 4
+jne near loc_004169b4 ; jne 0x4169b4
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push ebx
+call dword [eax + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0
+push 0x1b8
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x3c
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jl short loc_004167e9 ; jl 0x4167e9
+cmp eax, 8
+je short loc_004167e9 ; je 0x4167e9
+push 0
+push 2
+push 0
+push 0x101010
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x14
+push 0x246
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov edi, dword [eax*4 + ref_0047ed5a] ; mov edi, dword [eax*4 + 0x47ed5a]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x40
+push 0x20c
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x18
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+jmp near loc_0041692a ; jmp 0x41692a
+
+loc_004167e9:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+cmp esi, 8
+jne short loc_004167fb ; jne 0x4167fb
+movzx esi, byte [ref_00498e70] ; movzx esi, byte [0x498e70]
+
+loc_004167fb:
+push 0
+push 4
+push 0x6a
+push 0x21
+push 0x211
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+imul ebx, esi, 0x68
+mov edi, dword [ebx + ref_00496b6c] ; mov edi, dword [ebx + 0x496b6c]
+push edi
+push 4
+push 0x6a
+push 0x20
+push 0x210
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 0x28
+push 0x1e2
+imul eax, esi, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov dh, byte [ebx + ref_00496ba9] ; mov dh, byte [ebx + 0x496ba9]
+test dh, dh
+je short loc_0041688b ; je 0x41688b
+push 0x40
+push 0x20c
+xor eax, eax
+mov al, dh
+dec eax
+imul eax, eax, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0041688b:
+push 0
+push 2
+push 0
+push 0x101010
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x10
+push 0x246
+imul ebx, esi, 0x68
+mov edx, dword [ebx + ref_00496b68] ; mov edx, dword [ebx + 0x496b68]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 2
+push 0
+push 0x101010
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov ecx, dword [ebx + ref_00496b84] ; mov ecx, dword [ebx + 0x496b84]
+push ecx
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x29
+push 0x27a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov esi, dword [ebx + ref_00496b88] ; mov esi, dword [ebx + 0x496b88]
+push esi
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x3f
+push 0x27a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_0041692a:
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+cmp dword [esp + 0x38], 0
+je short loc_004169ad ; je 0x4169ad
+xor edx, edx
+mov dword [esp + 0x18], edx
+mov dword [esp + 0x20], 0x50
+mov dword [esp + 0x14], 0x1b8
+mov dword [esp + 0x1c], 0x280
+lea eax, [esp + 0x14]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov ebx, dword [ref_0048a0dc] ; mov ebx, dword [0x48a0dc]
+mov eax, dword [ebx]
+push 0x10
+lea esi, [esp + 0x18]
+push esi
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x24]
+push ebp
+mov edx, dword [esp + 0x24]
+push edx
+push ebx
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 0x14]
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+lea eax, [esp + 0x14]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+jmp short loc_004169b4 ; jmp 0x4169b4
+
+loc_004169ad:
+or byte [ref_00475110], 4 ; or byte [0x475110], 4
+
+loc_004169b4:
+add esp, 0x24
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004169bc:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x44
+cmp byte [ref_0049715d], 1 ; cmp byte [0x49715d], 1
+je near loc_00416e65 ; je 0x416e65
+test byte [ref_00475110], 0x10 ; test byte [0x475110], 0x10
+jne near loc_00416e65 ; jne 0x416e65
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+cmp byte [ref_00497164], 0 ; cmp byte [0x497164], 0
+je near loc_00416b4c ; je 0x416b4c
+mov ebp, dword [ref_00497160] ; mov ebp, dword [0x497160]
+and ebp, 0xffffff00
+mov ebx, dword [ref_00497160] ; mov ebx, dword [0x497160]
+shr ebx, 8
+and ebx, 0xff
+dec ebx
+push 0x118
+push 0x1b8
+xor eax, eax
+mov al, byte [ebx + ref_00475218] ; mov al, byte [ebx + 0x475218]
+lea ebx, [eax + 4]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, dword [ref_0048be10] ; mov ebx, dword [0x48be10]
+add ebx, 0xc
+add eax, ebx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov ebx, dword [ref_00497160] ; mov ebx, dword [0x497160]
+xor bl, bl
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+and eax, 0xff
+mov dword [esp + 0x40], eax
+or bl, 1
+lea eax, [esp + 0x3c]
+push eax
+lea eax, [esp + 0x3c]
+push eax
+push ebx
+call fcn_004520a6 ; call 0x4520a6
+add esp, 0xc
+mov ebx, 1
+mov esi, dword [esp + 0x38]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 3
+sub eax, esi
+lea esi, [eax + 0x1d6]
+mov edi, 0x17a
+
+loc_00416aac:
+cmp ebx, dword [esp + 0x3c]
+jg near loc_00416d3b ; jg 0x416d3b
+push 0xa
+lea eax, [esp + 4]
+push eax
+push ebx
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+cmp ebx, dword [esp + 0x40]
+jne short loc_00416aea ; jne 0x416aea
+push 0xff0000
+push 0xe
+push 0x14
+lea eax, [edi - 6]
+push eax
+lea eax, [esi - 0xa]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+
+loc_00416aea:
+mov eax, ebp
+or eax, ebx
+push eax
+call fcn_004523d5 ; call 0x4523d5
+add esp, 4
+cmp eax, 1
+jne short loc_00416b08 ; jne 0x416b08
+push eax
+push 2
+push 0
+push 0xff0000
+jmp short loc_00416b13 ; jmp 0x416b13
+
+loc_00416b08:
+push 1
+push 2
+push 0
+push 0x101010
+
+loc_00416b13:
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push edi
+push esi
+lea eax, [esp + 0xc]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp esi, 0x260
+jne short loc_00416b43 ; jne 0x416b43
+mov esi, 0x1bf
+add edi, 0xe
+
+loc_00416b43:
+inc ebx
+add esi, 0x17
+jmp near loc_00416aac ; jmp 0x416aac
+
+loc_00416b4c:
+xor esi, esi
+mov edx, dword [ref_00497160] ; mov edx, dword [0x497160]
+push edx
+call fcn_004521f0 ; call 0x4521f0
+add esp, 4
+cmp eax, 0xffffffff
+jne short loc_00416baf ; jne 0x416baf
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+shr eax, 8
+and eax, 0xff
+lea ebx, [eax - 1]
+push 0x118
+push 0x1b8
+mov bl, byte [ebx + ref_00475218] ; mov bl, byte [ebx + 0x475218]
+and ebx, 0xff
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, dword [ref_0048be10] ; mov ebx, dword [0x48be10]
+add ebx, 0xc
+add eax, ebx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+jmp short loc_00416c1f ; jmp 0x416c1f
+
+loc_00416baf:
+movsx ebx, word [ref_004991b6] ; movsx ebx, word [0x4991b6]
+shl ebx, 2
+movsx esi, word [ref_004991b8] ; movsx esi, word [0x4991b8]
+add ebx, esi
+mov bx, word [ebx*2 + ref_00475208] ; mov bx, word [ebx*2 + 0x475208]
+and ebx, 0xffff
+add ebx, eax
+cmp ebx, dword [ref_0048bdd0] ; cmp ebx, dword [0x48bdd0]
+je short loc_00416bfb ; je 0x416bfb
+mov dword [ref_0048bdd0], ebx ; mov dword [0x48bdd0], ebx
+push 0
+mov eax, dword [ref_0048bdcc] ; mov eax, dword [0x48bdcc]
+mov esi, dword [eax + 8]
+push esi
+push ebx
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+
+loc_00416bfb:
+push 0x118
+push 0x1b8
+mov ebp, dword [ref_0048bdcc] ; mov ebp, dword [0x48bdcc]
+push ebp
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov esi, 1
+
+loc_00416c1f:
+push 0x12c
+push 0x1ce
+mov eax, dword [ref_0048be10] ; mov eax, dword [0x48be10]
+add eax, 0x6c
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x12d
+push 0x1ec
+mov eax, dword [ref_0048be10] ; mov eax, dword [0x48be10]
+add eax, 0x90
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+lea eax, [esp + 0x3c]
+push eax
+lea eax, [esp + 0x3c]
+push eax
+mov edi, dword [ref_00497160] ; mov edi, dword [0x497160]
+push edi
+call fcn_004520a6 ; call 0x4520a6
+add esp, 0xc
+cmp dword [esp + 0x38], 0
+jne short loc_00416c8c ; jne 0x416c8c
+mov esi, 1
+jmp short loc_00416c90 ; jmp 0x416c90
+
+loc_00416c8c:
+test esi, esi
+je short loc_00416ca0 ; je 0x416ca0
+
+loc_00416c90:
+push 1
+push 6
+push 0x101010
+push 0xff0000
+jmp short loc_00416cae ; jmp 0x416cae
+
+loc_00416ca0:
+push 1
+push 6
+push 0xffffff
+push 0x101010
+
+loc_00416cae:
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 3
+push 0x160
+push 0x1c6
+mov eax, dword [esp + 0x44]
+mov edx, dword [eax*4 + ref_0047511c] ; mov edx, dword [eax*4 + 0x47511c]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+test esi, esi
+je short loc_00416cee ; je 0x416cee
+push 1
+push 6
+push 0x101010
+push 0xff0000
+jmp short loc_00416cfc ; jmp 0x416cfc
+
+loc_00416cee:
+push 1
+push 6
+push 0xffffff
+push 0x101010
+
+loc_00416cfc:
+push 0x3c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+and eax, 0xff
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 2
+push 0x178
+push 0x1f4
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00416d3b:
+push 1
+push 6
+push 0xffffff
+push 0x101010
+push 0x18
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+shr eax, 0x10
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 0
+push 0x120
+push 0x244
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 6
+push 0xffffff
+push 0x101010
+push 0x1c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov ebx, dword [ref_00497160] ; mov ebx, dword [0x497160]
+shr ebx, 8
+and ebx, 0xff
+push ebx
+push ref_00463907 ; push 0x463907
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 2
+push 0x148
+push 0x1f4
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+cmp dword [esp + 0x58], 0
+je short loc_00416e5e ; je 0x416e5e
+mov dword [esp + 0x2c], 0x118
+mov dword [esp + 0x34], 0x1e0
+mov dword [esp + 0x28], 0x1b8
+mov dword [esp + 0x30], 0x280
+lea eax, [esp + 0x28]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0x10
+lea esi, [esp + 0x2c]
+push esi
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+mov ecx, dword [esp + 0x38]
+push ecx
+mov esi, dword [esp + 0x38]
+push esi
+push eax
+call dword [ebx + 0x1c] ; ucall
+lea eax, [esp + 0x28]
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+lea eax, [esp + 0x28]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+jmp short loc_00416e65 ; jmp 0x416e65
+
+loc_00416e5e:
+or byte [ref_00475110], 0x10 ; or byte [0x475110], 0x10
+
+loc_00416e65:
+add esp, 0x44
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00416e6d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+movzx ebp, byte [ref_0049715d] ; movzx ebp, byte [0x49715d]
+mov ebp, dword [ebp*4 + ref_004752aa] ; mov ebp, dword [ebp*4 + 0x4752aa]
+test ebp, ebp
+je near loc_00417179 ; je 0x417179
+cmp ebp, 0x50
+jne short loc_00416e9c ; jne 0x416e9c
+test byte [ref_00475110], 8 ; test byte [0x475110], 8
+jne near loc_00417179 ; jne 0x417179
+
+loc_00416e9c:
+cmp ebp, 0x118
+jne short loc_00416eb1 ; jne 0x416eb1
+test byte [ref_00475110], 0x10 ; test byte [0x475110], 0x10
+jne near loc_00417179 ; jne 0x417179
+
+loc_00416eb1:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push ebp
+push 0x1b8
+mov eax, dword [ref_0048badc] ; mov eax, dword [0x48badc]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+lea ebx, [ebp + 3]
+push ebx
+push 0x1bb
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0xfc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push ebx
+push 0x1d4
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x108
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor esi, esi
+xor edi, edi
+xor ebx, ebx
+jmp near loc_00416fb9 ; jmp 0x416fb9
+
+loc_00416f3d:
+mov edx, ebx
+shl edx, 4
+cmp byte [edx + ref_00498df2], 0 ; cmp byte [edx + 0x498df2], 0
+jne short loc_00416f9f ; jne 0x416f9f
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+jne short loc_00416f9f ; jne 0x416f9f
+xor ecx, ecx
+mov cx, word [edx + ref_00498de8] ; mov cx, word [edx + 0x498de8]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 3
+add eax, ecx
+shl eax, 6
+sar eax, 0x10
+lea esi, [eax + 0x1b8]
+mov dx, word [edx + ref_00498dea] ; mov dx, word [edx + 0x498dea]
+and edx, 0xffff
+mov edi, edx
+shl edi, 2
+sub edi, edx
+shl edi, 2
+sub edi, edx
+shl edi, 3
+add edi, edx
+shl edi, 6
+sar edi, 0x10
+add edi, ebp
+
+loc_00416f9f:
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+jne short loc_00416faf ; jne 0x416faf
+mov dword [esp + 0x10], esi
+mov dword [esp + 0x14], edi
+
+loc_00416faf:
+inc ebx
+cmp ebx, 9
+jge near loc_00417041 ; jge 0x417041
+
+loc_00416fb9:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00416f3d ; jge 0x416f3d
+imul edx, ebx, 0x68
+cmp word [edx + ref_00496b70], 0 ; cmp word [edx + 0x496b70], 0
+je short loc_00416f9f ; je 0x416f9f
+xor ecx, ecx
+mov cx, word [edx + ref_00496b70] ; mov cx, word [edx + 0x496b70]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 3
+add eax, ecx
+shl eax, 6
+sar eax, 0x10
+lea esi, [eax + 0x1b8]
+mov dx, word [edx + ref_00496b72] ; mov dx, word [edx + 0x496b72]
+and edx, 0xffff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 6
+sar eax, 0x10
+lea edi, [eax + ebp]
+push edi
+push esi
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x54
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+jmp near loc_00416f9f ; jmp 0x416f9f
+
+loc_00417041:
+mov ecx, dword [esp + 0x10]
+test ecx, ecx
+je short loc_0041706f ; je 0x41706f
+mov ebx, dword [esp + 0x14]
+test ebx, ebx
+je short loc_0041706f ; je 0x41706f
+push 0xffffff
+push 0x1e
+push 0x1e
+lea eax, [ebx - 0xf]
+push eax
+lea eax, [ecx - 0xf]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+
+loc_0041706f:
+cmp dword [ref_0048be18], 0 ; cmp dword [0x48be18], 0
+je short loc_004170ea ; je 0x4170ea
+mov edx, dword [ref_0048be1c] ; mov edx, dword [0x48be1c]
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 3
+add ecx, edx
+shl ecx, 6
+sar ecx, 0x10
+mov edx, dword [ref_0048be20] ; mov edx, dword [0x48be20]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 6
+sar eax, 0x10
+lea edx, [ecx + 0x1b8]
+cmp edx, dword [esp + 0x10]
+jne short loc_004170c7 ; jne 0x4170c7
+lea edx, [eax + ebp]
+cmp edx, dword [esp + 0x14]
+je short loc_004170ea ; je 0x4170ea
+
+loc_004170c7:
+push 0xff0000
+push 0x1e
+push 0x1e
+add eax, ebp
+sub eax, 0xf
+push eax
+add ecx, 0x1a9
+push ecx
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+
+loc_004170ea:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+cmp dword [esp + 0x2c], 0
+je short loc_00417164 ; je 0x417164
+mov dword [esp + 4], ebp
+add ebp, 0xc8
+mov dword [esp + 0xc], ebp
+mov dword [esp], 0x1b8
+mov dword [esp + 8], 0x280
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x10]
+push ebx
+mov esi, dword [esp + 0x10]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+jmp short loc_00417179 ; jmp 0x417179
+
+loc_00417164:
+cmp ebp, 0x50
+jne short loc_00417172 ; jne 0x417172
+or byte [ref_00475110], 8 ; or byte [0x475110], 8
+jmp short loc_00417179 ; jmp 0x417179
+
+loc_00417172:
+or byte [ref_00475110], 0x10 ; or byte [0x475110], 0x10
+
+loc_00417179:
+add esp, 0x18
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+ref_00417181: ; may contain a jump table
+dd loc_00417302
+dd loc_00417353
+dd loc_00417401
+dd loc_00417302
+
+fcn_00417191:
+push ebx
+push ebp
+sub esp, 0x10
+mov eax, dword [ref_0048bdec] ; mov eax, dword [0x48bdec]
+mov dword [esp], eax
+mov eax, dword [ref_0048bde8] ; mov eax, dword [0x48bde8]
+mov dword [esp + 4], eax
+mov eax, dword [esp]
+mov edx, dword [ref_0048bdd8] ; mov edx, dword [0x48bdd8]
+add eax, edx
+mov dword [esp + 8], eax
+mov eax, dword [esp + 4]
+mov ecx, dword [ref_0048bddc] ; mov ecx, dword [0x48bddc]
+add eax, ecx
+mov dword [esp + 0xc], eax
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048bdec] ; mov eax, dword [0x48bdec]
+cmp eax, dword [ref_00475284] ; cmp eax, dword [0x475284]
+jne short loc_004171f2 ; jne 0x4171f2
+mov eax, dword [ref_0048bde8] ; mov eax, dword [0x48bde8]
+cmp eax, dword [ref_00475288] ; cmp eax, dword [0x475288]
+jne short loc_004171f2 ; jne 0x4171f2
+cmp dword [esp + 0x1c], 0
+jne short loc_0041724d ; jne 0x41724d
+
+loc_004171f2:
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+mov dword [ref_0048bdec], eax ; mov dword [0x48bdec], eax
+mov eax, dword [ref_00475288] ; mov eax, dword [0x475288]
+mov dword [ref_0048bde8], eax ; mov dword [0x48bde8], eax
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 4]
+push ebx
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+mov ecx, dword [esp + 0x10]
+push ecx
+mov ebx, dword [esp + 0x10]
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+cmp dword [esp + 0x1c], 0
+jne short loc_0041724d ; jne 0x41724d
+cmp byte [ref_0046cafd], 0 ; cmp byte [0x46cafd], 0
+jne near loc_004174c7 ; jne 0x4174c7
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+jmp near loc_004174c7 ; jmp 0x4174c7
+
+loc_0041724d:
+xor ebx, ebx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba0], 0 ; cmp byte [eax + 0x496ba0], 0
+je short loc_00417264 ; je 0x417264
+mov ebx, 2
+
+loc_00417264:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba1], 0 ; cmp byte [eax + 0x496ba1], 0
+je short loc_00417279 ; je 0x417279
+mov ebx, 4
+
+loc_00417279:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a078] ; mov eax, dword [0x48a078]
+sar eax, 1
+mov word [ref_0046caec], ax ; mov word [0x46caec], ax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov eax, dword [ref_00475288] ; mov eax, dword [0x475288]
+push eax
+mov edx, dword [ref_00475284] ; mov edx, dword [0x475284]
+push edx
+mov edx, dword [ref_0048bdd4] ; mov edx, dword [0x48bdd4]
+add edx, ebx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048be04] ; mov eax, dword [0x48be04]
+add eax, 0xc
+add edx, eax
+push edx
+push ref_0046caec ; push 0x46caec
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+cmp al, 3
+ja near loc_004174a3 ; ja 0x4174a3
+and eax, 0xff
+jmp dword [eax*4 + ref_00417181] ; ujmp: jmp dword [eax*4 + 0x417181]
+
+loc_00417302:
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov eax, dword [ref_00475288] ; mov eax, dword [0x475288]
+add eax, 0x1a
+cmp byte [edx + ref_00496ba0], 0 ; cmp byte [edx + 0x496ba0], 0
+jne short loc_0041733f ; jne 0x41733f
+push eax
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+add eax, 7
+push eax
+mov eax, dword [ref_0048be04] ; mov eax, dword [0x48be04]
+add eax, 0x60
+
+loc_0041732c:
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_004174a3 ; jmp 0x4174a3
+
+loc_0041733f:
+push eax
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+add eax, 8
+push eax
+mov eax, dword [ref_0048be04] ; mov eax, dword [0x48be04]
+add eax, 0x54
+jmp short loc_0041732c ; jmp 0x41732c
+
+loc_00417353:
+xor ebx, ebx
+jmp short loc_00417361 ; jmp 0x417361
+
+loc_00417357:
+inc ebx
+cmp ebx, 2
+jge near loc_004174a3 ; jge 0x4174a3
+
+loc_00417361:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7a] ; mov dl, byte [eax + 0x496b7a]
+dec edx
+cmp ebx, edx
+jg short loc_004173c7 ; jg 0x4173c7
+cmp byte [eax + ref_00496ba0], 0 ; cmp byte [eax + 0x496ba0], 0
+jne short loc_004173c7 ; jne 0x4173c7
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+sub eax, ebx
+add eax, dword [ref_00475288] ; add eax, dword [0x475288]
+add eax, 0x10
+push eax
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+add eax, 7
+push eax
+lea edx, [ebx + ebx + 7]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048be04] ; mov eax, dword [0x48be04]
+add eax, 0xc
+
+loc_004173b5:
+add eax, edx
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp short loc_00417357 ; jmp 0x417357
+
+loc_004173c7:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+sub eax, ebx
+add eax, dword [ref_00475288] ; add eax, dword [0x475288]
+add eax, 0x10
+push eax
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+add eax, 8
+push eax
+lea eax, [ebx + ebx]
+lea edx, [eax + 6]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048be04] ; mov edx, dword [0x48be04]
+add edx, 0xc
+jmp short loc_004173b5 ; jmp 0x4173b5
+
+loc_00417401:
+xor ebx, ebx
+jmp short loc_0041740f ; jmp 0x41740f
+
+loc_00417405:
+inc ebx
+cmp ebx, 3
+jge near loc_004174a3 ; jge 0x4174a3
+
+loc_0041740f:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7a] ; mov dl, byte [eax + 0x496b7a]
+dec edx
+cmp ebx, edx
+jg short loc_00417470 ; jg 0x417470
+cmp byte [eax + ref_00496ba0], 0 ; cmp byte [eax + 0x496ba0], 0
+jne short loc_00417470 ; jne 0x417470
+mov eax, ebx
+shl eax, 4
+add eax, dword [ref_00475288] ; add eax, dword [0x475288]
+add eax, 9
+push eax
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+add eax, 7
+push eax
+lea eax, [ebx + ebx]
+lea edx, [eax + 7]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048be04] ; mov eax, dword [0x48be04]
+add eax, 0xc
+
+loc_0041745e:
+add eax, edx
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp short loc_00417405 ; jmp 0x417405
+
+loc_00417470:
+mov eax, ebx
+shl eax, 4
+add eax, dword [ref_00475288] ; add eax, dword [0x475288]
+add eax, 9
+push eax
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+add eax, 8
+push eax
+lea eax, [ebx + ebx]
+lea edx, [eax + 6]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048be04] ; mov edx, dword [0x48be04]
+add edx, 0xc
+jmp short loc_0041745e ; jmp 0x41745e
+
+loc_004174a3:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov word [ref_0046caec], 0x280 ; mov word [0x46caec], 0x280
+
+loc_004174c7:
+add esp, 0x10
+pop ebp
+pop ebx
+ret
+
+fcn_004174cd:
+push ebx
+sub esp, 0x20
+cmp byte [ref_0046cafd], 0 ; cmp byte [0x46cafd], 0
+je short loc_00417530 ; je 0x417530
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+mov dword [esp + 0x10], eax
+mov eax, dword [ref_00475288] ; mov eax, dword [0x475288]
+mov dword [esp + 0x14], eax
+mov eax, dword [esp + 0x10]
+mov edx, dword [ref_0048bdd8] ; mov edx, dword [0x48bdd8]
+add eax, edx
+mov dword [esp + 0x18], eax
+mov eax, dword [esp + 0x14]
+mov ecx, dword [ref_0048bddc] ; mov ecx, dword [0x48bddc]
+add eax, ecx
+mov dword [esp + 0x1c], eax
+mov ebx, dword [esp + 0x28]
+push ebx
+lea eax, [esp + 0x14]
+push eax
+lea eax, [esp + 8]
+push eax
+call dword [cs:__imp__IntersectRect@12] ; ucall: call dword cs:[0x4622f4]
+test eax, eax
+je short loc_00417530 ; je 0x417530
+push 1
+call fcn_00417191 ; call 0x417191
+add esp, 4
+
+loc_00417530:
+add esp, 0x20
+pop ebx
+ret
+
+ref_00417535: ; may contain a jump table
+dd loc_00417637
+dd loc_0041766f
+dd loc_0041769f
+dd loc_004176cd
+
+ref_00417545: ; may contain a jump table
+dd loc_004179c6
+dd loc_00417a24
+dd loc_00417a24
+dd loc_004179df
+dd loc_00417a86
+
+fcn_00417559:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov edx, dword [esp + 0x68]
+sub edx, 0x28
+mov dword [esp + 0x68], edx
+push edx
+mov edi, dword [esp + 0x68]
+push edi
+call fcn_0040a9d7 ; call 0x40a9d7
+add esp, 8
+mov dword [esp + 0x4c], eax
+test eax, eax
+jle short loc_00417588 ; jle 0x417588
+cmp eax, 0x2710
+jl short loc_004175a0 ; jl 0x4175a0
+
+loc_00417588:
+test byte [esp + 0x4d], 0x80
+je near loc_00417c5f ; je 0x417c5f
+test word [esp + 0x4c], 0x7fff
+je near loc_00417c5f ; je 0x417c5f
+
+loc_004175a0:
+mov ebp, dword [esp + 0x4c]
+cmp ebp, 0x7d0
+jge short loc_004175c4 ; jge 0x4175c4
+mov eax, ebp
+shl eax, 2
+add eax, ebp
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+cmp byte [ecx + eax*8 + 4], 0
+je near loc_00417c5f ; je 0x417c5f
+
+loc_004175c4:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00417191 ; call 0x417191
+add esp, 4
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+movsx eax, word [eax + 0xe]
+cmp eax, dword [esp + 0x68]
+setle al
+movzx ebp, al
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+movsx eax, word [eax + 0xc]
+mov ecx, 0x1b8
+sub ecx, eax
+mov eax, ecx
+cmp eax, dword [esp + 0x64]
+jge short loc_0041760b ; jge 0x41760b
+add ebp, 2
+
+loc_0041760b:
+mov edi, dword [ref_0048bad8] ; mov edi, dword [0x48bad8]
+movsx ecx, word [edi + 0xc]
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+sub eax, edx
+sar eax, 1
+add eax, 9
+cmp ebp, 3
+ja near loc_004176fe ; ja 0x4176fe
+mov edx, ebp
+shl edx, 2
+jmp dword [edx + ref_00417535] ; ujmp: jmp dword [edx + 0x417535]
+
+loc_00417637:
+mov ecx, dword [esp + 0x64]
+mov dword [esp + 0x3c], ecx
+mov ecx, dword [esp + 0x68]
+mov dword [esp + 0x40], ecx
+movsx ecx, word [edi + 0xc]
+mov ebx, dword [esp + 0x64]
+add ebx, ecx
+mov dword [esp + 0x44], ebx
+movsx ecx, word [edi + 0xe]
+mov ebx, dword [esp + 0x68]
+add ebx, ecx
+mov dword [esp + 0x48], ebx
+mov esi, eax
+
+loc_00417665:
+mov ebx, 0x2a
+jmp near loc_004176fe ; jmp 0x4176fe
+
+loc_0041766f:
+mov ecx, dword [esp + 0x64]
+mov dword [esp + 0x3c], ecx
+movsx ecx, word [edi + 0xe]
+mov ebx, dword [esp + 0x68]
+sub ebx, ecx
+mov dword [esp + 0x40], ebx
+movsx ecx, word [edi + 0xc]
+mov ebx, dword [esp + 0x64]
+add ebx, ecx
+mov dword [esp + 0x44], ebx
+mov ecx, dword [esp + 0x68]
+mov dword [esp + 0x48], ecx
+mov esi, eax
+jmp short loc_004176f9 ; jmp 0x4176f9
+
+loc_0041769f:
+mov ebx, dword [esp + 0x64]
+sub ebx, ecx
+mov dword [esp + 0x3c], ebx
+mov ecx, dword [esp + 0x68]
+mov dword [esp + 0x40], ecx
+mov ecx, dword [esp + 0x64]
+mov dword [esp + 0x44], ecx
+movsx ecx, word [edi + 0xe]
+mov ebx, dword [esp + 0x68]
+add ebx, ecx
+mov dword [esp + 0x48], ebx
+mov esi, eax
+neg esi
+jmp short loc_00417665 ; jmp 0x417665
+
+loc_004176cd:
+mov ebx, dword [esp + 0x64]
+sub ebx, ecx
+mov dword [esp + 0x3c], ebx
+movsx ecx, word [edi + 0xe]
+mov ebx, dword [esp + 0x68]
+sub ebx, ecx
+mov dword [esp + 0x40], ebx
+mov ecx, dword [esp + 0x64]
+mov dword [esp + 0x44], ecx
+mov ecx, dword [esp + 0x68]
+mov dword [esp + 0x48], ecx
+mov esi, eax
+neg esi
+
+loc_004176f9:
+mov ebx, 0xffffffa0
+
+loc_004176fe:
+mov eax, dword [esp + 0x3c]
+mov dword [ref_0048bdf4], eax ; mov dword [0x48bdf4], eax
+mov eax, dword [esp + 0x40]
+add eax, 0x28
+mov dword [ref_0048bdf0], eax ; mov dword [0x48bdf0], eax
+add esi, dword [esp + 0x64]
+mov edi, dword [esp + 0x68]
+add edi, 0x28
+add ebx, edi
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ecx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ecx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+movsx ecx, word [eax + 0xe]
+push ecx
+movsx eax, word [eax + 0xc]
+push eax
+mov eax, dword [ref_0048bdf0] ; mov eax, dword [0x48bdf0]
+push eax
+mov edx, dword [ref_0048bdf4] ; mov edx, dword [0x48bdf4]
+push edx
+mov ecx, dword [ref_0048bde0] ; mov ecx, dword [0x48bde0]
+push ecx
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+push edi
+mov edi, dword [esp + 0x68]
+push edi
+mov ecx, dword [ref_0048bad8] ; mov ecx, dword [0x48bad8]
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [esp + 0x4c]
+test eax, eax
+jle short loc_004177ed ; jle 0x4177ed
+cmp eax, 0x7d0
+jge short loc_004177ed ; jge 0x4177ed
+mov ecx, eax
+shl eax, 2
+add ecx, eax
+shl ecx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+
+loc_004177d1:
+add eax, ecx
+push 2
+add ebx, 0x1b
+push ebx
+push esi
+add eax, 4
+
+loc_004177dd:
+push eax
+
+loc_004177de:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_00417bfe ; jmp 0x417bfe
+
+loc_004177ed:
+mov ecx, dword [esp + 0x4c]
+cmp ecx, 0x7d0
+jle near loc_00417942 ; jle 0x417942
+cmp ecx, 0xfa0
+jge near loc_00417942 ; jge 0x417942
+lea edi, [ecx - 0x7d0]
+imul edi, edi, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add edi, eax
+movzx ebp, byte [edi + 0x19]
+test ebp, ebp
+je short loc_0041783c ; je 0x41783c
+push 2
+push ebx
+push esi
+lea eax, [ebp - 1]
+imul eax, eax, 0x68
+mov ebp, dword [eax + ref_00496b68] ; mov ebp, dword [eax + 0x496b68]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_0041783c:
+movzx ebp, byte [edi + 0x1a]
+add ebx, 0x12
+test ebp, ebp
+jne short loc_00417853 ; jne 0x417853
+push 2
+push ebx
+push esi
+push ref_00463819 ; push 0x463819
+push ebp
+jmp short loc_00417874 ; jmp 0x417874
+
+loc_00417853:
+cmp byte [edi + 0x18], 0
+je short loc_00417866 ; je 0x417866
+push 2
+push ebx
+push esi
+push ref_0046390c ; push 0x46390c
+push 0
+jmp short loc_00417874 ; jmp 0x417874
+
+loc_00417866:
+push 2
+push ebx
+push esi
+mov edx, dword [ebp*4 + ref_00475138] ; mov edx, dword [ebp*4 + 0x475138]
+push edx
+push 0
+
+loc_00417874:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+add ebx, 0x12
+push ebx
+push esi
+mov ecx, dword [ebp*4 + ref_00475164] ; mov ecx, dword [ebp*4 + 0x475164]
+push ecx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov byte [esp], 0x24
+add ebx, 0x12
+mov dl, byte [edi + 0x19]
+test dl, dl
+je near loc_00417928 ; je 0x417928
+cmp byte [edi + 0x18], 0
+je short loc_0041790a ; je 0x41790a
+xor eax, eax
+mov al, dl
+push eax
+call fcn_0041970f ; call 0x41970f
+mov edi, eax
+add esp, 4
+mov ecx, dword [ref_004990e8] ; mov ecx, dword [0x4990e8]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 3
+add eax, ecx
+shl eax, 4
+mov ecx, eax
+shl eax, 2
+add eax, ecx
+push eax
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push edi
+push ref_00463913 ; push 0x463913
+lea eax, [esp + 0x30]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+lea eax, [esp + 0x28]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+jmp short loc_0041793a ; jmp 0x41793a
+
+loc_0041790a:
+lea eax, [edi + 4]
+push eax
+xor eax, eax
+mov al, dl
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+push eax
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+jmp short loc_0041793a ; jmp 0x41793a
+
+loc_00417928:
+xor eax, eax
+mov ax, word [edi + ebp*2 + 0x20]
+push eax
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+
+loc_0041793a:
+add esp, 8
+jmp near loc_00417a17 ; jmp 0x417a17
+
+loc_00417942:
+mov ebp, dword [esp + 0x4c]
+cmp ebp, 0xfa0
+jle near loc_00417ae4 ; jle 0x417ae4
+cmp ebp, 0x1770
+jge near loc_00417ae4 ; jge 0x417ae4
+lea eax, [ebp - 0xfa0]
+shl eax, 3
+mov ecx, eax
+shl eax, 3
+sub eax, ecx
+mov edi, dword [ref_00498e88] ; mov edi, dword [0x498e88]
+add edi, eax
+movzx ebp, byte [edi + 0x19]
+test ebp, ebp
+je short loc_00417999 ; je 0x417999
+push 2
+push ebx
+push esi
+lea eax, [ebp - 1]
+imul eax, eax, 0x68
+mov ebp, dword [eax + ref_00496b68] ; mov ebp, dword [eax + 0x496b68]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00417999:
+cmp byte [edi + 0x1a], 0
+jne short loc_004179b0 ; jne 0x4179b0
+push 2
+add ebx, 0x1b
+push ebx
+push esi
+push ref_00463819 ; push 0x463819
+jmp near loc_004177de ; jmp 0x4177de
+
+loc_004179b0:
+mov al, byte [edi + 0x18]
+cmp al, 4
+ja near loc_00417bfe ; ja 0x417bfe
+xor ecx, ecx
+mov cl, al
+jmp dword [ecx*4 + ref_00417545] ; ujmp: jmp dword [ecx*4 + 0x417545]
+
+loc_004179c6:
+push 2
+add ebx, 0x1b
+push ebx
+push esi
+and eax, 0xff
+mov ebx, dword [eax*4 + ref_00475150] ; mov ebx, dword [eax*4 + 0x475150]
+
+loc_004179d9:
+push ebx
+jmp near loc_004177de ; jmp 0x4177de
+
+loc_004179df:
+push 2
+add ebx, 0x1b
+push ebx
+push esi
+and eax, 0xff
+mov edi, dword [eax*4 + ref_00475150] ; mov edi, dword [eax*4 + 0x475150]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x3e8
+push ref_00463913 ; push 0x463913
+
+loc_00417a07:
+lea eax, [esp + 8]
+push eax
+add ebx, 0x1b
+
+loc_00417a0f:
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+
+loc_00417a17:
+push 2
+push ebx
+push esi
+lea eax, [esp + 0xc]
+jmp near loc_004177dd ; jmp 0x4177dd
+
+loc_00417a24:
+push 2
+add ebx, 0x12
+push ebx
+push esi
+xor eax, eax
+mov al, byte [edi + 0x18]
+mov ebp, dword [eax*4 + ref_00475150] ; mov ebp, dword [eax*4 + 0x475150]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+add ebx, 0x12
+push ebx
+push esi
+xor eax, eax
+mov al, byte [edi + 0x1a]
+mov edx, dword [eax*4 + ref_00475164] ; mov edx, dword [eax*4 + 0x475164]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [edi + 0x1a]
+add eax, eax
+add ebx, 0x12
+add edi, eax
+xor eax, eax
+mov ax, word [edi + 0x24]
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+push ref_00463913 ; push 0x463913
+lea eax, [esp + 8]
+push eax
+jmp short loc_00417a0f ; jmp 0x417a0f
+
+loc_00417a86:
+push 2
+add ebx, 0x12
+push ebx
+push esi
+and eax, 0xff
+mov edx, dword [eax*4 + ref_00475150] ; mov edx, dword [eax*4 + 0x475150]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+add ebx, 0x12
+push ebx
+push esi
+xor eax, eax
+mov al, byte [edi + 0x1a]
+mov ecx, dword [eax*4 + ref_00475164] ; mov ecx, dword [eax*4 + 0x475164]
+push ecx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [edi + 0x1e], 0
+je near loc_00417bfe ; je 0x417bfe
+push 2
+add ebx, 0x12
+push ebx
+push esi
+xor eax, eax
+mov al, byte [edi + 0x1d]
+mov ebx, dword [eax*8 + ref_0047ff1a] ; mov ebx, dword [eax*8 + 0x47ff1a]
+jmp near loc_004179d9 ; jmp 0x4179d9
+
+loc_00417ae4:
+mov edx, dword [esp + 0x4c]
+cmp edx, 0x1770
+jle short loc_00417b4f ; jle 0x417b4f
+cmp edx, 0x1f40
+jge short loc_00417b4f ; jge 0x417b4f
+lea eax, [edx - 0x1770]
+imul eax, eax, 0x34
+mov edi, dword [ref_00498e7c] ; mov edi, dword [0x498e7c]
+add edi, eax
+movzx ebp, byte [edi + 0x18]
+test ebp, ebp
+je short loc_00417b2c ; je 0x417b2c
+push 2
+push ebx
+push esi
+lea eax, [ebp - 1]
+imul eax, eax, 0x68
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00417b2c:
+push 2
+add ebx, 0x1b
+push ebx
+push esi
+lea eax, [edi + 4]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [edi + 0x30]
+push ecx
+push ref_00463918 ; push 0x463918
+jmp near loc_00417a07 ; jmp 0x417a07
+
+loc_00417b4f:
+mov edi, dword [esp + 0x4c]
+cmp edi, 0x1f40
+jle short loc_00417b7e ; jle 0x417b7e
+cmp edi, 0x2710
+jge short loc_00417b7e ; jge 0x417b7e
+lea eax, [edi - 0x1f40]
+shl eax, 2
+mov ecx, eax
+shl eax, 3
+sub eax, ecx
+mov ecx, dword [ref_00498e78] ; mov ecx, dword [0x498e78]
+jmp near loc_004177d1 ; jmp 0x4177d1
+
+loc_00417b7e:
+test byte [esp + 0x4c], 0xff
+je short loc_00417bad ; je 0x417bad
+mov ecx, dword [esp + 0x4c]
+push ecx
+call fcn_0040d293 ; call 0x40d293
+add esp, 4
+cmp eax, 4
+jl short loc_00417ba1 ; jl 0x417ba1
+mov ebp, dword [eax*4 + ref_0047ed5a] ; mov ebp, dword [eax*4 + 0x47ed5a]
+push ebp
+jmp short loc_00417bdb ; jmp 0x417bdb
+
+loc_00417ba1:
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+jmp short loc_00417bdb ; jmp 0x417bdb
+
+loc_00417bad:
+mov eax, dword [esp + 0x4c]
+and eax, 0x7f00
+sar eax, 8
+mov dword [esp + 0x4c], eax
+lea ecx, [eax - 1]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+mov al, byte [eax*8 + ref_00496d08] ; mov al, byte [eax*8 + 0x496d08]
+and eax, 0xff
+mov edx, dword [eax*4 + ref_0047ed76] ; mov edx, dword [eax*4 + 0x47ed76]
+push edx
+
+loc_00417bdb:
+lea eax, [esp + 4]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+push 2
+add ebx, 0x19
+push ebx
+push esi
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00417bfe:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ecx, dword [eax]
+push 0
+push eax
+call dword [ecx + 0x80] ; ucall
+lea eax, [esp + 0x3c]
+push eax
+add dword [esp + 0x44], 0x28
+add dword [esp + 0x4c], 0x28
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ecx, dword [eax]
+push 0x10
+lea ebx, [esp + 0x40]
+push ebx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x4c]
+push ebp
+mov edx, dword [esp + 0x4c]
+push edx
+push eax
+call dword [ecx + 0x1c] ; ucall
+lea eax, [esp + 0x3c]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov dword [ref_00475270], 1 ; mov dword [0x475270], 1
+
+loc_00417c5f:
+add esp, 0x50
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00417c67:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [ref_0048bdf0] ; mov edx, dword [0x48bdf0]
+push edx
+mov ecx, dword [ref_0048bdf4] ; mov ecx, dword [0x48bdf4]
+push ecx
+mov ebx, dword [ref_0048bde0] ; mov ebx, dword [0x48bde0]
+push ebx
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048bdf4] ; mov eax, dword [0x48bdf4]
+mov dword [esp], eax
+mov eax, dword [ref_0048bdf0] ; mov eax, dword [0x48bdf0]
+mov dword [esp + 4], eax
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+movsx edx, word [eax + 0xc]
+mov ecx, dword [esp]
+add ecx, edx
+mov dword [esp + 8], ecx
+movsx eax, word [eax + 0xe]
+mov edx, dword [esp + 4]
+add edx, eax
+mov dword [esp + 0xc], edx
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x10]
+push ebp
+mov ecx, dword [esp + 0x10]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+xor ebx, ebx
+mov dword [ref_00475270], ebx ; mov dword [0x475270], ebx
+push 1
+call fcn_00417191 ; call 0x417191
+jmp near loc_00415f44 ; jmp 0x415f44
+
+endloc_00417d36:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_00417d39: ; may contain a jump table
+dd loc_00417d9f
+dd loc_00417dad
+dd loc_00417db6
+dd loc_00417dbd
+dd loc_00417dcb
+dd loc_00417dd2
+dd loc_00417dd9
+dd loc_00417de0
+dd loc_00417de7
+dd loc_00417dee
+dd loc_00417df5
+
+fcn_00417d65:
+push ebx
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+call fcn_00419703 ; call 0x419703
+mov dword [ref_0048bde4], 0xffffffff ; mov dword [0x48bde4], 0xffffffff
+push 1
+call fcn_00415d31 ; call 0x415d31
+add esp, 4
+mov ecx, dword [esp + 8]
+cmp ecx, 0xa
+ja near loc_00417dff ; ja 0x417dff
+mov eax, ecx
+jmp dword [eax*4 + ref_00417d39] ; ujmp: jmp dword [eax*4 + 0x417d39]
+
+loc_00417d9f:
+push 0x3c
+push 0x14
+call fcn_0044eb39 ; call 0x44eb39
+add esp, 8
+jmp short loc_00417dff ; jmp 0x417dff
+
+loc_00417dad:
+push 1
+call fcn_00411b53 ; call 0x411b53
+jmp short loc_00417dfc ; jmp 0x417dfc
+
+loc_00417db6:
+call fcn_0041e345 ; call 0x41e345
+jmp short loc_00417dff ; jmp 0x417dff
+
+loc_00417dbd:
+push 1
+call fcn_00403d74 ; call 0x403d74
+add esp, 4
+mov ebx, eax
+jmp short loc_00417dff ; jmp 0x417dff
+
+loc_00417dcb:
+call fcn_00404165 ; call 0x404165
+jmp short loc_00417dff ; jmp 0x417dff
+
+loc_00417dd2:
+call fcn_0040a9bd ; call 0x40a9bd
+jmp short loc_00417dff ; jmp 0x417dff
+
+loc_00417dd9:
+call fcn_00424492 ; call 0x424492
+jmp short loc_00417dff ; jmp 0x417dff
+
+loc_00417de0:
+call fcn_00447d97 ; call 0x447d97
+jmp short loc_00417dff ; jmp 0x417dff
+
+loc_00417de7:
+call fcn_00441baa ; call 0x441baa
+jmp short loc_00417dff ; jmp 0x417dff
+
+loc_00417dee:
+call fcn_004284be ; call 0x4284be
+jmp short loc_00417dff ; jmp 0x417dff
+
+loc_00417df5:
+push 0
+call fcn_0042b58f ; call 0x42b58f
+
+loc_00417dfc:
+add esp, 4
+
+loc_00417dff:
+call fcn_0040defe ; call 0x40defe
+cmp eax, 1
+jne short loc_00417e24 ; jne 0x417e24
+cmp dword [esp + 8], 3
+jne short loc_00417e15 ; jne 0x417e15
+cmp ebx, 0xffffffff
+jne short loc_00417e24 ; jne 0x417e24
+
+loc_00417e15:
+call fcn_004196f1 ; call 0x4196f1
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+
+loc_00417e24:
+pop ebx
+ret
+
+fcn_00417e26:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x24
+mov esi, dword [esp + 0x38]
+mov eax, dword [esp + 0x3c]
+mov ecx, dword [esp + 0x40]
+mov edx, dword [esp + 0x44]
+cmp dword [ref_00475118], 0 ; cmp dword [0x475118], 0
+jne short loc_00417e56 ; jne 0x417e56
+
+loc_00417e46:
+push edx
+push ecx
+push eax
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00418c32 ; jmp 0x418c32
+
+loc_00417e56:
+mov ebx, edx
+shr ebx, 0x10
+and ebx, 0xffff
+cmp eax, 0x201
+jb short loc_00417e95 ; jb 0x417e95
+jbe near loc_00418151 ; jbe 0x418151
+cmp eax, 0x203
+jb near loc_004186cb ; jb 0x4186cb
+jbe near loc_00418151 ; jbe 0x418151
+cmp eax, 0x205
+jb short loc_00417e46 ; jb 0x417e46
+jbe near loc_00418893 ; jbe 0x418893
+cmp eax, 0x401
+je short loc_00417eba ; je 0x417eba
+jmp short loc_00417e46 ; jmp 0x417e46
+
+loc_00417e95:
+cmp eax, 0x113
+jb short loc_00417eaf ; jb 0x417eaf
+jbe near loc_00418b7a ; jbe 0x418b7a
+cmp eax, 0x200
+je near loc_00418910 ; je 0x418910
+jmp short loc_00417e46 ; jmp 0x417e46
+
+loc_00417eaf:
+cmp eax, 0xf
+je near loc_00418bb9 ; je 0x418bb9
+jmp short loc_00417e46 ; jmp 0x417e46
+
+loc_00417eba:
+push 1
+push 2
+push 0
+push 0x101010
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0
+push 0x50
+push 0xa
+push ref_00463920 ; push 0x463920
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x91
+push 0xa
+push ref_00463927 ; push 0x463927
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0xd0
+push 0xa
+push ref_0046392e ; push 0x46392e
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x50
+push 0xa
+push ref_00463935 ; push 0x463935
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x91
+push 0xa
+push ref_0046390c ; push 0x46390c
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0xd0
+push 0xa
+push ref_0046393c ; push 0x46393c
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x50
+push 0xa
+push ref_00463943 ; push 0x463943
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x91
+push 0xa
+push ref_0046394a ; push 0x46394a
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0xd0
+push 0xa
+push ref_00463951 ; push 0x463951
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x50
+push 0xa
+push ref_00463958 ; push 0x463958
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x30
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x91
+push 0xa
+push ref_0046395f ; push 0x46395f
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x30
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0xd0
+push 0xa
+push ref_00463966 ; push 0x463966
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x30
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edi, edi
+mov dword [ref_0048be24], edi ; mov dword [0x48be24], edi
+push 1
+push 2
+push edi
+push 0x101010
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push ref_00463920 ; push 0x463920
+lea eax, [esp + 4]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+push edi
+push 0x28
+push 0x5a
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x3c
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ref_00463927 ; push 0x463927
+lea eax, [esp + 4]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+push edi
+push 0x3e
+push 0x5a
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048be0c] ; mov eax, dword [0x48be0c]
+add eax, 0x3c
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+mov dword [ref_0048bdec], eax ; mov dword [0x48bdec], eax
+mov eax, dword [ref_00475288] ; mov eax, dword [0x475288]
+mov dword [ref_0048bde8], eax ; mov dword [0x48bde8], eax
+mov eax, dword [ref_0048be04] ; mov eax, dword [0x48be04]
+movsx edx, word [eax + 0xc]
+mov dword [ref_0048bdd8], edx ; mov dword [0x48bdd8], edx
+movsx eax, word [eax + 0xe]
+mov dword [ref_0048bddc], eax ; mov dword [0x48bddc], eax
+mov dword [ref_0048bdd4], edi ; mov dword [0x48bdd4], edi
+push edi
+push 0x1f4
+mov eax, dword [ref_0046cad8] ; mov eax, dword [0x46cad8]
+push eax
+push esi
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048bdc8], eax ; mov dword [0x48bdc8], eax
+mov dword [ref_0048bdd0], edi ; mov dword [0x48bdd0], edi
+mov dword [ref_00475270], edi ; mov dword [0x475270], edi
+push 0x1e0
+push 0x1b8
+push 0x28
+push edi
+call fcn_0045577c ; call 0x45577c
+add esp, 0x10
+mov dword [ref_0048bde4], 0xffffffff ; mov dword [0x48bde4], 0xffffffff
+xor ah, ah
+mov byte [ref_0048be28], ah ; mov byte [0x48be28], ah
+xor dl, dl
+mov byte [ref_0048be29], dl ; mov byte [0x48be29], dl
+xor dh, dh
+mov byte [ref_0048be2a], dh ; mov byte [0x48be2a], dh
+mov byte [ref_0046cafe], 1 ; mov byte [0x46cafe], 1
+push edi
+push edi
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_00418151:
+cmp byte [ref_0046cafd], 0 ; cmp byte [0x46cafd], 0
+je near loc_00418c30 ; je 0x418c30
+xor esi, esi
+mov si, dx
+shr edx, 0x10
+and edx, 0xffff
+and edx, 0xffff
+mov ecx, dword [ref_00475284] ; mov ecx, dword [0x475284]
+cmp esi, ecx
+jl near loc_004182fa ; jl 0x4182fa
+mov ebx, dword [ref_0048bdd8] ; mov ebx, dword [0x48bdd8]
+lea eax, [ecx + ebx]
+cmp esi, eax
+jg near loc_004182fa ; jg 0x4182fa
+mov edi, dword [ref_00475288] ; mov edi, dword [0x475288]
+cmp edx, edi
+jl near loc_004182fa ; jl 0x4182fa
+mov ebp, dword [ref_0048bddc] ; mov ebp, dword [0x48bddc]
+lea eax, [edi + ebp]
+cmp edx, eax
+jg near loc_004182fa ; jg 0x4182fa
+mov ebx, esi
+sub ebx, ecx
+sub edx, edi
+mov esi, edx
+mov eax, dword [ref_0048bdd8] ; mov eax, dword [0x48bdd8]
+imul eax, edx
+add eax, ebx
+mov edx, dword [ref_0048be08] ; mov edx, dword [0x48be08]
+add eax, edx
+mov dl, byte [eax]
+add dl, 0xa
+mov byte [ref_0048be28], dl ; mov byte [0x48be28], dl
+mov al, byte [eax]
+add al, 0xa
+cmp al, 0xc
+jb short loc_004181f0 ; jb 0x4181f0
+jbe near loc_004182b5 ; jbe 0x4182b5
+cmp al, 0xd
+je near loc_004182cd ; je 0x4182cd
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_004181f0:
+cmp al, 0xb
+jne near loc_00418c30 ; jne 0x418c30
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba0], 0 ; cmp byte [eax + 0x496ba0], 0
+jne near loc_00418c30 ; jne 0x418c30
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+cmp al, 1
+jb near loc_004182a6 ; jb 0x4182a6
+jbe short loc_0041823b ; jbe 0x41823b
+cmp al, 2
+je short loc_00418274 ; je 0x418274
+jmp near loc_004182a6 ; jmp 0x4182a6
+
+loc_0041823b:
+xor ebx, ebx
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+jmp short loc_0041824b ; jmp 0x41824b
+
+loc_00418245:
+inc ebx
+cmp ebx, 2
+jge short loc_004182a6 ; jge 0x4182a6
+
+loc_0041824b:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+sub eax, ebx
+lea edx, [eax + 0x10]
+cmp esi, edx
+jl short loc_00418245 ; jl 0x418245
+add eax, 0x20
+cmp esi, eax
+jg short loc_00418245 ; jg 0x418245
+mov dl, bl
+inc dl
+imul eax, ebp, 0x68
+mov byte [eax + ref_00496b7a], dl ; mov byte [eax + 0x496b7a], dl
+jmp short loc_00418245 ; jmp 0x418245
+
+loc_00418274:
+xor ebx, ebx
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+jmp short loc_00418284 ; jmp 0x418284
+
+loc_0041827e:
+inc ebx
+cmp ebx, 3
+jge short loc_004182a6 ; jge 0x4182a6
+
+loc_00418284:
+mov eax, ebx
+shl eax, 4
+lea edx, [eax + 9]
+cmp esi, edx
+jl short loc_0041827e ; jl 0x41827e
+add eax, 0x19
+cmp esi, eax
+jg short loc_0041827e ; jg 0x41827e
+mov dl, bl
+inc dl
+imul eax, edi, 0x68
+mov byte [eax + ref_00496b7a], dl ; mov byte [eax + 0x496b7a], dl
+jmp short loc_0041827e ; jmp 0x41827e
+
+loc_004182a6:
+push 1
+call fcn_00417191 ; call 0x417191
+
+loc_004182ad:
+add esp, 4
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_004182b5:
+mov dword [ref_0048be2b], ebx ; mov dword [0x48be2b], ebx
+mov dword [ref_0048be2f], esi ; mov dword [0x48be2f], esi
+mov byte [ref_0048be2a], 1 ; mov byte [0x48be2a], 1
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_004182cd:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+call fcn_00419703 ; call 0x419703
+call fcn_0041d546 ; call 0x41d546
+call fcn_0040dd1f ; call 0x40dd1f
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_004182fa:
+cmp byte [ref_0049715d], 2 ; cmp byte [0x49715d], 2
+je short loc_0041835f ; je 0x41835f
+cmp esi, 0x268
+jl short loc_0041835f ; jl 0x41835f
+cmp edx, 0x118
+jge short loc_0041835f ; jge 0x41835f
+mov ebx, 0x46
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov ebx, eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov al, byte [eax + ref_0048be24] ; mov al, byte [eax + 0x48be24]
+and eax, 0xff
+cmp eax, ebx
+je near loc_00418c30 ; je 0x418c30
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov byte [eax + ref_0048be24], bl ; mov byte [eax + 0x48be24], bl
+push 1
+call fcn_00415f69 ; call 0x415f69
+jmp near loc_004182ad ; jmp 0x4182ad
+
+loc_0041835f:
+cmp byte [ref_0049715d], 1 ; cmp byte [0x49715d], 1
+je near loc_00418415 ; je 0x418415
+cmp esi, 0x1b8
+jle near loc_00418415 ; jle 0x418415
+cmp edx, 0x118
+jle near loc_00418415 ; jle 0x418415
+cmp edx, 0x120
+jl near loc_00418c30 ; jl 0x418c30
+cmp edx, 0x13a
+jg near loc_00418c30 ; jg 0x418c30
+cmp esi, 0x1c0
+jl short loc_004183d8 ; jl 0x4183d8
+cmp esi, 0x1da
+jg short loc_004183d8 ; jg 0x4183d8
+cmp byte [ref_00497164], 0 ; cmp byte [0x497164], 0
+je short loc_004183d8 ; je 0x4183d8
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+xor bl, bl
+mov byte [ref_00497164], bl ; mov byte [0x497164], bl
+
+loc_004183cc:
+push 1
+call fcn_004169bc ; call 0x4169bc
+jmp near loc_004182ad ; jmp 0x4182ad
+
+loc_004183d8:
+cmp esi, 0x1de
+jl near loc_00418c30 ; jl 0x418c30
+cmp esi, 0x1f8
+jg near loc_00418c30 ; jg 0x418c30
+cmp byte [ref_00497164], 0 ; cmp byte [0x497164], 0
+jne near loc_00418c30 ; jne 0x418c30
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov byte [ref_00497164], 1 ; mov byte [0x497164], 1
+jmp short loc_004183cc ; jmp 0x4183cc
+
+loc_00418415:
+mov ch, byte [ref_0049715d] ; mov ch, byte [0x49715d]
+test ch, ch
+je near loc_00418670 ; je 0x418670
+cmp esi, 0x1b8
+jle near loc_00418670 ; jle 0x418670
+xor eax, eax
+mov al, ch
+shl eax, 2
+mov ecx, dword [eax + ref_004752aa] ; mov ecx, dword [eax + 0x4752aa]
+cmp edx, ecx
+jle near loc_00418670 ; jle 0x418670
+lea ebx, [ecx + 0xc8]
+cmp edx, ebx
+jge near loc_00418670 ; jge 0x418670
+lea ebx, [esi - 0x1b8]
+mov esi, edx
+sub esi, ecx
+cmp ebx, 3
+jl near loc_00418591 ; jl 0x418591
+cmp ebx, 0x35
+jg near loc_00418591 ; jg 0x418591
+cmp esi, 3
+jl near loc_00418591 ; jl 0x418591
+cmp esi, 0x1c
+jg near loc_00418591 ; jg 0x418591
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+lea edx, [ebx - 3]
+mov ebx, 0x19
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+inc eax
+mov byte [ref_0048be28], al ; mov byte [0x48be28], al
+xor eax, eax
+mov al, byte [ref_0048be28] ; mov al, byte [0x48be28]
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+lea edx, [eax + 0x1bb]
+mov dword [esp + 0x14], edx
+add eax, 0x1d4
+mov dword [esp + 0x1c], eax
+xor edx, edx
+mov dl, byte [ref_0049715d] ; mov dl, byte [0x49715d]
+mov eax, dword [edx*4 + ref_004752aa] ; mov eax, dword [edx*4 + 0x4752aa]
+add eax, 3
+mov dword [esp + 0x18], eax
+mov eax, dword [edx*4 + ref_004752aa] ; mov eax, dword [edx*4 + 0x4752aa]
+add eax, 0x1c
+mov dword [esp + 0x20], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0x18]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+xor edx, edx
+mov dl, byte [ref_0048be28] ; mov dl, byte [0x48be28]
+add edx, 0x11
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+lea eax, [esp + 0x14]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0x18]
+push ebx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x24]
+push ebp
+mov ecx, dword [esp + 0x24]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x14]
+push eax
+call fcn_00402250 ; call 0x402250
+jmp near loc_004182ad ; jmp 0x4182ad
+
+loc_00418591:
+mov byte [ref_0048be29], 1 ; mov byte [0x48be29], 1
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 0xd
+mov ebx, eax
+shl eax, 5
+sub eax, ebx
+mov ebx, eax
+sar ebx, 0x10
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 0xd
+mov esi, eax
+shl eax, 5
+sub eax, esi
+mov esi, eax
+sar esi, 0x10
+cmp ebx, dword [ref_0048be1c] ; cmp ebx, dword [0x48be1c]
+jne short loc_004185d8 ; jne 0x4185d8
+cmp esi, dword [ref_0048be20] ; cmp esi, dword [0x48be20]
+je near loc_00418656 ; je 0x418656
+
+loc_004185d8:
+mov dword [ref_0048be18], 1 ; mov dword [0x48be18], 1
+mov dword [ref_0048be1c], ebx ; mov dword [0x48be1c], ebx
+mov dword [ref_0048be20], esi ; mov dword [0x48be20], esi
+cmp ebx, 0xdc
+jge short loc_00418602 ; jge 0x418602
+mov dword [ref_0048be1c], 0xdc ; mov dword [0x48be1c], 0xdc
+jmp short loc_00418614 ; jmp 0x418614
+
+loc_00418602:
+cmp ebx, 0x824
+jle short loc_00418614 ; jle 0x418614
+mov dword [ref_0048be1c], 0x824 ; mov dword [0x48be1c], 0x824
+
+loc_00418614:
+mov edi, dword [ref_0048be20] ; mov edi, dword [0x48be20]
+cmp edi, 0xdc
+jge short loc_0041862e ; jge 0x41862e
+mov dword [ref_0048be20], 0xdc ; mov dword [0x48be20], 0xdc
+jmp short loc_00418640 ; jmp 0x418640
+
+loc_0041862e:
+cmp edi, 0x824
+jle short loc_00418640 ; jle 0x418640
+mov dword [ref_0048be20], 0x824 ; mov dword [0x48be20], 0x824
+
+loc_00418640:
+push 1
+call fcn_00416e6d ; call 0x416e6d
+add esp, 4
+push 1
+call fcn_00415e70 ; call 0x415e70
+jmp near loc_004182ad ; jmp 0x4182ad
+
+loc_00418656:
+cmp dword [ref_0048be18], 0 ; cmp dword [0x48be18], 0
+je near loc_00418c30 ; je 0x418c30
+xor edx, edx
+mov dword [ref_0048be18], edx ; mov dword [0x48be18], edx
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_00418670:
+cmp esi, 0x1b8
+jge short loc_004186a7 ; jge 0x4186a7
+cmp edx, 0x28
+jge short loc_004186a7 ; jge 0x4186a7
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov ebx, 0x28
+mov eax, esi
+mov edx, esi
+sar edx, 0x1f
+idiv ebx
+add eax, 0x64
+mov byte [ref_0048be28], al ; mov byte [0x48be28], al
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_004186a7:
+cmp esi, 0x1b8
+jge near loc_00418c30 ; jge 0x418c30
+cmp edx, 0x28
+jle near loc_00418c30 ; jle 0x418c30
+push edx
+push esi
+call fcn_00417559 ; call 0x417559
+add esp, 8
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_004186cb:
+cmp byte [ref_0046cafd], 0 ; cmp byte [0x46cafd], 0
+je near loc_00418c30 ; je 0x418c30
+cmp byte [ref_0048be29], 0 ; cmp byte [0x48be29], 0
+je short loc_004186f3 ; je 0x4186f3
+push 1
+call fcn_004024a9 ; call 0x4024a9
+add esp, 4
+xor dh, dh
+mov byte [ref_0048be29], dh ; mov byte [0x48be29], dh
+
+loc_004186f3:
+mov bl, byte [ref_0048be28] ; mov bl, byte [0x48be28]
+cmp bl, 1
+je short loc_00418707 ; je 0x418707
+cmp bl, 2
+jne near loc_00418855 ; jne 0x418855
+
+loc_00418707:
+cmp byte [ref_0048be28], 1 ; cmp byte [0x48be28], 1
+jne short loc_0041873b ; jne 0x41873b
+mov esi, dword [ref_00499088] ; mov esi, dword [0x499088]
+dec esi
+mov dword [ref_00499088], esi ; mov dword [0x499088], esi
+mov edi, esi
+and edi, 7
+mov dword [ref_00499088], edi ; mov dword [0x499088], edi
+mov ebp, 0xffffffff
+mov dword [ref_00474930], ebp ; mov dword [0x474930], ebp
+mov dword [ref_00474934], ebp ; mov dword [0x474934], ebp
+jmp short loc_00418762 ; jmp 0x418762
+
+loc_0041873b:
+mov eax, dword [ref_00499088] ; mov eax, dword [0x499088]
+inc eax
+mov dword [ref_00499088], eax ; mov dword [0x499088], eax
+mov edx, eax
+and edx, 7
+mov dword [ref_00499088], edx ; mov dword [0x499088], edx
+mov ecx, 0xffffffff
+mov dword [ref_00474930], ecx ; mov dword [0x474930], ecx
+mov dword [ref_00474934], ecx ; mov dword [0x474934], ecx
+
+loc_00418762:
+xor edx, edx
+mov dl, byte [ref_0048be28] ; mov dl, byte [0x48be28]
+dec edx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+lea edx, [eax + 0x1bb]
+mov dword [esp + 0x14], edx
+add eax, 0x1d4
+mov dword [esp + 0x1c], eax
+xor edx, edx
+mov dl, byte [ref_0049715d] ; mov dl, byte [0x49715d]
+mov eax, dword [edx*4 + ref_004752aa] ; mov eax, dword [edx*4 + 0x4752aa]
+add eax, 3
+mov dword [esp + 0x18], eax
+mov eax, dword [edx*4 + ref_004752aa] ; mov eax, dword [edx*4 + 0x4752aa]
+add eax, 0x1c
+mov dword [esp + 0x20], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp + 0x18]
+push edx
+mov ecx, dword [esp + 0x18]
+push ecx
+xor edx, edx
+mov dl, byte [ref_0048be28] ; mov dl, byte [0x48be28]
+add edx, 0x13
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+lea eax, [esp + 0x14]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0x18]
+push ebx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x24]
+push edi
+mov ebp, dword [esp + 0x24]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x14]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+push 1
+call fcn_00415e70 ; call 0x415e70
+jmp short loc_00418875 ; jmp 0x418875
+
+loc_00418855:
+cmp bl, 0xc
+jne short loc_00418863 ; jne 0x418863
+xor al, al
+mov byte [ref_0048be2a], al ; mov byte [0x48be2a], al
+jmp short loc_00418878 ; jmp 0x418878
+
+loc_00418863:
+cmp bl, 0x64
+jb short loc_00418878 ; jb 0x418878
+xor eax, eax
+mov al, bl
+sub eax, 0x64
+push eax
+call fcn_00417d65 ; call 0x417d65
+
+loc_00418875:
+add esp, 4
+
+loc_00418878:
+cmp dword [ref_00475270], 0 ; cmp dword [0x475270], 0
+je short loc_00418886 ; je 0x418886
+call fcn_00417c67 ; call 0x417c67
+
+loc_00418886:
+xor dl, dl
+mov byte [ref_0048be28], dl ; mov byte [0x48be28], dl
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_00418893:
+xor esi, esi
+mov si, dx
+xor edx, edx
+mov dx, bx
+cmp byte [ref_0046cafd], 0 ; cmp byte [0x46cafd], 0
+je near loc_00418c30 ; je 0x418c30
+cmp dword [ref_0048be18], 0 ; cmp dword [0x48be18], 0
+je near loc_00418c30 ; je 0x418c30
+mov cl, byte [ref_0049715d] ; mov cl, byte [0x49715d]
+test cl, cl
+je near loc_00418c30 ; je 0x418c30
+cmp esi, 0x1b8
+jle near loc_00418c30 ; jle 0x418c30
+xor ebx, ebx
+cmp cl, 1
+jne short loc_004188e5 ; jne 0x4188e5
+cmp edx, 0x118
+jle short loc_004188e5 ; jle 0x4188e5
+mov ebx, 1
+
+loc_004188e5:
+cmp byte [ref_0049715d], 2 ; cmp byte [0x49715d], 2
+jne short loc_004188fb ; jne 0x4188fb
+cmp edx, 0x50
+jle short loc_004188fb ; jle 0x4188fb
+cmp edx, 0x118
+jl short loc_00418903 ; jl 0x418903
+
+loc_004188fb:
+test ebx, ebx
+je near loc_00418c30 ; je 0x418c30
+
+loc_00418903:
+xor ebp, ebp
+mov dword [ref_0048be18], ebp ; mov dword [0x48be18], ebp
+jmp near loc_00418640 ; jmp 0x418640
+
+loc_00418910:
+cmp byte [ref_0046cafd], 0 ; cmp byte [0x46cafd], 0
+je near loc_00418c30 ; je 0x418c30
+xor esi, esi
+mov si, dx
+xor edx, edx
+mov dx, bx
+cmp byte [ref_0048be29], 0 ; cmp byte [0x48be29], 0
+je near loc_00418a73 ; je 0x418a73
+cmp byte [ref_0049715d], 1 ; cmp byte [0x49715d], 1
+jne short loc_0041895b ; jne 0x41895b
+cmp esi, 0x1b8
+jle short loc_0041895b ; jle 0x41895b
+cmp edx, 0x118
+jle short loc_0041895b ; jle 0x41895b
+lea ebx, [esi - 0x1b8]
+lea esi, [edx - 0x118]
+jmp short loc_0041899b ; jmp 0x41899b
+
+loc_0041895b:
+cmp byte [ref_0049715d], 2 ; cmp byte [0x49715d], 2
+jne short loc_00418984 ; jne 0x418984
+cmp esi, 0x1b8
+jle short loc_00418984 ; jle 0x418984
+cmp edx, 0x50
+jle short loc_00418984 ; jle 0x418984
+cmp edx, 0x118
+jge short loc_00418984 ; jge 0x418984
+lea ebx, [esi - 0x1b8]
+lea esi, [edx - 0x50]
+jmp short loc_0041899b ; jmp 0x41899b
+
+loc_00418984:
+push 1
+call fcn_004024a9 ; call 0x4024a9
+add esp, 4
+xor cl, cl
+mov byte [ref_0048be29], cl ; mov byte [0x48be29], cl
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_0041899b:
+cmp byte [ref_0048be29], 0 ; cmp byte [0x48be29], 0
+je near loc_00418c30 ; je 0x418c30
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 0xd
+mov ebx, eax
+shl eax, 5
+sub eax, ebx
+mov ebx, eax
+sar ebx, 0x10
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 0xd
+mov esi, eax
+shl eax, 5
+sub eax, esi
+mov esi, eax
+sar esi, 0x10
+cmp ebx, dword [ref_0048be1c] ; cmp ebx, dword [0x48be1c]
+jne short loc_004189e8 ; jne 0x4189e8
+cmp esi, dword [ref_0048be20] ; cmp esi, dword [0x48be20]
+je near loc_00418656 ; je 0x418656
+
+loc_004189e8:
+mov dword [ref_0048be1c], ebx ; mov dword [0x48be1c], ebx
+mov dword [ref_0048be20], esi ; mov dword [0x48be20], esi
+cmp ebx, 0xdc
+jge short loc_00418a08 ; jge 0x418a08
+mov dword [ref_0048be1c], 0xdc ; mov dword [0x48be1c], 0xdc
+jmp short loc_00418a1a ; jmp 0x418a1a
+
+loc_00418a08:
+cmp ebx, 0x824
+jle short loc_00418a1a ; jle 0x418a1a
+mov dword [ref_0048be1c], 0x824 ; mov dword [0x48be1c], 0x824
+
+loc_00418a1a:
+mov esi, dword [ref_0048be20] ; mov esi, dword [0x48be20]
+cmp esi, 0xdc
+jge short loc_00418a34 ; jge 0x418a34
+mov dword [ref_0048be20], 0xdc ; mov dword [0x48be20], 0xdc
+jmp short loc_00418a46 ; jmp 0x418a46
+
+loc_00418a34:
+cmp esi, 0x824
+jle short loc_00418a46 ; jle 0x418a46
+mov dword [ref_0048be20], 0x824 ; mov dword [0x48be20], 0x824
+
+loc_00418a46:
+push 1
+call fcn_00416e6d ; call 0x416e6d
+add esp, 4
+push 1
+call fcn_00415e70 ; call 0x415e70
+add esp, 4
+push 0
+call fcn_004024a9 ; call 0x4024a9
+add esp, 4
+mov dword [ref_0048be18], 1 ; mov dword [0x48be18], 1
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_00418a73:
+cmp byte [ref_0048be2a], 0 ; cmp byte [0x48be2a], 0
+je near loc_00418b0a ; je 0x418b0a
+mov edi, dword [ref_0048be2b] ; mov edi, dword [0x48be2b]
+mov ebx, esi
+sub ebx, edi
+mov ebp, dword [ref_0048be2f] ; mov ebp, dword [0x48be2f]
+mov esi, edx
+sub esi, ebp
+cmp ebx, dword [ref_00475284] ; cmp ebx, dword [0x475284]
+jne short loc_00418aa8 ; jne 0x418aa8
+cmp esi, dword [ref_00475288] ; cmp esi, dword [0x475288]
+je near loc_00418c30 ; je 0x418c30
+
+loc_00418aa8:
+mov dword [ref_00475284], ebx ; mov dword [0x475284], ebx
+mov dword [ref_00475288], esi ; mov dword [0x475288], esi
+test ebx, ebx
+jge short loc_00418ac0 ; jge 0x418ac0
+xor ecx, ecx
+mov dword [ref_00475284], ecx ; mov dword [0x475284], ecx
+
+loc_00418ac0:
+mov eax, 0x280
+sub eax, dword [ref_0048bdd8] ; sub eax, dword [0x48bdd8]
+cmp eax, dword [ref_00475284] ; cmp eax, dword [0x475284]
+jge short loc_00418ad8 ; jge 0x418ad8
+mov dword [ref_00475284], eax ; mov dword [0x475284], eax
+
+loc_00418ad8:
+cmp dword [ref_00475288], 0 ; cmp dword [0x475288], 0
+jge short loc_00418ae9 ; jge 0x418ae9
+xor ebp, ebp
+mov dword [ref_00475288], ebp ; mov dword [0x475288], ebp
+
+loc_00418ae9:
+mov eax, 0x1e0
+sub eax, dword [ref_0048bddc] ; sub eax, dword [0x48bddc]
+cmp eax, dword [ref_00475288] ; cmp eax, dword [0x475288]
+jge near loc_004182a6 ; jge 0x4182a6
+mov dword [ref_00475288], eax ; mov dword [0x475288], eax
+jmp near loc_004182a6 ; jmp 0x4182a6
+
+loc_00418b0a:
+cmp esi, 0x1b8
+jge short loc_00418b46 ; jge 0x418b46
+cmp edx, 0x28
+jge short loc_00418b46 ; jge 0x418b46
+mov ebx, 0x28
+mov eax, esi
+mov edx, esi
+sar edx, 0x1f
+idiv ebx
+mov ebx, eax
+cmp eax, dword [ref_0048bde4] ; cmp eax, dword [0x48bde4]
+je short loc_00418b63 ; je 0x418b63
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dword [ref_0048bde4], ebx ; mov dword [0x48bde4], ebx
+jmp short loc_00418b59 ; jmp 0x418b59
+
+loc_00418b46:
+cmp dword [ref_0048bde4], 0xffffffff ; cmp dword [0x48bde4], 0xffffffff
+je short loc_00418b63 ; je 0x418b63
+mov dword [ref_0048bde4], 0xffffffff ; mov dword [0x48bde4], 0xffffffff
+
+loc_00418b59:
+push 1
+call fcn_00415d31 ; call 0x415d31
+add esp, 4
+
+loc_00418b63:
+cmp dword [ref_00475270], 0 ; cmp dword [0x475270], 0
+je near loc_00418c30 ; je 0x418c30
+call fcn_00417c67 ; call 0x417c67
+jmp near loc_00418c30 ; jmp 0x418c30
+
+loc_00418b7a:
+cmp ecx, dword [ref_0046cad8] ; cmp ecx, dword [0x46cad8]
+jne near loc_00418c30 ; jne 0x418c30
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_00418c30 ; je 0x418c30
+cmp byte [ref_0046cafd], 0 ; cmp byte [0x46cafd], 0
+je near loc_00418c30 ; je 0x418c30
+cmp dword [ref_00475270], 0 ; cmp dword [0x475270], 0
+jne near loc_00418c30 ; jne 0x418c30
+xor byte [ref_0048bdd4], 1 ; xor byte [0x48bdd4], 1
+jmp near loc_004182a6 ; jmp 0x4182a6
+
+loc_00418bb9:
+push 0
+call fcn_00415d31 ; call 0x415d31
+add esp, 4
+push 0
+call fcn_00415e70 ; call 0x415e70
+add esp, 4
+mov al, byte [ref_0049715d] ; mov al, byte [0x49715d]
+cmp al, 1
+jb short loc_00418bde ; jb 0x418bde
+jbe short loc_00418bf5 ; jbe 0x418bf5
+cmp al, 2
+je short loc_00418c08 ; je 0x418c08
+jmp short loc_00418c26 ; jmp 0x418c26
+
+loc_00418bde:
+test al, al
+jne short loc_00418c26 ; jne 0x418c26
+push 0
+call fcn_00415f69 ; call 0x415f69
+add esp, 4
+push 0
+call fcn_004169bc ; call 0x4169bc
+jmp short loc_00418c23 ; jmp 0x418c23
+
+loc_00418bf5:
+push 0
+call fcn_00415f69 ; call 0x415f69
+add esp, 4
+push 0
+call fcn_00416e6d ; call 0x416e6d
+jmp short loc_00418c23 ; jmp 0x418c23
+
+loc_00418c08:
+push 0
+call fcn_004166f8 ; call 0x4166f8
+add esp, 4
+push 0
+call fcn_00416e6d ; call 0x416e6d
+add esp, 4
+push 0
+call fcn_004169bc ; call 0x4169bc
+
+loc_00418c23:
+add esp, 4
+
+loc_00418c26:
+push 0
+push esi
+call dword [cs:__imp__ValidateRect@8] ; ucall: call dword cs:[0x462340]
+
+loc_00418c30:
+xor eax, eax
+
+loc_00418c32:
+add esp, 0x24
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+endloc_00418c3c:
+db 0x90
+
+ref_00418c3d: ; may contain a jump table
+dd loc_00418d88
+dd loc_00418d99
+dd loc_00418dc6
+dd loc_00418e7a
+dd loc_00418e7a
+dd loc_00418dc6
+
+fcn_00418c55:
+push ebx
+push esi
+push edi
+push ebp
+cmp dword [ref_00475114], 0 ; cmp dword [0x475114], 0
+je near loc_00418d2a ; je 0x418d2a
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jge near loc_00418d2a ; jge 0x418d2a
+push 0
+push 0
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+add eax, 0x22f
+push eax
+mov esi, dword [ref_0048a0e4] ; mov esi, dword [0x48a0e4]
+push esi
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0xffffffffffffffff
+push 1
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ecx, dword [ref_00475114] ; mov ecx, dword [0x475114]
+dec ecx
+imul eax, ecx, 0x68
+xor ebx, ebx
+mov bx, word [eax + ref_00496b74] ; mov bx, word [eax + 0x496b74]
+mov edx, ebx
+shl edx, 2
+add edx, ebx
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+mov dx, word [ebx + edx*8]
+mov word [eax + ref_00496b70], dx ; mov word [eax + 0x496b70], dx
+xor esi, esi
+mov si, word [eax + ref_00496b74] ; mov si, word [eax + 0x496b74]
+mov edx, esi
+shl edx, 2
+add edx, esi
+mov dx, word [ebx + edx*8 + 2]
+mov word [eax + ref_00496b72], dx ; mov word [eax + 0x496b72], dx
+mov dl, byte [eax + ref_00496bcc] ; mov dl, byte [eax + 0x496bcc]
+mov byte [eax + ref_00496b7d], dl ; mov byte [eax + 0x496b7d], dl
+push ecx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+xor edi, edi
+mov dword [ref_00475114], edi ; mov dword [0x475114], edi
+push 1
+push edi
+push edi
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+
+loc_00418d2a:
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp ebp, 4
+jge short loc_00418d41 ; jge 0x418d41
+imul eax, ebp, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+jne short loc_00418d5f ; jne 0x418d5f
+
+loc_00418d41:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+cmp ecx, 4
+jl short loc_00418d6e ; jl 0x418d6e
+cmp ecx, 8
+jge short loc_00418d6e ; jge 0x418d6e
+mov eax, ecx
+shl eax, 4
+cmp byte [eax + ref_00498df2], 0 ; cmp byte [eax + 0x498df2], 0
+jne short loc_00418d6e ; jne 0x418d6e
+
+loc_00418d5f:
+push 1
+call fcn_00416e6d ; call 0x416e6d
+add esp, 4
+call fcn_0041d546 ; call 0x41d546
+
+loc_00418d6e:
+push 0
+call fcn_0040c912 ; call 0x40c912
+add esp, 4
+cmp eax, 5
+ja near loc_00418e7a ; ja 0x418e7a
+jmp dword [eax*4 + ref_00418c3d] ; ujmp: jmp dword [eax*4 + 0x418c3d]
+
+loc_00418d88:
+call fcn_00418e7f ; call 0x418e7f
+mov byte [ref_0046cafb], 1 ; mov byte [0x46cafb], 1
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00418d99:
+call fcn_004196f1 ; call 0x4196f1
+mov eax, dword [ref_00475288] ; mov eax, dword [0x475288]
+add eax, 0x22
+push eax
+mov eax, dword [ref_00475284] ; mov eax, dword [0x475284]
+add eax, 0x2e
+push eax
+call dword [cs:__imp__SetCursorPos@8] ; ucall: call dword cs:[0x46231c]
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00418dc6:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+cmp esi, 4
+jge near loc_00418e75 ; jge 0x418e75
+imul eax, esi, 0x68
+test byte [eax + ref_00496b7d], 0x30 ; test byte [eax + 0x496b7d], 0x30
+jne near loc_00418e75 ; jne 0x418e75
+push esi
+call fcn_0042bf03 ; call 0x42bf03
+add esp, 4
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0042c79f ; call 0x42c79f
+add esp, 4
+push 0
+call fcn_00436b0a ; call 0x436b0a
+add esp, 4
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne near loc_00418e7a ; jne 0x418e7a
+call fcn_004284be ; call 0x4284be
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_00418e28 ; je 0x418e28
+call fcn_00441baa ; call 0x441baa
+jmp short loc_00418e2d ; jmp 0x418e2d
+
+loc_00418e28:
+call fcn_00447d97 ; call 0x447d97
+
+loc_00418e2d:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne short loc_00418e51 ; jne 0x418e51
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne short loc_00418e51 ; jne 0x418e51
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+je short loc_00418e64 ; je 0x418e64
+
+loc_00418e51:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+or byte [eax + ref_00498ea0], 0x80 ; or byte [eax + 0x498ea0], 0x80
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00418e64:
+imul eax, edx, 0x34
+cmp byte [eax + ref_00498ea2], 1 ; cmp byte [eax + 0x498ea2], 1
+je short loc_00418e7a ; je 0x418e7a
+call fcn_004221c0 ; call 0x4221c0
+
+loc_00418e75:
+call fcn_0040dd1f ; call 0x40dd1f
+
+loc_00418e7a:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00418e7f:
+push 1
+call fcn_0040c912 ; call 0x40c912
+add esp, 4
+test eax, eax
+je short loc_00418ead ; je 0x418ead
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ax, word [eax + ref_00496b74] ; mov ax, word [eax + 0x496b74]
+and eax, 0xffff
+push eax
+call fcn_0041982d ; call 0x41982d
+add esp, 4
+mov dl, al
+jmp short loc_00418eaf ; jmp 0x418eaf
+
+loc_00418ead:
+mov dl, 0x83
+
+loc_00418eaf:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov byte [eax + ref_00498ea5], dl ; mov byte [eax + 0x498ea5], dl
+ret
+
+fcn_00418ebd:
+push ebx
+push esi
+push ebp
+xor edx, edx
+mov dword [ref_0048be18], edx ; mov dword [0x48be18], edx
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+cmp ecx, 8
+jne short loc_00418efb ; jne 0x418efb
+xor eax, eax
+mov al, byte [ref_00498e70] ; mov al, byte [0x498e70]
+mov dword [ref_0049910c], eax ; mov dword [0x49910c], eax
+cmp byte [ref_00498e72], 0 ; cmp byte [0x498e72], 0
+jne short loc_00418eef ; jne 0x418eef
+mov byte [ref_00498e72], 3 ; mov byte [0x498e72], 3
+
+loc_00418eef:
+push 1
+call fcn_00415e70 ; call 0x415e70
+jmp near loc_00419055 ; jmp 0x419055
+
+loc_00418efb:
+cmp ecx, 4
+jge near loc_00418f93 ; jge 0x418f93
+imul eax, ecx, 0x68
+test byte [eax + ref_00496b7d], 0x30 ; test byte [eax + 0x496b7d], 0x30
+je near loc_00418f93 ; je 0x418f93
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+test byte [eax + ref_00496b7d], 0x10 ; test byte [eax + 0x496b7d], 0x10
+je short loc_00418f80 ; je 0x418f80
+mov bl, byte [eax + ref_00496b83] ; mov bl, byte [eax + 0x496b83]
+and bl, 0xf
+cmp bl, 0xf
+je short loc_00418f42 ; je 0x418f42
+mov byte [eax + ref_00496b78], bl ; mov byte [eax + 0x496b78], bl
+
+loc_00418f42:
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+imul eax, ebp, 0x68
+mov ax, word [eax + ref_00496b74] ; mov ax, word [eax + 0x496b74]
+and eax, 0xffff
+push eax
+push ebp
+call fcn_0040f381 ; call 0x40f381
+add esp, 8
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov ax, word [eax + ref_00496b74] ; mov ax, word [eax + 0x496b74]
+and eax, 0xffff
+push eax
+push edx
+call fcn_00448a7e ; call 0x448a7e
+add esp, 8
+
+loc_00418f80:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+and byte [eax + ref_00496b7d], 0xf ; and byte [eax + 0x496b7d], 0xf
+jmp near loc_00419058 ; jmp 0x419058
+
+loc_00418f93:
+xor ebx, ebx
+
+loc_00418f95:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+inc esi
+mov dword [ref_0049910c], esi ; mov dword [0x49910c], esi
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jne short loc_00418fb6 ; jne 0x418fb6
+mov dword [ref_0049910c], 4 ; mov dword [0x49910c], 4
+jmp short loc_00418fd4 ; jmp 0x418fd4
+
+loc_00418fb6:
+cmp esi, 8
+jne short loc_00418fca ; jne 0x418fca
+xor ecx, ecx
+mov dword [ref_0049910c], ecx ; mov dword [0x49910c], ecx
+mov ebx, 1
+jmp short loc_00418fee ; jmp 0x418fee
+
+loc_00418fca:
+cmp esi, 4
+jl short loc_00418fe5 ; jl 0x418fe5
+cmp esi, 8
+jge short loc_00418fe5 ; jge 0x418fe5
+
+loc_00418fd4:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+cmp byte [eax + ref_00498df2], 0 ; cmp byte [eax + 0x498df2], 0
+jne short loc_00418f95 ; jne 0x418f95
+
+loc_00418fe5:
+cmp dword [ref_0049910c], 4 ; cmp dword [0x49910c], 4
+jge short loc_00419008 ; jge 0x419008
+
+loc_00418fee:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+jne short loc_00419008 ; jne 0x419008
+cmp word [eax + ref_00496b70], 0 ; cmp word [eax + 0x496b70], 0
+jne short loc_00418f95 ; jne 0x418f95
+
+loc_00419008:
+cmp byte [ref_0046caff], 0 ; cmp byte [0x46caff], 0
+je short loc_0041902a ; je 0x41902a
+xor cl, cl
+mov byte [ref_0046caff], cl ; mov byte [0x46caff], cl
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+and byte [ref_00496b7d], 0xfb ; and byte [0x496b7d], 0xfb
+
+loc_0041902a:
+test ebx, ebx
+je short loc_00419033 ; je 0x419033
+call fcn_0041cf67 ; call 0x41cf67
+
+loc_00419033:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0041c84f ; call 0x41c84f
+add esp, 4
+test ebx, ebx
+je short loc_00419058 ; je 0x419058
+cmp byte [ref_0049715c], 0 ; cmp byte [0x49715c], 0
+je short loc_00419058 ; je 0x419058
+push 0
+call fcn_00402fd1 ; call 0x402fd1
+
+loc_00419055:
+add esp, 4
+
+loc_00419058:
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+or byte [eax + ref_00498ea0], 0x80 ; or byte [eax + 0x498ea0], 0x80
+pop ebp
+pop esi
+pop ebx
+ret
+
+fcn_0041906a:
+push ebx
+push esi
+push edi
+push ebp
+push 0
+push 0
+push 0xf
+mov edx, dword [ref_0048a0d4] ; mov edx, dword [0x48a0d4]
+push edx
+call fcn_00417e26 ; call 0x417e26
+cmp dword [esp + 0x14], 0
+je short loc_004190ca ; je 0x4190ca
+push 0
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov esi, dword [ref_0046cae0] ; mov esi, dword [0x46cae0]
+push esi
+mov edi, dword [ref_0046cadc] ; mov edi, dword [0x46cadc]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0
+call fcn_00402250 ; call 0x402250
+add esp, 4
+xor ebp, ebp
+mov dword [ref_00475110], ebp ; mov dword [0x475110], ebp
+
+loc_004190ca:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004190cf:
+push ebx
+push esi
+push edi
+push ebp
+mov edx, dword [ref_00475118] ; mov edx, dword [0x475118]
+test edx, edx
+jne near loc_00419223 ; jne 0x419223
+push edx
+push edx
+push edx
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048be0c], eax ; mov dword [0x48be0c], eax
+push 0
+push 0
+push 1
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_00475118], eax ; mov dword [0x475118], eax
+push 0
+push 0
+push 2
+mov esi, dword [ref_0048a05c] ; mov esi, dword [0x48a05c]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048be10], eax ; mov dword [0x48be10], eax
+push 0
+push 0
+push 3
+mov edi, dword [ref_0048a05c] ; mov edi, dword [0x48a05c]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048be14], eax ; mov dword [0x48be14], eax
+push 0
+push 0
+push 7
+mov ebp, dword [ref_0048a05c] ; mov ebp, dword [0x48a05c]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048be04], eax ; mov dword [0x48be04], eax
+push 0
+push 0
+push 8
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048be08], eax ; mov dword [0x48be08], eax
+xor ebx, ebx
+
+loc_0041917b:
+push 0
+push 0
+lea eax, [ebx + 4]
+push eax
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ebx*4 + ref_0048bdf8], eax ; mov dword [ebx*4 + 0x48bdf8], eax
+inc ebx
+cmp ebx, 3
+jl short loc_0041917b ; jl 0x41917b
+push 0
+push 0
+push 0xc8
+push 0xc8
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048bdcc], eax ; mov dword [0x48bdcc], eax
+push 0
+push 0
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+movsx edx, word [eax + 0xe]
+push edx
+movsx eax, word [eax + 0xc]
+push eax
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048bde0], eax ; mov dword [0x48bde0], eax
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+movsx edx, word [eax + 0x4c]
+mov ebx, 0xdc
+sub ebx, edx
+mov dword [ref_0048bdb8], ebx ; mov dword [0x48bdb8], ebx
+movsx edx, word [eax + 0x4e]
+mov ebx, 0x8c
+sub ebx, edx
+mov dword [ref_0048bdbc], ebx ; mov dword [0x48bdbc], ebx
+movsx ebx, word [eax + 0x48]
+mov edx, dword [ref_0048bdb8] ; mov edx, dword [0x48bdb8]
+add edx, ebx
+mov dword [ref_0048bdc0], edx ; mov dword [0x48bdc0], edx
+movsx edx, word [eax + 0x4a]
+mov eax, dword [ref_0048bdbc] ; mov eax, dword [0x48bdbc]
+add eax, edx
+mov dword [ref_0048bdc4], eax ; mov dword [0x48bdc4], eax
+
+loc_00419223:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00419228:
+push ebx
+push esi
+push edi
+push ebp
+cmp dword [ref_00475118], 0 ; cmp dword [0x475118], 0
+je near loc_004192f2 ; je 0x4192f2
+mov ecx, dword [ref_0048be0c] ; mov ecx, dword [0x48be0c]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_00475118] ; mov ebx, dword [0x475118]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048be10] ; mov esi, dword [0x48be10]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0048be14] ; mov edi, dword [0x48be14]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048be04] ; mov ebp, dword [0x48be04]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048be08] ; mov eax, dword [0x48be08]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+
+loc_00419294:
+mov edx, dword [ebx*4 + ref_0048bdf8] ; mov edx, dword [ebx*4 + 0x48bdf8]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+inc ebx
+cmp ebx, 3
+jl short loc_00419294 ; jl 0x419294
+mov ecx, dword [ref_0048bde0] ; mov ecx, dword [0x48bde0]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0048bdcc] ; mov ebx, dword [0x48bdcc]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+call fcn_004080f5 ; call 0x4080f5
+mov esi, dword [ref_0048bdc8] ; mov esi, dword [0x48bdc8]
+push esi
+mov edi, dword [ref_0048a0d4] ; mov edi, dword [0x48a0d4]
+push edi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+xor ah, ah
+mov byte [ref_0046cafe], ah ; mov byte [0x46cafe], ah
+xor ebp, ebp
+mov dword [ref_00475118], ebp ; mov dword [0x475118], ebp
+
+loc_004192f2:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004192f7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov eax, dword [ref_00475110] ; mov eax, dword [0x475110]
+and eax, 0x1f
+cmp eax, 0x1f
+jne short loc_00419351 ; jne 0x419351
+xor ebx, ebx
+mov dword [ref_00475110], ebx ; mov dword [0x475110], ebx
+mov dword [esp + 4], ebx
+mov dword [esp + 0xc], 0x1e0
+mov dword [esp], ebx
+mov dword [esp + 8], 0x280
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push ebx
+push ebx
+jmp near loc_00415f2d ; jmp 0x415f2d
+
+loc_00419351:
+mov ah, byte [ref_00475110] ; mov ah, byte [0x475110]
+test ah, 1
+je short loc_004193be ; je 0x4193be
+mov dl, ah
+and dl, 0xfe
+mov byte [ref_00475110], dl ; mov byte [0x475110], dl
+xor edx, edx
+mov dword [esp + 4], edx
+mov dword [esp + 0xc], 0x28
+xor ebx, ebx
+mov dword [esp], edx
+mov dword [esp + 8], 0x1b8
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+push ebx
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_004193be:
+mov dh, byte [ref_00475110] ; mov dh, byte [0x475110]
+test dh, 2
+je short loc_0041942f ; je 0x41942f
+mov bl, dh
+and bl, 0xfd
+mov byte [ref_00475110], bl ; mov byte [0x475110], bl
+mov ebp, 0x28
+mov dword [esp + 4], ebp
+mov dword [esp + 0xc], 0x1e0
+xor edx, edx
+mov dword [esp], edx
+mov dword [esp + 8], 0x1b8
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+push ebp
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_0041942f:
+mov bh, byte [ref_00475110] ; mov bh, byte [0x475110]
+test bh, 4
+je short loc_0041949f ; je 0x41949f
+mov cl, bh
+and cl, 0xfb
+mov byte [ref_00475110], cl ; mov byte [0x475110], cl
+xor esi, esi
+mov dword [esp + 4], esi
+mov dword [esp + 0xc], 0x50
+mov ebp, 0x1b8
+mov dword [esp], ebp
+mov dword [esp + 8], 0x280
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push esi
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_0041949f:
+mov ch, byte [ref_00475110] ; mov ch, byte [0x475110]
+test ch, 8
+je short loc_00419510 ; je 0x419510
+mov al, ch
+and al, 0xf7
+mov byte [ref_00475110], al ; mov byte [0x475110], al
+mov ebx, 0x50
+mov dword [esp + 4], ebx
+mov dword [esp + 0xc], 0x118
+mov edi, 0x1b8
+mov dword [esp], edi
+mov dword [esp + 8], 0x280
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push ebx
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+call fcn_004174cd ; call 0x4174cd
+add esp, 4
+mov eax, esp
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_00419510:
+mov ah, byte [ref_00475110] ; mov ah, byte [0x475110]
+test ah, 0x10
+je near loc_00415f47 ; je 0x415f47
+mov dl, ah
+and dl, 0xef
+mov byte [ref_00475110], dl ; mov byte [0x475110], dl
+mov ebx, 0x118
+mov dword [esp + 4], ebx
+mov dword [esp + 0xc], 0x1e0
+mov edi, 0x1b8
+mov dword [esp], edi
+mov dword [esp + 8], 0x280
+mov eax, esp
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push ebx
+push edi
+jmp near loc_00415f2d ; jmp 0x415f2d
+
+fcn_00419572:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x1c
+imul esi, dword [ref_0049910c], 0x68 ; imul esi, dword [0x49910c], 0x68
+movzx esi, byte [esi + ref_00496b7a] ; movzx esi, byte [esi + 0x496b7a]
+mov ecx, dword [esp + 0x30]
+test ecx, ecx
+jne short loc_004195ae ; jne 0x4195ae
+xor ebx, ebx
+
+loc_00419591:
+cmp ebx, esi
+jge short loc_004195b7 ; jge 0x4195b7
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 6
+sar edx, 0x1f
+idiv ecx
+inc edx
+mov dword [esp + ebx*4 + 0x10], edx
+inc ebx
+jmp short loc_00419591 ; jmp 0x419591
+
+loc_004195ae:
+mov esi, 1
+mov dword [esp + 0x10], ecx
+
+loc_004195b7:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b78] ; mov dl, byte [eax + 0x496b78]
+mov eax, 8
+sub eax, dword [ref_00499088] ; sub eax, dword [0x499088]
+add eax, edx
+and eax, 7
+mov edi, dword [eax*8 + ref_00475224] ; mov edi, dword [eax*8 + 0x475224]
+add edi, 0x88
+mov ebp, dword [eax*8 + ref_00475228] ; mov ebp, dword [eax*8 + 0x475228]
+add ebp, 0x30
+push 0
+push ref_0048235a ; push 0x48235a
+call fcn_00450cda ; call 0x450cda
+add esp, 8
+push 0xffffffffffffffff
+xor eax, eax
+mov al, byte [ref_00497158] ; mov al, byte [0x497158]
+mov eax, dword [eax*4 + ref_00475264] ; mov eax, dword [eax*4 + 0x475264]
+shl eax, 4
+inc eax
+or eax, 0x1e000000
+push eax
+push ebp
+push edi
+mov edx, dword [esi*4 + ref_0048bdf4] ; mov edx, dword [esi*4 + 0x48bdf4]
+push edx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push 0
+push ref_0048235a ; push 0x48235a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor ebx, ebx
+
+loc_0041964f:
+cmp ebx, esi
+jge short loc_00419685 ; jge 0x419685
+lea eax, [ebp + 0x91]
+push eax
+lea eax, [edi + 0x55]
+push eax
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+add eax, eax
+add eax, dword [esp + ebx*4 + 0x18]
+dec eax
+push eax
+mov ecx, dword [ref_0048be14] ; mov ecx, dword [0x48be14]
+push ecx
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+inc ebx
+jmp short loc_0041964f ; jmp 0x41964f
+
+loc_00419685:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp], edi
+mov dword [esp + 4], ebp
+lea eax, [edi + 0xbd]
+mov dword [esp + 8], eax
+lea eax, [ebp + 0x11d]
+mov dword [esp + 0xc], eax
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push ebp
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+xor ebx, ebx
+xor edi, edi
+
+loc_004196cf:
+cmp ebx, esi
+jge short loc_004196da ; jge 0x4196da
+add edi, dword [esp + ebx*4 + 0x10]
+inc ebx
+jmp short loc_004196cf ; jmp 0x4196cf
+
+loc_004196da:
+push 0x1f4
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+mov eax, edi
+add esp, 0x1c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004196f1:
+mov byte [ref_0046cafd], 1 ; mov byte [0x46cafd], 1
+push 1
+
+loc_004196fa:
+call fcn_00417191 ; call 0x417191
+add esp, 4
+ret
+
+fcn_00419703:
+xor ah, ah
+mov byte [ref_0046cafd], ah ; mov byte [0x46cafd], ah
+push 0
+jmp short loc_004196fa ; jmp 0x4196fa
+
+fcn_0041970f:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+mov edx, 1
+xor ecx, ecx
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+
+loc_00419721:
+add eax, 0x34
+cmp edx, dword [ref_00498e98] ; cmp edx, dword [0x498e98]
+jg short loc_0041973f ; jg 0x41973f
+cmp byte [eax + 0x18], 0
+je short loc_0041973c ; je 0x41973c
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+cmp ebx, esi
+jne short loc_0041973c ; jne 0x41973c
+inc ecx
+
+loc_0041973c:
+inc edx
+jmp short loc_00419721 ; jmp 0x419721
+
+loc_0041973f:
+mov eax, ecx
+pop esi
+pop ebx
+ret
+
+fcn_00419744:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x14]
+xor edi, edi
+cmp dword [esp + 0x18], 0
+je short loc_004197a5 ; je 0x4197a5
+mov esi, 1
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+
+loc_00419760:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_004197d8 ; jg 0x4197d8
+cmp byte [ebx + 0x18], 0
+jne short loc_004197a2 ; jne 0x4197a2
+xor eax, eax
+mov al, byte [ebx + 0x19]
+cmp eax, ebp
+jne short loc_004197a2 ; jne 0x4197a2
+mov edx, dword [esp + 0x18]
+push edx
+lea eax, [ebx + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_004197a2 ; jne 0x4197a2
+mov al, byte [ebx + 0x1a]
+mov ax, word [ebx + eax*2 + 0x20]
+and eax, 0xffff
+add edi, eax
+
+loc_004197a2:
+inc esi
+jmp short loc_00419760 ; jmp 0x419760
+
+loc_004197a5:
+mov esi, 1
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, 0x34
+mov ecx, dword [ref_00498e98] ; mov ecx, dword [0x498e98]
+
+loc_004197b9:
+cmp esi, ecx
+jg short loc_004197d8 ; jg 0x4197d8
+cmp byte [ebx + 0x18], 0
+je short loc_004197d2 ; je 0x4197d2
+xor eax, eax
+mov al, byte [ebx + 0x19]
+cmp eax, ebp
+jne short loc_004197d2 ; jne 0x4197d2
+add edi, 0x7d0
+
+loc_004197d2:
+inc esi
+add ebx, 0x34
+jmp short loc_004197b9 ; jmp 0x4197b9
+
+loc_004197d8:
+mov ecx, dword [ref_004990e8] ; mov ecx, dword [0x4990e8]
+mov eax, edi
+imul eax, ecx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_004197e8:
+db 0x90
+
+ref_004197e9: ; may contain a jump table
+dd loc_004198b9
+dd loc_0041b3d0
+dd loc_0041b11e
+dd loc_0041b128
+dd loc_0041b132
+dd loc_0041b13c
+dd loc_0041b146
+dd loc_0041b15e
+dd loc_0041b16c
+dd loc_0041b17a
+dd loc_0041b184
+dd loc_0041b21e
+dd loc_0041b2a3
+dd loc_0041b302
+dd loc_0041b396
+dd loc_0041b3b9
+dd loc_0041b3cb
+
+fcn_0041982d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xf8
+mov edx, dword [esp + 0x10c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+add eax, edx
+mov dx, word [eax + 0x20]
+mov dword [esp + 0xf0], edx
+mov ebx, dword [eax + 0x24]
+and ebx, 0xff
+mov byte [esp + 0xf4], 0x80
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+je short loc_00419884 ; je 0x419884
+test ebx, ebx
+jne near loc_0041b3d0 ; jne 0x41b3d0
+
+loc_00419884:
+cmp ebx, 2
+jb short loc_004198a9 ; jb 0x4198a9
+cmp ebx, 0x10
+ja short loc_004198a9 ; ja 0x4198a9
+push 0
+xor eax, eax
+mov al, byte [ebx + ref_00475299] ; mov al, byte [ebx + 0x475299]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_004198a9:
+cmp ebx, 0x10
+ja near loc_0041b3d0 ; ja 0x41b3d0
+jmp dword [ebx*4 + ref_004197e9] ; ujmp: jmp dword [ebx*4 + 0x4197e9]
+
+loc_004198b9:
+mov ebx, dword [esp + 0xf0]
+test bx, bx
+je near loc_0041b3d0 ; je 0x41b3d0
+cmp bx, 0x7d0
+jbe near loc_0041a168 ; jbe 0x41a168
+cmp bx, 0xfa0
+jae near loc_0041a168 ; jae 0x41a168
+xor eax, eax
+mov ax, bx
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+add esi, eax
+mov ch, byte [esi + 0x19]
+test ch, ch
+je near loc_0041a013 ; je 0x41a013
+xor edx, edx
+mov dl, ch
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne near loc_00419a67 ; jne 0x419a67
+cmp byte [esi + 0x1a], 5
+jae near loc_0041b077 ; jae 0x41b077
+cmp byte [esi + 0x18], 0
+jne near loc_0041b077 ; jne 0x41b077
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne near loc_0041b077 ; jne 0x41b077
+movzx ebp, word [esi + 0x1e]
+imul ebp, dword [ref_004990e8] ; imul ebp, dword [0x4990e8]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp ebp, dword [eax + ref_00496b84] ; cmp ebp, dword [eax + 0x496b84]
+jg near loc_00419a52 ; jg 0x419a52
+push ebp
+lea eax, [esi + 4]
+push eax
+mov eax, ref_0046396d ; mov eax, 0x46396d
+push eax
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+test byte [eax + ref_00496b7d], 6 ; test byte [eax + 0x496b7d], 6
+jne short loc_004199a7 ; jne 0x4199a7
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_0041b077 ; jne 0x41b077
+mov eax, esp
+push eax
+call fcn_00440ba8 ; call 0x440ba8
+add esp, 4
+cmp eax, 1
+jne near loc_0041b077 ; jne 0x41b077
+
+loc_004199a7:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040fa61 ; call 0x40fa61
+add esp, 4
+test eax, eax
+jne near loc_0041b077 ; jne 0x41b077
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+sub dword [eax + ref_00496b84], ebp ; sub dword [eax + 0x496b84], ebp
+push 1
+push 0
+push 0
+inc byte [esi + 0x1a]
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0
+push ref_004823da ; push 0x4823da
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+cmp byte [esi + 0x1a], 5
+jne short loc_00419a2b ; jne 0x419a2b
+
+loc_004199f1:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov edi, dword [edx + eax*8 + ref_00480886] ; mov edi, dword [edx + eax*8 + 0x480886]
+push edi
+push 0
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+call fcn_0040b0cd ; call 0x40b0cd
+jmp near loc_0041b077 ; jmp 0x41b077
+
+loc_00419a2b:
+push 1
+add esi, 4
+push esi
+call fcn_0044f627 ; call 0x44f627
+add esp, 8
+
+loc_00419a39:
+mov ecx, dword [esp + 0x10c]
+push ecx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+
+loc_00419a48:
+call fcn_0040f8be ; call 0x40f8be
+jmp near loc_0041b074 ; jmp 0x41b074
+
+loc_00419a52:
+push 0x5dc
+mov eax, ref_0046398b ; mov eax, 0x46398b
+push eax
+
+loc_00419a5d:
+call fcn_00440cac ; call 0x440cac
+jmp near loc_0041b074 ; jmp 0x41b074
+
+loc_00419a67:
+push 0
+push ref_004823ea ; push 0x4823ea
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov edx, dword [ref_0047517c] ; mov edx, dword [0x47517c]
+push edx
+xor eax, eax
+mov al, byte [esi + 0x17]
+push eax
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+push eax
+call fcn_0041d559 ; call 0x41d559
+add esp, 0xc
+cmp eax, 1
+jne near loc_0041b077 ; jne 0x41b077
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496ba9] ; mov al, byte [eax + 0x496ba9]
+and eax, 0xff
+mov dword [esp + 0xe4], eax
+cmp byte [esi + 0x18], 0
+jne short loc_00419ade ; jne 0x419ade
+lea eax, [esi + 4]
+push eax
+xor eax, eax
+mov al, byte [esi + 0x19]
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+mov ebp, eax
+lea eax, [esi + 4]
+push eax
+mov ebx, dword [esp + 0xe8]
+push ebx
+jmp short loc_00419afa ; jmp 0x419afa
+
+loc_00419ade:
+push 0
+xor eax, eax
+mov al, byte [esi + 0x19]
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+mov ebp, eax
+push 0
+mov ecx, dword [esp + 0xe8]
+push ecx
+
+loc_00419afa:
+call fcn_00419744 ; call 0x419744
+add esp, 8
+mov dword [esp + 0xcc], eax
+cmp byte [esi + 0x17], 0
+je short loc_00419b11 ; je 0x419b11
+add ebp, ebp
+
+loc_00419b11:
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+mov edi, 1
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, 0x34
+xor eax, eax
+mov dword [esp + 0xe8], eax
+
+loc_00419b32:
+cmp edi, dword [ref_00498e98] ; cmp edi, dword [0x498e98]
+jg near loc_00419c79 ; jg 0x419c79
+mov eax, dword [esp + 0xe8]
+inc eax
+mov dword [esp + 0xdc], eax
+lea eax, [edi + 0x7d0]
+mov dword [esp + 0xd8], eax
+cmp byte [esi + 0x18], 0
+jne near loc_00419bf4 ; jne 0x419bf4
+mov al, byte [ebx + 0x19]
+cmp al, byte [esi + 0x19]
+jne short loc_00419bb4 ; jne 0x419bb4
+cmp byte [ebx + 0x18], 0
+jne short loc_00419bb4 ; jne 0x419bb4
+lea eax, [ebx + 4]
+push eax
+lea eax, [esi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_00419bb4 ; jne 0x419bb4
+push 0xffff
+mov ecx, dword [esp + 0xdc]
+push ecx
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+mov eax, dword [esp + 0xdc]
+mov dword [esp + 0xe8], eax
+
+loc_00419bb4:
+mov edx, dword [esp + 0xe4]
+test edx, edx
+je near loc_00419c70 ; je 0x419c70
+xor eax, eax
+mov al, byte [ebx + 0x19]
+cmp eax, edx
+jne near loc_00419c70 ; jne 0x419c70
+cmp byte [ebx + 0x18], 0
+jne near loc_00419c70 ; jne 0x419c70
+lea eax, [ebx + 4]
+push eax
+lea eax, [esi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne near loc_00419c70 ; jne 0x419c70
+jmp short loc_00419c4a ; jmp 0x419c4a
+
+loc_00419bf4:
+mov al, byte [ebx + 0x19]
+cmp al, byte [esi + 0x19]
+jne short loc_00419c30 ; jne 0x419c30
+cmp byte [ebx + 0x18], 0
+je short loc_00419c30 ; je 0x419c30
+push 0xffff
+mov ecx, dword [esp + 0xdc]
+push ecx
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+mov eax, dword [esp + 0xdc]
+mov dword [esp + 0xe8], eax
+
+loc_00419c30:
+mov edx, dword [esp + 0xe4]
+test edx, edx
+je short loc_00419c70 ; je 0x419c70
+xor eax, eax
+mov al, byte [ebx + 0x19]
+cmp eax, edx
+jne short loc_00419c70 ; jne 0x419c70
+cmp byte [ebx + 0x18], 0
+je short loc_00419c70 ; je 0x419c70
+
+loc_00419c4a:
+push 0xffff
+lea eax, [edi + 0x7d0]
+push eax
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+inc dword [esp + 0xe8]
+
+loc_00419c70:
+inc edi
+add ebx, 0x34
+jmp near loc_00419b32 ; jmp 0x419b32
+
+loc_00419c79:
+cmp dword [esp + 0xe8], 1
+jle short loc_00419c88 ; jle 0x419c88
+call fcn_00451985 ; call 0x451985
+
+loc_00419c88:
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+lea eax, [esp + 0xac]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea ebx, [esi + 4]
+mov edi, dword [esp + 0xe4]
+test edi, edi
+je short loc_00419d2e ; je 0x419d2e
+mov edx, dword [esp + 0xcc]
+add ebp, edx
+mov dword [esp + 0xec], edx
+fild dword [esp + 0xec]
+mov dword [esp + 0xec], ebp
+fild dword [esp + 0xec]
+fdivp st1 ; fdivp st(1)
+fstp dword [esp + 0xc4]
+lea eax, [edi - 1]
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+lea eax, [esp + 0x98]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov edi, dword [ref_0047517c] ; mov edi, dword [0x47517c]
+push edi
+push ebp
+lea eax, [esp + 0x9c]
+push eax
+lea eax, [esp + 0xb4]
+push eax
+push ebx
+push ref_0046399a ; push 0x46399a
+lea eax, [esp + 0x18]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x1c
+jmp short loc_00419d50 ; jmp 0x419d50
+
+loc_00419d2e:
+mov eax, dword [ref_0047517c] ; mov eax, dword [0x47517c]
+push eax
+push ebp
+lea eax, [esp + 0xb0]
+push eax
+push ebx
+push ref_004639b3 ; push 0x4639b3
+lea eax, [esp + 0x14]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x18
+
+loc_00419d50:
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push ebp
+mov ebp, dword [ref_0047517c] ; mov ebp, dword [0x47517c]
+push ebp
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0041d709 ; call 0x41d709
+mov edx, eax
+add esp, 0xc
+mov ebp, eax
+test eax, eax
+je near loc_0041b077 ; je 0x41b077
+cmp dword [esp + 0xe4], 0
+je short loc_00419dda ; je 0x419dda
+mov edi, dword [esp + 0xcc]
+sub edx, edi
+mov ecx, 0x64
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+push eax
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+mov ecx, 0x64
+mov eax, edi
+mov edx, edi
+sar edx, 0x1f
+idiv ecx
+push eax
+mov eax, dword [esp + 0xe8]
+dec eax
+push eax
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+jmp short loc_00419df3 ; jmp 0x419df3
+
+loc_00419dda:
+mov ecx, 0x64
+sar edx, 0x1f
+idiv ecx
+push eax
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+push eax
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+
+loc_00419df3:
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+cmp ebp, eax
+jge short loc_00419e34 ; jge 0x419e34
+imul eax, edi, 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+add edx, dword [eax + ref_00496b88] ; add edx, dword [eax + 0x496b88]
+cmp ebp, edx
+jle short loc_00419e67 ; jle 0x419e67
+
+loc_00419e34:
+push 0x14
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_00419e67 ; jne 0x419e67
+push ebp
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_00444a60 ; call 0x444a60
+add esp, 0xc
+cmp eax, 1
+jne short loc_00419e67 ; jne 0x419e67
+xor ebp, ebp
+
+loc_00419e67:
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+cmp ebp, eax
+jge short loc_00419e9a ; jge 0x419e9a
+imul eax, edi, 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+add edx, dword [eax + ref_00496b88] ; add edx, dword [eax + 0x496b88]
+cmp ebp, edx
+jle short loc_00419ec7 ; jle 0x419ec7
+
+loc_00419e9a:
+push 0x13
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_00419ec7 ; jne 0x419ec7
+push ebp
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0044476a ; call 0x44476a
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_00419ec7 ; je 0x419ec7
+mov edi, eax
+
+loc_00419ec7:
+test ebp, ebp
+je short loc_00419f2a ; je 0x419f2a
+push edi
+call fcn_0040fbb8 ; call 0x40fbb8
+mov ebx, eax
+add esp, 4
+cmp eax, 0xffffffff
+je short loc_00419f2a ; je 0x419f2a
+imul eax, eax, 0x68
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+lea eax, [esp + 0xac]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov ecx, dword [ref_0047517c] ; mov ecx, dword [0x47517c]
+push ecx
+lea eax, [esp + 0xac]
+push eax
+push ref_004639cc ; push 0x4639cc
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov edi, ebx
+
+loc_00419f2a:
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+cmp edi, eax
+je near loc_0041b077 ; je 0x41b077
+mov edx, dword [esp + 0xe4]
+dec edx
+cmp edi, edx
+je near loc_0041b077 ; je 0x41b077
+cmp dword [esp + 0xe4], 0
+je near loc_00419fcf ; je 0x419fcf
+push ebp
+push eax
+push edi
+call fcn_0044f4ed ; call 0x44f4ed
+add esp, 0xc
+test eax, eax
+jne short loc_00419f6f ; jne 0x419f6f
+push ebp
+push edi
+call fcn_0044f42d ; call 0x44f42d
+add esp, 8
+
+loc_00419f6f:
+mov dword [esp + 0xec], ebp
+fild dword [esp + 0xec]
+fmul dword [esp + 0xc4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xcc]
+mov ebx, ebp
+sub ebx, dword [esp + 0xcc]
+push ebx
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+push eax
+call fcn_0044f354 ; call 0x44f354
+add esp, 8
+push 0
+push ebx
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+push eax
+push edi
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+push 0
+mov edx, dword [esp + 0xd0]
+push edx
+mov eax, dword [esp + 0xec]
+jmp short loc_0041a000 ; jmp 0x41a000
+
+loc_00419fcf:
+push ebp
+push eax
+push edi
+call fcn_0044f4ed ; call 0x44f4ed
+add esp, 0xc
+test eax, eax
+jne short loc_00419fe8 ; jne 0x419fe8
+push ebp
+push edi
+call fcn_0044f42d ; call 0x44f42d
+add esp, 8
+
+loc_00419fe8:
+push ebp
+xor eax, eax
+mov al, byte [esi + 0x19]
+dec eax
+push eax
+call fcn_0044f354 ; call 0x44f354
+add esp, 8
+push 0
+push ebp
+xor eax, eax
+mov al, byte [esi + 0x19]
+
+loc_0041a000:
+dec eax
+push eax
+push edi
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+mov dword [esi + 0x2c], ebp
+jmp near loc_0041b077 ; jmp 0x41b077
+
+loc_0041a013:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne near loc_0041b077 ; jne 0x41b077
+cmp byte [eax + ref_00496ba7], 0xc ; cmp byte [eax + 0x496ba7], 0xc
+je near loc_0041b077 ; je 0x41b077
+xor ecx, ecx
+mov cl, byte [esi + 0x1a]
+xor edx, edx
+mov dx, word [esi + 0x1e]
+imul edx, ecx
+xor ecx, ecx
+mov cx, word [esi + 0x1c]
+add edx, ecx
+mov ebp, dword [ref_004990e8] ; mov ebp, dword [0x4990e8]
+imul ebp, edx
+cmp ebp, dword [eax + ref_00496b84] ; cmp ebp, dword [eax + 0x496b84]
+jg near loc_0041a159 ; jg 0x41a159
+push ebp
+lea eax, [esi + 4]
+push eax
+push ref_004639e1 ; push 0x4639e1
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+xor edi, edi
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+test byte [eax + ref_00496b7d], 6 ; test byte [eax + 0x496b7d], 6
+je short loc_0041a098 ; je 0x41a098
+push ebp
+call fcn_0041d7d4 ; call 0x41d7d4
+add esp, 4
+cmp eax, 1
+jne short loc_0041a098 ; jne 0x41a098
+mov edi, eax
+
+loc_0041a098:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0041a0b8 ; jne 0x41a0b8
+mov eax, esp
+push eax
+call fcn_00440ba8 ; call 0x440ba8
+add esp, 4
+cmp eax, 1
+je short loc_0041a0c0 ; je 0x41a0c0
+
+loc_0041a0b8:
+test edi, edi
+je near loc_0041b077 ; je 0x41b077
+
+loc_0041a0c0:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0040fa61 ; call 0x40fa61
+add esp, 4
+test eax, eax
+jne near loc_0041b077 ; jne 0x41b077
+mov al, byte [ref_0049910c] ; mov al, byte [0x49910c]
+inc al
+mov byte [esi + 0x19], al
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0
+push ref_004823d2 ; push 0x4823d2
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+mov eax, dword [ref_00499110] ; mov eax, dword [0x499110]
+test eax, eax
+je short loc_0041a12b ; je 0x41a12b
+mov edx, dword [eax*4 + ref_004751f0] ; mov edx, dword [eax*4 + 0x4751f0]
+push edx
+mov ecx, dword [ref_00497160] ; mov ecx, dword [0x497160]
+push ecx
+call fcn_004521cb ; call 0x4521cb
+add esp, 8
+mov dword [esi + 0x30], eax
+
+loc_0041a12b:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+sub dword [eax + ref_00496b84], ebp ; sub dword [eax + 0x496b84], ebp
+push 0
+add esi, 4
+push esi
+call fcn_0044f627 ; call 0x44f627
+add esp, 8
+mov ebp, dword [esp + 0x10c]
+push ebp
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+jmp near loc_00419a48 ; jmp 0x419a48
+
+loc_0041a159:
+push 0x5dc
+push ref_0046398b ; push 0x46398b
+jmp near loc_00419a5d ; jmp 0x419a5d
+
+loc_0041a168:
+mov edi, dword [esp + 0xf0]
+cmp di, 0xfa0
+jbe near loc_0041a998 ; jbe 0x41a998
+cmp di, 0x1770
+jae near loc_0041a998 ; jae 0x41a998
+xor eax, eax
+mov ax, di
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add edx, eax
+mov dword [esp + 0xe0], edx
+lea edi, [edx + 4]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [esp + 0xe0]
+cmp byte [edx + 0x19], 0
+je near loc_0041a86b ; je 0x41a86b
+xor edx, edx
+mov ecx, dword [esp + 0xe0]
+mov dl, byte [ecx + 0x19]
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+inc ecx
+cmp edx, ecx
+jne near loc_0041a370 ; jne 0x41a370
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne near loc_0041b077 ; jne 0x41b077
+mov edx, dword [esp + 0xe0]
+cmp byte [edx + 0x1a], 0
+jne near loc_0041a2b3 ; jne 0x41a2b3
+movzx ebp, word [edx + 0x22]
+imul ebp, dword [ref_004990e8] ; imul ebp, dword [0x4990e8]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+cmp ebp, dword [eax + ref_00496b84] ; cmp ebp, dword [eax + 0x496b84]
+jg near loc_00419a52 ; jg 0x419a52
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0041a23e ; jne 0x41a23e
+push 0
+call fcn_00440aac ; call 0x440aac
+add esp, 4
+mov edx, dword [esp + 0xe0]
+mov byte [edx + 0x18], al
+jmp short loc_0041a25a ; jmp 0x41a25a
+
+loc_0041a23e:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 4
+sar edx, 0x1f
+idiv ecx
+inc edx
+mov eax, dword [esp + 0xe0]
+mov byte [eax + 0x18], dl
+
+loc_0041a25a:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_0040fa61 ; call 0x40fa61
+add esp, 4
+test eax, eax
+jne near loc_0041b077 ; jne 0x41b077
+push 1
+push eax
+push eax
+mov eax, dword [esp + 0xec]
+inc byte [eax + 0x1a]
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0
+push ref_004823da ; push 0x4823da
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+sub dword [eax + ref_00496b84], ebp ; sub dword [eax + 0x496b84], ebp
+mov ecx, dword [esp + 0x10c]
+push ecx
+push edi
+jmp near loc_00419a48 ; jmp 0x419a48
+
+loc_0041a2b3:
+xor edx, edx
+mov ecx, dword [esp + 0xe0]
+mov dl, byte [ecx + 0x18]
+mov bl, byte [ecx + 0x1a]
+cmp bl, byte [edx + ref_00474940] ; cmp bl, byte [edx + 0x474940]
+jae near loc_0041b077 ; jae 0x41b077
+mov ebp, dword [esp + 0xe0]
+movzx ebp, word [ebp + 0x24]
+imul ebp, dword [ref_004990e8] ; imul ebp, dword [0x4990e8]
+cmp ebp, dword [eax + ref_00496b84] ; cmp ebp, dword [eax + 0x496b84]
+jg near loc_0041a159 ; jg 0x41a159
+push ebp
+push edi
+push ref_0046396d ; push 0x46396d
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ch, byte [eax + ref_00496b7d] ; mov ch, byte [eax + 0x496b7d]
+test ch, 6
+jne short loc_0041a32f ; jne 0x41a32f
+cmp ch, 1
+jne near loc_0041b077 ; jne 0x41b077
+mov eax, esp
+push eax
+call fcn_00440ba8 ; call 0x440ba8
+add esp, 4
+cmp eax, 1
+jne near loc_0041b077 ; jne 0x41b077
+
+loc_0041a32f:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_0040fa61 ; call 0x40fa61
+add esp, 4
+test eax, eax
+jne near loc_0041b077 ; jne 0x41b077
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+sub dword [eax + ref_00496b84], ebp ; sub dword [eax + 0x496b84], ebp
+mov eax, dword [esp + 0xe0]
+mov dh, byte [eax + 0x1a]
+inc dh
+mov byte [eax + 0x1a], dh
+cmp dh, 5
+je near loc_004199f1 ; je 0x4199f1
+jmp near loc_00419a39 ; jmp 0x419a39
+
+loc_0041a370:
+mov eax, dword [esp + 0xe0]
+cmp byte [eax + 0x1a], 0
+je near loc_0041b077 ; je 0x41b077
+mov ch, byte [eax + 0x18]
+test ch, ch
+jbe near loc_0041b077 ; jbe 0x41b077
+cmp ch, 4
+jae near loc_0041b077 ; jae 0x41b077
+push 0
+push ref_004823ea ; push 0x4823ea
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+xor eax, eax
+mov edx, dword [esp + 0xe0]
+mov al, byte [edx + 0x18]
+movzx esi, byte [eax + ref_0047528b] ; movzx esi, byte [eax + 0x47528b]
+mov esi, dword [esi*4 + ref_0047517c] ; mov esi, dword [esi*4 + 0x47517c]
+push esi
+xor eax, eax
+mov al, byte [edx + 0x1c]
+push eax
+xor eax, eax
+mov al, byte [edx + 0x19]
+dec eax
+push eax
+call fcn_0041d559 ; call 0x41d559
+add esp, 0xc
+cmp eax, 1
+jne near loc_0041b077 ; jne 0x41b077
+xor eax, eax
+mov edx, dword [esp + 0xe0]
+mov al, byte [edx + 0x19]
+dec eax
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0xac]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov eax, dword [esp + 0xe0]
+mov al, byte [eax + 0x18]
+cmp al, 2
+jb short loc_0041a421 ; jb 0x41a421
+jbe short loc_0041a485 ; jbe 0x41a485
+cmp al, 3
+je near loc_0041a4db ; je 0x41a4db
+jmp near loc_0041a581 ; jmp 0x41a581
+
+loc_0041a421:
+cmp al, 1
+jne near loc_0041a581 ; jne 0x41a581
+xor eax, eax
+mov edx, dword [esp + 0xe0]
+mov al, byte [edx + 0x1a]
+add eax, eax
+add eax, edx
+xor ebx, ebx
+mov bx, word [eax + 0x24]
+imul ebx, dword [ref_004990e8] ; imul ebx, dword [0x4990e8]
+cmp byte [edx + 0x1c], 0
+je short loc_0041a44e ; je 0x41a44e
+add ebx, ebx
+
+loc_0041a44e:
+lea eax, [esp + 0xa8]
+push eax
+push 1
+call fcn_0044090e ; call 0x44090e
+add esp, 8
+mov dword [esp + 0xd0], eax
+mov ebp, eax
+imul ebp, ebx
+push ebp
+push eax
+push ref_004639ff ; push 0x4639ff
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+jmp near loc_0041a56f ; jmp 0x41a56f
+
+loc_0041a485:
+xor eax, eax
+mov edx, dword [esp + 0xe0]
+mov al, byte [edx + 0x1a]
+add eax, eax
+add eax, edx
+xor ebx, ebx
+mov bx, word [eax + 0x24]
+imul ebx, dword [ref_004990e8] ; imul ebx, dword [0x4990e8]
+cmp byte [edx + 0x1c], 0
+je short loc_0041a4aa ; je 0x41a4aa
+add ebx, ebx
+
+loc_0041a4aa:
+lea eax, [esp + 0xa8]
+push eax
+push 2
+call fcn_0044090e ; call 0x44090e
+add esp, 8
+mov ebp, eax
+imul ebp, ebx
+push ebp
+push eax
+push ebx
+push ref_00463a14 ; push 0x463a14
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+jmp near loc_0041a56f ; jmp 0x41a56f
+
+loc_0041a4db:
+xor ebp, ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dh, byte [eax + ref_00496b79] ; mov dh, byte [eax + 0x496b79]
+test dh, 3
+je near loc_0041a581 ; je 0x41a581
+mov al, dh
+and al, 3
+xor ecx, ecx
+mov cl, al
+dec ecx
+mov eax, 1
+shl eax, cl
+mov dword [esp + 0xd4], eax
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov ebp, dword [ref_0048bafc] ; mov ebp, dword [0x48bafc]
+imul ebp, eax
+imul ebp, dword [ref_004990e8] ; imul ebp, dword [0x4990e8]
+push ref_0046385e ; push 0x46385e
+lea eax, [esp + 0x84]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+mov ebx, dword [ref_00475184] ; mov ebx, dword [0x475184]
+push ebx
+push ebp
+lea eax, [esp + 0xb0]
+push eax
+lea eax, [esp + 0x8c]
+push eax
+push ref_00463a31 ; push 0x463a31
+lea eax, [esp + 0x14]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x18
+
+loc_0041a56f:
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_0041a581:
+push ebp
+push esi
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0041d709 ; call 0x41d709
+mov ebx, eax
+add esp, 0xc
+mov ebp, eax
+test eax, eax
+je near loc_0041b077 ; je 0x41b077
+mov ecx, 0x64
+mov edx, eax
+sar edx, 0x1f
+idiv ecx
+push eax
+xor eax, eax
+mov edx, dword [esp + 0xe4]
+mov al, byte [edx + 0x19]
+dec eax
+push eax
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+mov eax, dword [esp + 0xe0]
+cmp byte [eax + 0x18], 1
+je short loc_0041a63d ; je 0x41a63d
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+cmp ebx, eax
+jge short loc_0041a60e ; jge 0x41a60e
+imul eax, edi, 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+add edx, dword [eax + ref_00496b88] ; add edx, dword [eax + 0x496b88]
+cmp ebx, edx
+jle short loc_0041a63d ; jle 0x41a63d
+
+loc_0041a60e:
+push 0x14
+push edi
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_0041a63d ; jne 0x41a63d
+push ebp
+xor eax, eax
+mov edx, dword [esp + 0xe4]
+mov al, byte [edx + 0x19]
+dec eax
+push eax
+push edi
+call fcn_00444a60 ; call 0x444a60
+add esp, 0xc
+cmp eax, 1
+jne short loc_0041a63d ; jne 0x41a63d
+xor ebp, ebp
+
+loc_0041a63d:
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+cmp ebp, eax
+jge short loc_0041a670 ; jge 0x41a670
+imul eax, edi, 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+add edx, dword [eax + ref_00496b88] ; add edx, dword [eax + 0x496b88]
+cmp ebp, edx
+jle short loc_0041a692 ; jle 0x41a692
+
+loc_0041a670:
+push 0x13
+push edi
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_0041a692 ; jne 0x41a692
+push ebp
+push eax
+push edi
+call fcn_0044476a ; call 0x44476a
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_0041a692 ; je 0x41a692
+mov edi, eax
+
+loc_0041a692:
+test ebp, ebp
+jne short loc_0041a6a3 ; jne 0x41a6a3
+mov eax, dword [esp + 0xe0]
+cmp byte [eax + 0x18], 1
+jne short loc_0041a6fc ; jne 0x41a6fc
+
+loc_0041a6a3:
+push edi
+call fcn_0040fbb8 ; call 0x40fbb8
+mov ebx, eax
+add esp, 4
+cmp eax, 0xffffffff
+je short loc_0041a6fc ; je 0x41a6fc
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0xac]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+push esi
+lea eax, [esp + 0xac]
+push eax
+push ref_004639cc ; push 0x4639cc
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov edi, ebx
+
+loc_0041a6fc:
+xor eax, eax
+mov edx, dword [esp + 0xe0]
+mov al, byte [edx + 0x19]
+dec eax
+cmp edi, eax
+je short loc_0041a761 ; je 0x41a761
+push ebp
+push eax
+push edi
+call fcn_0044f4ed ; call 0x44f4ed
+add esp, 0xc
+test eax, eax
+jne short loc_0041a726 ; jne 0x41a726
+push ebp
+push edi
+call fcn_0044f42d ; call 0x44f42d
+add esp, 8
+
+loc_0041a726:
+push ebp
+xor eax, eax
+mov edx, dword [esp + 0xe4]
+mov al, byte [edx + 0x19]
+dec eax
+push eax
+call fcn_0044f354 ; call 0x44f354
+add esp, 8
+push 0
+push ebp
+xor eax, eax
+mov edx, dword [esp + 0xe8]
+mov al, byte [edx + 0x19]
+dec eax
+push eax
+push edi
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+mov eax, dword [esp + 0xe0]
+mov dword [eax + 0x30], ebp
+
+loc_0041a761:
+mov eax, dword [esp + 0xe0]
+cmp byte [eax + 0x18], 1
+jne near loc_0041b077 ; jne 0x41b077
+imul eax, edi, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_0041b077 ; je 0x41b077
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne near loc_0041b077 ; jne 0x41b077
+mov edx, dword [esp + 0xd0]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+xor eax, eax
+mov edx, dword [esp + 0xe4]
+mov al, byte [edx + 0x19]
+dec eax
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+push edi
+call fcn_0040d761 ; call 0x40d761
+add esp, 4
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+cmp edi, edx
+jne short loc_0041a7e8 ; jne 0x41a7e8
+mov ecx, dword [esp + 0xd0]
+push ecx
+push edx
+call fcn_0044f2c2 ; call 0x44f2c2
+add esp, 8
+
+loc_0041a7e8:
+mov dl, byte [esp + 0xd0]
+dec dl
+imul eax, edi, 0x68
+mov byte [eax + ref_00496b9a], dl ; mov byte [eax + 0x496b9a], dl
+test dl, dl
+jne short loc_0041a805 ; jne 0x41a805
+mov byte [eax + ref_00496b9a], 0x80 ; mov byte [eax + 0x496b9a], 0x80
+
+loc_0041a805:
+push 0
+mov edx, dword [esp + 0xd4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+push edi
+call fcn_0044ba63 ; call 0x44ba63
+add esp, 0xc
+imul eax, edi, 0x68
+mov dl, byte [esp + 0xd0]
+add byte [eax + ref_00496baa], dl ; add byte [eax + 0x496baa], dl
+xor eax, eax
+mov ax, word [esp + 0xf0]
+sub eax, 0xfa0
+push eax
+mov ebp, dword [esp + 0x110]
+push ebp
+push edi
+call fcn_0040d5a5 ; call 0x40d5a5
+add esp, 0xc
+jmp near loc_0041b077 ; jmp 0x41b077
+
+loc_0041a86b:
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne near loc_0041b077 ; jne 0x41b077
+cmp byte [eax + ref_00496ba7], 0xc ; cmp byte [eax + 0x496ba7], 0xc
+je near loc_0041b077 ; je 0x41b077
+mov ebp, dword [esp + 0xe0]
+movzx ebp, word [ebp + 0x22]
+imul ebp, dword [ref_004990e8] ; imul ebp, dword [0x4990e8]
+cmp ebp, dword [eax + ref_00496b84] ; cmp ebp, dword [eax + 0x496b84]
+jg near loc_0041a159 ; jg 0x41a159
+push ebp
+push edi
+push ref_004639e1 ; push 0x4639e1
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+xor edi, edi
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+test byte [eax + ref_00496b7d], 6 ; test byte [eax + 0x496b7d], 6
+je short loc_0041a8d9 ; je 0x41a8d9
+push ebp
+call fcn_0041d7d4 ; call 0x41d7d4
+add esp, 4
+cmp eax, 1
+jne short loc_0041a8d9 ; jne 0x41a8d9
+mov edi, eax
+
+loc_0041a8d9:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0041a8f9 ; jne 0x41a8f9
+mov eax, esp
+push eax
+call fcn_00440ba8 ; call 0x440ba8
+add esp, 4
+cmp eax, 1
+je short loc_0041a901 ; je 0x41a901
+
+loc_0041a8f9:
+test edi, edi
+je near loc_0041b077 ; je 0x41b077
+
+loc_0041a901:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040fa61 ; call 0x40fa61
+add esp, 4
+test eax, eax
+jne near loc_0041b077 ; jne 0x41b077
+mov al, byte [ref_0049910c] ; mov al, byte [0x49910c]
+inc al
+mov edx, dword [esp + 0xe0]
+mov byte [edx + 0x19], al
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0
+push ref_004823d2 ; push 0x4823d2
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+mov ebx, dword [ref_00499110] ; mov ebx, dword [0x499110]
+test ebx, ebx
+je short loc_0041a97b ; je 0x41a97b
+mov esi, dword [ebx*4 + ref_004751f0] ; mov esi, dword [ebx*4 + 0x4751f0]
+push esi
+mov edi, dword [ref_00497160] ; mov edi, dword [0x497160]
+push edi
+call fcn_004521cb ; call 0x4521cb
+add esp, 8
+mov edx, dword [esp + 0xe0]
+mov dword [edx + 0x34], eax
+
+loc_0041a97b:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+sub dword [eax + ref_00496b84], ebp ; sub dword [eax + 0x496b84], ebp
+mov ebx, dword [esp + 0x10c]
+push ebx
+push edx
+jmp near loc_00419a48 ; jmp 0x419a48
+
+loc_0041a998:
+mov edx, dword [esp + 0xf0]
+cmp dx, 0x1770
+jbe near loc_0041b077 ; jbe 0x41b077
+cmp dx, 0x1f40
+jae near loc_0041b077 ; jae 0x41b077
+xor eax, eax
+mov ax, dx
+sub eax, 0x1770
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e7c] ; mov ebx, dword [0x498e7c]
+add ebx, eax
+xor eax, eax
+mov al, byte [ebx + 0x18]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+lea edi, [ebx + 4]
+imul esi, dword [ref_0049910c], 0x68 ; imul esi, dword [0x49910c], 0x68
+cmp eax, edx
+jne near loc_0041ab6d ; jne 0x41ab6d
+mov al, byte [ebx + 0x1a]
+cmp al, 4
+jb near loc_0041b067 ; jb 0x41b067
+jbe short loc_0041a9fe ; jbe 0x41a9fe
+cmp al, 0xb
+je short loc_0041aa3c ; je 0x41aa3c
+jmp near loc_0041b067 ; jmp 0x41b067
+
+loc_0041a9fe:
+push edi
+push 3
+call fcn_0044090e ; call 0x44090e
+add esp, 8
+mov dword [esp + 0xd4], eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [esp + 0xd4]
+mov dh, byte [eax + ref_00496ba6] ; mov dh, byte [eax + 0x496ba6]
+add dh, dl
+mov byte [eax + ref_00496ba6], dh ; mov byte [eax + 0x496ba6], dh
+mov cl, dh
+and cl, 0x7f
+mov byte [eax + ref_00496ba6], cl ; mov byte [eax + 0x496ba6], cl
+jmp near loc_0041b067 ; jmp 0x41b067
+
+loc_0041aa3c:
+cmp byte [esi + ref_00496b7d], 1 ; cmp byte [esi + 0x496b7d], 1
+jne short loc_0041aa76 ; jne 0x41aa76
+push edi
+push ref_00463a4a ; push 0x463a4a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 0x2090086
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_0041aa82 ; jmp 0x41aa82
+
+loc_0041aa76:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_0040b455 ; call 0x40b455
+
+loc_0041aa82:
+add esp, 4
+mov dword [esp + 0xd4], eax
+mov edi, dword [esp + 0xd4]
+test edi, edi
+je near loc_0041b062 ; je 0x41b062
+lea eax, [esp + 0xc0]
+push eax
+lea eax, [esp + 0xc0]
+push eax
+push edi
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 0
+push 0
+push 0x229
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov esi, eax
+push 0
+mov edx, dword [esp + 0xc4]
+push edx
+mov ecx, dword [esp + 0xc4]
+push ecx
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push edi
+call fcn_0040b110 ; call 0x40b110
+add esp, 4
+mov dword [esp + 0xbc], eax
+test al, 0x80
+jne short loc_0041ab04 ; jne 0x41ab04
+push edi
+call fcn_0040b110 ; call 0x40b110
+add esp, 4
+
+loc_0041ab04:
+push 0x5b
+push 0x2c0001
+push 0x28
+push 0
+push esi
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+test byte [esp + 0xbc], 0x80
+je near loc_0041b062 ; je 0x41b062
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_00480886] ; mov ecx, dword [edx + eax*8 + 0x480886]
+push ecx
+push 0
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+call fcn_0040b0cd ; call 0x40b0cd
+jmp near loc_0041b062 ; jmp 0x41b062
+
+loc_0041ab6d:
+test al, al
+je near loc_0041b067 ; je 0x41b067
+cmp eax, edx
+je near loc_0041b067 ; je 0x41b067
+xor ebp, ebp
+mov al, byte [ebx + 0x1a]
+cmp al, 5
+jb short loc_0041abb0 ; jb 0x41abb0
+jbe near loc_0041ac8c ; jbe 0x41ac8c
+cmp al, 0xb
+jb short loc_0041aba3 ; jb 0x41aba3
+jbe near loc_0041acd1 ; jbe 0x41acd1
+cmp al, 0xc
+je near loc_0041ae21 ; je 0x41ae21
+jmp near loc_0041ae37 ; jmp 0x41ae37
+
+loc_0041aba3:
+cmp al, 6
+je near loc_0041ac8c ; je 0x41ac8c
+jmp near loc_0041ae37 ; jmp 0x41ae37
+
+loc_0041abb0:
+cmp al, 3
+jb short loc_0041abbb ; jb 0x41abbb
+jbe short loc_0041ac2c ; jbe 0x41ac2c
+jmp near loc_0041ac3c ; jmp 0x41ac3c
+
+loc_0041abbb:
+cmp al, 1
+jne near loc_0041ae37 ; jne 0x41ae37
+push edi
+push ebp
+call fcn_0044090e ; call 0x44090e
+add esp, 8
+mov dword [esp + 0xd0], eax
+test eax, eax
+je short loc_0041abe6 ; je 0x41abe6
+xor edx, edx
+mov dx, word [ebx + 0x22]
+
+loc_0041abde:
+imul eax, edx
+jmp near loc_0041ae2e ; jmp 0x41ae2e
+
+loc_0041abe6:
+push 0x5dc
+push ref_00463a5f ; push 0x463a5f
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov edi, dword [edx + eax*8 + ref_00480852] ; mov edi, dword [edx + eax*8 + 0x480852]
+push edi
+push ebp
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+jmp near loc_0041ae37 ; jmp 0x41ae37
+
+loc_0041ac2c:
+movzx ebp, word [ebx + 0x22]
+imul ebp, dword [ref_004990e4] ; imul ebp, dword [0x4990e4]
+jmp near loc_0041ae37 ; jmp 0x41ae37
+
+loc_0041ac3c:
+push edi
+push 3
+call fcn_0044090e ; call 0x44090e
+add esp, 8
+mov dword [esp + 0xd4], eax
+xor edx, edx
+mov dx, word [ebx + 0x22]
+imul eax, edx
+mov ebp, dword [ref_004990e8] ; mov ebp, dword [0x4990e8]
+imul ebp, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [esp + 0xd4]
+mov dh, byte [eax + ref_00496ba6] ; mov dh, byte [eax + 0x496ba6]
+add dh, dl
+mov byte [eax + ref_00496ba6], dh ; mov byte [eax + 0x496ba6], dh
+mov cl, dh
+and cl, 0x7f
+mov byte [eax + ref_00496ba6], cl ; mov byte [eax + 0x496ba6], cl
+jmp near loc_0041ae37 ; jmp 0x41ae37
+
+loc_0041ac8c:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+test dl, dl
+je near loc_0041ae37 ; je 0x41ae37
+mov al, dl
+and al, 3
+xor ecx, ecx
+mov cl, al
+dec ecx
+mov eax, 1
+shl eax, cl
+mov dword [esp + 0xd4], eax
+xor eax, eax
+mov ax, word [ebx + 0x22]
+mov edx, dword [esp + 0xd4]
+imul edx, dword [ref_0048bafc] ; imul edx, dword [0x48bafc]
+jmp near loc_0041abde ; jmp 0x41abde
+
+loc_0041acd1:
+cmp byte [esi + ref_00496b7d], 1 ; cmp byte [esi + 0x496b7d], 1
+jne short loc_0041ad0b ; jne 0x41ad0b
+push edi
+push ref_00463a4a ; push 0x463a4a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 0x2090086
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_0041ad17 ; jmp 0x41ad17
+
+loc_0041ad0b:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0040b455 ; call 0x40b455
+
+loc_0041ad17:
+add esp, 4
+mov dword [esp + 0xd4], eax
+mov ebp, dword [esp + 0xd4]
+test ebp, ebp
+je near loc_0041adff ; je 0x41adff
+lea eax, [esp + 0xc0]
+push eax
+lea eax, [esp + 0xc0]
+push eax
+push ebp
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 0
+push 0
+push 0x229
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov esi, eax
+add esp, 0x10
+push 0
+mov ecx, dword [esp + 0xc4]
+push ecx
+mov edi, dword [esp + 0xc4]
+push edi
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push ebp
+call fcn_0040b110 ; call 0x40b110
+add esp, 4
+mov dword [esp + 0xbc], eax
+push 0x5b
+push 0x2c0001
+push 0x28
+push 0
+push esi
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+test byte [esp + 0xbc], 0x80
+je short loc_0041adb9 ; je 0x41adb9
+call fcn_0040b0cd ; call 0x40b0cd
+
+loc_0041adb9:
+mov eax, dword [esp + 0xd4]
+cmp eax, 0xfa0
+jge short loc_0041ade3 ; jge 0x41ade3
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+movzx ebp, word [edx + eax + 0x1c]
+
+loc_0041adda:
+imul ebp, dword [ref_004990e8] ; imul ebp, dword [0x4990e8]
+jmp short loc_0041ae1a ; jmp 0x41ae1a
+
+loc_0041ade3:
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+movzx ebp, word [edx + eax + 0x22]
+jmp short loc_0041adda ; jmp 0x41adda
+
+loc_0041adff:
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+mov ebp, eax
+shl ebp, 2
+sub ebp, eax
+shl ebp, 3
+add ebp, eax
+shl ebp, 3
+mov eax, ebp
+shl ebp, 2
+add ebp, eax
+
+loc_0041ae1a:
+call fcn_0041d546 ; call 0x41d546
+jmp short loc_0041ae37 ; jmp 0x41ae37
+
+loc_0041ae21:
+xor eax, eax
+mov ax, word [ebx + 0x22]
+imul eax, dword [ref_0048bafc] ; imul eax, dword [0x48bafc]
+
+loc_0041ae2e:
+mov ebp, dword [ref_004990e8] ; mov ebp, dword [0x4990e8]
+imul ebp, eax
+
+loc_0041ae37:
+test ebp, ebp
+je near loc_0041b067 ; je 0x41b067
+xor eax, eax
+mov al, byte [ebx + 0x18]
+dec eax
+imul eax, eax, 0x68
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+lea eax, [esp + 0xac]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+movzx esi, byte [eax + ref_0047528e] ; movzx esi, byte [eax + 0x47528e]
+mov esi, dword [esi*4 + ref_0047517c] ; mov esi, dword [esi*4 + 0x47517c]
+lea eax, [ebx + 4]
+cmp byte [ebx + 0x1a], 0xc
+jne short loc_0041ae8d ; jne 0x41ae8d
+push esi
+push ebp
+lea edx, [esp + 0xb0]
+push edx
+push eax
+push ref_00463a6a ; push 0x463a6a
+jmp short loc_0041ae9d ; jmp 0x41ae9d
+
+loc_0041ae8d:
+push esi
+push ebp
+lea edx, [esp + 0xb0]
+push edx
+push eax
+push ref_00463a31 ; push 0x463a31
+
+loc_0041ae9d:
+lea eax, [esp + 0x14]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x18
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push ebp
+push esi
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0041d709 ; call 0x41d709
+mov ecx, eax
+add esp, 0xc
+mov ebp, eax
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+cmp ecx, eax
+jge short loc_0041af0c ; jge 0x41af0c
+imul eax, edi, 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+mov eax, dword [eax + ref_00496b88] ; mov eax, dword [eax + 0x496b88]
+add edx, eax
+cmp ecx, edx
+jle short loc_0041af2f ; jle 0x41af2f
+
+loc_0041af0c:
+push 0x14
+push edi
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_0041af2f ; jne 0x41af2f
+push ebp
+push 0xffffffffffffffff
+push edi
+call fcn_00444a60 ; call 0x444a60
+add esp, 0xc
+cmp eax, 1
+jne short loc_0041af2f ; jne 0x41af2f
+xor ebp, ebp
+
+loc_0041af2f:
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+cmp ebp, eax
+jge short loc_0041af62 ; jge 0x41af62
+imul eax, edi, 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+add edx, dword [eax + ref_00496b88] ; add edx, dword [eax + 0x496b88]
+cmp ebp, edx
+jle short loc_0041af84 ; jle 0x41af84
+
+loc_0041af62:
+push 0x13
+push edi
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_0041af84 ; jne 0x41af84
+push ebp
+push eax
+push edi
+call fcn_0044476a ; call 0x44476a
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_0041af84 ; je 0x41af84
+mov edi, eax
+
+loc_0041af84:
+test ebp, ebp
+jne short loc_0041af98 ; jne 0x41af98
+cmp byte [ebx + 0x1a], 1
+jne short loc_0041affb ; jne 0x41affb
+cmp dword [esp + 0xd0], 0
+je short loc_0041affb ; je 0x41affb
+
+loc_0041af98:
+push edi
+call fcn_0040fbb8 ; call 0x40fbb8
+mov dword [esp + 0xcc], eax
+add esp, 4
+cmp eax, 0xffffffff
+je short loc_0041affb ; je 0x41affb
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0xac]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+push esi
+lea eax, [esp + 0xac]
+push eax
+push ref_004639cc ; push 0x4639cc
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov edi, dword [esp + 0xc8]
+
+loc_0041affb:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp edi, eax
+jne short loc_0041b00e ; jne 0x41b00e
+push ebp
+push eax
+call fcn_0044f42d ; call 0x44f42d
+add esp, 8
+
+loc_0041b00e:
+push 0
+push ebp
+xor eax, eax
+mov ax, word [esp + 0xf8]
+sub eax, 0x170c
+push eax
+push edi
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+cmp byte [ebx + 0x1a], 1
+jne short loc_0041b062 ; jne 0x41b062
+cmp dword [esp + 0xd0], 0
+je short loc_0041b062 ; je 0x41b062
+imul eax, edi, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0041b062 ; je 0x41b062
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne short loc_0041b062 ; jne 0x41b062
+push 0
+mov ecx, dword [esp + 0xd4]
+push ecx
+push edi
+call fcn_0040d375 ; call 0x40d375
+add esp, 0xc
+
+loc_0041b062:
+call fcn_0041d546 ; call 0x41d546
+
+loc_0041b067:
+push ebx
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0041d1a9 ; call 0x41d1a9
+
+loc_0041b074:
+add esp, 8
+
+loc_0041b077:
+mov ecx, dword [esp + 0x10c]
+push ecx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040f381 ; call 0x40f381
+add esp, 8
+mov esi, dword [esp + 0x10c]
+push esi
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00448a7e ; call 0x448a7e
+add esp, 8
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [esp + 0xf0]
+cmp cx, 0xfa0
+jbe short loc_0041b111 ; jbe 0x41b111
+cmp cx, 0x1770
+jae short loc_0041b111 ; jae 0x41b111
+xor eax, eax
+mov edx, dword [esp + 0xe0]
+mov al, byte [edx + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_0041b111 ; jne 0x41b111
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne short loc_0041b111 ; jne 0x41b111
+mov eax, dword [esp + 0xe0]
+cmp byte [eax + 0x18], 4
+jne short loc_0041b111 ; jne 0x41b111
+cmp byte [eax + 0x1a], 0
+je short loc_0041b111 ; je 0x41b111
+test byte [eax + 0x1c], 0xf
+jne short loc_0041b111 ; jne 0x41b111
+push eax
+call fcn_0044101d ; call 0x44101d
+add esp, 4
+
+loc_0041b111:
+mov byte [esp + 0xf4], 0x88
+jmp near loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b11e:
+call fcn_0044b6df ; call 0x44b6df
+jmp near loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b128:
+call fcn_0044db81 ; call 0x44db81
+jmp near loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b132:
+call fcn_0043d304 ; call 0x43d304
+jmp near loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b13c:
+call fcn_0043e9a4 ; call 0x43e9a4
+jmp near loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b146:
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+call fcn_00415215 ; call 0x415215
+
+loc_0041b152:
+add word [ebx + ref_00496b98], ax ; add word [ebx + 0x496b98], ax
+jmp near loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b15e:
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+call fcn_004154dc ; call 0x4154dc
+jmp short loc_0041b152 ; jmp 0x41b152
+
+loc_0041b16c:
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+call fcn_004155fc ; call 0x4155fc
+jmp short loc_0041b152 ; jmp 0x41b152
+
+loc_0041b17a:
+call fcn_004315cc ; call 0x4315cc
+jmp near loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b184:
+push 0
+push 0
+push 0x219
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x62
+push 1
+push 0xb4
+push 0xcc
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x3e8
+push ref_00463a81 ; push 0x463a81
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+add word [eax + ref_00496b98], 0x32 ; add word [eax + 0x496b98], 0x32
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov ecx, dword [ebx + eax*4 + ref_0048084a] ; mov ecx, dword [ebx + eax*4 + 0x48084a]
+push ecx
+push 0
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+
+loc_0041b211:
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+jmp near loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b21e:
+push 0
+push 0
+push 0x219
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x62
+push 1
+push 0xb4
+push 0xcc
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x3e8
+push ref_00463a8e ; push 0x463a8e
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+add word [eax + ref_00496b98], 0x1e ; add word [eax + 0x496b98], 0x1e
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov esi, dword [edx + eax*8 + ref_00480852] ; mov esi, dword [edx + eax*8 + 0x480852]
+push esi
+push 0
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+jmp near loc_0041b211 ; jmp 0x41b211
+
+loc_0041b2a3:
+push 0
+push 0
+push 0x219
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x62
+push 1
+push 0xb4
+push 0xcc
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x3e8
+push ref_00463a9b ; push 0x463a9b
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+add word [eax + ref_00496b98], 0xa ; add word [eax + 0x496b98], 0xa
+jmp near loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b302:
+push 0
+push 0
+push 0x218
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x63
+push 1
+push 0xb4
+push 0xd0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_00441e12 ; call 0x441e12
+mov ebx, eax
+add esp, 4
+test eax, eax
+je near loc_0041b3d0 ; je 0x41b3d0
+mov edi, dword [eax*8 + ref_0047fdea] ; mov edi, dword [eax*8 + 0x47fdea]
+push edi
+push ref_00463aa8 ; push 0x463aa8
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+push ebx
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+xor eax, eax
+mov al, byte [ebx*8 + ref_0047fdef] ; mov al, byte [ebx*8 + 0x47fdef]
+push eax
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044f230 ; call 0x44f230
+add esp, 8
+jmp short loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b396:
+call fcn_004379c9 ; call 0x4379c9
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne short loc_0041b3d0 ; jne 0x41b3d0
+xor eax, eax
+mov ax, word [esp + 0xf0]
+push eax
+call fcn_00436668 ; call 0x436668
+
+loc_0041b3b4:
+add esp, 4
+jmp short loc_0041b3d0 ; jmp 0x41b3d0
+
+loc_0041b3b9:
+xor eax, eax
+mov ax, word [esp + 0xf0]
+push eax
+call fcn_0042e931 ; call 0x42e931
+jmp short loc_0041b3b4 ; jmp 0x41b3b4
+
+loc_0041b3cb:
+call fcn_0043380a ; call 0x43380a
+
+loc_0041b3d0:
+xor eax, eax
+mov al, byte [esp + 0xf4]
+add esp, 0xf8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0041b3e4:
+db 0x90
+
+ref_0041b3e5: ; may contain a jump table
+dd loc_0041b807
+dd loc_0041b807
+dd loc_0041b807
+dd loc_0041b807
+dd loc_0041b807
+dd loc_0041b807
+dd loc_0041b807
+dd loc_0041b807
+dd loc_0041b807
+dd loc_0041b807
+dd loc_0041b837
+dd loc_0041b807
+dd loc_0041b8f9
+dd loc_0041bb0c
+dd loc_0041c164
+dd loc_0041bceb
+dd loc_0041be5f
+dd loc_0041bfd2
+
+fcn_0041b42d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xa8
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+jne short loc_0041b456 ; jne 0x41b456
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+
+loc_0041b456:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+cmp ecx, 4
+jge short loc_0041b46d ; jge 0x41b46d
+imul esi, ecx, 0x68
+mov si, word [esi + ref_00496b74] ; mov si, word [esi + 0x496b74]
+jmp short loc_0041b479 ; jmp 0x41b479
+
+loc_0041b46d:
+mov esi, ecx
+shl esi, 4
+mov si, word [esi + ref_00498dec] ; mov si, word [esi + 0x498dec]
+
+loc_0041b479:
+and esi, 0xffff
+mov eax, esi
+shl eax, 2
+add eax, esi
+shl eax, 3
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+add eax, ecx
+mov ecx, dword [eax + 0x24]
+and ecx, 0xff
+mov dword [esp + 0xa0], ecx
+mov ecx, dword [eax + 0x24]
+and ecx, 0xf00
+shr ecx, 8
+mov dword [esp + 0x98], ecx
+mov eax, dword [eax + 0x24]
+and eax, 0xff0000
+shr eax, 0x10
+mov dword [esp + 0xa4], eax
+test eax, eax
+je short loc_0041b4e0 ; je 0x41b4e0
+lea ebx, [eax - 1]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov al, byte [eax*8 + ref_00496d08] ; mov al, byte [eax*8 + 0x496d08]
+and eax, 0xff
+
+loc_0041b4e0:
+mov dword [esp + 0x9c], eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp eax, 8
+jne short loc_0041b536 ; jne 0x41b536
+cmp dword [esp + 0xa4], 0
+je near loc_0041c844 ; je 0x41c844
+xor eax, eax
+mov ax, word [ref_00498e6e] ; mov ax, word [0x498e6e]
+push eax
+xor eax, eax
+mov ax, word [ref_00498e6c] ; mov ax, word [0x498e6c]
+push eax
+mov edx, dword [esp + 0xac]
+push edx
+call fcn_0040fafd ; call 0x40fafd
+add esp, 0xc
+mov ecx, dword [esp + 0xa4]
+push ecx
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+jmp near loc_0041c844 ; jmp 0x41c844
+
+loc_0041b536:
+cmp eax, 4
+jge near loc_0041b7ef ; jge 0x41b7ef
+cmp dword [esp + 0xa0], 0xe
+jne near loc_0041b5fd ; jne 0x41b5fd
+imul eax, eax, 0x68
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne near loc_0041b5fd ; jne 0x41b5fd
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je near loc_0041b5fd ; je 0x41b5fd
+cmp dword [esp + 0x9c], 0x10
+je near loc_0041b5fd ; je 0x41b5fd
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba8], 0 ; cmp byte [eax + 0x496ba8], 0
+je short loc_0041b5ab ; je 0x41b5ab
+push ref_00482362 ; push 0x482362
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+
+loc_0041b5ab:
+call fcn_004379c9 ; call 0x4379c9
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne near loc_0041c844 ; jne 0x41c844
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je short loc_0041b5fd ; je 0x41b5fd
+push 1
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba8], 0 ; cmp byte [eax + 0x496ba8], 0
+je short loc_0041b5fd ; je 0x41b5fd
+push 1
+push ref_00482362 ; push 0x482362
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0041b5fd:
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+mov eax, 1
+shl eax, cl
+not eax
+mov edi, dword [esp + 0x98]
+and edi, eax
+push edi
+call fcn_0040d293 ; call 0x40d293
+mov ebp, eax
+add esp, 4
+cmp eax, 0xffffffff
+je short loc_0041b697 ; je 0x41b697
+imul eax, eax, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+jne short loc_0041b697 ; jne 0x41b697
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+jne short loc_0041b697 ; jne 0x41b697
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 3
+add ebx, eax
+shl ebx, 3
+mov eax, ebx
+shl ebx, 2
+add ebx, eax
+push ebx
+push ref_00463ab1 ; push 0x463ab1
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 0
+push ebx
+push 0xffffffffffffffff
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+push ebp
+call fcn_0040cc56 ; call 0x40cc56
+add esp, 4
+
+loc_0041b697:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ch, byte [eax + ref_00496ba8] ; mov ch, byte [eax + 0x496ba8]
+test ch, ch
+je near loc_0041b7ef ; je 0x41b7ef
+mov al, ch
+and eax, 0xff
+lea ebx, [eax - 1]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov dl, byte [eax*8 + ref_00496d0c] ; mov dl, byte [eax*8 + 0x496d0c]
+dec dl
+mov byte [eax*8 + ref_00496d0c], dl ; mov byte [eax*8 + 0x496d0c], dl
+jne near loc_0041b78b ; jne 0x41b78b
+push ref_00482362 ; push 0x482362
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496ba8] ; mov al, byte [eax + 0x496ba8]
+and eax, 0xff
+push eax
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+mov ecx, esi
+shl ecx, 2
+add ecx, esi
+shl ecx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, ecx
+mov di, word [eax + 0x20]
+test di, di
+je short loc_0041b727 ; je 0x41b727
+push 0
+mov eax, edi
+and eax, 0xffff
+push eax
+call fcn_0040ab4a ; call 0x40ab4a
+add esp, 8
+
+loc_0041b727:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040cd07 ; call 0x40cd07
+add esp, 4
+push 0
+push 0
+push 0x20d
+mov esi, dword [ref_0048a0e4] ; mov esi, dword [0x48a0e4]
+push esi
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x52
+push 0x30001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor edi, edi
+mov dword [ref_0048baf8], edi ; mov dword [0x48baf8], edi
+push 5
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0043ec3f ; call 0x43ec3f
+add esp, 8
+jmp near loc_0041c844 ; jmp 0x41c844
+
+loc_0041b78b:
+test edi, edi
+je short loc_0041b7ef ; je 0x41b7ef
+push edi
+call fcn_0040d293 ; call 0x40d293
+add esp, 4
+mov ebx, eax
+imul eax, eax, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0041b7ef ; je 0x41b7ef
+mov ch, byte [eax + ref_00496ba8] ; mov ch, byte [eax + 0x496ba8]
+test ch, ch
+jne short loc_0041b7ef ; jne 0x41b7ef
+imul edi, dword [ref_0049910c], 0x68 ; imul edi, dword [0x49910c], 0x68
+mov bh, byte [edi + ref_00496ba8] ; mov bh, byte [edi + 0x496ba8]
+mov byte [eax + ref_00496ba8], bh ; mov byte [eax + 0x496ba8], bh
+mov cl, bl
+inc cl
+xor eax, eax
+mov al, bh
+lea ebx, [eax - 1]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov byte [eax*8 + ref_00496d0d], cl ; mov byte [eax*8 + 0x496d0d], cl
+mov byte [edi + ref_00496ba8], ch ; mov byte [edi + 0x496ba8], ch
+push ref_00482362 ; push 0x482362
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+
+loc_0041b7ef:
+mov eax, dword [esp + 0x9c]
+dec eax
+cmp eax, 0x11
+ja near loc_0041c164 ; ja 0x41c164
+jmp dword [eax*4 + ref_0041b3e5] ; ujmp: jmp dword [eax*4 + 0x41b3e5]
+
+loc_0041b807:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+cmp edx, 4
+jge near loc_0041c164 ; jge 0x41c164
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+jne near loc_0041c164 ; jne 0x41c164
+mov ebx, dword [esp + 0xa4]
+push ebx
+push esi
+push edx
+call fcn_0040ead7 ; call 0x40ead7
+jmp near loc_0041bb95 ; jmp 0x41bb95
+
+loc_0041b837:
+mov edi, dword [ref_0048baf8] ; mov edi, dword [0x48baf8]
+test edi, edi
+jne near loc_0041c164 ; jne 0x41c164
+push 0xb
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp ebp, 4
+jge short loc_0041b8a7 ; jge 0x41b8a7
+imul eax, ebp, 0x68
+cmp byte [eax + ref_00496b79], 0 ; cmp byte [eax + 0x496b79], 0
+je short loc_0041b89e ; je 0x41b89e
+push edi
+push edi
+push 0x228
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x55
+push 0x10001
+push 0x28
+push edi
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp near loc_0041c164 ; jmp 0x41c164
+
+loc_0041b89e:
+push ebp
+call fcn_0040cd07 ; call 0x40cd07
+add esp, 4
+
+loc_0041b8a7:
+push 0
+push 0
+push 0x214
+mov ebx, dword [ref_0048a0e4] ; mov ebx, dword [0x48a0e4]
+push ebx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x5d
+push 0x30001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0041b8de:
+xor edi, edi
+mov dword [ref_0048baf8], edi ; mov dword [0x48baf8], edi
+push 3
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0043ec3f ; call 0x43ec3f
+jmp near loc_0041c161 ; jmp 0x41c161
+
+loc_0041b8f9:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp eax, 4
+jge near loc_0041b995 ; jge 0x41b995
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+jne near loc_0041b995 ; jne 0x41b995
+push eax
+call fcn_00445ada ; call 0x445ada
+mov ebx, eax
+add esp, 4
+test eax, eax
+je near loc_0041c164 ; je 0x41c164
+push 0
+push ref_0048237a ; push 0x48237a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0xd
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ebx*8 + ref_0047feda] ; mov ecx, dword [ebx*8 + 0x47feda]
+push ecx
+push ref_00463aa8 ; push 0x463aa8
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+xor eax, eax
+mov al, byte [ebx*8 + ref_0047fedf] ; mov al, byte [ebx*8 + 0x47fedf]
+push eax
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0044f230 ; call 0x44f230
+jmp near loc_0041c161 ; jmp 0x41c161
+
+loc_0041b995:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+cmp ecx, 4
+jne near loc_0041c164 ; jne 0x41c164
+mov eax, ecx
+shl eax, 4
+cmp byte [eax + ref_00498df5], 0 ; cmp byte [eax + 0x498df5], 0
+jne near loc_0041c164 ; jne 0x41c164
+push 0xd
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ebx, dword [eax + ref_00496b68] ; mov ebx, dword [eax + 0x496b68]
+push ebx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+mov edi, dword [ref_0047edaa] ; mov edi, dword [0x47edaa]
+push edi
+push ref_00463ac0 ; push 0x463ac0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+push eax
+call fcn_00445ada ; call 0x445ada
+mov ebx, eax
+add esp, 4
+test eax, eax
+je near loc_0041be38 ; je 0x41be38
+push 0
+push ref_0048237a ; push 0x48237a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x68
+xor ecx, ecx
+mov cx, word [eax + ref_00496b72] ; mov cx, word [eax + 0x496b72]
+push ecx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ebp, dword [ebx*8 + ref_0047feda] ; mov ebp, dword [ebx*8 + 0x47feda]
+push ebp
+push ref_00463aa8 ; push 0x463aa8
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+xor eax, eax
+mov al, byte [ebx*8 + ref_0047fedf] ; mov al, byte [ebx*8 + 0x47fedf]
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+push eax
+call fcn_0044f230 ; call 0x44f230
+add esp, 8
+
+loc_0041bb02:
+call fcn_0041d546 ; call 0x41d546
+jmp near loc_0041be38 ; jmp 0x41be38
+
+loc_0041bb0c:
+cmp dword [ref_0049910c], 4 ; cmp dword [0x49910c], 4
+jge near loc_0041bb9d ; jge 0x41bb9d
+mov ecx, dword [ref_0048baf8] ; mov ecx, dword [0x48baf8]
+test ecx, ecx
+jne short loc_0041bb9d ; jne 0x41bb9d
+push ecx
+push ref_00482382 ; push 0x482382
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0xe
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x5dc
+push ref_00463ad3 ; push 0x463ad3
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+add word [eax + ref_00496b98], 0x1f4 ; add word [eax + 0x496b98], 0x1f4
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov edi, dword [ebx + eax*8 + ref_0048084a] ; mov edi, dword [ebx + eax*8 + 0x48084a]
+push edi
+push 0
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+
+loc_0041bb90:
+call fcn_0044ef41 ; call 0x44ef41
+
+loc_0041bb95:
+add esp, 0xc
+jmp near loc_0041c164 ; jmp 0x41c164
+
+loc_0041bb9d:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+cmp ebx, 4
+jne near loc_0041c164 ; jne 0x41c164
+mov eax, ebx
+shl eax, 4
+cmp byte [eax + ref_00498df5], 0 ; cmp byte [eax + 0x498df5], 0
+jne near loc_0041c164 ; jne 0x41c164
+push 0
+push ref_00482382 ; push 0x482382
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0xe
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+mov ebp, dword [ref_0047edae] ; mov ebp, dword [0x47edae]
+push ebp
+push ref_00463ac0 ; push 0x463ac0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 0
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x68
+xor ecx, ecx
+mov cx, word [eax + ref_00496b72] ; mov cx, word [eax + 0x496b72]
+push ecx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x5dc
+push ref_00463ad3 ; push 0x463ad3
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+movzx edi, byte [eax + ref_00498df0] ; movzx edi, byte [eax + 0x498df0]
+imul eax, edi, 0x68
+add word [eax + ref_00496b98], 0x1f4 ; add word [eax + 0x496b98], 0x1f4
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov edx, dword [ebx + eax*8 + ref_0048084a] ; mov edx, dword [ebx + eax*8 + 0x48084a]
+push edx
+push 0
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+jmp near loc_0041bb02 ; jmp 0x41bb02
+
+loc_0041bceb:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp eax, 8
+jge short loc_0041bd65 ; jge 0x41bd65
+cmp eax, 4
+je short loc_0041bd65 ; je 0x41bd65
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+mov edx, dword [esp + 0xa4]
+push edx
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+xor ecx, ecx
+mov dword [ref_0048baf8], ecx ; mov dword [0x48baf8], ecx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+cmp ebx, 4
+jge near loc_0041c164 ; jge 0x41c164
+imul eax, ebx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ebp, dword [eax + ref_00480d92] ; mov ebp, dword [eax + 0x480d92]
+push ebp
+push 1
+push ebx
+jmp near loc_0041bb90 ; jmp 0x41bb90
+
+loc_0041bd65:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+cmp ecx, 4
+jne near loc_0041c164 ; jne 0x41c164
+mov eax, ecx
+shl eax, 4
+cmp byte [eax + ref_00498df5], 0 ; cmp byte [eax + 0x498df5], 0
+jne near loc_0041c164 ; jne 0x41c164
+mov ebx, dword [esp + 0xa4]
+push ebx
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+mov ebp, dword [ref_0047edb6] ; mov ebp, dword [0x47edb6]
+push ebp
+push ref_00463ac0 ; push 0x463ac0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 2
+
+loc_0041be1c:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+push eax
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+
+loc_0041be38:
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je near loc_0041c164 ; je 0x41c164
+push 1
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542ce ; call 0x4542ce
+jmp near loc_0041c161 ; jmp 0x41c161
+
+loc_0041be5f:
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp ebp, 8
+jge near loc_0041bf16 ; jge 0x41bf16
+cmp ebp, 4
+je near loc_0041bf16 ; je 0x41bf16
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+jne near loc_0041bf16 ; jne 0x41bf16
+mov edx, dword [esp + 0xa4]
+push edx
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+cmp ecx, 4
+jge short loc_0041bea8 ; jge 0x41bea8
+push ecx
+call fcn_0040cd07 ; call 0x40cd07
+add esp, 4
+
+loc_0041bea8:
+push 0
+push 0
+push 0x20d
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x52
+push 0x30001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp ebp, 4
+jge near loc_0041b8de ; jge 0x41b8de
+imul eax, ebp, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00480d96] ; mov ecx, dword [eax + 0x480d96]
+push ecx
+push 1
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+jmp near loc_0041b8de ; jmp 0x41b8de
+
+loc_0041bf16:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+cmp ecx, 4
+jne near loc_0041c164 ; jne 0x41c164
+mov eax, ecx
+shl eax, 4
+cmp byte [eax + ref_00498df5], 0 ; cmp byte [eax + 0x498df5], 0
+jne near loc_0041c164 ; jne 0x41c164
+mov ebx, dword [esp + 0xa4]
+push ebx
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+mov ebp, dword [ref_0047edba] ; mov ebp, dword [0x47edba]
+push ebp
+push ref_00463ac0 ; push 0x463ac0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 3
+jmp near loc_0041be1c ; jmp 0x41be1c
+
+loc_0041bfd2:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp eax, 4
+jge near loc_0041c072 ; jge 0x41c072
+imul eax, eax, 0x68
+mov dl, byte [eax + ref_00496ba8] ; mov dl, byte [eax + 0x496ba8]
+test dl, dl
+jne near loc_0041c072 ; jne 0x41c072
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+jne short loc_0041c072 ; jne 0x41c072
+mov bl, byte [esp + 0xa4]
+mov byte [eax + ref_00496ba8], bl ; mov byte [eax + 0x496ba8], bl
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+inc cl
+mov ebx, dword [esp + 0xa4]
+dec ebx
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov byte [eax*8 + ref_00496d0d], cl ; mov byte [eax*8 + 0x496d0d], cl
+mov byte [eax*8 + ref_00496d0c], 0x26 ; mov byte [eax*8 + 0x496d0c], 0x26
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov byte [ecx + eax*8 + 0x26], dl
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ebx, dword [eax + ref_00480d9a] ; mov ebx, dword [eax + 0x480d9a]
+push ebx
+push 2
+push ecx
+jmp near loc_0041bb90 ; jmp 0x41bb90
+
+loc_0041c072:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+cmp ebx, 4
+jne near loc_0041c164 ; jne 0x41c164
+mov eax, ebx
+shl eax, 4
+cmp byte [eax + ref_00498df5], 0 ; cmp byte [eax + 0x498df5], 0
+jne near loc_0041c164 ; jne 0x41c164
+mov edi, dword [esp + 0xa4]
+push edi
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ebp, dword [eax + ref_00496b68] ; mov ebp, dword [eax + 0x496b68]
+push ebp
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+mov eax, dword [ref_0047edbe] ; mov eax, dword [0x47edbe]
+push eax
+push ref_00463ac0 ; push 0x463ac0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push ebx
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+push eax
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je short loc_0041c164 ; je 0x41c164
+push 1
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542ce ; call 0x4542ce
+
+loc_0041c161:
+add esp, 8
+
+loc_0041c164:
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp ebp, 4
+jl near loc_0041c844 ; jl 0x41c844
+mov ebx, ebp
+mov eax, ebp
+shl eax, 4
+cmp byte [eax + ref_00498df2], 0 ; cmp byte [eax + 0x498df2], 0
+jne near loc_0041c7a6 ; jne 0x41c7a6
+cmp byte [eax + ref_00498df5], 0 ; cmp byte [eax + 0x498df5], 0
+jne near loc_0041c7a6 ; jne 0x41c7a6
+cmp ebp, 4
+je short loc_0041c1a2 ; je 0x41c1a2
+cmp ebp, 5
+jne near loc_0041c447 ; jne 0x41c447
+
+loc_0041c1a2:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov cl, byte [eax + ref_00498df0] ; mov cl, byte [eax + 0x498df0]
+mov eax, 1
+shl eax, cl
+not eax
+mov edi, dword [esp + 0x98]
+and edi, eax
+je near loc_0041c330 ; je 0x41c330
+push edi
+call fcn_0040d293 ; call 0x40d293
+mov esi, eax
+add esp, 4
+imul ebx, eax, 0x68
+cmp byte [ebx + ref_00496b7d], 0 ; cmp byte [ebx + 0x496b7d], 0
+je near loc_0041c330 ; je 0x41c330
+mov edx, dword [ebx + ref_00496b68] ; mov edx, dword [ebx + 0x496b68]
+push edx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+cmp dword [ref_0049910c], 4 ; cmp dword [0x49910c], 4
+jne near loc_0041c293 ; jne 0x41c293
+xor edi, edi
+mov di, word [ebx + ref_00496b98] ; mov di, word [ebx + 0x496b98]
+sar edi, 1
+test edi, edi
+je near loc_0041c330 ; je 0x41c330
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push edi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463ae4 ; push 0x463ae4
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x3e8
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+sub word [ebx + ref_00496b98], di ; sub word [ebx + 0x496b98], di
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x68
+add word [eax + ref_00496b98], di ; add word [eax + 0x496b98], di
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je near loc_0041c330 ; je 0x41c330
+jmp near loc_0041c318 ; jmp 0x41c318
+
+loc_0041c293:
+push esi
+call fcn_00441e77 ; call 0x441e77
+mov ebx, eax
+add esp, 4
+test eax, eax
+je near loc_0041c330 ; je 0x41c330
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+mov eax, ebx
+mov esi, dword [eax*8 + ref_0047fdea] ; mov esi, dword [eax*8 + 0x47fdea]
+push esi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463af7 ; push 0x463af7
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x3e8
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push ebx
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+push eax
+call fcn_004412e4 ; call 0x4412e4
+add esp, 8
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je short loc_0041c330 ; je 0x41c330
+
+loc_0041c318:
+push 1
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0041c330:
+cmp dword [ref_0049910c], 5 ; cmp dword [0x49910c], 5
+jne near loc_0041c7a6 ; jne 0x41c7a6
+cmp dword [esp + 0xa0], 0xe
+jne near loc_0041c7a6 ; jne 0x41c7a6
+xor ebx, ebx
+xor edi, edi
+
+loc_0041c34f:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0041c3ad ; jge 0x41c3ad
+imul esi, ebx, 0x68
+cmp byte [esi + ref_00496b7d], 0 ; cmp byte [esi + 0x496b7d], 0
+je short loc_0041c3aa ; je 0x41c3aa
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+shl ebp, 4
+movzx ebp, byte [ebp + ref_00498df0] ; movzx ebp, byte [ebp + 0x498df0]
+cmp ebx, ebp
+je short loc_0041c3aa ; je 0x41c3aa
+fild dword [esi + ref_00496b88] ; fild dword [esi + 0x496b88]
+fmul qword [ref_00463b60] ; fmul qword [0x463b60]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x94]
+push 5
+mov eax, dword [esp + 0x98]
+push eax
+push ebp
+push ebx
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+add edi, dword [esp + 0x94]
+
+loc_0041c3aa:
+inc ebx
+jmp short loc_0041c34f ; jmp 0x41c34f
+
+loc_0041c3ad:
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ebx, dword [eax + ref_00496b68] ; mov ebx, dword [eax + 0x496b68]
+push ebx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push edi
+push ref_00463b02 ; push 0x463b02
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x7d0
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+cmp dword [ref_0048baf8], 0 ; cmp dword [0x48baf8], 0
+je near loc_0041c7a6 ; je 0x41c7a6
+push 1
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_0041c7a6 ; jmp 0x41c7a6
+
+loc_0041c447:
+mov eax, dword [ref_0048baf8] ; mov eax, dword [0x48baf8]
+test eax, eax
+jne near loc_0041c7a6 ; jne 0x41c7a6
+push 1
+push eax
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov edi, dword [ref_00498e80] ; mov edi, dword [0x498e80]
+mov di, word [edi + eax*8 + 0x20]
+cmp di, 0x7d0
+jbe near loc_0041c5cd ; jbe 0x41c5cd
+cmp di, 0xfa0
+jae near loc_0041c5cd ; jae 0x41c5cd
+xor eax, eax
+mov ax, di
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebp, dword [ref_00498e84] ; mov ebp, dword [0x498e84]
+add ebp, eax
+mov dl, byte [ebp + 0x19]
+test dl, dl
+je near loc_0041c7a6 ; je 0x41c7a6
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+xor ecx, ecx
+mov cl, byte [eax + ref_00498df0] ; mov cl, byte [eax + 0x498df0]
+xor eax, eax
+mov al, dl
+dec eax
+cmp ecx, eax
+je near loc_0041c7a6 ; je 0x41c7a6
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+cmp dword [ref_0049910c], 6 ; cmp dword [0x49910c], 6
+jne near loc_0041c597 ; jne 0x41c597
+mov ebx, 1
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+add esi, 0x34
+xor edi, edi
+
+loc_0041c4fc:
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg short loc_0041c52c ; jg 0x41c52c
+mov al, byte [esi + 0x19]
+cmp al, byte [ebp + 0x19]
+jne short loc_0041c526 ; jne 0x41c526
+lea eax, [esi + 4]
+push eax
+lea eax, [ebp + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0041c526 ; jne 0x41c526
+mov ax, word [esi + 0x1c]
+add edi, eax
+
+loc_0041c526:
+inc ebx
+add esi, 0x34
+jmp short loc_0041c4fc ; jmp 0x41c4fc
+
+loc_0041c52c:
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+imul edi, dword [ref_004990e8] ; imul edi, dword [0x4990e8]
+push edi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463b21 ; push 0x463b21
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+
+loc_0041c564:
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 0
+push edi
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+push eax
+xor eax, eax
+mov al, byte [ebp + 0x19]
+jmp near loc_0041c6b6 ; jmp 0x41c6b6
+
+loc_0041c597:
+mov edi, dword [ebp + 0x2c]
+test edi, edi
+je near loc_0041c7a6 ; je 0x41c7a6
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push edi
+push ref_00463b36 ; push 0x463b36
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+jmp short loc_0041c564 ; jmp 0x41c564
+
+loc_0041c5cd:
+cmp di, 0xfa0
+jbe near loc_0041c6e6 ; jbe 0x41c6e6
+cmp di, 0x1770
+jae near loc_0041c6e6 ; jae 0x41c6e6
+xor eax, eax
+mov ax, di
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+cmp byte [ebx + 0x19], 0
+je near loc_0041c7a6 ; je 0x41c7a6
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+xor ecx, ecx
+mov cl, byte [eax + ref_00498df0] ; mov cl, byte [eax + 0x498df0]
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+cmp ecx, eax
+je near loc_0041c7a6 ; je 0x41c7a6
+imul eax, eax, 0x68
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+cmp dword [ref_0049910c], 6 ; cmp dword [0x49910c], 6
+jne short loc_0041c6bd ; jne 0x41c6bd
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+xor edi, edi
+mov di, word [ebx + 0x22]
+imul edi, dword [ref_004990e8] ; imul edi, dword [0x4990e8]
+push edi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463b21 ; push 0x463b21
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+
+loc_0041c688:
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 0
+push edi
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x19]
+
+loc_0041c6b6:
+dec eax
+push eax
+jmp near loc_0041c79e ; jmp 0x41c79e
+
+loc_0041c6bd:
+mov edi, dword [ebx + 0x30]
+test edi, edi
+je near loc_0041c7a6 ; je 0x41c7a6
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push edi
+push ref_00463b36 ; push 0x463b36
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+jmp short loc_0041c688 ; jmp 0x41c688
+
+loc_0041c6e6:
+cmp di, 0x1770
+jbe near loc_0041c7a6 ; jbe 0x41c7a6
+cmp di, 0x1f40
+jae near loc_0041c7a6 ; jae 0x41c7a6
+xor esi, esi
+mov si, di
+lea eax, [esi - 0x1770]
+imul eax, eax, 0x34
+mov edi, dword [ref_00498e7c] ; mov edi, dword [0x498e7c]
+add edi, eax
+cmp byte [edi + 0x18], 0
+je near loc_0041c7a6 ; je 0x41c7a6
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+mov eax, ebx
+shl eax, 4
+xor ecx, ecx
+mov cl, byte [eax + ref_00498df0] ; mov cl, byte [eax + 0x498df0]
+xor eax, eax
+mov al, byte [edi + 0x18]
+dec eax
+cmp ecx, eax
+je short loc_0041c7a6 ; je 0x41c7a6
+cmp ebx, 7
+jne short loc_0041c7a6 ; jne 0x41c7a6
+mov edi, dword [edi + 0x28]
+test edi, edi
+je short loc_0041c7a6 ; je 0x41c7a6
+mov eax, dword [ref_004749d4] ; mov eax, dword [0x4749d4]
+shl eax, 3
+add eax, ref_0048234a ; add eax, 0x48234a
+push eax
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push edi
+push ref_00463b49 ; push 0x463b49
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 0
+push edi
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+shl eax, 4
+mov al, byte [eax + ref_00498df0] ; mov al, byte [eax + 0x498df0]
+and eax, 0xff
+push eax
+sub esi, 0x170c
+push esi
+
+loc_0041c79e:
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+
+loc_0041c7a6:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+mov eax, ebx
+shl eax, 4
+mov cl, byte [eax + ref_00498df3] ; mov cl, byte [eax + 0x498df3]
+and cl, 0x7f
+cmp cl, 1
+jne short loc_0041c7f6 ; jne 0x41c7f6
+cmp dword [esp + 0xa0], 4
+jne short loc_0041c7f6 ; jne 0x41c7f6
+mov cl, byte [eax + ref_00498df3] ; mov cl, byte [eax + 0x498df3]
+test cl, 0x80
+je short loc_0041c7e9 ; je 0x41c7e9
+push 0
+push ebx
+call fcn_0043d593 ; call 0x43d593
+add esp, 8
+xor ebp, ebp
+mov dword [ref_0048baf8], ebp ; mov dword [0x48baf8], ebp
+jmp short loc_0041c844 ; jmp 0x41c844
+
+loc_0041c7e9:
+mov ch, cl
+or ch, 0x80
+mov byte [eax + ref_00498df3], ch ; mov byte [eax + 0x498df3], ch
+jmp short loc_0041c844 ; jmp 0x41c844
+
+loc_0041c7f6:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+mov eax, ebx
+shl eax, 4
+mov cl, byte [eax + ref_00498df3] ; mov cl, byte [eax + 0x498df3]
+and cl, 0x7f
+cmp cl, 2
+jne short loc_0041c844 ; jne 0x41c844
+cmp dword [esp + 0xa0], 5
+jne short loc_0041c844 ; jne 0x41c844
+mov dl, byte [eax + ref_00498df3] ; mov dl, byte [eax + 0x498df3]
+test dl, 0x80
+je short loc_0041c839 ; je 0x41c839
+push 0
+push ebx
+call fcn_0043ec3f ; call 0x43ec3f
+add esp, 8
+xor edi, edi
+mov dword [ref_0048baf8], edi ; mov dword [0x48baf8], edi
+jmp short loc_0041c844 ; jmp 0x41c844
+
+loc_0041c839:
+mov dh, dl
+or dh, 0x80
+mov byte [eax + ref_00498df3], dh ; mov byte [eax + 0x498df3], dh
+
+loc_0041c844:
+add esp, 0xa8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041c84f:
+push ebx
+push esi
+push ebp
+sub esp, 0x80
+mov ebx, dword [esp + 0x90]
+cmp ebx, 4
+jge near loc_0041ce39 ; jge 0x41ce39
+call fcn_0042915a ; call 0x42915a
+call fcn_00436a5a ; call 0x436a5a
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_0041cf5d ; je 0x41cf5d
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne near loc_0041cf5d ; jne 0x41cf5d
+mov cl, byte [eax + ref_00496b9a] ; mov cl, byte [eax + 0x496b9a]
+test cl, 0x80
+je short loc_0041c8a5 ; je 0x41c8a5
+push ebx
+call fcn_0040d6be ; call 0x40d6be
+add esp, 4
+jmp short loc_0041c8bc ; jmp 0x41c8bc
+
+loc_0041c8a5:
+test cl, cl
+je short loc_0041c8bc ; je 0x41c8bc
+mov dl, cl
+dec dl
+mov byte [eax + ref_00496b9a], dl ; mov byte [eax + 0x496b9a], dl
+jne short loc_0041c8bc ; jne 0x41c8bc
+or byte [eax + ref_00496b9a], 0x80 ; or byte [eax + 0x496b9a], 0x80
+
+loc_0041c8bc:
+imul eax, ebx, 0x68
+mov ch, byte [eax + ref_00496b9b] ; mov ch, byte [eax + 0x496b9b]
+test ch, 0x80
+je short loc_0041c8d5 ; je 0x41c8d5
+push ebx
+call fcn_0040d4e5 ; call 0x40d4e5
+add esp, 4
+jmp short loc_0041c8f3 ; jmp 0x41c8f3
+
+loc_0041c8d5:
+test ch, ch
+je short loc_0041c8f3 ; je 0x41c8f3
+mov dh, ch
+dec dh
+mov byte [eax + ref_00496b9b], dh ; mov byte [eax + 0x496b9b], dh
+test dh, 0x3f
+jne short loc_0041c8f3 ; jne 0x41c8f3
+mov ch, dh
+or ch, 0x80
+mov byte [eax + ref_00496b9b], ch ; mov byte [eax + 0x496b9b], ch
+
+loc_0041c8f3:
+imul eax, ebx, 0x68
+mov dl, byte [eax + ref_00496b9c] ; mov dl, byte [eax + 0x496b9c]
+test dl, 0x80
+je short loc_0041c90c ; je 0x41c90c
+push ebx
+call fcn_0043d7bf ; call 0x43d7bf
+add esp, 4
+jmp short loc_0041c927 ; jmp 0x41c927
+
+loc_0041c90c:
+test dl, dl
+je short loc_0041c927 ; je 0x41c927
+mov cl, dl
+dec cl
+mov byte [eax + ref_00496b9c], cl ; mov byte [eax + 0x496b9c], cl
+jne short loc_0041c927 ; jne 0x41c927
+mov dl, cl
+or dl, 0x80
+mov byte [eax + ref_00496b9c], dl ; mov byte [eax + 0x496b9c], dl
+
+loc_0041c927:
+imul eax, ebx, 0x68
+mov dh, byte [eax + ref_00496b9d] ; mov dh, byte [eax + 0x496b9d]
+test dh, 0x80
+je short loc_0041c940 ; je 0x41c940
+push ebx
+call fcn_0043ee6e ; call 0x43ee6e
+add esp, 4
+jmp short loc_0041c95b ; jmp 0x41c95b
+
+loc_0041c940:
+test dh, dh
+je short loc_0041c95b ; je 0x41c95b
+mov ch, dh
+dec ch
+mov byte [eax + ref_00496b9d], ch ; mov byte [eax + 0x496b9d], ch
+jne short loc_0041c95b ; jne 0x41c95b
+mov dh, ch
+or dh, 0x80
+mov byte [eax + ref_00496b9d], dh ; mov byte [eax + 0x496b9d], dh
+
+loc_0041c95b:
+imul eax, ebx, 0x68
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne near loc_0041ca8f ; jne 0x41ca8f
+test byte [eax + ref_00496b9e], 0x80 ; test byte [eax + 0x496b9e], 0x80
+je short loc_0041c9a4 ; je 0x41c9a4
+xor ch, ch
+mov byte [eax + ref_00496b9e], ch ; mov byte [eax + 0x496b9e], ch
+imul eax, ebx, 0x34
+and byte [eax + ref_00498ea0], 0xbf ; and byte [eax + 0x498ea0], 0xbf
+mov al, byte [eax + ref_00498ea1] ; mov al, byte [eax + 0x498ea1]
+and eax, 0xff
+push eax
+push ebx
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+
+loc_0041c9a4:
+imul eax, ebx, 0x68
+test byte [eax + ref_00496b9f], 0x80 ; test byte [eax + 0x496b9f], 0x80
+je near loc_0041ca7b ; je 0x41ca7b
+xor cl, cl
+mov byte [eax + ref_00496b9f], cl ; mov byte [eax + 0x496b9f], cl
+mov al, byte [eax + ref_00496bce] ; mov al, byte [eax + 0x496bce]
+and al, 3
+movzx esi, al
+cmp esi, 1
+jne short loc_0041c9e3 ; jne 0x41c9e3
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [eax + ref_00499160], 0 ; cmp byte [eax + 0x499160], 0
+jne short loc_0041ca04 ; jne 0x41ca04
+
+loc_0041c9e3:
+cmp esi, 2
+jne short loc_0041c9ff ; jne 0x41c9ff
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [eax + ref_00499161], 0 ; cmp byte [eax + 0x499161], 0
+jne short loc_0041ca04 ; jne 0x41ca04
+
+loc_0041c9ff:
+cmp esi, 3
+jne short loc_0041ca60 ; jne 0x41ca60
+
+loc_0041ca04:
+imul eax, ebx, 0x68
+mov dl, byte [eax + ref_00496bce] ; mov dl, byte [eax + 0x496bce]
+mov byte [eax + ref_00496b79], dl ; mov byte [eax + 0x496b79], dl
+mov dl, byte [eax + ref_00496bcf] ; mov dl, byte [eax + 0x496bcf]
+mov byte [eax + ref_00496b7a], dl ; mov byte [eax + 0x496b7a], dl
+mov ch, byte [eax + ref_00496b79] ; mov ch, byte [eax + 0x496b79]
+cmp ch, 1
+jne short loc_0041ca3e ; jne 0x41ca3e
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+sub byte [eax + ref_00499160], ch ; sub byte [eax + 0x499160], ch
+
+loc_0041ca3e:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b79], 2 ; cmp byte [eax + 0x496b79], 2
+jne short loc_0041ca72 ; jne 0x41ca72
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+dec byte [eax + ref_00499161] ; dec byte [eax + 0x499161]
+jmp short loc_0041ca72 ; jmp 0x41ca72
+
+loc_0041ca60:
+imul eax, ebx, 0x68
+xor dh, dh
+mov byte [eax + ref_00496b79], dh ; mov byte [eax + 0x496b79], dh
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+
+loc_0041ca72:
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+
+loc_0041ca7b:
+imul eax, ebx, 0x68
+test byte [eax + ref_00496ba1], 0x80 ; test byte [eax + 0x496ba1], 0x80
+je short loc_0041ca8f ; je 0x41ca8f
+xor dl, dl
+mov byte [eax + ref_00496ba1], dl ; mov byte [eax + 0x496ba1], dl
+
+loc_0041ca8f:
+imul eax, ebx, 0x68
+test byte [eax + ref_00496ba0], 0x80 ; test byte [eax + 0x496ba0], 0x80
+je short loc_0041caa3 ; je 0x41caa3
+xor cl, cl
+mov byte [eax + ref_00496ba0], cl ; mov byte [eax + 0x496ba0], cl
+
+loc_0041caa3:
+imul eax, ebx, 0x68
+test byte [eax + ref_00496ba3], 0x80 ; test byte [eax + 0x496ba3], 0x80
+je short loc_0041cab7 ; je 0x41cab7
+xor dl, dl
+mov byte [eax + ref_00496ba3], dl ; mov byte [eax + 0x496ba3], dl
+
+loc_0041cab7:
+imul eax, ebx, 0x68
+test byte [eax + ref_00496ba4], 0x80 ; test byte [eax + 0x496ba4], 0x80
+je short loc_0041cacb ; je 0x41cacb
+xor cl, cl
+mov byte [eax + ref_00496ba4], cl ; mov byte [eax + 0x496ba4], cl
+
+loc_0041cacb:
+imul eax, ebx, 0x68
+test byte [eax + ref_00496ba5], 0x80 ; test byte [eax + 0x496ba5], 0x80
+je short loc_0041cae0 ; je 0x41cae0
+push ebx
+call fcn_0040cc1a ; call 0x40cc1a
+add esp, 4
+
+loc_0041cae0:
+imul eax, ebx, 0x68
+test byte [eax + ref_00496ba6], 0x80 ; test byte [eax + 0x496ba6], 0x80
+je short loc_0041caf4 ; je 0x41caf4
+xor dh, dh
+mov byte [eax + ref_00496ba6], dh ; mov byte [eax + 0x496ba6], dh
+
+loc_0041caf4:
+imul eax, ebx, 0x68
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne near loc_0041cb6d ; jne 0x41cb6d
+mov cl, byte [eax + ref_00496b9e] ; mov cl, byte [eax + 0x496b9e]
+test cl, cl
+je short loc_0041cb25 ; je 0x41cb25
+mov ch, cl
+dec ch
+mov byte [eax + ref_00496b9e], ch ; mov byte [eax + 0x496b9e], ch
+jne short loc_0041cb25 ; jne 0x41cb25
+mov dh, ch
+or dh, 0x80
+mov byte [eax + ref_00496b9e], dh ; mov byte [eax + 0x496b9e], dh
+
+loc_0041cb25:
+imul eax, ebx, 0x68
+mov cl, byte [eax + ref_00496b9f] ; mov cl, byte [eax + 0x496b9f]
+test cl, cl
+je short loc_0041cb49 ; je 0x41cb49
+mov ch, cl
+dec ch
+mov byte [eax + ref_00496b9f], ch ; mov byte [eax + 0x496b9f], ch
+jne short loc_0041cb49 ; jne 0x41cb49
+mov dh, ch
+or dh, 0x80
+mov byte [eax + ref_00496b9f], dh ; mov byte [eax + 0x496b9f], dh
+
+loc_0041cb49:
+imul eax, ebx, 0x68
+mov cl, byte [eax + ref_00496ba1] ; mov cl, byte [eax + 0x496ba1]
+test cl, cl
+je short loc_0041cb6d ; je 0x41cb6d
+mov ch, cl
+dec ch
+mov byte [eax + ref_00496ba1], ch ; mov byte [eax + 0x496ba1], ch
+jne short loc_0041cb6d ; jne 0x41cb6d
+mov dh, ch
+or dh, 0x80
+mov byte [eax + ref_00496ba1], dh ; mov byte [eax + 0x496ba1], dh
+
+loc_0041cb6d:
+imul eax, ebx, 0x68
+mov cl, byte [eax + ref_00496ba0] ; mov cl, byte [eax + 0x496ba0]
+test cl, cl
+je short loc_0041cb91 ; je 0x41cb91
+mov ch, cl
+dec ch
+mov byte [eax + ref_00496ba0], ch ; mov byte [eax + 0x496ba0], ch
+jne short loc_0041cb91 ; jne 0x41cb91
+mov dh, ch
+or dh, 0x80
+mov byte [eax + ref_00496ba0], dh ; mov byte [eax + 0x496ba0], dh
+
+loc_0041cb91:
+imul eax, ebx, 0x68
+mov cl, byte [eax + ref_00496ba3] ; mov cl, byte [eax + 0x496ba3]
+test cl, cl
+je short loc_0041cbb5 ; je 0x41cbb5
+mov ch, cl
+dec ch
+mov byte [eax + ref_00496ba3], ch ; mov byte [eax + 0x496ba3], ch
+jne short loc_0041cbb5 ; jne 0x41cbb5
+mov dh, ch
+or dh, 0x80
+mov byte [eax + ref_00496ba3], dh ; mov byte [eax + 0x496ba3], dh
+
+loc_0041cbb5:
+imul eax, ebx, 0x68
+mov cl, byte [eax + ref_00496ba4] ; mov cl, byte [eax + 0x496ba4]
+test cl, cl
+je short loc_0041cbd9 ; je 0x41cbd9
+mov ch, cl
+dec ch
+mov byte [eax + ref_00496ba4], ch ; mov byte [eax + 0x496ba4], ch
+jne short loc_0041cbd9 ; jne 0x41cbd9
+mov dh, ch
+or dh, 0x80
+mov byte [eax + ref_00496ba4], dh ; mov byte [eax + 0x496ba4], dh
+
+loc_0041cbd9:
+imul esi, ebx, 0x68
+cmp byte [esi + ref_00496ba5], 0 ; cmp byte [esi + 0x496ba5], 0
+je short loc_0041cc48 ; je 0x41cc48
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+neg eax
+push eax
+xor eax, eax
+mov al, byte [esi + ref_00496ba9] ; mov al, byte [esi + 0x496ba9]
+dec eax
+push eax
+push ebx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+neg eax
+push eax
+push ebx
+xor eax, eax
+mov al, byte [esi + ref_00496ba9] ; mov al, byte [esi + 0x496ba9]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+mov ch, byte [esi + ref_00496ba5] ; mov ch, byte [esi + 0x496ba5]
+dec ch
+mov byte [esi + ref_00496ba5], ch ; mov byte [esi + 0x496ba5], ch
+jne short loc_0041cc48 ; jne 0x41cc48
+mov byte [esi + ref_00496ba5], 0x80 ; mov byte [esi + 0x496ba5], 0x80
+
+loc_0041cc48:
+imul eax, ebx, 0x68
+mov dl, byte [eax + ref_00496ba6] ; mov dl, byte [eax + 0x496ba6]
+test dl, dl
+je short loc_0041cc6c ; je 0x41cc6c
+mov dh, dl
+dec dh
+mov byte [eax + ref_00496ba6], dh ; mov byte [eax + 0x496ba6], dh
+jne short loc_0041cc6c ; jne 0x41cc6c
+mov ch, dh
+or ch, 0x80
+mov byte [eax + ref_00496ba6], ch ; mov byte [eax + 0x496ba6], ch
+
+loc_0041cc6c:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496ba7], 0 ; cmp byte [eax + 0x496ba7], 0
+je short loc_0041cca3 ; je 0x41cca3
+xor edx, edx
+mov dl, byte [eax + ref_00496ba7] ; mov dl, byte [eax + 0x496ba7]
+dec edx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov dh, byte [eax*8 + ref_00496d0c] ; mov dh, byte [eax*8 + 0x496d0c]
+dec dh
+mov byte [eax*8 + ref_00496d0c], dh ; mov byte [eax*8 + 0x496d0c], dh
+jne short loc_0041cca3 ; jne 0x41cca3
+push ebx
+call fcn_0040e32c ; call 0x40e32c
+add esp, 4
+
+loc_0041cca3:
+imul eax, ebx, 0x68
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+and dl, 3
+cmp dl, 3
+jne near loc_0041cd8c ; jne 0x41cd8c
+mov ch, byte [eax + ref_00496b79] ; mov ch, byte [eax + 0x496b79]
+sub ch, 4
+mov byte [eax + ref_00496b79], ch ; mov byte [eax + 0x496b79], ch
+test ch, 0xfc
+jne near loc_0041cd8c ; jne 0x41cd8c
+mov al, byte [eax + ref_00496bcc] ; mov al, byte [eax + 0x496bcc]
+and al, dl
+movzx esi, al
+cmp esi, 1
+jne short loc_0041ccf7 ; jne 0x41ccf7
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [eax + ref_00499160], 0 ; cmp byte [eax + 0x499160], 0
+jne short loc_0041cd17 ; jne 0x41cd17
+
+loc_0041ccf7:
+cmp esi, 2
+jne near loc_0041cd71 ; jne 0x41cd71
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [eax + ref_00499161], 0 ; cmp byte [eax + 0x499161], 0
+je short loc_0041cd71 ; je 0x41cd71
+
+loc_0041cd17:
+imul eax, ebx, 0x68
+mov dl, byte [eax + ref_00496bcc] ; mov dl, byte [eax + 0x496bcc]
+mov byte [eax + ref_00496b79], dl ; mov byte [eax + 0x496b79], dl
+mov dl, byte [eax + ref_00496bcd] ; mov dl, byte [eax + 0x496bcd]
+mov byte [eax + ref_00496b7a], dl ; mov byte [eax + 0x496b7a], dl
+cmp byte [eax + ref_00496b79], 1 ; cmp byte [eax + 0x496b79], 1
+jne short loc_0041cd4f ; jne 0x41cd4f
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+dec byte [eax + ref_00499160] ; dec byte [eax + 0x499160]
+
+loc_0041cd4f:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b79], 2 ; cmp byte [eax + 0x496b79], 2
+jne short loc_0041cd83 ; jne 0x41cd83
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+dec byte [eax + ref_00499161] ; dec byte [eax + 0x499161]
+jmp short loc_0041cd83 ; jmp 0x41cd83
+
+loc_0041cd71:
+imul eax, ebx, 0x68
+xor ch, ch
+mov byte [eax + ref_00496b79], ch ; mov byte [eax + 0x496b79], ch
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+
+loc_0041cd83:
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+
+loc_0041cd8c:
+mov esi, 1
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+
+loc_0041cd97:
+add ebx, 0x38
+cmp esi, dword [ref_00498e8c] ; cmp esi, dword [0x498e8c]
+jg near loc_0041cf5d ; jg 0x41cf5d
+cmp byte [ebx + 0x18], 4
+jne near loc_0041ce33 ; jne 0x41ce33
+mov cl, byte [ebx + 0x1e]
+test cl, cl
+je near loc_0041ce33 ; je 0x41ce33
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne short loc_0041ce33 ; jne 0x41ce33
+mov al, byte [ebx + 0x1d]
+cmp al, byte [ebx + 0x1a]
+ja short loc_0041ce2f ; ja 0x41ce2f
+mov al, cl
+dec al
+mov byte [ebx + 0x1e], al
+jne short loc_0041ce33 ; jne 0x41ce33
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+xor eax, eax
+mov al, byte [ebx + 0x1d]
+mov ebp, dword [eax*8 + ref_0047ff1a] ; mov ebp, dword [eax*8 + 0x47ff1a]
+push ebp
+push ref_00463b68 ; push 0x463b68
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+xor eax, eax
+mov al, byte [ebx + 0x1d]
+add eax, 8
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+jmp short loc_0041ce33 ; jmp 0x41ce33
+
+loc_0041ce2f:
+mov byte [ebx + 0x1e], 0
+
+loc_0041ce33:
+inc esi
+jmp near loc_0041cd97 ; jmp 0x41cd97
+
+loc_0041ce39:
+cmp ebx, 8
+jge near loc_0041cf5d ; jge 0x41cf5d
+sub ebx, 4
+mov eax, ebx
+shl eax, 4
+test byte [eax + ref_00498e34], 0x80 ; test byte [eax + 0x498e34], 0x80
+je short loc_0041ce86 ; je 0x41ce86
+xor dh, dh
+mov byte [eax + ref_00498e34], dh ; mov byte [eax + 0x498e34], dh
+lea esi, [ebx + 4]
+imul eax, esi, 0x34
+and byte [eax + ref_00498ea0], 0xbf ; and byte [eax + 0x498ea0], 0xbf
+mov al, byte [eax + ref_00498ea1] ; mov al, byte [eax + 0x498ea1]
+and eax, 0xff
+push eax
+push esi
+call fcn_0040b8d8 ; call 0x40b8d8
+add esp, 8
+push esi
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+
+loc_0041ce86:
+mov eax, ebx
+shl eax, 4
+test byte [eax + ref_00498e35], 0x80 ; test byte [eax + 0x498e35], 0x80
+je short loc_0041ce9c ; je 0x41ce9c
+xor dl, dl
+mov byte [eax + ref_00498e35], dl ; mov byte [eax + 0x498e35], dl
+
+loc_0041ce9c:
+mov eax, ebx
+shl eax, 4
+test byte [eax + ref_00498e36], 0x80 ; test byte [eax + 0x498e36], 0x80
+je short loc_0041ceb2 ; je 0x41ceb2
+xor cl, cl
+mov byte [eax + ref_00498e36], cl ; mov byte [eax + 0x498e36], cl
+
+loc_0041ceb2:
+mov eax, ebx
+shl eax, 4
+test byte [eax + ref_00498e37], 0x80 ; test byte [eax + 0x498e37], 0x80
+je short loc_0041cec8 ; je 0x41cec8
+xor dl, dl
+mov byte [eax + ref_00498e37], dl ; mov byte [eax + 0x498e37], dl
+
+loc_0041cec8:
+mov eax, ebx
+shl eax, 4
+mov dh, byte [eax + ref_00498e34] ; mov dh, byte [eax + 0x498e34]
+test dh, dh
+je short loc_0041ceee ; je 0x41ceee
+mov cl, dh
+dec cl
+mov byte [eax + ref_00498e34], cl ; mov byte [eax + 0x498e34], cl
+jne short loc_0041ceee ; jne 0x41ceee
+mov dl, cl
+or dl, 0x80
+mov byte [eax + ref_00498e34], dl ; mov byte [eax + 0x498e34], dl
+
+loc_0041ceee:
+mov eax, ebx
+shl eax, 4
+mov dh, byte [eax + ref_00498e35] ; mov dh, byte [eax + 0x498e35]
+test dh, dh
+je short loc_0041cf14 ; je 0x41cf14
+mov cl, dh
+dec cl
+mov byte [eax + ref_00498e35], cl ; mov byte [eax + 0x498e35], cl
+jne short loc_0041cf14 ; jne 0x41cf14
+mov dl, cl
+or dl, 0x80
+mov byte [eax + ref_00498e35], dl ; mov byte [eax + 0x498e35], dl
+
+loc_0041cf14:
+mov eax, ebx
+shl eax, 4
+mov dh, byte [eax + ref_00498e36] ; mov dh, byte [eax + 0x498e36]
+test dh, dh
+je short loc_0041cf3a ; je 0x41cf3a
+mov cl, dh
+dec cl
+mov byte [eax + ref_00498e36], cl ; mov byte [eax + 0x498e36], cl
+jne short loc_0041cf3a ; jne 0x41cf3a
+mov dl, cl
+or dl, 0x80
+mov byte [eax + ref_00498e36], dl ; mov byte [eax + 0x498e36], dl
+
+loc_0041cf3a:
+shl ebx, 4
+mov dh, byte [ebx + ref_00498e37] ; mov dh, byte [ebx + 0x498e37]
+test dh, dh
+je short loc_0041cf5d ; je 0x41cf5d
+mov cl, dh
+dec cl
+mov byte [ebx + ref_00498e37], cl ; mov byte [ebx + 0x498e37], cl
+jne short loc_0041cf5d ; jne 0x41cf5d
+mov al, cl
+or al, 0x80
+mov byte [ebx + ref_00498e37], al ; mov byte [ebx + 0x498e37], al
+
+loc_0041cf5d:
+add esp, 0x80
+pop ebp
+pop esi
+pop ebx
+ret
+
+fcn_0041cf67:
+push ebx
+push esi
+push edi
+xor esi, esi
+mov ah, byte [ref_0046cb06] ; mov ah, byte [0x46cb06]
+test ah, 0xf
+je short loc_0041cf9c ; je 0x41cf9c
+mov dl, ah
+dec dl
+mov byte [ref_0046cb06], dl ; mov byte [0x46cb06], dl
+test dl, 0xf
+jne short loc_0041cf9c ; jne 0x41cf9c
+xor bl, bl
+mov byte [ref_0046cb06], bl ; mov byte [0x46cb06], bl
+call fcn_00454acb ; call 0x454acb
+push esi
+call fcn_00454d91 ; call 0x454d91
+add esp, 4
+
+loc_0041cf9c:
+push ref_00497160 ; push 0x497160
+call fcn_00452117 ; call 0x452117
+add esp, 4
+mov edi, eax
+inc dword [ref_004990e4] ; inc dword [0x4990e4]
+call fcn_0041d89e ; call 0x41d89e
+cmp eax, 1
+je near loc_0041d1a5 ; je 0x41d1a5
+call fcn_00423acf ; call 0x423acf
+call fcn_00428475 ; call 0x428475
+test byte [ref_004990dc], 0x80 ; test byte [0x4990dc], 0x80
+je short loc_0041cfdb ; je 0x41cfdb
+xor eax, eax
+mov dword [ref_004990dc], eax ; mov dword [0x4990dc], eax
+jmp short loc_0041cff9 ; jmp 0x41cff9
+
+loc_0041cfdb:
+mov ecx, dword [ref_004990dc] ; mov ecx, dword [0x4990dc]
+test ecx, ecx
+je short loc_0041cff9 ; je 0x41cff9
+lea ebx, [ecx - 1]
+mov dword [ref_004990dc], ebx ; mov dword [0x4990dc], ebx
+test ebx, ebx
+jne short loc_0041cff9 ; jne 0x41cff9
+or byte [ref_004990dc], 0x80 ; or byte [0x4990dc], 0x80
+
+loc_0041cff9:
+xor ebx, ebx
+jmp short loc_0041d003 ; jmp 0x41d003
+
+loc_0041cffd:
+inc ebx
+cmp ebx, 0xc
+jge short loc_0041d066 ; jge 0x41d066
+
+loc_0041d003:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+mov ch, byte [eax + ref_00496986] ; mov ch, byte [eax + 0x496986]
+test ch, ch
+je short loc_0041d021 ; je 0x41d021
+mov dl, ch
+dec dl
+mov byte [eax + ref_00496986], dl ; mov byte [eax + 0x496986], dl
+
+loc_0041d021:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+mov dh, byte [eax + ref_00496987] ; mov dh, byte [eax + 0x496987]
+test dh, dh
+je short loc_0041cffd ; je 0x41cffd
+test dh, 0xf0
+je short loc_0041d045 ; je 0x41d045
+mov ch, dh
+sub ch, 0x10
+mov byte [eax + ref_00496987], ch ; mov byte [eax + 0x496987], ch
+
+loc_0041d045:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+mov dl, byte [eax + ref_00496987] ; mov dl, byte [eax + 0x496987]
+test dl, 0xf
+je short loc_0041cffd ; je 0x41cffd
+mov dh, dl
+dec dh
+mov byte [eax + ref_00496987], dh ; mov byte [eax + 0x496987], dh
+jmp short loc_0041cffd ; jmp 0x41cffd
+
+loc_0041d066:
+call dword [cs:__imp__GetTickCount@0] ; ucall: call dword cs:[0x4623cc]
+push eax
+call fcn_00456f50 ; call 0x456f50
+add esp, 4
+call fcn_004291d6 ; call 0x4291d6
+call fcn_00452444 ; call 0x452444
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+and eax, 0xff
+cmp eax, 0xf
+jne short loc_0041d099 ; jne 0x41d099
+call fcn_0042ba97 ; call 0x42ba97
+call fcn_00431712 ; call 0x431712
+
+loc_0041d099:
+cmp edi, 1
+jne short loc_0041d0ff ; jne 0x41d0ff
+call fcn_00439bfa ; call 0x439bfa
+xor ebx, ebx
+mov bx, word [ref_00496e2a] ; mov bx, word [0x496e2a]
+push 0xd
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 0
+push 0
+push ebx
+call fcn_0040aa6c ; call 0x40aa6c
+add esp, 4
+push eax
+push 0xd
+call fcn_0040e033 ; call 0x40e033
+add esp, 0x10
+xor ebx, ebx
+mov bx, word [ref_00496e42] ; mov bx, word [0x496e42]
+push 0xe
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 0
+push 0
+push ebx
+call fcn_0040aa6c ; call 0x40aa6c
+add esp, 4
+push eax
+push 0xe
+call fcn_0040e033 ; call 0x40e033
+add esp, 0x10
+add dword [ref_00499084], edi ; add dword [0x499084], edi
+
+loc_0041d0ff:
+mov ebx, 1
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+
+loc_0041d109:
+add eax, 0x34
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg short loc_0041d14b ; jg 0x41d14b
+mov cl, byte [eax + 0x17]
+test cl, 0xf0
+je short loc_0041d12d ; je 0x41d12d
+mov ch, cl
+sub ch, 0x10
+mov byte [eax + 0x17], ch
+test ch, 0xf0
+jne short loc_0041d12d ; jne 0x41d12d
+mov byte [eax + 0x17], 0
+
+loc_0041d12d:
+mov edx, dword [eax + 0x30]
+cmp edx, dword [ref_00497160] ; cmp edx, dword [0x497160]
+jne short loc_0041d148 ; jne 0x41d148
+mov byte [eax + 0x19], 0
+mov dword [eax + 0x30], 0
+mov esi, 1
+
+loc_0041d148:
+inc ebx
+jmp short loc_0041d109 ; jmp 0x41d109
+
+loc_0041d14b:
+mov ebx, 1
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+
+loc_0041d155:
+add eax, 0x38
+cmp ebx, dword [ref_00498e8c] ; cmp ebx, dword [0x498e8c]
+jg short loc_0041d197 ; jg 0x41d197
+mov dh, byte [eax + 0x1c]
+test dh, 0xf0
+je short loc_0041d179 ; je 0x41d179
+mov cl, dh
+sub cl, 0x10
+mov byte [eax + 0x1c], cl
+test cl, 0xf0
+jne short loc_0041d179 ; jne 0x41d179
+mov byte [eax + 0x1c], 0
+
+loc_0041d179:
+mov edx, dword [eax + 0x34]
+cmp edx, dword [ref_00497160] ; cmp edx, dword [0x497160]
+jne short loc_0041d194 ; jne 0x41d194
+mov byte [eax + 0x19], 0
+mov dword [eax + 0x34], 0
+mov esi, 1
+
+loc_0041d194:
+inc ebx
+jmp short loc_0041d155 ; jmp 0x41d155
+
+loc_0041d197:
+test esi, esi
+je short loc_0041d1a5 ; je 0x41d1a5
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+
+loc_0041d1a5:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041d1a9:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+mov ebp, dword [esp + 0x94]
+mov ebx, dword [esp + 0x98]
+xor edi, edi
+imul esi, ebp, 0x68
+cmp byte [esi + ref_00496b9f], 0 ; cmp byte [esi + 0x496b9f], 0
+jne near loc_0041d2bb ; jne 0x41d2bb
+cmp byte [esi + ref_00496b7d], 0 ; cmp byte [esi + 0x496b7d], 0
+je near loc_0041d2bb ; je 0x41d2bb
+cmp dword [ebx + 0x30], 0
+je near loc_0041d2bb ; je 0x41d2bb
+mov ecx, 0x2710
+mov eax, dword [ebx + 0x24]
+mov edx, eax
+sar edx, 0x1f
+idiv ecx
+mov ecx, eax
+mov eax, dword [esi + ref_00496b84] ; mov eax, dword [esi + 0x496b84]
+mov edx, eax
+sar edx, 0x1f
+idiv ecx
+mov esi, eax
+cmp eax, 0x3e8
+jle short loc_0041d216 ; jle 0x41d216
+mov esi, 0x3e8
+
+loc_0041d216:
+mov eax, dword [ebx + 0x30]
+cmp esi, eax
+jle short loc_0041d21f ; jle 0x41d21f
+mov esi, eax
+
+loc_0041d21f:
+test esi, esi
+je near loc_0041d2bb ; je 0x41d2bb
+imul eax, ebp, 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0041d267 ; jne 0x41d267
+push ecx
+lea eax, [ebx + 4]
+push eax
+push ref_00463b75 ; push 0x463b75
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+mov eax, esp
+push eax
+call fcn_00440ba8 ; call 0x440ba8
+add esp, 4
+cmp eax, 1
+jne short loc_0041d273 ; jne 0x41d273
+push esi
+call fcn_00453544 ; call 0x453544
+add esp, 4
+mov edi, eax
+jmp short loc_0041d273 ; jmp 0x41d273
+
+loc_0041d267:
+push esi
+push ecx
+call fcn_0041d839 ; call 0x41d839
+mov edi, eax
+add esp, 8
+
+loc_0041d273:
+test edi, edi
+je short loc_0041d2bb ; je 0x41d2bb
+push 0
+push edi
+xor eax, eax
+mov al, byte [ebx + 0x19]
+push eax
+push ebp
+call fcn_00428d2a ; call 0x428d2a
+add esp, 0x10
+cmp eax, 1
+jne short loc_0041d2b2 ; jne 0x41d2b2
+cmp byte [ebx + 0x1a], 0xc
+jne short loc_0041d2a0 ; jne 0x41d2a0
+push 0x5dc
+push ref_00463b94 ; push 0x463b94
+jmp short loc_0041d2aa ; jmp 0x41d2aa
+
+loc_0041d2a0:
+push 0x5dc
+push ref_00463ba5 ; push 0x463ba5
+
+loc_0041d2aa:
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_0041d2b2:
+push ebp
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+
+loc_0041d2bb:
+add esp, 0x80
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041d2c6:
+push ebx
+push esi
+push edi
+push ebp
+mov esi, dword [esp + 0x14]
+mov edi, dword [esp + 0x18]
+mov ebx, dword [esp + 0x1c]
+cmp esi, 0x64
+jle short loc_0041d2f3 ; jle 0x41d2f3
+lea edx, [esi - 0x64]
+imul edx, edx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+sub dword [edx + eax + 0x28], ebx
+sub dword [edx + eax + 0x2c], ebx
+jmp near loc_0041d387 ; jmp 0x41d387
+
+loc_0041d2f3:
+imul eax, esi, 0x68
+test byte [esp + 0x20], 4
+je short loc_0041d33d ; je 0x41d33d
+mov ecx, dword [eax + ref_00496b88] ; mov ecx, dword [eax + 0x496b88]
+sub ecx, ebx
+mov dword [eax + ref_00496b88], ecx ; mov dword [eax + 0x496b88], ecx
+test ecx, ecx
+jge near loc_0041d37e ; jge 0x41d37e
+mov edx, ecx
+add dword [eax + ref_00496b84], edx ; add dword [eax + 0x496b84], edx
+xor ebp, ebp
+mov dword [eax + ref_00496b88], ebp ; mov dword [eax + 0x496b88], ebp
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+test edx, edx
+jge short loc_0041d37e ; jge 0x41d37e
+add ebx, edx
+mov dword [eax + ref_00496b84], ebp ; mov dword [eax + 0x496b84], ebp
+test ebx, ebx
+jge short loc_0041d375 ; jge 0x41d375
+xor ebx, ebx
+jmp short loc_0041d375 ; jmp 0x41d375
+
+loc_0041d33d:
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+sub edx, ebx
+mov dword [eax + ref_00496b84], edx ; mov dword [eax + 0x496b84], edx
+test edx, edx
+jge short loc_0041d37e ; jge 0x41d37e
+add dword [eax + ref_00496b88], edx ; add dword [eax + 0x496b88], edx
+xor edx, edx
+mov dword [eax + ref_00496b84], edx ; mov dword [eax + 0x496b84], edx
+mov ecx, dword [eax + ref_00496b88] ; mov ecx, dword [eax + 0x496b88]
+test ecx, ecx
+jge short loc_0041d37e ; jge 0x41d37e
+add ebx, ecx
+mov dword [eax + ref_00496b88], edx ; mov dword [eax + 0x496b88], edx
+test ebx, ebx
+jge short loc_0041d375 ; jge 0x41d375
+xor ebx, ebx
+
+loc_0041d375:
+push esi
+call fcn_0040cd87 ; call 0x40cd87
+add esp, 4
+
+loc_0041d37e:
+imul eax, esi, 0x68
+add dword [eax + ref_00496bc4], ebx ; add dword [eax + 0x496bc4], ebx
+
+loc_0041d387:
+cmp edi, 0xffffffff
+jne short loc_0041d394 ; jne 0x41d394
+add dword [ref_00499080], ebx ; add dword [0x499080], ebx
+jmp short loc_0041d3d0 ; jmp 0x41d3d0
+
+loc_0041d394:
+cmp edi, 0x64
+jle short loc_0041d3af ; jle 0x41d3af
+sub edi, 0x64
+imul eax, edi, 0x34
+mov edx, dword [ref_00498e7c] ; mov edx, dword [0x498e7c]
+add dword [edx + eax + 0x28], ebx
+add dword [edx + eax + 0x2c], ebx
+jmp short loc_0041d3d0 ; jmp 0x41d3d0
+
+loc_0041d3af:
+imul eax, edi, 0x68
+test byte [esp + 0x20], 1
+je short loc_0041d3c1 ; je 0x41d3c1
+add dword [eax + ref_00496b84], ebx ; add dword [eax + 0x496b84], ebx
+jmp short loc_0041d3c7 ; jmp 0x41d3c7
+
+loc_0041d3c1:
+add dword [eax + ref_00496b88], ebx ; add dword [eax + 0x496b88], ebx
+
+loc_0041d3c7:
+imul eax, edi, 0x68
+add dword [eax + ref_00496bc8], ebx ; add dword [eax + 0x496bc8], ebx
+
+loc_0041d3d0:
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp esi, ebp
+jne short loc_0041d3ef ; jne 0x41d3ef
+imul eax, ebp, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0041d3ef ; je 0x41d3ef
+push ebp
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+
+loc_0041d3ef:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041d3f4:
+push ebp
+mov edx, dword [esp + 8]
+mov ecx, dword [esp + 0xc]
+imul eax, edx, 0x68
+test byte [esp + 0x10], 1
+je short loc_0041d40f ; je 0x41d40f
+add dword [eax + ref_00496b84], ecx ; add dword [eax + 0x496b84], ecx
+jmp short loc_0041d415 ; jmp 0x41d415
+
+loc_0041d40f:
+add dword [eax + ref_00496b88], ecx ; add dword [eax + 0x496b88], ecx
+
+loc_0041d415:
+imul eax, edx, 0x68
+add dword [eax + ref_00496bc8], ecx ; add dword [eax + 0x496bc8], ecx
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp edx, ebp
+jne short loc_0041d431 ; jne 0x41d431
+push ebp
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+
+loc_0041d431:
+pop ebp
+ret
+
+fcn_0041d433:
+push ebx
+mov edx, dword [esp + 8]
+cmp edx, 7
+jg short loc_0041d474 ; jg 0x41d474
+cmp dword [ref_0046cad8], 1 ; cmp dword [0x46cad8], 1
+jg short loc_0041d474 ; jg 0x41d474
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+mov dword [ref_0049910c], edx ; mov dword [0x49910c], edx
+cmp byte [ref_0049715d], 2 ; cmp byte [0x49715d], 2
+je short loc_0041d464 ; je 0x41d464
+push 1
+call fcn_00415f69 ; call 0x415f69
+jmp short loc_0041d46b ; jmp 0x41d46b
+
+loc_0041d464:
+push 1
+call fcn_004166f8 ; call 0x4166f8
+
+loc_0041d46b:
+add esp, 4
+mov dword [ref_0049910c], ebx ; mov dword [0x49910c], ebx
+
+loc_0041d474:
+pop ebx
+ret
+
+fcn_0041d476:
+push ebp
+test byte [esp + 0x10], 1
+je short loc_0041d496 ; je 0x41d496
+push 0
+push 0xffffffffffffffff
+call fcn_0040829d ; call 0x40829d
+add esp, 8
+or byte [ref_00475110], 2 ; or byte [0x475110], 2
+jmp near loc_0041d516 ; jmp 0x41d516
+
+loc_0041d496:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+cmp edx, 4
+jge short loc_0041d4b6 ; jge 0x41d4b6
+imul eax, edx, 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b70] ; mov dx, word [eax + 0x496b70]
+mov ax, word [eax + ref_00496b72] ; mov ax, word [eax + 0x496b72]
+jmp short loc_0041d4cb ; jmp 0x41d4cb
+
+loc_0041d4b6:
+mov eax, edx
+shl eax, 4
+xor edx, edx
+mov dx, word [eax + ref_00498de8] ; mov dx, word [eax + 0x498de8]
+mov ax, word [eax + ref_00498dea] ; mov ax, word [eax + 0x498dea]
+
+loc_0041d4cb:
+and eax, 0xffff
+cmp edx, dword [esp + 8]
+jne short loc_0041d4e6 ; jne 0x41d4e6
+cmp eax, dword [esp + 0xc]
+jne short loc_0041d4e6 ; jne 0x41d4e6
+xor ebp, ebp
+mov dword [ref_0048be18], ebp ; mov dword [0x48be18], ebp
+jmp short loc_0041d502 ; jmp 0x41d502
+
+loc_0041d4e6:
+mov dword [ref_0048be18], 1 ; mov dword [0x48be18], 1
+mov eax, dword [esp + 8]
+mov dword [ref_0048be1c], eax ; mov dword [0x48be1c], eax
+mov eax, dword [esp + 0xc]
+mov dword [ref_0048be20], eax ; mov dword [0x48be20], eax
+
+loc_0041d502:
+push 0
+call fcn_00416e6d ; call 0x416e6d
+add esp, 4
+push 0
+call fcn_00415e70 ; call 0x415e70
+add esp, 4
+
+loc_0041d516:
+test byte [esp + 0x10], 2
+je short loc_0041d527 ; je 0x41d527
+push 0
+call fcn_00415d31 ; call 0x415d31
+add esp, 4
+
+loc_0041d527:
+test byte [esp + 0x10], 4
+je short loc_0041d53f ; je 0x41d53f
+push 0
+push 0
+push 0xf
+mov eax, dword [ref_0048a0d4] ; mov eax, dword [0x48a0d4]
+push eax
+call fcn_00417e26 ; call 0x417e26
+
+loc_0041d53f:
+call fcn_004192f7 ; call 0x4192f7
+pop ebp
+ret
+
+fcn_0041d546:
+xor edx, edx
+mov dword [ref_0048be18], edx ; mov dword [0x48be18], edx
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+ret
+
+fcn_0041d559:
+push ebx
+push esi
+push ebp
+sub esp, 0x94
+mov esi, dword [esp + 0xac]
+mov ebx, 1
+imul eax, dword [esp + 0xa4], 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov ah, byte [esp + 0xa8]
+test ah, 0xf0
+je short loc_0041d5b3 ; je 0x41d5b3
+test ah, 0xf
+je short loc_0041d5b3 ; je 0x41d5b3
+push esi
+push ref_00463bb8 ; push 0x463bb8
+
+loc_0041d5a4:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+jmp short loc_0041d5e9 ; jmp 0x41d5e9
+
+loc_0041d5b3:
+imul eax, dword [esp + 0xa4], 0x68
+xor ecx, ecx
+mov cl, byte [eax + ref_00496ba9] ; mov cl, byte [eax + 0x496ba9]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp ecx, edx
+jne short loc_0041d5f0 ; jne 0x41d5f0
+push esi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463bcd ; push 0x463bcd
+
+loc_0041d5dc:
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+
+loc_0041d5e9:
+xor ebx, ebx
+jmp near loc_0041d6a4 ; jmp 0x41d6a4
+
+loc_0041d5f0:
+cmp byte [eax + ref_00496ba7], 0xf ; cmp byte [eax + 0x496ba7], 0xf
+jne short loc_0041d601 ; jne 0x41d601
+push esi
+push ref_00463be2 ; push 0x463be2
+jmp short loc_0041d5a4 ; jmp 0x41d5a4
+
+loc_0041d601:
+cmp byte [eax + ref_00496b9a], 0 ; cmp byte [eax + 0x496b9a], 0
+je short loc_0041d61a ; je 0x41d61a
+push esi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463bf5 ; push 0x463bf5
+jmp short loc_0041d5dc ; jmp 0x41d5dc
+
+loc_0041d61a:
+cmp byte [eax + ref_00496b9b], 0 ; cmp byte [eax + 0x496b9b], 0
+je short loc_0041d633 ; je 0x41d633
+push esi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463c08 ; push 0x463c08
+jmp short loc_0041d5dc ; jmp 0x41d5dc
+
+loc_0041d633:
+cmp byte [eax + ref_00496b9c], 0 ; cmp byte [eax + 0x496b9c], 0
+je short loc_0041d64c ; je 0x41d64c
+push esi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463c1b ; push 0x463c1b
+jmp short loc_0041d5dc ; jmp 0x41d5dc
+
+loc_0041d64c:
+cmp byte [eax + ref_00496b9d], 0 ; cmp byte [eax + 0x496b9d], 0
+je short loc_0041d668 ; je 0x41d668
+push esi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463c2e ; push 0x463c2e
+jmp near loc_0041d5dc ; jmp 0x41d5dc
+
+loc_0041d668:
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+je short loc_0041d684 ; je 0x41d684
+push esi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463c41 ; push 0x463c41
+jmp near loc_0041d5dc ; jmp 0x41d5dc
+
+loc_0041d684:
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+je short loc_0041d6a0 ; je 0x41d6a0
+push esi
+lea eax, [esp + 0x84]
+push eax
+push ref_00463c54 ; push 0x463c54
+jmp near loc_0041d5dc ; jmp 0x41d5dc
+
+loc_0041d6a0:
+test ebx, ebx
+jne short loc_0041d6e5 ; jne 0x41d6e5
+
+loc_0041d6a4:
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+imul eax, ebp, 0x68
+movzx esi, byte [eax + ref_00496b7b] ; movzx esi, byte [eax + 0x496b7b]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 2
+mov esi, eax
+mov edx, dword [esi + eax*8 + ref_0048087e] ; mov edx, dword [esi + eax*8 + 0x48087e]
+push edx
+push 3
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0041d6e5:
+mov eax, ebx
+add esp, 0x94
+pop ebp
+pop esi
+pop ebx
+ret
+
+ref_0041d6f1: ; may contain a jump table
+dd loc_0041d741
+dd loc_0041d758
+dd loc_0041d79e
+dd loc_0041d79e
+dd loc_0041d76f
+dd loc_0041d788
+
+fcn_0041d709:
+push ebx
+push esi
+sub esp, 0x80
+mov edx, dword [esp + 0x90]
+mov esi, dword [esp + 0x94]
+mov ebx, esi
+imul eax, dword [esp + 0x8c], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+dec al
+cmp al, 5
+ja short loc_0041d79e ; ja 0x41d79e
+and eax, 0xff
+jmp dword [eax*4 + ref_0041d6f1] ; ujmp: jmp dword [eax*4 + 0x41d6f1]
+
+loc_0041d741:
+push edx
+push ref_00463c67 ; push 0x463c67
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+sar ebx, 1
+jmp short loc_0041d79e ; jmp 0x41d79e
+
+loc_0041d758:
+push edx
+push ref_00463c80 ; push 0x463c80
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+xor ebx, esi
+jmp short loc_0041d79e ; jmp 0x41d79e
+
+loc_0041d76f:
+push edx
+push ref_00463c95 ; push 0x463c95
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+sar ebx, 1
+add ebx, esi
+jmp short loc_0041d79e ; jmp 0x41d79e
+
+loc_0041d788:
+push edx
+push ref_00463cae ; push 0x463cae
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+lea ebx, [esi + esi]
+
+loc_0041d79e:
+cmp ebx, esi
+je short loc_0041d7c9 ; je 0x41d7c9
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+test ebx, ebx
+jne short loc_0041d7c9 ; jne 0x41d7c9
+push esi
+mov esi, dword [esp + 0x90]
+push esi
+call fcn_0044f567 ; call 0x44f567
+add esp, 8
+
+loc_0041d7c9:
+mov eax, ebx
+add esp, 0x80
+pop esi
+pop ebx
+ret
+
+fcn_0041d7d4:
+push esi
+sub esp, 4
+xor ecx, ecx
+fild dword [ref_0049908c] ; fild dword [0x49908c]
+fmul qword [ref_00463cc8] ; fmul qword [0x463cc8]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+cmp dword [esp], 0x1b58
+jle short loc_0041d7fe ; jle 0x41d7fe
+mov dword [esp], 0x1b58
+
+loc_0041d7fe:
+mov eax, dword [esp]
+mov esi, dword [ref_004990e8] ; mov esi, dword [0x4990e8]
+imul eax, esi
+mov dword [esp], eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+add edx, dword [eax + ref_00496b88] ; add edx, dword [eax + 0x496b88]
+mov eax, dword [esp + 0xc]
+sub edx, eax
+mov eax, edx
+cmp eax, dword [esp]
+jle short loc_0041d832 ; jle 0x41d832
+mov ecx, 1
+
+loc_0041d832:
+mov eax, ecx
+add esp, 4
+pop esi
+ret
+
+fcn_0041d839:
+push edi
+push ebp
+sub esp, 4
+xor ecx, ecx
+fild dword [ref_0049908c] ; fild dword [0x49908c]
+fmul qword [ref_00463cd0] ; fmul qword [0x463cd0]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+mov eax, dword [esp]
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+imul eax, edx
+mov dword [esp], eax
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov edx, dword [edx + ref_00496b84] ; mov edx, dword [edx + 0x496b84]
+sub edx, eax
+test edx, edx
+jle short loc_0041d896 ; jle 0x41d896
+mov eax, dword [esp + 0x10]
+mov edi, dword [esp + 0x14]
+imul eax, edi
+cmp edx, eax
+jle short loc_0041d889 ; jle 0x41d889
+mov ecx, edi
+jmp short loc_0041d896 ; jmp 0x41d896
+
+loc_0041d889:
+mov eax, edx
+sar edx, 0x1f
+mov ebp, dword [esp + 0x10]
+idiv ebp
+mov ecx, eax
+
+loc_0041d896:
+mov eax, ecx
+add esp, 4
+pop ebp
+pop edi
+ret
+
+fcn_0041d89e:
+push ebx
+push esi
+push edi
+push ebp
+xor ebp, ebp
+cmp dword [ref_0049911c], 0 ; cmp dword [0x49911c], 0
+jne short loc_0041d8bd ; jne 0x41d8bd
+cmp dword [ref_00499108], 0 ; cmp dword [0x499108], 0
+jne short loc_0041d8bd ; jne 0x41d8bd
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0041d8bd:
+xor ebx, ebx
+xor edi, edi
+
+loc_0041d8c1:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0041d8e9 ; jge 0x41d8e9
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0041d8e6 ; je 0x41d8e6
+push ebx
+call fcn_004239b9 ; call 0x4239b9
+add esp, 4
+cmp edi, eax
+jge short loc_0041d8e6 ; jge 0x41d8e6
+mov edi, eax
+mov esi, ebx
+
+loc_0041d8e6:
+inc ebx
+jmp short loc_0041d8c1 ; jmp 0x41d8c1
+
+loc_0041d8e9:
+test edi, edi
+je short loc_0041d8ff ; je 0x41d8ff
+mov edx, dword [ref_0049911c] ; mov edx, dword [0x49911c]
+test edx, edx
+je short loc_0041d8ff ; je 0x41d8ff
+cmp edx, dword [ref_004990e4] ; cmp edx, dword [0x4990e4]
+jle short loc_0041d915 ; jle 0x41d915
+
+loc_0041d8ff:
+mov ebx, dword [ref_00499108] ; mov ebx, dword [0x499108]
+test ebx, ebx
+je near loc_0041da5a ; je 0x41da5a
+cmp edi, ebx
+jl near loc_0041da5a ; jl 0x41da5a
+
+loc_0041d915:
+mov dword [ref_0049910c], esi ; mov dword [0x49910c], esi
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, esi, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov edx, dword [ebx + eax*8 + ref_004808aa] ; mov edx, dword [ebx + eax*8 + 0x4808aa]
+push edx
+push 3
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+xor ebx, ebx
+
+loc_0041d951:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0041d96b ; jge 0x41d96b
+cmp ebx, esi
+je short loc_0041d968 ; je 0x41d968
+imul eax, ebx, 0x68
+xor ch, ch
+mov byte [eax + ref_00496b7d], ch ; mov byte [eax + 0x496b7d], ch
+
+loc_0041d968:
+inc ebx
+jmp short loc_0041d951 ; jmp 0x41d951
+
+loc_0041d96b:
+imul eax, esi, 0x68
+cmp dword [ref_00499104], 1 ; cmp dword [0x499104], 1
+jne near loc_0041da3c ; jne 0x41da3c
+test byte [eax + ref_00496b7d], 1 ; test byte [eax + 0x496b7d], 1
+je short loc_0041d9b9 ; je 0x41d9b9
+xor ebx, ebx
+mov dl, 2
+mov ebp, dword [ref_00499114] ; mov ebp, dword [0x499114]
+
+loc_0041d98e:
+cmp ebx, ebp
+jge short loc_0041d9ad ; jge 0x41d9ad
+cmp ebx, esi
+je short loc_0041d9aa ; je 0x41d9aa
+imul eax, ebx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov byte [eax + ref_004990f4], dl ; mov byte [eax + 0x4990f4], dl
+
+loc_0041d9aa:
+inc ebx
+jmp short loc_0041d98e ; jmp 0x41d98e
+
+loc_0041d9ad:
+mov byte [ref_0046caf8], 2 ; mov byte [0x46caf8], 2
+jmp near loc_0041da55 ; jmp 0x41da55
+
+loc_0041d9b9:
+xor esi, esi
+mov dword [ref_0049910c], esi ; mov dword [0x49910c], esi
+xor ebx, ebx
+mov bx, word [ref_00496b74] ; mov bx, word [0x496b74]
+mov eax, ebx
+shl eax, 2
+add ebx, eax
+shl ebx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, ebx
+mov bx, word [eax]
+mov word [ref_00496b70], bx ; mov word [0x496b70], bx
+mov ax, word [eax + 2]
+mov word [ref_00496b72], ax ; mov word [0x496b72], ax
+mov eax, ref_00496b68 ; mov eax, 0x496b68
+add eax, 0x32
+mov ebx, eax
+sub ebx, ref_00496b68 ; sub ebx, 0x496b68
+mov esi, 0x68
+sub esi, ebx
+push esi
+push 0
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+push 1
+call fcn_00407842 ; call 0x407842
+add esp, 4
+mov byte [ref_0046caf8], al ; mov byte [0x46caf8], al
+jmp short loc_0041da55 ; jmp 0x41da55
+
+loc_0041da3c:
+test byte [eax + ref_00496b7d], 1 ; test byte [eax + 0x496b7d], 1
+je short loc_0041da4e ; je 0x41da4e
+mov byte [ref_0046caf8], 3 ; mov byte [0x46caf8], 3
+jmp short loc_0041da55 ; jmp 0x41da55
+
+loc_0041da4e:
+mov byte [ref_0046caf8], 1 ; mov byte [0x46caf8], 1
+
+loc_0041da55:
+mov ebp, 1
+
+loc_0041da5a:
+mov eax, ebp
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041da61:
+push ebx
+push esi
+push ebp
+sub esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x39
+push 0x50
+push 0x109
+push 0xd0
+push 0x147
+push 0x136
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+xor ebx, ebx
+mov esi, 0x137
+jmp short loc_0041dacf ; jmp 0x41dacf
+
+loc_0041dac0:
+add ebx, 0xa
+add esi, 8
+cmp ebx, 0x64
+jge near loc_0041db46 ; jge 0x41db46
+
+loc_0041dacf:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov al, byte [eax*2 + ref_0048be38] ; mov al, byte [eax*2 + 0x48be38]
+and eax, 0xff
+cmp eax, ebx
+jle short loc_0041db08 ; jle 0x41db08
+push 0xff0000
+push 0x16
+push 7
+push 0x148
+push esi
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+
+loc_0041db08:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov al, byte [eax*2 + ref_0048be39] ; mov al, byte [eax*2 + 0x48be39]
+and eax, 0xff
+cmp eax, ebx
+jle short loc_0041dac0 ; jle 0x41dac0
+push 0xff0000
+push 0x16
+push 7
+push 0x169
+push esi
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+jmp near loc_0041dac0 ; jmp 0x41dac0
+
+loc_0041db46:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp], 0x136
+mov dword [esp + 4], 0x147
+mov dword [esp + 8], 0x186
+mov dword [esp + 0xc], 0x180
+push 0
+lea eax, [esp + 4]
+push eax
+mov ebp, dword [ref_0048a0d4] ; mov ebp, dword [0x48a0d4]
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+add esp, 0x10
+pop ebp
+pop esi
+pop ebx
+ret
+
+fcn_0041db91:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+push 0x3e
+push 0x66
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor ebx, ebx
+mov esi, 0x46
+jmp short loc_0041dbe0 ; jmp 0x41dbe0
+
+loc_0041dbd3:
+inc ebx
+add esi, 0x53
+cmp ebx, 4
+jge near loc_0041dc7b ; jge 0x41dc7b
+
+loc_0041dbe0:
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+lea edi, [eax + eax]
+cmp byte [edi + ref_0048be34], 0 ; cmp byte [edi + 0x48be34], 0
+je short loc_0041dbd3 ; je 0x41dbd3
+cmp ebx, dword [ref_0048be4c] ; cmp ebx, dword [0x48be4c]
+jne short loc_0041dc43 ; jne 0x41dc43
+push esi
+push 0x6e
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0x18
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+lea eax, [esi + 0x28]
+push eax
+push 0xb6
+xor eax, eax
+mov al, byte [edi + ref_0048be34] ; mov al, byte [edi + 0x48be34]
+dec eax
+imul eax, eax, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0041dc43:
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+test byte [eax*2 + ref_0048be35], 4 ; test byte [eax*2 + 0x48be35], 4
+je near loc_0041dbd3 ; je 0x41dbd3
+lea eax, [esi + 0x24]
+push eax
+push 0x79
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0x30
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+jmp near loc_0041dbd3 ; jmp 0x41dbd3
+
+loc_0041dc7b:
+mov ebx, dword [ref_0048be4c] ; mov ebx, dword [0x48be4c]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+test byte [eax*2 + ref_0048be36], 1 ; test byte [eax*2 + 0x48be36], 1
+je short loc_0041dcb1 ; je 0x41dcb1
+push 0x6b
+push 0x120
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0x30
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0041dcb1:
+mov ebx, dword [ref_0048be4c] ; mov ebx, dword [0x48be4c]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+test byte [eax*2 + ref_0048be36], 2 ; test byte [eax*2 + 0x48be36], 2
+je short loc_0041dcea ; je 0x41dcea
+push 0x8b
+push 0x120
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0x30
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0041dcea:
+mov ebx, dword [ref_0048be4c] ; mov ebx, dword [0x48be4c]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov al, byte [eax*2 + ref_0048be37] ; mov al, byte [eax*2 + 0x48be37]
+and eax, 0xff
+movsx eax, word [eax*2 + ref_004752b8] ; movsx eax, word [eax*2 + 0x4752b8]
+push eax
+push 0x120
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0x30
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+call fcn_0041da61 ; call 0x41da61
+mov dword [esp], 0x66
+mov dword [esp + 4], 0x3e
+mov dword [esp + 8], 0x219
+mov dword [esp + 0xc], 0x1a1
+push 0
+lea eax, [esp + 4]
+push eax
+mov ecx, dword [ref_0048a0d4] ; mov ecx, dword [0x48a0d4]
+push ecx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0041dd7a:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_0041dd7d: ; may contain a jump table
+dd loc_0041e0d7
+dd loc_0041e0f1
+dd loc_0041e10b
+dd loc_0041e126
+dd loc_0041e140
+dd loc_0041e15a
+dd loc_0041e191
+dd loc_0041e1c7
+dd loc_0041e1fe
+dd loc_0041e234
+dd loc_0041e297
+
+fcn_0041dda9:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebp, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x202
+jb short loc_0041ddf2 ; jb 0x41ddf2
+jbe near loc_0041e0b1 ; jbe 0x41e0b1
+cmp eax, 0x205
+jb short loc_0041dde2 ; jb 0x41dde2
+jbe near loc_0041e2ba ; jbe 0x41e2ba
+cmp eax, 0x401
+je short loc_0041de0e ; je 0x41de0e
+jmp near loc_0041e331 ; jmp 0x41e331
+
+loc_0041dde2:
+cmp eax, 0x203
+je near loc_0041de95 ; je 0x41de95
+jmp near loc_0041e331 ; jmp 0x41e331
+
+loc_0041ddf2:
+cmp eax, 0x200
+jb short loc_0041de00 ; jb 0x41de00
+jbe short loc_0041de2e ; jbe 0x41de2e
+jmp near loc_0041de95 ; jmp 0x41de95
+
+loc_0041de00:
+cmp eax, 0xf
+je near loc_0041e2d3 ; je 0x41e2d3
+jmp near loc_0041e331 ; jmp 0x41e331
+
+loc_0041de0e:
+xor ah, ah
+mov byte [ref_0048be54], ah ; mov byte [0x48be54], ah
+call fcn_0041db91 ; call 0x41db91
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+jmp near loc_0041e003 ; jmp 0x41e003
+
+loc_0041de2e:
+mov al, byte [ref_0048be54] ; mov al, byte [0x48be54]
+cmp al, 0xd
+je short loc_0041de3f ; je 0x41de3f
+cmp al, 0xe
+jne near loc_0041de89 ; jne 0x41de89
+
+loc_0041de3f:
+xor esi, esi
+mov si, dx
+
+loc_0041de44:
+xor ecx, ecx
+mov cl, byte [ref_0048be54] ; mov cl, byte [0x48be54]
+movsx edx, word [ecx*8 + ref_004752ae] ; movsx edx, word [ecx*8 + 0x4752ae]
+sub esi, edx
+mov edx, esi
+mov eax, esi
+sar edx, 0x1f
+shl edx, 3
+sbb eax, edx
+sar eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+add eax, eax
+mov bl, al
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov byte [ecx + eax*2 + ref_0048be2b], bl ; mov byte [ecx + eax*2 + 0x48be2b], bl
+call fcn_0041da61 ; call 0x41da61
+
+loc_0041de89:
+xor eax, eax
+
+loc_0041de8b:
+add esp, 0x50
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_0041de95:
+xor esi, esi
+mov si, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edi, edi
+mov di, ax
+xor edx, edx
+mov ecx, 0x46
+jmp short loc_0041debb ; jmp 0x41debb
+
+loc_0041deb2:
+inc edx
+add ecx, 0x53
+cmp edx, 4
+jge short loc_0041df03 ; jge 0x41df03
+
+loc_0041debb:
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+cmp byte [eax + ref_0048be34], 0 ; cmp byte [eax + 0x48be34], 0
+je short loc_0041deb2 ; je 0x41deb2
+cmp esi, 0x6e
+jle short loc_0041deb2 ; jle 0x41deb2
+cmp esi, 0xe2
+jge short loc_0041deb2 ; jge 0x41deb2
+cmp edi, ecx
+jle short loc_0041deb2 ; jle 0x41deb2
+lea ebx, [ecx + 0x53]
+cmp edi, ebx
+jge short loc_0041deb2 ; jge 0x41deb2
+cmp edx, dword [ref_0048be4c] ; cmp edx, dword [0x48be4c]
+jne short loc_0041def4 ; jne 0x41def4
+xor byte [eax + ref_0048be35], 4 ; xor byte [eax + 0x48be35], 4
+
+loc_0041def4:
+mov dword [ref_0048be4c], edx ; mov dword [0x48be4c], edx
+mov byte [ref_0048be54], 1 ; mov byte [0x48be54], 1
+jmp short loc_0041de89 ; jmp 0x41de89
+
+loc_0041df03:
+xor edx, edx
+jmp short loc_0041df0d ; jmp 0x41df0d
+
+loc_0041df07:
+inc edx
+cmp edx, 0xd
+jge short loc_0041df49 ; jge 0x41df49
+
+loc_0041df0d:
+mov eax, edx
+shl eax, 3
+movsx ecx, word [eax + ref_004752be] ; movsx ecx, word [eax + 0x4752be]
+cmp esi, ecx
+jle short loc_0041df07 ; jle 0x41df07
+movsx ecx, word [eax + ref_004752c2] ; movsx ecx, word [eax + 0x4752c2]
+cmp esi, ecx
+jge short loc_0041df07 ; jge 0x41df07
+movsx ecx, word [eax + ref_004752c0] ; movsx ecx, word [eax + 0x4752c0]
+cmp edi, ecx
+jle short loc_0041df07 ; jle 0x41df07
+movsx eax, word [eax + ref_004752c4] ; movsx eax, word [eax + 0x4752c4]
+cmp edi, eax
+jge short loc_0041df07 ; jge 0x41df07
+mov al, dl
+add al, 2
+mov byte [ref_0048be54], al ; mov byte [0x48be54], al
+jmp short loc_0041df07 ; jmp 0x41df07
+
+loc_0041df49:
+mov ch, byte [ref_0048be54] ; mov ch, byte [0x48be54]
+cmp ch, 7
+jb near loc_0041e010 ; jb 0x41e010
+cmp ch, 0xa
+ja near loc_0041e010 ; ja 0x41e010
+xor edx, edx
+mov dl, ch
+movsx eax, word [edx*8 + ref_004752ae] ; movsx eax, word [edx*8 + 0x4752ae]
+mov dword [esp + 0x40], eax
+movsx eax, word [edx*8 + ref_004752b0] ; movsx eax, word [edx*8 + 0x4752b0]
+mov dword [esp + 0x44], eax
+movsx eax, word [edx*8 + ref_004752b2] ; movsx eax, word [edx*8 + 0x4752b2]
+mov dword [esp + 0x48], eax
+movsx eax, word [edx*8 + ref_004752b4] ; movsx eax, word [edx*8 + 0x4752b4]
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor eax, eax
+mov al, byte [ref_0048be54] ; mov al, byte [0x48be54]
+lea ecx, [eax - 7]
+and ecx, 1
+add ecx, 4
+mov eax, dword [esp + 0x44]
+inc eax
+push eax
+mov eax, dword [esp + 0x44]
+inc eax
+push eax
+mov edx, dword [ref_0048be50] ; mov edx, dword [0x48be50]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 2
+add edx, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0041dfec:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+
+loc_0041e003:
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0041de89 ; jmp 0x41de89
+
+loc_0041e010:
+mov ah, byte [ref_0048be54] ; mov ah, byte [0x48be54]
+cmp ah, 0xb
+je short loc_0041e020 ; je 0x41e020
+cmp ah, 0xc
+jne short loc_0041e09a ; jne 0x41e09a
+
+loc_0041e020:
+xor edx, edx
+mov dl, byte [ref_0048be54] ; mov dl, byte [0x48be54]
+movsx eax, word [edx*8 + ref_004752ae] ; movsx eax, word [edx*8 + 0x4752ae]
+mov dword [esp + 0x40], eax
+movsx eax, word [edx*8 + ref_004752b0] ; movsx eax, word [edx*8 + 0x4752b0]
+mov dword [esp + 0x44], eax
+movsx eax, word [edx*8 + ref_004752b2] ; movsx eax, word [edx*8 + 0x4752b2]
+mov dword [esp + 0x48], eax
+movsx eax, word [edx*8 + ref_004752b4] ; movsx eax, word [edx*8 + 0x4752b4]
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0xfffffffffffffff4
+push 0x38
+push 0x28
+mov eax, dword [esp + 0x50]
+push eax
+mov edx, dword [esp + 0x50]
+push edx
+push ref_0046caec ; push 0x46caec
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+jmp near loc_0041dfec ; jmp 0x41dfec
+
+loc_0041e09a:
+cmp ah, 0xd
+je near loc_0041de44 ; je 0x41de44
+cmp ah, 0xe
+jne near loc_0041de89 ; jne 0x41de89
+jmp near loc_0041de44 ; jmp 0x41de44
+
+loc_0041e0b1:
+mov dl, byte [ref_0048be54] ; mov dl, byte [0x48be54]
+test dl, dl
+je near loc_0041de89 ; je 0x41de89
+mov al, dl
+sub al, 2
+cmp al, 0xa
+ja near loc_0041e2a8 ; ja 0x41e2a8
+and eax, 0xff
+jmp dword [eax*4 + ref_0041dd7d] ; ujmp: jmp dword [eax*4 + 0x41dd7d]
+
+loc_0041e0d7:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor byte [eax*2 + ref_0048be36], 1 ; xor byte [eax*2 + 0x48be36], 1
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e0f1:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor byte [eax*2 + ref_0048be36], 2 ; xor byte [eax*2 + 0x48be36], 2
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e10b:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor bh, bh
+mov byte [eax*2 + ref_0048be37], bh ; mov byte [eax*2 + 0x48be37], bh
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e126:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov byte [eax*2 + ref_0048be37], 1 ; mov byte [eax*2 + 0x48be37], 1
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e140:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov byte [eax*2 + ref_0048be37], 2 ; mov byte [eax*2 + 0x48be37], 2
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e15a:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+mov cl, byte [eax + ref_0048be38] ; mov cl, byte [eax + 0x48be38]
+cmp cl, 0xa
+jbe short loc_0041e184 ; jbe 0x41e184
+mov dl, cl
+sub dl, 0xa
+mov byte [eax + ref_0048be38], dl ; mov byte [eax + 0x48be38], dl
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e184:
+xor ch, ch
+mov byte [eax + ref_0048be38], ch ; mov byte [eax + 0x48be38], ch
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e191:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+mov dh, byte [eax + ref_0048be38] ; mov dh, byte [eax + 0x48be38]
+cmp dh, 0x5a
+jae short loc_0041e1bb ; jae 0x41e1bb
+mov bh, dh
+add bh, 0xa
+mov byte [eax + ref_0048be38], bh ; mov byte [eax + 0x48be38], bh
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e1bb:
+mov byte [eax + ref_0048be38], 0x64 ; mov byte [eax + 0x48be38], 0x64
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e1c7:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+mov cl, byte [eax + ref_0048be39] ; mov cl, byte [eax + 0x48be39]
+cmp cl, 0xa
+jbe short loc_0041e1f1 ; jbe 0x41e1f1
+mov dl, cl
+sub dl, 0xa
+mov byte [eax + ref_0048be39], dl ; mov byte [eax + 0x48be39], dl
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e1f1:
+xor ch, ch
+mov byte [eax + ref_0048be39], ch ; mov byte [eax + 0x48be39], ch
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e1fe:
+mov edx, dword [ref_0048be4c] ; mov edx, dword [0x48be4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+mov dh, byte [eax + ref_0048be39] ; mov dh, byte [eax + 0x48be39]
+cmp dh, 0x5a
+jae short loc_0041e228 ; jae 0x41e228
+mov bh, dh
+add bh, 0xa
+mov byte [eax + ref_0048be39], bh ; mov byte [eax + 0x48be39], bh
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e228:
+mov byte [eax + ref_0048be39], 0x64 ; mov byte [eax + 0x48be39], 0x64
+jmp near loc_0041e2a8 ; jmp 0x41e2a8
+
+loc_0041e234:
+xor edx, edx
+jmp short loc_0041e23e ; jmp 0x41e23e
+
+loc_0041e238:
+inc edx
+cmp edx, 4
+jge short loc_0041e297 ; jge 0x41e297
+
+loc_0041e23e:
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+mov bl, byte [eax + ref_0048be34] ; mov bl, byte [eax + 0x48be34]
+test bl, bl
+je short loc_0041e238 ; je 0x41e238
+xor ecx, ecx
+mov cl, bl
+dec ecx
+imul ecx, ecx, 0x68
+mov bl, byte [eax + ref_0048be35] ; mov bl, byte [eax + 0x48be35]
+mov byte [ecx + ref_00496b7d], bl ; mov byte [ecx + 0x496b7d], bl
+mov bl, byte [eax + ref_0048be36] ; mov bl, byte [eax + 0x48be36]
+mov byte [ecx + ref_00496b7e], bl ; mov byte [ecx + 0x496b7e], bl
+mov bl, byte [eax + ref_0048be37] ; mov bl, byte [eax + 0x48be37]
+mov byte [ecx + ref_00496b7f], bl ; mov byte [ecx + 0x496b7f], bl
+mov bl, byte [eax + ref_0048be38] ; mov bl, byte [eax + 0x48be38]
+mov byte [ecx + ref_00496b81], bl ; mov byte [ecx + 0x496b81], bl
+mov al, byte [eax + ref_0048be39] ; mov al, byte [eax + 0x48be39]
+mov byte [ecx + ref_00496b82], al ; mov byte [ecx + 0x496b82], al
+jmp short loc_0041e238 ; jmp 0x41e238
+
+loc_0041e297:
+push 0
+push 0
+push 0x205
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0041e2a8:
+call fcn_0041db91 ; call 0x41db91
+xor bh, bh
+mov byte [ref_0048be54], bh ; mov byte [0x48be54], bh
+jmp near loc_0041de89 ; jmp 0x41de89
+
+loc_0041e2ba:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_0041de89 ; jmp 0x41de89
+
+loc_0041e2d3:
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+mov edi, dword [ref_0048a0dc] ; mov edi, dword [0x48a0dc]
+push edi
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0041de89 ; jmp 0x41de89
+
+loc_0041e331:
+push edx
+mov edx, dword [esp + 0x70]
+push edx
+push eax
+push ebp
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0041de8b ; jmp 0x41de8b
+
+fcn_0041e345:
+push ebx
+push esi
+push edi
+sub esp, 4
+push 0
+push 0
+push 0x4d
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048be50], eax ; mov dword [0x48be50], eax
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x1a
+push 0xad
+push ref_00463cd8 ; push 0x463cd8
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x72
+push 0xad
+push ref_00463cdf ; push 0x463cdf
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xf6
+push 0xf9
+push ref_00463ce6 ; push 0x463ce6
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x35
+push 0xf4
+push ref_00463cf3 ; push 0x463cf3
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x54
+push 0xf4
+push ref_00463cfc ; push 0x463cfc
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x8d
+push 0xf4
+push ref_00463d05 ; push 0x463d05
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xad
+push 0xf4
+push ref_00463d0c ; push 0x463d0c
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xce
+push 0xf4
+push ref_00463d13 ; push 0x463d13
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x115
+push 0xbf
+push ref_00463d1a ; push 0x463d1a
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 5
+push 0x115
+push 0x131
+push ref_00463d1f ; push 0x463d1f
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x136
+push 0xbf
+push ref_00463d24 ; push 0x463d24
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 5
+push 0x136
+push 0x131
+push ref_00463d29 ; push 0x463d29
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 2
+push 0
+push 0x101010
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 3
+push 0x7d
+push 0x18d
+push ref_00463d2e ; push 0x463d2e
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 3
+push 0xd5
+push 0x18d
+push ref_00463d33 ; push 0x463d33
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x18
+push 0
+push ref_0048be34 ; push 0x48be34
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ecx, ecx
+mov dword [esp], ecx
+xor esi, esi
+mov edi, 8
+
+loc_0041e594:
+mov eax, dword [esp]
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jge near loc_0041e66f ; jge 0x41e66f
+imul eax, eax, 0x68
+test byte [eax + ref_00496b7d], 1 ; test byte [eax + 0x496b7d], 1
+je near loc_0041e667 ; je 0x41e667
+mov eax, dword [esp]
+cmp eax, dword [ref_0049910c] ; cmp eax, dword [0x49910c]
+jne short loc_0041e5c4 ; jne 0x41e5c4
+mov dword [ref_0048be4c], esi ; mov dword [0x48be4c], esi
+
+loc_0041e5c4:
+mov dl, byte [esp]
+inc dl
+mov eax, esi
+shl eax, 2
+sub eax, esi
+mov byte [eax*2 + ref_0048be34], dl ; mov byte [eax*2 + 0x48be34], dl
+imul ebx, dword [esp], 0x68
+mov dl, byte [ebx + ref_00496b7d] ; mov dl, byte [ebx + 0x496b7d]
+mov byte [eax*2 + ref_0048be35], dl ; mov byte [eax*2 + 0x48be35], dl
+mov dl, byte [ebx + ref_00496b7e] ; mov dl, byte [ebx + 0x496b7e]
+mov byte [eax*2 + ref_0048be36], dl ; mov byte [eax*2 + 0x48be36], dl
+mov dl, byte [ebx + ref_00496b7f] ; mov dl, byte [ebx + 0x496b7f]
+mov byte [eax*2 + ref_0048be37], dl ; mov byte [eax*2 + 0x48be37], dl
+mov dl, byte [ebx + ref_00496b81] ; mov dl, byte [ebx + 0x496b81]
+mov byte [eax*2 + ref_0048be38], dl ; mov byte [eax*2 + 0x48be38], dl
+mov dl, byte [ebx + ref_00496b82] ; mov dl, byte [ebx + 0x496b82]
+mov byte [eax*2 + ref_0048be39], dl ; mov byte [eax*2 + 0x48be39], dl
+push edi
+push 8
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+lea edx, [eax + 0x24]
+push edx
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+lea eax, [edi + 0x28]
+push eax
+push 0x50
+xor eax, eax
+mov al, byte [ebx + ref_00496b7b] ; mov al, byte [ebx + 0x496b7b]
+lea ebx, [eax + 6]
+mov edx, ebx
+shl edx, 2
+sub edx, ebx
+shl edx, 2
+mov eax, dword [ref_0048be50] ; mov eax, dword [0x48be50]
+add eax, 0xc
+add edx, eax
+push edx
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+inc esi
+add edi, 0x53
+
+loc_0041e667:
+inc dword [esp]
+jmp near loc_0041e594 ; jmp 0x41e594
+
+loc_0041e66f:
+push 0
+push fcn_0041dda9 ; push 0x41dda9
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+mov esi, dword [ref_0048be50] ; mov esi, dword [0x48be50]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+add esp, 4
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041e69e:
+mov eax, dword [esp + 4]
+xor edx, edx
+mov dl, byte [eax*8 + ref_0047fdf1] ; mov dl, byte [eax*8 + 0x47fdf1]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496b7f] ; mov al, byte [eax + 0x496b7f]
+and eax, 0xff
+sub edx, eax
+mov eax, edx
+cmp edx, 2
+jl short loc_0041e6c9 ; jl 0x41e6c9
+xor eax, edx
+ret
+
+loc_0041e6c9:
+cmp edx, 1
+jne short loc_0041e6e6 ; jne 0x41e6e6
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 3
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+je short loc_0041e6e6 ; je 0x41e6e6
+
+fcn_0041e6e3:
+xor eax, eax
+ret
+
+loc_0041e6e6:
+mov eax, dword [esp + 4]
+call dword [eax*4 + ref_00475324] ; ucall: call dword [eax*4 + 0x475324]
+ret
+
+fcn_0041e6f2:
+mov eax, dword [esp + 4]
+mov eax, dword [eax*4 + ref_0048be58] ; mov eax, dword [eax*4 + 0x48be58]
+ret
+
+fcn_0041e6fe:
+push ebx
+push esi
+xor esi, esi
+xor edx, edx
+xor ecx, ecx
+xor ebx, ebx
+
+loc_0041e708:
+cmp edx, dword [ref_00499114] ; cmp edx, dword [0x499114]
+jge short loc_0041e726 ; jge 0x41e726
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0041e723 ; je 0x41e723
+add ecx, dword [eax + ref_00496b84] ; add ecx, dword [eax + 0x496b84]
+inc ebx
+
+loc_0041e723:
+inc edx
+jmp short loc_0041e708 ; jmp 0x41e708
+
+loc_0041e726:
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv ebx
+mov ecx, eax
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+mov edx, dword [ebx + ref_00496b84] ; mov edx, dword [ebx + 0x496b84]
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, eax
+cmp ecx, eax
+jle short loc_0041e774 ; jle 0x41e774
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+cmp eax, dword [ebx + ref_00496b84] ; cmp eax, dword [ebx + 0x496b84]
+jle short loc_0041e774 ; jle 0x41e774
+mov esi, 1
+
+loc_0041e774:
+mov eax, esi
+pop esi
+pop ebx
+ret
+
+fcn_0041e779:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+xor esi, esi
+mov dword [esp], esi
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov dword [esp + 4], eax
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+mov dword [esp + 8], esi
+
+loc_0041e7ab:
+mov eax, dword [esp + 8]
+cmp eax, dword [ref_0048be60] ; cmp eax, dword [0x48be60]
+jge short loc_0041e806 ; jge 0x41e806
+mov bx, word [eax*2 + ref_0048b8c4] ; mov bx, word [eax*2 + 0x48b8c4]
+and ebx, 0xffff
+test bh, 0x80
+je short loc_0041e800 ; je 0x41e800
+test bl, 0xf
+je short loc_0041e800 ; je 0x41e800
+xor ecx, ecx
+mov eax, 1
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+jmp short loc_0041e7e6 ; jmp 0x41e7e6
+
+loc_0041e7de:
+add eax, eax
+inc ecx
+cmp eax, 0x10
+jge short loc_0041e800 ; jge 0x41e800
+
+loc_0041e7e6:
+test ebx, eax
+je short loc_0041e7de ; je 0x41e7de
+cmp ecx, edi
+je short loc_0041e7de ; je 0x41e7de
+imul edx, ecx, 0x68
+cmp byte [edx + ref_00496b7d], 0 ; cmp byte [edx + 0x496b7d], 0
+je short loc_0041e7de ; je 0x41e7de
+mov byte [esp + ecx], 1
+jmp short loc_0041e7de ; jmp 0x41e7de
+
+loc_0041e800:
+inc dword [esp + 8]
+jmp short loc_0041e7ab ; jmp 0x41e7ab
+
+loc_0041e806:
+mov ebp, dword [esp + 4]
+cmp ebp, 0xffffffff
+je short loc_0041e873 ; je 0x41e873
+cmp byte [esp + ebp], 0
+je short loc_0041e873 ; je 0x41e873
+imul ecx, ebp, 0x68
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov edx, dword [ecx + ref_00496b84] ; mov edx, dword [ecx + 0x496b84]
+cmp eax, edx
+jge short loc_0041e873 ; jge 0x41e873
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov eax, dword [eax + ref_00496b84] ; mov eax, dword [eax + 0x496b84]
+add eax, eax
+cmp eax, edx
+jge short loc_0041e873 ; jge 0x41e873
+mov cl, byte [esp + 4]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov esi, 1
+jmp near loc_0041e8dc ; jmp 0x41e8dc
+
+loc_0041e873:
+test esi, esi
+jne short loc_0041e8dc ; jne 0x41e8dc
+mov dword [esp + 8], esi
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+
+loc_0041e881:
+mov eax, dword [esp + 8]
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jge short loc_0041e8dc ; jge 0x41e8dc
+cmp byte [esp + eax], 0
+je short loc_0041e8d6 ; je 0x41e8d6
+imul edx, eax, 0x68
+imul eax, dword [ref_004990e8], 0xc350 ; imul eax, dword [0x4990e8], 0xc350
+mov edi, dword [edx + ref_00496b84] ; mov edi, dword [edx + 0x496b84]
+cmp eax, edi
+jge short loc_0041e8d6 ; jge 0x41e8d6
+imul eax, ebp, 0x68
+mov ecx, dword [eax + ref_00496b84] ; mov ecx, dword [eax + 0x496b84]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+cmp eax, edi
+jge short loc_0041e8d6 ; jge 0x41e8d6
+mov cl, byte [esp + 8]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov esi, 1
+
+loc_0041e8d6:
+inc dword [esp + 8]
+jmp short loc_0041e881 ; jmp 0x41e881
+
+loc_0041e8dc:
+mov eax, esi
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041e8e6:
+push ebx
+push esi
+push edi
+push ebp
+mov eax, dword [esp + 0x18]
+xor ebp, ebp
+cmp dword [esp + 0x14], 0xffffffff
+jne short loc_0041e8fe ; jne 0x41e8fe
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0041e8fe:
+cmp eax, 0x7d0
+jle near loc_0041e994 ; jle 0x41e994
+cmp eax, 0xfa0
+jge near loc_0041e994 ; jge 0x41e994
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+lea edi, [ebx + eax]
+mov cl, byte [edi + 0x19]
+test cl, cl
+je short loc_0041e97a ; je 0x41e97a
+xor edx, edx
+mov dl, cl
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+je short loc_0041e97a ; je 0x41e97a
+cmp byte [edi + 0x1a], 0
+je short loc_0041e97a ; je 0x41e97a
+mov esi, 1
+
+loc_0041e945:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg short loc_0041e97a ; jg 0x41e97a
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0041e977 ; jne 0x41e977
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+je near loc_0041e9d6 ; je 0x41e9d6
+
+loc_0041e977:
+inc esi
+jmp short loc_0041e945 ; jmp 0x41e945
+
+loc_0041e97a:
+test ebp, ebp
+jne short loc_0041e9db ; jne 0x41e9db
+xor eax, eax
+mov al, byte [edi + 0x19]
+mov edx, dword [esp + 0x14]
+inc edx
+cmp eax, edx
+jne short loc_0041e9db ; jne 0x41e9db
+cmp byte [edi + 0x1a], 2
+jb short loc_0041e9db ; jb 0x41e9db
+jmp short loc_0041e9d6 ; jmp 0x41e9d6
+
+loc_0041e994:
+cmp eax, 0xfa0
+jle short loc_0041e9db ; jle 0x41e9db
+cmp eax, 0x1770
+jge short loc_0041e9db ; jge 0x41e9db
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, edx
+cmp byte [eax + 0x19], 0
+je short loc_0041e9db ; je 0x41e9db
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+inc ebx
+cmp edx, ebx
+je short loc_0041e9db ; je 0x41e9db
+cmp byte [eax + 0x1a], 0
+je short loc_0041e9db ; je 0x41e9db
+
+loc_0041e9d6:
+mov ebp, 1
+
+loc_0041e9db:
+mov eax, ebp
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041e9e2:
+push ebx
+push esi
+xor esi, esi
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+xor ebx, ebx
+mov bx, word [eax + ref_00496b74] ; mov bx, word [eax + 0x496b74]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+mov bx, word [ebx + eax*8 + 0x20]
+and ebx, 0xffff
+push edx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+push ebx
+push eax
+call fcn_0041e8e6 ; call 0x41e8e6
+add esp, 8
+cmp eax, 1
+jne near loc_0041eadd ; jne 0x41eadd
+cmp ebx, 0x7d0
+jle short loc_0041ea7f ; jle 0x41ea7f
+cmp ebx, 0xfa0
+jge short loc_0041ea7f ; jge 0x41ea7f
+sub ebx, 0x7d0
+imul ebx, ebx, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, ebx
+xor ebx, ebx
+mov bl, byte [eax + 0x1a]
+xor edx, edx
+mov dx, word [eax + 0x1e]
+imul edx, ebx
+mov ax, word [eax + 0x1c]
+and eax, 0xffff
+add eax, edx
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+imul edx, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp edx, dword [eax + ref_00496b84] ; cmp edx, dword [eax + 0x496b84]
+jge short loc_0041eadd ; jge 0x41eadd
+jmp short loc_0041ead8 ; jmp 0x41ead8
+
+loc_0041ea7f:
+cmp ebx, 0xfa0
+jle short loc_0041eadd ; jle 0x41eadd
+cmp ebx, 0x1770
+jge short loc_0041eadd ; jge 0x41eadd
+lea eax, [ebx - 0xfa0]
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+xor edx, edx
+mov dl, byte [eax + 0x1a]
+xor ebx, ebx
+mov bx, word [eax + 0x24]
+imul ebx, edx
+mov ax, word [eax + 0x22]
+and eax, 0xffff
+add eax, ebx
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+imul edx, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp edx, dword [eax + ref_00496b84] ; cmp edx, dword [eax + 0x496b84]
+jge short loc_0041eadd ; jge 0x41eadd
+
+loc_0041ead8:
+mov esi, 1
+
+loc_0041eadd:
+mov eax, esi
+pop esi
+pop ebx
+ret
+
+fcn_0041eae2:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+xor edx, edx
+mov dword [esp + 0xc], edx
+mov dword [esp], edx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+mov ax, word [edx + eax*8 + 0x20]
+and eax, 0xffff
+mov dword [esp + 4], eax
+push ebx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov dword [esp + 8], eax
+mov eax, dword [esp + 4]
+cmp eax, 0x7d0
+jle near loc_0041ebc5 ; jle 0x41ebc5
+cmp eax, 0xfa0
+jge near loc_0041ebc5 ; jge 0x41ebc5
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+lea edi, [esi + eax]
+xor eax, eax
+mov al, byte [edi + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_0041eb6b ; jne 0x41eb6b
+cmp byte [edi + 0x1a], 1
+jbe short loc_0041eb72 ; jbe 0x41eb72
+
+loc_0041eb6b:
+xor eax, eax
+jmp near loc_0041ed36 ; jmp 0x41ed36
+
+loc_0041eb72:
+mov ebx, 1
+
+loc_0041eb77:
+add esi, 0x34
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg short loc_0041ebbb ; jg 0x41ebbb
+mov eax, dword [esp + 4]
+sub eax, 0x7d0
+cmp ebx, eax
+je short loc_0041ebb8 ; je 0x41ebb8
+lea eax, [esi + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0041ebb8 ; jne 0x41ebb8
+mov al, byte [esi + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_0041ebb8 ; jne 0x41ebb8
+xor eax, edx
+jmp near loc_0041ed36 ; jmp 0x41ed36
+
+loc_0041ebb8:
+inc ebx
+jmp short loc_0041eb77 ; jmp 0x41eb77
+
+loc_0041ebbb:
+mov dword [esp + 0xc], 1
+jmp short loc_0041ec24 ; jmp 0x41ec24
+
+loc_0041ebc5:
+mov ecx, dword [esp + 4]
+cmp ecx, 0xfa0
+jle short loc_0041ec19 ; jle 0x41ec19
+cmp ecx, 0x1770
+jge short loc_0041ec19 ; jge 0x41ec19
+lea eax, [ecx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebp, dword [ref_00498e88] ; mov ebp, dword [0x498e88]
+add ebp, eax
+xor eax, eax
+mov al, byte [ebp + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne near loc_0041eb6b ; jne 0x41eb6b
+cmp byte [ebp + 0x1a], 1
+ja near loc_0041eb6b ; ja 0x41eb6b
+mov dword [esp + 0xc], 2
+jmp short loc_0041ec24 ; jmp 0x41ec24
+
+loc_0041ec19:
+cmp dword [esp + 0xc], 0
+je near loc_0041ed33 ; je 0x41ed33
+
+loc_0041ec24:
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+xor ebx, ebx
+mov dword [esp + 0x10], ebx
+
+loc_0041ec39:
+mov eax, dword [esp + 0x10]
+cmp eax, dword [ref_0048be60] ; cmp eax, dword [0x48be60]
+jge near loc_0041ed33 ; jge 0x41ed33
+mov bx, word [eax*2 + ref_0048b8c4] ; mov bx, word [eax*2 + 0x48b8c4]
+and ebx, 0xffff
+cmp ebx, 0x7d0
+jle near loc_0041ecd9 ; jle 0x41ecd9
+cmp ebx, 0xfa0
+jge short loc_0041ecd9 ; jge 0x41ecd9
+cmp dword [esp + 0xc], 1
+jne short loc_0041ecd9 ; jne 0x41ecd9
+lea eax, [ebx - 0x7d0]
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+add esi, eax
+lea eax, [edi + 4]
+push eax
+lea eax, [esi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+je near loc_0041ed2a ; je 0x41ed2a
+xor eax, eax
+mov ax, word [esi + 0x1c]
+xor edx, edx
+mov dx, word [edi + 0x1c]
+cmp eax, edx
+jle near loc_0041ed2a ; jle 0x41ed2a
+mov al, byte [esi + 0x1a]
+cmp al, byte [edi + 0x1a]
+jbe near loc_0041ed2a ; jbe 0x41ed2a
+push ebx
+mov esi, dword [esp + 0xc]
+push esi
+
+loc_0041ecc1:
+call fcn_0041e8e6 ; call 0x41e8e6
+add esp, 8
+cmp eax, 1
+jne short loc_0041ed2a ; jne 0x41ed2a
+mov dword [ref_0048be58], ebx ; mov dword [0x48be58], ebx
+mov dword [esp], eax
+jmp short loc_0041ed33 ; jmp 0x41ed33
+
+loc_0041ecd9:
+cmp ebx, 0xfa0
+jle short loc_0041ed2a ; jle 0x41ed2a
+cmp ebx, 0x1770
+jge short loc_0041ed2a ; jge 0x41ed2a
+cmp dword [esp + 0xc], 2
+jne short loc_0041ed2a ; jne 0x41ed2a
+lea esi, [ebx - 0xfa0]
+shl esi, 3
+mov eax, esi
+shl esi, 3
+sub esi, eax
+mov eax, esi
+mov esi, dword [ref_00498e88] ; mov esi, dword [0x498e88]
+add esi, eax
+xor edx, edx
+mov dx, word [esi + 0x22]
+xor eax, eax
+mov ax, word [ebp + 0x22]
+cmp edx, eax
+jle short loc_0041ed2a ; jle 0x41ed2a
+mov al, byte [esi + 0x1a]
+cmp al, byte [ebp + 0x1a]
+jbe short loc_0041ed2a ; jbe 0x41ed2a
+push ebx
+mov ecx, dword [esp + 0xc]
+push ecx
+jmp short loc_0041ecc1 ; jmp 0x41ecc1
+
+loc_0041ed2a:
+inc dword [esp + 0x10]
+jmp near loc_0041ec39 ; jmp 0x41ec39
+
+loc_0041ed33:
+mov eax, dword [esp]
+
+loc_0041ed36:
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041ed3e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+xor edx, edx
+mov dword [esp], edx
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ebp, dword [ref_00498e80] ; mov ebp, dword [0x498e80]
+movzx ebp, word [ebp + eax*8 + 0x20]
+push ecx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov esi, eax
+cmp ebp, 0x7d0
+jle near loc_0041ee78 ; jle 0x41ee78
+cmp ebp, 0xfa0
+jge near loc_0041ee78 ; jge 0x41ee78
+lea eax, [ebp - 0x7d0]
+imul edi, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add edi, eax
+xor ebx, ebx
+mov bl, byte [edi + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp ebx, edx
+jne near loc_0041ef1b ; jne 0x41ef1b
+lea ebx, [eax + 0x34]
+cmp byte [edi + 0x18], 0
+je short loc_0041ee04 ; je 0x41ee04
+mov esi, 1
+
+loc_0041edc1:
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_0041ef1b ; jg 0x41ef1b
+lea eax, [ebp - 0x7d0]
+cmp esi, eax
+je short loc_0041edfe ; je 0x41edfe
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0041edfe ; jne 0x41edfe
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+je near loc_0041ef14 ; je 0x41ef14
+
+loc_0041edfe:
+inc esi
+add ebx, 0x34
+jmp short loc_0041edc1 ; jmp 0x41edc1
+
+loc_0041ee04:
+cmp byte [edi + 0x1a], 1
+jne near loc_0041ef1b ; jne 0x41ef1b
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7f], 0 ; cmp byte [eax + 0x496b7f], 0
+je near loc_0041ef14 ; je 0x41ef14
+mov ecx, 1
+mov dword [esp], ecx
+mov esi, ecx
+
+loc_0041ee2c:
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_0041ef1b ; jg 0x41ef1b
+lea eax, [ebp - 0x7d0]
+cmp esi, eax
+je short loc_0041ee72 ; je 0x41ee72
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0041ee72 ; jne 0x41ee72
+mov al, byte [ebx + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+je short loc_0041ee68 ; je 0x41ee68
+test al, al
+jne short loc_0041ee72 ; jne 0x41ee72
+
+loc_0041ee68:
+xor edx, edx
+mov dword [esp], edx
+jmp near loc_0041ef1b ; jmp 0x41ef1b
+
+loc_0041ee72:
+inc esi
+add ebx, 0x34
+jmp short loc_0041ee2c ; jmp 0x41ee2c
+
+loc_0041ee78:
+cmp ebp, 0xfa0
+jle near loc_0041ef1b ; jle 0x41ef1b
+cmp ebp, 0x1770
+jge near loc_0041ef1b ; jge 0x41ef1b
+lea eax, [ebp - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp ebx, edx
+jne short loc_0041eede ; jne 0x41eede
+cmp byte [eax + 0x18], 0
+jne short loc_0041eede ; jne 0x41eede
+cmp byte [eax + 0x1a], 1
+jne short loc_0041eede ; jne 0x41eede
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 4
+sar edx, 0x1f
+idiv ebx
+inc edx
+mov dword [ref_0048be58], edx ; mov dword [0x48be58], edx
+jmp short loc_0041ef14 ; jmp 0x41ef14
+
+loc_0041eede:
+mov bl, byte [eax + 0x19]
+test bl, bl
+je short loc_0041ef1b ; je 0x41ef1b
+xor edx, edx
+mov dl, bl
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+inc ebx
+cmp edx, ebx
+je short loc_0041ef1b ; je 0x41ef1b
+cmp byte [eax + 0x18], 0
+je short loc_0041ef1b ; je 0x41ef1b
+mov cl, byte [eax + 0x1a]
+cmp cl, 3
+jae short loc_0041ef0c ; jae 0x41ef0c
+inc esi
+cmp edx, esi
+jne short loc_0041ef1b ; jne 0x41ef1b
+cmp cl, 2
+jb short loc_0041ef1b ; jb 0x41ef1b
+
+loc_0041ef0c:
+xor esi, esi
+mov dword [ref_0048be58], esi ; mov dword [0x48be58], esi
+
+loc_0041ef14:
+mov dword [esp], 1
+
+loc_0041ef1b:
+mov eax, dword [esp]
+
+loc_0041ef1e:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041ef26:
+push ebx
+push esi
+xor ebx, ebx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov esi, dword [ref_00498e80] ; mov esi, dword [0x498e80]
+mov si, word [esi + eax*8 + 0x20]
+and esi, 0xffff
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov edx, eax
+cmp esi, 0x7d0
+jle short loc_0041efd1 ; jle 0x41efd1
+cmp esi, 0xfa0
+jge short loc_0041efd1 ; jge 0x41efd1
+sub esi, 0x7d0
+imul esi, esi, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, esi
+cmp byte [eax + 0x19], 0
+je short loc_0041efa3 ; je 0x41efa3
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+inc esi
+cmp ecx, esi
+je short loc_0041efa3 ; je 0x41efa3
+cmp byte [eax + 0x1a], 3
+jae near loc_0041f02d ; jae 0x41f02d
+
+loc_0041efa3:
+test ebx, ebx
+jne near loc_0041f032 ; jne 0x41f032
+mov cl, byte [eax + 0x19]
+test cl, cl
+je near loc_0041f032 ; je 0x41f032
+movzx esi, cl
+inc edx
+cmp esi, edx
+jne near loc_0041f032 ; jne 0x41f032
+cmp byte [eax + 0x1a], 2
+jb near loc_0041f032 ; jb 0x41f032
+jmp near loc_0041f02d ; jmp 0x41f02d
+
+loc_0041efd1:
+cmp esi, 0xfa0
+jle short loc_0041f032 ; jle 0x41f032
+cmp esi, 0x1770
+jge short loc_0041f032 ; jge 0x41f032
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov ecx, eax
+shl ecx, 3
+sub ecx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, ecx
+mov cl, byte [eax + 0x19]
+test cl, cl
+je short loc_0041f013 ; je 0x41f013
+movzx esi, cl
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+inc ecx
+cmp esi, ecx
+je short loc_0041f013 ; je 0x41f013
+cmp byte [eax + 0x1a], 3
+jae short loc_0041f02d ; jae 0x41f02d
+
+loc_0041f013:
+test ebx, ebx
+jne short loc_0041f032 ; jne 0x41f032
+cmp byte [eax + 0x19], 0
+je short loc_0041f032 ; je 0x41f032
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+inc edx
+cmp ecx, edx
+jne short loc_0041f032 ; jne 0x41f032
+cmp byte [eax + 0x1a], 2
+jb short loc_0041f032 ; jb 0x41f032
+
+loc_0041f02d:
+mov ebx, 1
+
+loc_0041f032:
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_0041f037:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x120
+xor edx, edx
+mov dword [esp + 0x110], edx
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+xor ecx, ecx
+mov dword [esp + 0x11c], ecx
+xor ebp, ebp
+
+loc_0041f064:
+mov eax, dword [esp + 0x11c]
+cmp eax, dword [ref_0048be60] ; cmp eax, dword [0x48be60]
+jge near loc_0041f13a ; jge 0x41f13a
+mov ax, word [eax*2 + ref_0048b8c4] ; mov ax, word [eax*2 + 0x48b8c4]
+and eax, 0xffff
+mov dword [esp + 0x118], eax
+cmp eax, 0x7d0
+jle near loc_0041f12e ; jle 0x41f12e
+cmp eax, 0xfa0
+jge near loc_0041f12e ; jge 0x41f12e
+lea ebx, [eax - 0x7d0]
+imul ebx, ebx, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add ebx, eax
+xor eax, eax
+mov al, byte [ebx + 0x19]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+inc esi
+cmp eax, esi
+jne near loc_0041f12e ; jne 0x41f12e
+xor esi, esi
+mov dword [esp + 0x114], esi
+
+loc_0041f0ce:
+lea eax, [ebx + 4]
+cmp esi, ebp
+jge short loc_0041f101 ; jge 0x41f101
+cmp byte [ebx + 0x18], 0
+jne short loc_0041f0fe ; jne 0x41f0fe
+cmp byte [ebx + 0x1a], 5
+jae short loc_0041f0fe ; jae 0x41f0fe
+mov edi, esi
+shl edi, 3
+mov ecx, dword [esp + edi]
+push ecx
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0041f0fe ; jne 0x41f0fe
+inc word [esp + edi + 6]
+jmp short loc_0041f12e ; jmp 0x41f12e
+
+loc_0041f0fe:
+inc esi
+jmp short loc_0041f0ce ; jmp 0x41f0ce
+
+loc_0041f101:
+cmp dword [esp + 0x114], 0
+jne short loc_0041f12e ; jne 0x41f12e
+cmp byte [ebx + 0x18], 0
+jne short loc_0041f12e ; jne 0x41f12e
+cmp byte [ebx + 0x1a], 5
+jae short loc_0041f12e ; jae 0x41f12e
+mov dword [esp + ebp*8], eax
+mov eax, dword [esp + 0x118]
+mov word [esp + ebp*8 + 4], ax
+mov word [esp + ebp*8 + 6], 1
+inc ebp
+
+loc_0041f12e:
+inc dword [esp + 0x11c]
+jmp near loc_0041f064 ; jmp 0x41f064
+
+loc_0041f13a:
+xor esi, esi
+mov dword [esp + 0x11c], esi
+
+loc_0041f143:
+mov ecx, dword [esp + 0x11c]
+cmp ebp, ecx
+jle short loc_0041f16e ; jle 0x41f16e
+cmp word [esp + ecx*8 + 6], 3
+jb short loc_0041f165 ; jb 0x41f165
+mov al, byte [esp + 0x11c]
+mov byte [esp + esi + 0x100], al
+inc esi
+
+loc_0041f165:
+inc dword [esp + 0x11c]
+jmp short loc_0041f143 ; jmp 0x41f143
+
+loc_0041f16e:
+test esi, esi
+je short loc_0041f1a1 ; je 0x41f1a1
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+xor eax, eax
+mov al, byte [esp + edx + 0x100]
+mov ax, word [esp + eax*8 + 4]
+and eax, 0xffff
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [esp + 0x110], 1
+
+loc_0041f1a1:
+mov eax, dword [esp + 0x110]
+add esp, 0x120
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041f1b3:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x210
+push 0x100
+push 0
+lea eax, [esp + 8]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov dword [esp + 0x204], eax
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+xor ecx, ecx
+mov dword [esp + 0x20c], ecx
+mov dword [esp + 0x208], ecx
+
+loc_0041f206:
+mov eax, dword [esp + 0x20c]
+cmp eax, dword [ref_0048be60] ; cmp eax, dword [0x48be60]
+jge near loc_0041f2f7 ; jge 0x41f2f7
+mov si, word [eax*2 + ref_0048b8c4] ; mov si, word [eax*2 + 0x48b8c4]
+and esi, 0xffff
+cmp esi, 0x7d0
+jle near loc_0041f2eb ; jle 0x41f2eb
+cmp esi, 0xfa0
+jge near loc_0041f2eb ; jge 0x41f2eb
+lea eax, [esi - 0x7d0]
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+xor edi, edi
+mov dword [esp + 0x200], edi
+
+loc_0041f259:
+lea eax, [ebx + 4]
+cmp edi, dword [esp + 0x208]
+jge short loc_0041f2a3 ; jge 0x41f2a3
+cmp byte [ebx + 0x18], 0
+jne short loc_0041f2a0 ; jne 0x41f2a0
+cmp byte [ebx + 0x19], 0
+je short loc_0041f2a0 ; je 0x41f2a0
+mov ebp, edi
+shl ebp, 4
+mov edx, dword [esp + ebp]
+push edx
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0041f2a0 ; jne 0x41f2a0
+mov al, byte [ebx + 0x19]
+add eax, ebp
+mov dl, byte [ebx + 0x1a]
+add byte [esp + eax + 3], dl
+xor eax, eax
+mov al, byte [ebx + 0x19]
+add ebp, eax
+inc byte [esp + ebp + 7]
+jmp short loc_0041f2eb ; jmp 0x41f2eb
+
+loc_0041f2a0:
+inc edi
+jmp short loc_0041f259 ; jmp 0x41f259
+
+loc_0041f2a3:
+cmp dword [esp + 0x200], 0
+jne short loc_0041f2eb ; jne 0x41f2eb
+cmp byte [ebx + 0x18], 0
+jne short loc_0041f2eb ; jne 0x41f2eb
+cmp byte [ebx + 0x19], 0
+je short loc_0041f2eb ; je 0x41f2eb
+mov edx, dword [esp + 0x208]
+shl edx, 4
+mov dword [esp + edx], eax
+mov dword [esp + edx + 0xc], esi
+xor eax, eax
+mov al, byte [ebx + 0x19]
+add eax, edx
+mov cl, byte [ebx + 0x1a]
+mov byte [esp + eax + 3], cl
+xor eax, eax
+mov al, byte [ebx + 0x19]
+add edx, eax
+mov byte [esp + edx + 7], 1
+inc dword [esp + 0x208]
+
+loc_0041f2eb:
+inc dword [esp + 0x20c]
+jmp near loc_0041f206 ; jmp 0x41f206
+
+loc_0041f2f7:
+xor edi, edi
+mov dword [esp + 0x20c], edi
+xor ecx, ecx
+
+loc_0041f302:
+mov eax, dword [esp + 0x20c]
+cmp eax, dword [esp + 0x208]
+jge near loc_0041f3f3 ; jge 0x41f3f3
+test ecx, ecx
+jne near loc_0041f3f3 ; jne 0x41f3f3
+mov esi, dword [esp + 0x204]
+cmp esi, 0xffffffff
+je short loc_0041f36d ; je 0x41f36d
+mov edx, eax
+shl edx, 4
+lea eax, [esi + edx]
+cmp byte [esp + eax + 8], 2
+jb near loc_0041f3e7 ; jb 0x41f3e7
+cmp byte [esp + eax + 4], 7
+jb near loc_0041f3e7 ; jb 0x41f3e7
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+add eax, edx
+cmp byte [esp + eax + 4], 1
+ja near loc_0041f3e7 ; ja 0x41f3e7
+mov eax, dword [esp + edx + 0xc]
+
+loc_0041f35e:
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov ecx, 1
+jmp near loc_0041f3f3 ; jmp 0x41f3f3
+
+loc_0041f36d:
+xor esi, esi
+xor ebp, ebp
+xor edx, edx
+
+loc_0041f373:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge short loc_0041f3bc ; jge 0x41f3bc
+mov ebx, dword [esp + 0x20c]
+shl ebx, 4
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+add eax, ebx
+cmp byte [esp + eax + 4], 0
+jne short loc_0041f3bc ; jne 0x41f3bc
+cmp esi, dword [ref_0049910c] ; cmp esi, dword [0x49910c]
+je short loc_0041f3b9 ; je 0x41f3b9
+imul edi, esi, 0x68
+cmp byte [edi + ref_00496b7d], 0 ; cmp byte [edi + 0x496b7d], 0
+je short loc_0041f3b9 ; je 0x41f3b9
+add ebx, esi
+xor eax, eax
+mov al, byte [esp + ebx + 8]
+add ebp, eax
+xor eax, eax
+mov al, byte [esp + ebx + 4]
+add edx, eax
+
+loc_0041f3b9:
+inc esi
+jmp short loc_0041f373 ; jmp 0x41f373
+
+loc_0041f3bc:
+mov ebx, dword [esp + 0x20c]
+shl ebx, 4
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+add eax, ebx
+cmp byte [esp + eax + 4], 0
+jne short loc_0041f3e7 ; jne 0x41f3e7
+cmp ebp, 3
+jl short loc_0041f3e7 ; jl 0x41f3e7
+cmp edx, 9
+jl short loc_0041f3e7 ; jl 0x41f3e7
+mov eax, dword [esp + ebx + 0xc]
+jmp near loc_0041f35e ; jmp 0x41f35e
+
+loc_0041f3e7:
+inc dword [esp + 0x20c]
+jmp near loc_0041f302 ; jmp 0x41f302
+
+loc_0041f3f3:
+mov eax, ecx
+add esp, 0x210
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041f400:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x4c
+xor edx, edx
+mov dword [esp + 0x40], edx
+push 0x40
+push edx
+lea eax, [esp + 8]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov ebp, eax
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+xor ecx, ecx
+
+loc_0041f43f:
+cmp ecx, dword [ref_0048be60] ; cmp ecx, dword [0x48be60]
+jge near loc_0041f5a1 ; jge 0x41f5a1
+mov dx, word [ecx*2 + ref_0048b8c4] ; mov dx, word [ecx*2 + 0x48b8c4]
+and edx, 0xffff
+cmp edx, 0x7d0
+jle near loc_0041f503 ; jle 0x41f503
+cmp edx, 0xfa0
+jge near loc_0041f503 ; jge 0x41f503
+lea eax, [edx - 0x7d0]
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add eax, ebx
+cmp byte [eax + 0x19], 0
+je near loc_0041f59b ; je 0x41f59b
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+inc esi
+cmp ebx, esi
+je near loc_0041f59b ; je 0x41f59b
+cmp byte [eax + 0x1a], 3
+jb near loc_0041f59b ; jb 0x41f59b
+shl ebx, 3
+xor esi, esi
+mov si, word [esp + ebx - 8]
+movzx edi, byte [eax + 0x1a]
+cmp esi, edi
+jge short loc_0041f4e7 ; jge 0x41f4e7
+movzx si, byte [eax + 0x1a]
+mov word [esp + ebx - 8], si
+xor esi, esi
+mov si, word [eax + 0x1c]
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+mov dword [esp + ebx*8 - 4], esi
+
+loc_0041f4d5:
+mov al, byte [eax + 0x19]
+and eax, 0xff
+mov word [esp + eax*8 - 6], dx
+jmp near loc_0041f59b ; jmp 0x41f59b
+
+loc_0041f4e7:
+jne near loc_0041f59b ; jne 0x41f59b
+xor esi, edi
+mov si, word [eax + 0x1c]
+cmp esi, dword [esp + ebx - 4]
+jle near loc_0041f59b ; jle 0x41f59b
+mov dword [esp + ebx - 4], esi
+jmp short loc_0041f4d5 ; jmp 0x41f4d5
+
+loc_0041f503:
+cmp edx, 0xfa0
+jle near loc_0041f59b ; jle 0x41f59b
+cmp edx, 0x1770
+jge near loc_0041f59b ; jge 0x41f59b
+lea eax, [edx - 0xfa0]
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add eax, ebx
+cmp byte [eax + 0x19], 0
+je short loc_0041f59b ; je 0x41f59b
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+inc esi
+cmp ebx, esi
+je short loc_0041f59b ; je 0x41f59b
+cmp byte [eax + 0x1a], 3
+jb short loc_0041f59b ; jb 0x41f59b
+shl ebx, 3
+xor edi, edi
+mov di, word [esp + ebx + 0x18]
+movzx esi, byte [eax + 0x1a]
+cmp edi, esi
+jge short loc_0041f57c ; jge 0x41f57c
+movzx si, byte [eax + 0x1a]
+mov word [esp + ebx + 0x18], si
+xor esi, esi
+mov si, word [eax + 0x22]
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+mov dword [esp + ebx*8 + 0x1c], esi
+jmp short loc_0041f58e ; jmp 0x41f58e
+
+loc_0041f57c:
+jne short loc_0041f59b ; jne 0x41f59b
+xor esi, esi
+mov si, word [eax + 0x22]
+cmp esi, dword [esp + ebx + 0x1c]
+jle short loc_0041f59b ; jle 0x41f59b
+mov dword [esp + ebx + 0x1c], esi
+
+loc_0041f58e:
+mov al, byte [eax + 0x19]
+and eax, 0xff
+mov word [esp + eax*8 + 0x1a], dx
+
+loc_0041f59b:
+inc ecx
+jmp near loc_0041f43f ; jmp 0x41f43f
+
+loc_0041f5a1:
+cmp ebp, 0xffffffff
+je short loc_0041f5d4 ; je 0x41f5d4
+mov edx, ebp
+shl edx, 3
+cmp word [esp + edx + 0x20], 3
+jb short loc_0041f5c4 ; jb 0x41f5c4
+xor eax, eax
+mov ax, word [esp + edx + 0x22]
+
+loc_0041f5ba:
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+jmp near loc_0041f695 ; jmp 0x41f695
+
+loc_0041f5c4:
+cmp word [esp + edx], 3
+jb short loc_0041f5d4 ; jb 0x41f5d4
+xor eax, eax
+mov ax, word [esp + edx + 2]
+jmp short loc_0041f5ba ; jmp 0x41f5ba
+
+loc_0041f5d4:
+mov esi, dword [esp + 0x40]
+test esi, esi
+jne near loc_0041f69d ; jne 0x41f69d
+xor ecx, ecx
+xor edi, edi
+mov dword [esp + 0x48], esi
+xor ebp, ebp
+xor edx, edx
+mov dword [esp + 0x44], esi
+jmp short loc_0041f637 ; jmp 0x41f637
+
+loc_0041f5f2:
+jne short loc_0041f605 ; jne 0x41f605
+mov ebx, dword [esp + eax + 4]
+cmp esi, ebx
+jge short loc_0041f605 ; jge 0x41f605
+mov esi, ebx
+
+loc_0041f5fe:
+xor edx, edx
+mov dx, word [esp + eax + 2]
+
+loc_0041f605:
+mov eax, ecx
+shl eax, 3
+cmp word [esp + eax + 0x20], 3
+jb short loc_0041f631 ; jb 0x41f631
+xor ebx, ebx
+mov bx, word [esp + eax + 0x20]
+cmp edi, ebx
+jge short loc_0041f66d ; jge 0x41f66d
+mov edi, ebx
+mov ebp, dword [esp + eax + 0x24]
+
+loc_0041f623:
+mov ax, word [esp + eax + 0x22]
+and eax, 0xffff
+mov dword [esp + 0x44], eax
+
+loc_0041f631:
+inc ecx
+cmp ecx, 4
+jge short loc_0041f67b ; jge 0x41f67b
+
+loc_0041f637:
+cmp ecx, dword [ref_0049910c] ; cmp ecx, dword [0x49910c]
+je short loc_0041f631 ; je 0x41f631
+imul eax, ecx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0041f631 ; je 0x41f631
+mov eax, ecx
+shl eax, 3
+cmp word [esp + eax], 4
+jb short loc_0041f605 ; jb 0x41f605
+xor ebx, ebx
+mov bx, word [esp + eax]
+cmp ebx, dword [esp + 0x48]
+jle short loc_0041f5f2 ; jle 0x41f5f2
+mov dword [esp + 0x48], ebx
+mov esi, dword [esp + eax + 4]
+jmp short loc_0041f5fe ; jmp 0x41f5fe
+
+loc_0041f66d:
+jne short loc_0041f631 ; jne 0x41f631
+mov ebx, dword [esp + eax + 0x24]
+cmp ebp, ebx
+jge short loc_0041f631 ; jge 0x41f631
+mov ebp, ebx
+jmp short loc_0041f623 ; jmp 0x41f623
+
+loc_0041f67b:
+mov esi, dword [esp + 0x44]
+test esi, esi
+je short loc_0041f68b ; je 0x41f68b
+mov dword [ref_0048be58], esi ; mov dword [0x48be58], esi
+jmp short loc_0041f695 ; jmp 0x41f695
+
+loc_0041f68b:
+test edx, edx
+je short loc_0041f69d ; je 0x41f69d
+mov dword [ref_0048be58], edx ; mov dword [0x48be58], edx
+
+loc_0041f695:
+mov dword [esp + 0x40], 1
+
+loc_0041f69d:
+mov eax, dword [esp + 0x40]
+add esp, 0x4c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041f6a9:
+push ebx
+push esi
+push edi
+push ebp
+call fcn_0041f400 ; call 0x41f400
+cmp eax, 1
+je near loc_0041f8fc ; je 0x41f8fc
+xor edi, edi
+xor esi, esi
+
+loc_0041f6bf:
+cmp edi, dword [ref_0048be60] ; cmp edi, dword [0x48be60]
+jge near loc_0041f8fa ; jge 0x41f8fa
+test esi, esi
+jne near loc_0041f8fa ; jne 0x41f8fa
+mov bx, word [edi*2 + ref_0048b8c4] ; mov bx, word [edi*2 + 0x48b8c4]
+and ebx, 0xffff
+cmp ebx, 0x7d0
+jle short loc_0041f752 ; jle 0x41f752
+cmp ebx, 0xfa0
+jge short loc_0041f752 ; jge 0x41f752
+lea eax, [ebx - 0x7d0]
+imul edx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, edx
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+imul edx, ebp, 0x68
+cmp byte [edx + ref_00496b7f], 0 ; cmp byte [edx + 0x496b7f], 0
+je near loc_0041f8f4 ; je 0x41f8f4
+mov ch, byte [eax + 0x19]
+test ch, ch
+je near loc_0041f8f4 ; je 0x41f8f4
+xor edx, edx
+mov dl, ch
+lea ecx, [ebp + 1]
+cmp edx, ecx
+je near loc_0041f8f4 ; je 0x41f8f4
+cmp byte [eax + 0x18], 0
+je near loc_0041f8f4 ; je 0x41f8f4
+push edx
+call fcn_0041970f ; call 0x41970f
+add esp, 4
+cmp eax, 4
+jl near loc_0041f8f4 ; jl 0x41f8f4
+jmp near loc_0041f8e9 ; jmp 0x41f8e9
+
+loc_0041f752:
+cmp ebx, 0xfa0
+jle short loc_0041f7ba ; jle 0x41f7ba
+cmp ebx, 0x1770
+jge short loc_0041f7ba ; jge 0x41f7ba
+lea eax, [ebx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+test byte [edx + ref_00496b79], 3 ; test byte [edx + 0x496b79], 3
+je near loc_0041f8f4 ; je 0x41f8f4
+cmp byte [eax + 0x18], 3
+jne near loc_0041f8f4 ; jne 0x41f8f4
+cmp byte [eax + 0x1a], 1
+jne near loc_0041f8f4 ; jne 0x41f8f4
+
+loc_0041f7a2:
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+
+loc_0041f7af:
+je near loc_0041f8f4 ; je 0x41f8f4
+jmp near loc_0041f8e9 ; jmp 0x41f8e9
+
+loc_0041f7ba:
+test bh, 0x80
+je near loc_0041f8f4 ; je 0x41f8f4
+mov eax, ebx
+sar eax, 8
+and eax, 0x3f
+je near loc_0041f8f4 ; je 0x41f8f4
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 3
+xor ecx, ecx
+mov cx, word [edx + ref_00496d0a] ; mov cx, word [edx + 0x496d0a]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov ax, word [ecx + eax*8 + 0x20]
+and eax, 0xffff
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+inc ecx
+lea ebp, [eax - 0x7d0]
+imul ebp, ebp, 0x34
+cmp byte [edx + ref_00496d08], 0x10 ; cmp byte [edx + 0x496d08], 0x10
+jne short loc_0041f884 ; jne 0x41f884
+cmp eax, 0x7d0
+jle short loc_0041f847 ; jle 0x41f847
+cmp eax, 0xfa0
+jge short loc_0041f847 ; jge 0x41f847
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, ebp
+mov dh, byte [eax + 0x19]
+test dh, dh
+je near loc_0041f8f4 ; je 0x41f8f4
+mov al, dh
+and eax, 0xff
+cmp eax, ecx
+jmp near loc_0041f7af ; jmp 0x41f7af
+
+loc_0041f847:
+cmp eax, 0xfa0
+jle near loc_0041f8f4 ; jle 0x41f8f4
+cmp eax, 0x1770
+jge near loc_0041f8f4 ; jge 0x41f8f4
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, edx
+cmp byte [eax + 0x19], 0
+je near loc_0041f8f4 ; je 0x41f8f4
+jmp near loc_0041f7a2 ; jmp 0x41f7a2
+
+loc_0041f884:
+cmp byte [edx + ref_00496d08], 0x11 ; cmp byte [edx + 0x496d08], 0x11
+jne near loc_0041f8f4 ; jne 0x41f8f4
+cmp eax, 0x7d0
+jle short loc_0041f8b4 ; jle 0x41f8b4
+cmp eax, 0xfa0
+jge short loc_0041f8b4 ; jge 0x41f8b4
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, ebp
+mov al, byte [eax + 0x19]
+and eax, 0xff
+cmp eax, ecx
+jne short loc_0041f8f4 ; jne 0x41f8f4
+jmp short loc_0041f8e9 ; jmp 0x41f8e9
+
+loc_0041f8b4:
+cmp eax, 0xfa0
+jle short loc_0041f8f4 ; jle 0x41f8f4
+cmp eax, 0x1770
+jge short loc_0041f8f4 ; jge 0x41f8f4
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, edx
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne short loc_0041f8f4 ; jne 0x41f8f4
+
+loc_0041f8e9:
+mov dword [ref_0048be58], ebx ; mov dword [0x48be58], ebx
+mov esi, 1
+
+loc_0041f8f4:
+inc edi
+jmp near loc_0041f6bf ; jmp 0x41f6bf
+
+loc_0041f8fa:
+mov eax, esi
+
+loc_0041f8fc:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041f901:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+xor edx, edx
+mov dword [esp + 0xc], edx
+mov dword [esp + 8], edx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov ebp, eax
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+xor edi, edi
+mov ch, 1
+
+loc_0041f936:
+cmp edi, dword [ref_0048be60] ; cmp edi, dword [0x48be60]
+jge short loc_0041f99a ; jge 0x41f99a
+mov ax, word [edi*2 + ref_0048b8c4] ; mov ax, word [edi*2 + 0x48b8c4]
+and eax, 0xffff
+mov dword [esp + 0x10], eax
+test byte [esp + 0x11], 0x80
+je short loc_0041f997 ; je 0x41f997
+test byte [esp + 0x10], 0xf
+je short loc_0041f997 ; je 0x41f997
+xor ebx, ebx
+mov esi, 1
+jmp short loc_0041f96e ; jmp 0x41f96e
+
+loc_0041f966:
+add esi, esi
+inc ebx
+cmp esi, 0x10
+jge short loc_0041f997 ; jge 0x41f997
+
+loc_0041f96e:
+test dword [esp + 0x10], esi
+je short loc_0041f966 ; je 0x41f966
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+je short loc_0041f966 ; je 0x41f966
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0041f966 ; je 0x41f966
+mov byte [esp + ebx + 8], ch
+mov edx, esi
+or dh, 0x80
+mov word [esp + ebx*2], dx
+jmp short loc_0041f966 ; jmp 0x41f966
+
+loc_0041f997:
+inc edi
+jmp short loc_0041f936 ; jmp 0x41f936
+
+loc_0041f99a:
+cmp ebp, 0xffffffff
+je near loc_0041fa24 ; je 0x41fa24
+cmp byte [esp + ebp + 8], 0
+je near loc_0041fa24 ; je 0x41fa24
+xor edi, edi
+mov dword [esp + 0x10], edi
+xor esi, esi
+
+loc_0041f9b6:
+push ebp
+call fcn_00441262 ; call 0x441262
+add esp, 4
+cmp edi, eax
+jge short loc_0041fa06 ; jge 0x41fa06
+mov eax, ebp
+shl eax, 2
+add eax, ebp
+mov edx, eax
+shl eax, 2
+sub eax, edx
+lea edx, [eax + edi]
+mov dl, byte [edx + ref_00499120] ; mov dl, byte [edx + 0x499120]
+and edx, 0xff
+mov eax, edx
+shl eax, 3
+cmp byte [eax + ref_0047fdf1], 1 ; cmp byte [eax + 0x47fdf1], 1
+jb short loc_0041fa03 ; jb 0x41fa03
+mov al, byte [eax + ref_0047fdef] ; mov al, byte [eax + 0x47fdef]
+and eax, 0xff
+cmp eax, esi
+jle short loc_0041fa03 ; jle 0x41fa03
+mov dword [esp + 0x10], edx
+mov esi, eax
+
+loc_0041fa03:
+inc edi
+jmp short loc_0041f9b6 ; jmp 0x41f9b6
+
+loc_0041fa06:
+mov edx, dword [esp + 0x10]
+test edx, edx
+je short loc_0041fa24 ; je 0x41fa24
+xor eax, eax
+mov ax, word [esp + ebp*2]
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [ref_0048be5c], edx ; mov dword [0x48be5c], edx
+jmp near loc_0041fabb ; jmp 0x41fabb
+
+loc_0041fa24:
+mov ebx, dword [esp + 0xc]
+test ebx, ebx
+jne near loc_0041fac3 ; jne 0x41fac3
+xor esi, esi
+mov dword [esp + 0x10], ebx
+mov ebp, 1
+
+loc_0041fa3b:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_0041fab4 ; jge 0x41fab4
+cmp byte [esp + ebx + 8], 0
+je short loc_0041fab1 ; je 0x41fab1
+xor edi, edi
+
+loc_0041fa50:
+push ebx
+call fcn_00441262 ; call 0x441262
+add esp, 4
+cmp edi, eax
+jge short loc_0041fab1 ; jge 0x41fab1
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+lea edx, [eax + edi]
+mov dl, byte [edx + ref_00499120] ; mov dl, byte [edx + 0x499120]
+and edx, 0xff
+mov eax, edx
+shl eax, 3
+cmp byte [eax + ref_0047fdf1], 2 ; cmp byte [eax + 0x47fdf1], 2
+jne short loc_0041faae ; jne 0x41faae
+xor ecx, ecx
+mov cl, byte [eax + ref_0047fdef] ; mov cl, byte [eax + 0x47fdef]
+cmp ecx, esi
+jle short loc_0041faae ; jle 0x41faae
+mov ax, word [esp + ebx*2]
+and eax, 0xffff
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [ref_0048be5c], edx ; mov dword [0x48be5c], edx
+mov dword [esp + 0x10], ebp
+mov esi, ecx
+
+loc_0041faae:
+inc edi
+jmp short loc_0041fa50 ; jmp 0x41fa50
+
+loc_0041fab1:
+inc ebx
+jmp short loc_0041fa3b ; jmp 0x41fa3b
+
+loc_0041fab4:
+cmp dword [esp + 0x10], 0
+je short loc_0041fac3 ; je 0x41fac3
+
+loc_0041fabb:
+mov dword [esp + 0xc], 1
+
+loc_0041fac3:
+mov eax, dword [esp + 0xc]
+jmp near loc_0041ed36 ; jmp 0x41ed36
+
+fcn_0041facc:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+xor esi, esi
+imul ecx, dword [ref_0049910c], 0x68 ; imul ecx, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [ecx + ref_00496b74] ; mov dx, word [ecx + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ebp, dword [ref_00498e80] ; mov ebp, dword [0x498e80]
+movzx ebp, word [ebp + eax*8 + 0x20]
+cmp byte [ecx + ref_00496ba1], 0 ; cmp byte [ecx + 0x496ba1], 0
+jne near loc_0041fca6 ; jne 0x41fca6
+cmp ebp, 0x7d0
+jle near loc_0041fc1f ; jle 0x41fc1f
+cmp ebp, 0xfa0
+jge near loc_0041fc1f ; jge 0x41fc1f
+lea eax, [ebp - 0x7d0]
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+lea edi, [edx + eax]
+xor ebx, ebx
+mov bx, word [edi + 0x1e]
+imul ebx, dword [ref_004990e8] ; imul ebx, dword [0x4990e8]
+xor eax, eax
+mov al, byte [edi + 0x19]
+mov dword [esp + 8], eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+mov dword [esp + 0xc], eax
+mov eax, dword [esp + 8]
+cmp eax, dword [esp + 0xc]
+jne near loc_0041fca6 ; jne 0x41fca6
+cmp byte [edi + 0x18], 0
+jne near loc_0041fca6 ; jne 0x41fca6
+cmp byte [edi + 0x1a], 5
+jae near loc_0041fca6 ; jae 0x41fca6
+mov eax, dword [ecx + ref_00496b84] ; mov eax, dword [ecx + 0x496b84]
+cmp ebx, eax
+jge near loc_0041fca6 ; jge 0x41fca6
+add eax, dword [ecx + ref_00496b88] ; add eax, dword [ecx + 0x496b88]
+cmp eax, 0x2710
+jle near loc_0041fca6 ; jle 0x41fca6
+cmp word [ecx + ref_00496bae], 0 ; cmp word [ecx + 0x496bae], 0
+jl near loc_0041fca6 ; jl 0x41fca6
+mov dword [esp + 0x14], 1
+lea ebx, [edx + 0x34]
+
+loc_0041fba8:
+mov eax, dword [esp + 0x14]
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_0041fc0b ; jg 0x41fc0b
+lea eax, [ebp - 0x7d0]
+cmp eax, dword [esp + 0x14]
+je short loc_0041fc02 ; je 0x41fc02
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0041fc02 ; jne 0x41fc02
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne short loc_0041fc02 ; jne 0x41fc02
+
+loc_0041fbe3:
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+
+loc_0041fbf8:
+mov esi, 1
+jmp near loc_0041fe44 ; jmp 0x41fe44
+
+loc_0041fc02:
+inc dword [esp + 0x14]
+add ebx, 0x34
+jmp short loc_0041fba8 ; jmp 0x41fba8
+
+loc_0041fc0b:
+test esi, esi
+jne near loc_0041fca6 ; jne 0x41fca6
+cmp byte [edi + 0x1a], 2
+jb near loc_0041fca6 ; jb 0x41fca6
+jmp short loc_0041fbf8 ; jmp 0x41fbf8
+
+loc_0041fc1f:
+cmp ebp, 0xfa0
+jle near loc_0041fca6 ; jle 0x41fca6
+cmp ebp, 0x1770
+jge near loc_0041fca6 ; jge 0x41fca6
+lea eax, [ebp - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, edx
+xor ebx, ebx
+mov bx, word [eax + 0x24]
+imul ebx, dword [ref_004990e8] ; imul ebx, dword [0x4990e8]
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp ecx, edx
+jne short loc_0041fca6 ; jne 0x41fca6
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov ebp, dword [edx + ref_00496b84] ; mov ebp, dword [edx + 0x496b84]
+cmp ebx, ebp
+jge short loc_0041fca6 ; jge 0x41fca6
+cmp ebp, 0x2710
+jle short loc_0041fca6 ; jle 0x41fca6
+mov bl, byte [eax + 0x18]
+test bl, bl
+je short loc_0041fca6 ; je 0x41fca6
+cmp bl, 3
+je short loc_0041fca6 ; je 0x41fca6
+cmp byte [eax + 0x1a], 5
+jae short loc_0041fca6 ; jae 0x41fca6
+cmp word [edx + ref_00496bae], 0 ; cmp word [edx + 0x496bae], 0
+jge near loc_0041fbe3 ; jge 0x41fbe3
+
+loc_0041fca6:
+test esi, esi
+jne near loc_0041fe44 ; jne 0x41fe44
+push 8
+push esi
+lea eax, [esp + 8]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+mov dword [esp + 0x10], esi
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+
+loc_0041fcd7:
+mov eax, dword [esp + 0x10]
+cmp eax, dword [ref_0048be60] ; cmp eax, dword [0x48be60]
+jge near loc_0041fd57 ; jge 0x41fd57
+mov ax, word [eax*2 + ref_0048b8c4] ; mov ax, word [eax*2 + 0x48b8c4]
+and eax, 0xffff
+mov dword [esp + 0x14], eax
+test byte [esp + 0x15], 0x80
+je short loc_0041fd51 ; je 0x41fd51
+test byte [esp + 0x14], 0xf
+je short loc_0041fd51 ; je 0x41fd51
+xor ecx, ecx
+mov edx, 1
+jmp short loc_0041fd17 ; jmp 0x41fd17
+
+loc_0041fd0f:
+add edx, edx
+inc ecx
+cmp edx, 0x10
+jge short loc_0041fd51 ; jge 0x41fd51
+
+loc_0041fd17:
+test dword [esp + 0x14], edx
+je short loc_0041fd0f ; je 0x41fd0f
+cmp ecx, edi
+je short loc_0041fd0f ; je 0x41fd0f
+imul eax, ecx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0041fd0f ; je 0x41fd0f
+xor ebx, ebx
+mov bx, word [eax + ref_00496b74] ; mov bx, word [eax + 0x496b74]
+mov eax, ebx
+shl eax, 2
+add ebx, eax
+shl ebx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, ebx
+mov ax, word [eax + 0x20]
+mov word [esp + ecx*2], ax
+jmp short loc_0041fd0f ; jmp 0x41fd0f
+
+loc_0041fd51:
+inc dword [esp + 0x10]
+jmp short loc_0041fcd7 ; jmp 0x41fcd7
+
+loc_0041fd57:
+xor ebx, ebx
+mov dword [esp + 0x10], ebx
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+mov edi, dword [ref_00499114] ; mov edi, dword [0x499114]
+
+loc_0041fd69:
+mov eax, dword [esp + 0x10]
+cmp eax, edi
+jge near loc_0041fe44 ; jge 0x41fe44
+test esi, esi
+jne near loc_0041fe44 ; jne 0x41fe44
+cmp eax, ebp
+je near loc_0041fe3b ; je 0x41fe3b
+imul eax, eax, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_0041fe3b ; je 0x41fe3b
+mov ecx, dword [esp + 0x10]
+add ecx, ecx
+mov dx, word [esp + ecx]
+cmp dx, 0xfa0
+jbe short loc_0041fde5 ; jbe 0x41fde5
+cmp dx, 0x1770
+jae short loc_0041fde5 ; jae 0x41fde5
+xor edx, edx
+mov dx, word [esp + ecx]
+lea eax, [edx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+lea edx, [ebp + 1]
+cmp ecx, edx
+jne short loc_0041fe3b ; jne 0x41fe3b
+cmp byte [eax + 0x18], 0
+je short loc_0041fe3b ; je 0x41fe3b
+cmp byte [eax + 0x1a], 2
+jb short loc_0041fe3b ; jb 0x41fe3b
+jmp short loc_0041fe23 ; jmp 0x41fe23
+
+loc_0041fde5:
+mov eax, dword [esp + 0x10]
+add eax, eax
+mov cx, word [esp + eax]
+cmp cx, 0x1770
+jbe short loc_0041fe3b ; jbe 0x41fe3b
+cmp cx, 0x1f40
+jae short loc_0041fe3b ; jae 0x41fe3b
+mov eax, ecx
+and eax, 0xffff
+sub eax, 0x1770
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e7c] ; mov edx, dword [0x498e7c]
+add eax, edx
+xor edx, edx
+mov dl, byte [eax + 0x18]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne short loc_0041fe3b ; jne 0x41fe3b
+
+loc_0041fe23:
+mov cl, byte [esp + 0x10]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov esi, 1
+
+loc_0041fe3b:
+inc dword [esp + 0x10]
+jmp near loc_0041fd69 ; jmp 0x41fd69
+
+loc_0041fe44:
+mov eax, esi
+
+loc_0041fe46:
+add esp, 0x18
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0041fe4e:
+push ebx
+xor ebx, ebx
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 4
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+jne short loc_0041fe6b ; jne 0x41fe6b
+mov ebx, 1
+
+loc_0041fe6b:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_0041fe6f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+xor edx, edx
+mov dword [esp + 4], edx
+mov ebp, 0xffffffff
+push ebp
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+xor ecx, ecx
+mov dword [esp], ecx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov dword [esp + 0xc], eax
+xor esi, esi
+mov dword [esp + 8], esi
+
+loc_0041fead:
+mov eax, dword [esp + 8]
+cmp eax, dword [ref_0048be60] ; cmp eax, dword [0x48be60]
+jge near loc_0041ff3a ; jge 0x41ff3a
+mov ax, word [eax*2 + ref_0048b8c4] ; mov ax, word [eax*2 + 0x48b8c4]
+and eax, 0xffff
+mov dword [esp + 0x10], eax
+test byte [esp + 0x11], 0x80
+je near loc_0041ff31 ; je 0x41ff31
+test byte [esp + 0x10], 0xf
+je short loc_0041ff31 ; je 0x41ff31
+xor ebx, ebx
+mov edi, 1
+jmp short loc_0041fef1 ; jmp 0x41fef1
+
+loc_0041fee9:
+add edi, edi
+inc ebx
+cmp edi, 0x10
+jge short loc_0041ff31 ; jge 0x41ff31
+
+loc_0041fef1:
+test dword [esp + 0x10], edi
+je short loc_0041fee9 ; je 0x41fee9
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+je short loc_0041fee9 ; je 0x41fee9
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0041fee9 ; je 0x41fee9
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+jne short loc_0041fee9 ; jne 0x41fee9
+push 0x12
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+test eax, eax
+jne short loc_0041fee9 ; jne 0x41fee9
+cmp ebx, dword [esp + 0xc]
+jne short loc_0041ff2b ; jne 0x41ff2b
+mov ebp, esi
+
+loc_0041ff2b:
+mov byte [esp + esi], bl
+inc esi
+jmp short loc_0041fee9 ; jmp 0x41fee9
+
+loc_0041ff31:
+inc dword [esp + 8]
+jmp near loc_0041fead ; jmp 0x41fead
+
+loc_0041ff3a:
+test esi, esi
+je short loc_0041ff6e ; je 0x41ff6e
+cmp ebp, 0xffffffff
+je short loc_0041ff48 ; je 0x41ff48
+mov cl, byte [esp + ebp]
+jmp short loc_0041ff57 ; jmp 0x41ff57
+
+loc_0041ff48:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+mov cl, byte [esp + edx]
+
+loc_0041ff57:
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [esp + 4], 1
+
+loc_0041ff6e:
+mov eax, dword [esp + 4]
+jmp near loc_0041ed36 ; jmp 0x41ed36
+
+fcn_0041ff77:
+push ebx
+xor edx, edx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov bl, byte [eax + ref_00496ba7] ; mov bl, byte [eax + 0x496ba7]
+test bl, bl
+je short loc_0041ffc3 ; je 0x41ffc3
+xor ecx, ecx
+mov cl, bl
+dec ecx
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+mov al, byte [eax*8 + ref_00496d08] ; mov al, byte [eax*8 + 0x496d08]
+and eax, 0xff
+cmp eax, 5
+je short loc_0041ffef ; je 0x41ffef
+cmp eax, 6
+je short loc_0041ffef ; je 0x41ffef
+cmp eax, 7
+je short loc_0041ffef ; je 0x41ffef
+cmp eax, 8
+je short loc_0041ffef ; je 0x41ffef
+cmp eax, 0xa
+je short loc_0041ffef ; je 0x41ffef
+cmp eax, 0xf
+jne short loc_0041fff4 ; jne 0x41fff4
+jmp short loc_0041ffef ; jmp 0x41ffef
+
+loc_0041ffc3:
+mov bh, byte [eax + ref_00496ba8] ; mov bh, byte [eax + 0x496ba8]
+test bh, bh
+je short loc_0041fff4 ; je 0x41fff4
+mov al, bh
+and eax, 0xff
+lea ecx, [eax - 1]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+mov al, byte [eax*8 + ref_00496d0c] ; mov al, byte [eax*8 + 0x496d0c]
+and eax, 0xff
+cmp eax, 0xd
+jge short loc_0041fff4 ; jge 0x41fff4
+
+loc_0041ffef:
+mov edx, 1
+
+loc_0041fff4:
+mov eax, edx
+pop ebx
+ret
+
+fcn_0041fff8:
+push ebx
+xor eax, eax
+xor ebx, ebx
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov dl, byte [edx + ref_00496ba7] ; mov dl, byte [edx + 0x496ba7]
+and edx, 0xff
+cmp edx, 1
+je short loc_0042002e ; je 0x42002e
+cmp edx, 2
+je short loc_0042002e ; je 0x42002e
+cmp edx, 3
+je short loc_0042002e ; je 0x42002e
+cmp edx, 4
+je short loc_0042002e ; je 0x42002e
+cmp edx, 0xc
+je short loc_0042002e ; je 0x42002e
+call fcn_00444d1a ; call 0x444d1a
+
+loc_0042002e:
+cmp eax, 1
+je short loc_00420047 ; je 0x420047
+cmp eax, 2
+je short loc_00420047 ; je 0x420047
+cmp eax, 3
+je short loc_00420047 ; je 0x420047
+cmp eax, 4
+je short loc_00420047 ; je 0x420047
+cmp eax, 0xc
+jne short loc_00420051 ; jne 0x420051
+
+loc_00420047:
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov ebx, 1
+
+loc_00420051:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00420055:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov edi, 0xffffffff
+xor ebp, ebp
+call fcn_00428d01 ; call 0x428d01
+cmp eax, 1
+jne short loc_00420074 ; jne 0x420074
+xor eax, eax
+jmp near loc_0041ef1e ; jmp 0x41ef1e
+
+loc_00420074:
+xor ebx, ebx
+xor esi, esi
+jmp short loc_00420080 ; jmp 0x420080
+
+loc_0042007a:
+inc ebx
+cmp ebx, 0xc
+jge short loc_004200d3 ; jge 0x4200d3
+
+loc_00420080:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov edx, ebx
+fild dword [eax + edx*8 + ref_004971a0] ; fild dword [eax + edx*8 + 0x4971a0]
+fmul dword [eax + edx*8 + ref_004971a4] ; fmul dword [eax + edx*8 + 0x4971a4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+cmp esi, dword [esp]
+jge short loc_0042007a ; jge 0x42007a
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+cmp byte [eax*4 + ref_00496986], 0 ; cmp byte [eax*4 + 0x496986], 0
+jne short loc_0042007a ; jne 0x42007a
+push ebx
+call fcn_004295ea ; call 0x4295ea
+add esp, 4
+cmp eax, 1
+je short loc_0042007a ; je 0x42007a
+mov esi, dword [esp]
+mov edi, ebx
+jmp short loc_0042007a ; jmp 0x42007a
+
+loc_004200d3:
+cmp edi, 0xffffffff
+je short loc_004200e3 ; je 0x4200e3
+mov dword [ref_0048be58], edi ; mov dword [0x48be58], edi
+mov ebp, 1
+
+loc_004200e3:
+mov eax, ebp
+jmp near loc_0041ef1e ; jmp 0x41ef1e
+
+fcn_004200ea:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov edx, 0xffffffff
+mov dword [esp + 8], edx
+mov ebp, edx
+xor ecx, ecx
+mov dword [esp + 4], ecx
+call fcn_00428d01 ; call 0x428d01
+cmp eax, 1
+jne short loc_00420113 ; jne 0x420113
+xor eax, eax
+jmp near loc_004202ca ; jmp 0x4202ca
+
+loc_00420113:
+xor ebx, ebx
+mov dword [esp], ebx
+mov ebx, 1
+mov esi, dword [ref_00498e7c] ; mov esi, dword [0x498e7c]
+add esi, 0x34
+mov edi, dword [ref_00498e90] ; mov edi, dword [0x498e90]
+
+loc_0042012c:
+cmp ebx, edi
+jg short loc_00420145 ; jg 0x420145
+cmp byte [esi + 0x18], 0
+je short loc_0042013f ; je 0x42013f
+xor eax, eax
+mov al, byte [esi + 0x18]
+inc byte [esp + eax - 1]
+
+loc_0042013f:
+inc ebx
+add esi, 0x34
+jmp short loc_0042012c ; jmp 0x42012c
+
+loc_00420145:
+xor ebx, ebx
+xor esi, esi
+mov edi, 0xffffffff
+jmp short loc_00420156 ; jmp 0x420156
+
+loc_00420150:
+inc ebx
+cmp ebx, 4
+jge short loc_0042016d ; jge 0x42016d
+
+loc_00420156:
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+je short loc_00420150 ; je 0x420150
+xor eax, eax
+mov al, byte [esp + ebx]
+cmp esi, eax
+jge short loc_00420150 ; jge 0x420150
+mov esi, eax
+mov edi, ebx
+jmp short loc_00420150 ; jmp 0x420150
+
+loc_0042016d:
+cmp edi, 0xffffffff
+je near loc_00420204 ; je 0x420204
+xor ebx, ebx
+xor esi, esi
+jmp short loc_00420186 ; jmp 0x420186
+
+loc_0042017c:
+inc ebx
+cmp ebx, 0xc
+jge near loc_00420204 ; jge 0x420204
+
+loc_00420186:
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 5
+mov ecx, ebx
+shl ecx, 3
+fild dword [ecx + eax + ref_004971a0] ; fild dword [ecx + eax + 0x4971a0]
+fmul dword [ecx + eax + ref_004971a4] ; fmul dword [ecx + eax + 0x4971a4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xc]
+cmp esi, dword [esp + 0xc]
+jge short loc_0042017c ; jge 0x42017c
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+cmp word [eax + ref_00496984], 0 ; cmp word [eax + 0x496984], 0
+je short loc_0042017c ; je 0x42017c
+cmp byte [eax + ref_00496986], 0 ; cmp byte [eax + 0x496986], 0
+jne short loc_0042017c ; jne 0x42017c
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+cmp dword [ecx + eax + ref_004971a0], 0 ; cmp dword [ecx + eax + 0x4971a0], 0
+jne short loc_0042017c ; jne 0x42017c
+push ebx
+call fcn_004295ea ; call 0x4295ea
+add esp, 4
+cmp eax, 3
+je short loc_0042017c ; je 0x42017c
+mov esi, dword [esp + 0xc]
+mov dword [esp + 8], ebx
+jmp near loc_0042017c ; jmp 0x42017c
+
+loc_00420204:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov edi, eax
+cmp eax, 0xffffffff
+je near loc_0042029b ; je 0x42029b
+xor ebx, ebx
+xor esi, esi
+jmp short loc_0042022e ; jmp 0x42022e
+
+loc_00420224:
+inc ebx
+cmp ebx, 0xc
+jge near loc_0042029b ; jge 0x42029b
+
+loc_0042022e:
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 5
+mov ecx, ebx
+shl ecx, 3
+fild dword [ecx + eax + ref_004971a0] ; fild dword [ecx + eax + 0x4971a0]
+fmul dword [ecx + eax + ref_004971a4] ; fmul dword [ecx + eax + 0x4971a4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xc]
+cmp esi, dword [esp + 0xc]
+jge short loc_00420224 ; jge 0x420224
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+cmp byte [eax*4 + ref_00496986], 0 ; cmp byte [eax*4 + 0x496986], 0
+jne short loc_00420224 ; jne 0x420224
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+cmp dword [ecx + eax + ref_004971a0], 0 ; cmp dword [ecx + eax + 0x4971a0], 0
+jne short loc_00420224 ; jne 0x420224
+push ebx
+call fcn_004295ea ; call 0x4295ea
+add esp, 4
+cmp eax, 3
+je short loc_00420224 ; je 0x420224
+mov esi, dword [esp + 0xc]
+mov ebp, ebx
+jmp short loc_00420224 ; jmp 0x420224
+
+loc_0042029b:
+mov ecx, dword [esp + 8]
+cmp ecx, 0xffffffff
+jne short loc_004202a8 ; jne 0x4202a8
+cmp ebp, ecx
+je short loc_004202c6 ; je 0x4202c6
+
+loc_004202a8:
+cmp ebp, 0xffffffff
+je short loc_004202b5 ; je 0x4202b5
+mov dword [ref_0048be58], ebp ; mov dword [0x48be58], ebp
+jmp short loc_004202be ; jmp 0x4202be
+
+loc_004202b5:
+mov eax, dword [esp + 8]
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+
+loc_004202be:
+mov dword [esp + 4], 1
+
+loc_004202c6:
+mov eax, dword [esp + 4]
+
+loc_004202ca:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004202d2:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+xor esi, esi
+mov dword [esp], esi
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov dword [esp + 4], eax
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+mov dword [esp + 8], esi
+
+loc_00420304:
+mov eax, dword [esp + 8]
+cmp eax, dword [ref_0048be60] ; cmp eax, dword [0x48be60]
+jge short loc_0042035f ; jge 0x42035f
+mov bx, word [eax*2 + ref_0048b8c4] ; mov bx, word [eax*2 + 0x48b8c4]
+and ebx, 0xffff
+test bh, 0x80
+je short loc_00420359 ; je 0x420359
+test bl, 0xf
+je short loc_00420359 ; je 0x420359
+xor ecx, ecx
+mov eax, 1
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+jmp short loc_0042033f ; jmp 0x42033f
+
+loc_00420337:
+add eax, eax
+inc ecx
+cmp eax, 0x10
+jge short loc_00420359 ; jge 0x420359
+
+loc_0042033f:
+test ebx, eax
+je short loc_00420337 ; je 0x420337
+cmp ecx, edi
+je short loc_00420337 ; je 0x420337
+imul edx, ecx, 0x68
+cmp byte [edx + ref_00496b7d], 0 ; cmp byte [edx + 0x496b7d], 0
+je short loc_00420337 ; je 0x420337
+mov byte [esp + ecx], 1
+jmp short loc_00420337 ; jmp 0x420337
+
+loc_00420359:
+inc dword [esp + 8]
+jmp short loc_00420304 ; jmp 0x420304
+
+loc_0042035f:
+mov ebp, dword [esp + 4]
+cmp ebp, 0xffffffff
+je short loc_004203b7 ; je 0x4203b7
+cmp byte [esp + ebp], 0
+je short loc_004203b7 ; je 0x4203b7
+imul ecx, ebp, 0x68
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp eax, dword [ecx + ref_00496b84] ; cmp eax, dword [ecx + 0x496b84]
+jge short loc_004203b7 ; jge 0x4203b7
+mov cl, byte [esp + 4]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov esi, 1
+jmp near loc_0041e8dc ; jmp 0x41e8dc
+
+loc_004203b7:
+test esi, esi
+jne near loc_0041e8dc ; jne 0x41e8dc
+mov dword [esp + 8], esi
+mov ebp, dword [ref_004990e8] ; mov ebp, dword [0x4990e8]
+
+loc_004203c9:
+mov eax, dword [esp + 8]
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jge near loc_0041e8dc ; jge 0x41e8dc
+cmp byte [esp + eax], 0
+je short loc_00420408 ; je 0x420408
+imul eax, eax, 0x68
+imul edx, ebp, 0xc350
+cmp edx, dword [eax + ref_00496b84] ; cmp edx, dword [eax + 0x496b84]
+jge short loc_00420408 ; jge 0x420408
+mov cl, byte [esp + 8]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov esi, 1
+
+loc_00420408:
+inc dword [esp + 8]
+jmp short loc_004203c9 ; jmp 0x4203c9
+
+fcn_0042040e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x2c
+xor edx, edx
+mov dword [esp + 8], edx
+xor ebp, ebp
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov dword [esp + 0x1c], eax
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+xor ebx, ebx
+mov dword [esp + 0x10], ebx
+mov dword [esp + 4], ebp
+
+loc_00420449:
+mov eax, dword [esp + 0x10]
+cmp eax, dword [ref_0048be60] ; cmp eax, dword [0x48be60]
+jge near loc_00420609 ; jge 0x420609
+cmp dword [esp + 8], 0
+jne near loc_00420609 ; jne 0x420609
+mov ax, word [eax*2 + ref_0048b8c4] ; mov ax, word [eax*2 + 0x48b8c4]
+and eax, 0xffff
+mov dword [esp + 0x14], eax
+cmp eax, 0x7d0
+jle near loc_00420599 ; jle 0x420599
+cmp eax, 0xfa0
+jge near loc_00420599 ; jge 0x420599
+sub eax, 0x7d0
+imul edx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, edx
+mov dword [esp + 0x18], eax
+test ebp, ebp
+je short loc_004204b7 ; je 0x4204b7
+push ebp
+add eax, 4
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+je near loc_00420600 ; je 0x420600
+
+loc_004204b7:
+mov esi, 1
+xor ebp, ebp
+mov dword [esp + 0x24], ebp
+mov dword [esp + 0x20], ebp
+xor edi, edi
+mov dword [esp + 0xc], ebp
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+
+loc_004204d2:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_00420542 ; jg 0x420542
+lea eax, [ebx + 4]
+push eax
+mov eax, dword [esp + 0x1c]
+add eax, 4
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0042053f ; jne 0x42053f
+mov al, byte [ebx + 0x19]
+inc edi
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_00420517 ; jne 0x420517
+xor eax, edx
+mov al, byte [ebx + 0x1a]
+add dword [esp + 0x24], eax
+inc dword [esp + 0x20]
+jmp short loc_00420522 ; jmp 0x420522
+
+loc_00420517:
+test al, al
+je short loc_00420522 ; je 0x420522
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+add ebp, eax
+
+loc_00420522:
+mov eax, dword [esp + 0x1c]
+cmp eax, 0xffffffff
+je short loc_0042053f ; je 0x42053f
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+inc eax
+cmp edx, eax
+jne short loc_0042053f ; jne 0x42053f
+mov dword [esp + 0xc], 1
+jmp short loc_00420542 ; jmp 0x420542
+
+loc_0042053f:
+inc esi
+jmp short loc_004204d2 ; jmp 0x4204d2
+
+loc_00420542:
+mov eax, dword [esp + 0x20]
+mov dword [esp + 0x28], eax
+fild dword [esp + 0x28]
+mov dword [esp + 0x28], edi
+fild dword [esp + 0x28]
+fdivp st1 ; fdivp st(1)
+fstp dword [esp]
+cmp dword [esp + 0xc], 0
+jne short loc_0042058d ; jne 0x42058d
+cmp dword [esp + 0x24], 7
+jl short loc_0042058d ; jl 0x42058d
+cmp ebp, 3
+jg short loc_0042058d ; jg 0x42058d
+fld dword [esp]
+fcomp qword [ref_00463d38] ; fcomp qword [0x463d38]
+fnstsw ax
+sahf
+jb short loc_0042058d ; jb 0x42058d
+mov eax, dword [esp + 0x14]
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [esp + 8], 1
+
+loc_0042058d:
+mov ebp, dword [esp + 0x18]
+add ebp, 4
+jmp near loc_00420600 ; jmp 0x420600
+
+loc_00420599:
+mov ecx, dword [esp + 0x14]
+cmp ecx, 0xfa0
+jle short loc_00420600 ; jle 0x420600
+cmp ecx, 0x1770
+jge short loc_00420600 ; jge 0x420600
+lea eax, [ecx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+inc ebx
+cmp edx, ebx
+jne short loc_00420600 ; jne 0x420600
+mov dl, byte [eax + 0x18]
+test dl, dl
+je short loc_00420600 ; je 0x420600
+cmp dl, 4
+je short loc_00420600 ; je 0x420600
+mov bl, byte [eax + 0x1a]
+cmp bl, 3
+jb short loc_00420600 ; jb 0x420600
+mov al, bl
+and eax, 0xff
+cmp eax, dword [esp + 4]
+jle short loc_00420600 ; jle 0x420600
+mov dword [esp + 4], esi
+mov dword [ref_0048be58], ecx ; mov dword [0x48be58], ecx
+
+loc_00420600:
+inc dword [esp + 0x10]
+jmp near loc_00420449 ; jmp 0x420449
+
+loc_00420609:
+cmp dword [esp + 8], 0
+jne short loc_0042061f ; jne 0x42061f
+cmp dword [esp + 4], 0
+je short loc_0042061f ; je 0x42061f
+mov dword [esp + 8], 1
+
+loc_0042061f:
+mov eax, dword [esp + 8]
+add esp, 0x2c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0042062b:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+xor edx, edx
+mov dword [esp + 8], edx
+xor esi, esi
+push 6
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040b221 ; call 0x40b221
+add esp, 8
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov dword [esp + 4], eax
+xor edi, edi
+mov dword [esp + 0xc], edi
+jmp near loc_00420705 ; jmp 0x420705
+
+loc_00420669:
+cmp dword [esp], 0
+jne short loc_00420685 ; jne 0x420685
+cmp edi, 7
+jl short loc_00420685 ; jl 0x420685
+mov eax, dword [esp + 0x10]
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [esp + 8], 1
+
+loc_00420685:
+lea esi, [ebp + 4]
+jmp short loc_004206e8 ; jmp 0x4206e8
+
+loc_0042068a:
+mov edx, dword [esp + 0x10]
+cmp edx, 0xfa0
+jle short loc_004206e8 ; jle 0x4206e8
+cmp edx, 0x1770
+jge short loc_004206e8 ; jge 0x4206e8
+cmp dword [esp + 4], 0xffffffff
+je short loc_004206e8 ; je 0x4206e8
+lea eax, [edx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+mov edx, dword [esp + 4]
+inc edx
+cmp ebx, edx
+jne short loc_004206e8 ; jne 0x4206e8
+cmp byte [eax + 0x18], 0
+je short loc_004206e8 ; je 0x4206e8
+cmp byte [eax + 0x1a], 3
+jb short loc_004206e8 ; jb 0x4206e8
+mov eax, dword [esp + 0x10]
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [esp + 8], 1
+
+loc_004206e8:
+mov edi, dword [esp + 0xc]
+inc edi
+mov dword [esp + 0xc], edi
+cmp edi, 6
+jge near loc_004207c3 ; jge 0x4207c3
+cmp dword [esp + 8], 0
+jne near loc_004207c3 ; jne 0x4207c3
+
+loc_00420705:
+mov eax, dword [esp + 0xc]
+xor edx, edx
+mov dx, word [eax*2 + ref_0048b8b4] ; mov dx, word [eax*2 + 0x48b8b4]
+mov eax, edx
+shl eax, 2
+add edx, eax
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+mov ax, word [edx + eax + 0x20]
+and eax, 0xffff
+mov dword [esp + 0x10], eax
+cmp eax, 0x7d0
+jle near loc_0042068a ; jle 0x42068a
+cmp eax, 0xfa0
+jge near loc_0042068a ; jge 0x42068a
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebp, dword [ref_00498e84] ; mov ebp, dword [0x498e84]
+add ebp, eax
+test esi, esi
+je short loc_0042076f ; je 0x42076f
+push esi
+lea eax, [ebp + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+je near loc_004206e8 ; je 0x4206e8
+
+loc_0042076f:
+mov esi, 1
+xor edi, edi
+mov dword [esp], edi
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+
+loc_0042077f:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_00420669 ; jg 0x420669
+lea eax, [ebx + 4]
+push eax
+lea eax, [ebp + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_004207c0 ; jne 0x4207c0
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+je near loc_00420685 ; je 0x420685
+test dl, dl
+je short loc_004207c0 ; je 0x4207c0
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+add edi, eax
+
+loc_004207c0:
+inc esi
+jmp short loc_0042077f ; jmp 0x42077f
+
+loc_004207c3:
+mov eax, dword [esp + 8]
+jmp near loc_0041ed36 ; jmp 0x41ed36
+
+fcn_004207cc:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x1c
+xor edx, edx
+mov dword [esp + 0xc], edx
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+xor ecx, ecx
+mov dword [esp], ecx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov dword [esp + 0x14], eax
+xor eax, eax
+xor edi, edi
+
+loc_00420804:
+cmp eax, dword [ref_0048be60] ; cmp eax, dword [0x48be60]
+jge near loc_00420877 ; jge 0x420877
+mov dx, word [eax*2 + ref_0048b8c4] ; mov dx, word [eax*2 + 0x48b8c4]
+and edx, 0xffff
+test dh, 0x80
+je short loc_00420874 ; je 0x420874
+test dl, 0xf
+je short loc_00420874 ; je 0x420874
+xor ecx, ecx
+mov esi, 1
+jmp short loc_00420839 ; jmp 0x420839
+
+loc_00420831:
+add esi, esi
+inc ecx
+cmp esi, 0x10
+jge short loc_00420874 ; jge 0x420874
+
+loc_00420839:
+test edx, esi
+je short loc_00420831 ; je 0x420831
+cmp ecx, dword [ref_0049910c] ; cmp ecx, dword [0x49910c]
+je short loc_00420831 ; je 0x420831
+cmp ecx, dword [esp + 0x14]
+je short loc_00420831 ; je 0x420831
+imul ebx, ecx, 0x68
+cmp byte [ebx + ref_00496b7d], 0 ; cmp byte [ebx + 0x496b7d], 0
+je short loc_00420831 ; je 0x420831
+mov bl, byte [ebx + ref_00496ba9] ; mov bl, byte [ebx + 0x496ba9]
+and ebx, 0xff
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+inc ebp
+cmp ebx, ebp
+je short loc_00420831 ; je 0x420831
+mov byte [esp + edi], cl
+inc edi
+jmp short loc_00420831 ; jmp 0x420831
+
+loc_00420874:
+inc eax
+jmp short loc_00420804 ; jmp 0x420804
+
+loc_00420877:
+test edi, edi
+je near loc_00420964 ; je 0x420964
+xor ecx, ecx
+xor esi, esi
+mov dword [esp + 0x10], 0xffffffff
+
+loc_0042088b:
+cmp ecx, dword [ref_00499114] ; cmp ecx, dword [0x499114]
+jge near loc_00420931 ; jge 0x420931
+cmp ecx, dword [ref_0049910c] ; cmp ecx, dword [0x49910c]
+je near loc_0042092b ; je 0x42092b
+imul eax, ecx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_0042092b ; je 0x42092b
+xor edx, edx
+mov eax, 1
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+
+loc_004208c0:
+add ebx, 0x34
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_004208e8 ; jg 0x4208e8
+movzx ebp, byte [ebx + 0x19]
+mov dword [esp + 4], ebp
+lea ebp, [ecx + 1]
+mov dword [esp + 8], ebp
+mov ebp, dword [esp + 4]
+cmp ebp, dword [esp + 8]
+jne short loc_004208e5 ; jne 0x4208e5
+inc edx
+
+loc_004208e5:
+inc eax
+jmp short loc_004208c0 ; jmp 0x4208c0
+
+loc_004208e8:
+mov eax, 1
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, 0x38
+mov dword [esp + 0x18], ebx
+
+loc_004208fa:
+cmp eax, dword [ref_00498e8c] ; cmp eax, dword [0x498e8c]
+jg short loc_00420921 ; jg 0x420921
+xor ebx, ebx
+mov ebp, dword [esp + 0x18]
+mov bl, byte [ebp + 0x19]
+mov dword [esp + 8], ebx
+lea ebx, [ecx + 1]
+cmp ebx, dword [esp + 8]
+jne short loc_00420919 ; jne 0x420919
+inc edx
+
+loc_00420919:
+inc eax
+add dword [esp + 0x18], 0x38
+jmp short loc_004208fa ; jmp 0x4208fa
+
+loc_00420921:
+cmp esi, edx
+jge short loc_0042092b ; jge 0x42092b
+mov esi, edx
+mov dword [esp + 0x10], ecx
+
+loc_0042092b:
+inc ecx
+jmp near loc_0042088b ; jmp 0x42088b
+
+loc_00420931:
+xor ecx, ecx
+mov ebx, dword [esp + 0x10]
+
+loc_00420937:
+cmp ecx, edi
+jge short loc_00420964 ; jge 0x420964
+xor eax, eax
+mov al, byte [esp + ecx]
+cmp eax, ebx
+jne short loc_00420961 ; jne 0x420961
+mov cl, byte [esp + 0x10]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [esp + 0xc], 1
+jmp short loc_00420964 ; jmp 0x420964
+
+loc_00420961:
+inc ecx
+jmp short loc_00420937 ; jmp 0x420937
+
+loc_00420964:
+mov eax, dword [esp + 0xc]
+add esp, 0x1c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00420970:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+xor edx, edx
+mov dword [esp + 8], edx
+push 3
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040b221 ; call 0x40b221
+add esp, 8
+test eax, eax
+jne near loc_00420a82 ; jne 0x420a82
+xor edi, edi
+mov dword [esp + 4], eax
+xor ebp, ebp
+mov dword [esp + 0x10], eax
+jmp short loc_004209ae ; jmp 0x4209ae
+
+loc_004209a4:
+inc ebp
+cmp ebp, 3
+jge near loc_00420bdf ; jge 0x420bdf
+
+loc_004209ae:
+xor edx, edx
+mov dx, word [ebp*2 + ref_0048b8b4] ; mov dx, word [ebp*2 + 0x48b8b4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+mov ax, word [edx + eax*8 + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle near loc_00420ae6 ; jle 0x420ae6
+cmp eax, 0xfa0
+jge near loc_00420ae6 ; jge 0x420ae6
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+add esi, eax
+mov cl, byte [esi + 0x19]
+test cl, cl
+je short loc_00420a17 ; je 0x420a17
+xor eax, eax
+mov al, cl
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_00420a31 ; jne 0x420a31
+cmp byte [esi + 0x18], 0
+jne short loc_00420a31 ; jne 0x420a31
+cmp byte [esi + 0x1a], 5
+jae short loc_00420a31 ; jae 0x420a31
+
+loc_00420a17:
+cmp byte [esi + 0x19], 0
+je short loc_00420a25 ; je 0x420a25
+xor eax, eax
+mov ax, word [esi + 0x1e]
+jmp short loc_00420a2b ; jmp 0x420a2b
+
+loc_00420a25:
+xor eax, eax
+mov ax, word [esi + 0x1c]
+
+loc_00420a2b:
+add edi, eax
+inc dword [esp + 0x10]
+
+loc_00420a31:
+mov dl, byte [esi + 0x19]
+test dl, dl
+je near loc_004209a4 ; je 0x4209a4
+xor eax, eax
+mov al, dl
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+je near loc_004209a4 ; je 0x4209a4
+add esi, 4
+push esi
+push eax
+call fcn_00419744 ; call 0x419744
+mov ebx, eax
+add esp, 8
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+cmp ebx, eax
+jle near loc_004209a4 ; jle 0x4209a4
+
+loc_00420a82:
+cmp dword [esp + 8], 0
+jne near loc_00420c5d ; jne 0x420c5d
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [ref_0048be60], eax ; mov dword [0x48be60], eax
+xor ecx, ecx
+mov dword [esp], ecx
+xor ebp, ebp
+mov dword [esp + 0xc], ecx
+
+loc_00420aa7:
+cmp ebp, dword [ref_0048be60] ; cmp ebp, dword [0x48be60]
+jge near loc_00420c9e ; jge 0x420c9e
+mov ax, word [ebp*2 + ref_0048b8c4] ; mov ax, word [ebp*2 + 0x48b8c4]
+and eax, 0xffff
+mov dword [esp + 0x10], eax
+test byte [esp + 0x11], 0x80
+je near loc_00420c98 ; je 0x420c98
+test byte [esp + 0x10], 0xf
+je near loc_00420c98 ; je 0x420c98
+xor ebx, ebx
+mov eax, 1
+jmp near loc_00420c6e ; jmp 0x420c6e
+
+loc_00420ae6:
+cmp eax, 0xfa0
+jle near loc_00420b97 ; jle 0x420b97
+cmp eax, 0x1770
+jge near loc_00420b97 ; jge 0x420b97
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, edx
+cmp byte [eax + 0x19], 0
+je short loc_00420b3c ; je 0x420b3c
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+inc ecx
+cmp edx, ecx
+jne short loc_00420b56 ; jne 0x420b56
+mov bl, byte [eax + 0x18]
+test bl, bl
+je short loc_00420b56 ; je 0x420b56
+cmp bl, 3
+je short loc_00420b56 ; je 0x420b56
+cmp byte [eax + 0x1a], 5
+jae short loc_00420b56 ; jae 0x420b56
+
+loc_00420b3c:
+cmp byte [eax + 0x19], 0
+je short loc_00420b4a ; je 0x420b4a
+xor edx, edx
+mov dx, word [eax + 0x24]
+jmp short loc_00420b50 ; jmp 0x420b50
+
+loc_00420b4a:
+xor edx, edx
+mov dx, word [eax + 0x22]
+
+loc_00420b50:
+add edi, edx
+inc dword [esp + 0x10]
+
+loc_00420b56:
+mov dl, byte [eax + 0x19]
+test dl, dl
+je near loc_004209a4 ; je 0x4209a4
+xor ecx, ecx
+mov cl, dl
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp ecx, edx
+je near loc_004209a4 ; je 0x4209a4
+mov dh, byte [eax + 0x18]
+test dh, dh
+je near loc_004209a4 ; je 0x4209a4
+cmp dh, 4
+je near loc_004209a4 ; je 0x4209a4
+cmp byte [eax + 0x1a], 0
+je near loc_004209a4 ; je 0x4209a4
+jmp near loc_00420a82 ; jmp 0x420a82
+
+loc_00420b97:
+cmp eax, 0x1770
+jle near loc_004209a4 ; jle 0x4209a4
+cmp eax, 0x1f40
+jge near loc_004209a4 ; jge 0x4209a4
+sub eax, 0x1770
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e7c] ; mov edx, dword [0x498e7c]
+add eax, edx
+cmp byte [eax + 0x18], 0
+je near loc_004209a4 ; je 0x4209a4
+xor edx, edx
+mov dl, byte [eax + 0x18]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+je near loc_004209a4 ; je 0x4209a4
+jmp near loc_00420a82 ; jmp 0x420a82
+
+loc_00420bdf:
+cmp dword [esp + 4], 0
+jne near loc_00420a82 ; jne 0x420a82
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+fild dword [edx + ref_00496b84] ; fild dword [edx + 0x496b84]
+mov dword [esp + 0x14], edi
+fild dword [esp + 0x14]
+fmul qword [ref_00463d40] ; fmul qword [0x463d40]
+fcompp
+fnstsw ax
+sahf
+jae near loc_00420a82 ; jae 0x420a82
+cmp dword [esp + 0x10], 2
+jl near loc_00420a82 ; jl 0x420a82
+mov eax, dword [edx + ref_00496b84] ; mov eax, dword [edx + 0x496b84]
+add eax, dword [edx + ref_00496b88] ; add eax, dword [edx + 0x496b88]
+cmp eax, 0x2710
+jle near loc_00420a82 ; jle 0x420a82
+cmp word [edx + ref_00496bae], 0 ; cmp word [edx + 0x496bae], 0
+jl near loc_00420a82 ; jl 0x420a82
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [esp + 8], 1
+
+loc_00420c5d:
+mov eax, dword [esp + 8]
+jmp near loc_0041fe46 ; jmp 0x41fe46
+
+loc_00420c66:
+add eax, eax
+inc ebx
+cmp eax, 0x10
+jge short loc_00420c98 ; jge 0x420c98
+
+loc_00420c6e:
+test dword [esp + 0x10], eax
+je short loc_00420c66 ; je 0x420c66
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+je short loc_00420c66 ; je 0x420c66
+imul esi, ebx, 0x68
+cmp byte [esi + ref_00496b7d], 0 ; cmp byte [esi + 0x496b7d], 0
+je short loc_00420c66 ; je 0x420c66
+mov edx, dword [esp + 0xc]
+mov byte [esp + edx], bl
+lea esi, [edx + 1]
+mov dword [esp + 0xc], esi
+jmp short loc_00420c66 ; jmp 0x420c66
+
+loc_00420c98:
+inc ebp
+jmp near loc_00420aa7 ; jmp 0x420aa7
+
+loc_00420c9e:
+cmp dword [esp + 0xc], 0
+je short loc_00420c5d ; je 0x420c5d
+xor ebx, ebx
+
+loc_00420ca7:
+cmp ebx, dword [esp + 0xc]
+jge short loc_00420c5d ; jge 0x420c5d
+mov ebp, dword [esp + 8]
+test ebp, ebp
+jne short loc_00420c5d ; jne 0x420c5d
+push 3
+xor eax, eax
+mov al, byte [esp + ebx + 4]
+push eax
+call fcn_0040b221 ; call 0x40b221
+add esp, 8
+test eax, eax
+jne near loc_00420e94 ; jne 0x420e94
+xor edi, edi
+mov dword [esp + 4], ebp
+mov dword [esp + 0x10], ebp
+jmp short loc_00420ce4 ; jmp 0x420ce4
+
+loc_00420cda:
+inc ebp
+cmp ebp, 3
+jge near loc_00420e4e ; jge 0x420e4e
+
+loc_00420ce4:
+xor esi, esi
+mov si, word [ebp*2 + ref_0048b8b4] ; mov si, word [ebp*2 + 0x48b8b4]
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+mov ax, word [edx + eax*8 + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle short loc_00420d68 ; jle 0x420d68
+cmp eax, 0xfa0
+jge short loc_00420d68 ; jge 0x420d68
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+add esi, eax
+xor eax, eax
+mov al, byte [esi + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_00420d46 ; jne 0x420d46
+lea edx, [esi + 4]
+push edx
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+add edi, eax
+inc dword [esp + 0x10]
+
+loc_00420d46:
+cmp byte [esi + 0x19], 0
+je near loc_00420e94 ; je 0x420e94
+xor eax, eax
+mov al, byte [esp + ebx]
+xor edx, edx
+mov dl, byte [esi + 0x19]
+inc eax
+cmp edx, eax
+jne near loc_00420cda ; jne 0x420cda
+jmp near loc_00420e94 ; jmp 0x420e94
+
+loc_00420d68:
+cmp eax, 0xfa0
+jle near loc_00420df1 ; jle 0x420df1
+cmp eax, 0x1770
+jge near loc_00420df1 ; jge 0x420df1
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl edx, 3
+sub edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, edx
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+inc esi
+cmp edx, esi
+jne short loc_00420dcc ; jne 0x420dcc
+mov dl, byte [eax + 0x18]
+test dl, dl
+je short loc_00420dcc ; je 0x420dcc
+cmp dl, 4
+je short loc_00420dcc ; je 0x420dcc
+mov cl, byte [eax + 0x1a]
+test cl, cl
+je short loc_00420dcc ; je 0x420dcc
+xor edx, edx
+mov dl, cl
+add edx, edx
+lea esi, [eax + edx]
+xor edx, edx
+mov dx, word [esi + 0x24]
+add edi, edx
+inc dword [esp + 0x10]
+
+loc_00420dcc:
+mov ch, byte [eax + 0x19]
+test ch, ch
+je near loc_00420e94 ; je 0x420e94
+xor edx, edx
+mov dl, byte [esp + ebx]
+mov al, ch
+and eax, 0xff
+inc edx
+cmp eax, edx
+jne near loc_00420cda ; jne 0x420cda
+jmp near loc_00420e94 ; jmp 0x420e94
+
+loc_00420df1:
+cmp eax, 0x1770
+jle near loc_00420cda ; jle 0x420cda
+cmp eax, 0x1f40
+jge near loc_00420cda ; jge 0x420cda
+sub eax, 0x1770
+imul edx, eax, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add eax, edx
+movzx esi, byte [eax + 0x18]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp esi, edx
+jne short loc_00420e31 ; jne 0x420e31
+xor edx, edx
+mov dx, word [eax + 0x22]
+add edi, edx
+inc dword [esp + 0x10]
+
+loc_00420e31:
+mov ch, byte [eax + 0x18]
+test ch, ch
+je short loc_00420e94 ; je 0x420e94
+movzx esi, byte [esp + ebx]
+mov al, ch
+and eax, 0xff
+inc esi
+cmp eax, esi
+jne near loc_00420cda ; jne 0x420cda
+jmp short loc_00420e94 ; jmp 0x420e94
+
+loc_00420e4e:
+cmp dword [esp + 4], 0
+jne short loc_00420e94 ; jne 0x420e94
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+cmp edi, eax
+jl short loc_00420e94 ; jl 0x420e94
+cmp dword [esp + 0x10], 2
+jl short loc_00420e94 ; jl 0x420e94
+mov cl, byte [esp + ebx]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [ref_0048be58], eax ; mov dword [0x48be58], eax
+mov dword [esp + 8], 1
+
+loc_00420e94:
+inc ebx
+jmp near loc_00420ca7 ; jmp 0x420ca7
+
+fcn_00420e9a:
+mov eax, dword [esp + 4]
+xor edx, edx
+mov dl, byte [eax*8 + ref_0047fee1] ; mov dl, byte [eax*8 + 0x47fee1]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496b7f] ; mov al, byte [eax + 0x496b7f]
+and eax, 0xff
+sub edx, eax
+mov eax, edx
+cmp edx, 2
+jl short loc_00420ec5 ; jl 0x420ec5
+xor eax, edx
+ret
+
+loc_00420ec5:
+cmp edx, 1
+jne short loc_00420ee2 ; jne 0x420ee2
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 3
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+je short loc_00420ee2 ; je 0x420ee2
+
+fcn_00420edf:
+xor eax, eax
+ret
+
+loc_00420ee2:
+mov eax, dword [esp + 4]
+call dword [eax*4 + ref_0047539c] ; ucall: call dword [eax*4 + 0x47539c]
+ret
+
+fcn_00420eee:
+mov eax, dword [esp + 4]
+mov eax, dword [eax*4 + ref_0048be64] ; mov eax, dword [eax*4 + 0x48be64]
+ret
+
+fcn_00420efa:
+push ebx
+push esi
+push edi
+push ebp
+xor esi, esi
+push 4
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_0040b221 ; call 0x40b221
+add esp, 8
+test eax, eax
+jne near loc_00421078 ; jne 0x421078
+xor edi, edi
+jmp near loc_00420f92 ; jmp 0x420f92
+
+loc_00420f20:
+cmp eax, 0xfa0
+jle short loc_00420f52 ; jle 0x420f52
+cmp eax, 0x1770
+jge short loc_00420f52 ; jge 0x420f52
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+mov bl, byte [ebx + eax + 0x19]
+and ebx, 0xff
+mov edx, 0x989680
+
+loc_00420f52:
+dec ebp
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+mov al, byte [eax*8 + ref_00496d08] ; mov al, byte [eax*8 + 0x496d08]
+and eax, 0xff
+cmp eax, 5
+je short loc_00420f83 ; je 0x420f83
+cmp eax, 6
+je short loc_00420f83 ; je 0x420f83
+cmp eax, 7
+je short loc_00420f83 ; je 0x420f83
+cmp eax, 8
+je short loc_00420f83 ; je 0x420f83
+cmp eax, 0xb
+jne near loc_00421010 ; jne 0x421010
+
+loc_00420f83:
+mov esi, 1
+
+loc_00420f88:
+inc edi
+cmp edi, 4
+jge near loc_00421078 ; jge 0x421078
+
+loc_00420f92:
+test esi, esi
+jne near loc_00421078 ; jne 0x421078
+xor edx, edx
+mov dx, word [edi*2 + ref_0048b8b4] ; mov dx, word [edi*2 + 0x48b8b4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+add eax, edx
+mov ebp, dword [eax + 0x24]
+and ebp, 0x3f0000
+shr ebp, 0x10
+test ebp, ebp
+je short loc_00420f88 ; je 0x420f88
+mov ax, word [eax + 0x20]
+and eax, 0xffff
+xor ebx, ebx
+xor edx, edx
+cmp eax, 0x7d0
+jle near loc_00420f20 ; jle 0x420f20
+cmp eax, 0xfa0
+jge near loc_00420f20 ; jge 0x420f20
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add eax, edx
+mov bl, byte [eax + 0x19]
+add eax, 4
+push eax
+push ebx
+call fcn_00419744 ; call 0x419744
+add esp, 8
+mov edx, eax
+jmp near loc_00420f52 ; jmp 0x420f52
+
+loc_00421010:
+test esi, esi
+jne short loc_00421028 ; jne 0x421028
+cmp eax, 0x11
+jne short loc_00421028 ; jne 0x421028
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+inc ebp
+cmp ebx, ebp
+je near loc_00420f83 ; je 0x420f83
+
+loc_00421028:
+test esi, esi
+jne near loc_00420f88 ; jne 0x420f88
+cmp eax, 0x10
+jne near loc_00420f88 ; jne 0x420f88
+test ebx, ebx
+je near loc_00420f88 ; je 0x420f88
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+je near loc_00420f88 ; je 0x420f88
+mov ebx, dword [ref_004990e8] ; mov ebx, dword [0x4990e8]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+cmp edx, eax
+jle near loc_00420f88 ; jle 0x420f88
+jmp near loc_00420f83 ; jmp 0x420f83
+
+loc_00421078:
+mov eax, esi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0042107f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+xor edx, edx
+mov dword [esp + 8], edx
+push 4
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040b221 ; call 0x40b221
+add esp, 8
+test eax, eax
+jne near loc_00421299 ; jne 0x421299
+xor ebp, ebp
+jmp near loc_00421122 ; jmp 0x421122
+
+loc_004210ac:
+xor esi, esi
+mov eax, dword [esp + 0xc]
+mov si, word [eax + 0x1c]
+imul esi, dword [ref_004990e8] ; imul esi, dword [0x4990e8]
+cmp ebx, 2
+jge short loc_004210c8 ; jge 0x4210c8
+cmp byte [eax + 0x1a], 0
+je short loc_00421118 ; je 0x421118
+
+loc_004210c8:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+add edx, dword [eax + ref_00496b88] ; add edx, dword [eax + 0x496b88]
+cmp edx, 0x2710
+jle short loc_00421118 ; jle 0x421118
+cmp word [eax + ref_00496bae], 0 ; cmp word [eax + 0x496bae], 0
+jl short loc_00421118 ; jl 0x421118
+cmp byte [eax + ref_00496ba1], 0 ; cmp byte [eax + 0x496ba1], 0
+jne short loc_00421118 ; jne 0x421118
+cmp esi, dword [eax + ref_00496b84] ; cmp esi, dword [eax + 0x496b84]
+
+loc_004210fc:
+jge short loc_00421118 ; jge 0x421118
+mov ax, word [ebp*2 + ref_0048b8b4] ; mov ax, word [ebp*2 + 0x48b8b4]
+and eax, 0xffff
+mov dword [ref_0048be64], eax ; mov dword [0x48be64], eax
+
+loc_00421110:
+mov dword [esp + 8], 1
+
+loc_00421118:
+inc ebp
+cmp ebp, 4
+jge near loc_00421299 ; jge 0x421299
+
+loc_00421122:
+cmp dword [esp + 8], 0
+jne near loc_00421299 ; jne 0x421299
+xor edx, edx
+mov dx, word [ebp*2 + ref_0048b8b4] ; mov dx, word [ebp*2 + 0x48b8b4]
+mov eax, edx
+shl eax, 2
+add edx, eax
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, edx
+test dword [eax + 0x24], 0x3fff00
+jne short loc_00421118 ; jne 0x421118
+mov ax, word [eax + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle short loc_004211c3 ; jle 0x4211c3
+cmp eax, 0xfa0
+jge short loc_004211c3 ; jge 0x4211c3
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+lea edx, [esi + eax]
+mov dword [esp + 0xc], edx
+cmp byte [edx + 0x19], 0
+jne short loc_00421118 ; jne 0x421118
+mov edi, 1
+xor ebx, ebx
+
+loc_0042118a:
+add esi, 0x34
+cmp edi, dword [ref_00498e98] ; cmp edi, dword [0x498e98]
+jg near loc_004210ac ; jg 0x4210ac
+lea eax, [esi + 4]
+push eax
+mov eax, dword [esp + 0x10]
+add eax, 4
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_004211c0 ; jne 0x4211c0
+mov al, byte [esi + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_004211c0 ; jne 0x4211c0
+inc ebx
+
+loc_004211c0:
+inc edi
+jmp short loc_0042118a ; jmp 0x42118a
+
+loc_004211c3:
+cmp eax, 0xfa0
+jle near loc_0042124c ; jle 0x42124c
+cmp eax, 0x1770
+jge short loc_0042124c ; jge 0x42124c
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add edx, eax
+cmp byte [edx + 0x19], 0
+jne near loc_00421118 ; jne 0x421118
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ebx, dword [eax + ref_00496b84] ; mov ebx, dword [eax + 0x496b84]
+add ebx, dword [eax + ref_00496b88] ; add ebx, dword [eax + 0x496b88]
+cmp ebx, 0x2710
+jle near loc_00421118 ; jle 0x421118
+cmp word [eax + ref_00496bae], 0 ; cmp word [eax + 0x496bae], 0
+jl near loc_00421118 ; jl 0x421118
+cmp byte [eax + ref_00496ba1], 0 ; cmp byte [eax + 0x496ba1], 0
+jne near loc_00421118 ; jne 0x421118
+mov dx, word [edx + 0x22]
+and edx, 0xffff
+imul edx, dword [ref_004990e8] ; imul edx, dword [0x4990e8]
+cmp edx, dword [eax + ref_00496b84] ; cmp edx, dword [eax + 0x496b84]
+jmp near loc_004210fc ; jmp 0x4210fc
+
+loc_0042124c:
+xor ebx, ebx
+mov bx, word [ebp*2 + ref_0048b8b4] ; mov bx, word [ebp*2 + 0x48b8b4]
+mov eax, ebx
+shl eax, 2
+lea edx, [ebx + eax]
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+mov eax, dword [edx + eax + 0x24]
+and eax, 0xff
+cmp eax, 0xf
+jne near loc_00421118 ; jne 0x421118
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp word [eax + ref_00496b98], 0xc8 ; cmp word [eax + 0x496b98], 0xc8
+jbe near loc_00421118 ; jbe 0x421118
+mov dword [ref_0048be64], ebx ; mov dword [0x48be64], ebx
+jmp near loc_00421110 ; jmp 0x421110
+
+loc_00421299:
+cmp dword [esp + 8], 0
+jne near loc_004213b9 ; jne 0x4213b9
+push 6
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040b343 ; call 0x40b343
+add esp, 8
+call fcn_00409ef9 ; call 0x409ef9
+mov dword [esp], eax
+xor ebp, ebp
+mov dword [esp + 4], ebp
+
+loc_004212c3:
+cmp ebp, dword [esp]
+jge near loc_004213b9 ; jge 0x4213b9
+xor ebx, ebx
+xor edx, edx
+jmp short loc_004212d8 ; jmp 0x4212d8
+
+loc_004212d2:
+inc ebx
+cmp ebx, 6
+jge short loc_004212f6 ; jge 0x4212f6
+
+loc_004212d8:
+xor eax, eax
+mov ax, word [ebp*2 + ref_0048b8c4] ; mov ax, word [ebp*2 + 0x48b8c4]
+mov si, word [ebx*2 + ref_0048b8b4] ; mov si, word [ebx*2 + 0x48b8b4]
+and esi, 0xffff
+cmp eax, esi
+jne short loc_004212d2 ; jne 0x4212d2
+jmp short loc_004212fe ; jmp 0x4212fe
+
+loc_004212f6:
+test edx, edx
+je near loc_004213b3 ; je 0x4213b3
+
+loc_004212fe:
+lea esi, [ebp + ebp]
+xor edx, edx
+mov dx, word [esi + ref_0048b8c4] ; mov dx, word [esi + 0x48b8c4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edi, dword [ref_00498e80] ; mov edi, dword [0x498e80]
+mov di, word [edi + eax*8 + 0x20]
+and edi, 0xffff
+cmp edi, 0x7d0
+jle near loc_004213b3 ; jle 0x4213b3
+cmp edi, 0xfa0
+jge near loc_004213b3 ; jge 0x4213b3
+lea eax, [edi - 0x7d0]
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add edx, eax
+mov dword [esp + 0xc], edx
+xor eax, eax
+mov al, byte [edx + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_004213b3 ; jne 0x4213b3
+mov edx, dword [esp + 0xc]
+add edx, 4
+push edx
+push eax
+call fcn_00419744 ; call 0x419744
+mov ebx, eax
+add esp, 8
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 4
+sub eax, edx
+cmp ebx, eax
+jle short loc_004213b3 ; jle 0x4213b3
+cmp ebx, dword [esp + 4]
+jle short loc_004213b3 ; jle 0x4213b3
+mov dword [esp + 4], ebx
+xor eax, eax
+mov ax, word [esi + ref_0048b8c4] ; mov ax, word [esi + 0x48b8c4]
+mov dword [ref_0048be64], eax ; mov dword [0x48be64], eax
+mov dword [esp + 8], 1
+
+loc_004213b3:
+inc ebp
+jmp near loc_004212c3 ; jmp 0x4212c3
+
+loc_004213b9:
+mov eax, dword [esp + 8]
+
+loc_004213bd:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004213c5:
+push ebx
+push esi
+push edi
+sub esp, 0x208
+xor edx, edx
+mov dword [esp + 0x200], edx
+push 6
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040b343 ; call 0x40b343
+add esp, 8
+call fcn_00409ef9 ; call 0x409ef9
+mov dword [esp + 0x204], eax
+xor ebx, ebx
+xor esi, esi
+
+loc_004213f8:
+cmp ebx, dword [esp + 0x204]
+jge near loc_0042153a ; jge 0x42153a
+xor eax, eax
+xor edi, edi
+jmp short loc_00421411 ; jmp 0x421411
+
+loc_0042140b:
+inc eax
+cmp eax, 6
+jge short loc_0042142f ; jge 0x42142f
+
+loc_00421411:
+xor ecx, ecx
+mov cx, word [ebx*2 + ref_0048b8c4] ; mov cx, word [ebx*2 + 0x48b8c4]
+mov dx, word [eax*2 + ref_0048b8b4] ; mov dx, word [eax*2 + 0x48b8b4]
+and edx, 0xffff
+cmp ecx, edx
+jne short loc_0042140b ; jne 0x42140b
+jmp short loc_00421437 ; jmp 0x421437
+
+loc_0042142f:
+test edi, edi
+je near loc_00421534 ; je 0x421534
+
+loc_00421437:
+mov ax, word [ebx*2 + ref_0048b8c4] ; mov ax, word [ebx*2 + 0x48b8c4]
+and eax, 0xffff
+xor edx, edx
+mov dx, word [ref_0048bae0] ; mov dx, word [0x48bae0]
+cmp eax, edx
+jne short loc_0042145a ; jne 0x42145a
+cmp dword [ref_00496b30], 0 ; cmp dword [0x496b30], 0
+jne short loc_0042147d ; jne 0x42147d
+
+loc_0042145a:
+mov ax, word [ebx*2 + ref_0048b8c4] ; mov ax, word [ebx*2 + 0x48b8c4]
+and eax, 0xffff
+xor edx, edx
+mov dx, word [ref_0048bae2] ; mov dx, word [0x48bae2]
+cmp eax, edx
+jne short loc_0042148c ; jne 0x42148c
+cmp dword [ref_00496b60], 0 ; cmp dword [0x496b60], 0
+je short loc_0042148c ; je 0x42148c
+
+loc_0042147d:
+xor eax, eax
+mov ax, word [ebx*2 + ref_0048b8c4] ; mov ax, word [ebx*2 + 0x48b8c4]
+jmp near loc_00421553 ; jmp 0x421553
+
+loc_0042148c:
+lea edx, [ebx + ebx]
+xor ecx, ecx
+mov cx, word [edx + ref_0048b8c4] ; mov cx, word [edx + 0x48b8c4]
+mov eax, ecx
+shl eax, 2
+add ecx, eax
+shl ecx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+mov ax, word [ecx + eax + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle short loc_004214ec ; jle 0x4214ec
+cmp eax, 0xfa0
+jge short loc_004214ec ; jge 0x4214ec
+sub eax, 0x7d0
+imul ecx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, ecx
+cmp byte [eax + 0x19], 0
+je short loc_00421534 ; je 0x421534
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ecx, eax
+je short loc_00421534 ; je 0x421534
+mov dx, word [edx + ref_0048b8c4] ; mov dx, word [edx + 0x48b8c4]
+jmp short loc_0042152f ; jmp 0x42152f
+
+loc_004214ec:
+cmp eax, 0xfa0
+jle short loc_00421534 ; jle 0x421534
+cmp eax, 0x1770
+jge short loc_00421534 ; jge 0x421534
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, edx
+cmp byte [eax + 0x19], 0
+je short loc_00421534 ; je 0x421534
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+je short loc_00421534 ; je 0x421534
+mov dx, word [ebx*2 + ref_0048b8c4] ; mov dx, word [ebx*2 + 0x48b8c4]
+
+loc_0042152f:
+mov word [esp + esi*2], dx
+inc esi
+
+loc_00421534:
+inc ebx
+jmp near loc_004213f8 ; jmp 0x4213f8
+
+loc_0042153a:
+test esi, esi
+je short loc_00421563 ; je 0x421563
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+mov ax, word [esp + edx*2]
+and eax, 0xffff
+
+loc_00421553:
+mov dword [ref_0048be64], eax ; mov dword [0x48be64], eax
+mov dword [esp + 0x200], 1
+
+loc_00421563:
+mov eax, dword [esp + 0x200]
+add esp, 0x208
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00421574:
+push ebx
+push esi
+push edi
+sub esp, 0x208
+xor edx, edx
+mov dword [esp + 0x200], edx
+push 6
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040b343 ; call 0x40b343
+add esp, 8
+call fcn_00409ef9 ; call 0x409ef9
+mov dword [esp + 0x204], eax
+xor ebx, ebx
+xor esi, esi
+
+loc_004215a7:
+cmp ebx, dword [esp + 0x204]
+jge short loc_0042153a ; jge 0x42153a
+xor eax, eax
+xor edi, edi
+jmp short loc_004215bc ; jmp 0x4215bc
+
+loc_004215b6:
+inc eax
+cmp eax, 6
+jge short loc_004215da ; jge 0x4215da
+
+loc_004215bc:
+xor ecx, ecx
+mov cx, word [ebx*2 + ref_0048b8c4] ; mov cx, word [ebx*2 + 0x48b8c4]
+mov dx, word [eax*2 + ref_0048b8b4] ; mov dx, word [eax*2 + 0x48b8b4]
+and edx, 0xffff
+cmp ecx, edx
+jne short loc_004215b6 ; jne 0x4215b6
+jmp short loc_004215de ; jmp 0x4215de
+
+loc_004215da:
+test edi, edi
+je short loc_0042163e ; je 0x42163e
+
+loc_004215de:
+mov ax, word [ebx*2 + ref_0048b8c4] ; mov ax, word [ebx*2 + 0x48b8c4]
+and eax, 0xffff
+xor edx, edx
+mov dx, word [ref_0048bae0] ; mov dx, word [0x48bae0]
+cmp eax, edx
+jne short loc_00421601 ; jne 0x421601
+cmp dword [ref_00496b30], 0 ; cmp dword [0x496b30], 0
+jne short loc_00421622 ; jne 0x421622
+
+loc_00421601:
+mov eax, ebx
+xor edx, edx
+mov dx, word [ebx*2 + ref_0048b8c4] ; mov dx, word [ebx*2 + 0x48b8c4]
+xor eax, ebx
+mov ax, word [ref_0048bae2] ; mov ax, word [0x48bae2]
+cmp edx, eax
+jne short loc_00421631 ; jne 0x421631
+cmp dword [ref_00496b60], 0 ; cmp dword [0x496b60], 0
+je short loc_00421631 ; je 0x421631
+
+loc_00421622:
+xor eax, eax
+mov ax, word [ebx*2 + ref_0048b8c4] ; mov ax, word [ebx*2 + 0x48b8c4]
+jmp near loc_00421553 ; jmp 0x421553
+
+loc_00421631:
+mov ax, word [ebx*2 + ref_0048b8c4] ; mov ax, word [ebx*2 + 0x48b8c4]
+mov word [esp + esi*2], ax
+inc esi
+
+loc_0042163e:
+inc ebx
+jmp near loc_004215a7 ; jmp 0x4215a7
+
+fcn_00421644:
+push ebx
+xor ebx, ebx
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+test byte [edx + ref_00496b79], 3 ; test byte [edx + 0x496b79], 3
+jne short loc_00421671 ; jne 0x421671
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 4
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+jne short loc_00421671 ; jne 0x421671
+mov ebx, 1
+
+loc_00421671:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00421675:
+push ebx
+xor ebx, ebx
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov dl, byte [edx + ref_00496b79] ; mov dl, byte [edx + 0x496b79]
+and dl, 3
+cmp dl, 2
+jae short loc_004216a7 ; jae 0x4216a7
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 4
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+jne short loc_004216a7 ; jne 0x4216a7
+mov ebx, 1
+
+loc_004216a7:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_004216ab:
+mov eax, dword [esp + 8]
+cmp eax, 0x7d0
+jle short loc_004216dc ; jle 0x4216dc
+cmp eax, 0xfa0
+jge short loc_004216dc ; jge 0x4216dc
+sub eax, 0x7d0
+imul ecx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, ecx
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov eax, dword [esp + 4]
+inc eax
+cmp ecx, eax
+jne short loc_00421714 ; jne 0x421714
+jmp short loc_0042170f ; jmp 0x42170f
+
+loc_004216dc:
+cmp eax, 0xfa0
+jle short loc_00421714 ; jle 0x421714
+cmp eax, 0x1770
+jge short loc_00421714 ; jge 0x421714
+sub eax, 0xfa0
+shl eax, 3
+mov ecx, eax
+shl eax, 3
+sub eax, ecx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+add eax, ecx
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov eax, dword [esp + 4]
+inc eax
+cmp ecx, eax
+jne short loc_00421714 ; jne 0x421714
+
+loc_0042170f:
+mov edx, 1
+
+loc_00421714:
+mov eax, edx
+ret
+
+fcn_00421717:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+xor edx, edx
+mov dword [esp], edx
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov ebx, eax
+cmp eax, 0xffffffff
+jne short loc_0042174a ; jne 0x42174a
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040d31c ; call 0x40d31c
+add esp, 4
+mov ebx, eax
+
+loc_0042174a:
+cmp ebx, 0xffffffff
+jne short loc_00421756 ; jne 0x421756
+xor eax, eax
+jmp near loc_0042181f ; jmp 0x42181f
+
+loc_00421756:
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [esp + 4], eax
+xor esi, esi
+xor edi, edi
+mov ebp, dword [esp + 4]
+
+loc_0042176c:
+cmp esi, ebp
+jge short loc_004217b3 ; jge 0x4217b3
+test edi, edi
+jne short loc_004217b3 ; jne 0x4217b3
+mov cx, word [esi*2 + ref_0048b8c4] ; mov cx, word [esi*2 + 0x48b8c4]
+and ecx, 0xffff
+test ch, 0x80
+je short loc_004217b0 ; je 0x4217b0
+test cl, 0xf
+je short loc_004217b0 ; je 0x4217b0
+xor edx, edx
+mov eax, 1
+jmp short loc_0042179d ; jmp 0x42179d
+
+loc_00421795:
+add eax, eax
+inc edx
+cmp eax, 0x10
+jge short loc_004217b0 ; jge 0x4217b0
+
+loc_0042179d:
+test ecx, eax
+je short loc_00421795 ; je 0x421795
+cmp edx, ebx
+jne short loc_00421795 ; jne 0x421795
+mov dword [ref_0048be64], ecx ; mov dword [0x48be64], ecx
+mov edi, 1
+
+loc_004217b0:
+inc esi
+jmp short loc_0042176c ; jmp 0x42176c
+
+loc_004217b3:
+test edi, edi
+je short loc_0042181c ; je 0x42181c
+push 0x64
+imul ebx, ebx, 0x68
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+call fcn_0040a0b1 ; call 0x40a0b1
+add esp, 0xc
+mov dword [esp + 4], eax
+xor esi, esi
+xor edi, edi
+
+loc_004217e0:
+cmp esi, dword [esp + 4]
+jge short loc_00421811 ; jge 0x421811
+mov cx, word [esi*2 + ref_0048b8c4] ; mov cx, word [esi*2 + 0x48b8c4]
+and ecx, 0xffff
+test ch, 0x80
+jne short loc_0042181c ; jne 0x42181c
+push ecx
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_004216ab ; call 0x4216ab
+add esp, 8
+cmp eax, 1
+je short loc_0042181c ; je 0x42181c
+inc esi
+jmp short loc_004217e0 ; jmp 0x4217e0
+
+loc_00421811:
+test edi, edi
+jne short loc_0042181c ; jne 0x42181c
+mov dword [esp], 1
+
+loc_0042181c:
+mov eax, dword [esp]
+
+loc_0042181f:
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00421827:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+xor edx, edx
+mov dword [esp + 4], edx
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul edx, ecx, 0x68
+xor eax, eax
+mov al, byte [edx + ref_00496ba7] ; mov al, byte [edx + 0x496ba7]
+cmp eax, 7
+je short loc_00421854 ; je 0x421854
+cmp eax, 8
+je short loc_00421854 ; je 0x421854
+cmp eax, 0xf
+jne short loc_0042185b ; jne 0x42185b
+
+loc_00421854:
+xor eax, eax
+jmp near loc_004213bd ; jmp 0x4213bd
+
+loc_0042185b:
+cmp byte [edx + ref_00496ba1], 0 ; cmp byte [edx + 0x496ba1], 0
+jne short loc_00421854 ; jne 0x421854
+mov eax, dword [edx + ref_00496b84] ; mov eax, dword [edx + 0x496b84]
+add eax, dword [edx + ref_00496b88] ; add eax, dword [edx + 0x496b88]
+cmp eax, 0x2710
+jl short loc_00421854 ; jl 0x421854
+cmp word [edx + ref_00496bae], 0 ; cmp word [edx + 0x496bae], 0
+jl short loc_00421854 ; jl 0x421854
+push 6
+push ecx
+call fcn_0040b221 ; call 0x40b221
+add esp, 8
+test eax, eax
+jne near loc_00421b9d ; jne 0x421b9d
+mov dword [esp + 8], eax
+mov dword [esp], eax
+jmp near loc_004219e8 ; jmp 0x4219e8
+
+loc_004218a0:
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov al, byte [eax*8 + ref_00496d08] ; mov al, byte [eax*8 + 0x496d08]
+and eax, 0xff
+cmp eax, 5
+je near loc_004219d6 ; je 0x4219d6
+cmp eax, 6
+je near loc_004219d6 ; je 0x4219d6
+cmp eax, 7
+je near loc_004219d6 ; je 0x4219d6
+cmp eax, 8
+je near loc_004219d6 ; je 0x4219d6
+cmp eax, 0xa
+je near loc_004219d6 ; je 0x4219d6
+cmp eax, 0xb
+je near loc_004219d6 ; je 0x4219d6
+cmp eax, 0x10
+je near loc_004219d6 ; je 0x4219d6
+cmp eax, 0x11
+je near loc_004219d6 ; je 0x4219d6
+cmp eax, 0x12
+je near loc_004219d6 ; je 0x4219d6
+
+loc_00421907:
+mov eax, dword [esp + 8]
+xor edx, edx
+mov dx, word [eax*2 + ref_0048b8b4] ; mov dx, word [eax*2 + 0x48b8b4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+mov ax, word [edx + eax*8 + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle near loc_00421ae0 ; jle 0x421ae0
+cmp eax, 0xfa0
+jge near loc_00421ae0 ; jge 0x421ae0
+xor edi, edi
+sub eax, 0x7d0
+imul ebp, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add ebp, eax
+lea ebx, [eax + 0x34]
+mov al, byte [ebp + 0x19]
+test al, al
+jne near loc_00421a3a ; jne 0x421a3a
+mov esi, 1
+
+loc_00421966:
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg short loc_00421997 ; jg 0x421997
+lea eax, [ebx + 4]
+push eax
+lea eax, [ebp + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_00421991 ; jne 0x421991
+mov al, byte [ebx + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_00421991 ; jne 0x421991
+inc edi
+
+loc_00421991:
+inc esi
+add ebx, 0x34
+jmp short loc_00421966 ; jmp 0x421966
+
+loc_00421997:
+cmp edi, 1
+jle short loc_004219d6 ; jle 0x4219d6
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+fild dword [eax + ref_00496b84] ; fild dword [eax + 0x496b84]
+xor eax, eax
+mov ax, word [ebp + 0x1c]
+
+loc_004219af:
+mov dword [esp + 0xc], eax
+fild dword [esp + 0xc]
+fmul qword [ref_00463d48] ; fmul qword [0x463d48]
+fcompp
+fnstsw ax
+sahf
+jae short loc_004219d6 ; jae 0x4219d6
+
+loc_004219c4:
+mov eax, dword [esp + 8]
+inc eax
+mov dword [ref_0048be64], eax ; mov dword [0x48be64], eax
+mov dword [esp + 4], 1
+
+loc_004219d6:
+mov ebx, dword [esp + 8]
+inc ebx
+mov dword [esp + 8], ebx
+cmp ebx, 6
+jge near loc_00421b88 ; jge 0x421b88
+
+loc_004219e8:
+cmp dword [esp + 4], 0
+jne near loc_00421b88 ; jne 0x421b88
+mov eax, dword [esp + 8]
+xor edx, edx
+mov dx, word [eax*2 + ref_0048b8b4] ; mov dx, word [eax*2 + 0x48b8b4]
+mov eax, edx
+shl eax, 2
+add edx, eax
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, edx
+mov edx, dword [eax + 0x24]
+and edx, 0xf000
+shr edx, 0xc
+test edx, edx
+jne short loc_004219d6 ; jne 0x4219d6
+mov eax, dword [eax + 0x24]
+and eax, 0x3f0000
+shr eax, 0x10
+test eax, eax
+jne near loc_004218a0 ; jne 0x4218a0
+jmp near loc_00421907 ; jmp 0x421907
+
+loc_00421a3a:
+xor edx, edx
+mov dl, al
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne short loc_004219d6 ; jne 0x4219d6
+cmp byte [ebp + 0x18], 0
+jne short loc_004219d6 ; jne 0x4219d6
+cmp byte [ebp + 0x1a], 5
+jae short loc_004219d6 ; jae 0x4219d6
+mov esi, 1
+
+loc_00421a59:
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg short loc_00421a8b ; jg 0x421a8b
+lea eax, [ebx + 4]
+push eax
+lea eax, [ebp + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_00421a85 ; jne 0x421a85
+xor edx, edx
+mov dl, byte [ebx + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne short loc_00421a85 ; jne 0x421a85
+inc edi
+
+loc_00421a85:
+inc esi
+add ebx, 0x34
+jmp short loc_00421a59 ; jmp 0x421a59
+
+loc_00421a8b:
+cmp edi, 1
+jle near loc_004219d6 ; jle 0x4219d6
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+fild dword [eax + ref_00496b84] ; fild dword [eax + 0x496b84]
+xor eax, eax
+mov ax, word [ebp + 0x1e]
+mov dword [esp + 0xc], eax
+fild dword [esp + 0xc]
+fmul qword [ref_00463d48] ; fmul qword [0x463d48]
+fcompp
+fnstsw ax
+sahf
+jae near loc_004219d6 ; jae 0x4219d6
+xor eax, eax
+mov al, byte [ebp + 0x1a]
+cmp eax, dword [esp]
+jle near loc_004219d6 ; jle 0x4219d6
+mov dword [esp], eax
+mov eax, dword [esp + 8]
+inc eax
+mov dword [ref_0048be64], eax ; mov dword [0x48be64], eax
+jmp near loc_004219d6 ; jmp 0x4219d6
+
+loc_00421ae0:
+cmp eax, 0xfa0
+jle near loc_004219d6 ; jle 0x4219d6
+cmp eax, 0x1770
+jge near loc_004219d6 ; jge 0x4219d6
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add edx, eax
+cmp byte [edx + 0x19], 0
+jne short loc_00421b3f ; jne 0x421b3f
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+fild dword [eax + ref_00496b84] ; fild dword [eax + 0x496b84]
+xor eax, eax
+mov ax, word [edx + 0x22]
+mov dword [esp + 0xc], eax
+fild dword [esp + 0xc]
+fmul qword [ref_00463d48] ; fmul qword [0x463d48]
+fcompp
+fnstsw ax
+sahf
+jb near loc_004219c4 ; jb 0x4219c4
+
+loc_00421b3f:
+xor ebx, ebx
+mov bl, byte [edx + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+jne near loc_004219d6 ; jne 0x4219d6
+mov bh, byte [edx + 0x18]
+test bh, bh
+je near loc_004219d6 ; je 0x4219d6
+cmp bh, 3
+je near loc_004219d6 ; je 0x4219d6
+cmp byte [edx + 0x1a], 5
+jae near loc_004219d6 ; jae 0x4219d6
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+fild dword [eax + ref_00496b84] ; fild dword [eax + 0x496b84]
+xor eax, eax
+mov ax, word [edx + 0x24]
+jmp near loc_004219af ; jmp 0x4219af
+
+loc_00421b88:
+cmp dword [esp + 4], 0
+jne short loc_00421b9d ; jne 0x421b9d
+cmp dword [esp], 0
+je short loc_00421b9d ; je 0x421b9d
+mov dword [esp + 4], 1
+
+loc_00421b9d:
+mov eax, dword [esp + 4]
+jmp near loc_004213bd ; jmp 0x4213bd
+
+fcn_00421ba6:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+xor edx, edx
+mov dword [esp], edx
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov ebp, eax
+xor esi, esi
+xor ecx, ecx
+
+loc_00421bc2:
+cmp esi, ebp
+jge near loc_00421ca0 ; jge 0x421ca0
+mov dx, word [esi*2 + ref_0048b8c4] ; mov dx, word [esi*2 + 0x48b8c4]
+and edx, 0xffff
+cmp edx, 0x7d0
+jle short loc_00421c38 ; jle 0x421c38
+cmp edx, 0xfa0
+jge short loc_00421c38 ; jge 0x421c38
+lea eax, [edx - 0x7d0]
+imul ebx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, ebx
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+inc edi
+cmp ebx, edi
+jne near loc_00421c9a ; jne 0x421c9a
+cmp byte [eax + 0x18], 0
+jne near loc_00421c9a ; jne 0x421c9a
+xor ebx, ebx
+mov bl, byte [eax + 0x1a]
+mov bx, word [eax + ebx*2 + 0x20]
+and ebx, 0xffff
+cmp ecx, ebx
+jge near loc_00421c9a ; jge 0x421c9a
+cmp byte [eax + 0x1a], 5
+jae short loc_00421c9a ; jae 0x421c9a
+mov ecx, ebx
+jmp short loc_00421c94 ; jmp 0x421c94
+
+loc_00421c38:
+cmp edx, 0xfa0
+jle short loc_00421c9a ; jle 0x421c9a
+cmp edx, 0x1770
+jge short loc_00421c9a ; jge 0x421c9a
+lea eax, [edx - 0xfa0]
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add eax, ebx
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+inc edi
+cmp ebx, edi
+jne short loc_00421c9a ; jne 0x421c9a
+movzx edi, byte [eax + 0x18]
+mov bl, byte [eax + 0x1a]
+cmp bl, byte [edi + ref_00474940] ; cmp bl, byte [edi + 0x474940]
+jae short loc_00421c9a ; jae 0x421c9a
+xor ebx, ebx
+mov bl, byte [eax + 0x1a]
+mov ax, word [eax + ebx*2 + 0x24]
+and eax, 0xffff
+cmp ecx, eax
+jge short loc_00421c9a ; jge 0x421c9a
+mov ecx, eax
+
+loc_00421c94:
+mov dword [ref_0048be64], edx ; mov dword [0x48be64], edx
+
+loc_00421c9a:
+inc esi
+jmp near loc_00421bc2 ; jmp 0x421bc2
+
+loc_00421ca0:
+test ecx, ecx
+je short loc_00421cab ; je 0x421cab
+mov dword [esp], 1
+
+loc_00421cab:
+mov eax, dword [esp]
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00421cb6:
+push ebx
+push esi
+push edi
+sub esp, 8
+xor edx, edx
+mov dword [esp], edx
+call fcn_00409ef9 ; call 0x409ef9
+mov dword [esp + 4], eax
+xor edx, edx
+xor ecx, ecx
+
+loc_00421cce:
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+cmp edx, dword [esp + 4]
+jge near loc_00421dee ; jge 0x421dee
+xor edi, edi
+mov di, word [edx*2 + ref_0048b8c4] ; mov di, word [edx*2 + 0x48b8c4]
+mov eax, edi
+shl eax, 2
+add eax, edi
+mov esi, dword [ref_00498e80] ; mov esi, dword [0x498e80]
+mov ax, word [esi + eax*8 + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle short loc_00421d71 ; jle 0x421d71
+cmp eax, 0xfa0
+jge short loc_00421d71 ; jge 0x421d71
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+add eax, esi
+cmp byte [eax + 0x19], 0
+jne near loc_00421de8 ; jne 0x421de8
+cmp byte [eax + 0x18], 0
+jne near loc_00421de8 ; jne 0x421de8
+cmp byte [eax + 0x1a], 3
+jb near loc_00421de8 ; jb 0x421de8
+movzx esi, byte [eax + 0x1a]
+cmp ecx, esi
+jge near loc_00421de8 ; jge 0x421de8
+mov ax, word [eax + 0x1e]
+and eax, 0xffff
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+cmp eax, dword [ebx + ref_00496b84] ; cmp eax, dword [ebx + 0x496b84]
+jge near loc_00421de8 ; jge 0x421de8
+mov ecx, esi
+mov dword [ref_0048be64], edi ; mov dword [0x48be64], edi
+jmp near loc_00421de8 ; jmp 0x421de8
+
+loc_00421d71:
+cmp eax, 0xfa0
+jle near loc_00421de8 ; jle 0x421de8
+cmp eax, 0x1770
+jge short loc_00421de8 ; jge 0x421de8
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add eax, ebx
+cmp byte [eax + 0x19], 0
+jne short loc_00421de8 ; jne 0x421de8
+cmp byte [eax + 0x18], 0
+je short loc_00421de8 ; je 0x421de8
+cmp byte [eax + 0x1a], 3
+jb short loc_00421de8 ; jb 0x421de8
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+xor esi, esi
+mov si, word [eax + 0x24]
+imul esi, dword [ref_004990e8] ; imul esi, dword [0x4990e8]
+cmp esi, dword [ebx + ref_00496b84] ; cmp esi, dword [ebx + 0x496b84]
+jge short loc_00421de8 ; jge 0x421de8
+mov al, byte [eax + 0x1a]
+and eax, 0xff
+cmp ecx, eax
+jge short loc_00421de8 ; jge 0x421de8
+mov ecx, eax
+mov ax, word [edx*2 + ref_0048b8c4] ; mov ax, word [edx*2 + 0x48b8c4]
+and eax, 0xffff
+mov dword [ref_0048be64], eax ; mov dword [0x48be64], eax
+
+loc_00421de8:
+inc edx
+jmp near loc_00421cce ; jmp 0x421cce
+
+loc_00421dee:
+test ecx, ecx
+je short loc_00421e16 ; je 0x421e16
+mov eax, dword [ebx + ref_00496b84] ; mov eax, dword [ebx + 0x496b84]
+add eax, dword [ebx + ref_00496b88] ; add eax, dword [ebx + 0x496b88]
+cmp eax, 0x2710
+jle short loc_00421e16 ; jle 0x421e16
+cmp word [ebx + ref_00496bae], 0 ; cmp word [ebx + 0x496bae], 0
+jl short loc_00421e16 ; jl 0x421e16
+mov dword [esp], 1
+
+loc_00421e16:
+mov eax, dword [esp]
+add esp, 8
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00421e20:
+push ebx
+push esi
+xor ebx, ebx
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov al, byte [edx + ref_00496b79] ; mov al, byte [edx + 0x496b79]
+and al, 3
+cmp al, 3
+jne short loc_00421e3c ; jne 0x421e3c
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+loc_00421e3c:
+movzx esi, byte [edx + ref_00496b7f] ; movzx esi, byte [edx + 0x496b7f]
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0xf
+sar edx, 0x1f
+idiv ecx
+cmp edx, esi
+jg short loc_00421e5d ; jg 0x421e5d
+mov ebx, 1
+
+loc_00421e5d:
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_00421e62:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x430
+xor edx, edx
+mov dword [esp + 0x410], edx
+mov dword [esp + 0x420], 1
+mov dword [esp + 0x41c], edx
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, 0x34
+mov esi, dword [ref_00498e98] ; mov esi, dword [0x498e98]
+
+loc_00421e95:
+cmp esi, dword [esp + 0x420]
+jl short loc_00421ee8 ; jl 0x421ee8
+mov dl, byte [eax + 0x19]
+test dl, dl
+je short loc_00421edc ; je 0x421edc
+xor ecx, ecx
+mov cl, dl
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp ecx, edx
+je short loc_00421edc ; je 0x421edc
+cmp byte [eax + 0x1a], 0
+je short loc_00421edc ; je 0x421edc
+mov ebx, dword [esp + 0x420]
+add ebx, 0x7d0
+mov edx, dword [esp + 0x41c]
+mov word [esp + edx*2], bx
+lea ebp, [edx + 1]
+mov dword [esp + 0x41c], ebp
+
+loc_00421edc:
+inc dword [esp + 0x420]
+add eax, 0x34
+jmp short loc_00421e95 ; jmp 0x421e95
+
+loc_00421ee8:
+mov dword [esp + 0x420], 1
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+
+loc_00421ef8:
+add eax, 0x38
+mov edx, dword [esp + 0x420]
+cmp edx, dword [ref_00498e8c] ; cmp edx, dword [0x498e8c]
+jg short loc_00421f51 ; jg 0x421f51
+mov bl, byte [eax + 0x19]
+test bl, bl
+je short loc_00421f48 ; je 0x421f48
+xor ecx, ecx
+mov cl, bl
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp ecx, edx
+je short loc_00421f48 ; je 0x421f48
+cmp byte [eax + 0x1a], 0
+je short loc_00421f48 ; je 0x421f48
+mov ebx, dword [esp + 0x420]
+add ebx, 0xfa0
+mov edx, dword [esp + 0x41c]
+mov word [esp + edx*2], bx
+lea edi, [edx + 1]
+mov dword [esp + 0x41c], edi
+
+loc_00421f48:
+inc dword [esp + 0x420]
+jmp short loc_00421ef8 ; jmp 0x421ef8
+
+loc_00421f51:
+cmp dword [esp + 0x41c], 0
+je near loc_004221ae ; je 0x4221ae
+xor esi, esi
+mov dword [esp + 0x420], esi
+jmp near loc_00422165 ; jmp 0x422165
+
+loc_00421f6d:
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+
+loc_00421f82:
+movsx ebx, word [edx + eax]
+movsx eax, word [edx + eax + 2]
+mov dword [esp + 0x428], eax
+push 0xffffffffffffffff
+mov esi, dword [esp + 0x42c]
+push esi
+push ebx
+call fcn_0040a0b1 ; call 0x40a0b1
+add esp, 0xc
+mov dword [esp + 0x404], eax
+xor ebp, ebp
+xor edi, edi
+mov dword [esp + 0x424], ebp
+mov dword [esp + 0x428], ebp
+xor esi, esi
+mov dword [esp + 0x414], ebp
+
+loc_00421fc7:
+cmp ebp, dword [esp + 0x404]
+jge near loc_00422091 ; jge 0x422091
+mov bx, word [ebp*2 + ref_0048b8c4] ; mov bx, word [ebp*2 + 0x48b8c4]
+and ebx, 0xffff
+test bh, 0x80
+je short loc_00421ff7 ; je 0x421ff7
+mov dword [esp + 0x414], 1
+jmp near loc_00422091 ; jmp 0x422091
+
+loc_00421ff7:
+push ebx
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_004216ab ; call 0x4216ab
+mov dword [esp + 0x434], eax
+add esp, 8
+lea ecx, [ebx - 0x7d0]
+lea eax, [ebx - 0xfa0]
+imul ecx, ecx, 0x34
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+cmp dword [esp + 0x42c], 1
+jne short loc_0042205d ; jne 0x42205d
+cmp ebx, 0xfa0
+jge short loc_00422043 ; jge 0x422043
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+mov al, byte [ecx + eax + 0x1a]
+jmp short loc_0042204d ; jmp 0x42204d
+
+loc_00422043:
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+mov al, byte [edx + eax + 0x1a]
+
+loc_0042204d:
+and eax, 0xff
+add edi, eax
+inc dword [esp + 0x424]
+jmp short loc_0042208b ; jmp 0x42208b
+
+loc_0042205d:
+cmp ebx, 0xfa0
+jge short loc_00422073 ; jge 0x422073
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add ecx, eax
+xor eax, eax
+mov al, byte [ecx + 0x1a]
+jmp short loc_00422082 ; jmp 0x422082
+
+loc_00422073:
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+mov al, byte [edx + eax + 0x1a]
+and eax, 0xff
+
+loc_00422082:
+add esi, eax
+inc dword [esp + 0x428]
+
+loc_0042208b:
+inc ebp
+jmp near loc_00421fc7 ; jmp 0x421fc7
+
+loc_00422091:
+mov eax, dword [esp + 0x424]
+mov dword [esp + 0x42c], eax
+fild dword [esp + 0x42c]
+mov eax, dword [esp + 0x428]
+mov dword [esp + 0x42c], eax
+fild dword [esp + 0x42c]
+fdivp st1 ; fdivp st(1)
+fstp dword [esp + 0x408]
+mov dword [esp + 0x42c], edi
+fild dword [esp + 0x42c]
+mov dword [esp + 0x42c], esi
+fild dword [esp + 0x42c]
+fdivp st1 ; fdivp st(1)
+fstp dword [esp + 0x40c]
+call fcn_0040d2b4 ; call 0x40d2b4
+add eax, 2
+mov dword [esp + 0x42c], eax
+fild dword [esp + 0x42c]
+fld1
+fdivrp st1 ; fdivrp st(1)
+fstp dword [esp + 0x400]
+cmp dword [esp + 0x414], 0
+jne short loc_00422151 ; jne 0x422151
+fld dword [esp + 0x408]
+fcomp dword [esp + 0x400]
+fnstsw ax
+sahf
+jae short loc_00422151 ; jae 0x422151
+fld dword [esp + 0x40c]
+fcomp dword [esp + 0x400]
+fnstsw ax
+sahf
+jae short loc_00422151 ; jae 0x422151
+mov eax, dword [esp + 0x418]
+mov dword [ref_0048be64], eax ; mov dword [0x48be64], eax
+mov dword [esp + 0x410], 1
+
+loc_00422151:
+mov ecx, dword [esp + 0x420]
+inc ecx
+mov dword [esp + 0x420], ecx
+cmp ecx, 0xa
+jge short loc_004221ae ; jge 0x4221ae
+
+loc_00422165:
+cmp dword [esp + 0x410], 0
+jne short loc_004221ae ; jne 0x4221ae
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv dword [esp + 0x41c]
+mov ax, word [esp + edx*2]
+and eax, 0xffff
+mov dword [esp + 0x418], eax
+cmp eax, 0xfa0
+jge near loc_00421f6d ; jge 0x421f6d
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+jmp near loc_00421f82 ; jmp 0x421f82
+
+loc_004221ae:
+mov eax, dword [esp + 0x410]
+add esp, 0x430
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004221c0:
+push ebx
+push esi
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+cmp dl, 2
+jne near loc_00422319 ; jne 0x422319
+mov byte [eax + ref_00496b7a], 3 ; mov byte [eax + 0x496b7a], 3
+mov dh, byte [eax + ref_00496ba8] ; mov dh, byte [eax + 0x496ba8]
+test dh, dh
+je short loc_0042221e ; je 0x42221e
+xor ecx, ecx
+mov cl, dh
+dec ecx
+mov edx, ecx
+shl edx, 2
+sub edx, ecx
+mov dl, byte [edx*8 + ref_00496d0c] ; mov dl, byte [edx*8 + 0x496d0c]
+and edx, 0xff
+cmp edx, 0xf
+jl near loc_00422439 ; jl 0x422439
+cmp edx, 0x14
+jle near loc_00422440 ; jle 0x422440
+mov byte [eax + ref_00496b7a], 3 ; mov byte [eax + 0x496b7a], 3
+pop esi
+pop ebx
+ret
+
+loc_0042221e:
+push 5
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040b221 ; call 0x40b221
+add esp, 8
+xor edx, edx
+xor ebx, ebx
+xor esi, esi
+jmp short loc_00422281 ; jmp 0x422281
+
+loc_00422237:
+cmp eax, 0xfa0
+jle short loc_0042227b ; jle 0x42227b
+cmp eax, 0x1770
+jge short loc_0042227b ; jge 0x42227b
+sub eax, 0xfa0
+shl eax, 3
+mov ecx, eax
+shl eax, 3
+sub eax, ecx
+mov ecx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, ecx
+mov cl, byte [eax + 0x19]
+test cl, cl
+je near loc_004222d5 ; je 0x4222d5
+mov al, cl
+and eax, 0xff
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+inc ecx
+cmp eax, ecx
+je short loc_004222d5 ; je 0x4222d5
+
+loc_0042227a:
+inc esi
+
+loc_0042227b:
+inc edx
+cmp edx, 5
+jge short loc_004222d8 ; jge 0x4222d8
+
+loc_00422281:
+xor ecx, ecx
+mov cx, word [edx*2 + ref_0048b8b4] ; mov cx, word [edx*2 + 0x48b8b4]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov ax, word [ecx + eax*8 + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle short loc_00422237 ; jle 0x422237
+cmp eax, 0xfa0
+jge short loc_00422237 ; jge 0x422237
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ecx, dword [ref_00498e84] ; mov ecx, dword [0x498e84]
+add eax, ecx
+cmp byte [eax + 0x19], 0
+je short loc_004222d5 ; je 0x4222d5
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ecx, eax
+jne short loc_0042227a ; jne 0x42227a
+
+loc_004222d5:
+inc ebx
+jmp short loc_0042227b ; jmp 0x42227b
+
+loc_004222d8:
+test ebx, ebx
+jne short loc_004222fb ; jne 0x4222fb
+cmp esi, 2
+jle short loc_004222fb ; jle 0x4222fb
+call fcn_00456f2d ; call 0x456f2d
+mov dl, al
+and dl, 1
+add dl, 2
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov byte [eax + ref_00496b7a], dl ; mov byte [eax + 0x496b7a], dl
+
+loc_004222fb:
+cmp ebx, 2
+jl near loc_00422440 ; jl 0x422440
+cmp esi, 1
+jg near loc_00422440 ; jg 0x422440
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+jmp near loc_00422439 ; jmp 0x422439
+
+loc_00422319:
+cmp dl, 1
+jne near loc_00422440 ; jne 0x422440
+mov byte [eax + ref_00496b7a], 2 ; mov byte [eax + 0x496b7a], 2
+mov bh, byte [eax + ref_00496ba8] ; mov bh, byte [eax + 0x496ba8]
+test bh, bh
+je short loc_0042235d ; je 0x42235d
+xor edx, edx
+mov dl, bh
+lea ecx, [edx - 1]
+mov edx, ecx
+shl edx, 2
+sub edx, ecx
+mov dl, byte [edx*8 + ref_00496d0c] ; mov dl, byte [edx*8 + 0x496d0c]
+and edx, 0xff
+cmp edx, 0xf
+jl near loc_00422439 ; jl 0x422439
+cmp edx, 0x14
+pop esi
+pop ebx
+ret
+
+loc_0042235d:
+push 5
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040b221 ; call 0x40b221
+add esp, 8
+xor edx, edx
+xor ebx, ebx
+xor esi, esi
+jmp short loc_004223bb ; jmp 0x4223bb
+
+loc_00422376:
+cmp eax, 0xfa0
+jle short loc_004223b5 ; jle 0x4223b5
+cmp eax, 0x1770
+jge short loc_004223b5 ; jge 0x4223b5
+sub eax, 0xfa0
+shl eax, 3
+mov ecx, eax
+shl eax, 3
+sub eax, ecx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+add eax, ecx
+cmp byte [eax + 0x19], 0
+je near loc_0042240e ; je 0x42240e
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ecx, eax
+je short loc_0042240e ; je 0x42240e
+
+loc_004223b4:
+inc esi
+
+loc_004223b5:
+inc edx
+cmp edx, 5
+jge short loc_00422411 ; jge 0x422411
+
+loc_004223bb:
+xor ecx, ecx
+mov cx, word [edx*2 + ref_0048b8b4] ; mov cx, word [edx*2 + 0x48b8b4]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov ax, word [ecx + eax*8 + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle short loc_00422376 ; jle 0x422376
+cmp eax, 0xfa0
+jge short loc_00422376 ; jge 0x422376
+sub eax, 0x7d0
+imul ecx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, ecx
+cmp byte [eax + 0x19], 0
+je short loc_0042240e ; je 0x42240e
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ecx, eax
+jne short loc_004223b4 ; jne 0x4223b4
+
+loc_0042240e:
+inc ebx
+jmp short loc_004223b5 ; jmp 0x4223b5
+
+loc_00422411:
+test ebx, ebx
+jne short loc_00422428 ; jne 0x422428
+cmp esi, 2
+jle short loc_00422428 ; jle 0x422428
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov byte [eax + ref_00496b7a], 2 ; mov byte [eax + 0x496b7a], 2
+
+loc_00422428:
+cmp ebx, 2
+jl short loc_00422440 ; jl 0x422440
+cmp esi, 1
+jg short loc_00422440 ; jg 0x422440
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+
+loc_00422439:
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+
+loc_00422440:
+pop esi
+pop ebx
+ret
+
+fcn_00422443:
+push ebx
+push esi
+push edi
+push ebp
+push 0
+push 2
+push 0
+push 0x101010
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+mov esi, 0x58
+
+loc_00422463:
+push 2
+push esi
+push 0x8e
+mov edx, dword [ebx*4 + ref_00475418] ; mov edx, dword [ebx*4 + 0x475418]
+push edx
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x30
+cmp ebx, 4
+jl short loc_00422463 ; jl 0x422463
+mov ebx, 4
+mov esi, 0x58
+
+loc_00422497:
+push 2
+push esi
+push 0x1ae
+mov ecx, dword [ebx*4 + ref_00475418] ; mov ecx, dword [ebx*4 + 0x475418]
+push ecx
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x30
+cmp ebx, 8
+jl short loc_00422497 ; jl 0x422497
+mov ebx, 8
+mov esi, 0x128
+
+loc_004224cb:
+push 2
+push esi
+push 0x8e
+mov edi, dword [ebx*4 + ref_00475418] ; mov edi, dword [ebx*4 + 0x475418]
+push edi
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x30
+cmp ebx, 0xc
+jl short loc_004224cb ; jl 0x4224cb
+xor ebx, ebx
+
+loc_004224f7:
+push 2
+push 0x70
+movsx eax, word [ebx*2 + ref_00475454] ; movsx eax, word [ebx*2 + 0x475454]
+push eax
+mov ebp, dword [ebx*4 + ref_004753e8] ; mov ebp, dword [ebx*4 + 0x4753e8]
+push ebp
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+cmp ebx, 5
+jl short loc_004224f7 ; jl 0x4224f7
+xor ebx, ebx
+
+loc_00422525:
+push 2
+push 0x44
+movsx eax, word [ebx*2 + ref_0047545e] ; movsx eax, word [ebx*2 + 0x47545e]
+push eax
+mov edx, dword [ebx*4 + ref_00475448] ; mov edx, dword [ebx*4 + 0x475448]
+push edx
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+cmp ebx, 3
+jl short loc_00422525 ; jl 0x422525
+push 4
+push 0xff
+push ref_0048c278 ; push 0x48c278
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ebx, ebx
+xor esi, esi
+mov ecx, dword [ref_00499114] ; mov ecx, dword [0x499114]
+
+loc_0042256f:
+cmp ebx, ecx
+jge short loc_00422589 ; jge 0x422589
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00422586 ; je 0x422586
+mov byte [esi + ref_0048c278], bl ; mov byte [esi + 0x48c278], bl
+inc esi
+
+loc_00422586:
+inc ebx
+jmp short loc_0042256f ; jmp 0x42256f
+
+loc_00422589:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0042258e:
+db 0x90
+
+ref_0042258f: ; may contain a jump table
+dd loc_004226df
+dd loc_00422a15
+dd loc_00422ba6
+dd loc_00422d51
+dd loc_00422ebd
+
+fcn_004225a3:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xa0
+mov ebx, dword [esp + 0xb4]
+mov edi, dword [esp + 0xb8]
+mov esi, 0x90
+xor edx, edx
+mov dword [esp + 0x94], edx
+cmp ebx, dword [ref_004754a8] ; cmp ebx, dword [0x4754a8]
+je short loc_004225e6 ; je 0x4225e6
+push ebx
+mov ebp, dword [ref_0048c27c] ; mov ebp, dword [0x48c27c]
+push ebp
+call fcn_00423b3b ; call 0x423b3b
+add esp, 8
+mov dword [ref_0048c280], eax ; mov dword [0x48c280], eax
+
+loc_004225e6:
+push 0
+mov eax, dword [ref_0048c27c] ; mov eax, dword [0x48c27c]
+inc eax
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+mov ebp, eax
+cmp edi, 1
+jb short loc_00422607 ; jb 0x422607
+jbe short loc_00422613 ; jbe 0x422613
+cmp edi, 2
+je short loc_00422630 ; je 0x422630
+jmp short loc_00422646 ; jmp 0x422646
+
+loc_00422607:
+test edi, edi
+jne short loc_00422646 ; jne 0x422646
+mov dword [ref_00475404], edi ; mov dword [0x475404], edi
+jmp short loc_00422646 ; jmp 0x422646
+
+loc_00422613:
+mov eax, dword [ref_00475404] ; mov eax, dword [0x475404]
+add eax, 0xb
+cmp eax, dword [ref_0048c280] ; cmp eax, dword [0x48c280]
+jg near loc_00423065 ; jg 0x423065
+add dword [ref_00475404], 0xa ; add dword [0x475404], 0xa
+jmp short loc_00422646 ; jmp 0x422646
+
+loc_00422630:
+mov eax, dword [ref_00475404] ; mov eax, dword [0x475404]
+test eax, eax
+je near loc_00423065 ; je 0x423065
+lea edx, [eax - 0xa]
+mov dword [ref_00475404], edx ; mov dword [0x475404], edx
+
+loc_00422646:
+mov eax, dword [ref_00475404] ; mov eax, dword [0x475404]
+add eax, 0xa
+mov edx, dword [ref_0048c280] ; mov edx, dword [0x48c280]
+cmp eax, edx
+jle short loc_00422669 ; jle 0x422669
+mov eax, edx
+mov edi, dword [ref_00475404] ; mov edi, dword [0x475404]
+sub eax, edi
+mov dword [ref_00475408], eax ; mov dword [0x475408], eax
+jmp short loc_00422673 ; jmp 0x422673
+
+loc_00422669:
+mov dword [ref_00475408], 0xa ; mov dword [0x475408], 0xa
+
+loc_00422673:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x140
+push 0x1d0
+push 0x80
+push 0x78
+push 0x80
+push 0x78
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 1
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+cmp ebx, 4
+ja near loc_00423011 ; ja 0x423011
+mov eax, ebx
+jmp dword [eax*4 + ref_0042258f] ; ujmp: jmp dword [eax*4 + 0x42258f]
+
+loc_004226df:
+xor edi, edi
+
+loc_004226e1:
+cmp edi, dword [ref_00475408] ; cmp edi, dword [0x475408]
+jge near loc_00423011 ; jge 0x423011
+mov eax, dword [ref_00475404] ; mov eax, dword [0x475404]
+add eax, edi
+add eax, eax
+mov dx, word [eax + ref_0048be70] ; mov dx, word [eax + 0x48be70]
+cmp dx, 0xfa0
+jae near loc_00422883 ; jae 0x422883
+mov eax, edx
+and eax, 0xffff
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_00475454] ; movsx eax, word [0x475454]
+push eax
+lea eax, [ebx + 4]
+mov dword [esp + 0xa8], eax
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x18], 0
+jne short loc_00422780 ; jne 0x422780
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov edx, dword [eax*4 + ref_00475138] ; mov edx, dword [eax*4 + 0x475138]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [esp + 0x9c]
+push ecx
+xor eax, eax
+mov al, byte [ebx + 0x19]
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+push eax
+jmp short loc_0042279b ; jmp 0x42279b
+
+loc_00422780:
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+push ref_00463d6c ; push 0x463d6c
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ebp
+
+loc_0042279b:
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_0047545a] ; movsx eax, word [0x47545a]
+add eax, 0x2a
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x1e]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x1c]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_00475458] ; movsx eax, word [0x475458]
+add eax, 0x26
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ebx + 0x30]
+test ecx, ecx
+je short loc_0042286d ; je 0x42286d
+mov eax, ecx
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov eax, dword [ebx + 0x30]
+shr eax, 8
+and eax, 0xf
+mov dword [esp + 0x90], eax
+mov eax, dword [ebx + 0x30]
+and eax, 0xff
+push eax
+mov ebx, dword [esp + 0x94]
+push ebx
+
+loc_00422843:
+push edx
+push ref_00463e14 ; push 0x463e14
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+jmp near loc_00422a04 ; jmp 0x422a04
+
+loc_0042286d:
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+push ref_00463e1f ; push 0x463e1f
+push ecx
+jmp near loc_00422a04 ; jmp 0x422a04
+
+loc_00422883:
+mov eax, dword [esp + 0x94]
+test eax, eax
+jne short loc_004228ad ; jne 0x4228ad
+push 1
+push 2
+push eax
+push 0x1010f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov dword [esp + 0x94], 1
+
+loc_004228ad:
+mov eax, dword [ref_00475404] ; mov eax, dword [0x475404]
+add eax, edi
+mov ax, word [eax*2 + ref_0048be70] ; mov ax, word [eax*2 + 0x48be70]
+and eax, 0xffff
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_00475454] ; movsx eax, word [0x475454]
+push eax
+lea eax, [ebx + 4]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x1a], 0
+je short loc_00422911 ; je 0x422911
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x18]
+mov edx, dword [eax*4 + ref_00475150] ; mov edx, dword [eax*4 + 0x475150]
+push edx
+jmp short loc_00422923 ; jmp 0x422923
+
+loc_00422911:
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+mov ecx, dword [ref_00475138] ; mov ecx, dword [0x475138]
+push ecx
+
+loc_00422923:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x24]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul edx, eax
+xor eax, eax
+mov ax, word [ebx + 0x22]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_00475458] ; movsx eax, word [0x475458]
+add eax, 0x26
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x18], 0
+je short loc_00422999 ; je 0x422999
+cmp byte [ebx + 0x1a], 0
+je short loc_00422999 ; je 0x422999
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov ax, word [ebx + eax*2 + 0x24]
+and eax, 0xffff
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+jmp short loc_0042299b ; jmp 0x42299b
+
+loc_00422999:
+xor eax, eax
+
+loc_0042299b:
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_0047545a] ; movsx eax, word [0x47545a]
+add eax, 0x2a
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ebx + 0x34]
+test ecx, ecx
+je short loc_004229f3 ; je 0x4229f3
+mov eax, ecx
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov ecx, dword [ebx + 0x34]
+shr ecx, 8
+and ecx, 0xf
+mov eax, dword [ebx + 0x34]
+and eax, 0xff
+push eax
+push ecx
+jmp near loc_00422843 ; jmp 0x422843
+
+loc_004229f3:
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+push ref_00463e1f ; push 0x463e1f
+push ecx
+
+loc_00422a04:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_004226e1 ; jmp 0x4226e1
+
+loc_00422a15:
+xor edi, edi
+
+loc_00422a17:
+cmp edi, dword [ref_00475408] ; cmp edi, dword [0x475408]
+jge near loc_00423011 ; jge 0x423011
+mov eax, dword [ref_00475404] ; mov eax, dword [0x475404]
+add eax, edi
+mov ax, word [eax*2 + ref_0048be70] ; mov ax, word [eax*2 + 0x48be70]
+and eax, 0xffff
+sub eax, 0x7d0
+imul ebx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_00475454] ; movsx eax, word [0x475454]
+push eax
+lea eax, [ebx + 4]
+mov dword [esp + 0xa4], eax
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x18], 0
+jne short loc_00422aa7 ; jne 0x422aa7
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov ecx, dword [eax*4 + ref_00475138] ; mov ecx, dword [eax*4 + 0x475138]
+push ecx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [esp + 0x98]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x19]
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+push eax
+jmp short loc_00422ac2 ; jmp 0x422ac2
+
+loc_00422aa7:
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+push ref_00463d6c ; push 0x463d6c
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ebp
+
+loc_00422ac2:
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_0047545a] ; movsx eax, word [0x47545a]
+add eax, 0x2a
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x1e]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x1c]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_00475458] ; movsx eax, word [0x475458]
+add eax, 0x26
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ebx + 0x30]
+test ecx, ecx
+je short loc_00422b84 ; je 0x422b84
+mov eax, ecx
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov eax, dword [ebx + 0x30]
+shr eax, 8
+and eax, 0xf
+mov ebx, dword [ebx + 0x30]
+and ebx, 0xff
+push ebx
+push eax
+push edx
+push ref_00463e14 ; push 0x463e14
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+jmp short loc_00422b95 ; jmp 0x422b95
+
+loc_00422b84:
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+push ref_00463e1f ; push 0x463e1f
+push ecx
+
+loc_00422b95:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_00422a17 ; jmp 0x422a17
+
+loc_00422ba6:
+push 1
+push 2
+push 0
+push 0x1010f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor edi, edi
+
+loc_00422bbd:
+cmp edi, dword [ref_00475408] ; cmp edi, dword [0x475408]
+jge near loc_00423011 ; jge 0x423011
+mov eax, dword [ref_00475404] ; mov eax, dword [0x475404]
+add eax, edi
+mov ax, word [eax*2 + ref_0048be70] ; mov ax, word [eax*2 + 0x48be70]
+and eax, 0xffff
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_00475454] ; movsx eax, word [0x475454]
+push eax
+lea eax, [ebx + 4]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x1a], 0
+je short loc_00422c2d ; je 0x422c2d
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x18]
+mov ebp, dword [eax*4 + ref_00475150] ; mov ebp, dword [eax*4 + 0x475150]
+push ebp
+jmp short loc_00422c3f ; jmp 0x422c3f
+
+loc_00422c2d:
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+mov ecx, dword [ref_00475138] ; mov ecx, dword [0x475138]
+push ecx
+
+loc_00422c3f:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x24]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x22]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_00475458] ; movsx eax, word [0x475458]
+add eax, 0x26
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x18], 0
+je short loc_00422cb5 ; je 0x422cb5
+mov dh, byte [ebx + 0x1a]
+test dh, dh
+je short loc_00422cb5 ; je 0x422cb5
+xor eax, eax
+mov al, dh
+mov ax, word [ebx + eax*2 + 0x24]
+and eax, 0xffff
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+jmp short loc_00422cb7 ; jmp 0x422cb7
+
+loc_00422cb5:
+xor eax, eax
+
+loc_00422cb7:
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_0047545a] ; movsx eax, word [0x47545a]
+add eax, 0x2a
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebp, dword [ebx + 0x34]
+test ebp, ebp
+je short loc_00422d2f ; je 0x422d2f
+mov eax, ebp
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov ecx, ebp
+shr ecx, 8
+and ecx, 0xf
+mov eax, ebp
+and eax, 0xff
+push eax
+push ecx
+push edx
+push ref_00463e14 ; push 0x463e14
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+jmp short loc_00422d40 ; jmp 0x422d40
+
+loc_00422d2f:
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+push ref_00463e1f ; push 0x463e1f
+push ebp
+
+loc_00422d40:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_00422bbd ; jmp 0x422bbd
+
+loc_00422d51:
+xor edi, edi
+
+loc_00422d53:
+cmp edi, dword [ref_00475408] ; cmp edi, dword [0x475408]
+jge near loc_00423011 ; jge 0x423011
+mov eax, dword [ref_00475404] ; mov eax, dword [0x475404]
+add eax, edi
+mov ax, word [eax*2 + ref_0048be70] ; mov ax, word [eax*2 + 0x48be70]
+and eax, 0xffff
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_00475454] ; movsx eax, word [0x475454]
+push eax
+lea ebp, [ebx + 4]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov edx, dword [eax*4 + ref_00475138] ; mov edx, dword [eax*4 + 0x475138]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x1e]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x1c]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_00475458] ; movsx eax, word [0x475458]
+add eax, 0x26
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ebp
+xor eax, eax
+mov al, byte [ebx + 0x19]
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_0047545a] ; movsx eax, word [0x47545a]
+add eax, 0x2a
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebp, dword [ebx + 0x30]
+test ebp, ebp
+je short loc_00422e9b ; je 0x422e9b
+mov eax, ebp
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov eax, ebp
+shr eax, 8
+and eax, 0xf
+mov dword [esp + 0x90], eax
+mov eax, ebp
+and eax, 0xff
+push eax
+mov eax, dword [esp + 0x94]
+push eax
+push edx
+push ref_00463e14 ; push 0x463e14
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+jmp short loc_00422eac ; jmp 0x422eac
+
+loc_00422e9b:
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+push ref_00463e1f ; push 0x463e1f
+push ebp
+
+loc_00422eac:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_00422d53 ; jmp 0x422d53
+
+loc_00422ebd:
+xor edi, edi
+
+loc_00422ebf:
+cmp edi, dword [ref_00475408] ; cmp edi, dword [0x475408]
+jge near loc_00423011 ; jge 0x423011
+mov eax, dword [ref_00475404] ; mov eax, dword [0x475404]
+add eax, edi
+mov ax, word [eax*2 + ref_0048be70] ; mov ax, word [eax*2 + 0x48be70]
+and eax, 0xffff
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_00475454] ; movsx eax, word [0x475454]
+push eax
+lea eax, [ebx + 4]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_00475456] ; movsx eax, word [0x475456]
+push eax
+push ref_00463d6c ; push 0x463d6c
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x1e]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x1c]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_00475458] ; movsx eax, word [0x475458]
+add eax, 0x26
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ebp
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_0047545a] ; movsx eax, word [0x47545a]
+add eax, 0x2a
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ebx + 0x30]
+test eax, eax
+je short loc_00422fee ; je 0x422fee
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov eax, dword [ebx + 0x30]
+shr eax, 8
+and eax, 0xf
+mov dword [esp + 0x90], eax
+mov eax, dword [ebx + 0x30]
+and eax, 0xff
+push eax
+mov ecx, dword [esp + 0x94]
+push ecx
+push edx
+push ref_00463e14 ; push 0x463e14
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+lea eax, [esp + 0xc]
+push eax
+jmp short loc_00422ffe ; jmp 0x422ffe
+
+loc_00422fee:
+push 2
+push esi
+movsx eax, word [ref_0047545c] ; movsx eax, word [0x47545c]
+push eax
+push ref_00463e1f ; push 0x463e1f
+
+loc_00422ffe:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_00422ebf ; jmp 0x422ebf
+
+loc_00423011:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x80], 0x78
+mov dword [esp + 0x88], 0x248
+mov dword [esp + 0x84], 0x80
+mov dword [esp + 0x8c], 0x1c0
+push 0
+lea eax, [esp + 0x84]
+push eax
+mov edx, dword [ref_0048a0d4] ; mov edx, dword [0x48a0d4]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00423065:
+add esp, 0xa0
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00423070:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x88
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov ecx, dword [ref_0048c270] ; mov ecx, dword [0x48c270]
+mov edx, dword [ref_004753fc] ; mov edx, dword [0x4753fc]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+lea edx, [ecx + 0xc]
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x17
+push 0x223
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x48
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x64
+push 0x3c
+imul eax, dword [ref_0048c27c], 0x34 ; imul eax, dword [0x48c27c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+imul eax, dword [ref_0048c27c], 0x68 ; imul eax, dword [0x48c27c], 0x68
+cmp byte [eax + ref_00496ba7], 0 ; cmp byte [eax + 0x496ba7], 0
+je near loc_004231ba ; je 0x4231ba
+push 0xbc
+push 0x3c
+xor edx, edx
+mov dl, byte [eax + ref_00496ba7] ; mov dl, byte [eax + 0x496ba7]
+mov edx, dword [edx*4 + ref_00475464] ; mov edx, dword [edx*4 + 0x475464]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+imul eax, dword [ref_0048c27c], 0x68 ; imul eax, dword [0x48c27c], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov al, byte [eax*8 + ref_00496d0c] ; mov al, byte [eax*8 + 0x496d0c]
+and eax, 0xff
+push eax
+push ref_00463e26 ; push 0x463e26
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 2
+push 0xea
+push 0x3c
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_004231ba:
+xor ebx, ebx
+mov esi, 0x12e
+jmp short loc_004231e3 ; jmp 0x4231e3
+
+loc_004231c3:
+push 2
+push esi
+push 0x3c
+mov edi, dword [ebx*4 + ref_0047540c] ; mov edi, dword [ebx*4 + 0x47540c]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x40
+cmp ebx, 3
+jge short loc_00423215 ; jge 0x423215
+
+loc_004231e3:
+cmp ebx, dword [ref_004753fc] ; cmp ebx, dword [0x4753fc]
+jne short loc_00423205 ; jne 0x423205
+push 0
+push 3
+push 0x101010
+push 0xffffff
+
+loc_004231f9:
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+jmp short loc_004231c3 ; jmp 0x4231c3
+
+loc_00423205:
+push 0
+push 3
+push 0x101010
+push 0xc0c0c0
+jmp short loc_004231f9 ; jmp 0x4231f9
+
+loc_00423215:
+push 0
+push 2
+push 0
+push 0x101010
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+mov dword [esp + 0x80], 0x10
+
+loc_00423237:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_004232d4 ; jge 0x4232d4
+mov dh, byte [ebx + ref_0048c278] ; mov dh, byte [ebx + 0x48c278]
+cmp dh, 0xff
+je near loc_004232d4 ; je 0x4232d4
+xor eax, eax
+mov al, dh
+cmp eax, dword [ref_0048c27c] ; cmp eax, dword [0x48c27c]
+jne short loc_0042327a ; jne 0x42327a
+push 0xe
+mov edx, dword [esp + 0x84]
+push edx
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x30
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+jmp short loc_00423293 ; jmp 0x423293
+
+loc_0042327a:
+push 0xf
+mov ebp, dword [esp + 0x84]
+push ebp
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x3c
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+
+loc_00423293:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 2
+push 0x1e
+mov eax, dword [esp + 0x88]
+add eax, 0x2c
+push eax
+xor eax, eax
+mov al, byte [ebx + ref_0048c278] ; mov al, byte [ebx + 0x48c278]
+imul eax, eax, 0x68
+mov esi, dword [eax + ref_00496b68] ; mov esi, dword [eax + 0x496b68]
+push esi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add dword [esp + 0x80], 0x58
+jmp near loc_00423237 ; jmp 0x423237
+
+loc_004232d4:
+mov ebx, dword [ref_004753fc] ; mov ebx, dword [0x4753fc]
+cmp ebx, 1
+jb short loc_004232f3 ; jb 0x4232f3
+jbe near loc_00423841 ; jbe 0x423841
+cmp ebx, 2
+je near loc_004238b1 ; je 0x4238b1
+jmp near loc_0042399e ; jmp 0x42399e
+
+loc_004232f3:
+test ebx, ebx
+jne near loc_0042399e ; jne 0x42399e
+push ebx
+push 2
+push ebx
+push 0x101010
+push 0x1c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+imul eax, dword [ref_0048c27c], 0x68 ; imul eax, dword [0x48c27c], 0x68
+mov ebx, dword [eax + ref_00496b84] ; mov ebx, dword [eax + 0x496b84]
+push ebx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push 0x58
+push 0x14a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0048c27c], 0x68 ; imul eax, dword [0x48c27c], 0x68
+mov edi, dword [eax + ref_00496b88] ; mov edi, dword [eax + 0x496b88]
+push edi
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push 0x88
+push 0x14a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0048c27c], 0x68 ; imul eax, dword [0x48c27c], 0x68
+mov edx, dword [eax + ref_00496b8c] ; mov edx, dword [eax + 0x496b8c]
+push edx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push 0xb8
+push 0x14a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ref_0048c27c] ; mov ecx, dword [0x48c27c]
+push ecx
+call fcn_004239b9 ; call 0x4239b9
+add esp, 4
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push 0xe8
+push 0x14a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+mov dword [esp + 0x80], ebx
+
+loc_004233ee:
+mov edx, dword [ref_0048c27c] ; mov edx, dword [0x48c27c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 5
+mov eax, ebx
+fild dword [edx + eax*8 + ref_004971a0] ; fild dword [edx + eax*8 + 0x4971a0]
+shl eax, 3
+add eax, ebx
+fmul dword [eax*4 + ref_00496994] ; fmul dword [eax*4 + 0x496994]
+mov eax, dword [esp + 0x80]
+mov dword [esp + 0x84], eax
+fild dword [esp + 0x84]
+fstp dword [esp + 0x84]
+fadd dword [esp + 0x84]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x80]
+inc ebx
+cmp ebx, 0xc
+jl short loc_004233ee ; jl 0x4233ee
+mov ebx, dword [esp + 0x80]
+push ebx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push 0x58
+push 0x25a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+imul eax, dword [ref_0048c27c], 0x68 ; imul eax, dword [0x48c27c], 0x68
+mov ax, word [eax + ref_00496b98] ; mov ax, word [eax + 0x496b98]
+and eax, 0xffff
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 6
+push 0x88
+push 0x25a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0048c27c], 0x68 ; imul eax, dword [0x48c27c], 0x68
+mov al, byte [eax + ref_00496ba6] ; mov al, byte [eax + 0x496ba6]
+and eax, 0xff
+push eax
+push ref_00463e26 ; push 0x463e26
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push 0xb8
+push 0x25a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add eax, 0x34
+mov ebx, 1
+xor ebp, ebp
+mov dword [esp + 0x80], ebp
+
+loc_0042350b:
+cmp ebx, dword [ref_00498e90] ; cmp ebx, dword [0x498e90]
+jg short loc_00423530 ; jg 0x423530
+xor edx, edx
+mov dl, byte [eax + 0x18]
+mov esi, dword [ref_0048c27c] ; mov esi, dword [0x48c27c]
+inc esi
+cmp edx, esi
+jne short loc_0042352a ; jne 0x42352a
+inc dword [esp + 0x80]
+
+loc_0042352a:
+inc ebx
+add eax, 0x34
+jmp short loc_0042350b ; jmp 0x42350b
+
+loc_00423530:
+mov ecx, dword [esp + 0x80]
+push ecx
+push ref_00463e2b ; push 0x463e2b
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push 0xe8
+push 0x25a
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, 0x34
+mov ebx, 1
+xor esi, esi
+mov dword [esp + 0x80], esi
+xor edi, edi
+mov ebp, dword [ref_00498e98] ; mov ebp, dword [0x498e98]
+
+loc_00423583:
+cmp ebx, ebp
+jg short loc_004235b4 ; jg 0x4235b4
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov edx, dword [ref_0048c27c] ; mov edx, dword [0x48c27c]
+inc edx
+cmp ecx, edx
+jne short loc_004235ae ; jne 0x4235ae
+inc dword [esp + 0x80]
+cmp byte [eax + 0x18], 0
+je short loc_004235a7 ; je 0x4235a7
+inc esi
+jmp short loc_004235ae ; jmp 0x4235ae
+
+loc_004235a7:
+cmp byte [eax + 0x1a], 0
+je short loc_004235ae ; je 0x4235ae
+inc edi
+
+loc_004235ae:
+inc ebx
+add eax, 0x34
+jmp short loc_00423583 ; jmp 0x423583
+
+loc_004235b4:
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, 0x38
+mov ebx, 1
+xor ebp, ebp
+
+loc_004235c3:
+cmp ebx, dword [ref_00498e8c] ; cmp ebx, dword [0x498e8c]
+jg short loc_004235ef ; jg 0x4235ef
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+mov edx, dword [ref_0048c27c] ; mov edx, dword [0x48c27c]
+inc edx
+cmp ecx, edx
+jne short loc_004235e9 ; jne 0x4235e9
+inc dword [esp + 0x80]
+cmp byte [eax + 0x1a], 0
+je short loc_004235e9 ; je 0x4235e9
+inc ebp
+
+loc_004235e9:
+inc ebx
+add eax, 0x38
+jmp short loc_004235c3 ; jmp 0x4235c3
+
+loc_004235ef:
+mov ebx, dword [esp + 0x80]
+push ebx
+push ref_00463e2b ; push 0x463e2b
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push 0x128
+push 0xfa
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push esi
+push ref_00463e2b ; push 0x463e2b
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push 0x158
+push 0xfa
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push edi
+push ref_00463e2b ; push 0x463e2b
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push 0x188
+push 0xfa
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ebp
+push ref_00463e2b ; push 0x463e2b
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push 0x1b8
+push 0xfa
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+mov dword [esp + 0x80], 0x12c
+mov esi, 0x119
+jmp short loc_004236e4 ; jmp 0x4236e4
+
+loc_004236da:
+inc ebx
+cmp ebx, 0xd
+jge near loc_004237b3 ; jge 0x4237b3
+
+loc_004236e4:
+mov edx, dword [ref_0048c27c] ; mov edx, dword [0x48c27c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [ebx + eax + ref_0049915c], 0 ; cmp byte [ebx + eax + 0x49915c], 0
+je short loc_004236da ; je 0x4236da
+push esi
+mov eax, dword [esp + 0x84]
+sub eax, 0x10
+push eax
+mov edi, dword [ref_0048c274] ; mov edi, dword [0x48c274]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+add edi, 0xc
+add eax, edi
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov edx, dword [ref_0048c27c] ; mov edx, dword [0x48c27c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov al, byte [ebx + eax + ref_0049915c] ; mov al, byte [ebx + eax + 0x49915c]
+and eax, 0xff
+push eax
+push ref_00463e2b ; push 0x463e2b
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push esi
+mov eax, dword [esp + 0x88]
+add eax, 0x1e
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edi, dword [esp + 0x80]
+add edi, 0x48
+mov dword [esp + 0x80], edi
+cmp edi, 0x24c
+jle near loc_004236da ; jle 0x4236da
+mov dword [esp + 0x80], 0x12c
+add esi, 0x20
+jmp near loc_004236da ; jmp 0x4236da
+
+loc_004237b3:
+xor ebx, ebx
+mov dword [esp + 0x80], 0x12c
+mov esi, 0x181
+jmp short loc_004237d1 ; jmp 0x4237d1
+
+loc_004237c7:
+inc ebx
+cmp ebx, 0xf
+jge near loc_0042399e ; jge 0x42399e
+
+loc_004237d1:
+mov edx, dword [ref_0048c27c] ; mov edx, dword [0x48c27c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add eax, ebx
+cmp byte [eax + ref_00499120], 0 ; cmp byte [eax + 0x499120], 0
+je short loc_004237c7 ; je 0x4237c7
+push 2
+push esi
+mov ecx, dword [esp + 0x88]
+push ecx
+mov al, byte [eax + ref_00499120] ; mov al, byte [eax + 0x499120]
+and eax, 0xff
+mov edi, dword [eax*8 + ref_0047fdea] ; mov edi, dword [eax*8 + 0x47fdea]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebp, dword [esp + 0x80]
+add ebp, 0x48
+mov dword [esp + 0x80], ebp
+cmp ebp, 0x24c
+jle short loc_004237c7 ; jle 0x4237c7
+mov dword [esp + 0x80], 0x12c
+add esi, 0x20
+jmp short loc_004237c7 ; jmp 0x4237c7
+
+loc_00423841:
+xor ebx, ebx
+mov dword [esp + 0x80], 0x78
+jmp short loc_00423883 ; jmp 0x423883
+
+loc_00423850:
+push 2
+push 0x50
+mov eax, dword [esp + 0x88]
+add eax, 0x25
+push eax
+mov edx, dword [ebx*4 + ref_004753d4] ; mov edx, dword [ebx*4 + 0x4753d4]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add dword [esp + 0x80], 0x4b
+cmp ebx, 5
+jge near loc_0042399e ; jge 0x42399e
+
+loc_00423883:
+cmp ebx, dword [ref_00475400] ; cmp ebx, dword [0x475400]
+jne short loc_00423850 ; jne 0x423850
+push 0x40
+mov edi, dword [esp + 0x84]
+push edi
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x90
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+jmp short loc_00423850 ; jmp 0x423850
+
+loc_004238b1:
+push 0
+push ebx
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+mov esi, 0x64
+
+loc_004238cc:
+push 2
+push esi
+movsx eax, word [ref_0047545e] ; movsx eax, word [0x47545e]
+push eax
+mov edi, ebx
+shl edi, 3
+add edi, ebx
+shl edi, 2
+mov ebp, dword [edi + ref_00496980] ; mov ebp, dword [edi + 0x496980]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edx, dword [ref_0048c27c] ; mov edx, dword [0x48c27c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov ebp, ebx
+mov edx, dword [eax + ebp*8 + ref_004971a0] ; mov edx, dword [eax + ebp*8 + 0x4971a0]
+push edx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_00475460] ; movsx eax, word [0x475460]
+add eax, 0x34
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edx, dword [ref_0048c27c] ; mov edx, dword [0x48c27c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+fild dword [eax + ebp*8 + ref_004971a0] ; fild dword [eax + ebp*8 + 0x4971a0]
+fmul dword [edi + ref_00496994] ; fmul dword [edi + 0x496994]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x80]
+mov ecx, dword [esp + 0x80]
+push ecx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_00475462] ; movsx eax, word [0x475462]
+add eax, 0x3c
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x20
+cmp ebx, 0xc
+jl near loc_004238cc ; jl 0x4238cc
+
+loc_0042399e:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+add esp, 0x88
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004239b9:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov ebx, dword [esp + 0x1c]
+imul eax, ebx, 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+add edx, dword [eax + ref_00496b88] ; add edx, dword [eax + 0x496b88]
+mov esi, dword [eax + ref_00496b8c] ; mov esi, dword [eax + 0x496b8c]
+sub edx, esi
+mov dword [esp], edx
+xor edx, edx
+
+loc_004239e0:
+mov ecx, ebx
+shl ecx, 2
+sub ecx, ebx
+shl ecx, 5
+mov eax, edx
+fild dword [ecx + eax*8 + ref_004971a0] ; fild dword [ecx + eax*8 + 0x4971a0]
+shl eax, 3
+add eax, edx
+fmul dword [eax*4 + ref_00496994] ; fmul dword [eax*4 + 0x496994]
+mov eax, dword [esp]
+mov dword [esp + 4], eax
+fild dword [esp + 4]
+fstp dword [esp + 4]
+fadd dword [esp + 4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+inc edx
+cmp edx, 0xc
+jl short loc_004239e0 ; jl 0x4239e0
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, 0x34
+mov edx, 1
+
+loc_00423a2d:
+cmp edx, dword [ref_00498e98] ; cmp edx, dword [0x498e98]
+jg short loc_00423a83 ; jg 0x423a83
+xor ecx, ecx
+mov cl, byte [eax + 0x19]
+lea esi, [ebx + 1]
+cmp ecx, esi
+jne short loc_00423a7d ; jne 0x423a7d
+xor ecx, esi
+mov cx, word [eax + 0x1c]
+mov ebp, dword [esp]
+add ebp, ecx
+mov dword [esp], ebp
+cmp byte [eax + 0x18], 0
+je short loc_00423a63 ; je 0x423a63
+xor ecx, ecx
+mov cx, word [eax + 0x1e]
+lea edi, [ecx + ebp]
+mov dword [esp], edi
+jmp short loc_00423a7d ; jmp 0x423a7d
+
+loc_00423a63:
+cmp byte [eax + 0x1a], 0
+je short loc_00423a7d ; je 0x423a7d
+xor ecx, ecx
+mov cl, byte [eax + 0x1a]
+xor esi, esi
+mov si, word [eax + 0x1e]
+imul ecx, esi
+lea esi, [ecx + ebp]
+mov dword [esp], esi
+
+loc_00423a7d:
+inc edx
+add eax, 0x34
+jmp short loc_00423a2d ; jmp 0x423a2d
+
+loc_00423a83:
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, 0x38
+mov edx, 1
+mov ebp, dword [ref_00498e8c] ; mov ebp, dword [0x498e8c]
+
+loc_00423a96:
+cmp edx, ebp
+jg short loc_00423ac4 ; jg 0x423ac4
+movzx esi, byte [eax + 0x19]
+lea ecx, [ebx + 1]
+cmp esi, ecx
+jne short loc_00423abe ; jne 0x423abe
+xor ecx, ecx
+mov cl, byte [eax + 0x1a]
+xor esi, esi
+mov si, word [eax + 0x24]
+imul ecx, esi
+xor esi, esi
+mov si, word [eax + 0x22]
+add ecx, esi
+add dword [esp], ecx
+
+loc_00423abe:
+inc edx
+add eax, 0x38
+jmp short loc_00423a96 ; jmp 0x423a96
+
+loc_00423ac4:
+mov eax, dword [esp]
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00423acf:
+push ebx
+push esi
+push edi
+xor ebx, ebx
+xor esi, esi
+xor edi, edi
+
+loc_00423ad8:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00423afb ; jge 0x423afb
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00423af8 ; je 0x423af8
+push ebx
+call fcn_004239b9 ; call 0x4239b9
+add esp, 4
+add esi, eax
+inc edi
+
+loc_00423af8:
+inc ebx
+jmp short loc_00423ad8 ; jmp 0x423ad8
+
+loc_00423afb:
+mov eax, esi
+mov edx, esi
+sar edx, 0x1f
+idiv edi
+mov edx, eax
+sar edx, 0x1f
+mov ecx, dword [ref_0049908c] ; mov ecx, dword [0x49908c]
+idiv ecx
+mov ebx, eax
+cmp eax, dword [ref_004990e8] ; cmp eax, dword [0x4990e8]
+jle short loc_00423b20 ; jle 0x423b20
+mov dword [ref_004990e8], eax ; mov dword [0x4990e8], eax
+
+loc_00423b20:
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00423b24:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_00423b27: ; may contain a jump table
+dd loc_00423b5b
+dd loc_00423bd1
+dd loc_00423c0a
+dd loc_00423c48
+dd loc_00423c90
+
+fcn_00423b3b:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+xor ecx, ecx
+mov edx, dword [esp + 0x18]
+cmp edx, 4
+ja near loc_00423cd1 ; ja 0x423cd1
+mov eax, edx
+jmp dword [eax*4 + ref_00423b27] ; ujmp: jmp dword [eax*4 + 0x423b27]
+
+loc_00423b5b:
+mov eax, 1
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add edx, 0x34
+lea esi, [ebx + 1]
+
+loc_00423b6c:
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_00423b93 ; jg 0x423b93
+movzx edi, byte [edx + 0x19]
+cmp edi, esi
+jne short loc_00423b8d ; jne 0x423b8d
+mov edi, eax
+add edi, 0x7d0
+mov word [ecx*2 + ref_0048be70], di ; mov word [ecx*2 + 0x48be70], di
+inc ecx
+
+loc_00423b8d:
+inc eax
+add edx, 0x34
+jmp short loc_00423b6c ; jmp 0x423b6c
+
+loc_00423b93:
+mov eax, 1
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add edx, 0x38
+lea esi, [ebx + 1]
+mov ebp, dword [ref_00498e8c] ; mov ebp, dword [0x498e8c]
+
+loc_00423baa:
+cmp eax, ebp
+jg near loc_00423cd1 ; jg 0x423cd1
+movzx edi, byte [edx + 0x19]
+cmp edi, esi
+jne short loc_00423bcb ; jne 0x423bcb
+mov edi, eax
+add edi, 0xfa0
+mov word [ecx*2 + ref_0048be70], di ; mov word [ecx*2 + 0x48be70], di
+inc ecx
+
+loc_00423bcb:
+inc eax
+add edx, 0x38
+jmp short loc_00423baa ; jmp 0x423baa
+
+loc_00423bd1:
+mov eax, 1
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+
+loc_00423bdc:
+add edx, 0x34
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg near loc_00423cd1 ; jg 0x423cd1
+movzx edi, byte [edx + 0x19]
+lea esi, [ebx + 1]
+cmp edi, esi
+jne short loc_00423c07 ; jne 0x423c07
+mov edi, eax
+add edi, 0x7d0
+mov word [ecx*2 + ref_0048be70], di ; mov word [ecx*2 + 0x48be70], di
+inc ecx
+
+loc_00423c07:
+inc eax
+jmp short loc_00423bdc ; jmp 0x423bdc
+
+loc_00423c0a:
+mov eax, 1
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add edx, 0x38
+lea esi, [ebx + 1]
+mov ebp, dword [ref_00498e8c] ; mov ebp, dword [0x498e8c]
+
+loc_00423c21:
+cmp eax, ebp
+jg near loc_00423cd1 ; jg 0x423cd1
+movzx edi, byte [edx + 0x19]
+cmp edi, esi
+jne short loc_00423c42 ; jne 0x423c42
+mov edi, eax
+add edi, 0xfa0
+mov word [ecx*2 + ref_0048be70], di ; mov word [ecx*2 + 0x48be70], di
+inc ecx
+
+loc_00423c42:
+inc eax
+add edx, 0x38
+jmp short loc_00423c21 ; jmp 0x423c21
+
+loc_00423c48:
+mov eax, 1
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add edx, 0x34
+lea esi, [ebx + 1]
+
+loc_00423c59:
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg near loc_00423cd1 ; jg 0x423cd1
+movzx edi, byte [edx + 0x19]
+cmp edi, esi
+jne short loc_00423c8a ; jne 0x423c8a
+cmp byte [edx + 0x1a], 0
+je short loc_00423c8a ; je 0x423c8a
+cmp byte [edx + 0x18], 0
+jne short loc_00423c8a ; jne 0x423c8a
+mov edi, eax
+add edi, 0x7d0
+mov word [ecx*2 + ref_0048be70], di ; mov word [ecx*2 + 0x48be70], di
+inc ecx
+
+loc_00423c8a:
+inc eax
+add edx, 0x34
+jmp short loc_00423c59 ; jmp 0x423c59
+
+loc_00423c90:
+mov eax, 1
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+
+loc_00423c9b:
+add edx, 0x34
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_00423cd1 ; jg 0x423cd1
+movzx edi, byte [edx + 0x19]
+lea esi, [ebx + 1]
+cmp edi, esi
+jne short loc_00423cce ; jne 0x423cce
+cmp byte [edx + 0x1a], 0
+je short loc_00423cce ; je 0x423cce
+cmp byte [edx + 0x18], 0
+je short loc_00423cce ; je 0x423cce
+mov edi, eax
+add edi, 0x7d0
+mov word [ecx*2 + ref_0048be70], di ; mov word [ecx*2 + 0x48be70], di
+inc ecx
+
+loc_00423cce:
+inc eax
+jmp short loc_00423c9b ; jmp 0x423c9b
+
+loc_00423cd1:
+mov eax, ecx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00423cd8:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_00423cdb: ; may contain a jump table
+dd loc_004241f2
+dd loc_0042420b
+dd loc_0042420b
+dd loc_0042420b
+dd loc_0042424e
+dd loc_004242cd
+
+fcn_00423cf3:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x6c]
+mov edi, dword [esp + 0x70]
+cmp eax, 0x201
+jb short loc_00423d41 ; jb 0x423d41
+jbe near loc_00423dd1 ; jbe 0x423dd1
+cmp eax, 0x203
+jb near loc_004241d7 ; jb 0x4241d7
+jbe near loc_00423dd1 ; jbe 0x423dd1
+cmp eax, 0x205
+jb near loc_0042447e ; jb 0x42447e
+jbe near loc_00424409 ; jbe 0x424409
+cmp eax, 0x401
+je short loc_00423d6c ; je 0x423d6c
+jmp near loc_0042447e ; jmp 0x42447e
+
+loc_00423d41:
+cmp eax, 0x100
+jb short loc_00423d5e ; jb 0x423d5e
+jbe near loc_00424374 ; jbe 0x424374
+cmp eax, 0x101
+je near loc_00424366 ; je 0x424366
+jmp near loc_0042447e ; jmp 0x42447e
+
+loc_00423d5e:
+cmp eax, 0xf
+je near loc_00424422 ; je 0x424422
+jmp near loc_0042447e ; jmp 0x42447e
+
+loc_00423d6c:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov dword [ref_0048c27c], eax ; mov dword [0x48c27c], eax
+xor ah, ah
+mov byte [ref_0048c284], ah ; mov byte [0x48c284], ah
+xor edx, edx
+mov word [ref_0048c285], dx ; mov word [0x48c285], dx
+call fcn_00422443 ; call 0x422443
+call fcn_00423070 ; call 0x423070
+cmp dword [ref_004753fc], 1 ; cmp dword [0x4753fc], 1
+jne short loc_00423dab ; jne 0x423dab
+push 0
+mov ecx, dword [ref_00475400] ; mov ecx, dword [0x475400]
+push ecx
+call fcn_004225a3 ; call 0x4225a3
+add esp, 8
+
+loc_00423dab:
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+mov ebx, dword [esp + 0x6c]
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00423dc5:
+xor eax, eax
+
+loc_00423dc7:
+add esp, 0x50
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_00423dd1:
+movzx ebp, di
+mov eax, edi
+shr eax, 0x10
+and eax, 0xffff
+xor edi, edi
+mov di, ax
+cmp ebp, 0x1ec
+jl near loc_00423ebb ; jl 0x423ebb
+cmp ebp, 0x25a
+jg near loc_00423ebb ; jg 0x423ebb
+cmp edi, 9
+jl near loc_00423ebb ; jl 0x423ebb
+cmp edi, 0x26
+jg near loc_00423ebb ; jg 0x423ebb
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x1d
+push 0x6e
+push 9
+push 0x1ec
+push 9
+push 0x1ec
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x17
+push 0x223
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x54
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x40], 0x1ec
+mov dword [esp + 0x44], 9
+mov dword [esp + 0x48], 0x25a
+mov dword [esp + 0x4c], 0x26
+push 0
+lea eax, [esp + 0x44]
+push eax
+mov eax, dword [esp + 0x6c]
+push eax
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c284], 1 ; mov byte [0x48c284], 1
+jmp near loc_00423dc5 ; jmp 0x423dc5
+
+loc_00423ebb:
+cmp dword [ref_004753fc], 1 ; cmp dword [0x4753fc], 1
+jne near loc_00424042 ; jne 0x424042
+xor ebx, ebx
+mov esi, 0x78
+jmp short loc_00423eda ; jmp 0x423eda
+
+loc_00423ed1:
+inc ebx
+add esi, 0x4b
+cmp ebx, 5
+jge short loc_00423f36 ; jge 0x423f36
+
+loc_00423eda:
+cmp byte [ref_0048c284], 0 ; cmp byte [0x48c284], 0
+jne short loc_00423f36 ; jne 0x423f36
+cmp ebp, esi
+jl short loc_00423ed1 ; jl 0x423ed1
+lea eax, [esi + 0x4b]
+cmp ebp, eax
+jg short loc_00423ed1 ; jg 0x423ed1
+cmp edi, 0x40
+jl short loc_00423ed1 ; jl 0x423ed1
+cmp edi, 0x61
+jg short loc_00423ed1 ; jg 0x423ed1
+cmp ebx, dword [ref_00475400] ; cmp ebx, dword [0x475400]
+je short loc_00423ed1 ; je 0x423ed1
+mov dword [ref_00475400], ebx ; mov dword [0x475400], ebx
+call fcn_00423070 ; call 0x423070
+push 0
+mov edx, dword [ref_00475400] ; mov edx, dword [0x475400]
+push edx
+call fcn_004225a3 ; call 0x4225a3
+add esp, 8
+push 0
+push 0
+mov ecx, dword [esp + 0x6c]
+push ecx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor ch, ch
+mov byte [ref_0048c284], ch ; mov byte [0x48c284], ch
+jmp short loc_00423ed1 ; jmp 0x423ed1
+
+loc_00423f36:
+cmp byte [ref_0048c284], 0 ; cmp byte [0x48c284], 0
+jne near loc_00424042 ; jne 0x424042
+cmp ebp, 0x251
+jle near loc_00424042 ; jle 0x424042
+cmp ebp, 0x26f
+jge near loc_00424042 ; jge 0x424042
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, 0x251
+mov dword [esp + 0x40], ebx
+mov dword [esp + 0x48], 0x26f
+cmp edi, 0x171
+jle short loc_00423fd9 ; jle 0x423fd9
+cmp edi, 0x18f
+jge short loc_00423fd9 ; jge 0x423fd9
+mov eax, 0x171
+mov dword [esp + 0x44], eax
+mov dword [esp + 0x4c], 0x18f
+push eax
+push ebx
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x60
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+lea eax, [esp + 0x44]
+push eax
+mov ebx, dword [esp + 0x6c]
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c284], 5 ; mov byte [0x48c284], 5
+jmp short loc_00424032 ; jmp 0x424032
+
+loc_00423fd9:
+cmp edi, 0x1a1
+jle short loc_00424032 ; jle 0x424032
+cmp edi, 0x1bf
+jge short loc_00424032 ; jge 0x424032
+mov eax, 0x1a1
+mov dword [esp + 0x44], eax
+mov dword [esp + 0x4c], 0x1dd
+push eax
+mov ecx, dword [esp + 0x44]
+push ecx
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x6c
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+lea eax, [esp + 0x44]
+push eax
+mov esi, dword [esp + 0x6c]
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c284], 6 ; mov byte [0x48c284], 6
+
+loc_00424032:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_00424042:
+xor ebx, ebx
+mov esi, 0x10
+
+loc_00424049:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_004240d1 ; jge 0x4240d1
+cmp byte [ref_0048c284], 0 ; cmp byte [0x48c284], 0
+jne near loc_004240d1 ; jne 0x4240d1
+mov cl, byte [ebx + ref_0048c278] ; mov cl, byte [ebx + 0x48c278]
+cmp cl, 0xff
+je short loc_004240d1 ; je 0x4240d1
+cmp ebp, esi
+jl short loc_004240c8 ; jl 0x4240c8
+lea eax, [esi + 0x58]
+cmp ebp, eax
+jg short loc_004240c8 ; jg 0x4240c8
+cmp edi, 0xe
+jl short loc_004240c8 ; jl 0x4240c8
+cmp edi, 0x2f
+jg short loc_004240c8 ; jg 0x4240c8
+xor eax, eax
+mov al, cl
+cmp eax, dword [ref_0048c27c] ; cmp eax, dword [0x48c27c]
+je short loc_004240c8 ; je 0x4240c8
+mov dword [ref_0048c27c], eax ; mov dword [0x48c27c], eax
+call fcn_00423070 ; call 0x423070
+cmp dword [ref_004753fc], 1 ; cmp dword [0x4753fc], 1
+jne short loc_004240b1 ; jne 0x4240b1
+push 0
+mov eax, dword [ref_00475400] ; mov eax, dword [0x475400]
+push eax
+call fcn_004225a3 ; call 0x4225a3
+add esp, 8
+
+loc_004240b1:
+push 0
+push 0
+mov edx, dword [esp + 0x6c]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c284], 7 ; mov byte [0x48c284], 7
+
+loc_004240c8:
+inc ebx
+add esi, 0x58
+jmp near loc_00424049 ; jmp 0x424049
+
+loc_004240d1:
+xor ebx, ebx
+mov esi, 0x11a
+jmp near loc_00424163 ; jmp 0x424163
+
+loc_004240dd:
+push 0
+push 3
+push 0x101010
+push 0xc0c0c0
+
+loc_004240eb:
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+lea eax, [esi + 0x15]
+push eax
+push 0x3d
+mov edx, dword [ebx*4 + ref_0047540c] ; mov edx, dword [ebx*4 + 0x47540c]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x40], 0xc
+mov dword [esp + 0x44], esi
+mov dword [esp + 0x48], 0x6d
+lea eax, [esi + 0x28]
+mov dword [esp + 0x4c], eax
+push 0
+lea eax, [esp + 0x44]
+push eax
+mov edx, dword [esp + 0x6c]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov al, bl
+add al, 2
+mov byte [ref_0048c284], al ; mov byte [0x48c284], al
+
+loc_00424156:
+inc ebx
+add esi, 0x40
+cmp ebx, 3
+jge near loc_00423dc5 ; jge 0x423dc5
+
+loc_00424163:
+cmp byte [ref_0048c284], 0 ; cmp byte [0x48c284], 0
+jne near loc_00423dc5 ; jne 0x423dc5
+cmp ebp, 0xc
+jl short loc_00424156 ; jl 0x424156
+cmp ebp, 0x6d
+jg short loc_00424156 ; jg 0x424156
+cmp edi, esi
+jl short loc_00424156 ; jl 0x424156
+lea eax, [esi + 0x28]
+cmp edi, eax
+jg short loc_00424156 ; jg 0x424156
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push esi
+push 0xc
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x9c
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+cmp ebx, dword [ref_004753fc] ; cmp ebx, dword [0x4753fc]
+jne near loc_004240dd ; jne 0x4240dd
+push 0
+push 3
+push 0x101010
+push 0xffffff
+jmp near loc_004240eb ; jmp 0x4240eb
+
+loc_004241d7:
+mov al, byte [ref_0048c284] ; mov al, byte [0x48c284]
+dec al
+cmp al, 5
+ja near loc_00424359 ; ja 0x424359
+and eax, 0xff
+jmp dword [eax*4 + ref_00423cdb] ; ujmp: jmp dword [eax*4 + 0x423cdb]
+
+loc_004241f2:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00424359 ; jmp 0x424359
+
+loc_0042420b:
+xor eax, eax
+mov al, byte [ref_0048c284] ; mov al, byte [0x48c284]
+sub eax, 2
+mov dword [ref_004753fc], eax ; mov dword [0x4753fc], eax
+call fcn_00423070 ; call 0x423070
+cmp dword [ref_004753fc], 1 ; cmp dword [0x4753fc], 1
+jne short loc_00424239 ; jne 0x424239
+push 0
+mov edi, dword [ref_00475400] ; mov edi, dword [0x475400]
+push edi
+call fcn_004225a3 ; call 0x4225a3
+add esp, 8
+
+loc_00424239:
+push 0
+push 0
+mov ebp, dword [esp + 0x6c]
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00424359 ; jmp 0x424359
+
+loc_0042424e:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, 0x251
+mov dword [esp + 0x40], esi
+mov dword [esp + 0x48], 0x26f
+mov ebp, 0x171
+mov dword [esp + 0x44], ebp
+mov dword [esp + 0x4c], 0x18f
+push 0x1e
+push 0x1e
+push ebp
+push esi
+push ebp
+push esi
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x18
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+mov ecx, dword [esp + 0x6c]
+push ecx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 2
+jmp short loc_0042434a ; jmp 0x42434a
+
+loc_004242cd:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, 0x251
+mov dword [esp + 0x40], esi
+mov dword [esp + 0x48], 0x26f
+mov ebp, 0x1a1
+mov dword [esp + 0x44], ebp
+mov dword [esp + 0x4c], 0x1dd
+push 0x1e
+push 0x1e
+push ebp
+push esi
+push ebp
+push esi
+mov eax, dword [ref_0048c270] ; mov eax, dword [0x48c270]
+add eax, 0x18
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+mov ecx, dword [esp + 0x6c]
+push ecx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 1
+
+loc_0042434a:
+mov ebx, dword [ref_00475400] ; mov ebx, dword [0x475400]
+push ebx
+call fcn_004225a3 ; call 0x4225a3
+add esp, 8
+
+loc_00424359:
+xor dl, dl
+mov byte [ref_0048c284], dl ; mov byte [0x48c284], dl
+jmp near loc_00423dc5 ; jmp 0x423dc5
+
+loc_00424366:
+xor ebx, ebx
+mov word [ref_0048c285], bx ; mov word [0x48c285], bx
+jmp near loc_00423dc5 ; jmp 0x423dc5
+
+loc_00424374:
+cmp dword [ref_004753fc], 1 ; cmp dword [0x4753fc], 1
+jne near loc_00423dc5 ; jne 0x423dc5
+cmp edx, 0x11
+jne short loc_00424391 ; jne 0x424391
+mov word [ref_0048c285], 0x1100 ; mov word [0x48c285], 0x1100
+jmp short loc_00424398 ; jmp 0x424398
+
+loc_00424391:
+or word [ref_0048c285], dx ; or word [0x48c285], dx
+
+loc_00424398:
+xor edx, edx
+mov dx, word [ref_0049719a] ; mov dx, word [0x49719a]
+xor eax, eax
+mov ax, word [ref_0048c285] ; mov ax, word [0x48c285]
+cmp eax, edx
+jne short loc_004243c4 ; jne 0x4243c4
+mov byte [ref_0048c284], 5 ; mov byte [0x48c284], 5
+push 0
+push 0
+push 0x202
+mov esi, dword [esp + 0x70]
+push esi
+jmp short loc_004243e6 ; jmp 0x4243e6
+
+loc_004243c4:
+xor edx, edx
+mov dx, word [ref_0049719c] ; mov dx, word [0x49719c]
+cmp eax, edx
+jne short loc_004243ed ; jne 0x4243ed
+mov byte [ref_0048c284], 6 ; mov byte [0x48c284], 6
+push 0
+push 0
+push 0x202
+mov ebx, dword [esp + 0x70]
+push ebx
+
+loc_004243e6:
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_004243ed:
+cmp word [ref_0048c285], 0x1100 ; cmp word [0x48c285], 0x1100
+je near loc_00423dc5 ; je 0x423dc5
+xor eax, eax
+mov word [ref_0048c285], ax ; mov word [0x48c285], ax
+jmp near loc_00423dc5 ; jmp 0x423dc5
+
+loc_00424409:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00423dc5 ; jmp 0x423dc5
+
+loc_00424422:
+mov eax, esp
+push eax
+mov ebp, dword [esp + 0x68]
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0xc]
+push ebx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00423dc5 ; jmp 0x423dc5
+
+loc_0042447e:
+push edi
+push edx
+push eax
+mov edi, dword [esp + 0x70]
+push edi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00423dc7 ; jmp 0x423dc7
+
+fcn_00424492:
+push ebx
+push esi
+push 0
+push 0
+push 9
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c270], eax ; mov dword [0x48c270], eax
+push 0
+push 0
+push 0x4a
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c274], eax ; mov dword [0x48c274], eax
+push 0
+push fcn_00423cf3 ; push 0x423cf3
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+mov ebx, dword [ref_0048c270] ; mov ebx, dword [0x48c270]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048c274] ; mov esi, dword [0x48c274]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+pop esi
+pop ebx
+ret
+
+fcn_00424502:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x18]
+test ebx, ebx
+jne short loc_00424515 ; jne 0x424515
+mov ebx, 0x2a
+jmp short loc_0042451a ; jmp 0x42451a
+
+loc_00424515:
+mov ebx, 0xc4
+
+loc_0042451a:
+mov dword [ref_0048c288], 0xe3 ; mov dword [0x48c288], 0xe3
+mov dword [ref_0048c28c], ebx ; mov dword [0x48c28c], ebx
+mov dword [ref_0048c290], 0x19d ; mov dword [0x48c290], 0x19d
+lea eax, [ebx + 0x58]
+mov dword [ref_0048c294], eax ; mov dword [0x48c294], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x58
+push 0xba
+push ebx
+push 0xe3
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048c2b0], eax ; mov dword [0x48c2b0], eax
+push ebx
+push 0xe3
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x48
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 1
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 4
+add ebx, 0x2c
+push ebx
+push 0x140
+mov edi, dword [esp + 0x20]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push ref_0048c288 ; push 0x48c288
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0048c288 ; push 0x48c288
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+mov ecx, dword [ref_0048c28c] ; mov ecx, dword [0x48c28c]
+push ecx
+mov ebx, dword [ref_0048c288] ; mov ebx, dword [0x48c288]
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+push ref_0048c288 ; push 0x48c288
+call fcn_00402250 ; call 0x402250
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00424620:
+push ebx
+push edi
+push ebp
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov edx, dword [ref_0048c28c] ; mov edx, dword [0x48c28c]
+push edx
+mov ecx, dword [ref_0048c288] ; mov ecx, dword [0x48c288]
+push ecx
+mov ebx, dword [ref_0048c2b0] ; mov ebx, dword [0x48c2b0]
+push ebx
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov edi, dword [ref_0048c2b0] ; mov edi, dword [0x48c2b0]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_0048c288 ; push 0x48c288
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0048c288 ; push 0x48c288
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+mov ecx, dword [ref_0048c28c] ; mov ecx, dword [0x48c28c]
+push ecx
+mov ebx, dword [ref_0048c288] ; mov ebx, dword [0x48c288]
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+push ref_0048c288 ; push 0x48c288
+call fcn_00402250 ; call 0x402250
+add esp, 4
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_004246c5:
+push ebx
+push esi
+push edi
+push ebp
+mov edi, dword [esp + 0x14]
+mov esi, dword [esp + 0x1c]
+xor edx, edx
+jmp short loc_004246df ; jmp 0x4246df
+
+loc_004246d5:
+inc edx
+cmp edx, 7
+jge near loc_004247d0 ; jge 0x4247d0
+
+loc_004246df:
+imul ebx, edi, 0x54
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ebx
+mov bl, byte [eax + ref_004967e0] ; mov bl, byte [eax + 0x4967e0]
+test bl, bl
+je short loc_00424712 ; je 0x424712
+xor ecx, ecx
+mov cl, bl
+cmp ecx, dword [esp + 0x18]
+jne short loc_004246d5 ; jne 0x4246d5
+mov ax, word [eax + ref_004967e2] ; mov ax, word [eax + 0x4967e2]
+and eax, 0xffff
+cmp eax, esi
+jne short loc_004246d5 ; jne 0x4246d5
+
+loc_00424712:
+imul ebx, edi, 0x54
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ebx
+mov bl, byte [esp + 0x18]
+mov byte [eax + ref_004967e0], bl ; mov byte [eax + 0x4967e0], bl
+xor bh, bh
+mov byte [eax + ref_004967e1], bh ; mov byte [eax + 0x4967e1], bh
+mov word [eax + ref_004967e2], si ; mov word [eax + 0x4967e2], si
+mov ecx, dword [esp + 0x20]
+mov dword [eax + ref_004967e4], ecx ; mov dword [eax + 0x4967e4], ecx
+mov ebp, dword [esp + 0x18]
+cmp ebp, 1
+jne short loc_0042475d ; jne 0x42475d
+mov edx, dword [esp + 0x24]
+mov word [eax + ref_004967e8], dx ; mov word [eax + 0x4967e8], dx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0042475d:
+cmp ebp, 2
+jne short loc_004247d0 ; jne 0x4247d0
+cmp esi, 0x7d0
+jle short loc_0042479a ; jle 0x42479a
+cmp esi, 0xfa0
+jge short loc_0042479a ; jge 0x42479a
+sub esi, 0x7d0
+imul edx, esi, 0x34
+mov ecx, dword [ref_00498e84] ; mov ecx, dword [0x498e84]
+mov bl, byte [ecx + edx + 0x18]
+mov byte [eax + ref_004967ea], bl ; mov byte [eax + 0x4967ea], bl
+mov dl, byte [ecx + edx + 0x1a]
+mov byte [eax + ref_004967eb], dl ; mov byte [eax + 0x4967eb], dl
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0042479a:
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov ecx, eax
+shl eax, 3
+sub eax, ecx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+add ecx, eax
+imul edi, edi, 0x54
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov dl, byte [ecx + 0x18]
+mov byte [edi + eax*4 + ref_004967ea], dl ; mov byte [edi + eax*4 + 0x4967ea], dl
+mov dl, byte [ecx + 0x1a]
+mov byte [edi + eax*4 + ref_004967eb], dl ; mov byte [edi + eax*4 + 0x4967eb], dl
+
+loc_004247d0:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004247d5:
+push ebx
+mov ecx, dword [esp + 0xc]
+mov ebx, 6
+sub ebx, ecx
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+push eax
+imul ebx, dword [esp + 0xc], 0x54
+add ebx, ref_004967e0 ; add ebx, 0x4967e0
+lea edx, [ecx + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ebx
+push eax
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 2
+add eax, ebx
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0xc
+push 0
+add ebx, 0x48
+push ebx
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+pop ebx
+ret
+
+ref_0042482e: ; may contain a jump table
+dd loc_0042485e
+dd loc_00424897
+dd loc_00424934
+dd loc_00424993
+
+fcn_0042483e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+xor ebx, ebx
+
+loc_00424847:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_004249ba ; jge 0x4249ba
+xor ebp, ebp
+xor esi, esi
+xor edi, edi
+jmp near loc_0042496a ; jmp 0x42496a
+
+loc_0042485e:
+xor edx, edx
+mov dx, word [eax + ref_004967e2] ; mov dx, word [eax + 0x4967e2]
+shl edx, 3
+mov dword [esp], edx
+mov edx, ebx
+shl edx, 2
+sub edx, ebx
+shl edx, 5
+add edx, dword [esp]
+mov ax, word [eax + ref_004967e8] ; mov ax, word [eax + 0x4967e8]
+and eax, 0xffff
+cmp eax, dword [edx + ref_004971a0] ; cmp eax, dword [edx + 0x4971a0]
+jle near loc_004249ad ; jle 0x4249ad
+jmp near loc_00424955 ; jmp 0x424955
+
+loc_00424897:
+xor edx, edx
+mov dx, word [eax + ref_004967e2] ; mov dx, word [eax + 0x4967e2]
+cmp edx, 0x7d0
+jle short loc_004248f9 ; jle 0x4248f9
+cmp edx, 0xfa0
+jge short loc_004248f9 ; jge 0x4248f9
+sub edx, 0x7d0
+imul edx, edx, 0x34
+mov ecx, dword [ref_00498e84] ; mov ecx, dword [0x498e84]
+add edx, ecx
+xor ecx, ecx
+mov cl, byte [edx + 0x19]
+mov dword [esp], ecx
+lea ecx, [ebx + 1]
+mov dword [esp + 4], ecx
+mov ecx, dword [esp]
+cmp ecx, dword [esp + 4]
+jne near loc_00424955 ; jne 0x424955
+
+loc_004248dd:
+mov cl, byte [edx + 0x18]
+cmp cl, byte [eax + ref_004967ea] ; cmp cl, byte [eax + 0x4967ea]
+jne short loc_00424955 ; jne 0x424955
+mov dl, byte [edx + 0x1a]
+cmp dl, byte [eax + ref_004967eb] ; cmp dl, byte [eax + 0x4967eb]
+je near loc_004249ad ; je 0x4249ad
+jmp short loc_00424955 ; jmp 0x424955
+
+loc_004248f9:
+lea eax, [edx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add edx, eax
+xor eax, eax
+mov al, byte [edx + 0x19]
+lea ecx, [ebx + 1]
+cmp eax, ecx
+jne short loc_00424955 ; jne 0x424955
+imul eax, ebx, 0x54
+mov dword [esp + 8], eax
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 2
+add eax, dword [esp + 8]
+jmp short loc_004248dd ; jmp 0x4248dd
+
+loc_00424934:
+xor ecx, ecx
+mov cx, word [eax + ref_004967e2] ; mov cx, word [eax + 0x4967e2]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [ecx + eax + ref_0049915b], 0 ; cmp byte [ecx + eax + 0x49915b], 0
+
+loc_00424953:
+jne short loc_004249ad ; jne 0x4249ad
+
+loc_00424955:
+push esi
+push ebx
+call fcn_004247d5 ; call 0x4247d5
+add esp, 8
+mov edi, 1
+
+loc_00424964:
+inc ebp
+cmp ebp, 7
+jge short loc_004249b4 ; jge 0x4249b4
+
+loc_0042496a:
+imul ecx, ebx, 0x54
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 2
+add eax, ecx
+mov dl, byte [eax + ref_004967e0] ; mov dl, byte [eax + 0x4967e0]
+dec dl
+cmp dl, 3
+ja short loc_004249ad ; ja 0x4249ad
+and edx, 0xff
+jmp dword [edx*4 + ref_0042482e] ; ujmp: jmp dword [edx*4 + 0x42482e]
+
+loc_00424993:
+mov ax, word [eax + ref_004967e2] ; mov ax, word [eax + 0x4967e2]
+and eax, 0xffff
+push eax
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+test eax, eax
+jmp short loc_00424953 ; jmp 0x424953
+
+loc_004249ad:
+test edi, edi
+jne short loc_00424964 ; jne 0x424964
+inc esi
+jmp short loc_00424964 ; jmp 0x424964
+
+loc_004249b4:
+inc ebx
+jmp near loc_00424847 ; jmp 0x424847
+
+loc_004249ba:
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004249c2:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x42
+push 0x16
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor edi, edi
+mov ebp, 0x72
+
+loc_00424a02:
+cmp edi, dword [ref_00499114] ; cmp edi, dword [0x499114]
+jge near loc_00424a87 ; jge 0x424a87
+xor ebx, ebx
+mov esi, 0x68
+jmp short loc_00424a1d ; jmp 0x424a1d
+
+loc_00424a17:
+inc ebx
+cmp ebx, 7
+jge short loc_00424a7e ; jge 0x424a7e
+
+loc_00424a1d:
+imul ecx, edi, 0x54
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+add eax, ecx
+cmp byte [eax + ref_004967e0], 0 ; cmp byte [eax + 0x4967e0], 0
+je short loc_00424a17 ; je 0x424a17
+xor edx, edx
+mov dl, byte [eax + ref_004967e0] ; mov dl, byte [eax + 0x4967e0]
+imul eax, edi, 0x68
+mov al, byte [eax + ref_00496b7c] ; mov al, byte [eax + 0x496b7c]
+and eax, 0xff
+shl eax, 2
+add edx, eax
+add edx, 8
+push ebp
+push esi
+mov ecx, dword [ref_0048c298] ; mov ecx, dword [0x48c298]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+add esi, 0x48
+jmp short loc_00424a17 ; jmp 0x424a17
+
+loc_00424a7e:
+inc edi
+add ebp, 0x48
+jmp near loc_00424a02 ; jmp 0x424a02
+
+loc_00424a87:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp], 0x16
+mov dword [esp + 4], 0x42
+mov dword [esp + 8], 0x26a
+mov dword [esp + 0xc], 0x19e
+push 0
+lea eax, [esp + 4]
+push eax
+mov edi, dword [ref_0048a0d4] ; mov edi, dword [0x48a0d4]
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00424ad3:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_00424ad6: ; may contain a jump table
+dd loc_00424c62
+dd loc_00424f5f
+dd loc_004250fe
+dd loc_004252a0
+dd loc_0042540c
+
+fcn_00424aea:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x9c
+mov edi, dword [esp + 0xb0]
+mov ebx, dword [esp + 0xb4]
+mov esi, 0x70
+cmp edi, dword [ref_004754c2] ; cmp edi, dword [0x4754c2]
+je short loc_00424b24 ; je 0x424b24
+push edi
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00423b3b ; call 0x423b3b
+add esp, 8
+mov dword [ref_0048c2b4], eax ; mov dword [0x48c2b4], eax
+
+loc_00424b24:
+push 0
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+mov ebp, eax
+cmp ebx, 1
+jb short loc_00424b45 ; jb 0x424b45
+jbe short loc_00424b51 ; jbe 0x424b51
+cmp ebx, 2
+je short loc_00424b67 ; je 0x424b67
+jmp short loc_00424b7d ; jmp 0x424b7d
+
+loc_00424b45:
+test ebx, ebx
+jne short loc_00424b7d ; jne 0x424b7d
+mov dword [ref_004754ba], ebx ; mov dword [0x4754ba], ebx
+jmp short loc_00424b7d ; jmp 0x424b7d
+
+loc_00424b51:
+mov eax, dword [ref_004754ba] ; mov eax, dword [0x4754ba]
+add eax, 0xb
+cmp eax, dword [ref_0048c2b4] ; cmp eax, dword [0x48c2b4]
+jge near loc_004255be ; jge 0x4255be
+jmp short loc_00424b78 ; jmp 0x424b78
+
+loc_00424b67:
+mov ebx, dword [ref_004754ba] ; mov ebx, dword [0x4754ba]
+test ebx, ebx
+je near loc_004255be ; je 0x4255be
+lea eax, [ebx - 0xb]
+
+loc_00424b78:
+mov dword [ref_004754ba], eax ; mov dword [0x4754ba], eax
+
+loc_00424b7d:
+mov eax, dword [ref_004754ba] ; mov eax, dword [0x4754ba]
+add eax, 0xb
+mov ebx, dword [ref_0048c2b4] ; mov ebx, dword [0x48c2b4]
+cmp eax, ebx
+jle short loc_00424ba0 ; jle 0x424ba0
+mov eax, ebx
+mov edx, dword [ref_004754ba] ; mov edx, dword [0x4754ba]
+sub eax, edx
+mov dword [ref_004754be], eax ; mov dword [0x4754be], eax
+jmp short loc_00424baa ; jmp 0x424baa
+
+loc_00424ba0:
+mov dword [ref_004754be], 0xb ; mov dword [0x4754be], 0xb
+
+loc_00424baa:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x20
+push 0x70
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x24
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x20
+mov ebx, edi
+shl ebx, 2
+add ebx, edi
+shl ebx, 4
+lea eax, [ebx + 0x70]
+push eax
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0xf0
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 1
+push 2
+push 0
+push 0x101010
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x30
+add ebx, 0x98
+push ebx
+mov ebx, edi
+shl ebx, 2
+mov edx, dword [ebx + ref_004753d4] ; mov edx, dword [ebx + 0x4753d4]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+cmp edi, 4
+ja near loc_00425563 ; ja 0x425563
+jmp dword [ebx + ref_00424ad6] ; ujmp: jmp dword [ebx + 0x424ad6]
+
+loc_00424c62:
+xor edi, edi
+
+loc_00424c64:
+cmp edi, dword [ref_004754be] ; cmp edi, dword [0x4754be]
+jge near loc_00425563 ; jge 0x425563
+mov eax, dword [ref_004754ba] ; mov eax, dword [0x4754ba]
+add eax, edi
+add eax, eax
+mov dx, word [eax + ref_0048be70] ; mov dx, word [eax + 0x48be70]
+cmp dx, 0xfa0
+jae near loc_00424e06 ; jae 0x424e06
+mov eax, edx
+and eax, 0xffff
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_004754b0] ; movsx eax, word [0x4754b0]
+push eax
+lea eax, [ebx + 4]
+mov dword [esp + 0xa0], eax
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x18], 0
+jne short loc_00424d03 ; jne 0x424d03
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov edx, dword [eax*4 + ref_00475138] ; mov edx, dword [eax*4 + 0x475138]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [esp + 0x94]
+push ecx
+xor eax, eax
+mov al, byte [ebx + 0x19]
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+push eax
+jmp short loc_00424d1e ; jmp 0x424d1e
+
+loc_00424d03:
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+push ref_00463e30 ; push 0x463e30
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ebp
+
+loc_00424d1e:
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b6] ; movsx eax, word [0x4754b6]
+add eax, 0x1d
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x1e]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x1c]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b4] ; movsx eax, word [0x4754b4]
+add eax, 0x21
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ebx + 0x30]
+test ecx, ecx
+je short loc_00424df0 ; je 0x424df0
+mov eax, ecx
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov eax, dword [ebx + 0x30]
+shr eax, 8
+and eax, 0xf
+mov dword [esp + 0x90], eax
+mov eax, dword [ebx + 0x30]
+
+loc_00424db8:
+and eax, 0xff
+push eax
+mov ebx, dword [esp + 0x94]
+push ebx
+push edx
+push ref_00463e37 ; push 0x463e37
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+jmp near loc_00424f4e ; jmp 0x424f4e
+
+loc_00424df0:
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+push ref_00463e42 ; push 0x463e42
+push ecx
+jmp near loc_00424f4e ; jmp 0x424f4e
+
+loc_00424e06:
+mov eax, edx
+and eax, 0xffff
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_004754b0] ; movsx eax, word [0x4754b0]
+push eax
+lea eax, [ebx + 4]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x1a], 0
+je short loc_00424e5d ; je 0x424e5d
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x18]
+mov edx, dword [eax*4 + ref_00475150] ; mov edx, dword [eax*4 + 0x475150]
+push edx
+jmp short loc_00424e6d ; jmp 0x424e6d
+
+loc_00424e5d:
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+push ref_00463e49 ; push 0x463e49
+
+loc_00424e6d:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov ax, word [ebx + 0x24]
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x22]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b4] ; movsx eax, word [0x4754b4]
+add eax, 0x21
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x18], 0
+je short loc_00424ee3 ; je 0x424ee3
+cmp byte [ebx + 0x1a], 0
+je short loc_00424ee3 ; je 0x424ee3
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov ax, word [ebx + eax*2 + 0x24]
+and eax, 0xffff
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+jmp short loc_00424ee5 ; jmp 0x424ee5
+
+loc_00424ee3:
+xor eax, eax
+
+loc_00424ee5:
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b6] ; movsx eax, word [0x4754b6]
+add eax, 0x1d
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ebx + 0x34]
+test ecx, ecx
+je short loc_00424f3d ; je 0x424f3d
+mov eax, ecx
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov eax, dword [ebx + 0x34]
+shr eax, 8
+and eax, 0xf
+mov dword [esp + 0x90], eax
+mov eax, dword [ebx + 0x34]
+jmp near loc_00424db8 ; jmp 0x424db8
+
+loc_00424f3d:
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+push ref_00463e42 ; push 0x463e42
+push ecx
+
+loc_00424f4e:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_00424c64 ; jmp 0x424c64
+
+loc_00424f5f:
+xor edi, edi
+
+loc_00424f61:
+cmp edi, dword [ref_004754be] ; cmp edi, dword [0x4754be]
+jge near loc_00425563 ; jge 0x425563
+mov eax, dword [ref_004754ba] ; mov eax, dword [0x4754ba]
+add eax, edi
+mov ax, word [eax*2 + ref_0048be70] ; mov ax, word [eax*2 + 0x48be70]
+and eax, 0xffff
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_004754b0] ; movsx eax, word [0x4754b0]
+push eax
+lea eax, [ebx + 4]
+mov dword [esp + 0xa4], eax
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x18], 0
+jne short loc_00424ff2 ; jne 0x424ff2
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov ecx, dword [eax*4 + ref_00475138] ; mov ecx, dword [eax*4 + 0x475138]
+push ecx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [esp + 0x98]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x19]
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+push eax
+jmp short loc_0042500d ; jmp 0x42500d
+
+loc_00424ff2:
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+push ref_00463e30 ; push 0x463e30
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ebp
+
+loc_0042500d:
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b6] ; movsx eax, word [0x4754b6]
+add eax, 0x1d
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x1e]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x1c]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b4] ; movsx eax, word [0x4754b4]
+add eax, 0x21
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ebx + 0x30]
+test ecx, ecx
+je short loc_004250dc ; je 0x4250dc
+mov eax, ecx
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov eax, dword [ebx + 0x30]
+shr eax, 8
+and eax, 0xf
+mov dword [esp + 0x90], eax
+mov eax, dword [ebx + 0x30]
+and eax, 0xff
+push eax
+mov ebx, dword [esp + 0x94]
+push ebx
+push edx
+push ref_00463e37 ; push 0x463e37
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+jmp short loc_004250ed ; jmp 0x4250ed
+
+loc_004250dc:
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+push ref_00463e42 ; push 0x463e42
+push ecx
+
+loc_004250ed:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_00424f61 ; jmp 0x424f61
+
+loc_004250fe:
+xor edi, edi
+
+loc_00425100:
+cmp edi, dword [ref_004754be] ; cmp edi, dword [0x4754be]
+jge near loc_00425563 ; jge 0x425563
+mov eax, dword [ref_004754ba] ; mov eax, dword [0x4754ba]
+add eax, edi
+mov ax, word [eax*2 + ref_0048be70] ; mov ax, word [eax*2 + 0x48be70]
+and eax, 0xffff
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_004754b0] ; movsx eax, word [0x4754b0]
+push eax
+lea eax, [ebx + 4]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x1a], 0
+je short loc_00425170 ; je 0x425170
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x18]
+mov ecx, dword [eax*4 + ref_00475150] ; mov ecx, dword [eax*4 + 0x475150]
+push ecx
+jmp short loc_00425180 ; jmp 0x425180
+
+loc_00425170:
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+push ref_00463e49 ; push 0x463e49
+
+loc_00425180:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x24]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul edx, eax
+xor eax, eax
+mov ax, word [ebx + 0x22]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b4] ; movsx eax, word [0x4754b4]
+add eax, 0x21
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x18], 0
+je short loc_004251f6 ; je 0x4251f6
+mov dh, byte [ebx + 0x1a]
+test dh, dh
+je short loc_004251f6 ; je 0x4251f6
+xor eax, eax
+mov al, dh
+mov ax, word [ebx + eax*2 + 0x24]
+and eax, 0xffff
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+jmp short loc_004251f8 ; jmp 0x4251f8
+
+loc_004251f6:
+xor eax, eax
+
+loc_004251f8:
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b6] ; movsx eax, word [0x4754b6]
+add eax, 0x1d
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ebx + 0x34]
+test ecx, ecx
+je short loc_0042527e ; je 0x42527e
+mov eax, ecx
+shr eax, 0x10
+mov ebp, 0x64
+xor edx, edx
+div ebp
+mov eax, ecx
+shr eax, 8
+and eax, 0xf
+mov dword [esp + 0x90], eax
+mov eax, ecx
+and eax, 0xff
+push eax
+mov ebx, dword [esp + 0x94]
+push ebx
+push edx
+push ref_00463e37 ; push 0x463e37
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+jmp short loc_0042528f ; jmp 0x42528f
+
+loc_0042527e:
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+push ref_00463e42 ; push 0x463e42
+push ecx
+
+loc_0042528f:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_00425100 ; jmp 0x425100
+
+loc_004252a0:
+xor edi, edi
+
+loc_004252a2:
+cmp edi, dword [ref_004754be] ; cmp edi, dword [0x4754be]
+jge near loc_00425563 ; jge 0x425563
+mov eax, dword [ref_004754ba] ; mov eax, dword [0x4754ba]
+add eax, edi
+mov ax, word [eax*2 + ref_0048be70] ; mov ax, word [eax*2 + 0x48be70]
+and eax, 0xffff
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_004754b0] ; movsx eax, word [0x4754b0]
+push eax
+lea ebp, [ebx + 4]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov edx, dword [eax*4 + ref_00475138] ; mov edx, dword [eax*4 + 0x475138]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov ax, word [ebx + 0x1e]
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x1c]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b4] ; movsx eax, word [0x4754b4]
+add eax, 0x21
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ebp
+xor eax, eax
+mov al, byte [ebx + 0x19]
+push eax
+call fcn_00419744 ; call 0x419744
+add esp, 8
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b6] ; movsx eax, word [0x4754b6]
+add eax, 0x1d
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebp, dword [ebx + 0x30]
+test ebp, ebp
+je short loc_004253ea ; je 0x4253ea
+mov eax, ebp
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov eax, ebp
+shr eax, 8
+and eax, 0xf
+mov dword [esp + 0x90], eax
+mov eax, ebp
+and eax, 0xff
+push eax
+mov eax, dword [esp + 0x94]
+push eax
+push edx
+push ref_00463e37 ; push 0x463e37
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+jmp short loc_004253fb ; jmp 0x4253fb
+
+loc_004253ea:
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+push ref_00463e42 ; push 0x463e42
+push ebp
+
+loc_004253fb:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_004252a2 ; jmp 0x4252a2
+
+loc_0042540c:
+xor edi, edi
+
+loc_0042540e:
+cmp edi, dword [ref_004754be] ; cmp edi, dword [0x4754be]
+jge near loc_00425563 ; jge 0x425563
+mov eax, dword [ref_004754ba] ; mov eax, dword [0x4754ba]
+add eax, edi
+mov ax, word [eax*2 + ref_0048be70] ; mov ax, word [eax*2 + 0x48be70]
+and eax, 0xffff
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+push 2
+push esi
+movsx eax, word [ref_004754b0] ; movsx eax, word [0x4754b0]
+push eax
+lea eax, [ebx + 4]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_004754b2] ; movsx eax, word [0x4754b2]
+push eax
+push ref_00463e30 ; push 0x463e30
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x1e]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x1c]
+add eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b4] ; movsx eax, word [0x4754b4]
+add eax, 0x21
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push ebp
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+movsx eax, word [ref_004754b6] ; movsx eax, word [0x4754b6]
+add eax, 0x1d
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ebx + 0x30]
+test ecx, ecx
+je short loc_00425541 ; je 0x425541
+mov eax, ecx
+shr eax, 0x10
+mov ecx, 0x64
+xor edx, edx
+div ecx
+mov eax, dword [ebx + 0x30]
+shr eax, 8
+and eax, 0xf
+mov dword [esp + 0x90], eax
+mov eax, dword [ebx + 0x30]
+and eax, 0xff
+push eax
+mov ebx, dword [esp + 0x94]
+push ebx
+push edx
+push ref_00463e37 ; push 0x463e37
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+jmp short loc_00425552 ; jmp 0x425552
+
+loc_00425541:
+push 2
+push esi
+movsx eax, word [ref_004754b8] ; movsx eax, word [0x4754b8]
+push eax
+push ref_00463e42 ; push 0x463e42
+push ecx
+
+loc_00425552:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+add esi, 0x20
+jmp near loc_0042540e ; jmp 0x42540e
+
+loc_00425563:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov esi, 0x70
+mov dword [esp + 0x80], esi
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx eax, word [eax + 0x24]
+add eax, esi
+mov dword [esp + 0x88], eax
+mov dword [esp + 0x84], 0x61
+mov dword [esp + 0x8c], 0x1bf
+push 0
+lea eax, [esp + 0x84]
+push eax
+mov eax, dword [ref_0048a0d4] ; mov eax, dword [0x48a0d4]
+push eax
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_004255be:
+add esp, 0x9c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_004255c9:
+db 0x90
+
+ref_004255ca: ; may contain a jump table
+dd loc_0042565c
+dd loc_0042577d
+dd loc_004257d2
+dd loc_00425841
+
+fcn_004255da:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov esi, dword [esp + 0x1c]
+mov ebp, dword [esp + 0x20]
+imul ebx, esi, 0x54
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 2
+add ebx, eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul edx, ecx, 0x68
+mov eax, dword [edx + ref_00496b84] ; mov eax, dword [edx + 0x496b84]
+cmp eax, dword [ebx + ref_004967e4] ; cmp eax, dword [ebx + 0x4967e4]
+jge short loc_00425640 ; jge 0x425640
+cmp byte [edx + ref_00496b7d], 1 ; cmp byte [edx + 0x496b7d], 1
+jne short loc_00425639 ; jne 0x425639
+push 1
+push ref_00463e50 ; push 0x463e50
+
+loc_0042561f:
+call fcn_00424502 ; call 0x424502
+add esp, 8
+push 0x5dc
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+call fcn_00424620 ; call 0x424620
+
+loc_00425639:
+xor eax, eax
+jmp near loc_004258b9 ; jmp 0x4258b9
+
+loc_00425640:
+mov al, byte [ebx + ref_004967e0] ; mov al, byte [ebx + 0x4967e0]
+dec al
+cmp al, 3
+ja near loc_004258b4 ; ja 0x4258b4
+and eax, 0xff
+jmp dword [eax*4 + ref_004255ca] ; ujmp: jmp dword [eax*4 + 0x4255ca]
+
+loc_0042565c:
+xor ecx, ecx
+mov cx, word [ebx + ref_004967e2] ; mov cx, word [ebx + 0x4967e2]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov edi, ecx
+shl edi, 3
+fild dword [edi + eax + ref_004971a0] ; fild dword [edi + eax + 0x4971a0]
+fmul dword [edi + eax + ref_004971a4] ; fmul dword [edi + eax + 0x4971a4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+xor edx, edx
+mov dx, word [ebx + ref_004967e8] ; mov dx, word [ebx + 0x4967e8]
+add dword [edi + eax + ref_004971a0], edx ; add dword [edi + eax + 0x4971a0], edx
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 5
+add eax, edi
+mov edi, dword [eax + ref_004971a0] ; mov edi, dword [eax + 0x4971a0]
+sub edi, edx
+mov dword [eax + ref_004971a0], edi ; mov dword [eax + 0x4971a0], edi
+jne short loc_004256c2 ; jne 0x4256c2
+mov dword [eax + ref_004971a4], edi ; mov dword [eax + 0x4971a4], edi
+
+loc_004256c2:
+imul ebx, esi, 0x54
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 2
+add ebx, eax
+mov eax, dword [ebx + ref_004967e4] ; mov eax, dword [ebx + 0x4967e4]
+mov edi, dword [esp]
+add edi, eax
+mov dword [esp], edi
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov edx, ecx
+shl edx, 3
+add edx, eax
+fild dword [edx + ref_004971a0] ; fild dword [edx + 0x4971a0]
+mov eax, edi
+mov dword [esp + 4], edi
+fild dword [esp + 4]
+fdivrp st1 ; fdivrp st(1)
+fstp dword [edx + ref_004971a4] ; fstp dword [edx + 0x4971a4]
+xor eax, edi
+mov ax, word [ebx + ref_004967e2] ; mov ax, word [ebx + 0x4967e2]
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_004294d5 ; call 0x4294d5
+add esp, 8
+cmp eax, 1
+jne short loc_0042575c ; jne 0x42575c
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0042575c ; jne 0x42575c
+push 1
+push ref_00463e5f ; push 0x463e5f
+call fcn_00424502 ; call 0x424502
+add esp, 8
+push 0x5dc
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+call fcn_00424620 ; call 0x424620
+
+loc_0042575c:
+push 0
+imul ecx, esi, 0x54
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+mov ebx, dword [ecx + eax*4 + ref_004967e4] ; mov ebx, dword [ecx + eax*4 + 0x4967e4]
+push ebx
+push esi
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+jmp near loc_004258ac ; jmp 0x4258ac
+
+loc_0042577d:
+mov dx, word [ebx + ref_004967e2] ; mov dx, word [ebx + 0x4967e2]
+cmp dx, 0xfa0
+jae short loc_004257a0 ; jae 0x4257a0
+xor eax, eax
+mov ax, dx
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+jmp short loc_004257ba ; jmp 0x4257ba
+
+loc_004257a0:
+xor eax, eax
+mov ax, dx
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+
+loc_004257ba:
+add edx, eax
+mov al, byte [ref_0049910c] ; mov al, byte [0x49910c]
+inc al
+mov byte [edx + 0x19], al
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+jmp short loc_0042575c ; jmp 0x42575c
+
+loc_004257d2:
+xor edi, edi
+mov di, word [ebx + ref_004967e2] ; mov di, word [ebx + 0x4967e2]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, eax
+shl eax, 2
+sub eax, ecx
+cmp byte [edi + eax + ref_0049915b], 9 ; cmp byte [edi + eax + 0x49915b], 9
+jb short loc_0042580c ; jb 0x42580c
+cmp byte [edx + ref_00496b7d], 1 ; cmp byte [edx + 0x496b7d], 1
+jne near loc_00425639 ; jne 0x425639
+push 1
+push ref_00463e72 ; push 0x463e72
+jmp near loc_0042561f ; jmp 0x42561f
+
+loc_0042580c:
+push edi
+push esi
+call fcn_00445aa2 ; call 0x445aa2
+add esp, 8
+xor eax, eax
+mov ax, word [ebx + ref_004967e2] ; mov ax, word [ebx + 0x4967e2]
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+push 0
+mov edx, dword [ebx + ref_004967e4] ; mov edx, dword [ebx + 0x4967e4]
+push edx
+push esi
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+jmp short loc_004258ac ; jmp 0x4258ac
+
+loc_00425841:
+push ecx
+call fcn_00441262 ; call 0x441262
+add esp, 4
+cmp eax, 0xf
+jl short loc_0042586f ; jl 0x42586f
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_00425639 ; jne 0x425639
+push 1
+push ref_00463e89 ; push 0x463e89
+jmp near loc_0042561f ; jmp 0x42561f
+
+loc_0042586f:
+xor eax, eax
+mov ax, word [ebx + ref_004967e2] ; mov ax, word [ebx + 0x4967e2]
+push eax
+push esi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+xor eax, eax
+mov ax, word [ebx + ref_004967e2] ; mov ax, word [ebx + 0x4967e2]
+push eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_004412e4 ; call 0x4412e4
+add esp, 8
+push 0
+mov edi, dword [ebx + ref_004967e4] ; mov edi, dword [ebx + 0x4967e4]
+push edi
+push esi
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+
+loc_004258ac:
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+
+loc_004258b4:
+mov eax, 1
+
+loc_004258b9:
+add esp, 8
+pop ebp
+pop edi
+
+loc_004258be:
+pop esi
+pop ebx
+ret
+
+fcn_004258c1:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xdc
+mov eax, dword [esp + 0xf4]
+mov edx, dword [esp + 0xfc]
+cmp eax, 0x202
+jb short loc_0042590f ; jb 0x42590f
+jbe near loc_00425dd8 ; jbe 0x425dd8
+cmp eax, 0x205
+jb short loc_004258ff ; jb 0x4258ff
+jbe near loc_00425fca ; jbe 0x425fca
+cmp eax, 0x401
+je short loc_0042592f ; je 0x42592f
+jmp near loc_00426071 ; jmp 0x426071
+
+loc_004258ff:
+cmp eax, 0x203
+je near loc_00425cfa ; je 0x425cfa
+jmp near loc_00426071 ; jmp 0x426071
+
+loc_0042590f:
+cmp eax, 0x200
+jb short loc_00425921 ; jb 0x425921
+jbe near loc_00425b19 ; jbe 0x425b19
+jmp near loc_00425cfa ; jmp 0x425cfa
+
+loc_00425921:
+cmp eax, 0xf
+je near loc_00425ff9 ; je 0x425ff9
+jmp near loc_00426071 ; jmp 0x426071
+
+loc_0042592f:
+xor ah, ah
+mov byte [ref_0048c2b8], ah ; mov byte [0x48c2b8], ah
+mov byte [ref_0048c2b9], ah ; mov byte [0x48c2b9], ah
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x1a0
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx eax, word [eax + 0x18]
+push eax
+push 0x20
+push 0x98
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048c2ac], eax ; mov dword [0x48c2ac], eax
+push 0x20
+push 0x98
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x18
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0xc
+push 0
+push ref_0048c29c ; push 0x48c29c
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ebx, ebx
+xor ebp, ebp
+mov esi, 0x50
+jmp short loc_004259e4 ; jmp 0x4259e4
+
+loc_004259da:
+inc ebx
+cmp ebx, 0xc
+jge near loc_00425adf ; jge 0x425adf
+
+loc_004259e4:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 5
+mov edx, ebx
+shl edx, 3
+mov dword [esp + 0xd4], edx
+add eax, edx
+cmp dword [eax + ref_004971a0], 0 ; cmp dword [eax + 0x4971a0], 0
+je short loc_004259da ; je 0x4259da
+push 2
+push esi
+push 0xc8
+mov eax, ebx
+shl eax, 3
+lea edi, [ebx + eax]
+shl edi, 2
+mov ecx, dword [edi + ref_00496980] ; mov ecx, dword [edi + 0x496980]
+push ecx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+add eax, dword [esp + 0xd4]
+mov ecx, dword [eax + ref_004971a0] ; mov ecx, dword [eax + 0x4971a0]
+push ecx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+push 0x14c
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+add eax, dword [esp + 0xd4]
+fild dword [eax + ref_004971a0] ; fild dword [eax + 0x4971a0]
+fmul dword [edi + ref_00496994] ; fmul dword [edi + 0x496994]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xd8]
+mov ecx, dword [esp + 0xd8]
+push ecx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push esi
+push 0x1de
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+add esi, 0x20
+mov al, bl
+inc al
+mov byte [ebp + ref_0048c29c], al ; mov byte [ebp + 0x48c29c], al
+inc ebp
+jmp near loc_004259da ; jmp 0x4259da
+
+loc_00425adf:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+mov ebx, dword [esp + 0xf8]
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00425b0c:
+xor eax, eax
+
+loc_00425b0e:
+add esp, 0xdc
+jmp near loc_0042679d ; jmp 0x42679d
+
+loc_00425b19:
+xor ebx, ebx
+mov bx, dx
+shr edx, 0x10
+and edx, 0xffff
+xor esi, esi
+mov si, dx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov dword [esp + 0xc0], 0x98
+mov edi, dword [ref_0048c298] ; mov edi, dword [0x48c298]
+movsx eax, word [edi + 0x18]
+add eax, 0x98
+mov dword [esp + 0xc8], eax
+cmp ebx, 0x98
+jle near loc_00425c73 ; jle 0x425c73
+cmp ebx, eax
+jge near loc_00425c73 ; jge 0x425c73
+cmp esi, 0x40
+jle near loc_00425c73 ; jle 0x425c73
+cmp esi, 0x1c0
+jge near loc_00425c73 ; jge 0x425c73
+lea edx, [esi - 0x40]
+mov eax, edx
+sar edx, 0x1f
+shl edx, 5
+sbb eax, edx
+sar eax, 5
+mov ebx, eax
+xor eax, eax
+mov al, byte [ref_0048c2b9] ; mov al, byte [0x48c2b9]
+lea edx, [ebx + 1]
+cmp eax, edx
+je near loc_00425ce5 ; je 0x425ce5
+test al, al
+je short loc_00425c0a ; je 0x425c0a
+shl eax, 5
+lea edx, [eax + 0x20]
+mov dword [esp + 0xc4], edx
+add eax, 0x40
+mov dword [esp + 0xcc], eax
+push 0
+push 0x20
+movsx eax, word [edi + 0x18]
+push eax
+push edx
+push 0x98
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0
+lea eax, [esp + 0xc4]
+push eax
+mov edi, dword [esp + 0xf8]
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00425c0a:
+mov eax, ebx
+shl eax, 5
+lea edx, [eax + 0x40]
+mov dword [esp + 0xc4], edx
+add eax, 0x60
+mov dword [esp + 0xcc], eax
+push 0xffffff
+push 0x20
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx eax, word [eax + 0x18]
+push eax
+push edx
+mov eax, dword [esp + 0xd0]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0
+lea eax, [esp + 0xc4]
+push eax
+mov edx, dword [esp + 0xf8]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+inc bl
+mov byte [ref_0048c2b8], bl ; mov byte [0x48c2b8], bl
+mov byte [ref_0048c2b9], bl ; mov byte [0x48c2b9], bl
+jmp short loc_00425ce5 ; jmp 0x425ce5
+
+loc_00425c73:
+cmp byte [ref_0048c2b9], 0 ; cmp byte [0x48c2b9], 0
+je short loc_00425ce5 ; je 0x425ce5
+xor eax, eax
+mov al, byte [ref_0048c2b9] ; mov al, byte [0x48c2b9]
+shl eax, 5
+lea edx, [eax + 0x20]
+mov dword [esp + 0xc4], edx
+add eax, 0x40
+mov dword [esp + 0xcc], eax
+push 0
+push 0x20
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx eax, word [eax + 0x18]
+push eax
+push edx
+mov edx, dword [esp + 0xd0]
+push edx
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0
+lea eax, [esp + 0xc4]
+push eax
+mov ecx, dword [esp + 0xf8]
+push ecx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor ah, ah
+mov byte [ref_0048c2b8], ah ; mov byte [0x48c2b8], ah
+mov byte [ref_0048c2b9], ah ; mov byte [0x48c2b9], ah
+
+loc_00425ce5:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_00425b0c ; jmp 0x425b0c
+
+loc_00425cfa:
+xor ebx, ebx
+mov bx, dx
+shr edx, 0x10
+and edx, 0xffff
+xor esi, esi
+mov si, dx
+cmp ebx, 0x1cf
+jle near loc_00425b0c ; jle 0x425b0c
+cmp ebx, 0x1e4
+jge near loc_00425b0c ; jge 0x425b0c
+cmp esi, 0x26
+jle near loc_00425b0c ; jle 0x425b0c
+cmp esi, 0x3b
+jge near loc_00425b0c ; jge 0x425b0c
+mov dword [esp + 0xc0], 0x1cf
+mov dword [esp + 0xc8], 0x1e4
+mov dword [esp + 0xc4], 0x26
+mov dword [esp + 0xcc], 0x3b
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0xc4]
+push eax
+mov edx, dword [esp + 0xc4]
+push edx
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0xe4
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+mov ebx, dword [esp + 0xf8]
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c2b8], 0x63 ; mov byte [0x48c2b8], 0x63
+jmp near loc_00425b0c ; jmp 0x425b0c
+
+loc_00425dd8:
+mov dh, byte [ref_0048c2b8] ; mov dh, byte [0x48c2b8]
+test dh, dh
+je near loc_00425b0c ; je 0x425b0c
+cmp dh, 0x63
+jne near loc_00425ea2 ; jne 0x425ea2
+mov dword [esp + 0xc0], 0x1cf
+mov dword [esp + 0xc8], 0x1e4
+mov dword [esp + 0xc4], 0x26
+mov dword [esp + 0xcc], 0x3b
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x15
+push 0x15
+push 6
+push 0x137
+mov edi, dword [esp + 0xd4]
+push edi
+mov ebp, dword [esp + 0xd4]
+push ebp
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+mov edx, dword [esp + 0xf8]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x205
+mov ecx, dword [esp + 0xfc]
+push ecx
+jmp near loc_00425fb6 ; jmp 0x425fb6
+
+loc_00425ea2:
+xor eax, eax
+mov al, dh
+cmp byte [eax + ref_0048c29b], 0 ; cmp byte [eax + 0x48c29b], 0
+je near loc_00425fbd ; je 0x425fbd
+push 0
+push ref_00463ea0 ; push 0x463ea0
+call fcn_00424502 ; call 0x424502
+add esp, 8
+xor eax, eax
+mov al, byte [ref_0048c2b8] ; mov al, byte [0x48c2b8]
+xor ebx, ebx
+mov bl, byte [eax + ref_0048c29b] ; mov bl, byte [eax + 0x48c29b]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov esi, dword [eax + ebx*8 + ref_00497198] ; mov esi, dword [eax + ebx*8 + 0x497198]
+push esi
+call fcn_00453544 ; call 0x453544
+mov ebx, eax
+add esp, 4
+call fcn_00424620 ; call 0x424620
+test ebx, ebx
+je near loc_00425fbd ; je 0x425fbd
+xor eax, eax
+mov al, byte [ref_0048c2b8] ; mov al, byte [0x48c2b8]
+xor edx, edx
+mov dl, byte [eax + ref_0048c29b] ; mov dl, byte [eax + 0x48c29b]
+dec edx
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov dword [esp + 0xd8], ebx
+fild dword [esp + 0xd8]
+fmul dword [eax*4 + ref_00496994] ; fmul dword [eax*4 + 0x496994]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xd0]
+mov edi, dword [esp + 0xd0]
+push edi
+push ref_00463eb3 ; push 0x463eb3
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+lea eax, [esp + 4]
+push eax
+call fcn_00424502 ; call 0x424502
+add esp, 8
+mov eax, edi
+shl eax, 2
+add eax, edi
+add eax, eax
+push eax
+call fcn_00453544 ; call 0x453544
+mov esi, eax
+add esp, 4
+call fcn_00424620 ; call 0x424620
+test esi, esi
+je short loc_00425fbd ; je 0x425fbd
+push ebx
+push esi
+xor eax, eax
+mov al, byte [ref_0048c2b8] ; mov al, byte [0x48c2b8]
+mov al, byte [eax + ref_0048c29b] ; mov al, byte [eax + 0x48c29b]
+and eax, 0xff
+dec eax
+push eax
+push 1
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_004246c5 ; call 0x4246c5
+add esp, 0x14
+push 0
+push 0
+push 0x205
+mov eax, dword [esp + 0xfc]
+push eax
+
+loc_00425fb6:
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_00425fbd:
+xor cl, cl
+mov byte [ref_0048c2b8], cl ; mov byte [0x48c2b8], cl
+jmp near loc_00425b0c ; jmp 0x425b0c
+
+loc_00425fca:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0x20
+push 0x98
+mov ecx, dword [ref_0048c2ac] ; mov ecx, dword [0x48c2ac]
+push ecx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00425b0c ; jmp 0x425b0c
+
+loc_00425ff9:
+lea eax, [esp + 0x80]
+push eax
+mov esi, dword [esp + 0xf4]
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0x8c]
+push ebx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x98]
+push ebp
+mov ecx, dword [esp + 0x98]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00425b0c ; jmp 0x425b0c
+
+loc_00426071:
+push edx
+mov ecx, dword [esp + 0xfc]
+push ecx
+push eax
+mov ebx, dword [esp + 0xfc]
+push ebx
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00425b0e ; jmp 0x425b0e
+
+fcn_0042608f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xd0
+mov edi, dword [esp + 0xe4]
+mov eax, dword [esp + 0xe8]
+mov edx, dword [esp + 0xec]
+mov ebx, dword [esp + 0xf0]
+cmp eax, 0x201
+jb short loc_004260f0 ; jb 0x4260f0
+jbe near loc_00426387 ; jbe 0x426387
+cmp eax, 0x203
+jb near loc_00426515 ; jb 0x426515
+jbe near loc_00426387 ; jbe 0x426387
+cmp eax, 0x205
+jb near loc_0042678c ; jb 0x42678c
+jbe near loc_00426673 ; jbe 0x426673
+cmp eax, 0x401
+je short loc_00426126 ; je 0x426126
+jmp near loc_0042678c ; jmp 0x42678c
+
+loc_004260f0:
+cmp eax, 0x100
+jb short loc_00426118 ; jb 0x426118
+jbe near loc_004266aa ; jbe 0x4266aa
+cmp eax, 0x101
+jbe near loc_0042669c ; jbe 0x42669c
+cmp eax, 0x200
+je near loc_004261cb ; je 0x4261cb
+jmp near loc_0042678c ; jmp 0x42678c
+
+loc_00426118:
+cmp eax, 0xf
+je near loc_00426715 ; je 0x426715
+jmp near loc_0042678c ; jmp 0x42678c
+
+loc_00426126:
+xor ah, ah
+mov byte [ref_0048c2ba], ah ; mov byte [0x48c2ba], ah
+xor dl, dl
+mov byte [ref_0048c2bb], ah ; mov byte [0x48c2bb], ah
+xor dh, dh
+mov byte [ref_0048c2bc], ah ; mov byte [0x48c2bc], ah
+mov word [ref_0048c2bd], dx ; mov word [0x48c2bd], dx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx edx, word [eax + 0x26]
+push edx
+movsx eax, word [eax + 0x24]
+push eax
+push 0x20
+push 0x70
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048c2ac], eax ; mov dword [0x48c2ac], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+xor eax, eax
+mov al, byte [ref_0048c2bb] ; mov al, byte [0x48c2bb]
+push eax
+call fcn_00424aea ; call 0x424aea
+add esp, 8
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+
+loc_004261bc:
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_004261c4:
+xor eax, eax
+jmp near loc_00426797 ; jmp 0x426797
+
+loc_004261cb:
+xor esi, esi
+mov si, bx
+mov eax, ebx
+shr eax, 0x10
+and eax, 0xffff
+xor ebx, ebx
+mov bx, ax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov edx, 0x70
+mov dword [esp + 0xc0], edx
+mov ecx, dword [ref_0048c298] ; mov ecx, dword [0x48c298]
+movsx eax, word [ecx + 0x24]
+add eax, 0x5f
+mov dword [esp + 0xc8], eax
+cmp esi, edx
+jle near loc_0042630c ; jle 0x42630c
+cmp esi, eax
+jge near loc_0042630c ; jge 0x42630c
+cmp ebx, 0x60
+jle near loc_0042630c ; jle 0x42630c
+cmp ebx, 0x1c0
+jge near loc_0042630c ; jge 0x42630c
+lea edx, [ebx - 0x60]
+mov eax, edx
+sar edx, 0x1f
+shl edx, 5
+sbb eax, edx
+sar eax, 5
+mov ebx, eax
+xor eax, eax
+mov al, byte [ref_0048c2bc] ; mov al, byte [0x48c2bc]
+lea edx, [ebx + 1]
+cmp eax, edx
+je near loc_00426372 ; je 0x426372
+test al, al
+je short loc_004262b1 ; je 0x4262b1
+shl eax, 5
+lea edx, [eax + 0x40]
+mov dword [esp + 0xc4], edx
+add eax, 0x60
+mov dword [esp + 0xcc], eax
+push 0
+push 0x20
+movsx eax, word [ecx + 0x24]
+sub eax, 0x11
+push eax
+push edx
+push 0x70
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_004262b1:
+mov eax, ebx
+shl eax, 5
+lea edx, [eax + 0x60]
+mov dword [esp + 0xc4], edx
+add eax, 0x80
+mov dword [esp + 0xcc], eax
+push 0xffffff
+push 0x20
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx eax, word [eax + 0x24]
+sub eax, 0x11
+push eax
+push edx
+mov ebp, dword [esp + 0xd0]
+push ebp
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+inc bl
+jmp short loc_0042636c ; jmp 0x42636c
+
+loc_0042630c:
+mov dh, byte [ref_0048c2bc] ; mov dh, byte [0x48c2bc]
+test dh, dh
+je short loc_00426372 ; je 0x426372
+xor eax, eax
+mov al, dh
+shl eax, 5
+lea edx, [eax + 0x40]
+mov dword [esp + 0xc4], edx
+add eax, 0x60
+mov dword [esp + 0xcc], eax
+push 0
+push 0x20
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx eax, word [eax + 0x24]
+sub eax, 0x11
+push eax
+push edx
+mov edx, dword [esp + 0xd0]
+push edx
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor bl, bl
+
+loc_0042636c:
+mov byte [ref_0048c2bc], bl ; mov byte [0x48c2bc], bl
+
+loc_00426372:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426387:
+xor esi, esi
+mov si, bx
+shr ebx, 0x10
+and ebx, 0xffff
+and ebx, 0xffff
+cmp esi, 0x70
+jle near loc_0042643e ; jle 0x42643e
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx eax, word [eax + 0x24]
+add eax, 0x5f
+cmp esi, eax
+jge near loc_0042643e ; jge 0x42643e
+cmp ebx, 0x20
+jle near loc_0042643e ; jle 0x42643e
+cmp ebx, 0x3e
+jge short loc_0042643e ; jge 0x42643e
+lea edx, [esi - 0x70]
+mov ecx, 0x50
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov ebx, eax
+xor eax, eax
+mov al, byte [ref_0048c2bb] ; mov al, byte [0x48c2bb]
+cmp eax, ebx
+je near loc_004261c4 ; je 0x4261c4
+mov byte [ref_0048c2bb], bl ; mov byte [0x48c2bb], bl
+push 0
+xor eax, eax
+mov al, bl
+push eax
+call fcn_00424aea ; call 0x424aea
+add esp, 8
+mov dword [esp + 0xc0], 0x70
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx eax, word [eax + 0x24]
+add eax, 0x5f
+mov dword [esp + 0xc8], eax
+mov dword [esp + 0xc4], 0x20
+mov dword [esp + 0xcc], 0x3e
+push 0
+lea eax, [esp + 0xc4]
+push eax
+jmp near loc_004261bc ; jmp 0x4261bc
+
+loc_0042643e:
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+movsx edx, word [eax + 0x24]
+lea ecx, [edx + 0x5f]
+cmp esi, ecx
+jle near loc_004261c4 ; jle 0x4261c4
+lea ecx, [edx + 0x70]
+cmp esi, ecx
+jge near loc_004261c4 ; jge 0x4261c4
+add edx, 0x60
+mov dword [esp + 0xc0], edx
+movsx eax, word [eax + 0x24]
+add eax, 0x6f
+mov dword [esp + 0xc8], eax
+cmp ebx, 0x20
+jle short loc_0042649e ; jle 0x42649e
+cmp ebx, 0x33
+jge short loc_0042649e ; jge 0x42649e
+mov dword [esp + 0xc4], 0x21
+mov dword [esp + 0xcc], 0x32
+mov byte [ref_0048c2ba], 1 ; mov byte [0x48c2ba], 1
+jmp short loc_00426500 ; jmp 0x426500
+
+loc_0042649e:
+cmp ebx, 0x40
+jle short loc_004264c7 ; jle 0x4264c7
+cmp ebx, 0x60
+jge short loc_004264c7 ; jge 0x4264c7
+mov dword [esp + 0xc4], 0x41
+mov dword [esp + 0xcc], 0x5f
+mov byte [ref_0048c2ba], 2 ; mov byte [0x48c2ba], 2
+jmp short loc_00426500 ; jmp 0x426500
+
+loc_004264c7:
+cmp ebx, 0x60
+jle short loc_004264f3 ; jle 0x4264f3
+cmp ebx, 0x80
+jge short loc_004264f3 ; jge 0x4264f3
+mov dword [esp + 0xc4], 0x61
+mov dword [esp + 0xcc], 0x7f
+mov byte [ref_0048c2ba], 3 ; mov byte [0x48c2ba], 3
+jmp short loc_00426500 ; jmp 0x426500
+
+loc_004264f3:
+cmp byte [ref_0048c2ba], 0 ; cmp byte [0x48c2ba], 0
+je near loc_004261c4 ; je 0x4261c4
+
+loc_00426500:
+lea eax, [esp + 0xc0]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+
+loc_0042650d:
+add esp, 4
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426515:
+cmp byte [ref_0048c2ba], 0 ; cmp byte [0x48c2ba], 0
+je short loc_00426569 ; je 0x426569
+call fcn_00451d4e ; call 0x451d4e
+mov al, byte [ref_0048c2ba] ; mov al, byte [0x48c2ba]
+cmp al, 2
+jb short loc_00426534 ; jb 0x426534
+jbe short loc_0042654b ; jbe 0x42654b
+cmp al, 3
+je short loc_0042654f ; je 0x42654f
+jmp short loc_00426561 ; jmp 0x426561
+
+loc_00426534:
+cmp al, 1
+jne short loc_00426561 ; jne 0x426561
+push 0
+push 0
+push 0x205
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp short loc_00426561 ; jmp 0x426561
+
+loc_0042654b:
+push 2
+jmp short loc_00426551 ; jmp 0x426551
+
+loc_0042654f:
+push 1
+
+loc_00426551:
+xor eax, eax
+mov al, byte [ref_0048c2bb] ; mov al, byte [0x48c2bb]
+push eax
+call fcn_00424aea ; call 0x424aea
+add esp, 8
+
+loc_00426561:
+xor bh, bh
+mov byte [ref_0048c2ba], bh ; mov byte [0x48c2ba], bh
+
+loc_00426569:
+mov cl, byte [ref_0048c2bc] ; mov cl, byte [0x48c2bc]
+test cl, cl
+je near loc_004261c4 ; je 0x4261c4
+xor eax, eax
+mov al, cl
+cmp eax, dword [ref_004754be] ; cmp eax, dword [0x4754be]
+jg near loc_004261c4 ; jg 0x4261c4
+mov ebx, dword [ref_004754ba] ; mov ebx, dword [0x4754ba]
+add ebx, eax
+add ebx, ebx
+mov bx, word [ebx + ref_0048be6e] ; mov bx, word [ebx + 0x48be6e]
+and ebx, 0xffff
+cmp ebx, 0xfa0
+jge short loc_004265cb ; jge 0x4265cb
+lea eax, [ebx - 0x7d0]
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add eax, edx
+xor ecx, ecx
+mov cx, word [eax + 0x1e]
+xor edx, edx
+mov dl, byte [eax + 0x1a]
+imul edx, ecx
+mov ax, word [eax + 0x1c]
+jmp short loc_004265f5 ; jmp 0x4265f5
+
+loc_004265cb:
+lea eax, [ebx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+xor ecx, ecx
+mov cx, word [eax + 0x24]
+xor edx, edx
+mov dl, byte [eax + 0x1a]
+imul edx, ecx
+mov ax, word [eax + 0x22]
+
+loc_004265f5:
+and eax, 0xffff
+add eax, edx
+mov esi, dword [ref_004990e8] ; mov esi, dword [0x4990e8]
+imul esi, eax
+push esi
+push ref_00463eb3 ; push 0x463eb3
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+lea eax, [esp + 4]
+push eax
+call fcn_00424502 ; call 0x424502
+add esp, 8
+mov eax, esi
+shl eax, 2
+add eax, esi
+add eax, eax
+push eax
+call fcn_00453544 ; call 0x453544
+mov esi, eax
+add esp, 4
+call fcn_00424620 ; call 0x424620
+test esi, esi
+je near loc_004261c4 ; je 0x4261c4
+push 0
+push esi
+push ebx
+push 2
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_004246c5 ; call 0x4246c5
+add esp, 0x14
+push 0
+push 0
+push 0x205
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426673:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0x20
+push 0x70
+mov edx, dword [ref_0048c2ac] ; mov edx, dword [0x48c2ac]
+push edx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_0042650d ; jmp 0x42650d
+
+loc_0042669c:
+xor ebx, ebx
+mov word [ref_0048c2bd], bx ; mov word [0x48c2bd], bx
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_004266aa:
+cmp edx, 0x11
+jne short loc_004266ba ; jne 0x4266ba
+mov word [ref_0048c2bd], 0x1100 ; mov word [0x48c2bd], 0x1100
+jmp short loc_004266c1 ; jmp 0x4266c1
+
+loc_004266ba:
+or word [ref_0048c2bd], dx ; or word [0x48c2bd], dx
+
+loc_004266c1:
+xor edx, edx
+mov dx, word [ref_0049719a] ; mov dx, word [0x49719a]
+xor eax, eax
+mov ax, word [ref_0048c2bd] ; mov ax, word [0x48c2bd]
+cmp eax, edx
+jne short loc_004266da ; jne 0x4266da
+push 2
+jmp short loc_004266e9 ; jmp 0x4266e9
+
+loc_004266da:
+xor edx, edx
+mov dx, word [ref_0049719c] ; mov dx, word [0x49719c]
+cmp eax, edx
+jne short loc_004266f9 ; jne 0x4266f9
+push 1
+
+loc_004266e9:
+xor eax, edx
+mov al, byte [ref_0048c2bb] ; mov al, byte [0x48c2bb]
+push eax
+call fcn_00424aea ; call 0x424aea
+add esp, 8
+
+loc_004266f9:
+cmp word [ref_0048c2bd], 0x1100 ; cmp word [0x48c2bd], 0x1100
+je near loc_004261c4 ; je 0x4261c4
+xor eax, eax
+mov word [ref_0048c2bd], ax ; mov word [0x48c2bd], ax
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426715:
+lea eax, [esp + 0x80]
+push eax
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0x8c]
+push edx
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+mov ecx, dword [esp + 0x98]
+push ecx
+mov ebx, dword [esp + 0x98]
+push ebx
+mov esi, dword [ref_0048a0dc] ; mov esi, dword [0x48a0dc]
+push esi
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_0042678c:
+push ebx
+push edx
+push eax
+push edi
+
+loc_00426790:
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+
+loc_00426797:
+add esp, 0xd0
+
+loc_0042679d:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+fcn_004267a4:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xd0
+mov eax, dword [esp + 0xe8]
+mov edx, dword [esp + 0xf0]
+cmp eax, 0x202
+jb short loc_004267f2 ; jb 0x4267f2
+jbe near loc_00426ab8 ; jbe 0x426ab8
+cmp eax, 0x205
+jb short loc_004267e2 ; jb 0x4267e2
+jbe near loc_00426b89 ; jbe 0x426b89
+cmp eax, 0x401
+je short loc_00426808 ; je 0x426808
+jmp near loc_00426c17 ; jmp 0x426c17
+
+loc_004267e2:
+cmp eax, 0x203
+
+loc_004267e7:
+je near loc_00426974 ; je 0x426974
+jmp near loc_00426c17 ; jmp 0x426c17
+
+loc_004267f2:
+cmp eax, 0xf
+jb near loc_00426c17 ; jb 0x426c17
+jbe near loc_00426b9f ; jbe 0x426b9f
+cmp eax, 0x201
+jmp short loc_004267e7 ; jmp 0x4267e7
+
+loc_00426808:
+xor ah, ah
+mov byte [ref_0048c2bf], ah ; mov byte [0x48c2bf], ah
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0xa0
+push 0x8c
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x30
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0x10
+push 0
+push ref_0048c548 ; push 0x48c548
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ebx, ebx
+xor ebp, ebp
+mov esi, 0xb0
+mov edi, 0xd0
+jmp short loc_0042688b ; jmp 0x42688b
+
+loc_00426881:
+inc ebx
+cmp ebx, 0xd
+jge near loc_00426942 ; jge 0x426942
+
+loc_0042688b:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [ebx + eax + ref_0049915c], 0 ; cmp byte [ebx + eax + 0x49915c], 0
+je short loc_00426881 ; je 0x426881
+push edi
+lea eax, [esi - 0x10]
+push eax
+mov ecx, dword [ref_0048c2a8] ; mov ecx, dword [0x48c2a8]
+mov edx, ebx
+shl edx, 2
+sub edx, ebx
+shl edx, 2
+lea eax, [ecx + 0xc]
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov al, byte [ebx + eax + ref_0049915c] ; mov al, byte [ebx + eax + 0x49915c]
+and eax, 0xff
+push eax
+push ref_00463ed6 ; push 0x463ed6
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push edi
+lea eax, [esi + 0x1e]
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov al, bl
+inc al
+mov byte [ebp + ref_0048c548], al ; mov byte [ebp + 0x48c548], al
+inc ebp
+add esi, 0x48
+cmp esi, 0x1d0
+jle near loc_00426881 ; jle 0x426881
+mov esi, 0xb0
+add edi, 0x20
+jmp near loc_00426881 ; jmp 0x426881
+
+loc_00426942:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+mov edx, dword [esp + 0xec]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426974:
+xor esi, esi
+mov si, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edi, edi
+mov di, ax
+cmp esi, 0x8c
+jle near loc_00426a63 ; jle 0x426a63
+cmp esi, 0x1f4
+jge near loc_00426a63 ; jge 0x426a63
+cmp edi, 0xc0
+jle near loc_00426a63 ; jle 0x426a63
+cmp edi, 0x120
+jge near loc_00426a63 ; jge 0x426a63
+lea edx, [edi - 0xc0]
+mov eax, edx
+sar edx, 0x1f
+shl edx, 5
+sbb eax, edx
+sar eax, 5
+mov ebp, eax
+lea edx, [esi - 0x8c]
+mov ecx, 0x48
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov edx, eax
+mov ecx, ebp
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+lea ebx, [eax + edx]
+mov cl, byte [ebx + ref_0048c548] ; mov cl, byte [ebx + 0x48c548]
+test cl, cl
+je near loc_00426a41 ; je 0x426a41
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+lea edx, [eax + 0x8d]
+mov dword [esp + 0xc0], edx
+add eax, 0xd3
+mov dword [esp + 0xc8], eax
+shl ebp, 5
+lea eax, [ebp + 0xc1]
+mov dword [esp + 0xc4], eax
+add ebp, 0xdf
+mov dword [esp + 0xcc], ebp
+mov byte [ref_0048c2bf], cl ; mov byte [0x48c2bf], cl
+
+loc_00426a41:
+cmp byte [ref_0048c2bf], 0 ; cmp byte [0x48c2bf], 0
+je near loc_004261c4 ; je 0x4261c4
+
+loc_00426a4e:
+lea eax, [esp + 0xc0]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+
+loc_00426a5b:
+add esp, 4
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426a63:
+cmp esi, 0x1ac
+jle short loc_00426a41 ; jle 0x426a41
+cmp esi, 0x1f4
+jge short loc_00426a41 ; jge 0x426a41
+cmp edi, 0xa0
+jle short loc_00426a41 ; jle 0x426a41
+cmp edi, 0xc0
+jge short loc_00426a41 ; jge 0x426a41
+mov dword [esp + 0xc0], 0x1ad
+mov dword [esp + 0xc8], 0x1f3
+mov dword [esp + 0xc4], 0xa1
+mov dword [esp + 0xcc], 0xbf
+mov byte [ref_0048c2bf], 0x63 ; mov byte [0x48c2bf], 0x63
+jmp short loc_00426a4e ; jmp 0x426a4e
+
+loc_00426ab8:
+cmp byte [ref_0048c2bf], 0 ; cmp byte [0x48c2bf], 0
+je near loc_004261c4 ; je 0x4261c4
+call fcn_00451d4e ; call 0x451d4e
+mov dh, byte [ref_0048c2bf] ; mov dh, byte [0x48c2bf]
+cmp dh, 0x63
+jne short loc_00426af2 ; jne 0x426af2
+push 0
+push 0
+push 0x205
+mov edi, dword [esp + 0xf0]
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426af2:
+xor eax, eax
+mov al, dh
+xor ebx, ebx
+mov bl, byte [eax*8 + ref_0047fedf] ; mov bl, byte [eax*8 + 0x47fedf]
+imul ebx, ebx, 0x64
+imul ebx, dword [ref_004990e8] ; imul ebx, dword [0x4990e8]
+push ebx
+push ref_00463eb3 ; push 0x463eb3
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+lea eax, [esp + 4]
+push eax
+call fcn_00424502 ; call 0x424502
+add esp, 8
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+add eax, eax
+push eax
+call fcn_00453544 ; call 0x453544
+mov ebx, eax
+add esp, 4
+call fcn_00424620 ; call 0x424620
+test ebx, ebx
+je short loc_00426b7c ; je 0x426b7c
+push 0
+push ebx
+xor eax, eax
+mov al, byte [ref_0048c2bf] ; mov al, byte [0x48c2bf]
+push eax
+push 3
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_004246c5 ; call 0x4246c5
+add esp, 0x14
+push 0
+push 0
+push 0x205
+mov esi, dword [esp + 0xf0]
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_00426b7c:
+xor bl, bl
+mov byte [ref_0048c2bf], bl ; mov byte [0x48c2bf], bl
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426b89:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_00426a5b ; jmp 0x426a5b
+
+loc_00426b9f:
+lea eax, [esp + 0x80]
+push eax
+mov ebx, dword [esp + 0xe8]
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x8c]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x98]
+push edi
+mov ebp, dword [esp + 0x98]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426c17:
+push edx
+mov edx, dword [esp + 0xf0]
+push edx
+push eax
+mov ecx, dword [esp + 0xf0]
+push ecx
+jmp near loc_00426790 ; jmp 0x426790
+
+fcn_00426c2e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xd0
+mov ebp, dword [esp + 0xe4]
+mov eax, dword [esp + 0xe8]
+mov edx, dword [esp + 0xf0]
+cmp eax, 0x202
+jb short loc_00426c83 ; jb 0x426c83
+jbe near loc_00426edc ; jbe 0x426edc
+cmp eax, 0x205
+jb short loc_00426c73 ; jb 0x426c73
+jbe near loc_00426fa4 ; jbe 0x426fa4
+cmp eax, 0x401
+je short loc_00426c99 ; je 0x426c99
+jmp near loc_0042702b ; jmp 0x42702b
+
+loc_00426c73:
+cmp eax, 0x203
+
+loc_00426c78:
+je near loc_00426d82 ; je 0x426d82
+jmp near loc_0042702b ; jmp 0x42702b
+
+loc_00426c83:
+cmp eax, 0xf
+jb near loc_0042702b ; jb 0x42702b
+jbe near loc_00426fba ; jbe 0x426fba
+cmp eax, 0x201
+jmp short loc_00426c78 ; jmp 0x426c78
+
+loc_00426c99:
+xor ah, ah
+mov byte [ref_0048c2c0], ah ; mov byte [0x48c2c0], ah
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0xa0
+push 0x8c
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x3c
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor esi, esi
+mov ebx, 0xb0
+mov edi, 0xd0
+jmp short loc_00426d05 ; jmp 0x426d05
+
+loc_00426cff:
+inc esi
+cmp esi, 0xf
+jge short loc_00426d57 ; jge 0x426d57
+
+loc_00426d05:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add eax, esi
+mov dl, byte [eax + ref_00499120] ; mov dl, byte [eax + 0x499120]
+test dl, dl
+je short loc_00426cff ; je 0x426cff
+push 2
+push edi
+push ebx
+mov al, dl
+and eax, 0xff
+mov edx, dword [eax*8 + ref_0047fdea] ; mov edx, dword [eax*8 + 0x47fdea]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+add ebx, 0x48
+cmp ebx, 0x1d0
+jle short loc_00426cff ; jle 0x426cff
+mov ebx, 0xb0
+add edi, 0x20
+jmp short loc_00426cff ; jmp 0x426cff
+
+loc_00426d57:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426d82:
+xor ebx, ebx
+mov bx, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edi, edi
+mov di, ax
+cmp ebx, 0x8c
+jle near loc_00426e87 ; jle 0x426e87
+cmp ebx, 0x1f4
+jge near loc_00426e87 ; jge 0x426e87
+cmp edi, 0xc0
+jle near loc_00426e87 ; jle 0x426e87
+cmp edi, 0x120
+jge near loc_00426e87 ; jge 0x426e87
+lea edx, [edi - 0xc0]
+mov eax, edx
+sar edx, 0x1f
+shl edx, 5
+sbb eax, edx
+sar eax, 5
+mov edi, eax
+lea edx, [ebx - 0x8c]
+mov ebx, 0x48
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov ebx, eax
+mov edx, edi
+mov eax, edx
+shl eax, 2
+add eax, edx
+lea esi, [eax + ebx]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add esi, eax
+mov cl, byte [esi + ref_00499120] ; mov cl, byte [esi + 0x499120]
+test cl, cl
+je near loc_00426e65 ; je 0x426e65
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 3
+lea edx, [eax + 0x8d]
+mov dword [esp + 0xc0], edx
+add eax, 0xd3
+mov dword [esp + 0xc8], eax
+shl edi, 5
+lea eax, [edi + 0xc1]
+mov dword [esp + 0xc4], eax
+add edi, 0xdf
+mov dword [esp + 0xcc], edi
+mov byte [ref_0048c2c0], cl ; mov byte [0x48c2c0], cl
+
+loc_00426e65:
+cmp byte [ref_0048c2c0], 0 ; cmp byte [0x48c2c0], 0
+je near loc_004261c4 ; je 0x4261c4
+
+loc_00426e72:
+lea eax, [esp + 0xc0]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+
+loc_00426e7f:
+add esp, 4
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426e87:
+cmp ebx, 0x1ac
+jle short loc_00426e65 ; jle 0x426e65
+cmp ebx, 0x1f4
+jge short loc_00426e65 ; jge 0x426e65
+cmp edi, 0xa0
+jle short loc_00426e65 ; jle 0x426e65
+cmp edi, 0xc0
+jge short loc_00426e65 ; jge 0x426e65
+mov dword [esp + 0xc0], 0x1ad
+mov dword [esp + 0xc8], 0x1f3
+mov dword [esp + 0xc4], 0xa1
+mov dword [esp + 0xcc], 0xbf
+mov byte [ref_0048c2c0], 0x63 ; mov byte [0x48c2c0], 0x63
+jmp short loc_00426e72 ; jmp 0x426e72
+
+loc_00426edc:
+cmp byte [ref_0048c2c0], 0 ; cmp byte [0x48c2c0], 0
+je near loc_004261c4 ; je 0x4261c4
+call fcn_00451d4e ; call 0x451d4e
+mov dh, byte [ref_0048c2c0] ; mov dh, byte [0x48c2c0]
+cmp dh, 0x63
+jne short loc_00426f0f ; jne 0x426f0f
+push 0
+push 0
+push 0x205
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426f0f:
+xor eax, eax
+mov al, dh
+mov al, byte [eax*8 + ref_0047fdef] ; mov al, byte [eax*8 + 0x47fdef]
+and eax, 0xff
+imul eax, eax, 0x64
+mov ebx, dword [ref_004990e8] ; mov ebx, dword [0x4990e8]
+imul ebx, eax
+push ebx
+push ref_00463eb3 ; push 0x463eb3
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+lea eax, [esp + 4]
+push eax
+call fcn_00424502 ; call 0x424502
+add esp, 8
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+add eax, eax
+push eax
+call fcn_00453544 ; call 0x453544
+mov ebx, eax
+add esp, 4
+call fcn_00424620 ; call 0x424620
+test ebx, ebx
+je short loc_00426f97 ; je 0x426f97
+push 0
+push ebx
+xor eax, eax
+mov al, byte [ref_0048c2c0] ; mov al, byte [0x48c2c0]
+push eax
+push 4
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_004246c5 ; call 0x4246c5
+add esp, 0x14
+push 0
+push 0
+push 0x205
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_00426f97:
+xor bl, bl
+mov byte [ref_0048c2c0], bl ; mov byte [0x48c2c0], bl
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_00426fa4:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_00426e7f ; jmp 0x426e7f
+
+loc_00426fba:
+lea eax, [esp + 0x80]
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0x8c]
+push ebx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x98]
+push ebx
+mov esi, dword [esp + 0x98]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_004261c4 ; jmp 0x4261c4
+
+loc_0042702b:
+push edx
+mov edi, dword [esp + 0xf0]
+push edi
+push eax
+push ebp
+jmp near loc_00426790 ; jmp 0x426790
+
+endloc_0042703b:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_0042703e: ; may contain a jump table
+dd loc_0042728e
+dd loc_00427469
+dd loc_0042771a
+dd loc_00427816
+
+fcn_0042704e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xec
+mov esi, dword [esp + 0x100]
+mov eax, dword [esp + 0x104]
+mov edx, dword [esp + 0x10c]
+cmp eax, 0x202
+jb short loc_004270a3 ; jb 0x4270a3
+jbe near loc_00427ad9 ; jbe 0x427ad9
+cmp eax, 0x205
+jb short loc_00427093 ; jb 0x427093
+jbe near loc_00427b7d ; jbe 0x427b7d
+cmp eax, 0x401
+je short loc_004270b9 ; je 0x4270b9
+jmp near loc_00427c0a ; jmp 0x427c0a
+
+loc_00427093:
+cmp eax, 0x203
+
+loc_00427098:
+je near loc_00427a18 ; je 0x427a18
+jmp near loc_00427c0a ; jmp 0x427c0a
+
+loc_004270a3:
+cmp eax, 0xf
+jb near loc_00427c0a ; jb 0x427c0a
+jbe near loc_00427b93 ; jbe 0x427b93
+cmp eax, 0x201
+jmp short loc_00427098 ; jmp 0x427098
+
+loc_004270b9:
+xor ah, ah
+mov byte [ref_0048c2c1], ah ; mov byte [0x48c2c1], ah
+lea ebx, [edx - 0x64]
+mov ecx, 7
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+mov byte [ref_0048c2c2], al ; mov byte [0x48c2c2], al
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+mov byte [ref_0048c2c3], dl ; mov byte [0x48c2c3], dl
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor ecx, ecx
+mov cl, byte [ref_0048c2c2] ; mov cl, byte [0x48c2c2]
+imul ecx, ecx, 0x54
+xor edx, edx
+mov dl, byte [ref_0048c2c3] ; mov dl, byte [0x48c2c3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov al, byte [ecx + eax*4 + ref_004967e0] ; mov al, byte [ecx + eax*4 + 0x4967e0]
+and eax, 0xff
+mov al, byte [eax + ref_004754ab] ; mov al, byte [eax + 0x4754ab]
+and eax, 0xff
+mov edx, dword [ref_0048c298] ; mov edx, dword [0x48c298]
+mov ecx, eax
+shl ecx, 2
+sub ecx, eax
+shl ecx, 2
+lea ebx, [edx + ecx]
+movsx eax, word [ebx + 0xc]
+movsx ebx, word [ebx + 0xe]
+mov edi, 0x280
+sub edi, eax
+mov eax, edi
+sar eax, 1
+mov word [ref_0048c2c4], ax ; mov word [0x48c2c4], ax
+mov eax, 0x1e0
+sub eax, ebx
+sar eax, 1
+mov word [ref_0048c2c6], ax ; mov word [0x48c2c6], ax
+cwde
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+push eax
+add edx, 0xc
+add edx, ecx
+push edx
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor edx, edx
+mov dl, byte [ref_0048c2c2] ; mov dl, byte [0x48c2c2]
+imul ebx, edx, 0x54
+xor ecx, ecx
+mov cl, byte [ref_0048c2c3] ; mov cl, byte [0x48c2c3]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+xor ecx, ecx
+mov cl, byte [ebx + eax*4 + ref_004967e0] ; mov cl, byte [ebx + eax*4 + 0x4967e0]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b7c] ; mov al, byte [eax + 0x496b7c]
+and eax, 0xff
+shl eax, 2
+add eax, ecx
+add eax, 8
+mov dword [esp + 0xe4], eax
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 6
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x70
+push eax
+mov edx, dword [ref_0048c298] ; mov edx, dword [0x48c298]
+mov ebx, dword [esp + 0xec]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+add edx, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x28
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x3a
+push eax
+xor eax, eax
+mov al, byte [ref_0048c2c2] ; mov al, byte [0x48c2c2]
+imul eax, eax, 0x68
+mov ebx, dword [eax + ref_00496b68] ; mov ebx, dword [eax + 0x496b68]
+push ebx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c2c2] ; mov al, byte [0x48c2c2]
+imul edx, eax, 0x54
+xor ebx, ebx
+mov bl, byte [ref_0048c2c3] ; mov bl, byte [0x48c2c3]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+add eax, edx
+mov bl, byte [eax + ref_004967e0] ; mov bl, byte [eax + 0x4967e0]
+dec bl
+cmp bl, 3
+ja near loc_0042796c ; ja 0x42796c
+xor edx, edx
+mov dl, bl
+jmp dword [edx*4 + ref_0042703e] ; ujmp: jmp dword [edx*4 + 0x42703e]
+
+loc_0042728e:
+push 2
+movsx edx, word [ref_0048c2c6] ; movsx edx, word [0x48c2c6]
+add edx, 0x5c
+push edx
+movsx edx, word [ref_0048c2c4] ; movsx edx, word [0x48c2c4]
+add edx, 0x78
+push edx
+xor edx, edx
+mov dx, word [eax + ref_004967e2] ; mov dx, word [eax + 0x4967e2]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov edi, dword [eax*4 + ref_00496980] ; mov edi, dword [eax*4 + 0x496980]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dl, byte [ref_0048c2c2] ; mov dl, byte [0x48c2c2]
+imul edx, edx, 0x54
+xor ecx, ecx
+mov cl, byte [ref_0048c2c3] ; mov cl, byte [0x48c2c3]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+mov ax, word [edx + eax*4 + ref_004967e8] ; mov ax, word [edx + eax*4 + 0x4967e8]
+and eax, 0xffff
+push eax
+push ref_00463edb ; push 0x463edb
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x7c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0xb2
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dl, byte [ref_0048c2c2] ; mov dl, byte [0x48c2c2]
+imul edx, edx, 0x54
+xor ebx, ebx
+mov bl, byte [ref_0048c2c3] ; mov bl, byte [0x48c2c3]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+lea ebx, [edx + eax]
+xor edx, edx
+mov dx, word [ebx + ref_004967e2] ; mov dx, word [ebx + 0x4967e2]
+mov eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 2
+xor eax, eax
+mov ax, word [ebx + ref_004967e8] ; mov ax, word [ebx + 0x4967e8]
+mov dword [esp + 0xe8], eax
+fild dword [esp + 0xe8]
+fmul dword [edx + ref_00496994] ; fmul dword [edx + 0x496994]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xe4]
+mov ebp, dword [esp + 0xe4]
+push ebp
+lea eax, [esp + 0xc4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+lea eax, [esp + 0xc0]
+push eax
+push ref_00463ee0 ; push 0x463ee0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x9c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0xb2
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ecx, ecx
+mov cl, byte [ref_0048c2c2] ; mov cl, byte [0x48c2c2]
+imul ecx, ecx, 0x54
+xor edx, edx
+mov dl, byte [ref_0048c2c3] ; mov dl, byte [0x48c2c3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, dword [ecx + eax*4 + ref_004967e4] ; mov edx, dword [ecx + eax*4 + 0x4967e4]
+push edx
+lea eax, [esp + 0xc4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+lea eax, [esp + 0xc0]
+push eax
+push ref_00463ee0 ; push 0x463ee0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0xbc
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0xb2
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov word [ref_0048c2c8], 0xec ; mov word [0x48c2c8], 0xec
+jmp near loc_0042796c ; jmp 0x42796c
+
+loc_00427469:
+mov cx, word [eax + ref_004967e2] ; mov cx, word [eax + 0x4967e2]
+cmp cx, 0xfa0
+jae near loc_00427550 ; jae 0x427550
+mov eax, ecx
+and eax, 0xffff
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+push 2
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x5c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x78
+push eax
+push ref_00463ee5 ; push 0x463ee5
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x7c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x78
+push eax
+lea eax, [ebx + 4]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + 0x18], 0
+jne short loc_0042750e ; jne 0x42750e
+push 2
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x9c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x78
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov edx, dword [eax*4 + ref_00475138] ; mov edx, dword [eax*4 + 0x475138]
+push edx
+jmp short loc_0042752d ; jmp 0x42752d
+
+loc_0042750e:
+push 2
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x9c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x78
+push eax
+push ref_00463e30 ; push 0x463e30
+
+loc_0042752d:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov ax, word [ebx + 0x1e]
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x1c]
+jmp near loc_0042762d ; jmp 0x42762d
+
+loc_00427550:
+mov eax, ecx
+and eax, 0xffff
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+cmp byte [ebx + 0x1a], 0
+jne short loc_00427593 ; jne 0x427593
+push 2
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x5c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x78
+push eax
+push ref_00463eee ; push 0x463eee
+jmp short loc_004275b8 ; jmp 0x4275b8
+
+loc_00427593:
+push 2
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x5c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x78
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x18]
+mov ecx, dword [eax*4 + ref_00475150] ; mov ecx, dword [eax*4 + 0x475150]
+push ecx
+
+loc_004275b8:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x7c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x78
+push eax
+lea eax, [ebx + 4]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x9c
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x78
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov edi, dword [eax*4 + ref_00475164] ; mov edi, dword [eax*4 + 0x475164]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dx, word [ebx + 0x24]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+xor edx, edx
+mov dx, word [ebx + 0x22]
+
+loc_0042762d:
+add eax, edx
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+imul edx, eax
+mov dword [esp + 0xe4], edx
+push edx
+lea eax, [esp + 0xc4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+lea eax, [esp + 0xc0]
+push eax
+push ref_00463ee0 ; push 0x463ee0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0xbc
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0xb2
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ecx, ecx
+mov cl, byte [ref_0048c2c2] ; mov cl, byte [0x48c2c2]
+imul ecx, ecx, 0x54
+xor edx, edx
+mov dl, byte [ref_0048c2c3] ; mov dl, byte [0x48c2c3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov ebx, dword [ecx + eax*4 + ref_004967e4] ; mov ebx, dword [ecx + eax*4 + 0x4967e4]
+push ebx
+lea eax, [esp + 0xc4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+lea eax, [esp + 0xc0]
+push eax
+push ref_00463ee0 ; push 0x463ee0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0xdc
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0xb2
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov word [ref_0048c2c8], 0x109 ; mov word [0x48c2c8], 0x109
+jmp near loc_0042796c ; jmp 0x42796c
+
+loc_0042771a:
+push 2
+movsx edx, word [ref_0048c2c6] ; movsx edx, word [0x48c2c6]
+add edx, 0x5c
+push edx
+movsx edx, word [ref_0048c2c4] ; movsx edx, word [0x48c2c4]
+add edx, 0x78
+push edx
+mov ax, word [eax + ref_004967e2] ; mov ax, word [eax + 0x4967e2]
+and eax, 0xffff
+mov ebx, dword [eax*8 + ref_0047feda] ; mov ebx, dword [eax*8 + 0x47feda]
+push ebx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ecx, ecx
+mov cl, byte [ref_0048c2c2] ; mov cl, byte [0x48c2c2]
+imul ecx, ecx, 0x54
+xor edx, edx
+mov dl, byte [ref_0048c2c3] ; mov dl, byte [0x48c2c3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor edx, edx
+mov dx, word [ecx + eax*4 + ref_004967e2] ; mov dx, word [ecx + eax*4 + 0x4967e2]
+xor eax, eax
+mov al, byte [edx*8 + ref_0047fedf] ; mov al, byte [edx*8 + 0x47fedf]
+mov dword [esp + 0xe4], eax
+imul eax, dword [ref_004990e8], 0x64 ; imul eax, dword [0x4990e8], 0x64
+mov edx, dword [esp + 0xe4]
+imul edx, eax
+mov dword [esp + 0xe4], edx
+push edx
+lea eax, [esp + 0xc4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+lea eax, [esp + 0xc0]
+push eax
+push ref_00463ee0 ; push 0x463ee0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x7a
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0xb2
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c2c2] ; mov al, byte [0x48c2c2]
+imul ecx, eax, 0x54
+xor edx, edx
+mov dl, byte [ref_0048c2c3] ; mov dl, byte [0x48c2c3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, dword [ecx + eax*4 + ref_004967e4] ; mov edx, dword [ecx + eax*4 + 0x4967e4]
+push edx
+jmp near loc_0042790e ; jmp 0x42790e
+
+loc_00427816:
+push 2
+movsx edx, word [ref_0048c2c6] ; movsx edx, word [0x48c2c6]
+add edx, 0x5c
+push edx
+movsx edx, word [ref_0048c2c4] ; movsx edx, word [0x48c2c4]
+add edx, 0x78
+push edx
+mov ax, word [eax + ref_004967e2] ; mov ax, word [eax + 0x4967e2]
+and eax, 0xffff
+mov edi, dword [eax*8 + ref_0047fdea] ; mov edi, dword [eax*8 + 0x47fdea]
+push edi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ecx, ecx
+mov cl, byte [ref_0048c2c2] ; mov cl, byte [0x48c2c2]
+imul ecx, ecx, 0x54
+xor edx, edx
+mov dl, byte [ref_0048c2c3] ; mov dl, byte [0x48c2c3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor edx, edx
+mov dx, word [ecx + eax*4 + ref_004967e2] ; mov dx, word [ecx + eax*4 + 0x4967e2]
+xor eax, eax
+mov al, byte [edx*8 + ref_0047fdef] ; mov al, byte [edx*8 + 0x47fdef]
+mov dword [esp + 0xe4], eax
+imul eax, dword [ref_004990e8], 0x64 ; imul eax, dword [0x4990e8], 0x64
+mov edx, dword [esp + 0xe4]
+imul edx, eax
+mov dword [esp + 0xe4], edx
+push edx
+lea eax, [esp + 0xc4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+lea eax, [esp + 0xc0]
+push eax
+push ref_00463ee0 ; push 0x463ee0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x7a
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0xb2
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dl, byte [ref_0048c2c2] ; mov dl, byte [0x48c2c2]
+imul edx, edx, 0x54
+xor ebx, ebx
+mov bl, byte [ref_0048c2c3] ; mov bl, byte [0x48c2c3]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov ecx, dword [edx + eax*4 + ref_004967e4] ; mov ecx, dword [edx + eax*4 + 0x4967e4]
+push ecx
+
+loc_0042790e:
+lea eax, [esp + 0xc4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+lea eax, [esp + 0xc0]
+push eax
+push ref_00463ee0 ; push 0x463ee0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+movsx eax, word [ref_0048c2c6] ; movsx eax, word [0x48c2c6]
+add eax, 0x98
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0xb2
+push eax
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov word [ref_0048c2c8], 0xcb ; mov word [0x48c2c8], 0xcb
+
+loc_0042796c:
+push 1
+push 3
+push 0x800000
+push 0xffffff
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c2c2] ; mov al, byte [0x48c2c2]
+cmp eax, dword [ref_0049910c] ; cmp eax, dword [0x49910c]
+jne short loc_004279b8 ; jne 0x4279b8
+push 2
+movsx edx, word [ref_0048c2c6] ; movsx edx, word [0x48c2c6]
+movsx eax, word [ref_0048c2c8] ; movsx eax, word [0x48c2c8]
+add eax, edx
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x34
+push eax
+push ref_00463ef7 ; push 0x463ef7
+jmp short loc_004279db ; jmp 0x4279db
+
+loc_004279b8:
+push 2
+movsx edx, word [ref_0048c2c6] ; movsx edx, word [0x48c2c6]
+movsx eax, word [ref_0048c2c8] ; movsx eax, word [0x48c2c8]
+add eax, edx
+push eax
+movsx eax, word [ref_0048c2c4] ; movsx eax, word [0x48c2c4]
+add eax, 0x34
+push eax
+push ref_00463efd ; push 0x463efd
+
+loc_004279db:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00427a0b:
+xor eax, eax
+
+loc_00427a0d:
+add esp, 0xec
+jmp near loc_0042679d ; jmp 0x42679d
+
+loc_00427a18:
+xor eax, eax
+mov ax, dx
+shr edx, 0x10
+and edx, 0xffff
+xor ebx, ebx
+mov bx, dx
+movsx ecx, word [ref_0048c2c8] ; movsx ecx, word [0x48c2c8]
+movsx edx, word [ref_0048c2c6] ; movsx edx, word [0x48c2c6]
+lea esi, [ecx - 0xc]
+add esi, edx
+cmp ebx, esi
+jle short loc_00427a0b ; jle 0x427a0b
+add ecx, 0xc
+add edx, ecx
+cmp ebx, edx
+jge short loc_00427a0b ; jge 0x427a0b
+mov dword [esp + 0xd8], esi
+add esi, 0x18
+mov dword [esp + 0xe0], esi
+movsx edx, word [ref_0048c2c4] ; movsx edx, word [0x48c2c4]
+lea ebx, [edx + 0x10]
+cmp eax, ebx
+jle short loc_00427a88 ; jle 0x427a88
+add edx, 0x58
+cmp eax, edx
+jge short loc_00427a88 ; jge 0x427a88
+mov dword [esp + 0xd4], ebx
+mov dword [esp + 0xdc], edx
+mov byte [ref_0048c2c1], 1 ; mov byte [0x48c2c1], 1
+jmp short loc_00427ac4 ; jmp 0x427ac4
+
+loc_00427a88:
+movsx edx, word [ref_0048c2c4] ; movsx edx, word [0x48c2c4]
+lea ecx, [edx + 0x68]
+cmp eax, ecx
+jle short loc_00427ab7 ; jle 0x427ab7
+add edx, 0xb0
+cmp eax, edx
+jge short loc_00427ab7 ; jge 0x427ab7
+mov dword [esp + 0xd4], ecx
+mov dword [esp + 0xdc], edx
+mov byte [ref_0048c2c1], 2 ; mov byte [0x48c2c1], 2
+jmp short loc_00427ac4 ; jmp 0x427ac4
+
+loc_00427ab7:
+cmp byte [ref_0048c2c1], 0 ; cmp byte [0x48c2c1], 0
+je near loc_00427a0b ; je 0x427a0b
+
+loc_00427ac4:
+lea eax, [esp + 0xd4]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+
+loc_00427ad1:
+add esp, 4
+jmp near loc_00427a0b ; jmp 0x427a0b
+
+loc_00427ad9:
+cmp byte [ref_0048c2c1], 0 ; cmp byte [0x48c2c1], 0
+je near loc_00427a0b ; je 0x427a0b
+call fcn_00451d4e ; call 0x451d4e
+cmp byte [ref_0048c2c1], 1 ; cmp byte [0x48c2c1], 1
+jne short loc_00427b5f ; jne 0x427b5f
+xor eax, eax
+mov al, byte [ref_0048c2c2] ; mov al, byte [0x48c2c2]
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+cmp eax, ebx
+jne short loc_00427b19 ; jne 0x427b19
+xor edx, edx
+mov dl, byte [ref_0048c2c3] ; mov dl, byte [0x48c2c3]
+push edx
+push ebx
+
+loc_00427b0f:
+call fcn_004247d5 ; call 0x4247d5
+add esp, 8
+jmp short loc_00427b5f ; jmp 0x427b5f
+
+loc_00427b19:
+push 0xf0
+push 0x140
+call fcn_00453a32 ; call 0x453a32
+add esp, 8
+cmp eax, 1
+jne short loc_00427b70 ; jne 0x427b70
+xor eax, eax
+mov al, byte [ref_0048c2c3] ; mov al, byte [0x48c2c3]
+push eax
+xor eax, eax
+mov al, byte [ref_0048c2c2] ; mov al, byte [0x48c2c2]
+push eax
+call fcn_004255da ; call 0x4255da
+add esp, 8
+cmp eax, 1
+jne short loc_00427b70 ; jne 0x427b70
+xor eax, eax
+mov al, byte [ref_0048c2c3] ; mov al, byte [0x48c2c3]
+push eax
+xor eax, eax
+mov al, byte [ref_0048c2c2] ; mov al, byte [0x48c2c2]
+push eax
+jmp short loc_00427b0f ; jmp 0x427b0f
+
+loc_00427b5f:
+push 0
+push 0
+push 0x205
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_00427b70:
+xor cl, cl
+mov byte [ref_0048c2c1], cl ; mov byte [0x48c2c1], cl
+jmp near loc_00427a0b ; jmp 0x427a0b
+
+loc_00427b7d:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_00427ad1 ; jmp 0x427ad1
+
+loc_00427b93:
+lea eax, [esp + 0x80]
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0x8c]
+push edx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x98]
+push ebp
+mov edx, dword [esp + 0x98]
+push edx
+mov ecx, dword [ref_0048a0dc] ; mov ecx, dword [0x48a0dc]
+push ecx
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00427a0b ; jmp 0x427a0b
+
+loc_00427c0a:
+push edx
+mov ebx, dword [esp + 0x10c]
+push ebx
+push eax
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00427a0d ; jmp 0x427a0d
+
+fcn_00427c21:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x58
+mov edi, dword [esp + 0x6c]
+mov eax, dword [esp + 0x70]
+mov ebx, dword [esp + 0x78]
+cmp eax, 0x205
+jb short loc_00427c8c ; jb 0x427c8c
+jbe near loc_00428378 ; jbe 0x428378
+cmp eax, 0x410
+jb short loc_00427c6f ; jb 0x427c6f
+jbe near loc_004283b8 ; jbe 0x4283b8
+cmp eax, 0x412
+jb near loc_004283cb ; jb 0x4283cb
+jbe near loc_004283de ; jbe 0x4283de
+cmp eax, 0x413
+je near loc_004283f1 ; je 0x4283f1
+jmp near loc_00428461 ; jmp 0x428461
+
+loc_00427c6f:
+cmp eax, 0x401
+jb near loc_00428461 ; jb 0x428461
+jbe short loc_00427ccf ; jbe 0x427ccf
+cmp eax, 0x40f
+je near loc_0042838b ; je 0x42838b
+jmp near loc_00428461 ; jmp 0x428461
+
+loc_00427c8c:
+cmp eax, 0x201
+jb short loc_00427cb4 ; jb 0x427cb4
+jbe near loc_00427ea1 ; jbe 0x427ea1
+cmp eax, 0x202
+jbe near loc_004281af ; jbe 0x4281af
+cmp eax, 0x203
+je near loc_00427ea1 ; je 0x427ea1
+jmp near loc_00428461 ; jmp 0x428461
+
+loc_00427cb4:
+cmp eax, 0xf
+jb near loc_00428461 ; jb 0x428461
+jbe near loc_00428403 ; jbe 0x428403
+cmp eax, 0x200
+je short loc_00427cfd ; je 0x427cfd
+jmp near loc_00428461 ; jmp 0x428461
+
+loc_00427ccf:
+xor ah, ah
+mov byte [ref_0048c2ca], ah ; mov byte [0x48c2ca], ah
+mov byte [ref_0048c2cb], ah ; mov byte [0x48c2cb], ah
+call fcn_004249c2 ; call 0x4249c2
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00427e97 ; jmp 0x427e97
+
+loc_00427cfd:
+cmp byte [ref_0048c2ca], 1 ; cmp byte [0x48c2ca], 1
+jne near loc_00427e97 ; jne 0x427e97
+xor esi, esi
+mov si, bx
+shr ebx, 0x10
+and ebx, 0xffff
+and ebx, 0xffff
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+call dword [eax + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov dword [esp + 0x40], 0x1d0
+mov dword [esp + 0x48], 0x260
+mov dword [esp + 0x44], 0x74
+mov dword [esp + 0x4c], 0xd4
+cmp esi, 0x1d9
+jle near loc_00427e48 ; jle 0x427e48
+cmp esi, 0x256
+jge near loc_00427e48 ; jge 0x427e48
+cmp ebx, 0x7d
+jle near loc_00427e48 ; jle 0x427e48
+cmp ebx, 0xca
+jge near loc_00427e48 ; jge 0x427e48
+lea edx, [esi - 0x1d9]
+mov esi, 0x3f
+mov eax, edx
+sar edx, 0x1f
+idiv esi
+lea esi, [eax + eax]
+lea edx, [ebx - 0x7d]
+mov ecx, 0x27
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+add esi, eax
+mov dword [esp + 0x54], esi
+xor edx, edx
+mov dl, byte [ref_0048c2cb] ; mov dl, byte [0x48c2cb]
+lea eax, [esi + 1]
+cmp edx, eax
+je near loc_00427e87 ; je 0x427e87
+test dl, dl
+je short loc_00427df4 ; je 0x427df4
+push 0x74
+push 0x1d0
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0xd8
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_00427df4:
+mov eax, dword [esp + 0x54]
+mov edx, eax
+sar edx, 0x1f
+sub eax, edx
+sar eax, 1
+mov ebx, eax
+shl eax, 3
+add eax, ebx
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+lea esi, [eax + 0x1d9]
+mov edx, dword [esp + 0x54]
+and edx, 1
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+lea ebx, [eax + 0x7d]
+push 0xfffffffffffffff4
+push 0x26
+push 0x3e
+push ebx
+push esi
+push ref_0046caec ; push 0x46caec
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+mov al, byte [esp + 0x54]
+inc al
+jmp short loc_00427e73 ; jmp 0x427e73
+
+loc_00427e48:
+cmp byte [ref_0048c2cb], 0 ; cmp byte [0x48c2cb], 0
+je short loc_00427e87 ; je 0x427e87
+push 0x74
+push 0x1d0
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0xd8
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor al, al
+
+loc_00427e73:
+mov byte [ref_0048c2cb], al ; mov byte [0x48c2cb], al
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00427e87:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_00427e97:
+xor eax, eax
+
+loc_00427e99:
+add esp, 0x58
+jmp near loc_0042679d ; jmp 0x42679d
+
+loc_00427ea1:
+xor esi, esi
+mov si, bx
+mov eax, ebx
+shr eax, 0x10
+and eax, 0xffff
+xor ebx, ebx
+mov bx, ax
+cmp esi, 0x1d0
+jle near loc_00427fc8 ; jle 0x427fc8
+cmp esi, 0x218
+jge near loc_00427fc8 ; jge 0x427fc8
+cmp ebx, 0x4a
+jle near loc_00427fc8 ; jle 0x427fc8
+cmp ebx, 0x72
+jge near loc_00427fc8 ; jge 0x427fc8
+imul eax, dword [ref_0049910c], 0x54 ; imul eax, dword [0x49910c], 0x54
+cmp byte [eax + ref_00496828], 0 ; cmp byte [eax + 0x496828], 0
+je short loc_00427f12 ; je 0x427f12
+push 1
+push ref_00463f03 ; push 0x463f03
+call fcn_00424502 ; call 0x424502
+add esp, 8
+push 0x5dc
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+call fcn_00424620 ; call 0x424620
+jmp short loc_00427e97 ; jmp 0x427e97
+
+loc_00427f12:
+mov dword [ref_0048c2cc], 0x1d0 ; mov dword [0x48c2cc], 0x1d0
+mov dword [ref_0048c2d0], 0x4a ; mov dword [0x48c2d0], 0x4a
+mov dword [ref_0048c2d4], 0x260 ; mov dword [0x48c2d4], 0x260
+mov dword [ref_0048c2d8], 0xd4 ; mov dword [0x48c2d8], 0xd4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0xfffffffffffffff4
+push 0x28
+push 0x48
+mov eax, dword [ref_0048c2d0] ; mov eax, dword [0x48c2d0]
+push eax
+mov edx, dword [ref_0048c2cc] ; mov edx, dword [0x48c2cc]
+push edx
+push ref_0046caec ; push 0x46caec
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+push 0x74
+mov ecx, dword [ref_0048c2cc] ; mov ecx, dword [0x48c2cc]
+push ecx
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0xd8
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048c2cc ; push 0x48c2cc
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c2ca], 1 ; mov byte [0x48c2ca], 1
+jmp near loc_00427e97 ; jmp 0x427e97
+
+loc_00427fc8:
+cmp esi, 0x218
+jle near loc_00428085 ; jle 0x428085
+cmp esi, 0x260
+jge near loc_00428085 ; jge 0x428085
+cmp ebx, 0x4a
+jle near loc_00428085 ; jle 0x428085
+cmp ebx, 0x72
+jge near loc_00428085 ; jge 0x428085
+mov dword [ref_0048c2cc], 0x218 ; mov dword [0x48c2cc], 0x218
+mov dword [ref_0048c2d0], 0x4a ; mov dword [0x48c2d0], 0x4a
+mov dword [ref_0048c2d4], 0x260 ; mov dword [0x48c2d4], 0x260
+mov dword [ref_0048c2d8], 0x72 ; mov dword [0x48c2d8], 0x72
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0xfffffffffffffff4
+push 0x28
+push 0x48
+mov ebp, dword [ref_0048c2d0] ; mov ebp, dword [0x48c2d0]
+push ebp
+mov eax, dword [ref_0048c2cc] ; mov eax, dword [0x48c2cc]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048c2cc ; push 0x48c2cc
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c2ca], 2 ; mov byte [0x48c2ca], 2
+jmp near loc_00427e97 ; jmp 0x427e97
+
+loc_00428085:
+cmp esi, 0x68
+jle near loc_00427e97 ; jle 0x427e97
+cmp esi, 0x260
+jge near loc_00427e97 ; jge 0x427e97
+cmp ebx, 0x72
+jle near loc_00427e97 ; jle 0x427e97
+mov edx, dword [ref_00499114] ; mov edx, dword [0x499114]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+add eax, 0x72
+cmp ebx, eax
+jge near loc_00427e97 ; jge 0x427e97
+lea edx, [esi - 0x68]
+mov esi, 0x48
+mov eax, edx
+sar edx, 0x1f
+idiv esi
+mov dword [esp + 0x54], eax
+lea edx, [ebx - 0x72]
+mov eax, edx
+sar edx, 0x1f
+idiv esi
+mov dword [esp + 0x50], eax
+imul ebx, eax, 0x54
+mov edx, dword [esp + 0x54]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+cmp byte [ebx + eax*4 + ref_004967e0], 0 ; cmp byte [ebx + eax*4 + 0x4967e0], 0
+je near loc_00427e97 ; je 0x427e97
+mov eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 3
+lea eax, [edx + 0x68]
+mov dword [ref_0048c2cc], eax ; mov dword [0x48c2cc], eax
+mov ebx, dword [esp + 0x50]
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 3
+lea ecx, [eax + 0x72]
+mov dword [ref_0048c2d0], ecx ; mov dword [0x48c2d0], ecx
+add edx, 0xb0
+mov dword [ref_0048c2d4], edx ; mov dword [0x48c2d4], edx
+add eax, 0xba
+mov dword [ref_0048c2d8], eax ; mov dword [0x48c2d8], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0xfffffffffffffff4
+push esi
+push esi
+mov ebp, dword [ref_0048c2d0] ; mov ebp, dword [0x48c2d0]
+push ebp
+mov eax, dword [ref_0048c2cc] ; mov eax, dword [0x48c2cc]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048c2cc ; push 0x48c2cc
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov al, byte [esp + 0x50]
+mov ah, 7
+mul ah
+add al, byte [esp + 0x54]
+add al, 0x64
+mov byte [ref_0048c2ca], al ; mov byte [0x48c2ca], al
+jmp near loc_00427e97 ; jmp 0x427e97
+
+loc_004281af:
+mov dh, byte [ref_0048c2ca] ; mov dh, byte [0x48c2ca]
+test dh, dh
+je near loc_00427e97 ; je 0x427e97
+mov al, dh
+cmp dh, 1
+jb near loc_00428296 ; jb 0x428296
+jbe short loc_004281d4 ; jbe 0x4281d4
+cmp dh, 2
+je short loc_0042820a ; je 0x42820a
+jmp near loc_00428296 ; jmp 0x428296
+
+loc_004281d4:
+call fcn_004249c2 ; call 0x4249c2
+mov bl, byte [ref_0048c2cb] ; mov bl, byte [0x48c2cb]
+test bl, bl
+je near loc_0042836b ; je 0x42836b
+push 0
+push 0
+xor eax, eax
+mov al, bl
+add eax, 0x40e
+push eax
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+xor bh, bh
+mov byte [ref_0048c2cb], bh ; mov byte [0x48c2cb], bh
+jmp near loc_0042836b ; jmp 0x42836b
+
+loc_0042820a:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048c2d8] ; mov eax, dword [0x48c2d8]
+mov edx, dword [ref_0048c2d0] ; mov edx, dword [0x48c2d0]
+sub eax, edx
+push eax
+mov eax, dword [ref_0048c2d4] ; mov eax, dword [0x48c2d4]
+mov ecx, dword [ref_0048c2cc] ; mov ecx, dword [0x48c2cc]
+sub eax, ecx
+push eax
+lea eax, [edx - 0x42]
+push eax
+lea eax, [ecx - 0x16]
+push eax
+push edx
+push ecx
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048c2cc ; push 0x48c2cc
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_0042836b ; jmp 0x42836b
+
+loc_00428296:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor ebx, ebx
+mov bl, byte [ref_0048c2ca] ; mov bl, byte [0x48c2ca]
+sub ebx, 0x64
+mov esi, 7
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv esi
+mov esi, eax
+imul ebp, eax, 0x54
+mov ecx, 7
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor edx, edx
+mov dl, byte [ebp + eax*4 + ref_004967e0] ; mov dl, byte [ebp + eax*4 + 0x4967e0]
+imul esi, esi, 0x68
+xor eax, eax
+mov al, byte [esi + ref_00496b7c] ; mov al, byte [esi + 0x496b7c]
+shl eax, 2
+add eax, edx
+add eax, 8
+mov dword [esp + 0x50], eax
+mov eax, dword [ref_0048c2d0] ; mov eax, dword [0x48c2d0]
+push eax
+mov edx, dword [ref_0048c2cc] ; mov edx, dword [0x48c2cc]
+push edx
+mov ecx, dword [ref_0048c298] ; mov ecx, dword [0x48c298]
+mov edx, dword [esp + 0x58]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048c2cc ; push 0x48c2cc
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor eax, eax
+mov al, byte [ref_0048c2ca] ; mov al, byte [0x48c2ca]
+push eax
+push 0
+push 0x413
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0042836b:
+xor cl, cl
+mov byte [ref_0048c2ca], cl ; mov byte [0x48c2ca], cl
+jmp near loc_00427e97 ; jmp 0x427e97
+
+loc_00428378:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+jmp short loc_004283b0 ; jmp 0x4283b0
+
+loc_0042838b:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push fcn_004258c1 ; push 0x4258c1
+
+loc_0042839c:
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_004249c2 ; call 0x4249c2
+push 1
+call fcn_00402460 ; call 0x402460
+
+loc_004283b0:
+add esp, 4
+jmp near loc_00427e97 ; jmp 0x427e97
+
+loc_004283b8:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push fcn_0042608f ; push 0x42608f
+jmp short loc_0042839c ; jmp 0x42839c
+
+loc_004283cb:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push fcn_004267a4 ; push 0x4267a4
+jmp short loc_0042839c ; jmp 0x42839c
+
+loc_004283de:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push fcn_00426c2e ; push 0x426c2e
+jmp short loc_0042839c ; jmp 0x42839c
+
+loc_004283f1:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push ebx
+push fcn_0042704e ; push 0x42704e
+jmp short loc_0042839c ; jmp 0x42839c
+
+loc_00428403:
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+mov ebp, dword [ref_0048a0dc] ; mov ebp, dword [0x48a0dc]
+push ebp
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00427e97 ; jmp 0x427e97
+
+loc_00428461:
+push ebx
+mov edx, dword [esp + 0x78]
+push edx
+push eax
+push edi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00427e99 ; jmp 0x427e99
+
+fcn_00428475:
+push ebx
+push esi
+xor esi, esi
+
+loc_00428479:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge near loc_004258be ; jge 0x4258be
+imul eax, esi, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_004284bb ; je 0x4284bb
+xor edx, edx
+jmp short loc_0042849b ; jmp 0x42849b
+
+loc_00428495:
+inc edx
+cmp edx, 7
+jge short loc_004284bb ; jge 0x4284bb
+
+loc_0042849b:
+imul ebx, esi, 0x54
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ebx
+cmp byte [eax + ref_004967e0], 0 ; cmp byte [eax + 0x4967e0], 0
+je short loc_00428495 ; je 0x428495
+inc byte [eax + ref_004967e1] ; inc byte [eax + 0x4967e1]
+jmp short loc_00428495 ; jmp 0x428495
+
+loc_004284bb:
+inc esi
+jmp short loc_00428479 ; jmp 0x428479
+
+fcn_004284be:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+call fcn_0042483e ; call 0x42483e
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_0042886e ; jne 0x42886e
+push 0
+push 0
+push 0x49
+mov ebp, dword [ref_0048a05c] ; mov ebp, dword [0x48a05c]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c298], eax ; mov dword [0x48c298], eax
+push 0
+push 0
+push 0x4a
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c2a8], eax ; mov dword [0x48c2a8], eax
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x10
+push 0x30
+push ref_00463f1a ; push 0x463f1a
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x10
+push 0x90
+push ref_00463f23 ; push 0x463f23
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x10
+push 0xfa
+push ref_00463f2c ; push 0x463f2c
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x5c
+push 0x1f
+push ref_00463f35 ; push 0x463f35
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x54
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x7a
+push 0x1f
+push ref_00463f3c ; push 0x463f3c
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x54
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x98
+push 0x1f
+push ref_00463f43 ; push 0x463f43
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x54
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x5c
+push 0x1f
+push ref_00463f35 ; push 0x463f35
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x60
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x7c
+push 0x1f
+push ref_00463f4a ; push 0x463f4a
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x60
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x9c
+push 0x1f
+push ref_00463f3c ; push 0x463f3c
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x60
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xbc
+push 0x1f
+push ref_00463f43 ; push 0x463f43
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x60
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x5c
+push 0x1f
+push ref_00463f35 ; push 0x463f35
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x6c
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x7c
+push 0x1f
+push ref_00463f51 ; push 0x463f51
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x6c
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x9c
+push 0x1f
+push ref_00463f58 ; push 0x463f58
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x6c
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xbc
+push 0x1f
+push ref_00463f3c ; push 0x463f3c
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x6c
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xdc
+push 0x1f
+push ref_00463f43 ; push 0x463f43
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x6c
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 3
+push 0x800000
+push 0xffffff
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0xcb
+push 0x8c
+push ref_00463f5f ; push 0x463f5f
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x54
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xec
+push 0x8c
+push ref_00463f5f ; push 0x463f5f
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x60
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x109
+push 0x8c
+push ref_00463f5f ; push 0x463f5f
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x6c
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 2
+push 0
+push 0x101010
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+mov esi, 0x28
+
+loc_0042877f:
+push 2
+push 0x10
+push esi
+mov edx, dword [ebx*4 + ref_004753d4] ; mov edx, dword [ebx*4 + 0x4753d4]
+push edx
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x50
+cmp ebx, 5
+jl short loc_0042877f ; jl 0x42877f
+push 1
+push 2
+push 0
+push 0xffffff
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+
+loc_004287bd:
+push 2
+push 0x30
+movsx eax, word [ebx*2 + ref_004754b0] ; movsx eax, word [ebx*2 + 0x4754b0]
+sub eax, 0x70
+push eax
+mov ecx, dword [ebx*4 + ref_004753e8] ; mov ecx, dword [ebx*4 + 0x4753e8]
+push ecx
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+cmp ebx, 5
+jl short loc_004287bd ; jl 0x4287bd
+xor ebx, ebx
+mov edi, 0x30
+
+loc_004287f3:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00428825 ; jge 0x428825
+lea eax, [edi + 0x24]
+push eax
+push 0x2c
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048c298] ; mov eax, dword [0x48c298]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+inc ebx
+add edi, 0x48
+jmp short loc_004287f3 ; jmp 0x4287f3
+
+loc_00428825:
+push 0
+push fcn_00427c21 ; push 0x427c21
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+mov edi, dword [ref_0048c298] ; mov edi, dword [0x48c298]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048c2a8] ; mov ebp, dword [0x48c2a8]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0042885c:
+push 0
+call fcn_00436b0a ; call 0x436b0a
+add esp, 4
+add esp, 0x18
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0042886e:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 0xf
+sar edx, 0x1f
+idiv ebx
+test edx, edx
+jne near loc_00428a37 ; jne 0x428a37
+xor ebp, ebp
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441262 ; call 0x441262
+add esp, 4
+mov ebx, eax
+cmp eax, 0xc
+jle near loc_00428958 ; jle 0x428958
+xor esi, esi
+mov dword [esp + 0x10], esi
+
+loc_004288a9:
+cmp esi, ebx
+jge short loc_004288f4 ; jge 0x4288f4
+xor edi, edi
+
+loc_004288af:
+cmp edi, ebx
+jge short loc_004288f1 ; jge 0x4288f1
+cmp edi, esi
+je short loc_004288ee ; je 0x4288ee
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+lea edx, [eax + esi]
+add eax, edi
+mov dl, byte [edx + ref_00499120] ; mov dl, byte [edx + 0x499120]
+mov cl, byte [eax + ref_00499120] ; mov cl, byte [eax + 0x499120]
+cmp dl, cl
+jne short loc_004288ee ; jne 0x4288ee
+mov eax, dword [esp + 0x10]
+mov byte [esp + eax], cl
+lea edx, [eax + 1]
+mov dword [esp + 0x10], edx
+
+loc_004288ee:
+inc edi
+jmp short loc_004288af ; jmp 0x4288af
+
+loc_004288f1:
+inc esi
+jmp short loc_004288a9 ; jmp 0x4288a9
+
+loc_004288f4:
+cmp dword [esp + 0x10], 0
+je short loc_00428958 ; je 0x428958
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv dword [esp + 0x10]
+xor eax, eax
+mov al, byte [esp + edx]
+mov dword [esp + 0x10], eax
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x54
+cmp byte [eax + ref_00496828], 0 ; cmp byte [eax + 0x496828], 0
+je short loc_0042892f ; je 0x42892f
+push 0
+push ebx
+call fcn_004247d5 ; call 0x4247d5
+add esp, 8
+
+loc_0042892f:
+push 0
+mov eax, dword [esp + 0x14]
+mov al, byte [eax*8 + ref_0047fdef] ; mov al, byte [eax*8 + 0x47fdef]
+and eax, 0xff
+imul eax, eax, 0x64
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+mov ebp, dword [esp + 0x18]
+push ebp
+push 4
+jmp near loc_00428a29 ; jmp 0x428a29
+
+loc_00428958:
+test ebp, ebp
+jne near loc_00428a37 ; jne 0x428a37
+xor ebx, ebx
+mov dword [esp + 0x10], ebp
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+jmp short loc_00428974 ; jmp 0x428974
+
+loc_0042896e:
+inc ebx
+cmp ebx, 0xd
+jge short loc_004289cb ; jge 0x4289cb
+
+loc_00428974:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add eax, ebx
+mov ch, byte [eax + ref_0049915c] ; mov ch, byte [eax + 0x49915c]
+cmp ch, 3
+jae short loc_004289b7 ; jae 0x4289b7
+test ch, ch
+je short loc_0042896e ; je 0x42896e
+xor edx, edx
+mov dl, byte [ebx*8 + ref_0047fee9] ; mov dl, byte [ebx*8 + 0x47fee9]
+imul eax, esi, 0x68
+mov al, byte [eax + ref_00496b7f] ; mov al, byte [eax + 0x496b7f]
+and eax, 0xff
+sub edx, eax
+cmp edx, 2
+jne short loc_0042896e ; jne 0x42896e
+
+loc_004289b7:
+mov dl, bl
+inc dl
+mov eax, dword [esp + 0x10]
+mov byte [esp + eax], dl
+lea edi, [eax + 1]
+mov dword [esp + 0x10], edi
+jmp short loc_0042896e ; jmp 0x42896e
+
+loc_004289cb:
+mov ebp, dword [esp + 0x10]
+test ebp, ebp
+je short loc_00428a37 ; je 0x428a37
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebp
+xor eax, eax
+mov al, byte [esp + edx]
+mov dword [esp + 0x10], eax
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x54
+cmp byte [eax + ref_00496828], 0 ; cmp byte [eax + 0x496828], 0
+je short loc_00428a05 ; je 0x428a05
+push 0
+push ebx
+call fcn_004247d5 ; call 0x4247d5
+add esp, 8
+
+loc_00428a05:
+push 0
+mov eax, dword [esp + 0x14]
+mov al, byte [eax*8 + ref_0047fedf] ; mov al, byte [eax*8 + 0x47fedf]
+and eax, 0xff
+imul eax, eax, 0x64
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+mov ebp, dword [esp + 0x18]
+push ebp
+push 3
+
+loc_00428a29:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_004246c5 ; call 0x4246c5
+add esp, 0x14
+
+loc_00428a37:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 3
+sar edx, 0x1f
+idiv ebx
+test edx, edx
+jne near loc_00428ae8 ; jne 0x428ae8
+xor ebx, ebx
+jmp short loc_00428a92 ; jmp 0x428a92
+
+loc_00428a54:
+cmp cl, 4
+jne short loc_00428a8c ; jne 0x428a8c
+xor eax, eax
+mov ax, word [edx + ref_004967e2] ; mov ax, word [edx + 0x4967e2]
+mov al, byte [eax*8 + ref_0047fdef] ; mov al, byte [eax*8 + 0x47fdef]
+and eax, 0xff
+imul eax, eax, 0x64
+mov esi, dword [ref_004990e8] ; mov esi, dword [0x4990e8]
+imul esi, eax
+mov dword [esp + 0x10], esi
+cmp esi, dword [edx + ref_004967e4] ; cmp esi, dword [edx + 0x4967e4]
+je short loc_00428a8c ; je 0x428a8c
+mov dword [edx + ref_004967e4], esi ; mov dword [edx + 0x4967e4], esi
+
+loc_00428a8c:
+inc ebx
+cmp ebx, 7
+jge short loc_00428ae8 ; jge 0x428ae8
+
+loc_00428a92:
+imul esi, dword [ref_0049910c], 0x54 ; imul esi, dword [0x49910c], 0x54
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+lea edx, [esi + eax]
+mov cl, byte [edx + ref_004967e0] ; mov cl, byte [edx + 0x4967e0]
+cmp cl, 3
+jne short loc_00428a54 ; jne 0x428a54
+xor eax, eax
+mov ax, word [edx + ref_004967e2] ; mov ax, word [edx + 0x4967e2]
+mov al, byte [eax*8 + ref_0047fedf] ; mov al, byte [eax*8 + 0x47fedf]
+and eax, 0xff
+imul eax, eax, 0x64
+mov esi, dword [ref_004990e8] ; mov esi, dword [0x4990e8]
+imul esi, eax
+mov dword [esp + 0x10], esi
+mov eax, esi
+cmp eax, dword [edx + ref_004967e4] ; cmp eax, dword [edx + 0x4967e4]
+je short loc_00428a8c ; je 0x428a8c
+mov dword [edx + ref_004967e4], eax ; mov dword [edx + 0x4967e4], eax
+jmp short loc_00428a8c ; jmp 0x428a8c
+
+loc_00428ae8:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 4
+sar edx, 0x1f
+idiv ebx
+test edx, edx
+jne near loc_0042885c ; jne 0x42885c
+xor esi, esi
+xor ebp, ebp
+
+loc_00428b05:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge near loc_0042885c ; jge 0x42885c
+test ebp, ebp
+jne near loc_0042885c ; jne 0x42885c
+cmp esi, dword [ref_0049910c] ; cmp esi, dword [0x49910c]
+je near loc_00428ca9 ; je 0x428ca9
+imul eax, esi, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_00428ca9 ; je 0x428ca9
+xor ebx, ebx
+jmp short loc_00428b43 ; jmp 0x428b43
+
+loc_00428b39:
+inc ebx
+cmp ebx, 7
+jge near loc_00428ca9 ; jge 0x428ca9
+
+loc_00428b43:
+imul edi, esi, 0x54
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+lea edx, [edi + eax]
+mov cl, byte [edx + ref_004967e0] ; mov cl, byte [edx + 0x4967e0]
+cmp cl, 1
+jne short loc_00428bc6 ; jne 0x428bc6
+fild dword [edx + ref_004967e4] ; fild dword [edx + 0x4967e4]
+xor eax, eax
+mov ax, word [edx + ref_004967e8] ; mov ax, word [edx + 0x4967e8]
+mov dword [esp + 0x14], eax
+fild dword [esp + 0x14]
+fdivp st1 ; fdivp st(1)
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x10]
+mov dx, word [edx + ref_004967e2] ; mov dx, word [edx + 0x4967e2]
+and edx, 0xffff
+mov eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 2
+mov eax, dword [esp + 0x10]
+mov dword [esp + 0x14], eax
+fild dword [esp + 0x14]
+fcomp dword [edx + ref_00496994] ; fcomp dword [edx + 0x496994]
+fnstsw ax
+sahf
+jae short loc_00428b39 ; jae 0x428b39
+push ebx
+push esi
+call fcn_004255da ; call 0x4255da
+add esp, 8
+cmp eax, 1
+jne near loc_00428b39 ; jne 0x428b39
+jmp near loc_00428c9a ; jmp 0x428c9a
+
+loc_00428bc6:
+cmp cl, 2
+jne near loc_00428b39 ; jne 0x428b39
+mov cx, word [edx + ref_004967e2] ; mov cx, word [edx + 0x4967e2]
+cmp cx, 0xfa0
+jae short loc_00428c06 ; jae 0x428c06
+xor eax, eax
+mov ax, cx
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add eax, edx
+xor edi, edi
+mov di, word [eax + 0x1e]
+xor edx, edx
+mov dl, byte [eax + 0x1a]
+imul edx, edi
+mov ax, word [eax + 0x1c]
+jmp short loc_00428c34 ; jmp 0x428c34
+
+loc_00428c06:
+xor eax, eax
+mov ax, cx
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, edx
+xor edx, edx
+mov dx, word [eax + 0x24]
+movzx edi, byte [eax + 0x1a]
+imul edx, edi
+mov ax, word [eax + 0x22]
+
+loc_00428c34:
+and eax, 0xffff
+add eax, edx
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+imul edx, eax
+mov dword [esp + 0x10], edx
+imul edi, esi, 0x54
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+lea edx, [edi + eax]
+mov edi, dword [esp + 0x10]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+mov ecx, dword [edx + ref_004967e4] ; mov ecx, dword [edx + 0x4967e4]
+cmp eax, ecx
+jle near loc_00428b39 ; jle 0x428b39
+lea edx, [ecx + ecx]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp edx, dword [eax + ref_00496b84] ; cmp edx, dword [eax + 0x496b84]
+jge near loc_00428b39 ; jge 0x428b39
+push ebx
+push esi
+call fcn_004255da ; call 0x4255da
+add esp, 8
+cmp eax, 1
+jne near loc_00428b39 ; jne 0x428b39
+
+loc_00428c9a:
+push ebx
+push esi
+call fcn_004247d5 ; call 0x4247d5
+add esp, 8
+mov ebp, 1
+
+loc_00428ca9:
+inc esi
+jmp near loc_00428b05 ; jmp 0x428b05
+
+fcn_00428caf:
+push ebx
+push esi
+xor esi, esi
+mov ebx, dword [ref_00498e90] ; mov ebx, dword [0x498e90]
+jmp short loc_00428cc1 ; jmp 0x428cc1
+
+loc_00428cbb:
+inc esi
+cmp esi, 0xc
+jge short loc_00428cfe ; jge 0x428cfe
+
+loc_00428cc1:
+mov eax, esi
+shl eax, 3
+add eax, esi
+cmp word [eax*4 + ref_00496984], 0 ; cmp word [eax*4 + 0x496984], 0
+je short loc_00428cbb ; je 0x428cbb
+mov edx, 1
+mov ecx, dword [ref_00498e7c] ; mov ecx, dword [0x498e7c]
+
+loc_00428cde:
+add ecx, 0x34
+cmp edx, ebx
+jg short loc_00428cbb ; jg 0x428cbb
+xor eax, eax
+mov al, byte [ecx + 0x19]
+cmp eax, esi
+jne short loc_00428cfb ; jne 0x428cfb
+shl eax, 3
+add eax, esi
+mov word [eax*4 + ref_00496984], dx ; mov word [eax*4 + 0x496984], dx
+
+loc_00428cfb:
+inc edx
+jmp short loc_00428cde ; jmp 0x428cde
+
+loc_00428cfe:
+pop esi
+pop ebx
+ret
+
+fcn_00428d01:
+push ebx
+xor ebx, ebx
+cmp dword [ref_004990dc], 0 ; cmp dword [0x4990dc], 0
+jne short loc_00428d21 ; jne 0x428d21
+mov ecx, dword [ref_00497160] ; mov ecx, dword [0x497160]
+push ecx
+call fcn_004523d5 ; call 0x4523d5
+add esp, 4
+cmp eax, 1
+jne short loc_00428d26 ; jne 0x428d26
+
+loc_00428d21:
+mov ebx, 1
+
+loc_00428d26:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00428d2a:
+push ebx
+push esi
+push edi
+sub esp, 0xc
+mov esi, dword [esp + 0x24]
+imul ebx, dword [esp + 0x1c], 0x68
+mov edx, dword [esp + 0x20]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+cmp dword [esp + 0x28], 0
+je short loc_00428d7f ; je 0x428d7f
+mov dword [esp + 8], esi
+fild dword [esp + 8]
+fmul dword [eax + ref_00496994] ; fmul dword [eax + 0x496994]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 4]
+sub word [eax + ref_0049698a], si ; sub word [eax + 0x49698a], si
+sub word [eax + ref_00496988], si ; sub word [eax + 0x496988], si
+mov eax, dword [esp + 4]
+sub dword [ebx + ref_00496b88], eax ; sub dword [ebx + 0x496b88], eax
+jmp short loc_00428db7 ; jmp 0x428db7
+
+loc_00428d7f:
+mov ax, word [eax + ref_00496984] ; mov ax, word [eax + 0x496984]
+and eax, 0xffff
+imul eax, eax, 0x34
+mov ecx, dword [ref_00498e7c] ; mov ecx, dword [0x498e7c]
+add ecx, eax
+mov edi, 0x2710
+mov eax, dword [ecx + 0x24]
+mov edx, eax
+sar edx, 0x1f
+idiv edi
+mov edx, esi
+imul edx, eax
+mov dword [esp + 4], edx
+sub dword [ecx + 0x30], esi
+sub dword [ebx + ref_00496b84], edx ; sub dword [ebx + 0x496b84], edx
+
+loc_00428db7:
+mov edx, dword [esp + 0x1c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov edx, dword [esp + 0x20]
+shl edx, 3
+add edx, eax
+fild dword [edx + ref_004971a0] ; fild dword [edx + 0x4971a0]
+fmul dword [edx + ref_004971a4] ; fmul dword [edx + 0x4971a4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+add dword [edx + ref_004971a0], esi ; add dword [edx + 0x4971a0], esi
+mov eax, dword [esp + 4]
+mov ebx, dword [esp]
+add ebx, eax
+mov dword [esp], ebx
+fild dword [edx + ref_004971a0] ; fild dword [edx + 0x4971a0]
+mov dword [esp + 8], ebx
+fild dword [esp + 8]
+fdivrp st1 ; fdivrp st(1)
+fstp dword [edx + ref_004971a4] ; fstp dword [edx + 0x4971a4]
+mov esi, dword [esp + 0x20]
+push esi
+mov edi, dword [esp + 0x20]
+push edi
+call fcn_004294d5 ; call 0x4294d5
+add esp, 8
+add esp, 0xc
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00428e23:
+push ebx
+push esi
+sub esp, 8
+mov ecx, dword [esp + 0x1c]
+mov edx, dword [esp + 0x14]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 5
+mov eax, dword [esp + 0x18]
+shl eax, 3
+add eax, edx
+mov edx, dword [eax + ref_004971a0] ; mov edx, dword [eax + 0x4971a0]
+sub edx, ecx
+mov dword [eax + ref_004971a0], edx ; mov dword [eax + 0x4971a0], edx
+jne short loc_00428e5b ; jne 0x428e5b
+mov dword [eax + ref_004971a4], edx ; mov dword [eax + 0x4971a4], edx
+
+loc_00428e5b:
+mov edx, dword [esp + 0x18]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov dword [esp + 4], ecx
+fild dword [esp + 4]
+fmul dword [eax*4 + ref_00496994] ; fmul dword [eax*4 + 0x496994]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+add word [eax*4 + ref_0049698a], cx ; add word [eax*4 + 0x49698a], cx
+add word [eax*4 + ref_00496988], cx ; add word [eax*4 + 0x496988], cx
+cmp dword [esp + 0x20], 0
+je short loc_00428ea4 ; je 0x428ea4
+imul edx, dword [esp + 0x14], 0x68
+mov eax, dword [esp]
+add dword [edx + ref_00496b88], eax ; add dword [edx + 0x496b88], eax
+jmp short loc_00428ead ; jmp 0x428ead
+
+loc_00428ea4:
+mov eax, dword [esp]
+add dword [ref_00499080], eax ; add dword [0x499080], eax
+
+loc_00428ead:
+mov ebx, dword [esp + 0x18]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+call fcn_004294d5 ; call 0x4294d5
+add esp, 8
+add esp, 8
+pop esi
+pop ebx
+ret
+
+fcn_00428ec5:
+sub esp, 0x10
+fld dword [esp + 0x18]
+fadd dword [ref_00463f88] ; fadd dword [0x463f88]
+fdiv dword [ref_00463f88] ; fdiv dword [0x463f88]
+fmul dword [esp + 0x14]
+fstp dword [esp + 0xc]
+fldz
+fcomp dword [esp + 0x18]
+fnstsw ax
+sahf
+jae near loc_00428f77 ; jae 0x428f77
+fld dword [esp + 0xc]
+fsub dword [esp + 0x14]
+fstp dword [esp + 8]
+fld dword [esp + 0xc]
+fcomp dword [ref_00463f8c] ; fcomp dword [0x463f8c]
+fnstsw ax
+sahf
+jae short loc_00428f28 ; jae 0x428f28
+fld qword [ref_00463fb4] ; fld qword [0x463fb4]
+
+loc_00428f10:
+fld dword [esp + 8]
+
+loc_00428f14:
+call fcn_0045841c ; call 0x45841c
+fld dword [esp + 0xc]
+fstp qword [esp]
+fsubr qword [esp]
+jmp near loc_00429009 ; jmp 0x429009
+
+loc_00428f28:
+fld dword [esp + 0xc]
+fcomp dword [ref_00463f90] ; fcomp dword [0x463f90]
+fnstsw ax
+sahf
+jae short loc_00428f3f ; jae 0x428f3f
+fld qword [ref_00463fac] ; fld qword [0x463fac]
+jmp short loc_00428f10 ; jmp 0x428f10
+
+loc_00428f3f:
+fld dword [esp + 0xc]
+fcomp dword [ref_00463f94] ; fcomp dword [0x463f94]
+fnstsw ax
+sahf
+jae short loc_00428f56 ; jae 0x428f56
+fld qword [ref_00463fa4] ; fld qword [0x463fa4]
+jmp short loc_00428f10 ; jmp 0x428f10
+
+loc_00428f56:
+fld dword [esp + 0xc]
+fcomp dword [ref_00463f98] ; fcomp dword [0x463f98]
+fnstsw ax
+sahf
+jae short loc_00428f6d ; jae 0x428f6d
+fld qword [ref_00463f9c] ; fld qword [0x463f9c]
+jmp short loc_00428f10 ; jmp 0x428f10
+
+loc_00428f6d:
+fld dword [esp + 8]
+fld1
+fxch st1 ; fxch st(1)
+jmp short loc_00428f14 ; jmp 0x428f14
+
+loc_00428f77:
+fld dword [esp + 0x14]
+fsub dword [esp + 0xc]
+fstp dword [esp + 8]
+fld dword [esp + 0xc]
+fcomp dword [ref_00463f8c] ; fcomp dword [0x463f8c]
+fnstsw ax
+sahf
+jae short loc_00428fad ; jae 0x428fad
+fld qword [ref_00463fb4] ; fld qword [0x463fb4]
+
+loc_00428f98:
+fld dword [esp + 8]
+call fcn_0045841c ; call 0x45841c
+fld dword [esp + 0xc]
+fstp qword [esp]
+fadd qword [esp]
+jmp short loc_00429009 ; jmp 0x429009
+
+loc_00428fad:
+fld dword [esp + 0xc]
+fcomp dword [ref_00463f90] ; fcomp dword [0x463f90]
+fnstsw ax
+sahf
+jae short loc_00428fc4 ; jae 0x428fc4
+fld qword [ref_00463fac] ; fld qword [0x463fac]
+jmp short loc_00428f98 ; jmp 0x428f98
+
+loc_00428fc4:
+fld dword [esp + 0xc]
+fcomp dword [ref_00463f94] ; fcomp dword [0x463f94]
+fnstsw ax
+sahf
+jae short loc_00428fdb ; jae 0x428fdb
+fld qword [ref_00463fa4] ; fld qword [0x463fa4]
+jmp short loc_00428f98 ; jmp 0x428f98
+
+loc_00428fdb:
+fld dword [esp + 0xc]
+fcomp dword [ref_00463f98] ; fcomp dword [0x463f98]
+fnstsw ax
+sahf
+jae short loc_00428ff2 ; jae 0x428ff2
+fld qword [ref_00463f9c] ; fld qword [0x463f9c]
+jmp short loc_00428f98 ; jmp 0x428f98
+
+loc_00428ff2:
+fld dword [esp + 8]
+fld1
+fxch st1 ; fxch st(1)
+call fcn_0045841c ; call 0x45841c
+fld dword [esp + 0xc]
+fstp qword [esp]
+fadd qword [esp]
+
+loc_00429009:
+fstp dword [esp + 0xc]
+cmp dword [esp + 0xc], 0x3f800000
+jge short loc_00429021 ; jge 0x429021
+mov dword [esp + 0xc], 0x3f800000
+jmp short loc_00429038 ; jmp 0x429038
+
+loc_00429021:
+fld dword [esp + 0xc]
+fcomp dword [ref_00463fbc] ; fcomp dword [0x463fbc]
+fnstsw ax
+sahf
+jbe short loc_00429038 ; jbe 0x429038
+mov dword [esp + 0xc], 0x461c3c00
+
+loc_00429038:
+mov eax, dword [esp + 0xc]
+add esp, 0x10
+ret
+
+fcn_00429040:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov esi, dword [esp + 0x18]
+mov edi, dword [ref_00499100] ; mov edi, dword [0x499100]
+dec edi
+test edi, edi
+jge short loc_0042905b ; jge 0x42905b
+mov edi, 0x8f
+
+loc_0042905b:
+test esi, esi
+je near loc_004290e2 ; je 0x4290e2
+lea ebx, [esi - 1]
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+mov dl, byte [eax + ref_00496987] ; mov dl, byte [eax + 0x496987]
+test dl, dl
+je near loc_004290da ; je 0x4290da
+test dl, 0xf0
+je short loc_0042908f ; je 0x42908f
+mov dword [eax + ref_0049699c], 0x41200000 ; mov dword [eax + 0x49699c], 0x41200000
+jmp short loc_00429099 ; jmp 0x429099
+
+loc_0042908f:
+mov dword [eax + ref_0049699c], 0xc1200000 ; mov dword [eax + 0x49699c], 0xc1200000
+
+loc_00429099:
+dec esi
+mov ebx, esi
+shl ebx, 3
+add ebx, esi
+push dword [ebx*4 + ref_0049699c] ; push dword [ebx*4 + 0x49699c]
+push dword [ebx*4 + ref_00496990] ; push dword [ebx*4 + 0x496990]
+call fcn_00428ec5 ; call 0x428ec5
+mov dword [esp + 8], eax
+fld dword [esp + 8]
+add esp, 8
+fst dword [ebx*4 + ref_00496994] ; fst dword [ebx*4 + 0x496994]
+mov eax, esi
+shl eax, 3
+lea ebx, [esi + eax]
+shl ebx, 6
+mov eax, edi
+fstp dword [ebx + eax*4 + ref_00497328] ; fstp dword [ebx + eax*4 + 0x497328]
+
+loc_004290da:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_004290e2:
+mov ebp, 0x41200000
+jmp short loc_00429139 ; jmp 0x429139
+
+loc_004290e9:
+mov dword [eax + ref_0049699c], 0xc1200000 ; mov dword [eax + 0x49699c], 0xc1200000
+
+loc_004290f3:
+mov ebx, esi
+shl ebx, 3
+add ebx, esi
+push dword [ebx*4 + ref_0049699c] ; push dword [ebx*4 + 0x49699c]
+push dword [ebx*4 + ref_00496990] ; push dword [ebx*4 + 0x496990]
+call fcn_00428ec5 ; call 0x428ec5
+mov dword [esp + 8], eax
+fld dword [esp + 8]
+add esp, 8
+fst dword [ebx*4 + ref_00496994] ; fst dword [ebx*4 + 0x496994]
+mov eax, esi
+shl eax, 3
+lea ebx, [esi + eax]
+shl ebx, 6
+mov eax, edi
+fstp dword [ebx + eax*4 + ref_00497328] ; fstp dword [ebx + eax*4 + 0x497328]
+
+loc_00429133:
+inc esi
+cmp esi, 0xc
+jge short loc_004290da ; jge 0x4290da
+
+loc_00429139:
+mov eax, esi
+shl eax, 3
+add eax, esi
+shl eax, 2
+mov bl, byte [eax + ref_00496987] ; mov bl, byte [eax + 0x496987]
+test bl, bl
+je short loc_00429133 ; je 0x429133
+test bl, 0xf0
+je short loc_004290e9 ; je 0x4290e9
+mov dword [eax + ref_0049699c], ebp ; mov dword [eax + 0x49699c], ebp
+jmp short loc_004290f3 ; jmp 0x4290f3
+
+fcn_0042915a:
+push ebx
+push esi
+sub esp, 4
+xor esi, esi
+jmp short loc_00429170 ; jmp 0x429170
+
+loc_00429163:
+mov word [ebx + ref_0049698a], dx ; mov word [ebx + 0x49698a], dx
+
+loc_0042916a:
+inc esi
+cmp esi, 0xc
+jge short loc_004291d0 ; jge 0x4291d0
+
+loc_00429170:
+mov ebx, esi
+shl ebx, 3
+add ebx, esi
+shl ebx, 2
+mov dx, word [ebx + ref_00496988] ; mov dx, word [ebx + 0x496988]
+cmp dx, 0x3e8
+jbe short loc_00429163 ; jbe 0x429163
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0x7d0
+sar edx, 0x1f
+idiv ecx
+add edx, 0x3e8
+xor eax, eax
+mov ax, word [ebx + ref_00496988] ; mov ax, word [ebx + 0x496988]
+mov dword [esp], eax
+fild dword [esp]
+mov dword [esp], edx
+fild dword [esp]
+fdiv dword [ref_00463fc0] ; fdiv dword [0x463fc0]
+fmulp st1 ; fmulp st(1)
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp]
+mov eax, dword [esp]
+mov word [ebx + ref_0049698a], ax ; mov word [ebx + 0x49698a], ax
+jmp short loc_0042916a ; jmp 0x42916a
+
+loc_004291d0:
+add esp, 4
+pop esi
+pop ebx
+ret
+
+fcn_004291d6:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+xor edx, edx
+mov dword [esp], edx
+call fcn_00428d01 ; call 0x428d01
+cmp eax, 1
+je near loc_004294cd ; je 0x4294cd
+call fcn_00456f2d ; call 0x456f2d
+sub eax, 0x4000
+mov dword [esp + 8], eax
+fild dword [esp + 8]
+fdiv dword [ref_00463fc4] ; fdiv dword [0x463fc4]
+fstp dword [ref_004990ec] ; fstp dword [0x4990ec]
+xor esi, esi
+mov ebp, 0xc1200000
+mov edi, 0xc1200000
+jmp near loc_00429470 ; jmp 0x429470
+
+loc_0042921f:
+mov dl, byte [ebx + ref_00496987] ; mov dl, byte [ebx + 0x496987]
+test dl, dl
+je short loc_00429248 ; je 0x429248
+test dl, 0xf0
+je short loc_0042923d ; je 0x42923d
+mov dword [ebx + ref_0049699c], 0x41200000 ; mov dword [ebx + 0x49699c], 0x41200000
+jmp near loc_00429413 ; jmp 0x429413
+
+loc_0042923d:
+mov dword [ebx + ref_0049699c], ebp ; mov dword [ebx + 0x49699c], ebp
+jmp near loc_00429413 ; jmp 0x429413
+
+loc_00429248:
+call fcn_00456f2d ; call 0x456f2d
+sub eax, 0x4000
+mov dword [esp + 8], eax
+fild dword [esp + 8]
+fdiv dword [ref_00463fc8] ; fdiv dword [0x463fc8]
+fst dword [ebx + ref_004969a0] ; fst dword [ebx + 0x4969a0]
+fmul dword [ebx + ref_00496998] ; fmul dword [ebx + 0x496998]
+fadd dword [ebx + ref_0049699c] ; fadd dword [ebx + 0x49699c]
+fstp dword [ebx + ref_0049699c] ; fstp dword [ebx + 0x49699c]
+fld dword [ref_004990ec] ; fld dword [0x4990ec]
+fadd dword [ebx + ref_0049699c] ; fadd dword [ebx + 0x49699c]
+fstp dword [ebx + ref_0049699c] ; fstp dword [ebx + 0x49699c]
+cmp word [ebx + ref_00496984], 0 ; cmp word [ebx + 0x496984], 0
+je near loc_00429346 ; je 0x429346
+xor edx, edx
+mov dx, word [ebx + ref_00496984] ; mov dx, word [ebx + 0x496984]
+imul edx, edx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+fild dword [edx + eax + 0x24]
+fdiv dword [ref_00463fd8] ; fdiv dword [0x463fd8]
+fstp dword [esp + 4]
+fld dword [ebx + ref_00496990] ; fld dword [ebx + 0x496990]
+fcomp dword [esp + 4]
+fnstsw ax
+sahf
+jbe short loc_00429316 ; jbe 0x429316
+fld dword [esp + 4]
+fmul dword [ref_00463fe4] ; fmul dword [0x463fe4]
+fstp dword [esp + 4]
+fld dword [ebx + ref_00496990] ; fld dword [ebx + 0x496990]
+fcomp dword [esp + 4]
+fnstsw ax
+sahf
+jbe near loc_004293d2 ; jbe 0x4293d2
+fldz
+fcomp dword [ebx + ref_0049699c] ; fcomp dword [ebx + 0x49699c]
+fnstsw ax
+sahf
+jae short loc_00429305 ; jae 0x429305
+
+loc_004292f4:
+fld dword [ebx + ref_0049699c] ; fld dword [ebx + 0x49699c]
+fmul dword [ref_00463fcc] ; fmul dword [0x463fcc]
+jmp near loc_004293cc ; jmp 0x4293cc
+
+loc_00429305:
+fld dword [ebx + ref_0049699c] ; fld dword [ebx + 0x49699c]
+fmul dword [ref_00463fd0] ; fmul dword [0x463fd0]
+jmp near loc_004293cc ; jmp 0x4293cc
+
+loc_00429316:
+fld dword [esp + 4]
+fmul qword [ref_00463fdc] ; fmul qword [0x463fdc]
+fstp dword [esp + 4]
+fld dword [ebx + ref_00496990] ; fld dword [ebx + 0x496990]
+fcomp dword [esp + 4]
+fnstsw ax
+sahf
+jae near loc_004293d2 ; jae 0x4293d2
+fldz
+fcomp dword [ebx + ref_0049699c] ; fcomp dword [ebx + 0x49699c]
+fnstsw ax
+sahf
+jb short loc_00429305 ; jb 0x429305
+jmp short loc_004292f4 ; jmp 0x4292f4
+
+loc_00429346:
+mov eax, dword [ebx + ref_0049698c] ; mov eax, dword [ebx + 0x49698c]
+mov dword [esp + 4], eax
+fld dword [ebx + ref_00496990] ; fld dword [ebx + 0x496990]
+fcomp dword [esp + 4]
+fnstsw ax
+sahf
+jbe short loc_00429392 ; jbe 0x429392
+fld dword [esp + 4]
+fmul dword [ref_00463fd4] ; fmul dword [0x463fd4]
+fstp dword [esp + 4]
+fld dword [ebx + ref_00496990] ; fld dword [ebx + 0x496990]
+fcomp dword [esp + 4]
+fnstsw ax
+sahf
+jbe short loc_004293d2 ; jbe 0x4293d2
+fldz
+fcomp dword [ebx + ref_0049699c] ; fcomp dword [ebx + 0x49699c]
+fnstsw ax
+sahf
+jb near loc_004292f4 ; jb 0x4292f4
+jmp near loc_00429305 ; jmp 0x429305
+
+loc_00429392:
+fld dword [esp + 4]
+fmul dword [ref_00463fcc] ; fmul dword [0x463fcc]
+fstp dword [esp + 4]
+fld dword [ebx + ref_00496990] ; fld dword [ebx + 0x496990]
+fcomp dword [esp + 4]
+fnstsw ax
+sahf
+jae short loc_004293d2 ; jae 0x4293d2
+fldz
+fcomp dword [ebx + ref_0049699c] ; fcomp dword [ebx + 0x49699c]
+fnstsw ax
+sahf
+jb near loc_00429305 ; jb 0x429305
+fld dword [ebx + ref_0049699c] ; fld dword [ebx + 0x49699c]
+fmul dword [ref_00463fcc] ; fmul dword [0x463fcc]
+
+loc_004293cc:
+fstp dword [ebx + ref_0049699c] ; fstp dword [ebx + 0x49699c]
+
+loc_004293d2:
+mov eax, esi
+shl eax, 3
+add eax, esi
+shl eax, 2
+cmp dword [eax + ref_0049699c], 0x41200000 ; cmp dword [eax + 0x49699c], 0x41200000
+jle short loc_004293f2 ; jle 0x4293f2
+mov dword [eax + ref_0049699c], 0x41200000 ; mov dword [eax + 0x49699c], 0x41200000
+
+loc_004293f2:
+mov ebx, esi
+shl ebx, 3
+add ebx, esi
+shl ebx, 2
+fld dword [ebx + ref_0049699c] ; fld dword [ebx + 0x49699c]
+fcomp dword [ref_00463fe8] ; fcomp dword [0x463fe8]
+fnstsw ax
+sahf
+jae short loc_00429413 ; jae 0x429413
+mov dword [ebx + ref_0049699c], edi ; mov dword [ebx + 0x49699c], edi
+
+loc_00429413:
+mov ebx, esi
+shl ebx, 3
+add ebx, esi
+push dword [ebx*4 + ref_0049699c] ; push dword [ebx*4 + 0x49699c]
+push dword [ebx*4 + ref_00496990] ; push dword [ebx*4 + 0x496990]
+call fcn_00428ec5 ; call 0x428ec5
+mov dword [esp + 0x10], eax
+fld dword [esp + 0x10]
+add esp, 8
+fstp dword [ebx*4 + ref_00496994] ; fstp dword [ebx*4 + 0x496994]
+mov eax, esi
+shl eax, 3
+lea edx, [esi + eax]
+shl edx, 6
+mov eax, dword [ref_00499100] ; mov eax, dword [0x499100]
+mov ecx, dword [ebx*4 + ref_00496994] ; mov ecx, dword [ebx*4 + 0x496994]
+mov dword [edx + eax*4 + ref_00497328], ecx ; mov dword [edx + eax*4 + 0x497328], ecx
+fld dword [esp]
+fadd dword [ebx*4 + ref_00496994] ; fadd dword [ebx*4 + 0x496994]
+fstp dword [esp]
+inc esi
+cmp esi, 0xc
+jge short loc_004294a0 ; jge 0x4294a0
+
+loc_00429470:
+mov ebx, esi
+shl ebx, 3
+add ebx, esi
+shl ebx, 2
+mov eax, dword [ebx + ref_00496994] ; mov eax, dword [ebx + 0x496994]
+mov dword [ebx + ref_00496990], eax ; mov dword [ebx + 0x496990], eax
+cmp byte [ebx + ref_00496986], 0 ; cmp byte [ebx + 0x496986], 0
+je near loc_0042921f ; je 0x42921f
+xor edx, edx
+mov dword [ebx + ref_0049699c], edx ; mov dword [ebx + 0x49699c], edx
+jmp near loc_00429413 ; jmp 0x429413
+
+loc_004294a0:
+lea ecx, [eax + 1]
+mov dword [ref_00499100], ecx ; mov dword [0x499100], ecx
+cmp ecx, 0x90
+jne short loc_004294b9 ; jne 0x4294b9
+xor esi, esi
+mov dword [ref_00499100], esi ; mov dword [0x499100], esi
+
+loc_004294b9:
+fld dword [esp]
+fmul dword [ref_00463fec] ; fmul dword [0x463fec]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [ref_00499078] ; fistp dword [0x499078]
+
+loc_004294cd:
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004294d5:
+push ebx
+push esi
+push edi
+sub esp, 8
+xor edx, edx
+mov dword [esp], edx
+mov edx, dword [esp + 0x1c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+mov dx, word [eax + ref_00496984] ; mov dx, word [eax + 0x496984]
+test dx, dx
+jne short loc_00429501 ; jne 0x429501
+xor edx, edx
+jmp near loc_004295e1 ; jmp 0x4295e1
+
+loc_00429501:
+mov eax, edx
+and eax, 0xffff
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e7c] ; mov ebx, dword [0x498e7c]
+add ebx, eax
+xor ecx, ecx
+jmp short loc_0042951e ; jmp 0x42951e
+
+loc_00429517:
+mov ecx, eax
+cmp eax, 4
+jge short loc_0042954f ; jge 0x42954f
+
+loc_0042951e:
+lea eax, [ebx + ecx]
+xor edx, edx
+mov dl, byte [eax + 0x1c]
+mov esi, dword [esp + 0x18]
+inc esi
+lea eax, [ecx + 1]
+cmp edx, esi
+jne short loc_00429517 ; jne 0x429517
+mov edx, 3
+sub edx, ecx
+push edx
+lea edx, [ebx + 0x1c]
+add eax, edx
+push eax
+add edx, ecx
+push edx
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov byte [ebx + 0x1f], 0
+
+loc_0042954f:
+mov edx, dword [esp + 0x18]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov edi, dword [esp + 0x1c]
+mov edi, dword [eax + edi*8 + ref_004971a0] ; mov edi, dword [eax + edi*8 + 0x4971a0]
+test edi, edi
+je short loc_004295c0 ; je 0x4295c0
+mov ecx, 2
+xor esi, esi
+mov dword [esp + 4], esi
+jmp short loc_00429584 ; jmp 0x429584
+
+loc_00429579:
+mov dl, byte [eax + 0x1c]
+mov byte [eax + 0x1d], dl
+
+loc_0042957f:
+dec ecx
+test ecx, ecx
+jl short loc_004295b2 ; jl 0x4295b2
+
+loc_00429584:
+lea eax, [ebx + ecx]
+mov dl, byte [eax + 0x1c]
+test dl, dl
+je short loc_0042957f ; je 0x42957f
+movzx esi, dl
+dec esi
+mov edx, esi
+shl edx, 2
+sub edx, esi
+mov esi, edx
+shl esi, 5
+mov edx, dword [esp + 0x1c]
+mov edx, dword [esi + edx*8 + ref_004971a0] ; mov edx, dword [esi + edx*8 + 0x4971a0]
+cmp edx, edi
+jl short loc_00429579 ; jl 0x429579
+inc ecx
+mov dword [esp + 4], ecx
+
+loc_004295b2:
+mov dl, byte [esp + 0x18]
+inc dl
+mov eax, dword [esp + 4]
+mov byte [ebx + eax + 0x1c], dl
+
+loc_004295c0:
+mov al, byte [ebx + 0x18]
+mov dh, byte [ebx + 0x1c]
+cmp al, dh
+je short loc_004295de ; je 0x4295de
+mov byte [ebx + 0x18], dh
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+mov dword [esp], 1
+
+loc_004295de:
+mov edx, dword [esp]
+
+loc_004295e1:
+mov eax, edx
+add esp, 8
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004295ea:
+sub esp, 0x10
+mov edx, dword [esp + 0x14]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov edx, dword [eax*4 + ref_00496990] ; mov edx, dword [eax*4 + 0x496990]
+mov dword [esp + 8], edx
+mov eax, dword [eax*4 + ref_00496994] ; mov eax, dword [eax*4 + 0x496994]
+mov dword [esp + 4], eax
+fld dword [esp + 4]
+fcomp dword [esp + 8]
+fnstsw ax
+sahf
+jbe short loc_0042964f ; jbe 0x42964f
+push 0x41200000
+push edx
+call fcn_00428ec5 ; call 0x428ec5
+mov dword [esp + 0x14], eax
+fld dword [esp + 0x14]
+add esp, 8
+fstp dword [esp]
+fld dword [esp + 4]
+fcomp dword [esp]
+fnstsw ax
+sahf
+jae short loc_00429646 ; jae 0x429646
+xor eax, eax
+add esp, 0x10
+ret
+
+loc_00429646:
+mov eax, 1
+add esp, 0x10
+ret
+
+loc_0042964f:
+jae short loc_00429688 ; jae 0x429688
+push 0xc1200000
+push edx
+call fcn_00428ec5 ; call 0x428ec5
+mov dword [esp + 0x14], eax
+fld dword [esp + 0x14]
+add esp, 8
+fstp dword [esp]
+fld dword [esp + 4]
+fcomp dword [esp]
+fnstsw ax
+sahf
+jbe short loc_0042967f ; jbe 0x42967f
+mov eax, 2
+add esp, 0x10
+ret
+
+loc_0042967f:
+mov eax, 3
+add esp, 0x10
+ret
+
+loc_00429688:
+mov eax, 4
+add esp, 0x10
+ret
+
+fcn_00429691:
+mov edx, 2
+fld dword [esp + 4]
+fcomp dword [ref_00463ff0] ; fcomp dword [0x463ff0]
+fnstsw ax
+sahf
+jae short loc_004296aa ; jae 0x4296aa
+xor edx, edx
+mov eax, edx
+ret
+
+loc_004296aa:
+fld dword [esp + 4]
+fcomp dword [ref_00463ff4] ; fcomp dword [0x463ff4]
+fnstsw ax
+sahf
+jae short loc_004296be ; jae 0x4296be
+mov edx, 1
+
+loc_004296be:
+mov eax, edx
+ret
+
+fcn_004296c1:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+cmp dword [esp + 4], 0
+jne short loc_00429702 ; jne 0x429702
+push 1
+push 3
+push 0x101010
+push 0xa0a0a0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+jmp short loc_0042976b ; jmp 0x42976b
+
+loc_00429702:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov ecx, dword [ref_0048c2e0] ; mov ecx, dword [0x48c2e0]
+test ecx, ecx
+je short loc_00429745 ; je 0x429745
+push 0
+push 0x20
+push 0x262
+mov eax, ecx
+shl eax, 5
+add eax, 0x30
+push eax
+push 0xf
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+
+loc_00429745:
+push 0xffffff
+push 0x20
+push 0x262
+mov eax, dword [esp + 0x10]
+shl eax, 5
+add eax, 0x30
+push eax
+push 0xf
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+
+loc_0042976b:
+push 2
+push 0x18
+push 0xa3
+push ref_00463ff8 ; push 0x463ff8
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x18
+push 0xed
+push ref_00463ffd ; push 0x463ffd
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x18
+push 0x157
+push ref_00464002 ; push 0x464002
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [esp + 4]
+mov dword [ref_0048c2e0], eax ; mov dword [0x48c2e0], eax
+ret
+
+endloc_004297cd:
+db 0x8b
+db 0xc0
+
+ref_004297cf: ; may contain a jump table
+dd loc_004298b9
+dd loc_004298cc
+dd loc_004298f8
+dd loc_00429908
+dd loc_00429934
+
+ref_004297e3: ; may contain a jump table
+dd loc_004299af
+dd loc_004299af
+dd loc_004299bf
+dd loc_004299bf
+dd loc_004299cf
+
+fcn_004297f7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x88
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0
+push 0
+mov ebx, dword [ref_0048c2dc] ; mov ebx, dword [0x48c2dc]
+mov edx, dword [esp + 0xa4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add ebx, 0xc
+add ebx, eax
+push ebx
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov byte [esp], 0x24
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ebx, dword [eax + ref_00496b88] ; mov ebx, dword [eax + 0x496b88]
+push ebx
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push 0x18
+push 0x21c
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov esi, dword [esp + 0x9c]
+test esi, esi
+jne near loc_00429b87 ; jne 0x429b87
+mov ebp, 0x60
+jmp near loc_00429b6c ; jmp 0x429b6c
+
+loc_004298b9:
+push 1
+push 3
+push 0x101010
+push 0xff0000
+jmp near loc_00429942 ; jmp 0x429942
+
+loc_004298cc:
+push 0xd00000
+push 0x14
+push 0x59
+lea eax, [ebp - 0xa]
+push eax
+push 0x90
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 1
+push 2
+push 0
+push 0xf0f0f0
+jmp short loc_00429942 ; jmp 0x429942
+
+loc_004298f8:
+push 1
+push 3
+push 0x101010
+push 0xff00
+jmp short loc_00429942 ; jmp 0x429942
+
+loc_00429908:
+push 0xd000
+push 0x14
+push 0x59
+lea eax, [ebp - 0xa]
+push eax
+push 0x90
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 1
+push 2
+push 0
+push 0x101010
+jmp short loc_00429942 ; jmp 0x429942
+
+loc_00429934:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+
+loc_00429942:
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+
+loc_0042994c:
+mov edi, esi
+shl edi, 3
+add edi, esi
+shl edi, 2
+push dword [edi + ref_00496994] ; push dword [edi + 0x496994]
+call fcn_00429691 ; call 0x429691
+add esp, 4
+mov dword [esp + 0x80], eax
+fld dword [edi + ref_00496994] ; fld dword [edi + 0x496994]
+sub esp, 8
+fstp qword [esp]
+mov edi, dword [eax*4 + ref_00475518] ; mov edi, dword [eax*4 + 0x475518]
+push edi
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push ebp
+push 0xe1
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp ebx, 4
+ja short loc_004299e7 ; ja 0x4299e7
+jmp dword [ebx*4 + ref_004297e3] ; ujmp: jmp dword [ebx*4 + 0x4297e3]
+
+loc_004299af:
+push 1
+push 3
+push 0x101010
+push 0xff0000
+jmp short loc_004299dd ; jmp 0x4299dd
+
+loc_004299bf:
+push 1
+push 3
+push 0x101010
+push 0xff00
+jmp short loc_004299dd ; jmp 0x4299dd
+
+loc_004299cf:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+
+loc_004299dd:
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+
+loc_004299e7:
+mov ebx, esi
+shl ebx, 3
+add ebx, esi
+shl ebx, 2
+fld dword [ebx + ref_00496994] ; fld dword [ebx + 0x496994]
+fsub dword [ebx + ref_00496990] ; fsub dword [ebx + 0x496990]
+sub esp, 8
+fstp qword [esp]
+mov eax, dword [esp + 0x88]
+mov edx, dword [eax*4 + ref_00475524] ; mov edx, dword [eax*4 + 0x475524]
+push edx
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push ebp
+push 0x131
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [ebx + ref_00496986], 0 ; cmp byte [ebx + 0x496986], 0
+je short loc_00429a66 ; je 0x429a66
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push ebp
+push 0x170
+push ref_0046400f ; push 0x46400f
+jmp short loc_00429a8f ; jmp 0x429a8f
+
+loc_00429a66:
+xor eax, eax
+mov ax, word [ebx + ref_0049698a] ; mov ax, word [ebx + 0x49698a]
+push eax
+push ref_00464018 ; push 0x464018
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push ebp
+push 0x191
+lea eax, [esp + 0xc]
+push eax
+
+loc_00429a8f:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, esi
+shl eax, 3
+add eax, esi
+cmp word [eax*4 + ref_00496984], 0 ; cmp word [eax*4 + 0x496984], 0
+je short loc_00429abb ; je 0x429abb
+push 1
+push 3
+push 0x101010
+push 0xf0f0
+jmp short loc_00429ac9 ; jmp 0x429ac9
+
+loc_00429abb:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+
+loc_00429ac9:
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov ebx, esi
+shl ebx, 3
+add eax, ebx
+mov ecx, dword [eax + ref_004971a0] ; mov ecx, dword [eax + 0x4971a0]
+test ecx, ecx
+je short loc_00429b5f ; je 0x429b5f
+push ecx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push ebp
+push 0x1f8
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+fld dword [ebx + eax + ref_004971a4] ; fld dword [ebx + eax + 0x4971a4]
+sub esp, 8
+fstp qword [esp]
+push ref_00463f64 ; push 0x463f64
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push ebp
+push 0x261
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00429b5f:
+inc esi
+add ebp, 0x20
+cmp esi, 0xc
+jge near loc_00429d4a ; jge 0x429d4a
+
+loc_00429b6c:
+push esi
+call fcn_004295ea ; call 0x4295ea
+add esp, 4
+mov ebx, eax
+cmp eax, 4
+ja near loc_0042994c ; ja 0x42994c
+jmp dword [eax*4 + ref_004297cf] ; ujmp: jmp dword [eax*4 + 0x4297cf]
+
+loc_00429b87:
+xor esi, esi
+mov ebp, 0x60
+jmp near loc_00429ccd ; jmp 0x429ccd
+
+loc_00429b93:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+
+loc_00429ba1:
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov edx, ebx
+shl edx, 2
+sub edx, ebx
+shl edx, 5
+mov eax, esi
+mov ecx, dword [edx + eax*8 + ref_004971a0] ; mov ecx, dword [edx + eax*8 + 0x4971a0]
+push ecx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+mov eax, esi
+shl eax, 3
+add eax, esi
+cmp word [eax*4 + ref_00496984], 0 ; cmp word [eax*4 + 0x496984], 0
+je short loc_00429c24 ; je 0x429c24
+xor eax, eax
+mov edx, dword [esp + 0x84]
+mov al, byte [edx + 0x18]
+lea edx, [ebx + 1]
+cmp eax, edx
+jne short loc_00429c24 ; jne 0x429c24
+push 0xff
+push 0x14
+push 0x40
+lea eax, [ebp - 0xa]
+push eax
+lea eax, [edi - 0x38]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+push 1
+push 2
+push 0
+push 0xf0f000
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+
+loc_00429c24:
+push 6
+push ebp
+push edi
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add edi, 0x50
+jmp near loc_00429cf9 ; jmp 0x429cf9
+
+loc_00429c40:
+cmp word [eax + ref_00496984], 0 ; cmp word [eax + 0x496984], 0
+je near loc_00429d30 ; je 0x429d30
+push 1
+push 3
+push 0x101010
+push 0xf0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [esp + 0x84]
+mov ecx, dword [eax + 0x30]
+push ecx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push ebp
+push 0x208
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [esp + 0x84]
+mov ebx, dword [eax + 0x28]
+push ebx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push ebp
+push 0x261
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+
+loc_00429cc1:
+add esp, 0x14
+inc esi
+add ebp, 0x20
+cmp esi, 0xc
+jge short loc_00429d4a ; jge 0x429d4a
+
+loc_00429ccd:
+mov eax, esi
+shl eax, 3
+add eax, esi
+mov ax, word [eax*4 + ref_00496984] ; mov ax, word [eax*4 + 0x496984]
+and eax, 0xffff
+imul edx, eax, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add eax, edx
+mov dword [esp + 0x84], eax
+xor ebx, ebx
+mov edi, 0xc0
+
+loc_00429cf9:
+mov eax, esi
+shl eax, 3
+add eax, esi
+shl eax, 2
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00429c40 ; jge 0x429c40
+cmp word [eax + ref_00496984], 0 ; cmp word [eax + 0x496984], 0
+je near loc_00429b93 ; je 0x429b93
+push 1
+push 3
+push 0x101010
+push 0xf0f0
+jmp near loc_00429ba1 ; jmp 0x429ba1
+
+loc_00429d30:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+jmp near loc_00429cc1 ; jmp 0x429cc1
+
+loc_00429d4a:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+add esp, 0x88
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00429d65:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10c
+mov eax, dword [esp + 0x124]
+cmp eax, 0x202
+jb short loc_00429da0 ; jb 0x429da0
+jbe near loc_0042aa08 ; jbe 0x42aa08
+cmp eax, 0x205
+jb near loc_0042aab0 ; jb 0x42aab0
+jbe near loc_0042aa08 ; jbe 0x42aa08
+cmp eax, 0x401
+je short loc_00429dae ; je 0x429dae
+jmp near loc_0042aab0 ; jmp 0x42aab0
+
+loc_00429da0:
+cmp eax, 0xf
+je near loc_0042aa31 ; je 0x42aa31
+jmp near loc_0042aab0 ; jmp 0x42aab0
+
+loc_00429dae:
+mov al, byte [esp + 0x12c]
+mov byte [ref_0048c2e4], al ; mov byte [0x48c2e4], al
+mov dword [esp + 0xc0], 0x1a
+mov dword [esp + 0xc4], 0x34
+mov dword [esp + 0xc8], 0x265
+mov dword [esp + 0xcc], 0x1ab
+lea eax, [esp + 0xc0]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048c2e5], eax ; mov dword [0x48c2e5], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x34
+push 0x1a
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x52
+push 0x140
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov ebp, dword [eax*4 + ref_00496980] ; mov ebp, dword [eax*4 + 0x496980]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+mov dx, word [eax + ref_00496984] ; mov dx, word [eax + 0x496984]
+test dx, dx
+je near loc_00429fc5 ; je 0x429fc5
+mov eax, edx
+and eax, 0xffff
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e7c] ; mov esi, dword [0x498e7c]
+add esi, eax
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+add edx, eax
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor ebx, ebx
+mov bl, byte [esi + 0x1a]
+mov bl, byte [ebx + eax*4 + (ref_00475530 - 1)] ; mov bl, byte [ebx + eax*4 + 0x47552f]
+and ebx, 0xff
+cmp ebx, 0xf
+jne short loc_00429ef6 ; jne 0x429ef6
+xor eax, eax
+mov al, byte [esi + 0x19]
+sub eax, 3
+add ebx, eax
+
+loc_00429ef6:
+cmp ebx, 0x18
+jne short loc_00429f05 ; jne 0x429f05
+xor eax, eax
+mov al, byte [esi + 0x19]
+sub eax, 2
+add ebx, eax
+
+loc_00429f05:
+push 0x6b
+push 0x32
+mov edx, dword [ref_0048c2dc] ; mov edx, dword [0x48c2dc]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov edx, dword [esi + 0x28]
+push edx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push 0x7b
+push 0x135
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [ref_00499084] ; mov ecx, dword [0x499084]
+test ecx, ecx
+je short loc_00429f6d ; je 0x429f6d
+mov edx, dword [esi + 0x2c]
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+push eax
+jmp short loc_00429f71 ; jmp 0x429f71
+
+loc_00429f6d:
+mov ebx, dword [esi + 0x2c]
+push ebx
+
+loc_00429f71:
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push 0xa2
+push 0x135
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp byte [esi + 0x18], 0
+je short loc_00429fc5 ; je 0x429fc5
+push 2
+push 0xcb
+push 0x10d
+xor eax, eax
+mov al, byte [esi + 0x18]
+dec eax
+imul eax, eax, 0x68
+mov ebp, dword [eax + ref_00496b68] ; mov ebp, dword [eax + 0x496b68]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00429fc5:
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+push dword [eax*4 + ref_00496994] ; push dword [eax*4 + 0x496994]
+call fcn_00429691 ; call 0x429691
+mov ebx, eax
+add esp, 4
+mov edi, eax
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+fld dword [eax*4 + ref_00496994] ; fld dword [eax*4 + 0x496994]
+sub esp, 8
+fstp qword [esp]
+mov eax, dword [ebx*4 + ref_00475518] ; mov eax, dword [ebx*4 + 0x475518]
+push eax
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push 0x7b
+push 0x1c5
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+fld dword [eax*4 + ref_00496994] ; fld dword [eax*4 + 0x496994]
+fsub dword [eax*4 + ref_00496990] ; fsub dword [eax*4 + 0x496990]
+fst dword [esp + 0xdc]
+sub esp, 8
+fstp qword [esp]
+mov edx, dword [ebx*4 + ref_00475524] ; mov edx, dword [ebx*4 + 0x475524]
+push edx
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push 0xa2
+push 0x1c5
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov ax, word [eax*4 + ref_0049698a] ; mov ax, word [eax*4 + 0x49698a]
+and eax, 0xffff
+push eax
+push ref_00464018 ; push 0x464018
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push 0x7b
+push 0x24d
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+fld dword [esp + 0xdc]
+fdiv dword [eax*4 + ref_00496990] ; fdiv dword [eax*4 + 0x496990]
+fmul dword [ref_0046401c] ; fmul dword [0x46401c]
+fst dword [esp + 0xe4]
+sub esp, 8
+fstp qword [esp]
+push ref_00463f64 ; push 0x463f64
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push 0xa2
+push 0x24d
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor esi, esi
+mov ebx, dword [ref_00499100] ; mov ebx, dword [0x499100]
+mov dword [esp + 0x104], esi
+xor edx, edx
+jmp short loc_0042a147 ; jmp 0x42a147
+
+loc_0042a141:
+inc esi
+cmp esi, 6
+jge short loc_0042a18d ; jge 0x42a18d
+
+loc_0042a147:
+dec ebx
+test ebx, ebx
+jge short loc_0042a151 ; jge 0x42a151
+mov ebx, 0x8f
+
+loc_0042a151:
+xor ecx, ecx
+mov cl, byte [ref_0048c2e4] ; mov cl, byte [0x48c2e4]
+mov eax, ecx
+shl eax, 3
+add ecx, eax
+shl ecx, 6
+mov eax, ebx
+shl eax, 2
+add eax, ecx
+test dword [eax + ref_00497328], 0x7fffffff ; test dword [eax + 0x497328], 0x7fffffff
+je short loc_0042a141 ; je 0x42a141
+fld dword [esp + 0x104]
+fadd dword [eax + ref_00497328] ; fadd dword [eax + 0x497328]
+fstp dword [esp + 0x104]
+inc edx
+jmp short loc_0042a141 ; jmp 0x42a141
+
+loc_0042a18d:
+mov dword [esp + 0x108], edx
+fild dword [esp + 0x108]
+fdivr dword [esp + 0x104]
+fst dword [esp + 0x104]
+sub esp, 8
+fstp qword [esp]
+mov edx, dword [edi*4 + ref_00475518] ; mov edx, dword [edi*4 + 0x475518]
+push edx
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push 0xcb
+push 0x1c5
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor esi, esi
+mov ebx, dword [ref_00499100] ; mov ebx, dword [0x499100]
+mov dword [esp + 0x104], esi
+xor edx, edx
+jmp short loc_0042a1f8 ; jmp 0x42a1f8
+
+loc_0042a1f2:
+inc esi
+cmp esi, 0x18
+jge short loc_0042a23e ; jge 0x42a23e
+
+loc_0042a1f8:
+dec ebx
+test ebx, ebx
+jge short loc_0042a202 ; jge 0x42a202
+mov ebx, 0x8f
+
+loc_0042a202:
+xor ecx, ecx
+mov cl, byte [ref_0048c2e4] ; mov cl, byte [0x48c2e4]
+mov eax, ecx
+shl eax, 3
+add eax, ecx
+shl eax, 6
+mov ecx, ebx
+shl ecx, 2
+add eax, ecx
+test dword [eax + ref_00497328], 0x7fffffff ; test dword [eax + 0x497328], 0x7fffffff
+je short loc_0042a1f2 ; je 0x42a1f2
+fld dword [esp + 0x104]
+fadd dword [eax + ref_00497328] ; fadd dword [eax + 0x497328]
+fstp dword [esp + 0x104]
+inc edx
+jmp short loc_0042a1f2 ; jmp 0x42a1f2
+
+loc_0042a23e:
+mov dword [esp + 0x108], edx
+fild dword [esp + 0x108]
+fdivr dword [esp + 0x104]
+fst dword [esp + 0x104]
+sub esp, 8
+fstp qword [esp]
+mov edx, dword [edi*4 + ref_00475518] ; mov edx, dword [edi*4 + 0x475518]
+push edx
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push 0xcb
+push 0x24d
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor esi, esi
+mov dword [esp + 0xf0], esi
+mov dword [esp + 0xf4], 0x461c4000
+jmp short loc_0042a2b3 ; jmp 0x42a2b3
+
+loc_0042a2a6:
+inc esi
+cmp esi, 0x90
+jge near loc_0042a32f ; jge 0x42a32f
+
+loc_0042a2b3:
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 6
+mov ebx, esi
+shl ebx, 2
+add ebx, eax
+mov ebp, dword [ebx + ref_00497328] ; mov ebp, dword [ebx + 0x497328]
+test ebp, 0x7fffffff
+je short loc_0042a2a6 ; je 0x42a2a6
+fld dword [ebx + ref_00497328] ; fld dword [ebx + 0x497328]
+fcomp dword [esp + 0xf0]
+fnstsw ax
+sahf
+jbe short loc_0042a2f3 ; jbe 0x42a2f3
+mov dword [esp + 0xf0], ebp
+
+loc_0042a2f3:
+xor eax, eax
+mov al, byte [ref_0048c2e4] ; mov al, byte [0x48c2e4]
+mov ebx, eax
+shl ebx, 3
+add eax, ebx
+shl eax, 6
+mov ebx, esi
+shl ebx, 2
+add ebx, eax
+fld dword [ebx + ref_00497328] ; fld dword [ebx + 0x497328]
+fcomp dword [esp + 0xf4]
+fnstsw ax
+sahf
+jae short loc_0042a2a6 ; jae 0x42a2a6
+mov eax, dword [ebx + ref_00497328] ; mov eax, dword [ebx + 0x497328]
+mov dword [esp + 0xf4], eax
+jmp near loc_0042a2a6 ; jmp 0x42a2a6
+
+loc_0042a32f:
+fld dword [esp + 0xf0]
+sub esp, 8
+fstp qword [esp]
+mov eax, dword [edi*4 + ref_00475518] ; mov eax, dword [edi*4 + 0x475518]
+push eax
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push 0xf3
+push 0x24d
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+fld dword [esp + 0xf4]
+sub esp, 8
+fstp qword [esp]
+mov edx, dword [edi*4 + ref_00475518] ; mov edx, dword [edi*4 + 0x475518]
+push edx
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+push 0x11b
+push 0x24d
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+lea ecx, [esp + 0xd8]
+push ecx
+push eax
+call dword [edx + 0x44] ; ucall
+push 0
+push 1
+push 0
+call dword [cs:__imp__CreatePen@12] ; ucall: call dword cs:[0x462290]
+push eax
+mov ecx, dword [esp + 0xdc]
+push ecx
+call dword [cs:__imp__SelectObject@8] ; ucall: call dword cs:[0x4622b4]
+push 0
+push 0x16d
+push 0x19e
+mov ebx, dword [esp + 0xe4]
+push ebx
+call dword [cs:__imp__MoveToEx@16] ; ucall: call dword cs:[0x4622ac]
+push 0x174
+push 0x19e
+mov esi, dword [esp + 0xe0]
+push esi
+call dword [cs:__imp__LineTo@12] ; ucall: call dword cs:[0x4622a8]
+push 0
+push 0x16d
+push 0x24e
+mov ebp, dword [esp + 0xe4]
+push ebp
+call dword [cs:__imp__MoveToEx@16] ; ucall: call dword cs:[0x4622ac]
+push 0x174
+push 0x24e
+mov eax, dword [esp + 0xe0]
+push eax
+call dword [cs:__imp__LineTo@12] ; ucall: call dword cs:[0x4622a8]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 5
+xor eax, eax
+mov al, byte [ref_0048c2e4] ; mov al, byte [0x48c2e4]
+fild dword [edx + eax*8 + ref_004971a0] ; fild dword [edx + eax*8 + 0x4971a0]
+fdiv dword [ref_00464020] ; fdiv dword [0x464020]
+fstp dword [esp + 0xe4]
+fldz
+fcomp dword [esp + 0xe4]
+fnstsw ax
+sahf
+jae near loc_0042a658 ; jae 0x42a658
+cmp dword [esp + 0xe4], 0x3f800000
+jge near loc_0042a658 ; jge 0x42a658
+fld dword [esp + 0xe4]
+fmul qword [ref_00464024] ; fmul qword [0x464024]
+fsubr qword [ref_0046402c] ; fsubr qword [0x46402c]
+fst qword [esp + 0xd0]
+call fcn_0045844e ; call 0x45844e
+fld qword [esp + 0xd0]
+call fcn_00458458 ; call 0x458458
+fstp qword [esp + 0xd0]
+fmul qword [ref_00464034] ; fmul qword [0x464034]
+fadd qword [ref_0046403c] ; fadd qword [0x46403c]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xfc]
+fld qword [esp + 0xd0]
+fmul qword [ref_00464044] ; fmul qword [0x464044]
+fsubr qword [ref_0046404c] ; fsubr qword [0x46404c]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x100]
+push 0xd00000
+call dword [cs:__imp__CreateSolidBrush@4] ; ucall: call dword cs:[0x462294]
+push eax
+mov ebx, dword [esp + 0xdc]
+push ebx
+call dword [cs:__imp__SelectObject@8] ; ucall: call dword cs:[0x4622b4]
+push 0x191
+push 0x24f
+push 0x157
+push 0x19e
+mov esi, dword [esp + 0xe8]
+push esi
+call dword [cs:__imp__Ellipse@20] ; ucall: call dword cs:[0x46229c]
+mov ebp, dword [esp + 0x100]
+push ebp
+mov eax, dword [esp + 0x100]
+push eax
+push 0x150
+push 0x1f6
+push 0x18a
+push 0x24f
+push 0x150
+push 0x19e
+mov edx, dword [esp + 0xf8]
+push edx
+call dword [cs:__imp__Pie@36] ; ucall: call dword cs:[0x4622b0]
+push 0xd0
+call dword [cs:__imp__CreateSolidBrush@4] ; ucall: call dword cs:[0x462294]
+push eax
+mov ecx, dword [esp + 0xdc]
+push ecx
+call dword [cs:__imp__SelectObject@8] ; ucall: call dword cs:[0x4622b4]
+push 0x150
+push 0x1f6
+mov ebx, ebp
+push ebp
+mov esi, dword [esp + 0x108]
+push esi
+push 0x18a
+push 0x24f
+push 0x150
+push 0x19e
+mov ebp, dword [esp + 0xf8]
+push ebp
+call dword [cs:__imp__Pie@36] ; ucall: call dword cs:[0x4622b0]
+mov eax, ebx
+cmp eax, 0x16d
+jl short loc_0042a611 ; jl 0x42a611
+push 0
+push eax
+push esi
+mov ebx, dword [esp + 0xe4]
+push ebx
+call dword [cs:__imp__MoveToEx@16] ; ucall: call dword cs:[0x4622ac]
+mov eax, dword [esp + 0x100]
+add eax, 7
+push eax
+push esi
+mov ebp, dword [esp + 0xe0]
+push ebp
+call dword [cs:__imp__LineTo@12] ; ucall: call dword cs:[0x4622a8]
+
+loc_0042a611:
+fld dword [esp + 0xe4]
+fcomp qword [ref_00464054] ; fcomp qword [0x464054]
+fnstsw ax
+sahf
+jbe near loc_0042a724 ; jbe 0x42a724
+cmp dword [esp + 0xfc], 0x24d
+jge near loc_0042a724 ; jge 0x42a724
+push 0
+push 0x176
+push 0x24d
+mov edx, dword [esp + 0xe4]
+push edx
+call dword [cs:__imp__FloodFill@16] ; ucall: call dword cs:[0x4622a0]
+jmp near loc_0042a724 ; jmp 0x42a724
+
+loc_0042a658:
+test dword [esp + 0xe4], 0x7fffffff
+jne short loc_0042a6c2 ; jne 0x42a6c2
+push 0xd00000
+call dword [cs:__imp__CreateSolidBrush@4] ; ucall: call dword cs:[0x462294]
+push eax
+mov eax, dword [esp + 0xdc]
+push eax
+call dword [cs:__imp__SelectObject@8] ; ucall: call dword cs:[0x4622b4]
+push 0x191
+push 0x24f
+push 0x157
+push 0x19e
+mov edx, dword [esp + 0xe8]
+push edx
+call dword [cs:__imp__Ellipse@20] ; ucall: call dword cs:[0x46229c]
+push 0x18a
+push 0x24f
+push 0x150
+push 0x19e
+mov ecx, dword [esp + 0xe8]
+push ecx
+jmp short loc_0042a71d ; jmp 0x42a71d
+
+loc_0042a6c2:
+push 0xd0
+call dword [cs:__imp__CreateSolidBrush@4] ; ucall: call dword cs:[0x462294]
+push eax
+mov ebx, dword [esp + 0xdc]
+push ebx
+call dword [cs:__imp__SelectObject@8] ; ucall: call dword cs:[0x4622b4]
+push 0x191
+push 0x24f
+push 0x157
+push 0x19e
+mov esi, dword [esp + 0xe8]
+push esi
+call dword [cs:__imp__Ellipse@20] ; ucall: call dword cs:[0x46229c]
+push 0x18a
+push 0x24f
+push 0x150
+push 0x19e
+mov ebp, dword [esp + 0xe8]
+push ebp
+
+loc_0042a71d:
+call dword [cs:__imp__Ellipse@20] ; ucall: call dword cs:[0x46229c]
+
+loc_0042a724:
+push 0xffffff
+push 1
+push 0
+call dword [cs:__imp__CreatePen@12] ; ucall: call dword cs:[0x462290]
+push eax
+mov ecx, dword [esp + 0xdc]
+push ecx
+call dword [cs:__imp__SelectObject@8] ; ucall: call dword cs:[0x4622b4]
+fld dword [esp + 0xf0]
+fadd dword [esp + 0xf4]
+fmul dword [ref_0046405c] ; fmul dword [0x46405c]
+fstp dword [esp + 0xec]
+fld dword [esp + 0xf0]
+fsub dword [esp + 0xf4]
+fst dword [esp + 0xe0]
+fdiv dword [esp + 0xec]
+fcomp qword [ref_00464064] ; fcomp qword [0x464064]
+fnstsw ax
+sahf
+jbe short loc_0042a795 ; jbe 0x42a795
+fld dword [ref_0046407c] ; fld dword [0x46407c]
+fdiv dword [esp + 0xe0]
+jmp short loc_0042a7a8 ; jmp 0x42a7a8
+
+loc_0042a795:
+fld dword [esp + 0xec]
+fmul qword [ref_0046406c] ; fmul qword [0x46406c]
+fdivr qword [ref_00464074] ; fdivr qword [0x464074]
+
+loc_0042a7a8:
+fstp dword [esp + 0xe8]
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 6
+mov edx, dword [ref_00499100] ; mov edx, dword [0x499100]
+test dword [eax + edx*4 + ref_00497328], 0x7fffffff ; test dword [eax + edx*4 + 0x497328], 0x7fffffff
+jne short loc_0042a7d8 ; jne 0x42a7d8
+xor ebx, ebx
+jmp short loc_0042a7da ; jmp 0x42a7da
+
+loc_0042a7d8:
+mov ebx, edx
+
+loc_0042a7da:
+xor esi, esi
+mov dword [esp + 0xf8], 0x42b80000
+jmp short loc_0042a834 ; jmp 0x42a834
+
+loc_0042a7e9:
+mov ecx, dword [esp + 0x100]
+push ecx
+mov ebp, dword [esp + 0x100]
+push ebp
+mov eax, dword [esp + 0xe0]
+push eax
+call dword [cs:__imp__LineTo@12] ; ucall: call dword cs:[0x4622a8]
+
+loc_0042a808:
+inc ebx
+cmp ebx, 0x90
+jne short loc_0042a813 ; jne 0x42a813
+xor ebx, ebx
+
+loc_0042a813:
+inc esi
+fld dword [esp + 0xf8]
+fadd dword [ref_00464084] ; fadd dword [0x464084]
+fstp dword [esp + 0xf8]
+cmp esi, 0x90
+jge near loc_0042a8bf ; jge 0x42a8bf
+
+loc_0042a834:
+xor edx, edx
+mov dl, byte [ref_0048c2e4] ; mov dl, byte [0x48c2e4]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 6
+mov edx, ebx
+shl edx, 2
+add eax, edx
+test dword [eax + ref_00497328], 0x7fffffff ; test dword [eax + 0x497328], 0x7fffffff
+je short loc_0042a8bf ; je 0x42a8bf
+fld dword [esp + 0xf8]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xfc]
+fld dword [eax + ref_00497328] ; fld dword [eax + 0x497328]
+fsub dword [esp + 0xec]
+fmul dword [esp + 0xe8]
+fsubr dword [ref_00464080] ; fsubr dword [0x464080]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x100]
+test esi, esi
+jne near loc_0042a7e9 ; jne 0x42a7e9
+push esi
+mov edx, dword [esp + 0x104]
+push edx
+mov ecx, dword [esp + 0x104]
+push ecx
+mov ebp, dword [esp + 0xe4]
+push ebp
+call dword [cs:__imp__MoveToEx@16] ; ucall: call dword cs:[0x4622ac]
+jmp near loc_0042a808 ; jmp 0x42a808
+
+loc_0042a8bf:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+mov ecx, dword [esp + 0xd8]
+push ecx
+push eax
+call dword [edx + 0x68] ; ucall
+push 1
+push 1
+push 0x101010
+push 0xf0f0f0
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+fld dword [esp + 0xf0]
+fsub dword [esp + 0xec]
+fmul dword [esp + 0xe8]
+fsubr dword [ref_00464080] ; fsubr dword [0x464080]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x100]
+fld dword [esp + 0xf0]
+sub esp, 8
+fstp qword [esp]
+mov ebx, dword [edi*4 + ref_00475518] ; mov ebx, dword [edi*4 + 0x475518]
+push ebx
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+mov eax, dword [esp + 0x104]
+sub eax, 8
+push eax
+push 0x58
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+fld dword [esp + 0xf4]
+fsub dword [esp + 0xec]
+fmul dword [esp + 0xe8]
+fsubr dword [ref_00464080] ; fsubr dword [0x464080]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x100]
+fld dword [esp + 0xf4]
+sub esp, 8
+fstp qword [esp]
+mov esi, dword [edi*4 + ref_00475518] ; mov esi, dword [edi*4 + 0x475518]
+push esi
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 6
+mov eax, dword [esp + 0x104]
+add eax, 8
+push eax
+push 0x58
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+mov edi, dword [esp + 0x128]
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0042a9fb:
+xor eax, eax
+
+loc_0042a9fd:
+add esp, 0x10c
+jmp near loc_0042b3e4 ; jmp 0x42b3e4
+
+loc_0042aa08:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0x34
+push 0x1a
+mov ebx, dword [ref_0048c2e5] ; mov ebx, dword [0x48c2e5]
+push ebx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp short loc_0042a9fb ; jmp 0x42a9fb
+
+loc_0042aa31:
+lea eax, [esp + 0x80]
+push eax
+mov eax, dword [esp + 0x124]
+push eax
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x8c]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x98]
+push ebx
+mov esi, dword [esp + 0x98]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+mov edi, dword [esp + 0x124]
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0042a9fb ; jmp 0x42a9fb
+
+loc_0042aab0:
+mov esi, dword [esp + 0x12c]
+push esi
+mov edi, dword [esp + 0x12c]
+push edi
+push eax
+mov ebp, dword [esp + 0x12c]
+push ebp
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0042a9fd ; jmp 0x42a9fd
+
+endloc_0042aad5:
+db 0x8b
+db 0xc0
+
+ref_0042aad7: ; may contain a jump table
+dd loc_0042adf3
+dd loc_0042adde
+dd loc_0042adde
+dd loc_0042adde
+dd loc_0042ae26
+
+ref_0042aaeb: ; may contain a jump table
+dd loc_0042aec4
+dd loc_0042aee4
+dd loc_0042afff
+dd loc_0042b0b7
+dd loc_0042b0c2
+
+fcn_0042aaff:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x54
+mov esi, dword [esp + 0x68]
+mov eax, dword [esp + 0x6c]
+mov edx, dword [esp + 0x74]
+cmp eax, 0x202
+jb short loc_0042ab59 ; jb 0x42ab59
+jbe near loc_0042ae8d ; jbe 0x42ae8d
+cmp eax, 0x205
+jb short loc_0042ab49 ; jb 0x42ab49
+jbe near loc_0042b22f ; jbe 0x42b22f
+cmp eax, 0x401
+jb near loc_0042b2d8 ; jb 0x42b2d8
+jbe short loc_0042ab75 ; jbe 0x42ab75
+cmp eax, 0x40b
+je near loc_0042b203 ; je 0x42b203
+jmp near loc_0042b2d8 ; jmp 0x42b2d8
+
+loc_0042ab49:
+cmp eax, 0x203
+je near loc_0042ad6c ; je 0x42ad6c
+jmp near loc_0042b2d8 ; jmp 0x42b2d8
+
+loc_0042ab59:
+cmp eax, 0x200
+jb short loc_0042ab67 ; jb 0x42ab67
+jbe short loc_0042abbb ; jbe 0x42abbb
+jmp near loc_0042ad6c ; jmp 0x42ad6c
+
+loc_0042ab67:
+cmp eax, 0xf
+je near loc_0042b27a ; je 0x42b27a
+jmp near loc_0042b2d8 ; jmp 0x42b2d8
+
+loc_0042ab75:
+xor ah, ah
+mov byte [ref_0048c2e9], ah ; mov byte [0x48c2e9], ah
+mov byte [ref_0048c2ea], ah ; mov byte [0x48c2ea], ah
+mov byte [ref_0048c2eb], ah ; mov byte [0x48c2eb], ah
+mov byte [ref_0048c2ec], ah ; mov byte [0x48c2ec], ah
+mov byte [ref_0048c2ed], dl ; mov byte [0x48c2ed], dl
+push 0
+call fcn_004297f7 ; call 0x4297f7
+add esp, 4
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+push eax
+call fcn_004296c1 ; call 0x4296c1
+add esp, 4
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_0042b1ef ; jmp 0x42b1ef
+
+loc_0042abbb:
+cmp byte [ref_0048c2ed], 0 ; cmp byte [0x48c2ed], 0
+je near loc_0042acfb ; je 0x42acfb
+xor ecx, ecx
+mov cx, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+cmp ecx, 0xf
+jle near loc_0042ad05 ; jle 0x42ad05
+cmp ecx, 0x271
+jge near loc_0042ad05 ; jge 0x42ad05
+cmp edx, 0x50
+jle near loc_0042ad05 ; jle 0x42ad05
+cmp edx, 0x1d0
+jge near loc_0042ad05 ; jge 0x42ad05
+sub edx, 0x50
+mov eax, edx
+sar edx, 0x1f
+shl edx, 5
+sbb eax, edx
+sar eax, 5
+lea ebx, [eax + 1]
+mov edi, 0xf
+mov dword [esp + 0x40], edi
+mov dword [esp + 0x48], 0x271
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+cmp byte [ref_0048c2ea], 0 ; cmp byte [0x48c2ea], 0
+je short loc_0042ac9e ; je 0x42ac9e
+xor eax, eax
+mov al, byte [ref_0048c2ea] ; mov al, byte [0x48c2ea]
+shl eax, 5
+add eax, 0x30
+mov dword [esp + 0x44], eax
+add eax, 0x20
+mov dword [esp + 0x4c], eax
+push 0
+push 0x20
+push 0x262
+mov ecx, dword [esp + 0x50]
+push ecx
+push edi
+mov eax, ref_0046caec ; mov eax, 0x46caec
+push eax
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0
+lea eax, [esp + 0x44]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0042ac9e:
+mov eax, ebx
+shl eax, 5
+lea edx, [eax + 0x30]
+mov dword [esp + 0x44], edx
+add eax, 0x50
+mov dword [esp + 0x4c], eax
+push 0xffffff
+push 0x20
+push 0x262
+push edx
+push 0xf
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0
+lea eax, [esp + 0x44]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov byte [ref_0048c2ea], bl ; mov byte [0x48c2ea], bl
+add bl, 0xa
+mov byte [ref_0048c2e9], bl ; mov byte [0x48c2e9], bl
+
+loc_0042acfb:
+xor eax, eax
+
+loc_0042acfd:
+add esp, 0x54
+jmp near loc_0042b3e4 ; jmp 0x42b3e4
+
+loc_0042ad05:
+mov cl, byte [ref_0048c2ea] ; mov cl, byte [0x48c2ea]
+test cl, cl
+je short loc_0042ad5c ; je 0x42ad5c
+mov dword [esp + 0x40], 0xf
+mov dword [esp + 0x48], 0x271
+xor eax, eax
+mov al, cl
+shl eax, 5
+lea edx, [eax + 0x30]
+mov dword [esp + 0x44], edx
+add eax, 0x50
+mov dword [esp + 0x4c], eax
+push 0
+push 0x20
+push 0x262
+push edx
+push 0xf
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0
+lea eax, [esp + 0x44]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0042ad5c:
+xor ch, ch
+mov byte [ref_0048c2e9], ch ; mov byte [0x48c2e9], ch
+mov byte [ref_0048c2ea], ch ; mov byte [0x48c2ea], ch
+jmp short loc_0042acfb ; jmp 0x42acfb
+
+loc_0042ad6c:
+xor ecx, ecx
+mov cx, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+cmp edx, 0x27
+jge near loc_0042ae2c ; jge 0x42ae2c
+xor ebx, ebx
+jmp short loc_0042ad93 ; jmp 0x42ad93
+
+loc_0042ad8d:
+inc ebx
+cmp ebx, 5
+jge short loc_0042adc0 ; jge 0x42adc0
+
+loc_0042ad93:
+mov eax, ebx
+shl eax, 4
+cmp ecx, dword [eax + ref_004754c8] ; cmp ecx, dword [eax + 0x4754c8]
+jle short loc_0042ad8d ; jle 0x42ad8d
+cmp ecx, dword [eax + ref_004754d0] ; cmp ecx, dword [eax + 0x4754d0]
+jge short loc_0042ad8d ; jge 0x42ad8d
+cmp edx, dword [eax + ref_004754cc] ; cmp edx, dword [eax + 0x4754cc]
+jle short loc_0042ad8d ; jle 0x42ad8d
+cmp edx, dword [eax + ref_004754d4] ; cmp edx, dword [eax + 0x4754d4]
+jge short loc_0042ad8d ; jge 0x42ad8d
+inc bl
+mov byte [ref_0048c2e9], bl ; mov byte [0x48c2e9], bl
+
+loc_0042adc0:
+mov dl, byte [ref_0048c2e9] ; mov dl, byte [0x48c2e9]
+mov al, dl
+dec al
+cmp al, 4
+ja near loc_0042acfb ; ja 0x42acfb
+and eax, 0xff
+jmp dword [eax*4 + ref_0042aad7] ; ujmp: jmp dword [eax*4 + 0x42aad7]
+
+loc_0042adde:
+mov dl, byte [ref_0048c2eb] ; mov dl, byte [0x48c2eb]
+test dl, dl
+jne short loc_0042adf3 ; jne 0x42adf3
+mov byte [ref_0048c2e9], dl ; mov byte [0x48c2e9], dl
+jmp near loc_0042acfb ; jmp 0x42acfb
+
+loc_0042adf3:
+cmp byte [ref_0048c2ed], 0 ; cmp byte [0x48c2ed], 0
+jne short loc_0042ae19 ; jne 0x42ae19
+xor eax, eax
+mov al, byte [ref_0048c2e9] ; mov al, byte [0x48c2e9]
+
+loc_0042ae03:
+shl eax, 4
+sub eax, 0x10
+add eax, ref_004754c8 ; add eax, 0x4754c8
+push eax
+call fcn_00451b9e ; call 0x451b9e
+jmp near loc_0042b19c ; jmp 0x42b19c
+
+loc_0042ae19:
+xor bh, bh
+mov byte [ref_0048c2e9], bh ; mov byte [0x48c2e9], bh
+jmp near loc_0042acfb ; jmp 0x42acfb
+
+loc_0042ae26:
+xor eax, eax
+mov al, dl
+jmp short loc_0042ae03 ; jmp 0x42ae03
+
+loc_0042ae2c:
+cmp ecx, 0xf
+jle near loc_0042acfb ; jle 0x42acfb
+cmp ecx, 0x271
+jge near loc_0042acfb ; jge 0x42acfb
+cmp edx, 0x50
+jle near loc_0042acfb ; jle 0x42acfb
+cmp edx, 0x1d0
+jge near loc_0042acfb ; jge 0x42acfb
+cmp byte [ref_0048c2ec], 0 ; cmp byte [0x48c2ec], 0
+jne near loc_0042acfb ; jne 0x42acfb
+cmp byte [ref_0048c2ed], 0 ; cmp byte [0x48c2ed], 0
+jne near loc_0042acfb ; jne 0x42acfb
+sub edx, 0x50
+mov eax, edx
+sar edx, 0x1f
+shl edx, 5
+sbb eax, edx
+sar eax, 5
+add eax, 0xb
+
+loc_0042ae83:
+mov byte [ref_0048c2e9], al ; mov byte [0x48c2e9], al
+jmp near loc_0042acfb ; jmp 0x42acfb
+
+loc_0042ae8d:
+mov ah, byte [ref_0048c2e9] ; mov ah, byte [0x48c2e9]
+test ah, ah
+je near loc_0042acfb ; je 0x42acfb
+cmp ah, 0xa
+jae near loc_0042b0da ; jae 0x42b0da
+call fcn_00451d4e ; call 0x451d4e
+mov al, byte [ref_0048c2e9] ; mov al, byte [0x48c2e9]
+dec al
+cmp al, 4
+ja near loc_0042b0d3 ; ja 0x42b0d3
+and eax, 0xff
+jmp dword [eax*4 + ref_0042aaeb] ; ujmp: jmp dword [eax*4 + 0x42aaeb]
+
+loc_0042aec4:
+mov cl, byte [ref_0048c2ec] ; mov cl, byte [0x48c2ec]
+xor cl, 1
+mov byte [ref_0048c2ec], cl ; mov byte [0x48c2ec], cl
+xor ch, ch
+mov byte [ref_0048c2eb], ch ; mov byte [0x48c2eb], ch
+xor eax, eax
+mov al, cl
+jmp near loc_0042afd5 ; jmp 0x42afd5
+
+loc_0042aee4:
+xor edx, edx
+mov dl, byte [ref_0048c2eb] ; mov dl, byte [0x48c2eb]
+dec edx
+mov eax, edx
+shl eax, 3
+add eax, edx
+cmp byte [eax*4 + ref_00496986], 0 ; cmp byte [eax*4 + 0x496986], 0
+jne near loc_0042b0d3 ; jne 0x42b0d3
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+dec eax
+push eax
+call fcn_004295ea ; call 0x4295ea
+add esp, 4
+cmp eax, 1
+jne short loc_0042af30 ; jne 0x42af30
+push 0x800003e8
+mov eax, ref_00464088 ; mov eax, 0x464088
+
+loc_0042af22:
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+jmp near loc_0042b0d3 ; jmp 0x42b0d3
+
+loc_0042af30:
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 3
+add eax, edx
+xor ecx, ecx
+mov cx, word [eax*4 + ref_0049698a] ; mov cx, word [eax*4 + 0x49698a]
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 2
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+fild dword [eax + ref_00496b88] ; fild dword [eax + 0x496b88]
+fdiv dword [edx + ref_00496994] ; fdiv dword [edx + 0x496994]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x50]
+mov edi, dword [esp + 0x50]
+cmp ecx, edi
+jge short loc_0042af87 ; jge 0x42af87
+mov eax, ecx
+jmp short loc_0042af89 ; jmp 0x42af89
+
+loc_0042af87:
+mov eax, edi
+
+loc_0042af89:
+test eax, eax
+je near loc_0042b0d3 ; je 0x42b0d3
+push eax
+call fcn_00453544 ; call 0x453544
+mov ebx, eax
+add esp, 4
+test eax, eax
+je near loc_0042b0d3 ; je 0x42b0d3
+push 0
+push ref_00475590 ; push 0x475590
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 1
+push ebx
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+dec eax
+push eax
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_00428d2a ; call 0x428d2a
+
+loc_0042afcb:
+add esp, 0x10
+xor eax, eax
+mov al, byte [ref_0048c2ec] ; mov al, byte [0x48c2ec]
+
+loc_0042afd5:
+push eax
+call fcn_004297f7 ; call 0x4297f7
+add esp, 4
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+push eax
+call fcn_004296c1 ; call 0x4296c1
+add esp, 4
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0042b0d3 ; jmp 0x42b0d3
+
+loc_0042afff:
+xor edx, edx
+mov dl, byte [ref_0048c2eb] ; mov dl, byte [0x48c2eb]
+mov ebx, edx
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 5
+cmp dword [eax + ebx*8 + ref_00497198], 0 ; cmp dword [eax + ebx*8 + 0x497198], 0
+je near loc_0042b0d3 ; je 0x42b0d3
+dec edx
+mov eax, edx
+shl eax, 3
+add eax, edx
+cmp byte [eax*4 + ref_00496986], 0 ; cmp byte [eax*4 + 0x496986], 0
+jne near loc_0042b0d3 ; jne 0x42b0d3
+push edx
+call fcn_004295ea ; call 0x4295ea
+add esp, 4
+cmp eax, 3
+jne short loc_0042b05a ; jne 0x42b05a
+push 0x800003e8
+mov eax, ref_00464097 ; mov eax, 0x464097
+jmp near loc_0042af22 ; jmp 0x42af22
+
+loc_0042b05a:
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+mov ecx, eax
+shl ecx, 3
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov ebp, dword [ecx + eax + ref_00497198] ; mov ebp, dword [ecx + eax + 0x497198]
+push ebp
+call fcn_00453544 ; call 0x453544
+mov ebx, eax
+add esp, 4
+test eax, eax
+je short loc_0042b0d3 ; je 0x42b0d3
+push 0
+push ref_00475598 ; push 0x475598
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 1
+push ebx
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+dec eax
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_00428e23 ; call 0x428e23
+jmp near loc_0042afcb ; jmp 0x42afcb
+
+loc_0042b0b7:
+push 0
+push 0
+push 0x40b
+jmp short loc_0042b0cb ; jmp 0x42b0cb
+
+loc_0042b0c2:
+push 0
+push 0
+push 0x205
+
+loc_0042b0cb:
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0042b0d3:
+xor al, al
+jmp near loc_0042ae83 ; jmp 0x42ae83
+
+loc_0042b0da:
+cmp byte [ref_0048c2ed], 0 ; cmp byte [0x48c2ed], 0
+je near loc_0042b1a4 ; je 0x42b1a4
+mov al, ah
+sub al, 0xa
+mov byte [ref_0048c2eb], al ; mov byte [0x48c2eb], al
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+cmp byte [ref_0048c2ed], 1 ; cmp byte [0x48c2ed], 1
+jne short loc_0042b11e ; jne 0x42b11e
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov byte [eax*4 + ref_00496987], 0x20 ; mov byte [eax*4 + 0x496987], 0x20
+jmp short loc_0042b137 ; jmp 0x42b137
+
+loc_0042b11e:
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov byte [eax*4 + ref_00496987], 2 ; mov byte [eax*4 + 0x496987], 2
+
+loc_0042b137:
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+push eax
+call fcn_00429040 ; call 0x429040
+add esp, 4
+push 0
+call fcn_004297f7 ; call 0x4297f7
+add esp, 4
+push 0
+call fcn_004296c1 ; call 0x4296c1
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [ref_0046cae0] ; mov ebx, dword [0x46cae0]
+push ebx
+mov esi, dword [ref_0046cadc] ; mov esi, dword [0x46cadc]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0x3e8
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+push eax
+
+loc_0042b197:
+call fcn_00401966 ; call 0x401966
+
+loc_0042b19c:
+add esp, 4
+jmp near loc_0042acfb ; jmp 0x42acfb
+
+loc_0042b1a4:
+mov bl, byte [ref_0048c2eb] ; mov bl, byte [0x48c2eb]
+test bl, bl
+je short loc_0042b1d6 ; je 0x42b1d6
+xor eax, eax
+mov al, byte [ref_0048c2e9] ; mov al, byte [0x48c2e9]
+xor edx, edx
+mov dl, bl
+sub eax, 0xa
+cmp edx, eax
+jne short loc_0042b1d6 ; jne 0x42b1d6
+push 0
+push 0
+push 0x40b
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_0042acfb ; jmp 0x42acfb
+
+loc_0042b1d6:
+mov al, byte [ref_0048c2e9] ; mov al, byte [0x48c2e9]
+sub al, 0xa
+mov byte [ref_0048c2eb], al ; mov byte [0x48c2eb], al
+
+loc_0042b1e2:
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+push eax
+call fcn_004296c1 ; call 0x4296c1
+
+loc_0042b1ef:
+add esp, 4
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0042acfb ; jmp 0x42acfb
+
+loc_0042b203:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+xor eax, eax
+mov al, byte [ref_0048c2eb] ; mov al, byte [0x48c2eb]
+dec eax
+push eax
+push fcn_00429d65 ; push 0x429d65
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_0042b19c ; jmp 0x42b19c
+
+loc_0042b22f:
+mov cl, byte [ref_0048c2ec] ; mov cl, byte [0x48c2ec]
+test cl, cl
+je short loc_0042b25a ; je 0x42b25a
+mov ch, cl
+xor ch, 1
+mov byte [ref_0048c2ec], ch ; mov byte [0x48c2ec], ch
+xor al, al
+mov byte [ref_0048c2eb], al ; mov byte [0x48c2eb], al
+xor eax, eax
+mov al, ch
+push eax
+call fcn_004297f7 ; call 0x4297f7
+add esp, 4
+jmp short loc_0042b1e2 ; jmp 0x42b1e2
+
+loc_0042b25a:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+jmp near loc_0042b197 ; jmp 0x42b197
+
+loc_0042b27a:
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+mov ecx, dword [esp + 0x18]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov edi, dword [ref_0048a0dc] ; mov edi, dword [0x48a0dc]
+push edi
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0042acfb ; jmp 0x42acfb
+
+loc_0042b2d8:
+push edx
+mov ebp, dword [esp + 0x74]
+push ebp
+push eax
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0042acfd ; jmp 0x42acfd
+
+fcn_0042b2ec:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x40
+mov ebx, dword [esp + 0x54]
+mov eax, dword [esp + 0x58]
+cmp eax, 0x202
+jb short loc_0042b321 ; jb 0x42b321
+jbe near loc_0042b385 ; jbe 0x42b385
+cmp eax, 0x205
+jb near loc_0042b3ce ; jb 0x42b3ce
+jbe short loc_0042b385 ; jbe 0x42b385
+cmp eax, 0x401
+je short loc_0042b32b ; je 0x42b32b
+jmp near loc_0042b3ce ; jmp 0x42b3ce
+
+loc_0042b321:
+cmp eax, 0xf
+je short loc_0042b391 ; je 0x42b391
+jmp near loc_0042b3ce ; jmp 0x42b3ce
+
+loc_0042b32b:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+call fcn_004296c1 ; call 0x4296c1
+add esp, 4
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp short loc_0042b3ca ; jmp 0x42b3ca
+
+loc_0042b385:
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp short loc_0042b3ca ; jmp 0x42b3ca
+
+loc_0042b391:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x18]
+push ebp
+mov ecx, dword [esp + 0x18]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+
+loc_0042b3ca:
+xor eax, eax
+jmp short loc_0042b3e1 ; jmp 0x42b3e1
+
+loc_0042b3ce:
+mov ecx, dword [esp + 0x60]
+push ecx
+mov esi, dword [esp + 0x60]
+push esi
+
+loc_0042b3d8:
+push eax
+push ebx
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+
+loc_0042b3e1:
+add esp, 0x40
+
+loc_0042b3e4:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+fcn_0042b3eb:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x40
+mov ebx, dword [esp + 0x54]
+mov eax, dword [esp + 0x58]
+cmp eax, 0x202
+jb short loc_0042b424 ; jb 0x42b424
+jbe near loc_0042b524 ; jbe 0x42b524
+cmp eax, 0x205
+jb near loc_0042b580 ; jb 0x42b580
+jbe near loc_0042b524 ; jbe 0x42b524
+cmp eax, 0x401
+je short loc_0042b443 ; je 0x42b443
+jmp near loc_0042b580 ; jmp 0x42b580
+
+loc_0042b424:
+cmp eax, 0xf
+jb near loc_0042b580 ; jb 0x42b580
+jbe near loc_0042b542 ; jbe 0x42b542
+cmp eax, 0x113
+je near loc_0042b4db ; je 0x42b4db
+jmp near loc_0042b580 ; jmp 0x42b580
+
+loc_0042b443:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x96000
+push 0
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0x18
+push 0x18
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0x3e8
+mov esi, dword [ref_0046cad8] ; mov esi, dword [0x46cad8]
+push esi
+push ebx
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c2ee], eax ; mov dword [0x48c2ee], eax
+xor edi, edi
+mov dword [ref_0048c2f2], edi ; mov dword [0x48c2f2], edi
+push edi
+push edi
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push edi
+push ref_004755a8 ; push 0x4755a8
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_0042b3ca ; jmp 0x42b3ca
+
+loc_0042b4db:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_0042b3ca ; je 0x42b3ca
+mov eax, dword [esp + 0x5c]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_0042b3ca ; jne 0x42b3ca
+mov ecx, dword [ref_0048c2f2] ; mov ecx, dword [0x48c2f2]
+inc ecx
+mov dword [ref_0048c2f2], ecx ; mov dword [0x48c2f2], ecx
+cmp ecx, 3
+jne near loc_0042b3ca ; jne 0x42b3ca
+push 0
+push 0
+push 0x202
+push ebx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_0042b3ca ; jmp 0x42b3ca
+
+loc_0042b524:
+mov ebp, dword [ref_0048c2ee] ; mov ebp, dword [0x48c2ee]
+push ebp
+push ebx
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_0042b3ca ; jmp 0x42b3ca
+
+loc_0042b542:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x18]
+push ebp
+mov ecx, dword [esp + 0x18]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0042b3ca ; jmp 0x42b3ca
+
+loc_0042b580:
+mov esi, dword [esp + 0x60]
+push esi
+mov edi, dword [esp + 0x60]
+push edi
+jmp near loc_0042b3d8 ; jmp 0x42b3d8
+
+fcn_0042b58f:
+push ebx
+push esi
+push edi
+push ebp
+push 0
+push 0
+push 0x4b
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c2dc], eax ; mov dword [0x48c2dc], eax
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x18
+push 0x46
+push ref_004640a6 ; push 0x4640a6
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x18
+push 0x46
+push ref_004640b1 ; push 0x4640b1
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x40
+push 0x4c
+push ref_004640ba ; push 0x4640ba
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x40
+push 0xbc
+push ref_004640c3 ; push 0x4640c3
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x40
+push 0x118
+push ref_004640ca ; push 0x4640ca
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x40
+push 0x170
+push ref_004640cf ; push 0x4640cf
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x40
+push 0x1d4
+push ref_004640d6 ; push 0x4640d6
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x40
+push 0x23c
+push ref_004640df ; push 0x4640df
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+call fcn_00428d01 ; call 0x428d01
+cmp eax, 1
+jne near loc_0042b745 ; jne 0x42b745
+push eax
+push 2
+push 0
+push 0x101010
+push 0x48
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0xf4
+push 0x144
+push ref_004640e8 ; push 0x4640e8
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 2
+push 0
+push 0xf0f0f0
+push 0x48
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0xf0
+push 0x140
+push ref_004640e8 ; push 0x4640e8
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push fcn_0042b2ec ; push 0x42b2ec
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebx, eax
+jmp near loc_0042ba6d ; jmp 0x42ba6d
+
+loc_0042b745:
+push ref_00475590 ; push 0x475590
+call fcn_00454176 ; call 0x454176
+add esp, 4
+xor ebx, ebx
+mov edi, 0x60
+jmp short loc_0042b7a9 ; jmp 0x42b7a9
+
+loc_0042b75b:
+push 2
+push edi
+push 0x4c
+mov eax, ebx
+shl eax, 3
+lea esi, [ebx + eax]
+shl esi, 2
+mov ecx, dword [esi + ref_00496980] ; mov ecx, dword [esi + 0x496980]
+push ecx
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push edi
+push 0x47
+mov ebp, dword [esi + ref_00496980] ; mov ebp, dword [esi + 0x496980]
+push ebp
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add edi, 0x20
+cmp ebx, 0xc
+jge short loc_0042b7e5 ; jge 0x42b7e5
+
+loc_0042b7a9:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+cmp word [eax*4 + ref_00496984], 0 ; cmp word [eax*4 + 0x496984], 0
+je short loc_0042b7d5 ; je 0x42b7d5
+push 1
+push 3
+push 0x101010
+push 0xf0f0
+
+loc_0042b7c9:
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+jmp short loc_0042b75b ; jmp 0x42b75b
+
+loc_0042b7d5:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+jmp short loc_0042b7c9 ; jmp 0x42b7c9
+
+loc_0042b7e5:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x40
+push 0x47
+push ref_004640ba ; push 0x4640ba
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+mov esi, 0xa8
+
+loc_0042b820:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0042b84e ; jge 0x42b84e
+push 2
+push 0x40
+push esi
+imul eax, ebx, 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+add esi, 0x50
+jmp short loc_0042b820 ; jmp 0x42b820
+
+loc_0042b84e:
+push 2
+push 0x40
+push 0x1ec
+push ref_004640f1 ; push 0x4640f1
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x40
+push 0x244
+push ref_004640fa ; push 0x4640fa
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x47
+push 0xba
+push ref_00464103 ; push 0x464103
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x6e
+push 0xba
+push ref_0046410c ; push 0x46410c
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x97
+push 0xba
+push ref_00464115 ; push 0x464115
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x47
+push 0x171
+push ref_004640c3 ; push 0x4640c3
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x6e
+push 0x171
+push ref_0046411e ; push 0x46411e
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x97
+push 0x171
+push ref_00464125 ; push 0x464125
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x47
+push 0x1f9
+push ref_004640cf ; push 0x4640cf
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x6e
+push 0x1f9
+push ref_0046412c ; push 0x46412c
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0x97
+push 0x1f9
+push ref_00464133 ; push 0x464133
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0xbf
+push 0x1f9
+push ref_0046413a ; push 0x46413a
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 6
+push 0xe7
+push 0x1f9
+push ref_00464143 ; push 0x464143
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 1
+push 0x101010
+push 0xf0f0f0
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0xc4
+push 0xd2
+push ref_0046414c ; push 0x46414c
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x10a
+push 0x1dc
+push ref_0046415f ; push 0x46415f
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edx, dword [esp + 0x14]
+push edx
+push fcn_0042aaff ; push 0x42aaff
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebx, eax
+push ref_00475590 ; push 0x475590
+call fcn_00454240 ; call 0x454240
+add esp, 4
+
+loc_0042ba6d:
+mov esi, dword [ref_0048c2dc] ; mov esi, dword [0x48c2dc]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+push 0
+call fcn_00436b0a ; call 0x436b0a
+add esp, 4
+mov eax, ebx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0042ba97:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xb4
+push ref_004755a8 ; push 0x4755a8
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0
+push 0
+push 0x4c
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c2dc], eax ; mov dword [0x48c2dc], eax
+push 0x10
+push 0
+lea eax, [esp + 0x98]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x1c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x19
+push 0x128
+push ref_00464168 ; push 0x464168
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 2
+push 0
+push 0x101010
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 6
+push 0x52
+push 0x68
+push ref_00464175 ; push 0x464175
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 5
+push 0x5e
+push 0x12
+push ref_0046417a ; push 0x46417a
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+mov edi, 0xa0
+
+loc_0042bb7c:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0042bbb3 ; jge 0x42bbb3
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0042bbb0 ; je 0x42bbb0
+push 2
+push 0x58
+push edi
+mov ebp, dword [eax + ref_00496b68] ; mov ebp, dword [eax + 0x496b68]
+push ebp
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+add edi, 0x62
+
+loc_0042bbb0:
+inc ebx
+jmp short loc_0042bb7c ; jmp 0x42bb7c
+
+loc_0042bbb3:
+push 2
+push 0x58
+push 0x21e
+push ref_00464103 ; push 0x464103
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x194
+push 0x3e
+push ref_0046417f ; push 0x46417f
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+mov dword [esp + 0xac], ebx
+mov dword [esp + 0xa8], 0x74
+jmp near loc_0042bd61 ; jmp 0x42bd61
+
+loc_0042bc0a:
+xor ebx, ebx
+
+loc_0042bc0c:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0042bc6e ; jge 0x42bc6e
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0042bc6b ; je 0x42bc6b
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 5
+mov esi, dword [esp + 0xac]
+shl esi, 3
+add esi, eax
+mov eax, ebx
+shl eax, 2
+mov edi, dword [esi + ref_004971a0] ; mov edi, dword [esi + 0x4971a0]
+test edi, edi
+je short loc_0042bc64 ; je 0x42bc64
+fild dword [esi + ref_004971a0] ; fild dword [esi + 0x4971a0]
+mov dword [esp + 0xb0], ebp
+fild dword [esp + 0xb0]
+fdivp st1 ; fdivp st(1)
+fstp dword [esp + eax + 0x80]
+jmp short loc_0042bc6b ; jmp 0x42bc6b
+
+loc_0042bc64:
+mov dword [esp + eax + 0x80], edi
+
+loc_0042bc6b:
+inc ebx
+jmp short loc_0042bc0c ; jmp 0x42bc0c
+
+loc_0042bc6e:
+xor ebx, ebx
+mov edi, 0xc6
+
+loc_0042bc75:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0042bcf0 ; jge 0x42bcf0
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0042bced ; je 0x42bced
+mov eax, dword [esp + 0xa4]
+fild dword [eax + 0x28]
+fmul dword [esp + ebx*4 + 0x80]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xa0]
+mov eax, dword [esp + 0xa0]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+mov edx, dword [esp + 0xac]
+push edx
+push edi
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [esp + 0xa0]
+add dword [esp + ebx*4 + 0x90], eax
+add edi, 0x62
+
+loc_0042bced:
+inc ebx
+jmp short loc_0042bc75 ; jmp 0x42bc75
+
+loc_0042bcf0:
+mov eax, dword [esp + 0xa4]
+mov ebx, dword [eax + 0x28]
+push ebx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+mov esi, dword [esp + 0xac]
+push esi
+push 0x23c
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+lea edi, [esi + 0x18]
+mov dword [esp + 0xa8], edi
+test ebp, ebp
+je short loc_0042bd49 ; je 0x42bd49
+mov eax, dword [esp + 0xa4]
+mov dword [eax + 0x28], 0
+
+loc_0042bd49:
+mov ebx, dword [esp + 0xac]
+inc ebx
+mov dword [esp + 0xac], ebx
+cmp ebx, 0xc
+jge near loc_0042bdef ; jge 0x42bdef
+
+loc_0042bd61:
+mov ebx, dword [esp + 0xac]
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+mov dx, word [eax + ref_00496984] ; mov dx, word [eax + 0x496984]
+test dx, dx
+je short loc_0042bd49 ; je 0x42bd49
+mov eax, edx
+and eax, 0xffff
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e7c] ; mov ebx, dword [0x498e7c]
+add ebx, eax
+mov dword [esp + 0xa4], ebx
+push 2
+mov eax, dword [esp + 0xac]
+push eax
+push 0x3e
+lea eax, [ebx + 4]
+push eax
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+xor ebp, ebp
+mov esi, dword [esp + 0xac]
+
+loc_0042bdc3:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_0042bc0a ; jge 0x42bc0a
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0042bdec ; je 0x42bdec
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 5
+add ebp, dword [eax + esi*8 + ref_004971a0] ; add ebp, dword [eax + esi*8 + 0x4971a0]
+
+loc_0042bdec:
+inc ebx
+jmp short loc_0042bdc3 ; jmp 0x42bdc3
+
+loc_0042bdef:
+xor ebx, ebx
+mov edi, 0xc6
+
+loc_0042bdf6:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0042be43 ; jge 0x42be43
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0042be40 ; je 0x42be40
+mov edx, dword [esp + ebx*4 + 0x90]
+push edx
+lea eax, [esp + 4]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 6
+push 0x194
+push edi
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+add edi, 0x62
+
+loc_0042be40:
+inc ebx
+jmp short loc_0042bdf6 ; jmp 0x42bdf6
+
+loc_0042be43:
+push 0
+push fcn_0042b3eb ; push 0x42b3eb
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov eax, dword [ref_0048c2dc] ; mov eax, dword [0x48c2dc]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_004755a8 ; push 0x4755a8
+call fcn_00454240 ; call 0x454240
+add esp, 4
+xor ebx, ebx
+
+loc_0042be6f:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0042bec5 ; jge 0x42bec5
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0042bec2 ; je 0x42bec2
+mov esi, dword [esp + ebx*4 + 0x90]
+mov edi, dword [eax + ref_00496b88] ; mov edi, dword [eax + 0x496b88]
+add edi, esi
+mov dword [eax + ref_00496b88], edi ; mov dword [eax + 0x496b88], edi
+test edi, edi
+jge short loc_0042bec2 ; jge 0x42bec2
+add dword [eax + ref_00496b84], edi ; add dword [eax + 0x496b84], edi
+xor ecx, ecx
+mov dword [eax + ref_00496b88], ecx ; mov dword [eax + 0x496b88], ecx
+cmp dword [eax + ref_00496b84], 0 ; cmp dword [eax + 0x496b84], 0
+jge short loc_0042bec2 ; jge 0x42bec2
+mov dword [eax + ref_00496b84], ecx ; mov dword [eax + 0x496b84], ecx
+push ebx
+call fcn_0040cd87 ; call 0x40cd87
+add esp, 4
+
+loc_0042bec2:
+inc ebx
+jmp short loc_0042be6f ; jmp 0x42be6f
+
+loc_0042bec5:
+add esp, 0xb4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0042bed0:
+push ebx
+push esi
+xor eax, eax
+mov ebx, dword [esp + 0xc]
+mov bx, word [ebx]
+mov edx, dword [esp + 0x10]
+mov dx, word [edx]
+movsx esi, bx
+movsx ecx, dx
+cmp esi, ecx
+jle short loc_0042bef1 ; jle 0x42bef1
+mov eax, 0xffffffff
+
+loc_0042bef1:
+movsx ecx, bx
+movsx edx, dx
+cmp ecx, edx
+jge short loc_0042bf00 ; jge 0x42bf00
+mov eax, 1
+
+loc_0042bf00:
+pop esi
+pop ebx
+ret
+
+fcn_0042bf03:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xe8
+mov edi, dword [esp + 0xfc]
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 3
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+jne near loc_0042c794 ; jne 0x42c794
+imul ebx, edi, 0x68
+cmp byte [ebx + ref_00496b82], 0 ; cmp byte [ebx + 0x496b82], 0
+je near loc_0042c794 ; je 0x42c794
+call fcn_00428d01 ; call 0x428d01
+cmp eax, 1
+je near loc_0042c794 ; je 0x42c794
+mov edx, dword [ebx + ref_00496b94] ; mov edx, dword [ebx + 0x496b94]
+test edx, edx
+je short loc_0042bf6e ; je 0x42bf6e
+push edx
+mov ebx, dword [ref_00497160] ; mov ebx, dword [0x497160]
+push ebx
+call fcn_004521aa ; call 0x4521aa
+add esp, 8
+cmp eax, 0xf
+jl near loc_0042c794 ; jl 0x42c794
+
+loc_0042bf6e:
+xor esi, esi
+mov dword [esp + 0xe0], esi
+mov dword [esp + 0xc8], esi
+jmp short loc_0042bf94 ; jmp 0x42bf94
+
+loc_0042bf80:
+mov ecx, dword [esp + 0xe0]
+inc ecx
+mov dword [esp + 0xe0], ecx
+cmp ecx, 0xc
+jge short loc_0042bfff ; jge 0x42bfff
+
+loc_0042bf94:
+mov edx, edi
+shl edx, 2
+sub edx, edi
+shl edx, 5
+mov eax, dword [esp + 0xe0]
+shl eax, 3
+add eax, edx
+cmp dword [eax + ref_004971a0], 0 ; cmp dword [eax + 0x4971a0], 0
+je short loc_0042bf80 ; je 0x42bf80
+fild dword [eax + ref_004971a0] ; fild dword [eax + 0x4971a0]
+mov edx, dword [esp + 0xe0]
+mov eax, edx
+shl eax, 3
+add eax, edx
+fmul dword [eax*4 + ref_00496994] ; fmul dword [eax*4 + 0x496994]
+mov eax, dword [esp + 0xc8]
+mov dword [esp + 0xe4], eax
+fild dword [esp + 0xe4]
+fstp dword [esp + 0xe4]
+fadd dword [esp + 0xe4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xc8]
+jmp short loc_0042bf80 ; jmp 0x42bf80
+
+loc_0042bfff:
+imul ecx, edi, 0x68
+mov eax, dword [ecx + ref_00496b88] ; mov eax, dword [ecx + 0x496b88]
+add eax, dword [ecx + ref_00496b84] ; add eax, dword [ecx + 0x496b84]
+mov edx, dword [esp + 0xc8]
+add edx, eax
+xor eax, eax
+mov al, byte [ecx + ref_00496b82] ; mov al, byte [ecx + 0x496b82]
+imul edx, eax
+mov ebx, 0x64
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov dword [esp + 0xc4], eax
+mov eax, dword [esp + 0xc8]
+mov ebp, dword [esp + 0xc4]
+cmp eax, ebp
+jge near loc_0042c794 ; jge 0x42c794
+mov edx, ebp
+sub edx, eax
+mov dword [esp + 0xc4], edx
+mov ebx, dword [ecx + ref_00496b88] ; mov ebx, dword [ecx + 0x496b88]
+cmp edx, ebx
+jle short loc_0042c067 ; jle 0x42c067
+mov dword [esp + 0xc4], ebx
+
+loc_0042c067:
+xor esi, esi
+mov dword [esp + 0xe0], esi
+jmp near loc_0042c58c ; jmp 0x42c58c
+
+loc_0042c075:
+fild dword [ecx + 0x2c]
+
+loc_0042c078:
+fstp dword [esp + 0xd4]
+mov ebx, 0x2710
+mov eax, dword [ecx + 0x24]
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov dword [esp + 0xe4], eax
+fild dword [esp + 0xe4]
+fstp dword [esp + 0xd0]
+fldz
+fcomp dword [esp + 0xd4]
+fnstsw ax
+sahf
+jae short loc_0042c0f3 ; jae 0x42c0f3
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 3
+mov dword [esp + 0xe4], eax
+fild dword [esp + 0xe4]
+fcomp dword [esp + 0xd4]
+fnstsw ax
+sahf
+jbe short loc_0042c0f3 ; jbe 0x42c0f3
+mov eax, dword [esp + 0xe0]
+inc dword [esp + eax*4 + 0x80]
+
+loc_0042c0f3:
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 3
+mov dword [esp + 0xe4], eax
+fild dword [esp + 0xe4]
+fcomp dword [esp + 0xd4]
+fnstsw ax
+sahf
+ja short loc_0042c164 ; ja 0x42c164
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov dword [esp + 0xe4], eax
+fild dword [esp + 0xe4]
+fcomp dword [esp + 0xd4]
+fnstsw ax
+sahf
+jbe short loc_0042c164 ; jbe 0x42c164
+mov eax, dword [esp + 0xe0]
+add dword [esp + eax*4 + 0x80], 2
+
+loc_0042c164:
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov dword [esp + 0xe4], eax
+fild dword [esp + 0xe4]
+fcomp dword [esp + 0xd4]
+fnstsw ax
+sahf
+ja short loc_0042c1a7 ; ja 0x42c1a7
+mov eax, dword [esp + 0xe0]
+add dword [esp + eax*4 + 0x80], 3
+
+loc_0042c1a7:
+cmp dword [ecx + 0x28], 0
+jle near loc_0042c2e7 ; jle 0x42c2e7
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 5
+mov esi, dword [esp + 0xe0]
+shl esi, 3
+lea ebx, [eax + esi]
+cmp dword [ebx + ref_004971a0], 0x1388 ; cmp dword [ebx + 0x4971a0], 0x1388
+jge near loc_0042c2e7 ; jge 0x42c2e7
+mov edx, dword [esp + 0xe0]
+mov eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 2
+fld dword [edx + ref_00496994] ; fld dword [edx + 0x496994]
+fld dword [esp + 0xd0]
+fmul qword [ref_0046419c] ; fmul qword [0x46419c]
+fcompp
+fnstsw ax
+sahf
+jb near loc_0042c2e7 ; jb 0x42c2e7
+mov eax, dword [esp + 0xe0]
+shl eax, 2
+inc dword [esp + eax + 0x80]
+cmp byte [ecx + 0x18], 0
+je near loc_0042c2e7 ; je 0x42c2e7
+movzx ebp, byte [ecx + 0x18]
+mov dword [esp + 0xcc], ebp
+lea ebp, [edi + 1]
+mov dword [esp + 0xe4], ebp
+mov ebp, dword [esp + 0xcc]
+cmp ebp, dword [esp + 0xe4]
+je near loc_0042c2e7 ; je 0x42c2e7
+mov dx, word [edx + ref_00496988] ; mov dx, word [edx + 0x496988]
+and edx, 0xffff
+add edx, dword [ebx + ref_004971a0] ; add edx, dword [ebx + 0x4971a0]
+mov ebp, dword [ecx + 0x30]
+add ebp, edx
+mov ebx, dword [esp + 0xcc]
+dec ebx
+mov edx, ebx
+shl edx, 2
+sub edx, ebx
+shl edx, 5
+cmp ebp, dword [edx + esi + ref_004971a0] ; cmp ebp, dword [edx + esi + 0x4971a0]
+jle short loc_0042c285 ; jle 0x42c285
+inc dword [esp + eax + 0x80]
+
+loc_0042c285:
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 5
+mov esi, dword [esp + 0xe0]
+shl esi, 3
+lea ebx, [eax + esi]
+mov edx, dword [esp + 0xe0]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov ax, word [eax*4 + ref_0049698a] ; mov ax, word [eax*4 + 0x49698a]
+and eax, 0xffff
+mov ebx, dword [ebx + ref_004971a0] ; mov ebx, dword [ebx + 0x4971a0]
+add ebx, eax
+xor edx, edx
+mov dl, byte [ecx + 0x18]
+dec edx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+cmp ebx, dword [esi + eax + ref_004971a0] ; cmp ebx, dword [esi + eax + 0x4971a0]
+jle short loc_0042c2e7 ; jle 0x42c2e7
+mov eax, dword [esp + 0xe0]
+add dword [esp + eax*4 + 0x80], 2
+
+loc_0042c2e7:
+mov edx, dword [esp + 0xe0]
+mov eax, edx
+shl eax, 3
+add eax, edx
+fld dword [eax*4 + ref_00496994] ; fld dword [eax*4 + 0x496994]
+fld dword [esp + 0xd0]
+fmul qword [ref_004641a4] ; fmul qword [0x4641a4]
+fcompp
+fnstsw ax
+sahf
+jbe short loc_0042c318 ; jbe 0x42c318
+add dword [esp + edx*4 + 0x80], 3
+
+loc_0042c318:
+mov edx, dword [esp + 0xe0]
+mov eax, edx
+shl eax, 3
+add eax, edx
+fld dword [eax*4 + ref_00496994] ; fld dword [eax*4 + 0x496994]
+fld dword [esp + 0xd0]
+fmul qword [ref_004641ac] ; fmul qword [0x4641ac]
+fcompp
+fnstsw ax
+sahf
+jbe near loc_0042c557 ; jbe 0x42c557
+add dword [esp + edx*4 + 0x80], 5
+jmp near loc_0042c557 ; jmp 0x42c557
+
+loc_0042c352:
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp eax, dword [ecx + ref_00496b88] ; cmp eax, dword [ecx + 0x496b88]
+jge near loc_0042c574 ; jge 0x42c574
+mov eax, dword [ref_00499100] ; mov eax, dword [0x499100]
+sub eax, 0x18
+test eax, eax
+jge short loc_0042c390 ; jge 0x42c390
+add eax, 0x90
+
+loc_0042c390:
+xor ecx, ecx
+xor ebx, ebx
+mov dword [esp + 0xd8], ecx
+jmp short loc_0042c3a4 ; jmp 0x42c3a4
+
+loc_0042c39d:
+inc ecx
+inc eax
+cmp ecx, 0x18
+jge short loc_0042c3e8 ; jge 0x42c3e8
+
+loc_0042c3a4:
+cmp eax, 0x90
+jne short loc_0042c3ad ; jne 0x42c3ad
+xor eax, eax
+
+loc_0042c3ad:
+mov esi, dword [esp + 0xe0]
+mov edx, esi
+shl edx, 3
+add esi, edx
+shl esi, 6
+mov edx, eax
+shl edx, 2
+add edx, esi
+test dword [edx + ref_00497328], 0x7fffffff ; test dword [edx + 0x497328], 0x7fffffff
+je short loc_0042c39d ; je 0x42c39d
+fld dword [esp + 0xd8]
+fadd dword [edx + ref_00497328] ; fadd dword [edx + 0x497328]
+fstp dword [esp + 0xd8]
+inc ebx
+jmp short loc_0042c39d ; jmp 0x42c39d
+
+loc_0042c3e8:
+test ebx, ebx
+je short loc_0042c408 ; je 0x42c408
+mov dword [esp + 0xe4], ebx
+fild dword [esp + 0xe4]
+fdivr dword [esp + 0xd8]
+fstp dword [esp + 0xd8]
+
+loc_0042c408:
+mov eax, dword [ref_00499100] ; mov eax, dword [0x499100]
+sub eax, 6
+test eax, eax
+jge short loc_0042c419 ; jge 0x42c419
+add eax, 0x90
+
+loc_0042c419:
+xor ecx, ecx
+mov dword [esp + 0xdc], ecx
+xor ebx, ebx
+jmp short loc_0042c42d ; jmp 0x42c42d
+
+loc_0042c426:
+inc ecx
+inc eax
+cmp ecx, 6
+jge short loc_0042c471 ; jge 0x42c471
+
+loc_0042c42d:
+cmp eax, 0x90
+jne short loc_0042c436 ; jne 0x42c436
+xor eax, eax
+
+loc_0042c436:
+mov esi, dword [esp + 0xe0]
+mov edx, esi
+shl edx, 3
+add edx, esi
+shl edx, 6
+mov esi, eax
+shl esi, 2
+add edx, esi
+test dword [edx + ref_00497328], 0x7fffffff ; test dword [edx + 0x497328], 0x7fffffff
+je short loc_0042c426 ; je 0x42c426
+fld dword [esp + 0xdc]
+fadd dword [edx + ref_00497328] ; fadd dword [edx + 0x497328]
+fstp dword [esp + 0xdc]
+inc ebx
+jmp short loc_0042c426 ; jmp 0x42c426
+
+loc_0042c471:
+test ebx, ebx
+je short loc_0042c491 ; je 0x42c491
+mov dword [esp + 0xe4], ebx
+fild dword [esp + 0xe4]
+fdivr dword [esp + 0xdc]
+fstp dword [esp + 0xdc]
+
+loc_0042c491:
+mov edx, dword [esp + 0xe0]
+mov eax, edx
+shl eax, 3
+add edx, eax
+shl edx, 2
+fld dword [edx + ref_0049698c] ; fld dword [edx + 0x49698c]
+fmul qword [ref_004641b4] ; fmul qword [0x4641b4]
+fld dword [edx + ref_00496994] ; fld dword [edx + 0x496994]
+fcompp
+fnstsw ax
+sahf
+jae short loc_0042c4e9 ; jae 0x42c4e9
+cmp dword [edx + ref_0049699c], 0x40000000 ; cmp dword [edx + 0x49699c], 0x40000000
+jle short loc_0042c4e9 ; jle 0x42c4e9
+fld dword [esp + 0xdc]
+fcomp dword [esp + 0xd8]
+fnstsw ax
+sahf
+jbe short loc_0042c4e9 ; jbe 0x42c4e9
+mov eax, dword [esp + 0xe0]
+add dword [esp + eax*4 + 0x80], 2
+
+loc_0042c4e9:
+mov edx, dword [esp + 0xe0]
+mov eax, edx
+shl eax, 3
+add eax, edx
+fld dword [eax*4 + ref_0049698c] ; fld dword [eax*4 + 0x49698c]
+fmul qword [ref_004641bc] ; fmul qword [0x4641bc]
+fld dword [eax*4 + ref_00496994] ; fld dword [eax*4 + 0x496994]
+fcompp
+fnstsw ax
+sahf
+jae short loc_0042c52d ; jae 0x42c52d
+fld dword [esp + 0xdc]
+fcomp dword [esp + 0xd8]
+fnstsw ax
+sahf
+jbe short loc_0042c52d ; jbe 0x42c52d
+add dword [esp + edx*4 + 0x80], 4
+
+loc_0042c52d:
+fld dword [esp + 0xd8]
+fmul qword [ref_004641c4] ; fmul qword [0x4641c4]
+fld dword [esp + 0xdc]
+fcompp
+fnstsw ax
+sahf
+jae short loc_0042c557 ; jae 0x42c557
+mov eax, dword [esp + 0xe0]
+add dword [esp + eax*4 + 0x80], 2
+
+loc_0042c557:
+mov eax, dword [esp + 0xe0]
+xor edx, edx
+mov word [esp + eax*4 + 0x82], dx
+mov edx, eax
+shl edx, 0x10
+or dword [esp + eax*4 + 0x80], edx
+
+loc_0042c574:
+mov ebp, dword [esp + 0xe0]
+inc ebp
+mov dword [esp + 0xe0], ebp
+cmp ebp, 0xc
+jge near loc_0042c63d ; jge 0x42c63d
+
+loc_0042c58c:
+mov eax, dword [esp + 0xe0]
+xor ebp, ebp
+mov dword [esp + eax*4 + 0x80], ebp
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+shl ebx, 2
+cmp byte [ebx + ref_00496986], 0 ; cmp byte [ebx + 0x496986], 0
+jne short loc_0042c557 ; jne 0x42c557
+push eax
+call fcn_004295ea ; call 0x4295ea
+add esp, 4
+cmp eax, 1
+je short loc_0042c557 ; je 0x42c557
+cmp word [ebx + ref_0049698a], 0 ; cmp word [ebx + 0x49698a], 0
+je short loc_0042c557 ; je 0x42c557
+imul ecx, edi, 0x68
+cmp word [ebx + ref_00496984], 0 ; cmp word [ebx + 0x496984], 0
+je near loc_0042c352 ; je 0x42c352
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 5
+cmp eax, dword [ecx + ref_00496b88] ; cmp eax, dword [ecx + 0x496b88]
+jge near loc_0042c574 ; jge 0x42c574
+xor eax, eax
+mov ax, word [ebx + ref_00496984] ; mov ax, word [ebx + 0x496984]
+imul eax, eax, 0x34
+mov ecx, dword [ref_00498e7c] ; mov ecx, dword [0x498e7c]
+add ecx, eax
+mov ebp, dword [ref_00499084] ; mov ebp, dword [0x499084]
+test ebp, ebp
+je near loc_0042c075 ; je 0x42c075
+mov edx, dword [ecx + 0x2c]
+mov eax, edx
+sar edx, 0x1f
+idiv ebp
+mov dword [esp + 0xe4], eax
+fild dword [esp + 0xe4]
+jmp near loc_0042c078 ; jmp 0x42c078
+
+loc_0042c63d:
+push fcn_0042bed0 ; push 0x42bed0
+push 4
+push 0xc
+lea eax, [esp + 0x8c]
+push eax
+call fcn_00457e6c ; call 0x457e6c
+add esp, 0x10
+xor edx, edx
+mov dword [esp + 0xe0], edx
+mov esi, 0xffffffff
+jmp short loc_0042c67a ; jmp 0x42c67a
+
+loc_0042c666:
+mov ebx, dword [esp + 0xe0]
+inc ebx
+mov dword [esp + 0xe0], ebx
+cmp ebx, 0xc
+jge short loc_0042c6c1 ; jge 0x42c6c1
+
+loc_0042c67a:
+mov ebx, dword [esp + 0xe0]
+shl ebx, 2
+test word [esp + ebx + 0x80], 0xffff
+je short loc_0042c666 ; je 0x42c666
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0x18
+sar edx, 0x1f
+idiv ecx
+mov eax, 0xc
+sub eax, dword [esp + 0xe0]
+cmp edx, eax
+jg short loc_0042c666 ; jg 0x42c666
+mov esi, dword [esp + ebx + 0x80]
+sar esi, 0x10
+and esi, 0xffff
+
+loc_0042c6c1:
+cmp esi, 0xffffffff
+je near loc_0042c794 ; je 0x42c794
+mov eax, esi
+shl eax, 3
+add eax, esi
+shl eax, 2
+mov edx, dword [esp + 0xc4]
+mov dword [esp + 0xe4], edx
+fild dword [esp + 0xe4]
+fdiv dword [eax + ref_00496994] ; fdiv dword [eax + 0x496994]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xe0]
+mov edx, dword [esp + 0xe0]
+test edx, edx
+je near loc_0042c794 ; je 0x42c794
+mov ax, word [eax + ref_0049698a] ; mov ax, word [eax + 0x49698a]
+and eax, 0xffff
+cmp eax, edx
+jge short loc_0042c721 ; jge 0x42c721
+mov dword [esp + 0xe0], eax
+
+loc_0042c721:
+push 1
+mov ebx, dword [esp + 0xe4]
+push ebx
+push esi
+push edi
+call fcn_00428d2a ; call 0x428d2a
+add esp, 0x10
+push edi
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+mov eax, esi
+shl eax, 3
+add eax, esi
+mov esi, dword [eax*4 + ref_00496980] ; mov esi, dword [eax*4 + 0x496980]
+push esi
+lea eax, [esp + 0xb4]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+push ebx
+lea eax, [esp + 0xb4]
+push eax
+imul edi, edi, 0x68
+mov eax, dword [edi + ref_00496b68] ; mov eax, dword [edi + 0x496b68]
+push eax
+push ref_00464186 ; push 0x464186
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_0042c794:
+add esp, 0xe8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0042c79f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xfc
+mov ebp, dword [esp + 0x110]
+xor edx, edx
+mov dword [esp + 0xd0], edx
+imul ebx, ebp, 0x68
+mov ecx, dword [ebx + ref_00496b94] ; mov ecx, dword [ebx + 0x496b94]
+push ecx
+mov esi, dword [ref_00497160] ; mov esi, dword [0x497160]
+push esi
+call fcn_004521aa ; call 0x4521aa
+add esp, 8
+cmp eax, 6
+jg short loc_0042c7f8 ; jg 0x42c7f8
+mov eax, dword [ebx + ref_00496b88] ; mov eax, dword [ebx + 0x496b88]
+add eax, dword [ebx + ref_00496b84] ; add eax, dword [ebx + 0x496b84]
+cmp eax, dword [ebx + ref_00496b8c] ; cmp eax, dword [ebx + 0x496b8c]
+jge short loc_0042c7f8 ; jge 0x42c7f8
+mov dword [esp + 0xd0], 1
+jmp short loc_0042c81b ; jmp 0x42c81b
+
+loc_0042c7f8:
+cmp dword [esp + 0xd0], 0
+jne short loc_0042c81b ; jne 0x42c81b
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 3
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+jne near loc_0042d0e4 ; jne 0x42d0e4
+
+loc_0042c81b:
+call fcn_00428d01 ; call 0x428d01
+cmp eax, 1
+je near loc_0042d0e4 ; je 0x42d0e4
+
+loc_0042c829:
+xor esi, esi
+mov dword [esp + 0xcc], esi
+mov dword [esp + 0xc8], 0xffffffff
+xor ebx, ebx
+jmp near loc_0042cf7c ; jmp 0x42cf7c
+
+loc_0042c844:
+fild dword [esi + 0x2c]
+
+loc_0042c847:
+fstp dword [esp + 0xd4]
+mov ecx, 0x2710
+mov eax, dword [esi + 0x24]
+mov edx, eax
+sar edx, 0x1f
+idiv ecx
+mov dword [esp + 0xf8], eax
+fild dword [esp + 0xf8]
+fstp dword [esp + 0xe0]
+xor edx, edx
+mov dword [esp + 0xf4], edx
+
+loc_0042c87b:
+mov edi, ebx
+shl edi, 3
+cmp edx, dword [ref_00499114] ; cmp edx, dword [0x499114]
+jge short loc_0042c8a3 ; jge 0x42c8a3
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov eax, dword [edi + eax + ref_004971a0] ; mov eax, dword [edi + eax + 0x4971a0]
+add dword [esp + 0xf4], eax
+inc edx
+jmp short loc_0042c87b ; jmp 0x42c87b
+
+loc_0042c8a3:
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 5
+fild dword [edi + eax + ref_004971a0] ; fild dword [edi + eax + 0x4971a0]
+mov eax, dword [esp + 0xf4]
+mov dword [esp + 0xf8], eax
+fild dword [esp + 0xf8]
+fdivrp st1 ; fdivrp st(1)
+fstp dword [esp + 0xd8]
+mov ecx, dword [ref_00497160] ; mov ecx, dword [0x497160]
+and ecx, 0xff
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+neg eax
+cmp eax, dword [esi + 0x28]
+jl short loc_0042c923 ; jl 0x42c923
+fld dword [esp + 0xd8]
+fcomp qword [ref_00464204] ; fcomp qword [0x464204]
+fnstsw ax
+sahf
+jbe short loc_0042c923 ; jbe 0x42c923
+cmp ecx, 0xa
+jle short loc_0042c923 ; jle 0x42c923
+cmp ecx, 0xf
+jge short loc_0042c923 ; jge 0x42c923
+add dword [esp + ebx*4 + 0x80], 3
+
+loc_0042c923:
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 4
+sub eax, edx
+neg eax
+cmp eax, dword [esi + 0x28]
+jl short loc_0042c990 ; jl 0x42c990
+mov edx, ebp
+shl edx, 2
+sub edx, ebp
+shl edx, 5
+mov eax, ebx
+fld dword [edx + eax*8 + ref_004971a4] ; fld dword [edx + eax*8 + 0x4971a4]
+fmul qword [ref_0046420c] ; fmul qword [0x46420c]
+shl eax, 3
+add eax, ebx
+fld dword [eax*4 + ref_00496994] ; fld dword [eax*4 + 0x496994]
+fcompp
+fnstsw ax
+sahf
+jbe short loc_0042c990 ; jbe 0x42c990
+xor edx, edx
+mov dl, byte [esi + 0x18]
+lea eax, [ebp + 1]
+cmp edx, eax
+je short loc_0042c990 ; je 0x42c990
+cmp ecx, 8
+jle short loc_0042c990 ; jle 0x42c990
+cmp ecx, 0xf
+jge short loc_0042c990 ; jge 0x42c990
+add dword [esp + ebx*4 + 0x80], 2
+
+loc_0042c990:
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov dword [esp + 0xf8], eax
+fild dword [esp + 0xf8]
+fcomp dword [esp + 0xd4]
+fnstsw ax
+sahf
+jb short loc_0042ca26 ; jb 0x42ca26
+mov eax, ebx
+shl eax, 3
+lea edx, [ebx + eax]
+shl edx, 2
+fld dword [esp + 0xe0]
+fmul dword [ref_004641f4] ; fmul dword [0x4641f4]
+fcomp dword [edx + ref_00496994] ; fcomp dword [edx + 0x496994]
+fnstsw ax
+sahf
+ja short loc_0042ca26 ; ja 0x42ca26
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 5
+mov ecx, ebx
+fld dword [eax + ecx*8 + ref_004971a4] ; fld dword [eax + ecx*8 + 0x4971a4]
+fmul qword [ref_00464214] ; fmul qword [0x464214]
+fld dword [edx + ref_00496994] ; fld dword [edx + 0x496994]
+fcompp
+fnstsw ax
+sahf
+jbe short loc_0042ca26 ; jbe 0x42ca26
+fld dword [esp + 0xd8]
+fcomp qword [ref_0046421c] ; fcomp qword [0x46421c]
+fnstsw ax
+sahf
+jae short loc_0042ca26 ; jae 0x42ca26
+inc dword [esp + ebx*4 + 0x80]
+
+loc_0042ca26:
+mov dl, byte [esi + 0x18]
+test dl, dl
+je near loc_0042cad1 ; je 0x42cad1
+movzx edi, dl
+lea eax, [ebp + 1]
+cmp edi, eax
+je near loc_0042cad1 ; je 0x42cad1
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 5
+mov edx, ebx
+shl edx, 3
+mov dword [esp + 0xc4], edx
+lea ecx, [edx + eax]
+mov eax, ebx
+shl eax, 3
+lea edx, [ebx + eax]
+shl edx, 2
+xor eax, eax
+mov ax, word [edx + ref_00496988] ; mov ax, word [edx + 0x496988]
+mov dword [esp + 0xf8], eax
+mov eax, dword [ecx + ref_004971a0] ; mov eax, dword [ecx + 0x4971a0]
+add eax, dword [esp + 0xf8]
+add eax, dword [esi + 0x30]
+mov dword [esp + 0xf8], eax
+dec edi
+mov eax, edi
+shl eax, 2
+sub eax, edi
+shl eax, 5
+add eax, dword [esp + 0xc4]
+mov edi, dword [esp + 0xf8]
+cmp edi, dword [eax + ref_004971a0] ; cmp edi, dword [eax + 0x4971a0]
+jge short loc_0042cad1 ; jge 0x42cad1
+cmp dword [esi + 0x28], 0
+jg short loc_0042cad1 ; jg 0x42cad1
+fld dword [ecx + ref_004971a4] ; fld dword [ecx + 0x4971a4]
+fmul qword [ref_00464224] ; fmul qword [0x464224]
+fld dword [edx + ref_00496994] ; fld dword [edx + 0x496994]
+fcompp
+fnstsw ax
+sahf
+jb short loc_0042cad1 ; jb 0x42cad1
+inc dword [esp + ebx*4 + 0x80]
+
+loc_0042cad1:
+mov edx, ebx
+shl edx, 3
+add edx, ebx
+shl edx, 2
+fld dword [esp + 0xe0]
+fmul dword [ref_004641f4] ; fmul dword [0x4641f4]
+fcomp dword [edx + ref_00496994] ; fcomp dword [edx + 0x496994]
+fnstsw ax
+sahf
+jae short loc_0042cb3c ; jae 0x42cb3c
+mov ecx, ebp
+shl ecx, 2
+sub ecx, ebp
+shl ecx, 5
+mov eax, ebx
+fld dword [ecx + eax*8 + ref_004971a4] ; fld dword [ecx + eax*8 + 0x4971a4]
+fmul dword [ref_004641f4] ; fmul dword [0x4641f4]
+fcomp dword [edx + ref_00496994] ; fcomp dword [edx + 0x496994]
+fnstsw ax
+sahf
+jae short loc_0042cb3c ; jae 0x42cb3c
+fld dword [edx + ref_00496994] ; fld dword [edx + 0x496994]
+fcomp dword [edx + ref_00496990] ; fcomp dword [edx + 0x496990]
+fnstsw ax
+sahf
+jae short loc_0042cb3c ; jae 0x42cb3c
+xor edx, edx
+mov dl, byte [esi + 0x18]
+lea eax, [ebp + 1]
+cmp edx, eax
+je short loc_0042cb3c ; je 0x42cb3c
+add dword [esp + ebx*4 + 0x80], 2
+
+loc_0042cb3c:
+mov edx, ebx
+shl edx, 3
+add edx, ebx
+shl edx, 2
+fld dword [esp + 0xe0]
+fmul dword [ref_0046422c] ; fmul dword [0x46422c]
+fcomp dword [edx + ref_00496994] ; fcomp dword [edx + 0x496994]
+fnstsw ax
+sahf
+jae short loc_0042cba7 ; jae 0x42cba7
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 5
+mov ecx, ebx
+fld dword [eax + ecx*8 + ref_004971a4] ; fld dword [eax + ecx*8 + 0x4971a4]
+fmul dword [ref_0046422c] ; fmul dword [0x46422c]
+fcomp dword [edx + ref_00496994] ; fcomp dword [edx + 0x496994]
+fnstsw ax
+sahf
+jae short loc_0042cba7 ; jae 0x42cba7
+fld dword [edx + ref_00496994] ; fld dword [edx + 0x496994]
+fcomp dword [edx + ref_00496990] ; fcomp dword [edx + 0x496990]
+fnstsw ax
+sahf
+jae short loc_0042cba7 ; jae 0x42cba7
+xor eax, eax
+mov al, byte [esi + 0x18]
+lea edx, [ebp + 1]
+cmp eax, edx
+jne short loc_0042cba7 ; jne 0x42cba7
+add dword [esp + ebx*4 + 0x80], 2
+
+loc_0042cba7:
+cmp dword [esp + 0xd0], 0
+je near loc_0042cf4d ; je 0x42cf4d
+inc dword [esp + ebx*4 + 0x80]
+jmp near loc_0042cf4d ; jmp 0x42cf4d
+
+loc_0042cbc1:
+fld dword [esi + ref_00496994] ; fld dword [esi + 0x496994]
+fdiv dword [edi + ref_004971a4] ; fdiv dword [edi + 0x4971a4]
+fstp dword [esp + 0xe4]
+xor edx, edx
+mov dword [esp + 0xe8], 0x461c4000
+jmp short loc_0042cbec ; jmp 0x42cbec
+
+loc_0042cbe3:
+inc edx
+cmp edx, 0x90
+jge short loc_0042cc2a ; jge 0x42cc2a
+
+loc_0042cbec:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 6
+mov ecx, edx
+shl ecx, 2
+add ecx, eax
+test dword [ecx + ref_00497328], 0x7fffffff ; test dword [ecx + 0x497328], 0x7fffffff
+je short loc_0042cbe3 ; je 0x42cbe3
+fld dword [esp + 0xe8]
+fcomp dword [ecx + ref_00497328] ; fcomp dword [ecx + 0x497328]
+fnstsw ax
+sahf
+jbe short loc_0042cbe3 ; jbe 0x42cbe3
+mov eax, dword [ecx + ref_00497328] ; mov eax, dword [ecx + 0x497328]
+mov dword [esp + 0xe8], eax
+jmp short loc_0042cbe3 ; jmp 0x42cbe3
+
+loc_0042cc2a:
+mov edx, dword [ref_00499100] ; mov edx, dword [0x499100]
+sub edx, 0x18
+test edx, edx
+jge short loc_0042cc3d ; jge 0x42cc3d
+add edx, 0x90
+
+loc_0042cc3d:
+xor ecx, ecx
+mov dword [esp + 0xec], ecx
+mov dword [esp + 0xf4], ecx
+jmp short loc_0042cc56 ; jmp 0x42cc56
+
+loc_0042cc4f:
+inc ecx
+inc edx
+cmp ecx, 0x18
+jge short loc_0042cc9a ; jge 0x42cc9a
+
+loc_0042cc56:
+cmp edx, 0x90
+jne short loc_0042cc60 ; jne 0x42cc60
+xor edx, edx
+
+loc_0042cc60:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 6
+mov esi, edx
+shl esi, 2
+add eax, esi
+test dword [eax + ref_00497328], 0x7fffffff ; test dword [eax + 0x497328], 0x7fffffff
+je short loc_0042cc4f ; je 0x42cc4f
+fld dword [esp + 0xec]
+fadd dword [eax + ref_00497328] ; fadd dword [eax + 0x497328]
+fstp dword [esp + 0xec]
+inc dword [esp + 0xf4]
+jmp short loc_0042cc4f ; jmp 0x42cc4f
+
+loc_0042cc9a:
+mov eax, dword [esp + 0xf4]
+test eax, eax
+je short loc_0042ccc1 ; je 0x42ccc1
+mov dword [esp + 0xf8], eax
+fild dword [esp + 0xf8]
+fdivr dword [esp + 0xec]
+fstp dword [esp + 0xec]
+
+loc_0042ccc1:
+mov edx, dword [ref_00499100] ; mov edx, dword [0x499100]
+sub edx, 6
+test edx, edx
+jge short loc_0042ccd4 ; jge 0x42ccd4
+add edx, 0x90
+
+loc_0042ccd4:
+xor ecx, ecx
+mov dword [esp + 0xf0], ecx
+mov dword [esp + 0xf4], ecx
+jmp short loc_0042cced ; jmp 0x42cced
+
+loc_0042cce6:
+inc ecx
+inc edx
+cmp ecx, 6
+jge short loc_0042cd32 ; jge 0x42cd32
+
+loc_0042cced:
+cmp edx, 0x90
+jne short loc_0042ccf7 ; jne 0x42ccf7
+xor edx, edx
+
+loc_0042ccf7:
+mov eax, ebx
+shl eax, 3
+lea esi, [ebx + eax]
+shl esi, 6
+mov eax, edx
+shl eax, 2
+add eax, esi
+test dword [eax + ref_00497328], 0x7fffffff ; test dword [eax + 0x497328], 0x7fffffff
+je short loc_0042cce6 ; je 0x42cce6
+fld dword [esp + 0xf0]
+fadd dword [eax + ref_00497328] ; fadd dword [eax + 0x497328]
+fstp dword [esp + 0xf0]
+inc dword [esp + 0xf4]
+jmp short loc_0042cce6 ; jmp 0x42cce6
+
+loc_0042cd32:
+mov eax, dword [esp + 0xf4]
+test eax, eax
+je short loc_0042cd59 ; je 0x42cd59
+mov dword [esp + 0xf8], eax
+fild dword [esp + 0xf8]
+fdivr dword [esp + 0xf0]
+fstp dword [esp + 0xf0]
+
+loc_0042cd59:
+fld dword [esp + 0xe4]
+fcomp qword [ref_004641dc] ; fcomp qword [0x4641dc]
+fnstsw ax
+sahf
+jbe short loc_0042cd87 ; jbe 0x42cd87
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+cmp dword [eax*4 + ref_0049699c], 0x3f800000 ; cmp dword [eax*4 + 0x49699c], 0x3f800000
+jge short loc_0042cd87 ; jge 0x42cd87
+add dword [esp + ebx*4 + 0x80], 2
+
+loc_0042cd87:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+fld dword [esp + 0xe8]
+fmul dword [ref_004641e4] ; fmul dword [0x4641e4]
+fstp dword [esp + 0xdc]
+fld dword [eax*4 + ref_00496994] ; fld dword [eax*4 + 0x496994]
+fcomp dword [esp + 0xdc]
+fnstsw ax
+sahf
+jbe short loc_0042cde4 ; jbe 0x42cde4
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 5
+mov edx, ebx
+fld dword [eax + edx*8 + ref_004971a4] ; fld dword [eax + edx*8 + 0x4971a4]
+fmul qword [ref_004641ec] ; fmul qword [0x4641ec]
+fld dword [esp + 0xdc]
+fcompp
+fnstsw ax
+sahf
+jbe short loc_0042cde4 ; jbe 0x42cde4
+add dword [esp + ebx*4 + 0x80], 2
+
+loc_0042cde4:
+fld dword [esp + 0xec]
+fcomp dword [esp + 0xf0]
+fnstsw ax
+sahf
+jbe short loc_0042ce19 ; jbe 0x42ce19
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+fld dword [eax*4 + ref_00496994] ; fld dword [eax*4 + 0x496994]
+fcomp dword [eax*4 + ref_00496990] ; fcomp dword [eax*4 + 0x496990]
+fnstsw ax
+sahf
+jae short loc_0042ce19 ; jae 0x42ce19
+add dword [esp + ebx*4 + 0x80], 2
+
+loc_0042ce19:
+fld dword [esp + 0xe4]
+fcomp dword [ref_004641f4] ; fcomp dword [0x4641f4]
+fnstsw ax
+sahf
+jb short loc_0042ce5c ; jb 0x42ce5c
+fld dword [esp + 0xe4]
+fadd dword [ref_004641f8] ; fadd dword [0x4641f8]
+fdiv qword [ref_004641fc] ; fdiv qword [0x4641fc]
+fld1
+faddp st1 ; faddp st(1)
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xf4]
+mov eax, dword [esp + 0xf4]
+add dword [esp + ebx*4 + 0x80], eax
+
+loc_0042ce5c:
+imul eax, ebp, 0x68
+mov ecx, dword [eax + ref_00496b84] ; mov ecx, dword [eax + 0x496b84]
+add ecx, dword [eax + ref_00496b88] ; add ecx, dword [eax + 0x496b88]
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp ecx, eax
+jge short loc_0042cec9 ; jge 0x42cec9
+fldz
+fcomp dword [esp + 0xe4]
+fnstsw ax
+sahf
+jae short loc_0042cec9 ; jae 0x42cec9
+fld dword [esp + 0xe4]
+fdiv qword [ref_004641fc] ; fdiv qword [0x4641fc]
+fld1
+faddp st1 ; faddp st(1)
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xf4]
+mov eax, dword [esp + 0xf4]
+add dword [esp + ebx*4 + 0x80], eax
+
+loc_0042cec9:
+imul eax, ebp, 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+mov ecx, dword [eax + ref_00496b88] ; mov ecx, dword [eax + 0x496b88]
+add ecx, edx
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 7
+mov edx, eax
+shl eax, 2
+add eax, edx
+cmp ecx, eax
+jge short loc_0042cf33 ; jge 0x42cf33
+fldz
+fcomp dword [esp + 0xe4]
+fnstsw ax
+sahf
+jae short loc_0042cf33 ; jae 0x42cf33
+fld dword [esp + 0xe4]
+fdiv qword [ref_004641fc] ; fdiv qword [0x4641fc]
+fld1
+faddp st1 ; faddp st(1)
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xf4]
+mov eax, dword [esp + 0xf4]
+add dword [esp + ebx*4 + 0x80], eax
+
+loc_0042cf33:
+cmp dword [esp + 0xd0], 0
+je short loc_0042cf4d ; je 0x42cf4d
+mov edx, dword [esp + ebx*4 + 0x80]
+add edx, edx
+mov dword [esp + ebx*4 + 0x80], edx
+
+loc_0042cf4d:
+mov eax, ebx
+shl eax, 2
+mov edx, dword [esp + 0xcc]
+mov esi, dword [esp + eax + 0x80]
+cmp edx, esi
+jge short loc_0042cf72 ; jge 0x42cf72
+mov dword [esp + 0xcc], esi
+mov dword [esp + 0xc8], ebx
+
+loc_0042cf72:
+inc ebx
+cmp ebx, 0xc
+jge near loc_0042d00b ; jge 0x42d00b
+
+loc_0042cf7c:
+xor edx, edx
+mov dword [esp + ebx*4 + 0x80], edx
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 5
+mov edi, ebx
+shl edi, 3
+add edi, eax
+cmp dword [edi + ref_004971a0], 0 ; cmp dword [edi + 0x4971a0], 0
+je short loc_0042cf4d ; je 0x42cf4d
+mov esi, ebx
+shl esi, 3
+add esi, ebx
+shl esi, 2
+cmp byte [esi + ref_00496986], 0 ; cmp byte [esi + 0x496986], 0
+jne short loc_0042cf4d ; jne 0x42cf4d
+push ebx
+call fcn_004295ea ; call 0x4295ea
+add esp, 4
+cmp eax, 3
+je short loc_0042cf4d ; je 0x42cf4d
+mov dx, word [esi + ref_00496984] ; mov dx, word [esi + 0x496984]
+test dx, dx
+je near loc_0042cbc1 ; je 0x42cbc1
+xor eax, eax
+mov ax, dx
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e7c] ; mov esi, dword [0x498e7c]
+add esi, eax
+mov edi, dword [ref_00499084] ; mov edi, dword [0x499084]
+test edi, edi
+je near loc_0042c844 ; je 0x42c844
+mov edx, dword [esi + 0x2c]
+mov eax, edx
+sar edx, 0x1f
+idiv edi
+mov dword [esp + 0xf8], eax
+fild dword [esp + 0xf8]
+jmp near loc_0042c847 ; jmp 0x42c847
+
+loc_0042d00b:
+mov edi, dword [esp + 0xc8]
+cmp edi, 0xffffffff
+je near loc_0042d09a ; je 0x42d09a
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+shl eax, 5
+mov ebx, edi
+mov ebx, dword [eax + ebx*8 + ref_004971a0] ; mov ebx, dword [eax + ebx*8 + 0x4971a0]
+push 1
+push ebx
+push edi
+push ebp
+call fcn_00428e23 ; call 0x428e23
+add esp, 0x10
+push ebp
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+mov eax, edi
+shl eax, 3
+add eax, edi
+mov edx, dword [eax*4 + ref_00496980] ; mov edx, dword [eax*4 + 0x496980]
+push edx
+lea eax, [esp + 0xb4]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+push ebx
+lea eax, [esp + 0xb4]
+push eax
+imul eax, ebp, 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+push ref_004641cc ; push 0x4641cc
+lea eax, [esp + 0x10]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x14
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_0042d09a:
+cmp dword [esp + 0xd0], 0
+je short loc_0042d0e4 ; je 0x42d0e4
+cmp dword [esp + 0xc8], 0xffffffff
+je short loc_0042d0e4 ; je 0x42d0e4
+imul eax, ebp, 0x68
+mov edx, dword [eax + ref_00496b88] ; mov edx, dword [eax + 0x496b88]
+mov edi, dword [eax + ref_00496b84] ; mov edi, dword [eax + 0x496b84]
+add edx, edi
+mov dword [esp + 0xf8], edx
+fild dword [esp + 0xf8]
+fild dword [eax + ref_00496b8c] ; fild dword [eax + 0x496b8c]
+fmul qword [ref_00464234] ; fmul qword [0x464234]
+fcompp
+fnstsw ax
+sahf
+ja near loc_0042c829 ; ja 0x42c829
+
+loc_0042d0e4:
+add esp, 0xfc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0042d0ef:
+push ebx
+sub esp, 4
+xor eax, eax
+mov edx, dword [esp + 0xc]
+mov dl, byte [edx]
+mov byte [esp], dl
+mov edx, dword [esp + 0x10]
+mov dl, byte [edx]
+xor ecx, ecx
+mov cl, byte [esp]
+xor ebx, ebx
+mov bl, dl
+mov cl, byte [ecx*8 + ref_0047fdf7] ; mov cl, byte [ecx*8 + 0x47fdf7]
+cmp cl, byte [ebx*8 + ref_0047fdf7] ; cmp cl, byte [ebx*8 + 0x47fdf7]
+jbe short loc_0042d122 ; jbe 0x42d122
+mov eax, 0xffffffff
+
+loc_0042d122:
+xor ebx, ebx
+mov bl, byte [esp]
+xor ecx, ecx
+mov cl, dl
+mov dl, byte [ebx*8 + ref_0047fdf7] ; mov dl, byte [ebx*8 + 0x47fdf7]
+cmp dl, byte [ecx*8 + ref_0047fdf7] ; cmp dl, byte [ecx*8 + 0x47fdf7]
+jae short loc_0042d140 ; jae 0x42d140
+mov eax, 1
+
+loc_0042d140:
+add esp, 4
+pop ebx
+ret
+
+fcn_0042d145:
+sub esp, 0x10
+mov edx, dword [esp + 0x18]
+push edx
+mov ecx, dword [esp + 0x18]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul ecx, dword [esp + 0x14], 0x68
+mov edx, dword [esp + 0x18]
+xor eax, eax
+mov al, byte [edx*8 + ref_0047fdef] ; mov al, byte [edx*8 + 0x47fdef]
+mov dword [esp + 0xc], eax
+fild word [esp + 0xc]
+fmul qword [ref_00464364] ; fmul qword [0x464364]
+xor eax, eax
+mov ax, word [ecx + ref_00496b98] ; mov ax, word [ecx + 0x496b98]
+mov dword [esp + 8], eax
+fild dword [esp + 8]
+fstp qword [esp]
+fadd qword [esp]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 8]
+mov eax, dword [esp + 8]
+mov word [ecx + ref_00496b98], ax ; mov word [ecx + 0x496b98], ax
+xor eax, eax
+mov al, byte [edx*8 + ref_0047fdef] ; mov al, byte [edx*8 + 0x47fdef]
+add esp, 0x10
+ret
+
+fcn_0042d1b2:
+push ebx
+push esi
+sub esp, 0xc
+mov ecx, dword [esp + 0x1c]
+mov eax, ecx
+xor ebx, ebx
+mov bl, byte [ecx*8 + ref_0047fedf] ; mov bl, byte [ecx*8 + 0x47fedf]
+imul ebx, dword [esp + 0x20]
+mov esi, dword [esp + 0x18]
+imul edx, esi, 0x68
+mov dword [esp + 8], ebx
+fild dword [esp + 8]
+fmul qword [ref_0046436c] ; fmul qword [0x46436c]
+xor eax, ecx
+mov ax, word [edx + ref_00496b98] ; mov ax, word [edx + 0x496b98]
+mov dword [esp + 8], eax
+fild dword [esp + 8]
+fstp qword [esp]
+fadd qword [esp]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 8]
+mov eax, dword [esp + 8]
+mov word [edx + ref_00496b98], ax ; mov word [edx + 0x496b98], ax
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov dl, byte [esp + 0x20]
+sub byte [ecx + eax + ref_0049915b], dl ; sub byte [ecx + eax + 0x49915b], dl
+cmp ecx, 8
+jg short loc_0042d22f ; jg 0x42d22f
+add byte [ecx + ref_0049731f], dl ; add byte [ecx + 0x49731f], dl
+
+loc_0042d22f:
+mov eax, ebx
+add esp, 0xc
+pop esi
+pop ebx
+ret
+
+fcn_0042d237:
+push ebx
+mov edx, dword [esp + 0xc]
+push edx
+mov ecx, dword [esp + 0xc]
+push ecx
+call fcn_004412e4 ; call 0x4412e4
+add esp, 8
+imul edx, dword [esp + 8], 0x68
+mov eax, dword [esp + 0xc]
+xor bh, bh
+mov bl, byte [eax*8 + ref_0047fdef] ; mov bl, byte [eax*8 + 0x47fdef]
+
+loc_0042d25c:
+sub word [edx + ref_00496b98], bx ; sub word [edx + 0x496b98], bx
+xor edx, edx
+mov dl, bl
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, eax
+pop ebx
+ret
+
+fcn_0042d272:
+push ebx
+mov edx, dword [esp + 0xc]
+push edx
+mov ecx, dword [esp + 0xc]
+push ecx
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+imul edx, dword [esp + 8], 0x68
+mov eax, dword [esp + 0xc]
+xor bh, bh
+mov bl, byte [eax*8 + ref_0047fedf] ; mov bl, byte [eax*8 + 0x47fedf]
+jmp short loc_0042d25c ; jmp 0x42d25c
+
+fcn_0042d299:
+push ebx
+push esi
+push edi
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [ref_0048c310] ; mov edx, dword [0x48c310]
+test edx, edx
+jne short loc_0042d2f2 ; jne 0x42d2f2
+push edx
+push edx
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0xf0
+push 0x140
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x24
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+jmp short loc_0042d32c ; jmp 0x42d32c
+
+loc_0042d2f2:
+push 0
+push 0
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xcc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0xf0
+push 0x140
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xe4
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+
+loc_0042d32c:
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0x101010
+push 0
+push 0xffffffffffffffec
+push 0xa
+push 0x78
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc0
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0042d36a:
+db 0x90
+
+ref_0042d36b: ; may contain a jump table
+dd loc_0042d8ab
+dd loc_0042d8ee
+dd loc_0042d9a3
+dd loc_0042da31
+dd loc_0042daf1
+
+fcn_0042d37f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x60
+mov edi, dword [esp + 0x74]
+mov eax, dword [esp + 0x78]
+mov edx, dword [esp + 0x80]
+cmp eax, 0x205
+jb short loc_0042d3e7 ; jb 0x42d3e7
+jbe near loc_0042e888 ; jbe 0x42e888
+cmp eax, 0x40c
+jb short loc_0042d3ca ; jb 0x42d3ca
+jbe near loc_0042d5fe ; jbe 0x42d5fe
+cmp eax, 0x40d
+jbe near loc_0042d821 ; jbe 0x42d821
+cmp eax, 0x40e
+je near loc_0042d499 ; je 0x42d499
+jmp near loc_0042e91a ; jmp 0x42e91a
+
+loc_0042d3ca:
+cmp eax, 0x401
+jb near loc_0042e91a ; jb 0x42e91a
+jbe short loc_0042d423 ; jbe 0x42d423
+cmp eax, 0x405
+je near loc_0042d56d ; je 0x42d56d
+jmp near loc_0042e91a ; jmp 0x42e91a
+
+loc_0042d3e7:
+cmp eax, 0x113
+jb short loc_0042d415 ; jb 0x42d415
+jbe near loc_0042d847 ; jbe 0x42d847
+cmp eax, 0x201
+jb near loc_0042e91a ; jb 0x42e91a
+jbe near loc_0042de09 ; jbe 0x42de09
+cmp eax, 0x202
+je near loc_0042e62b ; je 0x42e62b
+jmp near loc_0042e91a ; jmp 0x42e91a
+
+loc_0042d415:
+cmp eax, 0xf
+je near loc_0042e8bc ; je 0x42e8bc
+jmp near loc_0042e91a ; jmp 0x42e91a
+
+loc_0042d423:
+xor ebp, ebp
+mov dword [ref_0048c310], ebp ; mov dword [0x48c310], ebp
+mov dword [ref_0048c314], ebp ; mov dword [0x48c314], ebp
+xor bl, bl
+mov byte [ref_0048c347], bl ; mov byte [0x48c347], bl
+xor bh, bh
+mov byte [ref_0048c348], bh ; mov byte [0x48c348], bh
+mov dword [ref_0048c343], ebp ; mov dword [0x48c343], ebp
+mov al, byte [ref_00497159] ; mov al, byte [0x497159]
+xor al, 1
+mov byte [ref_0048c349], al ; mov byte [0x48c349], al
+mov byte [ref_0048c34a], al ; mov byte [0x48c34a], al
+call fcn_0042d299 ; call 0x42d299
+push ebp
+push 0x32
+mov ecx, dword [ref_0046cad8] ; mov ecx, dword [0x46cad8]
+push ecx
+push edi
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c32b], eax ; mov dword [0x48c32b], eax
+push ebp
+push ebp
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push ebp
+push ebp
+push 0x405
+
+loc_0042d485:
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0042d48d:
+xor eax, eax
+
+loc_0042d48f:
+add esp, 0x60
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_0042d499:
+mov dword [esp + 0x40], 0xe6
+mov dword [esp + 0x44], 0xf6
+mov dword [esp + 0x48], 0x140
+mov dword [esp + 0x4c], 0x11e
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0x44]
+push ebp
+mov eax, dword [esp + 0x44]
+push eax
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x1c8
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0xa
+lea eax, [esp + 0x54]
+push eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ax, word [eax + ref_00496b98] ; mov ax, word [eax + 0x496b98]
+and eax, 0xffff
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 1
+push 0x101
+push 0x136
+lea eax, [esp + 0x5c]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+
+loc_0042d560:
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042d56d:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+cmp byte [eax + ref_0048c349], 0 ; cmp byte [eax + 0x48c349], 0
+jne short loc_0042d5ba ; jne 0x42d5ba
+xor edi, edi
+mov dword [ref_0048c318], edi ; mov dword [0x48c318], edi
+mov dword [ref_0048c333], 0xffffff22 ; mov dword [0x48c333], 0xffffff22
+mov dword [ref_0048c337], 0x280 ; mov dword [0x48c337], 0x280
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov ecx, dword [eax*8 + ref_004755c0] ; mov ecx, dword [eax*8 + 0x4755c0]
+push ecx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+jmp short loc_0042d5d8 ; jmp 0x42d5d8
+
+loc_0042d5ba:
+mov dword [ref_0048c318], 1 ; mov dword [0x48c318], 1
+mov dword [ref_0048c333], 5 ; mov dword [0x48c333], 5
+mov dword [ref_0048c337], 0xe3 ; mov dword [0x48c337], 0xe3
+
+loc_0042d5d8:
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+add eax, 3
+mov dword [ref_0048c32f], eax ; mov dword [0x48c32f], eax
+mov dword [ref_0048c33b], 0x28 ; mov dword [0x48c33b], 0x28
+mov dword [ref_0048c33f], 0x50 ; mov dword [0x48c33f], 0x50
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042d5fe:
+mov eax, dword [ref_0048c33b] ; mov eax, dword [0x48c33b]
+mov esi, dword [ref_0048c333] ; mov esi, dword [0x48c333]
+add esi, eax
+mov dword [ref_0048c333], esi ; mov dword [0x48c333], esi
+mov eax, dword [ref_0048c33f] ; mov eax, dword [0x48c33f]
+sub dword [ref_0048c337], eax ; sub dword [0x48c337], eax
+sub dword [ref_0048c33b], 3 ; sub dword [0x48c33b], 3
+sub dword [ref_0048c33f], 7 ; sub dword [0x48c33f], 7
+cmp esi, 5
+jle short loc_0042d639 ; jle 0x42d639
+mov dword [ref_0048c333], 5 ; mov dword [0x48c333], 5
+
+loc_0042d639:
+cmp dword [ref_0048c337], 0xe3 ; cmp dword [0x48c337], 0xe3
+jge short loc_0042d64f ; jge 0x42d64f
+mov dword [ref_0048c337], 0xe3 ; mov dword [0x48c337], 0xe3
+
+loc_0042d64f:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048c333] ; mov eax, dword [0x48c333]
+cmp eax, 5
+jne near loc_0042d75e ; jne 0x42d75e
+cmp dword [ref_0048c337], 0xe3 ; cmp dword [0x48c337], 0xe3
+jne near loc_0042d75e ; jne 0x42d75e
+push 0x1d6
+push eax
+push 0xa
+push 0
+push 0xa
+push 0
+mov ecx, dword [ref_0048c308] ; mov ecx, dword [0x48c308]
+mov edx, dword [ref_0048c310] ; mov edx, dword [0x48c310]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 6
+add ecx, 0xc
+add eax, ecx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0xb6
+push 0xa
+push 0x124
+push 0x276
+push 0x124
+push 0x276
+mov ecx, dword [ref_0048c308] ; mov ecx, dword [0x48c308]
+mov edx, dword [ref_0048c310] ; mov edx, dword [0x48c310]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 6
+add ecx, 0xc
+add eax, ecx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0xd
+push 0x21e
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+shl eax, 4
+lea edx, [eax + 0xd]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0xf6
+
+fcn_0042d73f:
+push 0x22c
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x1b0
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0042d75e:
+push 0xa
+mov eax, dword [ref_0048c333] ; mov eax, dword [0x48c333]
+push eax
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+shl eax, 4
+lea edx, [eax + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x125
+mov ecx, dword [ref_0048c337] ; mov ecx, dword [0x48c337]
+push ecx
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+mov ebx, dword [eax*4 + ref_0048c300] ; mov ebx, dword [eax*4 + 0x48c300]
+push ebx
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+cmp dword [ref_0048c333], 5 ; cmp dword [0x48c333], 5
+jne near loc_0042d48d ; jne 0x42d48d
+cmp dword [ref_0048c337], 0xe3 ; cmp dword [0x48c337], 0xe3
+jne near loc_0042d48d ; jne 0x42d48d
+mov dword [ref_0048c318], 2 ; mov dword [0x48c318], 2
+push 0
+push 0
+push 0x40d
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+push 0
+push 0
+push 0x40e
+jmp near loc_0042d485 ; jmp 0x42d485
+
+loc_0042d821:
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+cmp byte [eax + ref_0048c349], 0 ; cmp byte [eax + 0x48c349], 0
+jne near loc_0042d48d ; jne 0x42d48d
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov ebx, dword [eax*8 + ref_004755c4] ; mov ebx, dword [eax*8 + 0x4755c4]
+
+loc_0042d841:
+push ebx
+jmp near loc_0042e459 ; jmp 0x42e459
+
+loc_0042d847:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_0042d48d ; je 0x42d48d
+mov eax, dword [esp + 0x7c]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_0042d48d ; jne 0x42d48d
+cmp dword [ref_0048c318], 1 ; cmp dword [0x48c318], 1
+jne short loc_0042d87e ; jne 0x42d87e
+push 0
+push 0
+push 0x40c
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0042d87e:
+mov ch, byte [ref_0048c348] ; mov ch, byte [0x48c348]
+xor ch, 1
+mov byte [ref_0048c348], ch ; mov byte [0x48c348], ch
+je near loc_0042d48d ; je 0x42d48d
+mov eax, dword [ref_0048c32f] ; mov eax, dword [0x48c32f]
+and eax, 0xf
+cmp eax, 4
+ja near loc_0042dbac ; ja 0x42dbac
+jmp dword [eax*4 + ref_0042d36b] ; ujmp: jmp dword [eax*4 + 0x42d36b]
+
+loc_0042d8ab:
+call fcn_00456f2d ; call 0x456f2d
+mov esi, eax
+sar esi, 0xa
+test esi, esi
+jne short loc_0042d8d3 ; jne 0x42d8d3
+test byte [ref_0048c330], 0xf ; test byte [0x48c330], 0xf
+je short loc_0042d8d3 ; je 0x42d8d3
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+inc eax
+or dword [ref_0048c32f], eax ; or dword [0x48c32f], eax
+jmp near loc_0042dbac ; jmp 0x42dbac
+
+loc_0042d8d3:
+cmp esi, 1
+jne near loc_0042dbac ; jne 0x42dbac
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+add eax, 3
+mov dword [ref_0048c32f], eax ; mov dword [0x48c32f], eax
+jmp near loc_0042dbac ; jmp 0x42dbac
+
+loc_0042d8ee:
+mov esi, dword [ref_0048c32f] ; mov esi, dword [0x48c32f]
+and esi, 0xf0
+sar esi, 4
+cmp esi, 4
+jne short loc_0042d911 ; jne 0x42d911
+mov dword [ref_0048c32f], 0x200 ; mov dword [0x48c32f], 0x200
+jmp near loc_0042dbac ; jmp 0x42dbac
+
+loc_0042d911:
+mov dword [esp + 0x40], 0x195
+mov dword [esp + 0x44], 0x3c
+mov dword [esp + 0x48], 0x1c7
+mov dword [esp + 0x4c], 0x5d
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0x44]
+push ebp
+mov eax, dword [esp + 0x44]
+push eax
+xor edx, edx
+mov dl, byte [esi + ref_004755b8] ; mov dl, byte [esi + 0x4755b8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+
+loc_0042d977:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+add dword [ref_0048c32f], 0x10 ; add dword [0x48c32f], 0x10
+jmp near loc_0042dba5 ; jmp 0x42dba5
+
+loc_0042d9a3:
+mov esi, dword [ref_0048c32f] ; mov esi, dword [0x48c32f]
+and esi, 0xf0
+sar esi, 4
+cmp esi, 4
+jne short loc_0042d9c6 ; jne 0x42d9c6
+mov dword [ref_0048c32f], 0x100 ; mov dword [0x48c32f], 0x100
+jmp near loc_0042dbac ; jmp 0x42dbac
+
+loc_0042d9c6:
+mov dword [esp + 0x40], 0x1a1
+mov dword [esp + 0x44], 0x32
+mov dword [esp + 0x48], 0x1e7
+mov dword [esp + 0x4c], 0x5e
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp + 0x44]
+push edx
+mov ecx, dword [esp + 0x44]
+push ecx
+xor edx, edx
+mov dl, byte [esi + ref_004755bc] ; mov dl, byte [esi + 0x4755bc]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc
+add edx, eax
+push edx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+jmp near loc_0042d977 ; jmp 0x42d977
+
+loc_0042da31:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+shl eax, 2
+sub eax, edx
+sar eax, 0xf
+lea esi, [eax + 1]
+mov ebp, dword [ref_0048c32f] ; mov ebp, dword [0x48c32f]
+and ebp, 0xf00
+sar ebp, 8
+cmp esi, ebp
+je near loc_0042dbac ; je 0x42dbac
+mov dword [esp + 0x40], 0x195
+mov dword [esp + 0x44], 0x3c
+mov dword [esp + 0x48], 0x1c7
+mov dword [esp + 0x4c], 0x5d
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0x44]
+push ebx
+mov ebp, dword [esp + 0x44]
+push ebp
+lea edx, [esi + 3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+and word [ref_0048c32f], 0xf0f0 ; and word [0x48c32f], 0xf0f0
+shl esi, 8
+or dword [ref_0048c32f], esi ; or dword [0x48c32f], esi
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+jmp near loc_0042dba5 ; jmp 0x42dba5
+
+loc_0042daf1:
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+lea esi, [eax + 1]
+mov ebp, dword [ref_0048c32f] ; mov ebp, dword [0x48c32f]
+and ebp, 0xf00
+sar ebp, 8
+cmp esi, ebp
+je near loc_0042dbac ; je 0x42dbac
+mov dword [esp + 0x40], 0x1a1
+mov dword [esp + 0x44], 0x32
+mov dword [esp + 0x48], 0x1e7
+mov dword [esp + 0x4c], 0x5e
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x44]
+push eax
+mov edx, dword [esp + 0x44]
+push edx
+lea edx, [esi + 0x16]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c308] ; mov edx, dword [0x48c308]
+add edx, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+and word [ref_0048c32f], 0xf0f0 ; and word [0x48c32f], 0xf0f0
+shl esi, 8
+or dword [ref_0048c32f], esi ; or dword [0x48c32f], esi
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+
+loc_0042dba5:
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0042dbac:
+push 0
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_0042dc36 ; je 0x42dc36
+mov eax, dword [ref_0048c318] ; mov eax, dword [0x48c318]
+cmp eax, 2
+jb short loc_0042dbd1 ; jb 0x42dbd1
+jbe short loc_0042dbf0 ; jbe 0x42dbf0
+cmp eax, 4
+je short loc_0042dc0f ; je 0x42dc0f
+jmp short loc_0042dc36 ; jmp 0x42dc36
+
+loc_0042dbd1:
+test eax, eax
+jne short loc_0042dc36 ; jne 0x42dc36
+push eax
+push eax
+push 0x40c
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+mov dword [ref_0048c318], 1 ; mov dword [0x48c318], 1
+jmp short loc_0042dc36 ; jmp 0x42dc36
+
+loc_0042dbf0:
+mov dword [ref_0048c318], 3 ; mov dword [0x48c318], 3
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+mov byte [eax + ref_0048c349], 1 ; mov byte [eax + 0x48c349], 1
+push 1
+call fcn_00402460 ; call 0x402460
+jmp short loc_0042dc33 ; jmp 0x42dc33
+
+loc_0042dc0f:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebp, dword [ref_0048c32b] ; mov ebp, dword [0x48c32b]
+push ebp
+push edi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+mov eax, dword [ref_0048c343] ; mov eax, dword [0x48c343]
+push eax
+call fcn_00401966 ; call 0x401966
+
+loc_0042dc33:
+add esp, 4
+
+loc_0042dc36:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_0042dc4c ; jne 0x42dc4c
+cmp dword [ref_0048c314], 0 ; cmp dword [0x48c314], 0
+je near loc_0042d48d ; je 0x42d48d
+
+loc_0042dc4c:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, dword [ref_0048c314] ; mov esi, dword [0x48c314]
+test esi, esi
+je near loc_0042dd03 ; je 0x42dd03
+lea edx, [esi - 1]
+mov dword [ref_0048c314], edx ; mov dword [0x48c314], edx
+test edx, edx
+jne near loc_0042ddf4 ; jne 0x42ddf4
+cmp dword [ref_0048c310], 0 ; cmp dword [0x48c310], 0
+jne short loc_0042dcc0 ; jne 0x42dcc0
+mov ebx, 0x195
+mov dword [esp + 0x40], ebx
+mov esi, 0x5b
+mov dword [esp + 0x44], esi
+mov dword [esp + 0x48], 0x1c7
+mov dword [esp + 0x4c], 0x6e
+push esi
+push ebx
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x78
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+jmp short loc_0042dcf6 ; jmp 0x42dcf6
+
+loc_0042dcc0:
+mov esi, 0x1a1
+mov dword [esp + 0x40], esi
+mov ebp, 0x59
+mov dword [esp + 0x44], ebp
+mov dword [esp + 0x48], 0x1e7
+mov dword [esp + 0x4c], 0x6e
+push ebp
+push esi
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x138
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+
+loc_0042dcf6:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+jmp near loc_0042dde5 ; jmp 0x42dde5
+
+loc_0042dd03:
+call fcn_00456f2d ; call 0x456f2d
+mov esi, eax
+sar esi, 0xb
+cmp esi, 4
+jge near loc_0042ddf4 ; jge 0x42ddf4
+cmp dword [ref_0048c310], 0 ; cmp dword [0x48c310], 0
+jne short loc_0042dd6e ; jne 0x42dd6e
+mov ebp, 0x195
+mov dword [esp + 0x40], ebp
+mov eax, 0x5b
+mov dword [esp + 0x44], eax
+mov dword [esp + 0x48], 0x1c7
+mov dword [esp + 0x4c], 0x6e
+push eax
+push ebp
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+lea edx, [eax + 0xa]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+jmp short loc_0042ddbb ; jmp 0x42ddbb
+
+loc_0042dd6e:
+mov eax, 0x1a1
+mov dword [esp + 0x40], eax
+mov edx, 0x59
+mov dword [esp + 0x44], edx
+mov dword [esp + 0x48], 0x1e7
+mov dword [esp + 0x4c], 0x6e
+push edx
+push eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+lea edx, [eax + 0x1a]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+
+loc_0042ddbb:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+call fcn_00456f2d ; call 0x456f2d
+and eax, 7
+mov esi, dword [ref_0048c314] ; mov esi, dword [0x48c314]
+or esi, eax
+mov dword [ref_0048c314], esi ; mov dword [0x48c314], esi
+jne short loc_0042dde5 ; jne 0x42dde5
+mov dword [ref_0048c314], 1 ; mov dword [0x48c314], 1
+
+loc_0042dde5:
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0042ddf4:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042de09:
+cmp dword [ref_0048c318], 3 ; cmp dword [0x48c318], 3
+je short loc_0042de4c ; je 0x42de4c
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+cmp dword [ref_0048c318], 1 ; cmp dword [0x48c318], 1
+jg near loc_0042d48d ; jg 0x42d48d
+mov dword [ref_0048c318], 1 ; mov dword [0x48c318], 1
+mov dword [ref_0048c333], 5 ; mov dword [0x48c333], 5
+mov dword [ref_0048c337], 0xe3 ; mov dword [0x48c337], 0xe3
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042de4c:
+xor esi, esi
+mov si, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+movzx ebp, ax
+cmp esi, 0x21e
+jl near loc_0042df31 ; jl 0x42df31
+cmp esi, 0x273
+jg near loc_0042df31 ; jg 0x42df31
+cmp ebp, 0xd
+jl near loc_0042df31 ; jl 0x42df31
+cmp ebp, 0x62
+jg near loc_0042df31 ; jg 0x42df31
+mov dword [esp + 0x40], 0x21e
+mov dword [esp + 0x44], 0xd
+mov dword [esp + 0x48], 0x273
+mov dword [esp + 0x4c], 0x62
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+call dword [eax + 0x64] ; ucall
+mov ebx, dword [esp + 0x44]
+push ebx
+mov esi, dword [esp + 0x44]
+push esi
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+shl eax, 4
+lea edx, [eax + 0xe]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c347], 1 ; mov byte [0x48c347], 1
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042df31:
+cmp esi, 0x22c
+jl near loc_0042dfe6 ; jl 0x42dfe6
+cmp esi, 0x27c
+jg near loc_0042dfe6 ; jg 0x42dfe6
+cmp ebp, 0xf6
+jl near loc_0042dfe6 ; jl 0x42dfe6
+cmp ebp, 0x11e
+jg near loc_0042dfe6 ; jg 0x42dfe6
+mov dword [esp + 0x40], 0x22c
+mov dword [esp + 0x44], 0xf6
+mov dword [esp + 0x48], 0x27c
+mov dword [esp + 0x4c], 0x11e
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp + 0x44]
+push edx
+mov ecx, dword [esp + 0x44]
+push ecx
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x1bc
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c347], 2 ; mov byte [0x48c347], 2
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042dfe6:
+cmp esi, 0xe8
+jle near loc_0042e148 ; jle 0x42e148
+cmp esi, 0x278
+jge near loc_0042e148 ; jge 0x42e148
+cmp ebp, 0x12a
+jle near loc_0042e148 ; jle 0x42e148
+cmp ebp, 0x1d2
+jge near loc_0042e148 ; jge 0x42e148
+lea edx, [ebp - 0x12a]
+mov ebx, 0x38
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov edi, eax
+lea edx, [esi - 0xe8]
+mov ecx, 0x50
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov edx, eax
+mov ebx, edi
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+lea ebx, [eax + edx]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 4
+lea edx, [eax + 0xe9]
+mov dword [esp + 0x40], edx
+add eax, 0x137
+mov dword [esp + 0x48], eax
+shl edi, 3
+mov eax, edi
+shl eax, 3
+sub eax, edi
+lea edx, [eax + 0x12b]
+mov dword [esp + 0x44], edx
+add eax, 0x161
+mov dword [esp + 0x4c], eax
+cmp dword [ref_0048c310], 0 ; cmp dword [0x48c310], 0
+jne short loc_0042e100 ; jne 0x42e100
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add ebx, eax
+mov dl, byte [ebx + ref_00499120] ; mov dl, byte [ebx + 0x499120]
+test dl, dl
+je near loc_0042d48d ; je 0x42d48d
+xor eax, eax
+mov al, dl
+push eax
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0042d145 ; call 0x42d145
+add esp, 8
+add dword [ref_0048c343], eax ; add dword [0x48c343], eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+mov edx, dword [ref_0048c30c] ; mov edx, dword [0x48c30c]
+push edx
+mov ecx, dword [ref_0048c300] ; mov ecx, dword [0x48c300]
+push ecx
+call fcn_00441b0a ; call 0x441b0a
+
+loc_0042e0e4:
+add esp, 0xc
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+add esp, 4
+mov byte [ref_0048c347], 3 ; mov byte [0x48c347], 3
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042e100:
+cmp byte [ebx + ref_0048c548], 0 ; cmp byte [ebx + 0x48c548], 0
+je near loc_0042d48d ; je 0x42d48d
+push 1
+xor eax, eax
+mov al, byte [ebx + ref_0048c548] ; mov al, byte [ebx + 0x48c548]
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0042d1b2 ; call 0x42d1b2
+add esp, 0xc
+add dword [ref_0048c343], eax ; add dword [0x48c343], eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+mov ebx, dword [ref_0048c30c] ; mov ebx, dword [0x48c30c]
+push ebx
+mov esi, dword [ref_0048c304] ; mov esi, dword [0x48c304]
+push esi
+call fcn_00447c6e ; call 0x447c6e
+jmp short loc_0042e0e4 ; jmp 0x42e0e4
+
+loc_0042e148:
+cmp dword [ref_0048c310], 0 ; cmp dword [0x48c310], 0
+jne near loc_0042e39c ; jne 0x42e39c
+cmp esi, 0xe
+jl near loc_0042e39c ; jl 0x42e39c
+cmp esi, 0xd7
+jg near loc_0042e39c ; jg 0x42e39c
+cmp ebp, 0x51
+jl near loc_0042e39c ; jl 0x42e39c
+cmp ebp, 0x1b9
+jg near loc_0042e39c ; jg 0x42e39c
+lea edx, [ebp - 0x51]
+mov ebx, 0x18
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov ebx, eax
+cmp byte [eax + ref_0048c31c], 0 ; cmp byte [eax + 0x48c31c], 0
+je near loc_0042d48d ; je 0x42d48d
+xor eax, eax
+mov al, byte [ebx + ref_0048c31c] ; mov al, byte [ebx + 0x48c31c]
+xor edx, edx
+mov dl, byte [eax*8 + ref_0047fdef] ; mov dl, byte [eax*8 + 0x47fdef]
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+mov ax, word [eax + ref_00496b98] ; mov ax, word [eax + 0x496b98]
+and eax, 0xffff
+cmp eax, edx
+jge short loc_0042e1eb ; jge 0x42e1eb
+mov dword [ref_0048c318], 2 ; mov dword [0x48c318], 2
+mov edx, dword [ref_0048c310] ; mov edx, dword [0x48c310]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edi, dword [eax*8 + ref_004755c8] ; mov edi, dword [eax*8 + 0x4755c8]
+push edi
+jmp near loc_0042e459 ; jmp 0x42e459
+
+loc_0042e1eb:
+push ecx
+call fcn_00441262 ; call 0x441262
+add esp, 4
+cmp eax, 0xf
+jge near loc_0042e43a ; jge 0x42e43a
+xor eax, eax
+mov al, byte [ebx + ref_0048c31c] ; mov al, byte [ebx + 0x48c31c]
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0042d237 ; call 0x42d237
+add esp, 8
+add dword [ref_0048c343], eax ; add dword [0x48c343], eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+mov eax, dword [ref_0048c30c] ; mov eax, dword [0x48c30c]
+push eax
+mov edx, dword [ref_0048c300] ; mov edx, dword [0x48c300]
+push edx
+call fcn_00441b0a ; call 0x441b0a
+add esp, 0xc
+push 0
+push 3
+push 0x101010
+push 0xa0a0a0
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov dword [esp + 0x40], 0xe
+mov edx, ebx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov dword [esp + 0x5c], eax
+add eax, 0x51
+mov dword [esp + 0x44], eax
+mov dword [esp + 0x48], 0xd7
+mov eax, dword [esp + 0x5c]
+add eax, 0x69
+mov dword [esp + 0x4c], eax
+push 2
+mov eax, dword [esp + 0x60]
+add eax, 0x53
+push eax
+push 0x5a
+xor eax, eax
+mov al, byte [ebx + ref_0048c31c] ; mov al, byte [ebx + 0x48c31c]
+mov edx, dword [eax*8 + ref_0047fdea] ; mov edx, dword [eax*8 + 0x47fdea]
+push edx
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ebx + ref_0048c31c] ; mov al, byte [ebx + 0x48c31c]
+mov al, byte [eax*8 + ref_0047fdef] ; mov al, byte [eax*8 + 0x47fdef]
+and eax, 0xff
+push eax
+push ref_00464374 ; push 0x464374
+lea eax, [esp + 0x58]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+mov eax, dword [esp + 0x60]
+add eax, 0x4b
+push eax
+push 0xc2
+lea eax, [esp + 0x5c]
+push eax
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x18
+push 0xc9
+mov eax, dword [esp + 0x4c]
+sub eax, 0xa
+push eax
+mov eax, dword [esp + 0x4c]
+sub eax, 5
+push eax
+mov ecx, dword [esp + 0x54]
+push ecx
+mov eax, dword [esp + 0x54]
+push eax
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x18
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x125
+push 0xe3
+mov ecx, dword [ref_0048c300] ; mov ecx, dword [0x48c300]
+push ecx
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor dl, dl
+mov byte [ebx + ref_0048c31c], dl ; mov byte [ebx + 0x48c31c], dl
+push 0
+push 0
+push 0x40e
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0042e39c:
+cmp dword [ref_0048c310], 0 ; cmp dword [0x48c310], 0
+je near loc_0042d48d ; je 0x42d48d
+cmp esi, 0xc
+jl near loc_0042d48d ; jl 0x42d48d
+cmp esi, 0xd5
+jg near loc_0042d48d ; jg 0x42d48d
+cmp ebp, 0x50
+jl near loc_0042d48d ; jl 0x42d48d
+cmp ebp, 0x1d0
+jg near loc_0042d48d ; jg 0x42d48d
+lea edx, [ebp - 0x50]
+mov ebx, 0x30
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov ebx, eax
+mov dh, byte [eax + ref_0048c2f8] ; mov dh, byte [eax + 0x48c2f8]
+test dh, dh
+je near loc_0042d48d ; je 0x42d48d
+movzx ebp, dh
+xor ecx, ecx
+mov cl, byte [ebp*8 + ref_0047fedf] ; mov cl, byte [ebp*8 + 0x47fedf]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ax, word [eax + ref_00496b98] ; mov ax, word [eax + 0x496b98]
+and eax, 0xffff
+mov edx, dword [ref_0048c310] ; mov edx, dword [0x48c310]
+mov esi, edx
+shl esi, 2
+sub esi, edx
+shl esi, 3
+cmp ecx, eax
+jle short loc_0042e466 ; jle 0x42e466
+mov dword [ref_0048c318], 2 ; mov dword [0x48c318], 2
+mov ebx, dword [esi + ref_004755c8] ; mov ebx, dword [esi + 0x4755c8]
+jmp near loc_0042d841 ; jmp 0x42d841
+
+loc_0042e43a:
+mov dword [ref_0048c318], 2 ; mov dword [0x48c318], 2
+mov edx, dword [ref_0048c310] ; mov edx, dword [0x48c310]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov ecx, dword [eax*8 + ref_004755cc] ; mov ecx, dword [eax*8 + 0x4755cc]
+
+loc_0042e458:
+push ecx
+
+loc_0042e459:
+call fcn_0044ecb6 ; call 0x44ecb6
+
+loc_0042e45e:
+add esp, 4
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042e466:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [eax + ebp + ref_0049915b], 9 ; cmp byte [eax + ebp + 0x49915b], 9
+jae near loc_0042e616 ; jae 0x42e616
+push ebp
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_0042d272 ; call 0x42d272
+add esp, 8
+add dword [ref_0048c343], eax ; add dword [0x48c343], eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+mov edx, dword [ref_0048c30c] ; mov edx, dword [0x48c30c]
+push edx
+mov ecx, dword [ref_0048c304] ; mov ecx, dword [0x48c304]
+push ecx
+call fcn_00447c6e ; call 0x447c6e
+add esp, 0xc
+push 0
+push 3
+push 0x101010
+push 0xa0a0a0
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov dword [esp + 0x40], 0xc
+mov edx, ebx
+mov esi, edx
+shl esi, 2
+sub esi, edx
+shl esi, 4
+lea eax, [esi + 0x50]
+mov dword [esp + 0x44], eax
+mov dword [esp + 0x48], 0xdc
+lea eax, [esi + 0x80]
+mov dword [esp + 0x4c], eax
+push 2
+lea eax, [esi + 0x5c]
+push eax
+push 0x5a
+xor eax, eax
+mov al, byte [ebx + ref_0048c2f8] ; mov al, byte [ebx + 0x48c2f8]
+mov edx, dword [eax*8 + ref_0047feda] ; mov edx, dword [eax*8 + 0x47feda]
+push edx
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xd8
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ebx + ref_0048c2f8] ; mov al, byte [ebx + 0x48c2f8]
+mov al, byte [eax*8 + ref_0047fedf] ; mov al, byte [eax*8 + 0x47fedf]
+and eax, 0xff
+push eax
+push ref_00464374 ; push 0x464374
+lea eax, [esp + 0x58]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+add esi, 0x54
+push esi
+push 0xc2
+lea eax, [esp + 0x5c]
+push eax
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xd8
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x30
+push 0xd0
+mov eax, dword [esp + 0x4c]
+sub eax, 0xa
+push eax
+mov eax, dword [esp + 0x4c]
+sub eax, 5
+push eax
+mov ecx, dword [esp + 0x54]
+push ecx
+mov esi, dword [esp + 0x54]
+push esi
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xd8
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x125
+push 0xe3
+mov eax, dword [ref_0048c304] ; mov eax, dword [0x48c304]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor ch, ch
+mov byte [ebx + ref_0048c2f8], ch ; mov byte [ebx + 0x48c2f8], ch
+push 0
+push 0
+push 0x40e
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+push 0
+push 0
+jmp near loc_0042d560 ; jmp 0x42d560
+
+loc_0042e616:
+mov dword [ref_0048c318], 2 ; mov dword [0x48c318], 2
+mov ecx, dword [esi + ref_004755cc] ; mov ecx, dword [esi + 0x4755cc]
+jmp near loc_0042e458 ; jmp 0x42e458
+
+loc_0042e62b:
+mov cl, byte [ref_0048c347] ; mov cl, byte [0x48c347]
+test cl, cl
+je near loc_0042d48d ; je 0x42d48d
+mov al, cl
+cmp cl, 2
+jb short loc_0042e650 ; jb 0x42e650
+jbe short loc_0042e686 ; jbe 0x42e686
+cmp cl, 3
+je near loc_0042e7ec ; je 0x42e7ec
+jmp near loc_0042e87c ; jmp 0x42e87c
+
+loc_0042e650:
+cmp cl, 1
+jne near loc_0042e87c ; jne 0x42e87c
+xor byte [ref_0048c310], cl ; xor byte [0x48c310], cl
+call fcn_0042d299 ; call 0x42d299
+push 0
+push 0
+push 0x405
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0042e87c ; jmp 0x42e87c
+
+loc_0042e686:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp dword [ref_0048c310], 0 ; cmp dword [0x48c310], 0
+jne short loc_0042e6c7 ; jne 0x42e6c7
+mov dword [esp + 0x40], 0x13c
+mov dword [esp + 0x44], 0x5e
+mov dword [esp + 0x48], 0x1a0
+mov dword [esp + 0x4c], 0xe3
+jmp short loc_0042e6e7 ; jmp 0x42e6e7
+
+loc_0042e6c7:
+mov dword [esp + 0x40], 0x136
+mov dword [esp + 0x44], 0x17
+mov dword [esp + 0x48], 0x19a
+mov dword [esp + 0x4c], 0xc1
+
+loc_0042e6e7:
+mov eax, dword [esp + 0x4c]
+mov ecx, dword [esp + 0x44]
+sub eax, ecx
+push eax
+mov eax, dword [esp + 0x4c]
+mov ebx, dword [esp + 0x44]
+sub eax, ebx
+push eax
+push ecx
+push ebx
+push ecx
+push ebx
+mov ecx, dword [ref_0048c308] ; mov ecx, dword [0x48c308]
+mov edx, dword [ref_0048c310] ; mov edx, dword [0x48c310]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 6
+add ecx, 0xc
+add eax, ecx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0xf0
+push 0x140
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+shl eax, 4
+lea edx, [eax + 3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c308] ; mov edx, dword [0x48c308]
+add edx, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov esi, 0x22c
+mov dword [esp + 0x40], esi
+mov ebp, 0xf6
+mov dword [esp + 0x44], ebp
+mov dword [esp + 0x48], 0x27c
+mov dword [esp + 0x4c], 0x11e
+push ebp
+push esi
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x1b0
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov edx, dword [ref_0048c310] ; mov edx, dword [0x48c310]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov ebx, dword [eax*8 + ref_004755d0] ; mov ebx, dword [eax*8 + 0x4755d0]
+push ebx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov dword [ref_0048c318], 4 ; mov dword [0x48c318], 4
+jmp near loc_0042e87c ; jmp 0x42e87c
+
+loc_0042e7ec:
+call fcn_00451d4e ; call 0x451d4e
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x125
+push 0xe3
+mov eax, dword [ref_0048c310] ; mov eax, dword [0x48c310]
+mov ebp, dword [eax*4 + ref_0048c300] ; mov ebp, dword [eax*4 + 0x48c300]
+push ebp
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x40], 0xe8
+mov dword [esp + 0x48], 0x278
+mov dword [esp + 0x44], 0x12a
+mov dword [esp + 0x4c], 0x1d2
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x40e
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0042e87c:
+xor al, al
+mov byte [ref_0048c347], al ; mov byte [0x48c347], al
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042e888:
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048c32b] ; mov ebx, dword [0x48c32b]
+push ebx
+push edi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+mov esi, dword [ref_0048c343] ; mov esi, dword [0x48c343]
+push esi
+call fcn_00401966 ; call 0x401966
+jmp near loc_0042e45e ; jmp 0x42e45e
+
+loc_0042e8bc:
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+mov ebp, dword [esp + 0x18]
+push ebp
+mov edx, dword [ref_0048a0dc] ; mov edx, dword [0x48a0dc]
+push edx
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0042d48d ; jmp 0x42d48d
+
+loc_0042e91a:
+push edx
+mov ecx, dword [esp + 0x80]
+push ecx
+push eax
+push edi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0042d48f ; jmp 0x42d48f
+
+fcn_0042e931:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x134
+mov edx, dword [esp + 0x148]
+cmp edx, 0x1770
+jle near loc_0042ea2b ; jle 0x42ea2b
+cmp edx, 0x1f40
+jge near loc_0042ea2b ; jge 0x42ea2b
+lea eax, [edx - 0x1770]
+imul edx, eax, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add eax, edx
+xor edx, edx
+mov dl, byte [eax + 0x18]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne near loc_0042ea2b ; jne 0x42ea2b
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_0042e9b9 ; je 0x42e9b9
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00445ada ; call 0x445ada
+add esp, 4
+mov ebx, eax
+shl ebx, 3
+mov ebp, dword [ebx + ref_0047feda] ; mov ebp, dword [ebx + 0x47feda]
+push ebp
+lea eax, [esp + 0x124]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+mov bl, byte [ebx + ref_0047fedf] ; mov bl, byte [ebx + 0x47fedf]
+jmp short loc_0042e9ea ; jmp 0x42e9ea
+
+loc_0042e9b9:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_00441e12 ; call 0x441e12
+add esp, 4
+mov ebx, eax
+shl ebx, 3
+mov esi, dword [ebx + ref_0047fdea] ; mov esi, dword [ebx + 0x47fdea]
+push esi
+lea eax, [esp + 0x124]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+mov bl, byte [ebx + ref_0047fdef] ; mov bl, byte [ebx + 0x47fdef]
+
+loc_0042e9ea:
+and ebx, 0xff
+lea eax, [esp + 0x120]
+push eax
+push ref_00464378 ; push 0x464378
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push ebx
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0044f230 ; call 0x44f230
+add esp, 8
+
+loc_0042ea2b:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_0042ed8d ; jne 0x42ed8d
+push 0
+push 0
+push 0xa
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c308], eax ; mov dword [0x48c308], eax
+push 0
+push 0
+push 0xb
+mov esi, dword [ref_0048a05c] ; mov esi, dword [0x48a05c]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c30c], eax ; mov dword [0x48c30c], eax
+push 0
+push 0
+movsx edx, word [eax + 0xe]
+push edx
+movsx eax, word [eax + 0xc]
+push eax
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c300], eax ; mov dword [0x48c300], eax
+push 0
+push 0
+mov eax, dword [ref_0048c30c] ; mov eax, dword [0x48c30c]
+movsx edx, word [eax + 0x1a]
+push edx
+movsx eax, word [eax + 0x18]
+push eax
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c304], eax ; mov dword [0x48c304], eax
+push 0xf
+push 0
+push ref_0048c31c ; push 0x48c31c
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 8
+push 0
+push ref_0048c2f8 ; push 0x48c2f8
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0x1e
+push ref_00499198 ; push 0x499198
+lea eax, [esp + 0x108]
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 0xa
+sar edx, 0x1f
+idiv ebx
+lea ebp, [edx + 6]
+xor edi, edi
+
+loc_0042eb15:
+cmp edi, ebp
+jge near loc_0042ebfe ; jge 0x42ebfe
+xor ebx, ebx
+mov dword [esp + 0x130], ebx
+jmp short loc_0042eb37 ; jmp 0x42eb37
+
+loc_0042eb28:
+lea eax, [edx + 1]
+mov dword [esp + 0x130], eax
+cmp eax, 0x1e
+jge short loc_0042eb61 ; jge 0x42eb61
+
+loc_0042eb37:
+xor esi, esi
+mov edx, dword [esp + 0x130]
+
+loc_0042eb40:
+xor eax, eax
+mov al, byte [esp + edx + 0x100]
+cmp esi, eax
+jge short loc_0042eb28 ; jge 0x42eb28
+mov al, byte [esp + 0x130]
+inc al
+mov byte [esp + ebx + 0x80], al
+inc ebx
+inc esi
+jmp short loc_0042eb40 ; jmp 0x42eb40
+
+loc_0042eb61:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov al, byte [esp + edx + 0x80]
+mov byte [edi + ref_0048c31c], al ; mov byte [edi + 0x48c31c], al
+xor edx, edx
+mov dl, al
+push 2
+mov ebx, edi
+shl ebx, 2
+sub ebx, edi
+shl ebx, 3
+dec byte [esp + edx + 0x103]
+lea eax, [ebx + 0x53]
+push eax
+push 0x5a
+mov ecx, dword [edx*8 + ref_0047fdea] ; mov ecx, dword [edx*8 + 0x47fdea]
+push ecx
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [edi + ref_0048c31c] ; mov al, byte [edi + 0x48c31c]
+mov al, byte [eax*8 + ref_0047fdef] ; mov al, byte [eax*8 + 0x47fdef]
+and eax, 0xff
+push eax
+push ref_00464374 ; push 0x464374
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+add ebx, 0x4b
+push ebx
+push 0xc2
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc edi
+jmp near loc_0042eb15 ; jmp 0x42eb15
+
+loc_0042ebfe:
+xor ecx, ecx
+mov dword [esp + 0x130], ecx
+xor esi, esi
+jmp short loc_0042ec23 ; jmp 0x42ec23
+
+loc_0042ec0b:
+mov eax, dword [esp + 0x130]
+inc eax
+mov dword [esp + 0x130], eax
+cmp eax, 8
+jge near loc_0042ecbb ; jge 0x42ecbb
+
+loc_0042ec23:
+mov eax, dword [esp + 0x130]
+cmp byte [eax + ref_00497320], 0 ; cmp byte [eax + 0x497320], 0
+je short loc_0042ec0b ; je 0x42ec0b
+mov al, byte [esp + 0x130]
+inc al
+mov byte [esi + ref_0048c2f8], al ; mov byte [esi + 0x48c2f8], al
+push 2
+mov edi, esi
+shl edi, 2
+sub edi, esi
+shl edi, 4
+lea eax, [edi + 0x5c]
+push eax
+push 0x5a
+mov ebx, dword [esp + 0x13c]
+mov ebp, dword [ebx*8 + ref_0047fee2] ; mov ebp, dword [ebx*8 + 0x47fee2]
+push ebp
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xd8
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ebx*8 + ref_0047fee7] ; mov al, byte [ebx*8 + 0x47fee7]
+push eax
+push ref_00464374 ; push 0x464374
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+add edi, 0x54
+push edi
+push 0xc2
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c308] ; mov eax, dword [0x48c308]
+add eax, 0xd8
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc esi
+jmp near loc_0042ec0b ; jmp 0x42ec0b
+
+loc_0042ecbb:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+mov ebx, dword [ref_0048c30c] ; mov ebx, dword [0x48c30c]
+push ebx
+mov esi, dword [ref_0048c300] ; mov esi, dword [0x48c300]
+push esi
+call fcn_00441b0a ; call 0x441b0a
+add esp, 0xc
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+mov ebp, dword [ref_0048c30c] ; mov ebp, dword [0x48c30c]
+push ebp
+mov eax, dword [ref_0048c304] ; mov eax, dword [0x48c304]
+push eax
+call fcn_00447c6e ; call 0x447c6e
+add esp, 0xc
+push 6
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_0042d37f ; push 0x42d37f
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebp, eax
+call fcn_00454bcc ; call 0x454bcc
+mov edx, dword [ref_0048c308] ; mov edx, dword [0x48c308]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ecx, dword [ref_0048c30c] ; mov ecx, dword [0x48c30c]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0048c300] ; mov ebx, dword [0x48c300]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048c304] ; mov esi, dword [0x48c304]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0042ed50:
+mov ebx, dword [esp + 0x148]
+cmp ebx, 0x1770
+jle short loc_0042ed82 ; jle 0x42ed82
+cmp ebx, 0x1f40
+jge short loc_0042ed82 ; jge 0x42ed82
+lea edx, [ebx - 0x1770]
+imul edx, edx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add dword [edx + eax + 0x28], ebp
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add dword [edx + eax + 0x2c], ebp
+
+loc_0042ed82:
+add esp, 0x134
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0042ed8d:
+xor ebp, ebp
+mov dword [esp + 0x130], ebp
+jmp short loc_0042edac ; jmp 0x42edac
+
+loc_0042ed98:
+mov edi, dword [esp + 0x130]
+inc edi
+mov dword [esp + 0x130], edi
+cmp edi, 0xf
+jge short loc_0042ee1d ; jge 0x42ee1d
+
+loc_0042edac:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov edi, dword [esp + 0x130]
+add eax, edi
+cmp byte [eax + ref_00499120], 0 ; cmp byte [eax + 0x499120], 0
+je short loc_0042ee1d ; je 0x42ee1d
+xor ebx, ebx
+mov bl, byte [edi*8 + ref_0047fdf9] ; mov bl, byte [edi*8 + 0x47fdf9]
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul edx, ecx, 0x68
+mov dl, byte [edx + ref_00496b7f] ; mov dl, byte [edx + 0x496b7f]
+and edx, 0xff
+sub ebx, edx
+cmp ebx, 2
+jne short loc_0042ed98 ; jne 0x42ed98
+mov al, byte [eax + ref_00499120] ; mov al, byte [eax + 0x499120]
+and eax, 0xff
+push eax
+push ecx
+call fcn_0042d145 ; call 0x42d145
+add esp, 8
+add ebp, eax
+lea esi, [edi - 1]
+mov dword [esp + 0x130], esi
+jmp near loc_0042ed98 ; jmp 0x42ed98
+
+loc_0042ee1d:
+xor edx, edx
+mov dword [esp + 0x130], edx
+jmp short loc_0042ee3c ; jmp 0x42ee3c
+
+loc_0042ee28:
+mov eax, dword [esp + 0x130]
+inc eax
+mov dword [esp + 0x130], eax
+cmp eax, 0xd
+jge short loc_0042eea4 ; jge 0x42eea4
+
+loc_0042ee3c:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov ecx, dword [esp + 0x130]
+add eax, ecx
+cmp byte [eax + ref_0049915c], 0 ; cmp byte [eax + 0x49915c], 0
+je short loc_0042ee28 ; je 0x42ee28
+xor ebx, ebx
+mov bl, byte [ecx*8 + ref_0047fee9] ; mov bl, byte [ecx*8 + 0x47fee9]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul edx, esi, 0x68
+mov dl, byte [edx + ref_00496b7f] ; mov dl, byte [edx + 0x496b7f]
+and edx, 0xff
+sub ebx, edx
+cmp ebx, 2
+jne short loc_0042ee28 ; jne 0x42ee28
+mov al, byte [eax + ref_0049915c] ; mov al, byte [eax + 0x49915c]
+and eax, 0xff
+push eax
+lea eax, [ecx + 1]
+push eax
+push esi
+call fcn_0042d1b2 ; call 0x42d1b2
+add esp, 0xc
+add ebp, eax
+jmp short loc_0042ee28 ; jmp 0x42ee28
+
+loc_0042eea4:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp word [eax + ref_00496b98], 0x64 ; cmp word [eax + 0x496b98], 0x64
+jae near loc_0042f025 ; jae 0x42f025
+xor ebx, ebx
+mov dword [esp + 0x130], ebx
+mov esi, 0x2710
+xor edi, edi
+jmp short loc_0042eedf ; jmp 0x42eedf
+
+loc_0042eecb:
+mov ecx, dword [esp + 0x130]
+inc ecx
+mov dword [esp + 0x130], ecx
+cmp ecx, 0xf
+jge short loc_0042ef1e ; jge 0x42ef1e
+
+loc_0042eedf:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add eax, dword [esp + 0x130]
+mov bh, byte [eax + ref_00499120] ; mov bh, byte [eax + 0x499120]
+test bh, bh
+je short loc_0042eecb ; je 0x42eecb
+xor edx, edx
+mov dl, bh
+mov al, byte [edx*8 + ref_0047fdef] ; mov al, byte [edx*8 + 0x47fdef]
+and eax, 0xff
+cmp eax, esi
+jge short loc_0042eecb ; jge 0x42eecb
+mov esi, eax
+mov edi, edx
+jmp short loc_0042eecb ; jmp 0x42eecb
+
+loc_0042ef1e:
+test edi, edi
+je short loc_0042ef34 ; je 0x42ef34
+push edi
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_0042d145 ; call 0x42d145
+add esp, 8
+add ebp, eax
+
+loc_0042ef34:
+xor edi, edi
+mov dword [esp + 0x130], edi
+jmp short loc_0042ef53 ; jmp 0x42ef53
+
+loc_0042ef3f:
+mov ebx, dword [esp + 0x130]
+inc ebx
+mov dword [esp + 0x130], ebx
+cmp ebx, 0xd
+jge short loc_0042ef9b ; jge 0x42ef9b
+
+loc_0042ef53:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov edx, dword [esp + 0x130]
+add eax, edx
+mov cl, byte [eax + ref_0049915c] ; mov cl, byte [eax + 0x49915c]
+cmp cl, 1
+jbe short loc_0042ef3f ; jbe 0x42ef3f
+mov al, cl
+and eax, 0xff
+dec eax
+push eax
+lea eax, [edx + 1]
+push eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0042d1b2 ; call 0x42d1b2
+add esp, 0xc
+add ebp, eax
+jmp short loc_0042ef3f ; jmp 0x42ef3f
+
+loc_0042ef9b:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+cmp al, 1
+jne short loc_0042efdd ; jne 0x42efdd
+mov eax, edi
+shl eax, 2
+add eax, edi
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov ch, byte [eax + ref_00499160] ; mov ch, byte [eax + 0x499160]
+test ch, ch
+je short loc_0042efdd ; je 0x42efdd
+mov al, ch
+and eax, 0xff
+push eax
+push 5
+push edi
+call fcn_0042d1b2 ; call 0x42d1b2
+add esp, 0xc
+add ebp, eax
+
+loc_0042efdd:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+cmp al, 2
+jne short loc_0042f025 ; jne 0x42f025
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov dl, byte [eax + ref_00499161] ; mov dl, byte [eax + 0x499161]
+test dl, dl
+je short loc_0042f025 ; je 0x42f025
+mov al, dl
+and eax, 0xff
+push eax
+push 6
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0042d1b2 ; call 0x42d1b2
+add esp, 0xc
+add ebp, eax
+
+loc_0042f025:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov bx, word [eax + ref_00496b98] ; mov bx, word [eax + 0x496b98]
+test bx, bx
+je near loc_0042ed50 ; je 0x42ed50
+mov eax, ebx
+and eax, 0xffff
+mov edi, eax
+sar edi, 1
+sub eax, edi
+mov dword [esp + 0x12c], eax
+xor esi, esi
+mov dword [esp + 0x130], esi
+xor ebx, ebx
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+jmp short loc_0042f077 ; jmp 0x42f077
+
+loc_0042f063:
+mov esi, dword [esp + 0x130]
+inc esi
+mov dword [esp + 0x130], esi
+cmp esi, 0x1e
+jge short loc_0042f0cc ; jge 0x42f0cc
+
+loc_0042f077:
+xor esi, esi
+
+loc_0042f079:
+xor eax, eax
+mov edx, dword [esp + 0x130]
+mov al, byte [edx + ref_00499198] ; mov al, byte [edx + 0x499198]
+cmp esi, eax
+jge short loc_0042f063 ; jge 0x42f063
+mov eax, edx
+shl eax, 3
+xor edx, edx
+mov dl, byte [eax + ref_0047fdf7] ; mov dl, byte [eax + 0x47fdf7]
+cmp edi, edx
+jl short loc_0042f063 ; jl 0x42f063
+xor edx, edx
+mov dl, byte [eax + ref_0047fdf9] ; mov dl, byte [eax + 0x47fdf9]
+imul eax, ecx, 0x68
+mov al, byte [eax + ref_00496b7f] ; mov al, byte [eax + 0x496b7f]
+and eax, 0xff
+sub edx, eax
+cmp edx, 2
+je short loc_0042f063 ; je 0x42f063
+mov al, byte [esp + 0x130]
+mov byte [esp + ebx + 0x80], al
+inc ebx
+inc esi
+jmp short loc_0042f079 ; jmp 0x42f079
+
+loc_0042f0cc:
+test ebx, ebx
+je near loc_0042f16c ; je 0x42f16c
+push fcn_0042d0ef ; push 0x42d0ef
+push 1
+push ebx
+lea eax, [esp + 0x8c]
+push eax
+call fcn_00457e6c ; call 0x457e6c
+add esp, 0x10
+xor edx, edx
+mov dword [esp + 0x130], edx
+
+loc_0042f0f5:
+cmp ebx, dword [esp + 0x130]
+jle short loc_0042f16c ; jle 0x42f16c
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_00441262 ; call 0x441262
+add esp, 4
+cmp eax, 0xf
+je short loc_0042f16c ; je 0x42f16c
+xor eax, eax
+mov edx, dword [esp + 0x130]
+mov al, byte [esp + edx + 0x80]
+mov dl, byte [eax*8 + ref_0047fdf7] ; mov dl, byte [eax*8 + 0x47fdf7]
+and edx, 0xff
+cmp edi, edx
+jl short loc_0042f163 ; jl 0x42f163
+inc eax
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0042d237 ; call 0x42d237
+add esp, 8
+add ebp, eax
+xor eax, eax
+mov edx, dword [esp + 0x130]
+mov al, byte [esp + edx + 0x80]
+mov al, byte [eax*8 + ref_0047fdf7] ; mov al, byte [eax*8 + 0x47fdf7]
+and eax, 0xff
+sub edi, eax
+
+loc_0042f163:
+inc dword [esp + 0x130]
+jmp short loc_0042f0f5 ; jmp 0x42f0f5
+
+loc_0042f16c:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+cmp al, 1
+je short loc_0042f1cc ; je 0x42f1cc
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [eax + ref_00499160], 0 ; cmp byte [eax + 0x499160], 0
+jne short loc_0042f1cc ; jne 0x42f1cc
+xor eax, eax
+mov al, byte [ref_0047ff07] ; mov al, byte [0x47ff07]
+cmp eax, dword [esp + 0x12c]
+jge short loc_0042f1cc ; jge 0x42f1cc
+cmp byte [ref_00497324], 0 ; cmp byte [0x497324], 0
+je short loc_0042f1cc ; je 0x42f1cc
+push 5
+push ecx
+call fcn_0042d272 ; call 0x42d272
+add esp, 8
+add ebp, eax
+xor eax, eax
+mov al, byte [ref_0047ff07] ; mov al, byte [0x47ff07]
+sub dword [esp + 0x12c], eax
+
+loc_0042f1cc:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+cmp al, 2
+je short loc_0042f232 ; je 0x42f232
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [eax + ref_00499161], 0 ; cmp byte [eax + 0x499161], 0
+jne short loc_0042f232 ; jne 0x42f232
+xor eax, eax
+mov al, byte [ref_0047ff0f] ; mov al, byte [0x47ff0f]
+cmp eax, dword [esp + 0x12c]
+jge short loc_0042f232 ; jge 0x42f232
+cmp byte [ref_00497325], 0 ; cmp byte [0x497325], 0
+je short loc_0042f232 ; je 0x42f232
+push 6
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0042d272 ; call 0x42d272
+add esp, 8
+add ebp, eax
+xor eax, eax
+mov al, byte [ref_0047ff0f] ; mov al, byte [0x47ff0f]
+sub dword [esp + 0x12c], eax
+
+loc_0042f232:
+xor edi, edi
+mov dword [esp + 0x130], edi
+jmp short loc_0042f255 ; jmp 0x42f255
+
+loc_0042f23d:
+mov eax, dword [esp + 0x130]
+inc eax
+mov dword [esp + 0x130], eax
+cmp eax, 6
+jge near loc_0042ed50 ; jge 0x42ed50
+
+loc_0042f255:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov edx, eax
+xor eax, eax
+mov ebx, dword [esp + 0x130]
+mov al, byte [ebx + ref_004755f0] ; mov al, byte [ebx + 0x4755f0]
+cmp byte [edx + eax + ref_0049915c], 9 ; cmp byte [edx + eax + 0x49915c], 9
+jae short loc_0042f23d ; jae 0x42f23d
+mov edx, eax
+shl edx, 3
+movzx esi, byte [edx + ref_0047fee9] ; movzx esi, byte [edx + 0x47fee9]
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul ebx, ecx, 0x68
+mov bl, byte [ebx + ref_00496b7f] ; mov bl, byte [ebx + 0x496b7f]
+and ebx, 0xff
+sub esi, ebx
+cmp esi, 2
+je short loc_0042f23d ; je 0x42f23d
+mov dl, byte [edx + ref_0047fee7] ; mov dl, byte [edx + 0x47fee7]
+and edx, 0xff
+mov ebx, dword [esp + 0x12c]
+cmp edx, ebx
+jg near loc_0042f23d ; jg 0x42f23d
+cmp byte [eax + ref_00497320], 0 ; cmp byte [eax + 0x497320], 0
+je near loc_0042f23d ; je 0x42f23d
+inc eax
+push eax
+push ecx
+call fcn_0042d272 ; call 0x42d272
+add esp, 8
+add ebp, eax
+xor eax, eax
+mov edx, dword [esp + 0x130]
+mov al, byte [edx + ref_004755f0] ; mov al, byte [edx + 0x4755f0]
+mov al, byte [eax*8 + ref_0047fee7] ; mov al, byte [eax*8 + 0x47fee7]
+and eax, 0xff
+mov edi, ebx
+sub edi, eax
+mov dword [esp + 0x12c], edi
+jmp near loc_0042f23d ; jmp 0x42f23d
+
+ref_0042f30c:
+dd 0x00000010
+dd 0x00000154
+dd 0x00000010
+dd 0x0000019a
+dd 0x00000148
+dd 0x00000154
+dd 0x00000148
+dd 0x0000019a
+
+fcn_0042f32c:
+push ebx
+push esi
+push edi
+xor esi, esi
+mov ebx, 0x1f
+mov edi, 0x110
+jmp short loc_0042f343 ; jmp 0x42f343
+
+loc_0042f33d:
+inc esi
+cmp esi, 0x24
+jge short loc_0042f37a ; jge 0x42f37a
+
+loc_0042f343:
+cmp byte [esi + ref_004990b8], 0 ; cmp byte [esi + 0x4990b8], 0
+je short loc_0042f365 ; je 0x42f365
+push 0xfffffffffffffff6
+push 0x2e
+push 0x3e
+push edi
+push ebx
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0xc
+push eax
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+
+loc_0042f365:
+add ebx, 0x40
+cmp ebx, 0x25f
+jne short loc_0042f33d ; jne 0x42f33d
+mov ebx, 0x1f
+add edi, 0x30
+jmp short loc_0042f33d ; jmp 0x42f33d
+
+loc_0042f37a:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0xfffffffffffffffb
+push 0xd2
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0x18
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+push 0
+push 0x101010
+push 0
+push 0x14
+push 0x14
+push 0x168
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0x6c
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+push 5
+push 8
+push 8
+mov ebx, dword [ref_0048c364] ; mov ebx, dword [0x48c364]
+push ebx
+call fcn_00450ced ; call 0x450ced
+add esp, 0x10
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0042f417:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x7c
+mov ecx, 8
+lea edi, [esp + 0x4c]
+mov esi, ref_0042f30c ; mov esi, 0x42f30c
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+xor edx, edx
+mov dword [esp + 0x70], edx
+mov dword [esp + 0x74], edx
+
+loc_0042f458:
+mov eax, dword [esp + 0x70]
+cmp eax, dword [ref_00499114] ; cmp eax, dword [0x499114]
+jge near loc_0042f6ab ; jge 0x42f6ab
+imul esi, eax, 0x68
+cmp byte [esi + ref_00496b7d], 0 ; cmp byte [esi + 0x496b7d], 0
+je near loc_0042f6a2 ; je 0x42f6a2
+push 0xfffffffffffffff0
+push 0x3c
+push 0x128
+mov ebx, dword [esp + 0x80]
+mov ebp, dword [esp + ebx*8 + 0x5c]
+push ebp
+mov eax, dword [esp + ebx*8 + 0x5c]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+mov eax, dword [esp + ebx*8 + 0x50]
+add eax, 0x1e
+push eax
+mov eax, dword [esp + ebx*8 + 0x50]
+add eax, 0x14
+push eax
+xor eax, eax
+mov al, byte [esi + ref_00496b7b] ; mov al, byte [esi + 0x496b7b]
+lea edx, [eax + 0x19]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c360] ; mov edx, dword [0x48c360]
+add edx, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor dl, dl
+mov byte [esp], dl
+xor edi, edi
+jmp short loc_0042f4ee ; jmp 0x42f4ee
+
+loc_0042f4e8:
+inc edi
+cmp edi, 0x24
+jge short loc_0042f52c ; jge 0x42f52c
+
+loc_0042f4ee:
+xor edx, edx
+mov dl, byte [edi + ref_004990b8] ; mov dl, byte [edi + 0x4990b8]
+mov eax, dword [esp + 0x70]
+inc eax
+cmp edx, eax
+jne short loc_0042f4e8 ; jne 0x42f4e8
+lea eax, [edi + 1]
+push eax
+push ref_004645d4 ; push 0x4645d4
+lea eax, [esp + 0x80]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+lea eax, [esp + 0x78]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+jmp short loc_0042f4e8 ; jmp 0x42f4e8
+
+loc_0042f52c:
+mov eax, esp
+push eax
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+mov edi, eax
+test eax, eax
+je near loc_0042f69e ; je 0x42f69e
+cmp eax, 0xc
+jg near loc_0042f5df ; jg 0x42f5df
+xor ebx, ebx
+mov eax, dword [esp + 0x74]
+mov esi, dword [esp + eax*8 + 0x4c]
+add esi, 0x36
+mov ebp, dword [esp + 0x74]
+
+loc_0042f55b:
+cmp ebx, edi
+jge near loc_0042f69e ; jge 0x42f69e
+mov eax, dword [esp + ebp*8 + 0x50]
+add eax, 0x1e
+push eax
+push esi
+xor edx, edx
+mov dl, byte [esp + ebx + 8]
+sub edx, 0x30
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c368] ; mov edx, dword [0x48c368]
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [esp + ebp*8 + 0x50]
+add eax, 0x1e
+push eax
+lea eax, [esi + 0x10]
+push eax
+xor eax, eax
+mov al, byte [esp + ebx + 9]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c368] ; mov eax, dword [0x48c368]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+add ebx, 2
+add esi, 0x28
+jmp near loc_0042f55b ; jmp 0x42f55b
+
+loc_0042f5df:
+cmp eax, 0x18
+jle short loc_0042f5e9 ; jle 0x42f5e9
+mov edi, 0x18
+
+loc_0042f5e9:
+xor ebx, ebx
+mov eax, dword [esp + 0x74]
+mov esi, dword [esp + eax*8 + 0x4c]
+add esi, 0x36
+mov dword [esp + 0x6c], 0xf
+
+loc_0042f5fe:
+cmp ebx, edi
+jge near loc_0042f69e ; jge 0x42f69e
+mov ebp, dword [esp + 0x74]
+shl ebp, 3
+mov eax, dword [esp + ebp + 0x50]
+add eax, dword [esp + 0x6c]
+push eax
+push esi
+xor eax, eax
+mov al, byte [esp + ebx + 8]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c368] ; mov eax, dword [0x48c368]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [esp + ebp + 0x50]
+add eax, dword [esp + 0x6c]
+push eax
+lea eax, [esi + 0x10]
+push eax
+xor eax, eax
+mov al, byte [esp + ebx + 9]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c368] ; mov eax, dword [0x48c368]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+cmp ebx, 0xa
+jne short loc_0042f693 ; jne 0x42f693
+mov esi, dword [esp + ebp + 0x4c]
+add esi, 0xe
+add dword [esp + 0x6c], 0x1e
+
+loc_0042f693:
+add ebx, 2
+add esi, 0x28
+jmp near loc_0042f5fe ; jmp 0x42f5fe
+
+loc_0042f69e:
+inc dword [esp + 0x74]
+
+loc_0042f6a2:
+inc dword [esp + 0x70]
+jmp near loc_0042f458 ; jmp 0x42f458
+
+loc_0042f6ab:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+add esp, 0x7c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0042f6c3:
+push ebx
+push esi
+sub esp, 0x4c
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x42
+push 0x1d8
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x18
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x42
+push 7
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x30
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0x4f35b1
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0xc1
+push 0x4d
+push ref_004645d9 ; push 0x4645d9
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 2
+push 0
+push 0xff0000
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov byte [esp], 0x24
+mov esi, dword [ref_00499080] ; mov esi, dword [0x499080]
+push esi
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 2
+push 0xe4
+push 0x4d
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0x101010
+push 0
+push 0xfffffffffffffff6
+push 0x2f
+push 0x12c
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x114
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+call fcn_0042f417 ; call 0x42f417
+add esp, 0x4c
+pop esi
+pop ebx
+ret
+
+endloc_0042f7e7:
+db 0x90
+
+ref_0042f7e8: ; may contain a jump table
+dd loc_0042fa88
+dd loc_0042fac5
+dd loc_0042fa9e
+dd loc_0042fae5
+dd loc_0042faf8
+
+fcn_0042f7fc:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x5c
+mov ebp, dword [esp + 0x70]
+mov eax, dword [esp + 0x74]
+mov ebx, dword [esp + 0x78]
+mov edi, dword [esp + 0x7c]
+cmp eax, 0x203
+jb short loc_0042f85a ; jb 0x42f85a
+jbe near loc_0042fe8c ; jbe 0x42fe8c
+cmp eax, 0x401
+jb short loc_0042f84a ; jb 0x42f84a
+jbe short loc_0042f885 ; jbe 0x42f885
+cmp eax, 0x405
+jb near loc_004300c0 ; jb 0x4300c0
+jbe near loc_0042f930 ; jbe 0x42f930
+cmp eax, 0x406
+je near loc_0042f94f ; je 0x42f94f
+jmp near loc_004300c0 ; jmp 0x4300c0
+
+loc_0042f84a:
+cmp eax, 0x205
+je near loc_0043003d ; je 0x43003d
+jmp near loc_004300c0 ; jmp 0x4300c0
+
+loc_0042f85a:
+cmp eax, 0x113
+jb short loc_0042f877 ; jb 0x42f877
+jbe near loc_0042fa2f ; jbe 0x42fa2f
+cmp eax, 0x201
+je near loc_0042fe8c ; je 0x42fe8c
+jmp near loc_004300c0 ; jmp 0x4300c0
+
+loc_0042f877:
+cmp eax, 0xf
+je near loc_00430062 ; je 0x430062
+jmp near loc_004300c0 ; jmp 0x4300c0
+
+loc_0042f885:
+xor bh, bh
+mov byte [ref_0048c370], bh ; mov byte [0x48c370], bh
+mov byte [ref_0048c371], bh ; mov byte [0x48c371], bh
+xor eax, eax
+mov dword [ref_0048c34c], eax ; mov dword [0x48c34c], eax
+mov dword [ref_0048c350], eax ; mov dword [0x48c350], eax
+xor ch, ch
+mov byte [ref_0048c372], ch ; mov byte [0x48c372], ch
+call fcn_0042f32c ; call 0x42f32c
+push 0
+push 0x64
+mov ecx, dword [ref_0046cad8] ; mov ecx, dword [0x46cad8]
+push ecx
+push ebp
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c36c], eax ; mov dword [0x48c36c], eax
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp dword [eax + ref_00496b84], 0x3e8 ; cmp dword [eax + 0x496b84], 0x3e8
+jge short loc_0042f8f6 ; jge 0x42f8f6
+push 4
+push 4
+
+loc_0042f8e7:
+push 0x405
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp short loc_0042f90c ; jmp 0x42f90c
+
+loc_0042f8f6:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0042f905 ; je 0x42f905
+push 0
+push 1
+jmp short loc_0042f8e7 ; jmp 0x42f8e7
+
+loc_0042f905:
+mov byte [ref_0048c370], 3 ; mov byte [0x48c370], 3
+
+loc_0042f90c:
+push 0
+push 1
+push 0x1c
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 1
+call fcn_00402460 ; call 0x402460
+
+loc_0042f921:
+add esp, 4
+
+loc_0042f924:
+xor eax, eax
+
+loc_0042f926:
+add esp, 0x5c
+
+loc_0042f929:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_0042f930:
+mov byte [ref_0048c370], bl ; mov byte [0x48c370], bl
+mov ebp, dword [edi*4 + ref_004755f8] ; mov ebp, dword [edi*4 + 0x4755f8]
+push ebp
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c372], 2 ; mov byte [0x48c372], 2
+jmp short loc_0042f924 ; jmp 0x42f924
+
+loc_0042f94f:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+je short loc_0042f974 ; je 0x42f974
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+cmp byte [ref_0048c370], 3 ; cmp byte [0x48c370], 3
+jbe short loc_0042f974 ; jbe 0x42f974
+mov byte [ref_0048c370], 5 ; mov byte [0x48c370], 5
+jmp short loc_0042f924 ; jmp 0x42f924
+
+loc_0042f974:
+mov dword [esp + 0x40], 0x9a
+xor ecx, ecx
+mov dword [esp + 0x44], ecx
+mov dword [esp + 0x48], 0x1c2
+mov edi, 0x101
+mov dword [esp + 0x4c], edi
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push ecx
+push 1
+push ref_0048a068 ; push 0x48a068
+push ecx
+push eax
+call dword [edx + 0x64] ; ucall
+push edi
+push 0xe6
+mov eax, dword [esp + 0x4c]
+push eax
+mov eax, dword [esp + 0x4c]
+add eax, 0x42
+push eax
+mov edx, dword [esp + 0x54]
+push edx
+push eax
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0xfffffffffffffff8
+push 0x9a
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0x24
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c370], 5 ; mov byte [0x48c370], 5
+mov edi, dword [ebx*4 + ref_004755f8] ; mov edi, dword [ebx*4 + 0x4755f8]
+push edi
+call fcn_0044ecb6 ; call 0x44ecb6
+jmp near loc_0042f921 ; jmp 0x42f921
+
+loc_0042fa2f:
+cmp byte [ref_0048c370], 0 ; cmp byte [0x48c370], 0
+je near loc_0042f924 ; je 0x42f924
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_0042f924 ; je 0x42f924
+cmp ebx, dword [ref_0046cad8] ; cmp ebx, dword [0x46cad8]
+jne near loc_0042f924 ; jne 0x42f924
+xor eax, eax
+mov al, byte [ref_0048c372] ; mov al, byte [0x48c372]
+push eax
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_0042fa9e ; je 0x42fa9e
+mov al, byte [ref_0048c370] ; mov al, byte [0x48c370]
+dec al
+cmp al, 4
+ja near loc_0042fa9e ; ja 0x42fa9e
+and eax, 0xff
+jmp dword [eax*4 + ref_0042f7e8] ; ujmp: jmp dword [eax*4 + 0x42f7e8]
+
+loc_0042fa88:
+mov byte [ref_0048c370], 2 ; mov byte [0x48c370], 2
+mov ecx, dword [ref_004755fc] ; mov ecx, dword [0x4755fc]
+push ecx
+call fcn_0044ecb6 ; call 0x44ecb6
+
+loc_0042fa9b:
+add esp, 4
+
+loc_0042fa9e:
+cmp byte [ref_0048c370], 5 ; cmp byte [0x48c370], 5
+je near loc_0042fd5f ; je 0x42fd5f
+mov eax, dword [ref_0048c350] ; mov eax, dword [0x48c350]
+and eax, 0xf
+test eax, eax
+jbe short loc_0042fb2a ; jbe 0x42fb2a
+cmp eax, 1
+je near loc_0042fb48 ; je 0x42fb48
+jmp near loc_0042fc24 ; jmp 0x42fc24
+
+loc_0042fac5:
+mov byte [ref_0048c370], 3 ; mov byte [0x48c370], 3
+mov edx, dword [ref_00475600] ; mov edx, dword [0x475600]
+push edx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+xor bl, bl
+mov byte [ref_0048c372], bl ; mov byte [0x48c372], bl
+jmp short loc_0042fa9e ; jmp 0x42fa9e
+
+loc_0042fae5:
+push 0
+push 5
+push 0x406
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp short loc_0042fa9e ; jmp 0x42fa9e
+
+loc_0042faf8:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+mov eax, dword [ref_0048c36c] ; mov eax, dword [0x48c36c]
+push eax
+push ebp
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_0042fa9b ; jmp 0x42fa9b
+
+loc_0042fb2a:
+call fcn_00456f2d ; call 0x456f2d
+mov esi, eax
+sar esi, 0xa
+test esi, esi
+jne near loc_0042fc24 ; jne 0x42fc24
+or byte [ref_0048c350], 1 ; or byte [0x48c350], 1
+jmp near loc_0042fc24 ; jmp 0x42fc24
+
+loc_0042fb48:
+mov esi, dword [ref_0048c350] ; mov esi, dword [0x48c350]
+and esi, 0xf0
+sar esi, 4
+mov dword [esp + 0x40], 0x111
+mov edi, 0x3f
+mov dword [esp + 0x44], edi
+mov dword [esp + 0x48], 0x157
+mov dword [esp + 0x4c], 0x69
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp esi, 3
+jge short loc_0042fbd4 ; jge 0x42fbd4
+mov edi, dword [esp + 0x44]
+push edi
+mov eax, dword [esp + 0x44]
+push eax
+xor edx, edx
+mov dl, byte [esi + ref_00475660] ; mov dl, byte [esi + 0x475660]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+add dword [ref_0048c350], 0x10 ; add dword [0x48c350], 0x10
+jmp short loc_0042fc05 ; jmp 0x42fc05
+
+loc_0042fbd4:
+push 0x2a
+push 0x46
+push 0x44
+push edi
+mov ecx, dword [esp + 0x54]
+push ecx
+mov ebx, dword [esp + 0x54]
+push ebx
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0x18
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+xor ch, ch
+mov byte [ref_0048c350], ch ; mov byte [0x48c350], ch
+
+loc_0042fc05:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0042fc24:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_0042fc3a ; jne 0x42fc3a
+cmp dword [ref_0048c34c], 0 ; cmp dword [0x48c34c], 0
+je near loc_0042fd5f ; je 0x42fd5f
+
+loc_0042fc3a:
+mov dword [esp + 0x40], 0x111
+mov dword [esp + 0x44], 0x69
+mov dword [esp + 0x48], 0x157
+mov dword [esp + 0x4c], 0x7b
+mov ecx, dword [ref_0048c34c] ; mov ecx, dword [0x48c34c]
+test ecx, ecx
+je short loc_0042fcc3 ; je 0x42fcc3
+dec ecx
+mov dword [ref_0048c34c], ecx ; mov dword [0x48c34c], ecx
+jne near loc_0042fd5f ; jne 0x42fd5f
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push ecx
+push 1
+push ref_0048a068 ; push 0x48a068
+push ecx
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x12
+push 0x46
+push 0x6e
+push 0x3f
+mov esi, dword [esp + 0x54]
+push esi
+mov edi, dword [esp + 0x54]
+push edi
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_0042fd50 ; jmp 0x42fd50
+
+loc_0042fcc3:
+call fcn_00456f2d ; call 0x456f2d
+mov esi, eax
+sar esi, 0xb
+cmp esi, 4
+jge near loc_0042fd5f ; jge 0x42fd5f
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0x44]
+push ebx
+mov esi, dword [esp + 0x44]
+push esi
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+lea edx, [eax + 5]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and eax, 7
+mov dword [ref_0048c34c], eax ; mov dword [0x48c34c], eax
+jne short loc_0042fd50 ; jne 0x42fd50
+mov dword [ref_0048c34c], 1 ; mov dword [0x48c34c], 1
+
+loc_0042fd50:
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0042fd5f:
+call fcn_00450f04 ; call 0x450f04
+cmp byte [ref_0048c371], 0 ; cmp byte [0x48c371], 0
+jne near loc_0042f924 ; jne 0x42f924
+mov byte [ref_0048c371], 1 ; mov byte [0x48c371], 1
+mov byte [esp + 0x50], 0x24
+mov edx, dword [ref_00499080] ; mov edx, dword [0x499080]
+push edx
+lea eax, [esp + 0x55]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+mov dword [esp + 0x40], 0x1c
+mov dword [esp + 0x44], 0x1b
+mov dword [esp + 0x48], 0xc8
+mov dword [esp + 0x4c], 0x37
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x44]
+push eax
+mov edx, dword [esp + 0x44]
+push edx
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0x78
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+lea eax, [esp + 0x50]
+push eax
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+lea ebx, [eax - 1]
+mov esi, 0xb8
+
+loc_0042fdfe:
+test ebx, ebx
+jl short loc_0042fe68 ; jl 0x42fe68
+mov cl, byte [esp + ebx + 0x50]
+cmp cl, 0x30
+jb short loc_0042fe1b ; jb 0x42fe1b
+cmp cl, 0x39
+ja short loc_0042fe1b ; ja 0x42fe1b
+xor ecx, ecx
+mov cl, byte [esp + ebx + 0x50]
+sub ecx, 0x30
+jmp short loc_0042fe36 ; jmp 0x42fe36
+
+loc_0042fe1b:
+cmp byte [esp + ebx + 0x50], 0x2c
+jne short loc_0042fe31 ; jne 0x42fe31
+mov ecx, 0xa
+mov edi, 0xc
+add esi, 6
+jmp short loc_0042fe3b ; jmp 0x42fe3b
+
+loc_0042fe31:
+mov ecx, 0xb
+
+loc_0042fe36:
+mov edi, 0x12
+
+loc_0042fe3b:
+push 0x29
+push esi
+mov edx, dword [ref_0048c368] ; mov edx, dword [0x48c368]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 2
+lea ecx, [edx + 0xc]
+add eax, ecx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+sub esi, edi
+dec ebx
+jmp short loc_0042fdfe ; jmp 0x42fdfe
+
+loc_0042fe68:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0042f924 ; jmp 0x42f924
+
+loc_0042fe8c:
+mov dl, byte [ref_0048c370] ; mov dl, byte [0x48c370]
+cmp dl, 3
+ja near loc_0042f924 ; ja 0x42f924
+jae short loc_0042feae ; jae 0x42feae
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+mov byte [ref_0048c370], 3 ; mov byte [0x48c370], 3
+
+loc_0042feae:
+xor esi, esi
+mov si, di
+mov eax, edi
+shr eax, 0x10
+and eax, 0xffff
+xor ecx, ecx
+mov cx, ax
+cmp esi, 0x1e
+jl near loc_0042f924 ; jl 0x42f924
+cmp esi, 0x25e
+jg near loc_0042f924 ; jg 0x42f924
+cmp ecx, 0x10f
+jl near loc_0042f924 ; jl 0x42f924
+cmp ecx, 0x1cf
+jg near loc_0042f924 ; jg 0x42f924
+lea edx, [esi - 0x1e]
+mov eax, edx
+sar edx, 0x1f
+shl edx, 6
+sbb eax, edx
+sar eax, 6
+mov esi, eax
+lea edx, [ecx - 0x10f]
+mov ecx, 0x30
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov ecx, eax
+shl eax, 3
+add eax, ecx
+lea ebx, [eax + esi]
+cmp byte [ebx + ref_004990b8], 0 ; cmp byte [ebx + 0x4990b8], 0
+jne near loc_0042f924 ; jne 0x42f924
+shl esi, 6
+lea eax, [esi + 0x1e]
+mov dword [esp + 0x40], eax
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 4
+lea edx, [eax + 0x10f]
+mov dword [esp + 0x44], edx
+add esi, 0x5e
+mov dword [esp + 0x48], esi
+add eax, 0x13f
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x44]
+add eax, 0x18
+push eax
+mov eax, dword [esp + 0x44]
+add eax, 0x20
+push eax
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0x60
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+cmp ebx, 2
+je short loc_0042ffa0 ; je 0x42ffa0
+cmp ebx, 3
+jne short loc_0042ffd1 ; jne 0x42ffd1
+
+loc_0042ffa0:
+push 0x1e
+push 0x40
+push 0x10c
+push 0
+push 0x107
+push 0xd2
+mov eax, dword [ref_0048c35c] ; mov eax, dword [0x48c35c]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456495 ; call 0x456495
+add esp, 0x20
+sub dword [esp + 0x44], 0x1e
+
+loc_0042ffd1:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov al, byte [ref_0049910c] ; mov al, byte [0x49910c]
+inc al
+mov byte [ebx + ref_004990b8], al ; mov byte [ebx + 0x4990b8], al
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+push 0
+push 3
+push 0x406
+push ebp
+sub dword [eax + ref_00496b84], 0x3e8 ; sub dword [eax + 0x496b84], 0x3e8
+add dword [ref_00499080], 0x3e8 ; add dword [0x499080], 0x3e8
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+push 0
+push ref_0047566b ; push 0x47566b
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_0042f924 ; jmp 0x42f924
+
+loc_0043003d:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+push 5
+push 0x406
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_0042f924 ; jmp 0x42f924
+
+loc_00430062:
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+mov edx, dword [ref_0048a0dc] ; mov edx, dword [0x48a0dc]
+push edx
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0042f924 ; jmp 0x42f924
+
+loc_004300c0:
+push edi
+push ebx
+push eax
+push ebp
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0042f926 ; jmp 0x42f926
+
+ref_004300d0: ; may contain a jump table
+dd loc_00430236
+dd loc_0043036c
+dd loc_0043024c
+dd loc_00430485
+dd loc_0043024c
+dd loc_004306ff
+dd loc_004308e0
+dd loc_004308f3
+dd loc_00430aa3
+dd loc_00430ab5
+
+ref_004300f8: ; may contain a jump table
+dd loc_00431117
+dd loc_00431157
+dd loc_00431222
+dd loc_004312d8
+dd loc_00431383
+
+fcn_0043010c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x84
+mov esi, dword [esp + 0x98]
+mov eax, dword [esp + 0x9c]
+cmp eax, 0x113
+jb short loc_0043014a ; jb 0x43014a
+jbe near loc_004301e8 ; jbe 0x4301e8
+cmp eax, 0x401
+jb near loc_004315ae ; jb 0x4315ae
+jbe short loc_00430158 ; jbe 0x430158
+cmp eax, 0x405
+je short loc_004301b0 ; je 0x4301b0
+jmp near loc_004315ae ; jmp 0x4315ae
+
+loc_0043014a:
+cmp eax, 0xf
+je near loc_00431570 ; je 0x431570
+jmp near loc_004315ae ; jmp 0x4315ae
+
+loc_00430158:
+xor bl, bl
+mov byte [ref_0048c37b], bl ; mov byte [0x48c37b], bl
+xor ecx, ecx
+mov dword [ref_0048c34c], ecx ; mov dword [0x48c34c], ecx
+xor ebx, ebx
+mov dword [ref_0048c350], ecx ; mov dword [0x48c350], ecx
+mov dword [ref_0048c377], ecx ; mov dword [0x48c377], ecx
+call fcn_0042f6c3 ; call 0x42f6c3
+push ebx
+push 0x32
+mov ebp, dword [ref_0046cad8] ; mov ebp, dword [0x46cad8]
+push ebp
+push esi
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c373], eax ; mov dword [0x48c373], eax
+push ebx
+push ebx
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push ebx
+push ebx
+push 0x405
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_004301db ; jmp 0x4301db
+
+loc_004301b0:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_004301d4 ; je 0x4301d4
+mov byte [ref_0048c37b], 1 ; mov byte [0x48c37b], 1
+mov edx, dword [ref_00475610] ; mov edx, dword [0x475610]
+push edx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+jmp near loc_004301db ; jmp 0x4301db
+
+loc_004301d4:
+mov byte [ref_0048c37b], 2 ; mov byte [0x48c37b], 2
+
+loc_004301db:
+xor eax, eax
+
+loc_004301dd:
+add esp, 0x84
+jmp near loc_0042f929 ; jmp 0x42f929
+
+loc_004301e8:
+cmp byte [ref_0048c37b], 0 ; cmp byte [0x48c37b], 0
+je short loc_004301db ; je 0x4301db
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_004301db ; je 0x4301db
+mov eax, dword [esp + 0xa0]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne short loc_004301db ; jne 0x4301db
+push 0
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_0043024c ; je 0x43024c
+mov al, byte [ref_0048c37b] ; mov al, byte [0x48c37b]
+dec al
+cmp al, 9
+ja near loc_0043024c ; ja 0x43024c
+and eax, 0xff
+jmp dword [eax*4 + ref_004300d0] ; ujmp: jmp dword [eax*4 + 0x4300d0]
+
+loc_00430236:
+mov byte [ref_0048c37b], 2 ; mov byte [0x48c37b], 2
+mov ecx, dword [ref_00475614] ; mov ecx, dword [0x475614]
+
+loc_00430243:
+push ecx
+
+loc_00430244:
+call fcn_0044ecb6 ; call 0x44ecb6
+
+loc_00430249:
+add esp, 4
+
+loc_0043024c:
+cmp byte [ref_0048c37b], 3 ; cmp byte [0x48c37b], 3
+jne near loc_00430f43 ; jne 0x430f43
+mov dh, byte [ref_0048c37c] ; mov dh, byte [0x48c37c]
+inc dh
+mov byte [ref_0048c37c], dh ; mov byte [0x48c37c], dh
+cmp dh, 0x14
+jb near loc_00430f43 ; jb 0x430f43
+jne near loc_00430322 ; jne 0x430322
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x50
+push 0x50
+push 0xab
+push 0x1a2
+push 0xab
+push 0x1a2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x5a
+push 0x26
+push 0x33
+push 0
+push 0x75
+push 0x1d8
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x18
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456495 ; call 0x456495
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x64], 0x1a2
+mov dword [esp + 0x68], 0x75
+mov dword [esp + 0x6c], 0x1fe
+mov dword [esp + 0x70], 0xfb
+push 0
+lea eax, [esp + 0x68]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00430322:
+mov dword [esp + 0x64], 0xb7
+mov dword [esp + 0x68], 0x4b
+mov dword [esp + 0x6c], 0x1ca
+mov dword [esp + 0x70], 0x159
+push 0
+lea eax, [esp + 0x68]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+call fcn_00450f04 ; call 0x450f04
+test eax, eax
+jne near loc_00430f43 ; jne 0x430f43
+xor ebx, ebx
+mov dword [esp + 0x80], eax
+jmp near loc_00430b0d ; jmp 0x430b0d
+
+loc_0043036c:
+mov byte [ref_0048c37b], 3 ; mov byte [0x48c37b], 3
+xor al, al
+mov byte [ref_0048c37c], al ; mov byte [0x48c37c], al
+push 8
+push 0x4b
+push 0xb7
+mov ebx, dword [ref_0048c358] ; mov ebx, dword [0x48c358]
+push ebx
+call fcn_00450ced ; call 0x450ced
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x82
+push 0x260
+push 0x154
+push 0x10
+push 0x154
+push 0x10
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x5a
+push 0x2d
+push 0x74
+push 0x1d8
+push 0x74
+push 0x1d8
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x42
+push 0x1a2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x82
+push 0x86
+push 0x112
+push 0
+push 0x154
+push 7
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x30
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456495 ; call 0x456495
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_0042f417 ; call 0x42f417
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push ref_0047567b ; push 0x47567b
+
+loc_00430478:
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_0043024c ; jmp 0x43024c
+
+loc_00430485:
+mov byte [ref_0048c37b], 5 ; mov byte [0x48c37b], 5
+xor bh, bh
+mov byte [ref_0048c37c], bh ; mov byte [0x48c37c], bh
+push 1
+push 0
+push 0xcd
+mov edi, dword [ref_0048c354] ; mov edi, dword [0x48c354]
+push edi
+call fcn_00450ced ; call 0x450ced
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x82
+push 0x260
+push 0x154
+push 0x10
+push 0x154
+push 0x10
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x19e
+push 0xa8
+push 0x42
+push 0x1d8
+push 0x42
+push 0x1d8
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x19e
+push 0x8c
+push 0x42
+push 7
+push 0x42
+push 7
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0
+push 0
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x54
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x42
+push 0x1f9
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x48
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0xc8
+push 0x140
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x12c
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x195
+push 0x11e
+xor edx, edx
+mov dl, byte [ref_0048c37d] ; mov dl, byte [0x48c37d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x195
+push 0x166
+xor edx, edx
+mov dl, byte [ref_0048c37e] ; mov dl, byte [0x48c37e]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c360] ; mov edx, dword [0x48c360]
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0x4f35b1
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x13
+push 0x5b
+push ref_004645d9 ; push 0x4645d9
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 2
+push 0
+push 0xff0000
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov byte [esp + 0x74], 0x24
+mov edx, dword [ref_00499080] ; mov edx, dword [0x499080]
+push edx
+lea eax, [esp + 0x79]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 2
+push 0x38
+push 0x5b
+lea eax, [esp + 0x80]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 4
+push 3
+push 0x400000
+push 0xff0000
+push 0x1c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0xb4
+push 0x140
+mov eax, dword [ref_0048c377] ; mov eax, dword [0x48c377]
+dec eax
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov ecx, dword [eax*4 + ref_00475630] ; mov ecx, dword [eax*4 + 0x475630]
+push ecx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+call fcn_0042f417 ; call 0x42f417
+push 0
+push ref_00475683 ; push 0x475683
+jmp near loc_00430478 ; jmp 0x430478
+
+loc_004306ff:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x82
+push 0x260
+push 0x154
+push 0x10
+push 0x154
+push 0x10
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x1e0
+push 0xa0
+push 0
+push 0
+push 0
+push 0
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x1e0
+push 0x96
+push 0
+push 0x1ea
+push 0
+push 0x1ea
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x42
+push 0x1d8
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x42
+push 7
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x30
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x195
+push 0x11e
+xor edx, edx
+mov dl, byte [ref_0048c37d] ; mov dl, byte [0x48c37d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x195
+push 0x166
+xor edx, edx
+mov dl, byte [ref_0048c37e] ; mov dl, byte [0x48c37e]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0x4f35b1
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0xc1
+push 0x4d
+push ref_004645d9 ; push 0x4645d9
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 2
+push 0
+push 0xff0000
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov byte [esp + 0x74], 0x24
+mov esi, dword [ref_00499080] ; mov esi, dword [0x499080]
+push esi
+lea eax, [esp + 0x79]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 2
+push 0xe4
+push 0x4d
+lea eax, [esp + 0x80]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_0042f417 ; call 0x42f417
+mov byte [ref_0048c37b], 8 ; mov byte [0x48c37b], 8
+jmp near loc_004301db ; jmp 0x4301db
+
+loc_004308e0:
+mov byte [ref_0048c37b], 8 ; mov byte [0x48c37b], 8
+mov ebx, dword [ref_00475624] ; mov ebx, dword [0x475624]
+push ebx
+jmp near loc_00430244 ; jmp 0x430244
+
+loc_004308f3:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x82
+push 0x260
+push 0x154
+push 0x10
+push 0x154
+push 0x10
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x16c
+push 0x97
+push 0x74
+push 0x1e9
+push 0x74
+push 0x1e9
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x82
+push 0x86
+push 0x112
+push 0
+push 0x154
+push 7
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x30
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456495 ; call 0x456495
+add esp, 0x20
+push 0x42
+push 0x1d8
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x18
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x28
+push 0x32
+push 0x17
+push 0x2d
+push 0x59
+push 0x34
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x30
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x195
+push 0x11e
+xor edx, edx
+mov dl, byte [ref_0048c37d] ; mov dl, byte [0x48c37d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x195
+push 0x166
+xor edx, edx
+mov dl, byte [ref_0048c37e] ; mov dl, byte [0x48c37e]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+call fcn_0042f417 ; call 0x42f417
+push 0
+push 0x101010
+push 0
+push 0xfffffffffffffff6
+push 0x2f
+push 0x12c
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x114
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+mov byte [ref_0048c37b], 9 ; mov byte [0x48c37b], 9
+mov ecx, dword [ref_00475628] ; mov ecx, dword [0x475628]
+jmp near loc_00430243 ; jmp 0x430243
+
+loc_00430aa3:
+mov byte [ref_0048c37b], 0xa ; mov byte [0x48c37b], 0xa
+mov eax, dword [ref_0047562c] ; mov eax, dword [0x47562c]
+push eax
+jmp near loc_00430244 ; jmp 0x430244
+
+loc_00430ab5:
+mov ecx, dword [ref_0048c373] ; mov ecx, dword [0x48c373]
+push ecx
+push esi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+mov ebx, dword [ref_0048c377] ; mov ebx, dword [0x48c377]
+test ebx, ebx
+je short loc_00430afb ; je 0x430afb
+push 1
+mov edi, dword [ref_00499080] ; mov edi, dword [0x499080]
+push edi
+lea eax, [ebx - 1]
+push eax
+call fcn_0041d3f4 ; call 0x41d3f4
+add esp, 0xc
+xor ebp, ebp
+mov dword [ref_00499080], ebp ; mov dword [0x499080], ebp
+push 0x24
+push ebp
+push ref_004990b8 ; push 0x4990b8
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+
+loc_00430afb:
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_00430249 ; jmp 0x430249
+
+loc_00430b07:
+inc eax
+cmp eax, 0x24
+jge short loc_00430b2a ; jge 0x430b2a
+
+loc_00430b0d:
+mov cl, byte [eax + ref_004990b8] ; mov cl, byte [eax + 0x4990b8]
+test cl, cl
+je short loc_00430b07 ; je 0x430b07
+xor edx, edx
+mov dl, cl
+inc byte [esp + edx + 0x7f]
+mov dl, al
+inc dl
+mov byte [esp + ebx + 0x40], dl
+inc ebx
+jmp short loc_00430b07 ; jmp 0x430b07
+
+loc_00430b2a:
+cmp byte [esp + 0x80], 0xa
+ja short loc_00430b52 ; ja 0x430b52
+cmp byte [esp + 0x81], 0xa
+ja short loc_00430b52 ; ja 0x430b52
+cmp byte [esp + 0x82], 0xa
+ja short loc_00430b52 ; ja 0x430b52
+cmp byte [esp + 0x83], 0xa
+jbe short loc_00430b66 ; jbe 0x430b66
+
+loc_00430b52:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+xor ebx, ebx
+mov bl, byte [esp + edx + 0x40]
+jmp short loc_00430b7a ; jmp 0x430b7a
+
+loc_00430b66:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 0x24
+sar edx, 0x1f
+idiv ebx
+lea ebx, [edx + 1]
+
+loc_00430b7a:
+push ebx
+push ref_004645d4 ; push 0x4645d4
+lea eax, [esp + 0x7c]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov al, byte [esp + 0x74]
+sub al, 0xb
+mov byte [ref_0048c37d], al ; mov byte [0x48c37d], al
+mov al, byte [esp + 0x75]
+sub al, 0xb
+mov byte [ref_0048c37e], al ; mov byte [0x48c37e], al
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x82
+push 0x260
+push 0x154
+push 0x10
+push 0x154
+push 0x10
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x82
+push 0x86
+push 0x112
+push 0
+push 0x154
+push 7
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x30
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456495 ; call 0x456495
+add esp, 0x20
+push 0x195
+push 0x11e
+xor edx, edx
+mov dl, byte [ref_0048c37d] ; mov dl, byte [0x48c37d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x195
+push 0x166
+xor edx, edx
+mov dl, byte [ref_0048c37e] ; mov dl, byte [0x48c37e]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0xdc
+push 0x12c
+xor eax, eax
+mov al, byte [ref_0048c37d] ; mov al, byte [0x48c37d]
+lea edx, [eax - 0x1d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0xdc
+push 0x154
+xor eax, eax
+mov al, byte [ref_0048c37e] ; mov al, byte [0x48c37e]
+lea edx, [eax - 0x1d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x64], 0xf4
+mov dword [esp + 0x68], 0xb4
+mov dword [esp + 0x6c], 0x18a
+mov dword [esp + 0x70], 0x1bc
+call fcn_0042f417 ; call 0x42f417
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x68]
+push ecx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x74]
+push ebp
+mov ecx, dword [esp + 0x74]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+cmp byte [ebx + ref_004990b7], 0 ; cmp byte [ebx + 0x4990b7], 0
+je short loc_00430d85 ; je 0x430d85
+mov byte [ref_0048c37b], 4 ; mov byte [0x48c37b], 4
+mov ebp, dword [ref_00475618] ; mov ebp, dword [0x475618]
+push ebp
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+xor eax, eax
+mov al, byte [ebx + ref_004990b7] ; mov al, byte [ebx + 0x4990b7]
+mov dword [ref_0048c377], eax ; mov dword [0x48c377], eax
+jmp near loc_00430f43 ; jmp 0x430f43
+
+loc_00430d85:
+push 0x1f4
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+mov byte [ref_0048c37b], 7 ; mov byte [0x48c37b], 7
+push 0
+push 0x101010
+push 0
+push 0
+push 0xc8
+push 0x140
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x120
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x82
+push 0x260
+push 0x154
+push 0x10
+push 0x154
+push 0x10
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x1e0
+push 0xa9
+push 0
+push 0x1d8
+push 0
+push 0x1d8
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x82
+push 0x86
+push 0x112
+push 0
+push 0x154
+push 7
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x30
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456495 ; call 0x456495
+add esp, 0x20
+push 0x195
+push 0x11e
+xor edx, edx
+mov dl, byte [ref_0048c37d] ; mov dl, byte [0x48c37d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x195
+push 0x166
+xor edx, edx
+mov dl, byte [ref_0048c37e] ; mov dl, byte [0x48c37e]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x74
+push 0x1e9
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x3c
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x59
+push 0x34
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x108
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+call fcn_0042f417 ; call 0x42f417
+mov edi, dword [ref_00475620] ; mov edi, dword [0x475620]
+push edi
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+
+loc_00430f43:
+cmp byte [ref_0048c37b], 5 ; cmp byte [0x48c37b], 5
+jne near loc_004310eb ; jne 0x4310eb
+mov dl, byte [ref_0048c37c] ; mov dl, byte [0x48c37c]
+inc dl
+mov byte [ref_0048c37c], dl ; mov byte [0x48c37c], dl
+cmp dl, 0x1e
+jbe near loc_004310eb ; jbe 0x4310eb
+call fcn_00450f04 ; call 0x450f04
+test eax, eax
+jne near loc_004310eb ; jne 0x4310eb
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x82
+push 0x260
+push 0x154
+push 0x10
+push 0x154
+push 0x10
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x168
+push 0x14a
+push 0
+push 0x96
+push 0
+push 0x96
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x78
+push 0xa2
+push 0x154
+push 0
+push 0x154
+push 0
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x54
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456495 ; call 0x456495
+add esp, 0x20
+push 0x82
+push 0x7c
+push 0x112
+push 0
+push 0x154
+push 0x1f9
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x48
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456495 ; call 0x456495
+add esp, 0x20
+push 0x195
+push 0x11e
+xor edx, edx
+mov dl, byte [ref_0048c37d] ; mov dl, byte [0x48c37d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c360] ; mov edx, dword [0x48c360]
+add edx, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x195
+push 0x166
+xor edx, edx
+mov dl, byte [ref_0048c37e] ; mov dl, byte [0x48c37e]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+call fcn_0042f417 ; call 0x42f417
+mov byte [ref_0048c37b], 6 ; mov byte [0x48c37b], 6
+mov eax, dword [ref_0047561c] ; mov eax, dword [0x47561c]
+push eax
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+
+loc_004310eb:
+mov bh, byte [ref_0048c37b] ; mov bh, byte [0x48c37b]
+cmp bh, 4
+jb short loc_004310ff ; jb 0x4310ff
+cmp bh, 8
+jbe near loc_004301db ; jbe 0x4301db
+
+loc_004310ff:
+mov eax, dword [ref_0048c350] ; mov eax, dword [0x48c350]
+and eax, 0xf
+cmp eax, 4
+ja near loc_00431431 ; ja 0x431431
+jmp dword [eax*4 + ref_004300f8] ; ujmp: jmp dword [eax*4 + 0x4300f8]
+
+loc_00431117:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+sar ebx, 9
+mov eax, dword [ref_0048c350] ; mov eax, dword [0x48c350]
+and al, 0xf0
+test ebx, ebx
+jne short loc_00431138 ; jne 0x431138
+or al, 1
+
+loc_0043112e:
+mov dword [ref_0048c350], eax ; mov dword [0x48c350], eax
+jmp near loc_00431431 ; jmp 0x431431
+
+loc_00431138:
+cmp ebx, 1
+jne short loc_00431141 ; jne 0x431141
+or al, 2
+jmp short loc_0043112e ; jmp 0x43112e
+
+loc_00431141:
+cmp ebx, 4
+jge short loc_0043114a ; jge 0x43114a
+or al, 3
+jmp short loc_0043112e ; jmp 0x43112e
+
+loc_0043114a:
+cmp ebx, 6
+jge near loc_00431431 ; jge 0x431431
+or al, 4
+jmp short loc_0043112e ; jmp 0x43112e
+
+loc_00431157:
+mov ebx, dword [ref_0048c350] ; mov ebx, dword [0x48c350]
+and ebx, 0xf0
+sar ebx, 4
+mov dword [esp + 0x64], 0x200
+mov dword [esp + 0x68], 0x66
+mov dword [esp + 0x6c], 0x232
+mov dword [esp + 0x70], 0x76
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0x68]
+push ecx
+mov edi, dword [esp + 0x68]
+push edi
+xor edx, edx
+mov dl, byte [ebx + ref_00475663] ; mov dl, byte [ebx + 0x475663]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c360] ; mov edx, dword [0x48c360]
+add edx, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+add dword [ref_0048c350], 0x10 ; add dword [0x48c350], 0x10
+mov bh, byte [ref_0048c350] ; mov bh, byte [0x48c350]
+and bh, 0x3f
+mov byte [ref_0048c350], bh ; mov byte [0x48c350], bh
+test bh, 0x30
+jne short loc_004311fe ; jne 0x4311fe
+or byte [ref_0048c351], 0x10 ; or byte [0x48c351], 0x10
+mov al, bh
+and al, 0xf0
+mov byte [ref_0048c350], al ; mov byte [0x48c350], al
+
+loc_004311fe:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x68]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00431431 ; jmp 0x431431
+
+loc_00431222:
+mov ebx, dword [ref_0048c350] ; mov ebx, dword [0x48c350]
+and ebx, 0xf00
+sar ebx, 8
+mov dword [esp + 0x64], 0x34
+mov dword [esp + 0x68], 0x59
+mov dword [esp + 0x6c], 0x66
+mov dword [esp + 0x70], 0x73
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0x68]
+push ebp
+mov eax, dword [esp + 0x68]
+push eax
+xor edx, edx
+mov dl, byte [ebx + ref_00475667] ; mov dl, byte [ebx + 0x475667]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+add dword [ref_0048c350], 0x100 ; add dword [0x48c350], 0x100
+mov ah, byte [ref_0048c351] ; mov ah, byte [0x48c351]
+and ah, 0xf3
+mov byte [ref_0048c351], ah ; mov byte [0x48c351], ah
+test ah, 3
+jne near loc_004311fe ; jne 0x4311fe
+mov dh, ah
+or dh, 0x20
+mov byte [ref_0048c351], dh ; mov byte [0x48c351], dh
+and byte [ref_0048c350], 0xf0 ; and byte [0x48c350], 0xf0
+jmp near loc_004311fe ; jmp 0x4311fe
+
+loc_004312d8:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+and ebx, 1
+mov eax, dword [ref_0048c350] ; mov eax, dword [0x48c350]
+and eax, 0x1000
+sar eax, 0xc
+cmp ebx, eax
+je near loc_0043142a ; je 0x43142a
+mov dword [esp + 0x64], 0x200
+mov dword [esp + 0x68], 0x66
+mov dword [esp + 0x6c], 0x232
+mov dword [esp + 0x70], 0x76
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0x68]
+push ecx
+mov edi, dword [esp + 0x68]
+push edi
+lea edx, [ebx + 9]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c360] ; mov edx, dword [0x48c360]
+add edx, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x68]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043142a ; jmp 0x43142a
+
+loc_00431383:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+and ebx, 1
+mov eax, dword [ref_0048c350] ; mov eax, dword [0x48c350]
+and eax, 0x2000
+sar eax, 0xd
+cmp ebx, eax
+je near loc_0043142a ; je 0x43142a
+mov dword [esp + 0x64], 0x34
+mov dword [esp + 0x68], 0x59
+mov dword [esp + 0x6c], 0x66
+mov dword [esp + 0x70], 0x73
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x68]
+push eax
+mov edx, dword [esp + 0x68]
+push edx
+lea edx, [ebx + 0xe]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x68]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043142a:
+and byte [ref_0048c350], 0xf0 ; and byte [0x48c350], 0xf0
+
+loc_00431431:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_00431447 ; jne 0x431447
+cmp dword [ref_0048c34c], 0 ; cmp dword [0x48c34c], 0
+je near loc_004301db ; je 0x4301db
+
+loc_00431447:
+mov dword [esp + 0x64], 0x200
+mov dword [esp + 0x68], 0x77
+mov dword [esp + 0x6c], 0x232
+mov dword [esp + 0x70], 0x8d
+mov eax, dword [ref_0048c34c] ; mov eax, dword [0x48c34c]
+test eax, eax
+je short loc_004314da ; je 0x4314da
+dec eax
+mov dword [ref_0048c34c], eax ; mov dword [0x48c34c], eax
+jne near loc_004301db ; jne 0x4301db
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0x68]
+push ecx
+mov ebx, dword [esp + 0x68]
+push ebx
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0x90
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_004314c6:
+push 0
+lea eax, [esp + 0x68]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_004301db ; jmp 0x4301db
+
+loc_004314da:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+sar ebx, 0xb
+cmp ebx, 4
+jge near loc_004301db ; jge 0x4301db
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp + 0x68]
+push edx
+mov ecx, dword [esp + 0x68]
+push ecx
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+lea edx, [eax + 0xc]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c360] ; mov eax, dword [0x48c360]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and eax, 0xf
+mov dword [ref_0048c34c], eax ; mov dword [0x48c34c], eax
+jne near loc_004314c6 ; jne 0x4314c6
+mov dword [ref_0048c34c], 1 ; mov dword [0x48c34c], 1
+jmp near loc_004314c6 ; jmp 0x4314c6
+
+loc_00431570:
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0xc]
+push ebx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x18]
+push ebp
+mov ecx, dword [esp + 0x18]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_004301db ; jmp 0x4301db
+
+loc_004315ae:
+mov ecx, dword [esp + 0xa4]
+push ecx
+mov ebx, dword [esp + 0xa4]
+push ebx
+push eax
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_004301dd ; jmp 0x4301dd
+
+fcn_004315cc:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x28
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_0043169e ; jne 0x43169e
+push ref_0047566b ; push 0x47566b
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0
+push 0
+push 0xc
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c35c], eax ; mov dword [0x48c35c], eax
+push 0
+push 0
+push 0xd
+mov esi, dword [ref_0048a05c] ; mov esi, dword [0x48a05c]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c368], eax ; mov dword [0x48c368], eax
+push 0
+push 0
+push 0xe
+mov edi, dword [ref_0048a05c] ; mov edi, dword [0x48a05c]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c364], eax ; mov dword [0x48c364], eax
+push 6
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_0042f7fc ; push 0x42f7fc
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+mov ebp, dword [ref_0048c35c] ; mov ebp, dword [0x48c35c]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048c368] ; mov eax, dword [0x48c368]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edx, dword [ref_0048c364] ; mov edx, dword [0x48c364]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_0047566b ; push 0x47566b
+call fcn_00454240 ; call 0x454240
+add esp, 4
+jmp near loc_0043170a ; jmp 0x43170a
+
+loc_0043169e:
+cmp dword [eax + ref_00496b84], 0x3e8 ; cmp dword [eax + 0x496b84], 0x3e8
+jle short loc_0043170a ; jle 0x43170a
+xor eax, eax
+xor ebx, ebx
+jmp short loc_004316b6 ; jmp 0x4316b6
+
+loc_004316b0:
+inc eax
+cmp eax, 0x24
+jge short loc_004316c5 ; jge 0x4316c5
+
+loc_004316b6:
+cmp byte [eax + ref_004990b8], 0 ; cmp byte [eax + 0x4990b8], 0
+jne short loc_004316b0 ; jne 0x4316b0
+mov byte [esp + ebx], al
+inc ebx
+jmp short loc_004316b0 ; jmp 0x4316b0
+
+loc_004316c5:
+test ebx, ebx
+je short loc_0043170a ; je 0x43170a
+mov al, byte [ref_0049910c] ; mov al, byte [0x49910c]
+inc al
+mov byte [esp + 0x24], al
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+xor eax, eax
+mov al, byte [esp + edx]
+mov dl, byte [esp + 0x24]
+mov byte [eax + ref_004990b8], dl ; mov byte [eax + 0x4990b8], dl
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+sub dword [eax + ref_00496b84], 0x3e8 ; sub dword [eax + 0x496b84], 0x3e8
+add dword [ref_00499080], 0x3e8 ; add dword [0x499080], 0x3e8
+
+loc_0043170a:
+add esp, 0x28
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00431712:
+push ebx
+push esi
+push edi
+push ebp
+xor eax, eax
+jmp short loc_00431720 ; jmp 0x431720
+
+loc_0043171a:
+inc eax
+cmp eax, 0x24
+jge short loc_00431729 ; jge 0x431729
+
+loc_00431720:
+cmp byte [eax + ref_004990b8], 0 ; cmp byte [eax + 0x4990b8], 0
+je short loc_0043171a ; je 0x43171a
+
+loc_00431729:
+cmp eax, 0x24
+je near loc_0043180d ; je 0x43180d
+push ref_0047567b ; push 0x47567b
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0
+push 0
+push 0xf
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c360], eax ; mov dword [0x48c360], eax
+push 0
+push 0
+push 0xd
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c368], eax ; mov dword [0x48c368], eax
+push 0
+push 0
+push 0x10
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c358], eax ; mov dword [0x48c358], eax
+push 0
+push 0
+push 0x11
+mov esi, dword [ref_0048a05c] ; mov esi, dword [0x48a05c]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c354], eax ; mov dword [0x48c354], eax
+push 8
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_0043010c ; push 0x43010c
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+mov edi, dword [ref_0048c360] ; mov edi, dword [0x48c360]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048c368] ; mov ebp, dword [0x48c368]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048c358] ; mov eax, dword [0x48c358]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edx, dword [ref_0048c354] ; mov edx, dword [0x48c354]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_0047567b ; push 0x47567b
+call fcn_00454240 ; call 0x454240
+add esp, 4
+
+loc_0043180d:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+ref_00431812: ; may contain a jump table
+dd loc_00431867
+dd loc_004318b7
+dd loc_00431969
+dd loc_00431a23
+dd loc_00431a7d
+dd loc_00431ad2
+dd loc_00431b2c
+dd loc_00431b61
+dd loc_00431b99
+dd loc_00431bcf
+dd loc_00431c02
+dd loc_00431c31
+
+fcn_00431842:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+xor edx, edx
+mov dword [ref_0048c380], edx ; mov dword [0x48c380], edx
+mov ecx, dword [esp + 0x18]
+cmp ecx, 0xb
+ja near loc_00431c62 ; ja 0x431c62
+mov eax, ecx
+jmp dword [eax*4 + ref_00431812] ; ujmp: jmp dword [eax*4 + 0x431812]
+
+loc_00431867:
+xor ebx, ebx
+xor esi, esi
+mov dword [esp], edx
+
+loc_0043186e:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_004318b4 ; je 0x4318b4
+push ebx
+call fcn_004239b9 ; call 0x4239b9
+add esp, 4
+mov edx, dword [esp]
+cmp eax, edx
+jle short loc_004318a7 ; jle 0x4318a7
+mov dword [esp], eax
+test esi, esi
+je short loc_004318a9 ; je 0x4318a9
+xor esi, esi
+mov dword [ref_0048c380], esi ; mov dword [0x48c380], esi
+jmp short loc_004318a9 ; jmp 0x4318a9
+
+loc_004318a7:
+jne short loc_004318b4 ; jne 0x4318b4
+
+loc_004318a9:
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_004318b4:
+inc ebx
+jmp short loc_0043186e ; jmp 0x43186e
+
+loc_004318b7:
+xor ebx, ebx
+xor esi, esi
+mov dword [esp], edx
+
+loc_004318be:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_00431963 ; je 0x431963
+xor edx, edx
+mov eax, 1
+
+loc_004318e1:
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_00431907 ; jg 0x431907
+imul edi, eax, 0x34
+mov ecx, dword [ref_00498e84] ; mov ecx, dword [0x498e84]
+mov cl, byte [ecx + edi + 0x19]
+and ecx, 0xff
+lea edi, [ebx + 1]
+cmp ecx, edi
+jne short loc_00431904 ; jne 0x431904
+inc edx
+
+loc_00431904:
+inc eax
+jmp short loc_004318e1 ; jmp 0x4318e1
+
+loc_00431907:
+mov eax, 1
+
+loc_0043190c:
+cmp eax, dword [ref_00498e8c] ; cmp eax, dword [0x498e8c]
+jg short loc_00431938 ; jg 0x431938
+mov ecx, eax
+shl ecx, 3
+mov edi, ecx
+shl ecx, 3
+sub ecx, edi
+mov edi, ecx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+movzx edi, byte [ecx + edi + 0x19]
+lea ecx, [ebx + 1]
+cmp edi, ecx
+jne short loc_00431935 ; jne 0x431935
+inc edx
+
+loc_00431935:
+inc eax
+jmp short loc_0043190c ; jmp 0x43190c
+
+loc_00431938:
+test edx, edx
+je short loc_00431963 ; je 0x431963
+mov ebp, dword [esp]
+cmp edx, ebp
+jle short loc_00431956 ; jle 0x431956
+mov dword [esp], edx
+test esi, esi
+je short loc_00431958 ; je 0x431958
+xor edx, edx
+mov dword [ref_0048c380], edx ; mov dword [0x48c380], edx
+xor esi, esi
+jmp short loc_00431958 ; jmp 0x431958
+
+loc_00431956:
+jne short loc_00431963 ; jne 0x431963
+
+loc_00431958:
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431963:
+inc ebx
+jmp near loc_004318be ; jmp 0x4318be
+
+loc_00431969:
+xor ebx, ebx
+xor esi, esi
+mov dword [esp], edx
+
+loc_00431970:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_00431a1d ; je 0x431a1d
+xor edx, edx
+mov eax, 1
+
+loc_00431993:
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_004319bb ; jg 0x4319bb
+imul ecx, eax, 0x34
+mov edi, dword [ref_00498e84] ; mov edi, dword [0x498e84]
+add ecx, edi
+movzx ebp, byte [ecx + 0x19]
+lea edi, [ebx + 1]
+cmp ebp, edi
+jne short loc_004319b8 ; jne 0x4319b8
+cmp byte [ecx + 0x1a], 0
+je short loc_004319b8 ; je 0x4319b8
+inc edx
+
+loc_004319b8:
+inc eax
+jmp short loc_00431993 ; jmp 0x431993
+
+loc_004319bb:
+mov eax, 1
+
+loc_004319c0:
+cmp eax, dword [ref_00498e8c] ; cmp eax, dword [0x498e8c]
+jg short loc_004319f3 ; jg 0x4319f3
+mov ecx, eax
+shl ecx, 3
+mov edi, ecx
+shl ecx, 3
+sub ecx, edi
+mov edi, ecx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+add ecx, edi
+movzx ebp, byte [ecx + 0x19]
+lea edi, [ebx + 1]
+cmp ebp, edi
+jne short loc_004319f0 ; jne 0x4319f0
+cmp byte [ecx + 0x1a], 0
+je short loc_004319f0 ; je 0x4319f0
+inc edx
+
+loc_004319f0:
+inc eax
+jmp short loc_004319c0 ; jmp 0x4319c0
+
+loc_004319f3:
+test edx, edx
+je short loc_00431a1d ; je 0x431a1d
+mov edi, dword [esp]
+cmp edx, edi
+jle short loc_00431a10 ; jle 0x431a10
+mov dword [esp], edx
+test esi, esi
+je short loc_00431a12 ; je 0x431a12
+xor eax, eax
+mov dword [ref_0048c380], eax ; mov dword [0x48c380], eax
+xor esi, esi
+jmp short loc_00431a12 ; jmp 0x431a12
+
+loc_00431a10:
+jne short loc_00431a1d ; jne 0x431a1d
+
+loc_00431a12:
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431a1d:
+inc ebx
+jmp near loc_00431970 ; jmp 0x431970
+
+loc_00431a23:
+xor ebx, ebx
+xor esi, esi
+xor eax, ecx
+mov dword [esp], eax
+
+loc_00431a2c:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00431a7a ; je 0x431a7a
+cmp dword [eax + ref_00496b84], 0 ; cmp dword [eax + 0x496b84], 0
+je short loc_00431a7a ; je 0x431a7a
+mov edx, dword [esp]
+mov ecx, dword [eax + ref_00496b84] ; mov ecx, dword [eax + 0x496b84]
+cmp edx, ecx
+jge short loc_00431a6d ; jge 0x431a6d
+mov dword [esp], ecx
+test esi, esi
+je short loc_00431a6f ; je 0x431a6f
+xor ebp, ebp
+mov dword [ref_0048c380], ebp ; mov dword [0x48c380], ebp
+xor esi, esi
+jmp short loc_00431a6f ; jmp 0x431a6f
+
+loc_00431a6d:
+jne short loc_00431a7a ; jne 0x431a7a
+
+loc_00431a6f:
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431a7a:
+inc ebx
+jmp short loc_00431a2c ; jmp 0x431a2c
+
+loc_00431a7d:
+xor ebx, ebx
+xor esi, esi
+mov dword [esp], edx
+mov edi, dword [ref_00499114] ; mov edi, dword [0x499114]
+
+loc_00431a8a:
+cmp ebx, edi
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00431acf ; je 0x431acf
+mov ebp, dword [eax + ref_00496b88] ; mov ebp, dword [eax + 0x496b88]
+test ebp, ebp
+je short loc_00431acf ; je 0x431acf
+mov edx, dword [esp]
+cmp edx, ebp
+jge short loc_00431ac2 ; jge 0x431ac2
+mov dword [esp], ebp
+test esi, esi
+je short loc_00431ac4 ; je 0x431ac4
+xor ebp, ebp
+mov dword [ref_0048c380], ebp ; mov dword [0x48c380], ebp
+xor esi, esi
+jmp short loc_00431ac4 ; jmp 0x431ac4
+
+loc_00431ac2:
+jne short loc_00431acf ; jne 0x431acf
+
+loc_00431ac4:
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431acf:
+inc ebx
+jmp short loc_00431a8a ; jmp 0x431a8a
+
+loc_00431ad2:
+xor ebx, ebx
+xor esi, esi
+mov dword [esp], edx
+
+loc_00431ad9:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00431b29 ; je 0x431b29
+mov dx, word [eax + ref_00496b98] ; mov dx, word [eax + 0x496b98]
+test dx, dx
+je short loc_00431b29 ; je 0x431b29
+mov eax, edx
+and eax, 0xffff
+mov edx, dword [esp]
+cmp eax, edx
+jle short loc_00431b1c ; jle 0x431b1c
+mov dword [esp], eax
+test esi, esi
+je short loc_00431b1e ; je 0x431b1e
+xor esi, esi
+mov dword [ref_0048c380], esi ; mov dword [0x48c380], esi
+jmp short loc_00431b1e ; jmp 0x431b1e
+
+loc_00431b1c:
+jne short loc_00431b29 ; jne 0x431b29
+
+loc_00431b1e:
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431b29:
+inc ebx
+jmp short loc_00431ad9 ; jmp 0x431ad9
+
+loc_00431b2c:
+xor ebx, ebx
+xor esi, esi
+mov ebp, dword [ref_00499114] ; mov ebp, dword [0x499114]
+
+loc_00431b36:
+cmp ebx, ebp
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00431b5e ; je 0x431b5e
+test byte [eax + ref_00496b79], 3 ; test byte [eax + 0x496b79], 3
+jne short loc_00431b5e ; jne 0x431b5e
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431b5e:
+inc ebx
+jmp short loc_00431b36 ; jmp 0x431b36
+
+loc_00431b61:
+xor ebx, ebx
+xor esi, esi
+mov edi, dword [ref_00499114] ; mov edi, dword [0x499114]
+
+loc_00431b6b:
+cmp ebx, edi
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00431b96 ; je 0x431b96
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+cmp al, 1
+jne short loc_00431b96 ; jne 0x431b96
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431b96:
+inc ebx
+jmp short loc_00431b6b ; jmp 0x431b6b
+
+loc_00431b99:
+xor ebx, ebx
+xor esi, esi
+
+loc_00431b9d:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00431bcc ; je 0x431bcc
+mov al, byte [eax + ref_00496b79] ; mov al, byte [eax + 0x496b79]
+and al, 3
+cmp al, 2
+jne short loc_00431bcc ; jne 0x431bcc
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431bcc:
+inc ebx
+jmp short loc_00431b9d ; jmp 0x431b9d
+
+loc_00431bcf:
+xor ebx, ebx
+xor esi, esi
+
+loc_00431bd3:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00431bff ; je 0x431bff
+cmp byte [eax + ref_00496ba7], 0 ; cmp byte [eax + 0x496ba7], 0
+je short loc_00431bff ; je 0x431bff
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431bff:
+inc ebx
+jmp short loc_00431bd3 ; jmp 0x431bd3
+
+loc_00431c02:
+xor ebx, ebx
+xor esi, esi
+
+loc_00431c06:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00431c2e ; je 0x431c2e
+cmp byte [eax + ref_00496b7c], 0 ; cmp byte [eax + 0x496b7c], 0
+je short loc_00431c2e ; je 0x431c2e
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431c2e:
+inc ebx
+jmp short loc_00431c06 ; jmp 0x431c06
+
+loc_00431c31:
+xor ebx, ebx
+xor esi, esi
+mov ebp, dword [ref_00499114] ; mov ebp, dword [0x499114]
+
+loc_00431c3b:
+cmp ebx, ebp
+jge short loc_00431c62 ; jge 0x431c62
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00431c5f ; je 0x431c5f
+cmp byte [eax + ref_00496b7c], 0 ; cmp byte [eax + 0x496b7c], 0
+jne short loc_00431c5f ; jne 0x431c5f
+mov al, bl
+inc al
+mov byte [esi + ref_0048c380], al ; mov byte [esi + 0x48c380], al
+inc esi
+
+loc_00431c5f:
+inc ebx
+jmp short loc_00431c3b ; jmp 0x431c3b
+
+loc_00431c62:
+cmp dword [ref_0048c380], 0 ; cmp dword [0x48c380], 0
+setne al
+and eax, 0xff
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00431c79:
+db 0x90
+
+ref_00431c7a: ; may contain a jump table
+dd loc_00431cd6
+dd loc_00431d65
+dd loc_00431dcc
+dd loc_00431e75
+dd loc_00431eef
+dd loc_00431f67
+dd loc_004320dd
+dd loc_00432160
+dd loc_004321f0
+dd loc_00432259
+dd loc_00432384
+dd loc_0043242b
+
+fcn_00431caa:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xb4
+mov esi, dword [esp + 0xc8]
+xor edx, edx
+mov dword [ref_0048be18], edx ; mov dword [0x48be18], edx
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov dword [esp + 0xb0], eax
+xor edi, edi
+jmp near loc_004320b4 ; jmp 0x4320b4
+
+loc_00431cd6:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov ebx, dword [eax + ref_00475724] ; mov ebx, dword [eax + 0x475724]
+push ebx
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+imul ebx, ebp, 0x68
+push ebp
+call fcn_00441f21 ; call 0x441f21
+
+loc_00431d3a:
+add esp, 4
+add word [ebx + ref_00496b98], ax ; add word [ebx + 0x496b98], ax
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+
+loc_00431d4b:
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+push 0xc8
+
+loc_00431d58:
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+jmp near loc_004320aa ; jmp 0x4320aa
+
+loc_00431d65:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ebx, dword [eax + ref_00496b68] ; mov ebx, dword [eax + 0x496b68]
+push ebx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov ebp, dword [eax + ref_00475724] ; mov ebp, dword [eax + 0x475724]
+push ebp
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+xor ebx, ebx
+
+loc_00431dbc:
+call fcn_0044db81 ; call 0x44db81
+inc ebx
+cmp ebx, 3
+jl short loc_00431dbc ; jl 0x431dbc
+jmp near loc_004320aa ; jmp 0x4320aa
+
+loc_00431dcc:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov ebx, dword [eax + ref_00475724] ; mov ebx, dword [eax + 0x475724]
+push ebx
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+add ebx, ebx
+mov eax, ebx
+shl ebx, 4
+sub ebx, eax
+push ebx
+mov ebp, dword [esp + 0xb4]
+push ebp
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_00441210 ; call 0x441210
+add esp, 4
+cmp eax, 0xffffffff
+je near loc_004320aa ; je 0x4320aa
+push 3
+push eax
+call fcn_0043d593 ; call 0x43d593
+
+loc_00431e6d:
+add esp, 8
+jmp near loc_004320aa ; jmp 0x4320aa
+
+loc_00431e75:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ebx, dword [eax + ref_00496b68] ; mov ebx, dword [eax + 0x496b68]
+push ebx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov ebp, dword [eax + ref_00475724] ; mov ebp, dword [eax + 0x475724]
+push ebp
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+mov dh, byte [ebx + ref_00496ba0] ; mov dh, byte [ebx + 0x496ba0]
+inc dh
+mov byte [ebx + ref_00496ba0], dh ; mov byte [ebx + 0x496ba0], dh
+mov cl, dh
+and cl, 0x7f
+mov byte [ebx + ref_00496ba0], cl ; mov byte [ebx + 0x496ba0], cl
+jmp near loc_004320aa ; jmp 0x4320aa
+
+loc_00431eef:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ebp, dword [eax + ref_00496b68] ; mov ebp, dword [eax + 0x496b68]
+push ebp
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov edx, dword [eax + ref_00475724] ; mov edx, dword [eax + 0x475724]
+push edx
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul ebx, ecx, 0x68
+mov eax, dword [ebx + ref_00496b84] ; mov eax, dword [ebx + 0x496b84]
+add dword [ebx + ref_00496b88], eax ; add dword [ebx + 0x496b88], eax
+xor eax, eax
+mov dword [ebx + ref_00496b84], eax ; mov dword [ebx + 0x496b84], eax
+push ecx
+jmp near loc_00431d4b ; jmp 0x431d4b
+
+loc_00431f67:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne near loc_004320aa ; jne 0x4320aa
+mov ax, word [eax + ref_00496b74] ; mov ax, word [eax + 0x496b74]
+and eax, 0xffff
+mov ebx, eax
+shl ebx, 2
+add ebx, eax
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+mov bx, word [eax + ebx*8 + 0x20]
+and ebx, 0xffff
+cmp ebx, 0x7d0
+jle near loc_004320aa ; jle 0x4320aa
+cmp ebx, 0x1770
+jge near loc_004320aa ; jge 0x4320aa
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ebp, dword [eax + ref_00496b68] ; mov ebp, dword [eax + 0x496b68]
+push ebp
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov edx, dword [eax + ref_00475724] ; mov edx, dword [eax + 0x475724]
+push edx
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+lea eax, [esp + 0xac]
+push eax
+lea eax, [esp + 0xac]
+push eax
+push ebx
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 0
+push 0
+push 0x229
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+mov ebp, eax
+add esp, 0x10
+push 0
+mov eax, dword [esp + 0xb0]
+push eax
+mov edx, dword [esp + 0xb0]
+push edx
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push ebx
+call fcn_0040b110 ; call 0x40b110
+add esp, 4
+mov dword [esp + 0xa8], eax
+push 0x5b
+push 0x2c0001
+push 0x28
+push 0
+push ebp
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+test byte [esp + 0xa8], 0x80
+je short loc_00432094 ; je 0x432094
+call fcn_0040b0cd ; call 0x40b0cd
+
+loc_00432094:
+push ref_0046482f ; push 0x46482f
+push 0
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+
+loc_004320a2:
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_004320aa:
+inc edi
+cmp edi, 4
+jge near loc_004324fa ; jge 0x4324fa
+
+loc_004320b4:
+cmp byte [edi + ref_0048c380], 0 ; cmp byte [edi + 0x48c380], 0
+je near loc_004324fa ; je 0x4324fa
+xor eax, eax
+mov al, byte [edi + ref_0048c380] ; mov al, byte [edi + 0x48c380]
+dec eax
+mov dword [ref_0049910c], eax ; mov dword [0x49910c], eax
+cmp esi, 0xb
+ja short loc_004320aa ; ja 0x4320aa
+mov eax, esi
+jmp dword [eax*4 + ref_00431c7a] ; ujmp: jmp dword [eax*4 + 0x431c7a]
+
+loc_004320dd:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_00441e12 ; call 0x441e12
+mov ebx, eax
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, ebx
+mov ebx, dword [eax*8 + ref_0047fdea] ; mov ebx, dword [eax*8 + 0x47fdea]
+push ebx
+push ref_00464839 ; push 0x464839
+lea eax, [esp + 0x88]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+lea eax, [esp + 0x80]
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+jmp near loc_00431e6d ; jmp 0x431e6d
+
+loc_00432160:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne near loc_004320aa ; jne 0x4320aa
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov ecx, dword [eax + ref_00475724] ; mov ecx, dword [eax + 0x475724]
+push ecx
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040c78c ; call 0x40c78c
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x1f4
+jmp near loc_00431d58 ; jmp 0x431d58
+
+loc_004321f0:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov ecx, dword [eax + ref_00475724] ; mov ecx, dword [eax + 0x475724]
+push ecx
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+imul ebx, ebp, 0x68
+push ebp
+call fcn_00445b3f ; call 0x445b3f
+jmp near loc_00431d3a ; jmp 0x431d3a
+
+loc_00432259:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp dword [eax + ref_00496b9a], 0 ; cmp dword [eax + 0x496b9a], 0
+jne near loc_004320aa ; jne 0x4320aa
+mov ax, word [eax + ref_00496b74] ; mov ax, word [eax + 0x496b74]
+and eax, 0xffff
+mov ebx, eax
+shl ebx, 2
+add ebx, eax
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+mov bx, word [eax + ebx*8 + 0x20]
+and ebx, 0xffff
+cmp ebx, 0x7d0
+jle near loc_004320aa ; jle 0x4320aa
+cmp ebx, 0x1770
+jge near loc_004320aa ; jge 0x4320aa
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov ebp, dword [eax + ref_00475724] ; mov ebp, dword [eax + 0x475724]
+push ebp
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+lea eax, [esp + 0xac]
+push eax
+lea eax, [esp + 0xac]
+push eax
+push ebx
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 0
+push 0
+push 0x211
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+mov ebp, eax
+add esp, 0x10
+push 0
+mov edx, dword [esp + 0xb0]
+push edx
+mov ecx, dword [esp + 0xb0]
+push ecx
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0
+push ebx
+call fcn_0040ab4a ; call 0x40ab4a
+add esp, 8
+push 0x61
+push 0x260001
+push 0x28
+push 0
+push ebp
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ref_0046482f ; push 0x46482f
+push 0
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+jmp near loc_004320a2 ; jmp 0x4320a2
+
+loc_00432384:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ebx, dword [eax + ref_00496b68] ; mov ebx, dword [eax + 0x496b68]
+push ebx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov ebp, dword [eax + ref_00475724] ; mov ebp, dword [eax + 0x475724]
+push ebp
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+add ebx, ebx
+mov eax, ebx
+shl ebx, 4
+sub ebx, eax
+push ebx
+mov eax, dword [esp + 0xb4]
+push eax
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441210 ; call 0x441210
+add esp, 4
+cmp eax, 0xffffffff
+je near loc_004320aa ; je 0x4320aa
+push 3
+push eax
+call fcn_0043ec3f ; call 0x43ec3f
+jmp near loc_00431e6d ; jmp 0x431e6d
+
+loc_0043242b:
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+cmp dword [ebx + ref_00496b9a], 0 ; cmp dword [ebx + 0x496b9a], 0
+jne near loc_004320aa ; jne 0x4320aa
+xor eax, esi
+mov ax, word [ebx + ref_00496b74] ; mov ax, word [ebx + 0x496b74]
+mov ebx, eax
+shl ebx, 2
+add ebx, eax
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+mov bx, word [eax + ebx*8 + 0x20]
+and ebx, 0xffff
+cmp ebx, 0x7d0
+jle near loc_004320aa ; jle 0x4320aa
+cmp ebx, 0x1770
+jge near loc_004320aa ; jge 0x4320aa
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+push ref_0046482a ; push 0x46482a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esi
+shl eax, 4
+mov ebp, dword [eax + ref_00475724] ; mov ebp, dword [eax + 0x475724]
+push ebp
+lea eax, [esp + 4]
+push eax
+call fcn_004582fc ; call 0x4582fc
+add esp, 8
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 1
+push ebx
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0043bde5 ; call 0x43bde5
+add esp, 0xc
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+push ref_0046482f ; push 0x46482f
+push 0
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+jmp near loc_004320a2 ; jmp 0x4320a2
+
+loc_004324fa:
+mov eax, dword [esp + 0xb0]
+mov dword [ref_0049910c], eax ; mov dword [0x49910c], eax
+add esp, 0xb4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00432511:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x8c
+push 0xf1
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x18
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0x202020
+push 0xe0e0e0
+push 0
+push 0
+push 0x180
+push 0x140
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x6c
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+ret
+
+endloc_0043259f:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_004325a2: ; may contain a jump table
+dd loc_0043285b
+dd loc_0043292e
+dd loc_00432951
+dd loc_00432871
+dd loc_004329ef
+dd loc_00432a0f
+dd loc_00432871
+dd loc_00432a4c
+
+fcn_004325c2:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x5c
+mov ebx, dword [esp + 0x70]
+mov eax, dword [esp + 0x74]
+mov edx, dword [esp + 0x7c]
+cmp eax, 0x201
+jb short loc_0043261c ; jb 0x43261c
+jbe near loc_00432e8e ; jbe 0x432e8e
+cmp eax, 0x205
+jb short loc_0043260c ; jb 0x43260c
+jbe near loc_00432e64 ; jbe 0x432e64
+cmp eax, 0x401
+jb near loc_00433074 ; jb 0x433074
+jbe short loc_00432647 ; jbe 0x432647
+cmp eax, 0x405
+je near loc_004326b9 ; je 0x4326b9
+jmp near loc_00433074 ; jmp 0x433074
+
+loc_0043260c:
+cmp eax, 0x203
+je near loc_00432e8e ; je 0x432e8e
+jmp near loc_00433074 ; jmp 0x433074
+
+loc_0043261c:
+cmp eax, 0x113
+jb short loc_00432639 ; jb 0x432639
+jbe near loc_004326e5 ; jbe 0x4326e5
+cmp eax, 0x200
+je near loc_00432b50 ; je 0x432b50
+jmp near loc_00433074 ; jmp 0x433074
+
+loc_00432639:
+cmp eax, 0xf
+je near loc_0043301c ; je 0x43301c
+jmp near loc_00433074 ; jmp 0x433074
+
+loc_00432647:
+xor cl, cl
+mov byte [ref_0048c3a0], cl ; mov byte [0x48c3a0], cl
+mov byte [ref_0048c3a1], cl ; mov byte [0x48c3a1], cl
+mov byte [ref_0048c3a2], cl ; mov byte [0x48c3a2], cl
+mov byte [ref_0048c3a3], cl ; mov byte [0x48c3a3], cl
+mov byte [ref_0048c3a4], cl ; mov byte [0x48c3a4], cl
+mov al, byte [ref_00497159] ; mov al, byte [0x497159]
+xor al, 1
+mov byte [ref_0048c3a5], al ; mov byte [0x48c3a5], al
+call fcn_00432511 ; call 0x432511
+push 0
+push 0x64
+mov ecx, dword [ref_0046cad8] ; mov ecx, dword [0x46cad8]
+push ecx
+push ebx
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c39c], eax ; mov dword [0x48c39c], eax
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x405
+push ebx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_004326ad:
+xor eax, eax
+
+loc_004326af:
+add esp, 0x5c
+
+loc_004326b2:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_004326b9:
+cmp byte [ref_0048c3a5], 0 ; cmp byte [0x48c3a5], 0
+jne near loc_00432e82 ; jne 0x432e82
+mov byte [ref_0048c3a2], 1 ; mov byte [0x48c3a2], 1
+mov edx, dword [ref_00475694] ; mov edx, dword [0x475694]
+push edx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c3a4], 2 ; mov byte [0x48c3a4], 2
+jmp short loc_004326ad ; jmp 0x4326ad
+
+loc_004326e5:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_004326ad ; je 0x4326ad
+mov eax, dword [esp + 0x78]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne short loc_004326ad ; jne 0x4326ad
+cmp byte [ref_0048c3a2], 4 ; cmp byte [0x48c3a2], 4
+jne near loc_00432828 ; jne 0x432828
+mov al, byte [ref_0048c3a1] ; mov al, byte [0x48c3a1]
+dec al
+mov byte [ref_0048c3a1], al ; mov byte [0x48c3a1], al
+jne near loc_00432828 ; jne 0x432828
+
+loc_00432719:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0xc
+sar edx, 0x1f
+idiv ecx
+mov byte [ref_0048c3a3], dl ; mov byte [0x48c3a3], dl
+xor eax, eax
+mov al, dl
+push eax
+call fcn_00431842 ; call 0x431842
+add esp, 4
+test eax, eax
+je short loc_00432719 ; je 0x432719
+mov dword [esp + 0x40], 0xf1
+mov dword [esp + 0x44], 0x8c
+mov dword [esp + 0x48], 0x196
+mov dword [esp + 0x4c], 0x161
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, dword [esp + 0x44]
+push esi
+mov edi, dword [esp + 0x44]
+push edi
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x18
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x128
+push 0x146
+xor eax, eax
+mov al, byte [ref_0048c3a3] ; mov al, byte [0x48c3a3]
+lea edx, [eax + 0xb]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c398] ; mov edx, dword [0x48c398]
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c3a2], 5 ; mov byte [0x48c3a2], 5
+xor eax, eax
+mov al, byte [ref_0048c3a3] ; mov al, byte [0x48c3a3]
+mov edx, dword [eax*4 + ref_004756b8] ; mov edx, dword [eax*4 + 0x4756b8]
+push edx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+cmp byte [ref_0048c3a5], 0 ; cmp byte [0x48c3a5], 0
+jne short loc_00432820 ; jne 0x432820
+mov byte [ref_0048c3a4], 2 ; mov byte [0x48c3a4], 2
+jmp short loc_00432828 ; jmp 0x432828
+
+loc_00432820:
+xor cl, cl
+mov byte [ref_0048c3a4], cl ; mov byte [0x48c3a4], cl
+
+loc_00432828:
+xor eax, eax
+mov al, byte [ref_0048c3a4] ; mov al, byte [0x48c3a4]
+push eax
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_00432871 ; je 0x432871
+mov al, byte [ref_0048c3a2] ; mov al, byte [0x48c3a2]
+dec al
+cmp al, 7
+ja near loc_00432871 ; ja 0x432871
+and eax, 0xff
+jmp dword [eax*4 + ref_004325a2] ; ujmp: jmp dword [eax*4 + 0x4325a2]
+
+loc_0043285b:
+mov byte [ref_0048c3a2], 2 ; mov byte [0x48c3a2], 2
+mov ecx, dword [ref_00475698] ; mov ecx, dword [0x475698]
+push ecx
+call fcn_0044ecb6 ; call 0x44ecb6
+
+loc_0043286e:
+add esp, 4
+
+loc_00432871:
+cmp byte [ref_0048c3a2], 8 ; cmp byte [0x48c3a2], 8
+je near loc_004326ad ; je 0x4326ad
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_00432894 ; jne 0x432894
+cmp byte [ref_0048c3a0], 0 ; cmp byte [0x48c3a0], 0
+je near loc_004326ad ; je 0x4326ad
+
+loc_00432894:
+mov ah, byte [ref_0048c3a0] ; mov ah, byte [0x48c3a0]
+test ah, ah
+je near loc_00432a85 ; je 0x432a85
+mov cl, ah
+dec cl
+mov byte [ref_0048c3a0], cl ; mov byte [0x48c3a0], cl
+jne near loc_004326ad ; jne 0x4326ad
+mov dword [esp + 0x40], 0x11e
+mov dword [esp + 0x44], 0xdc
+mov dword [esp + 0x48], 0x15a
+mov dword [esp + 0x4c], 0xee
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0x44]
+push ebp
+mov eax, dword [esp + 0x44]
+push eax
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x3c
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_0043291a:
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_004326ad ; jmp 0x4326ad
+
+loc_0043292e:
+mov byte [ref_0048c3a2], 3 ; mov byte [0x48c3a2], 3
+mov edx, dword [ref_0047569c] ; mov edx, dword [0x47569c]
+push edx
+
+loc_0043293c:
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+
+loc_00432944:
+xor dh, dh
+mov byte [ref_0048c3a4], dh ; mov byte [0x48c3a4], dh
+jmp near loc_00432871 ; jmp 0x432871
+
+loc_00432951:
+mov byte [ref_0048c3a2], 4 ; mov byte [0x48c3a2], 4
+mov dword [esp + 0x40], 0x11e
+mov dword [esp + 0x44], 0xbc
+mov dword [esp + 0x48], 0x15a
+mov dword [esp + 0x4c], 0xdf
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edi, dword [esp + 0x44]
+push edi
+mov ebp, dword [esp + 0x44]
+push ebp
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+cmp byte [ref_0048c3a5], 0 ; cmp byte [0x48c3a5], 0
+je short loc_004329e3 ; je 0x4329e3
+mov byte [ref_0048c3a1], 1 ; mov byte [0x48c3a1], 1
+jmp near loc_00432871 ; jmp 0x432871
+
+loc_004329e3:
+mov byte [ref_0048c3a1], 0xa ; mov byte [0x48c3a1], 0xa
+jmp near loc_00432871 ; jmp 0x432871
+
+loc_004329ef:
+mov byte [ref_0048c3a2], 6 ; mov byte [0x48c3a2], 6
+cmp byte [ref_0048c3a5], 0 ; cmp byte [0x48c3a5], 0
+jne near loc_00432944 ; jne 0x432944
+mov ebp, dword [ref_004756a0] ; mov ebp, dword [0x4756a0]
+push ebp
+jmp near loc_0043293c ; jmp 0x43293c
+
+loc_00432a0f:
+mov byte [ref_0048c3a2], 7 ; mov byte [0x48c3a2], 7
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+lea eax, [esp + 0x50]
+push eax
+call dword [cs:__imp__GetCursorPos@4] ; ucall: call dword cs:[0x4622ec]
+mov eax, dword [esp + 0x54]
+shl eax, 0x10
+add eax, dword [esp + 0x50]
+push eax
+push 0
+push 0x200
+push ebx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00432871 ; jmp 0x432871
+
+loc_00432a4c:
+mov ecx, dword [ref_0048c39c] ; mov ecx, dword [0x48c39c]
+push ecx
+push ebx
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0x3b
+push 0
+push 0
+push 0
+mov esi, dword [ref_0048c390] ; mov esi, dword [0x48c390]
+push esi
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c3a1] ; mov al, byte [0x48c3a1]
+dec eax
+push eax
+call fcn_00401966 ; call 0x401966
+jmp near loc_0043286e ; jmp 0x43286e
+
+loc_00432a85:
+call fcn_00456f2d ; call 0x456f2d
+sar eax, 0xb
+cmp eax, 4
+jge near loc_004326ad ; jge 0x4326ad
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov dword [esp + 0x40], 0x11e
+mov dword [esp + 0x44], 0xd9
+mov dword [esp + 0x48], 0x15a
+mov dword [esp + 0x4c], 0xee
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_00432b00 ; je 0x432b00
+push 0x15
+push 0x3c
+push 0x4d
+push 0x2d
+mov edi, dword [esp + 0x54]
+push edi
+mov ebp, dword [esp + 0x54]
+push ebp
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+jmp short loc_00432b22 ; jmp 0x432b22
+
+loc_00432b00:
+mov edx, dword [esp + 0x44]
+push edx
+mov ecx, dword [esp + 0x44]
+push ecx
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x48
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_00432b22:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and al, 7
+mov byte [ref_0048c3a0], al ; mov byte [0x48c3a0], al
+jne near loc_0043291a ; jne 0x43291a
+mov byte [ref_0048c3a0], 1 ; mov byte [0x48c3a0], 1
+jmp near loc_0043291a ; jmp 0x43291a
+
+loc_00432b50:
+cmp byte [ref_0048c3a2], 7 ; cmp byte [0x48c3a2], 7
+jne near loc_004326ad ; jne 0x4326ad
+xor ecx, ecx
+mov cx, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 7
+add eax, ecx
+mov edx, dword [ref_0048c394] ; mov edx, dword [0x48c394]
+mov al, byte [edx + eax]
+and eax, 0xff
+mov dword [esp + 0x58], eax
+xor eax, eax
+mov al, byte [ref_0048c3a1] ; mov al, byte [0x48c3a1]
+cmp eax, dword [esp + 0x58]
+je near loc_004326ad ; je 0x4326ad
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov al, byte [ref_0048c3a1] ; mov al, byte [0x48c3a1]
+test al, al
+je near loc_00432ca3 ; je 0x432ca3
+cmp al, 0xd
+je near loc_00432ca3 ; je 0x432ca3
+xor eax, eax
+mov al, byte [ref_0048c3a1] ; mov al, byte [0x48c3a1]
+movsx edx, word [eax*4 + ref_004756e4] ; movsx edx, word [eax*4 + 0x4756e4]
+lea ecx, [edx - 0x20]
+mov dword [esp + 0x40], ecx
+movsx eax, word [eax*4 + (ref_004756e8 - 2)] ; movsx eax, word [eax*4 + 0x4756e6]
+lea ecx, [eax - 0x20]
+mov dword [esp + 0x44], ecx
+add edx, 0x20
+mov dword [esp + 0x48], edx
+add eax, 0x20
+mov dword [esp + 0x4c], eax
+push 0x40
+push 0x40
+push ecx
+mov edi, dword [esp + 0x4c]
+push edi
+push ecx
+push edi
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor edx, edx
+mov dl, byte [ref_0048c3a1] ; mov dl, byte [0x48c3a1]
+shl edx, 4
+mov eax, dword [edx + ref_0047570c] ; mov eax, dword [edx + 0x47570c]
+sub eax, 0x48
+mov dword [esp + 0x40], eax
+mov eax, dword [edx + ref_00475710] ; mov eax, dword [edx + 0x475710]
+sub eax, 0x40
+mov dword [esp + 0x44], eax
+mov eax, dword [edx + ref_0047570c] ; mov eax, dword [edx + 0x47570c]
+add eax, 0x48
+mov dword [esp + 0x48], eax
+mov eax, dword [edx + ref_00475710] ; mov eax, dword [edx + 0x475710]
+add eax, 0x40
+mov dword [esp + 0x4c], eax
+mov ecx, dword [edx + ref_00475710] ; mov ecx, dword [edx + 0x475710]
+push ecx
+mov esi, dword [edx + ref_0047570c] ; mov esi, dword [edx + 0x47570c]
+push esi
+mov edi, dword [ref_0048c384] ; mov edi, dword [0x48c384]
+push edi
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00432ca3:
+mov al, byte [esp + 0x58]
+mov byte [ref_0048c3a1], al ; mov byte [0x48c3a1], al
+test al, al
+je near loc_00432e4f ; je 0x432e4f
+cmp al, 0xd
+je near loc_00432e4f ; je 0x432e4f
+xor ecx, ecx
+mov cl, al
+movsx edx, word [ecx*4 + ref_004756e4] ; movsx edx, word [ecx*4 + 0x4756e4]
+lea esi, [edx - 0x20]
+mov dword [esp + 0x40], esi
+movsx eax, word [ecx*4 + (ref_004756e8 - 2)] ; movsx eax, word [ecx*4 + 0x4756e6]
+lea esi, [eax - 0x20]
+mov dword [esp + 0x44], esi
+lea esi, [edx + 0x20]
+mov dword [esp + 0x48], esi
+lea esi, [eax + 0x20]
+mov dword [esp + 0x4c], esi
+push eax
+push edx
+lea edx, [ecx + 0x16]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor edx, edx
+mov dl, byte [ref_0048c3a1] ; mov dl, byte [0x48c3a1]
+shl edx, 4
+mov eax, dword [edx + ref_0047570c] ; mov eax, dword [edx + 0x47570c]
+sub eax, 0x48
+mov dword [esp + 0x40], eax
+mov eax, dword [edx + ref_00475710] ; mov eax, dword [edx + 0x475710]
+sub eax, 0x40
+mov dword [esp + 0x44], eax
+mov eax, dword [edx + ref_0047570c] ; mov eax, dword [edx + 0x47570c]
+add eax, 0x48
+mov dword [esp + 0x48], eax
+mov eax, dword [edx + ref_00475710] ; mov eax, dword [edx + 0x475710]
+add eax, 0x40
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x80
+push 0x90
+mov edx, dword [esp + 0x4c]
+push edx
+mov ecx, dword [esp + 0x4c]
+push ecx
+mov esi, dword [ref_0048c384] ; mov esi, dword [0x48c384]
+push esi
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov eax, dword [ref_0048c384] ; mov eax, dword [0x48c384]
+mov word [eax + 4], 0x48
+mov eax, dword [ref_0048c384] ; mov eax, dword [0x48c384]
+mov word [eax + 6], 0x40
+xor eax, eax
+mov al, byte [ref_0048c3a1] ; mov al, byte [0x48c3a1]
+shl eax, 4
+mov edi, dword [eax + ref_00475710] ; mov edi, dword [eax + 0x475710]
+push edi
+mov ebp, dword [eax + ref_0047570c] ; mov ebp, dword [eax + 0x47570c]
+push ebp
+mov edx, dword [eax + ref_00475708] ; mov edx, dword [eax + 0x475708]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c398] ; mov edx, dword [0x48c398]
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 3
+push 0x202020
+push 0xe0e0e0
+push 0xe
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+xor eax, eax
+mov al, byte [ref_0048c3a1] ; mov al, byte [0x48c3a1]
+shl eax, 4
+mov edx, dword [eax + ref_00475710] ; mov edx, dword [eax + 0x475710]
+push edx
+mov ecx, dword [eax + ref_0047570c] ; mov ecx, dword [eax + 0x47570c]
+push ecx
+mov esi, dword [eax + ref_00475714] ; mov esi, dword [eax + 0x475714]
+push esi
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push ref_004757e7 ; push 0x4757e7
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_00432e4f:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_004326ad ; jmp 0x4326ad
+
+loc_00432e64:
+cmp byte [ref_0048c3a2], 3 ; cmp byte [0x48c3a2], 3
+jae near loc_004326ad ; jae 0x4326ad
+
+loc_00432e71:
+mov byte [ref_0048c3a5], 1 ; mov byte [0x48c3a5], 1
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+
+loc_00432e82:
+mov byte [ref_0048c3a2], 3 ; mov byte [0x48c3a2], 3
+jmp near loc_004326ad ; jmp 0x4326ad
+
+loc_00432e8e:
+mov cl, byte [ref_0048c3a2] ; mov cl, byte [0x48c3a2]
+cmp cl, 3
+jb short loc_00432e71 ; jb 0x432e71
+cmp cl, 7
+jne near loc_004326ad ; jne 0x4326ad
+mov al, byte [ref_0048c3a1] ; mov al, byte [0x48c3a1]
+test al, al
+je near loc_00432ff7 ; je 0x432ff7
+cmp al, 0xd
+je near loc_00432ff7 ; je 0x432ff7
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor edx, edx
+mov dl, byte [ref_0048c3a1] ; mov dl, byte [0x48c3a1]
+shl edx, 4
+mov eax, dword [edx + ref_0047570c] ; mov eax, dword [edx + 0x47570c]
+sub eax, 0x48
+mov dword [esp + 0x40], eax
+mov eax, dword [edx + ref_00475710] ; mov eax, dword [edx + 0x475710]
+sub eax, 0x40
+mov dword [esp + 0x44], eax
+mov eax, dword [edx + ref_0047570c] ; mov eax, dword [edx + 0x47570c]
+add eax, 0x48
+mov dword [esp + 0x48], eax
+mov eax, dword [edx + ref_00475710] ; mov eax, dword [edx + 0x475710]
+add eax, 0x40
+mov dword [esp + 0x4c], eax
+mov esi, dword [edx + ref_00475710] ; mov esi, dword [edx + 0x475710]
+push esi
+mov edi, dword [edx + ref_0047570c] ; mov edi, dword [edx + 0x47570c]
+push edi
+mov ebp, dword [ref_0048c384] ; mov ebp, dword [0x48c384]
+push ebp
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov edx, 0xb6
+mov dword [esp + 0x40], edx
+mov ecx, 0x8e
+mov dword [esp + 0x44], ecx
+mov dword [esp + 0x48], 0x1d2
+mov dword [esp + 0x4c], 0x160
+push ecx
+push edx
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x24
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x128
+push 0x146
+xor eax, eax
+mov al, byte [ref_0048c3a3] ; mov al, byte [0x48c3a3]
+lea edx, [eax + 0xb]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov byte [ref_0048c3a2], 8 ; mov byte [0x48c3a2], 8
+mov edx, dword [ref_004756a4] ; mov edx, dword [0x4756a4]
+push edx
+
+loc_00432fea:
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+jmp near loc_004326ad ; jmp 0x4326ad
+
+loc_00432ff7:
+cmp byte [ref_0048c3a1], 0xd ; cmp byte [0x48c3a1], 0xd
+jne near loc_004326ad ; jne 0x4326ad
+mov byte [ref_0048c3a2], 6 ; mov byte [0x48c3a2], 6
+xor eax, eax
+mov al, byte [ref_0048c3a3] ; mov al, byte [0x48c3a3]
+mov ebx, dword [eax*4 + ref_004756b8] ; mov ebx, dword [eax*4 + 0x4756b8]
+push ebx
+jmp short loc_00432fea ; jmp 0x432fea
+
+loc_0043301c:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov esi, dword [esp + 0x18]
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_004326ad ; jmp 0x4326ad
+
+loc_00433074:
+push edx
+mov ebp, dword [esp + 0x7c]
+push ebp
+push eax
+push ebx
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_004326af ; jmp 0x4326af
+
+fcn_00433088:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x58
+mov ebp, dword [esp + 0x6c]
+mov eax, dword [esp + 0x70]
+mov edx, dword [esp + 0x78]
+cmp eax, 0x201
+jb short loc_004330e2 ; jb 0x4330e2
+jbe near loc_0043364d ; jbe 0x43364d
+cmp eax, 0x205
+jb short loc_004330d2 ; jb 0x4330d2
+jbe near loc_00433763 ; jbe 0x433763
+cmp eax, 0x401
+jb near loc_004337f6 ; jb 0x4337f6
+jbe short loc_0043310d ; jbe 0x43310d
+cmp eax, 0x405
+je near loc_00433177 ; je 0x433177
+jmp near loc_004337f6 ; jmp 0x4337f6
+
+loc_004330d2:
+cmp eax, 0x203
+je near loc_0043364d ; je 0x43364d
+jmp near loc_004337f6 ; jmp 0x4337f6
+
+loc_004330e2:
+cmp eax, 0x113
+jb short loc_004330ff ; jb 0x4330ff
+jbe near loc_00433196 ; jbe 0x433196
+cmp eax, 0x200
+je near loc_00433457 ; je 0x433457
+jmp near loc_004337f6 ; jmp 0x4337f6
+
+loc_004330ff:
+cmp eax, 0xf
+je near loc_0043379e ; je 0x43379e
+jmp near loc_004337f6 ; jmp 0x4337f6
+
+loc_0043310d:
+mov byte [ref_0048c3aa], dl ; mov byte [0x48c3aa], dl
+xor dh, dh
+mov byte [ref_0048c3ab], dh ; mov byte [0x48c3ab], dh
+mov byte [ref_0048c3ac], dh ; mov byte [0x48c3ac], dh
+mov byte [ref_0048c3ad], dh ; mov byte [0x48c3ad], dh
+mov byte [ref_0048c3ae], dh ; mov byte [0x48c3ae], dh
+mov byte [ref_0048c3af], dh ; mov byte [0x48c3af], dh
+call fcn_00432511 ; call 0x432511
+push 0
+push 0x64
+mov ecx, dword [ref_0046cad8] ; mov ecx, dword [0x46cad8]
+push ecx
+push ebp
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c3a6], eax ; mov dword [0x48c3a6], eax
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x405
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0043316d:
+xor eax, eax
+
+loc_0043316f:
+add esp, 0x58
+jmp near loc_004326b2 ; jmp 0x4326b2
+
+loc_00433177:
+mov byte [ref_0048c3ad], 1 ; mov byte [0x48c3ad], 1
+mov edx, dword [ref_004756a8] ; mov edx, dword [0x4756a8]
+push edx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c3af], 2 ; mov byte [0x48c3af], 2
+jmp short loc_0043316d ; jmp 0x43316d
+
+loc_00433196:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_0043316d ; je 0x43316d
+mov eax, dword [esp + 0x74]
+mov ebx, dword [ref_0046cad8] ; mov ebx, dword [0x46cad8]
+cmp eax, ebx
+jne short loc_0043316d ; jne 0x43316d
+xor eax, ebx
+mov al, byte [ref_0048c3af] ; mov al, byte [0x48c3af]
+push eax
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_004332cc ; je 0x4332cc
+mov al, byte [ref_0048c3ad] ; mov al, byte [0x48c3ad]
+cmp al, 3
+jb short loc_004331dd ; jb 0x4331dd
+jbe short loc_00433206 ; jbe 0x433206
+cmp al, 5
+je near loc_0043328b ; je 0x43328b
+jmp near loc_004332cc ; jmp 0x4332cc
+
+loc_004331dd:
+cmp al, 1
+jne near loc_004332cc ; jne 0x4332cc
+mov byte [ref_0048c3ad], 3 ; mov byte [0x48c3ad], 3
+mov eax, dword [ref_004756ac] ; mov eax, dword [0x4756ac]
+push eax
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+xor al, al
+mov byte [ref_0048c3af], al ; mov byte [0x48c3af], al
+jmp near loc_004332cc ; jmp 0x4332cc
+
+loc_00433206:
+mov byte [ref_0048c3ad], 4 ; mov byte [0x48c3ad], 4
+mov dword [esp + 0x40], 0xb4
+mov dword [esp + 0x44], 0x12a
+mov dword [esp + 0x48], 0x1cc
+mov dword [esp + 0x4c], 0x1d7
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x180
+push 0x140
+mov esi, dword [ref_0048c388] ; mov esi, dword [0x48c388]
+push esi
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 1
+call fcn_00402460 ; call 0x402460
+jmp short loc_004332c9 ; jmp 0x4332c9
+
+loc_0043328b:
+mov esi, dword [ref_0048c3a6] ; mov esi, dword [0x48c3a6]
+push esi
+push ebp
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0x3b
+push 0
+push 0
+push 0
+mov edi, dword [ref_0048c390] ; mov edi, dword [0x48c390]
+push edi
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c3ae] ; mov al, byte [0x48c3ae]
+mov al, byte [eax + ref_004757e3] ; mov al, byte [eax + 0x4757e3]
+and eax, 0xff
+push eax
+call fcn_00401966 ; call 0x401966
+
+loc_004332c9:
+add esp, 4
+
+loc_004332cc:
+cmp byte [ref_0048c3ad], 5 ; cmp byte [0x48c3ad], 5
+je near loc_0043316d ; je 0x43316d
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_004332ef ; jne 0x4332ef
+cmp byte [ref_0048c3ab], 0 ; cmp byte [0x48c3ab], 0
+je near loc_0043316d ; je 0x43316d
+
+loc_004332ef:
+mov dh, byte [ref_0048c3ab] ; mov dh, byte [0x48c3ab]
+test dh, dh
+je near loc_00433389 ; je 0x433389
+mov cl, dh
+dec cl
+mov byte [ref_0048c3ab], cl ; mov byte [0x48c3ab], cl
+jne near loc_0043316d ; jne 0x43316d
+mov dword [esp + 0x40], 0x11e
+mov dword [esp + 0x44], 0xdc
+mov dword [esp + 0x48], 0x15a
+mov dword [esp + 0x4c], 0xee
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0x44]
+push ebx
+mov esi, dword [esp + 0x44]
+push esi
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x3c
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_00433375:
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043316d ; jmp 0x43316d
+
+loc_00433389:
+call fcn_00456f2d ; call 0x456f2d
+mov edi, eax
+sar edi, 0xb
+cmp edi, 4
+jge near loc_0043316d ; jge 0x43316d
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov dword [esp + 0x40], 0x11e
+mov dword [esp + 0x44], 0xd9
+mov dword [esp + 0x48], 0x15a
+mov dword [esp + 0x4c], 0xee
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_00433407 ; je 0x433407
+push 0x15
+push 0x3c
+push 0x4d
+push 0x2d
+mov ecx, dword [esp + 0x54]
+push ecx
+mov ebx, dword [esp + 0x54]
+push ebx
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x18
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+jmp short loc_00433429 ; jmp 0x433429
+
+loc_00433407:
+mov edi, dword [esp + 0x44]
+push edi
+mov eax, dword [esp + 0x44]
+push eax
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x48
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_00433429:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and al, 7
+mov byte [ref_0048c3ab], al ; mov byte [0x48c3ab], al
+jne near loc_00433375 ; jne 0x433375
+mov byte [ref_0048c3ab], 1 ; mov byte [0x48c3ab], 1
+jmp near loc_00433375 ; jmp 0x433375
+
+loc_00433457:
+cmp byte [ref_0048c3ad], 4 ; cmp byte [0x48c3ad], 4
+jne near loc_0043316d ; jne 0x43316d
+xor edi, edi
+mov di, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+mov dword [esp + 0x50], eax
+mov dword [esp + 0x40], 0xb4
+mov dword [esp + 0x44], 0x12a
+mov dword [esp + 0x48], 0x1cc
+mov dword [esp + 0x4c], 0x1d7
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+xor ebx, ebx
+mov dword [esp + 0x54], ebx
+
+loc_004334c2:
+xor eax, eax
+mov al, byte [ref_0048c3aa] ; mov al, byte [0x48c3aa]
+lea edx, [eax + 2]
+cmp ebx, edx
+jge near loc_004335f2 ; jge 0x4335f2
+mov ecx, dword [esp + 0x50]
+cmp ecx, 0x15c
+jl near loc_004335ec ; jl 0x4335ec
+cmp ecx, 0x1a4
+jg near loc_004335ec ; jg 0x4335ec
+mov edx, eax
+shl eax, 2
+sub eax, edx
+lea edx, [ebx + ebx]
+movsx eax, word [edx + eax*2 + ref_004757d8] ; movsx eax, word [edx + eax*2 + 0x4757d8]
+cmp edi, eax
+jl near loc_004335ec ; jl 0x4335ec
+add eax, 0x48
+cmp edi, eax
+jg near loc_004335ec ; jg 0x4335ec
+mov dword [esp + 0x54], 1
+xor eax, eax
+mov al, byte [ref_0048c3ae] ; mov al, byte [0x48c3ae]
+lea edx, [ebx + 1]
+cmp eax, edx
+je near loc_004335ec ; je 0x4335ec
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+cmp byte [ref_0048c3ae], 0 ; cmp byte [0x48c3ae], 0
+je short loc_00433567 ; je 0x433567
+push 0x180
+push 0x140
+mov edx, dword [ref_0048c388] ; mov edx, dword [0x48c388]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_00433567:
+push 0xffff00
+push 0x4c
+push 0x4c
+push 0x15a
+xor edx, edx
+mov dl, byte [ref_0048c3aa] ; mov dl, byte [0x48c3aa]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+lea esi, [ebx + ebx]
+movsx eax, word [esi + eax*2 + ref_004757d8] ; movsx eax, word [esi + eax*2 + 0x4757d8]
+sub eax, 2
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0xffff00
+push 0x4a
+push 0x4a
+push 0x15b
+xor edx, edx
+mov dl, byte [ref_0048c3aa] ; mov dl, byte [0x48c3aa]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+movsx eax, word [esi + eax*2 + ref_004757d8] ; movsx eax, word [esi + eax*2 + 0x4757d8]
+dec eax
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+mov al, bl
+inc al
+mov byte [ref_0048c3ae], al ; mov byte [0x48c3ae], al
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_004335ec:
+inc ebx
+jmp near loc_004334c2 ; jmp 0x4334c2
+
+loc_004335f2:
+mov edi, dword [esp + 0x54]
+test edi, edi
+jne short loc_00433638 ; jne 0x433638
+cmp byte [ref_0048c3ae], 0 ; cmp byte [0x48c3ae], 0
+je short loc_00433638 ; je 0x433638
+push 0x180
+push 0x140
+mov eax, dword [ref_0048c388] ; mov eax, dword [0x48c388]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor ah, ah
+mov byte [ref_0048c3ae], ah ; mov byte [0x48c3ae], ah
+push edi
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00433638:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_0043316d ; jmp 0x43316d
+
+loc_0043364d:
+cmp byte [ref_0048c3ad], 4 ; cmp byte [0x48c3ad], 4
+jne near loc_0043316d ; jne 0x43316d
+cmp byte [ref_0048c3ae], 0 ; cmp byte [0x48c3ae], 0
+je near loc_0043316d ; je 0x43316d
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, 0xb4
+mov dword [esp + 0x40], esi
+mov edi, 0x12a
+mov dword [esp + 0x44], edi
+mov dword [esp + 0x48], 0x1cc
+mov dword [esp + 0x4c], 0x1d7
+push 0xad
+push 0x118
+push edi
+push esi
+push edi
+push esi
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov ebx, 0xb6
+mov dword [esp + 0x40], ebx
+mov esi, 0x8e
+mov dword [esp + 0x44], esi
+mov dword [esp + 0x48], 0x1d2
+mov dword [esp + 0x4c], 0x160
+push esi
+push ebx
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+add eax, 0x24
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c3ad], 5 ; mov byte [0x48c3ad], 5
+mov ecx, dword [ref_004756a4] ; mov ecx, dword [0x4756a4]
+push ecx
+call fcn_0044ecb6 ; call 0x44ecb6
+
+loc_0043375b:
+add esp, 4
+jmp near loc_0043316d ; jmp 0x43316d
+
+loc_00433763:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+mov ebx, dword [ref_0048c3a6] ; mov ebx, dword [0x48c3a6]
+push ebx
+push ebp
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+jmp short loc_0043375b ; jmp 0x43375b
+
+loc_0043379e:
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0xc]
+push ebx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0043316d ; jmp 0x43316d
+
+loc_004337f6:
+push edx
+mov edx, dword [esp + 0x78]
+push edx
+push eax
+push ebp
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0043316f ; jmp 0x43316f
+
+fcn_0043380a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_0043390b ; jne 0x43390b
+push ref_004757e7 ; push 0x4757e7
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0
+push 0
+push 0x12
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c398], eax ; mov dword [0x48c398], eax
+push 0
+push 0
+push 0x13
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c394], eax ; mov dword [0x48c394], eax
+push 0
+push 0
+push 0x14
+mov esi, dword [ref_0048a05c] ; mov esi, dword [0x48a05c]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c390], eax ; mov dword [0x48c390], eax
+push 0
+push 0
+push 0x80
+push 0x90
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c384], eax ; mov dword [0x48c384], eax
+push 7
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_004325c2 ; push 0x4325c2
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov esi, eax
+call fcn_00454bcc ; call 0x454bcc
+push ref_004757e7 ; push 0x4757e7
+call fcn_00454240 ; call 0x454240
+add esp, 4
+mov edi, dword [ref_0048c398] ; mov edi, dword [0x48c398]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048c394] ; mov ebp, dword [0x48c394]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048c390] ; mov eax, dword [0x48c390]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edx, dword [ref_0048c384] ; mov edx, dword [0x48c384]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp near loc_004339c5 ; jmp 0x4339c5
+
+loc_0043390b:
+mov esi, 0xffffffff
+
+loc_00433910:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0xc
+sar edx, 0x1f
+idiv ecx
+mov bl, dl
+xor eax, eax
+mov al, dl
+push eax
+call fcn_00431842 ; call 0x431842
+add esp, 4
+test eax, eax
+je short loc_00433910 ; je 0x433910
+xor eax, eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+jmp short loc_00433944 ; jmp 0x433944
+
+loc_0043393e:
+inc eax
+cmp eax, 4
+jge short loc_00433961 ; jge 0x433961
+
+loc_00433944:
+cmp byte [eax + ref_0048c380], 0 ; cmp byte [eax + 0x48c380], 0
+je short loc_00433961 ; je 0x433961
+xor edx, edx
+mov dl, byte [eax + ref_0048c380] ; mov dl, byte [eax + 0x48c380]
+dec edx
+cmp edx, ecx
+jne short loc_0043393e ; jne 0x43393e
+mov esi, 6
+jmp short loc_0043393e ; jmp 0x43393e
+
+loc_00433961:
+cmp esi, 0xffffffff
+jne short loc_00433981 ; jne 0x433981
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0xb
+sar edx, 0x1f
+idiv ecx
+mov esi, edx
+cmp edx, 6
+jne short loc_00433981 ; jne 0x433981
+lea esi, [edx + 1]
+
+loc_00433981:
+xor eax, eax
+mov al, bl
+mov eax, dword [eax*4 + ref_004756b8] ; mov eax, dword [eax*4 + 0x4756b8]
+cmp byte [eax], 0x23
+jne short loc_00433994 ; jne 0x433994
+add eax, 5
+
+loc_00433994:
+mov edx, esi
+shl edx, 4
+mov ebx, dword [edx + ref_00475724] ; mov ebx, dword [edx + 0x475724]
+push ebx
+push eax
+push ref_00464842 ; push 0x464842
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_004339c5:
+push esi
+call fcn_00431caa ; call 0x431caa
+add esp, 4
+add esp, 0x80
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004339d9:
+push ebx
+push esi
+push edi
+push ebp
+xor ebx, ebx
+xor edi, edi
+mov ebp, dword [esp + 0x14]
+
+loc_004339e5:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00433a01 ; jge 0x433a01
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_004339fe ; je 0x4339fe
+cmp ebx, ebp
+je short loc_004339fe ; je 0x4339fe
+inc edi
+
+loc_004339fe:
+inc ebx
+jmp short loc_004339e5 ; jmp 0x4339e5
+
+loc_00433a01:
+cmp edi, 1
+jg short loc_00433a0d ; jg 0x433a0d
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00433a0d:
+push 0
+push 0
+push 0x12
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c398], eax ; mov dword [0x48c398], eax
+push 0
+push 0
+push 0x14
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c390], eax ; mov dword [0x48c390], eax
+push 0
+push 0
+push 2
+mov esi, dword [ref_0048a0e4] ; mov esi, dword [0x48a0e4]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c38c], eax ; mov dword [0x48c38c], eax
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+movsx edx, word [eax + 0x72]
+push edx
+movsx edx, word [eax + 0x70]
+push edx
+movsx edx, word [eax + 0x6e]
+push edx
+movsx eax, word [eax + 0x6c]
+push eax
+call fcn_00451a5a ; call 0x451a5a
+mov edx, eax
+add esp, 0x10
+mov dword [ref_0048c388], eax ; mov dword [0x48c388], eax
+mov eax, dword [ref_0048c398] ; mov eax, dword [0x48c398]
+movsx ecx, word [eax + 0x72]
+push ecx
+movsx ecx, word [eax + 0x70]
+push ecx
+add eax, 0x6c
+push eax
+push edx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+xor ebx, ebx
+xor esi, esi
+lea ebp, [edi - 2]
+
+loc_00433aa6:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00433b1c ; jge 0x433b1c
+imul edx, ebx, 0x68
+cmp byte [edx + ref_00496b7d], 0 ; cmp byte [edx + 0x496b7d], 0
+je short loc_00433b19 ; je 0x433b19
+cmp ebx, dword [esp + 0x14]
+je short loc_00433b19 ; je 0x433b19
+mov al, bl
+inc al
+mov byte [esi + ref_004757e4], al ; mov byte [esi + 0x4757e4], al
+push 0x32
+mov eax, ebp
+shl eax, 2
+sub eax, ebp
+lea ecx, [eax + eax]
+mov eax, esi
+movsx eax, word [ecx + eax*2 + ref_004757d8] ; movsx eax, word [ecx + eax*2 + 0x4757d8]
+sub eax, 0xb4
+push eax
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c38c] ; mov eax, dword [0x48c38c]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048c388] ; mov edx, dword [0x48c388]
+push edx
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+inc esi
+
+loc_00433b19:
+inc ebx
+jmp short loc_00433aa6 ; jmp 0x433aa6
+
+loc_00433b1c:
+push 7
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push ebp
+push fcn_00433088 ; push 0x433088
+call fcn_004018e7 ; call 0x4018e7
+mov ebx, eax
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+mov edx, dword [ref_0048c398] ; mov edx, dword [0x48c398]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ecx, dword [ref_0048c390] ; mov ecx, dword [0x48c390]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048c38c] ; mov esi, dword [0x48c38c]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0048c388] ; mov edi, dword [0x48c388]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, ebx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00433b7e:
+push ebx
+push esi
+push edi
+mov esi, dword [esp + 0x10]
+imul ebx, esi, 0x68
+cmp dword [ebx + ref_00496b94], 0 ; cmp dword [ebx + 0x496b94], 0
+jne short loc_00433bd4 ; jne 0x433bd4
+push 0x5a
+mov ecx, dword [ref_00497160] ; mov ecx, dword [0x497160]
+push ecx
+call fcn_0045218f ; call 0x45218f
+add esp, 8
+mov dword [ebx + ref_00496b94], eax ; mov dword [ebx + 0x496b94], eax
+imul ebx, esi, 0x68
+
+loc_00433bab:
+mov edi, dword [ebx + ref_00496b94] ; mov edi, dword [ebx + 0x496b94]
+push edi
+call fcn_004523d5 ; call 0x4523d5
+add esp, 4
+cmp eax, 1
+jne short loc_00433bd4 ; jne 0x433bd4
+mov eax, ref_00496b68 ; mov eax, 0x496b68
+add eax, ebx
+add eax, 0x2c
+push eax
+call fcn_00452117 ; call 0x452117
+add esp, 4
+jmp short loc_00433bab ; jmp 0x433bab
+
+loc_00433bd4:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00433bd8:
+push edi
+imul eax, dword [esp + 8], 0x68
+mov edx, dword [esp + 0xc]
+mov ecx, dword [eax + ref_00496b88] ; mov ecx, dword [eax + 0x496b88]
+sub ecx, edx
+mov dword [eax + ref_00496b88], ecx ; mov dword [eax + 0x496b88], ecx
+test ecx, ecx
+jge short loc_00433c1e ; jge 0x433c1e
+add dword [eax + ref_00496b84], ecx ; add dword [eax + 0x496b84], ecx
+xor edi, edi
+mov dword [eax + ref_00496b88], edi ; mov dword [eax + 0x496b88], edi
+cmp dword [eax + ref_00496b84], 0 ; cmp dword [eax + 0x496b84], 0
+jge short loc_00433c1e ; jge 0x433c1e
+mov dword [eax + ref_00496b84], edi ; mov dword [eax + 0x496b84], edi
+mov ecx, dword [esp + 8]
+push ecx
+call fcn_0040cd87 ; call 0x40cd87
+add esp, 4
+
+loc_00433c1e:
+pop edi
+ret
+
+fcn_00433c20:
+push ebx
+push edi
+push ebp
+sub esp, 0x1c
+push 0
+push 2
+push 0
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov byte [esp + 0x10], 0x24
+xor dl, dl
+mov byte [esp + 0x11], dl
+mov dword [esp], 0x16
+mov dword [esp + 4], 0xa1
+mov dword [esp + 8], 0x87
+mov dword [esp + 0xc], 0x116
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x75
+push 0x71
+mov edi, dword [esp + 0xc]
+push edi
+mov ebp, dword [esp + 0xc]
+push ebp
+push edi
+push ebp
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov ebx, dword [esp + 0x2c]
+push ebx
+lea eax, [esp + 0x15]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0xa3
+push 0x80
+lea eax, [esp + 0x1c]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edi, dword [eax + ref_00496b90] ; mov edi, dword [eax + 0x496b90]
+push edi
+lea eax, [esp + 0x15]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0xd3
+push 0x80
+lea eax, [esp + 0x1c]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b90] ; mov ecx, dword [eax + 0x496b90]
+mov eax, ebx
+sub eax, ecx
+push eax
+lea eax, [esp + 0x15]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x103
+push 0x80
+lea eax, [esp + 0x1c]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov ebx, dword [esp + 0x30]
+test ebx, ebx
+je short loc_00433d67 ; je 0x433d67
+push 0
+lea eax, [esp + 4]
+push eax
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00433d67:
+add esp, 0x1c
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_00433d6e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+push 0
+push 0
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc0
+push eax
+mov edx, dword [ref_0048c3b8] ; mov edx, dword [0x48c3b8]
+push edx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+push 0x28
+push 0x2a
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0xc
+push eax
+mov ebx, dword [ref_0048c3b8] ; mov ebx, dword [0x48c3b8]
+push ebx
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+push 0
+push 4
+push 0x101010
+push 0xffffff
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0
+push 0x50
+push 0xa
+push ref_00464a5a ; push 0x464a5a
+mov esi, dword [ref_0048c3b8] ; mov esi, dword [0x48c3b8]
+push esi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x91
+push 0xa
+push ref_00464a61 ; push 0x464a61
+mov edi, dword [ref_0048c3b8] ; mov edi, dword [0x48c3b8]
+push edi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0xd0
+push 0xa
+push ref_00464a68 ; push 0x464a68
+mov ebp, dword [ref_0048c3b8] ; mov ebp, dword [0x48c3b8]
+push ebp
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 6
+push 0x101010
+push 0xffffff
+push 0x16
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0
+push 0x1c
+push 0x52
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+mov ebx, dword [ref_0048c3b8] ; mov ebx, dword [0x48c3b8]
+push ebx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov byte [esp], 0x24
+xor dl, dl
+mov byte [esp + 1], dl
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edi, dword [eax + ref_00496b84] ; mov edi, dword [eax + 0x496b84]
+push edi
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x64
+push 0xb4
+lea eax, [esp + 0xc]
+push eax
+mov ebp, dword [ref_0048c3b8] ; mov ebp, dword [0x48c3b8]
+push ebp
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b88] ; mov ecx, dword [eax + 0x496b88]
+push ecx
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0xa4
+push 0xb4
+lea eax, [esp + 0xc]
+push eax
+mov ebx, dword [ref_0048c3b8] ; mov ebx, dword [0x48c3b8]
+push ebx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edi, dword [eax + ref_00496b8c] ; mov edi, dword [eax + 0x496b8c]
+push edi
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0xe4
+push 0xb4
+lea eax, [esp + 0xc]
+push eax
+mov ebp, dword [ref_0048c3b8] ; mov ebp, dword [0x48c3b8]
+push ebp
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+add esp, 0x80
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00433f24:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x88
+mov edx, dword [ref_00497160] ; mov edx, dword [0x497160]
+push edx
+call fcn_004521f0 ; call 0x4521f0
+add esp, 4
+cmp eax, 0xffffffff
+jne short loc_00433f81 ; jne 0x433f81
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+shr eax, 8
+and eax, 0xff
+dec eax
+push 0
+push 0
+xor edx, edx
+mov dl, byte [eax + ref_00475218] ; mov dl, byte [eax + 0x475218]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c3bc] ; mov eax, dword [0x48c3bc]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048c3b4] ; mov esi, dword [0x48c3b4]
+push esi
+call fcn_00456280 ; call 0x456280
+jmp short loc_00433fbd ; jmp 0x433fbd
+
+loc_00433f81:
+push 0
+mov edx, dword [ref_0048c3b4] ; mov edx, dword [0x48c3b4]
+mov ecx, dword [edx + 8]
+push ecx
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+shl edx, 2
+movsx ecx, word [ref_004991b8] ; movsx ecx, word [0x4991b8]
+add edx, ecx
+mov dx, word [edx*2 + ref_00475208] ; mov dx, word [edx*2 + 0x475208]
+and edx, 0xffff
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a0e4] ; mov ebx, dword [0x48a0e4]
+push ebx
+call fcn_00450441 ; call 0x450441
+
+loc_00433fbd:
+add esp, 0x10
+push 1
+push 6
+push 0xffffff
+push 0x101010
+push 0x3c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+and eax, 0xff
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 2
+push 0x60
+push 0x3c
+lea eax, [esp + 0xc]
+push eax
+mov edi, dword [ref_0048c3b4] ; mov edi, dword [0x48c3b4]
+push edi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 6
+push 0xffffff
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+lea eax, [esp + 0x80]
+push eax
+lea eax, [esp + 0x88]
+push eax
+mov ebp, dword [ref_00497160] ; mov ebp, dword [0x497160]
+push ebp
+call fcn_004520a6 ; call 0x4520a6
+add esp, 0xc
+push 3
+push 0x48
+push 0xe
+mov eax, dword [esp + 0x90]
+mov edx, dword [eax*4 + ref_0047511c] ; mov edx, dword [eax*4 + 0x47511c]
+push edx
+mov ecx, dword [ref_0048c3b4] ; mov ecx, dword [0x48c3b4]
+push ecx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 6
+push 0xffffff
+push 0x101010
+push 0x18
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+shr eax, 0x10
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 0
+push 8
+push 0x8c
+lea eax, [esp + 0xc]
+push eax
+mov ebx, dword [ref_0048c3b4] ; mov ebx, dword [0x48c3b4]
+push ebx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 6
+push 0xffffff
+push 0x101010
+push 0x1c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+shr eax, 8
+and eax, 0xff
+push eax
+push ref_00464a6f ; push 0x464a6f
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 2
+push 0x30
+push 0x3c
+lea eax, [esp + 0xc]
+push eax
+mov esi, dword [ref_0048c3b4] ; mov esi, dword [0x48c3b4]
+push esi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp dword [eax + ref_00496b94], 0 ; cmp dword [eax + 0x496b94], 0
+je short loc_0043417b ; je 0x43417b
+push 1
+push 6
+push 0xffffff
+push 0x101010
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b94] ; mov ecx, dword [eax + 0x496b94]
+push ecx
+mov ebx, dword [ref_00497160] ; mov ebx, dword [0x497160]
+push ebx
+call fcn_004521aa ; call 0x4521aa
+add esp, 8
+push eax
+push ref_00464a74 ; push 0x464a74
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 5
+push 0xb0
+push 0x14
+lea eax, [esp + 0xc]
+push eax
+mov esi, dword [ref_0048c3b4] ; mov esi, dword [0x48c3b4]
+push esi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_0043417b:
+add esp, 0x88
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00434186:
+push esi
+push 1
+push 2
+push 0
+push 0x101010
+push 0x1a
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x159
+push 0x159
+push ref_00464a81 ; push 0x464a81
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x159
+push 0x212
+push ref_00464a8a ; push 0x464a8a
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba4], 0 ; cmp byte [eax + 0x496ba4], 0
+je short loc_00434212 ; je 0x434212
+push 0x159
+push 0x159
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+lea edx, [eax + 0x120]
+push edx
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+
+loc_00434212:
+cmp dword [esp + 8], 0
+jne short loc_0043423d ; jne 0x43423d
+push 0xf0
+push 0x140
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+lea edx, [eax + 0x18]
+push edx
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_00434403 ; jmp 0x434403
+
+loc_0043423d:
+push 2
+push 0x1ab
+push 0x1bb
+push ref_00464a93 ; push 0x464a93
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x7d
+push 0xa
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+lea edx, [eax + 0xfc]
+push edx
+add eax, 0x24
+push eax
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+push 0x131
+push 0xb
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+lea edx, [eax + 0xcc]
+push edx
+add eax, 0x24
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+push 0x16a
+push 0xb
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+lea edx, [eax + 0xcc]
+push edx
+add eax, 0x24
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+push 0x1a3
+push 0xb
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+lea edx, [eax + 0xe4]
+push edx
+add eax, 0x24
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0xf0f0f0
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x144
+push 0x43
+push ref_00464a9c ; push 0x464a9c
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba4], 0 ; cmp byte [eax + 0x496ba4], 0
+je short loc_0043433b ; je 0x43433b
+push 0x144
+push 0x43
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+lea edx, [eax + 0x120]
+push edx
+add eax, 0x24
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+
+loc_0043433b:
+push 2
+push 0x17e
+push 0x43
+push ref_00464aa5 ; push 0x464aa5
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 2
+push 0
+push 0x202020
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x93
+push 0x4e
+push ref_00464aae ; push 0x464aae
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xc3
+push 0x4e
+push ref_00464abb ; push 0x464abb
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0xf3
+push 0x4e
+push ref_00464ac8 ; push 0x464ac8
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 1
+push 2
+push 0
+push 0x808080
+push 0xe
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0xf5
+push 0x1ec
+push ref_00464a93 ; push 0x464a93
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00434403:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0x101010
+push 0
+push 0x14
+push 0x50
+push 0xf0
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x108
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+call fcn_00433d6e ; call 0x433d6e
+call fcn_00433f24 ; call 0x433f24
+pop esi
+ret
+
+ref_00434476: ; may contain a jump table
+dd loc_00434791
+dd loc_004347a2
+dd loc_004347cb
+dd loc_004347a2
+dd loc_00434871
+dd loc_004347a2
+dd loc_0043490f
+
+fcn_00434492:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x54
+mov edi, dword [esp + 0x68]
+mov eax, dword [esp + 0x6c]
+mov ebx, dword [esp + 0x74]
+cmp eax, 0x203
+jb short loc_00434509 ; jb 0x434509
+jbe near loc_00434b5f ; jbe 0x434b5f
+cmp eax, 0x405
+jb short loc_004344ec ; jb 0x4344ec
+jbe near loc_0043464d ; jbe 0x43464d
+cmp eax, 0x409
+jb near loc_0043503b ; jb 0x43503b
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+cmp eax, 0x409
+jbe near loc_00434665 ; jbe 0x434665
+cmp eax, 0x40a
+je near loc_004346bb ; je 0x4346bb
+jmp near loc_0043503b ; jmp 0x43503b
+
+loc_004344ec:
+cmp eax, 0x205
+jb near loc_0043503b ; jb 0x43503b
+jbe near loc_00434fae ; jbe 0x434fae
+cmp eax, 0x401
+je short loc_0043453a ; je 0x43453a
+jmp near loc_0043503b ; jmp 0x43503b
+
+loc_00434509:
+cmp eax, 0x113
+jb short loc_0043452c ; jb 0x43452c
+jbe near loc_0043473a ; jbe 0x43473a
+cmp eax, 0x201
+jb near loc_0043503b ; jb 0x43503b
+jbe near loc_00434b5f ; jbe 0x434b5f
+jmp near loc_00434da1 ; jmp 0x434da1
+
+loc_0043452c:
+cmp eax, 0xf
+je near loc_00434fdd ; je 0x434fdd
+jmp near loc_0043503b ; jmp 0x43503b
+
+loc_0043453a:
+xor ah, ah
+mov byte [ref_0048c3cc], ah ; mov byte [0x48c3cc], ah
+mov byte [ref_0048c3cd], ah ; mov byte [0x48c3cd], ah
+mov byte [ref_0048c3ce], ah ; mov byte [0x48c3ce], ah
+mov byte [ref_0048c3cf], ah ; mov byte [0x48c3cf], ah
+mov byte [ref_0048c3d0], ah ; mov byte [0x48c3d0], ah
+push 0
+push 0x64
+mov eax, dword [ref_0046cad8] ; mov eax, dword [0x46cad8]
+push eax
+push edi
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c3c4], eax ; mov dword [0x48c3c4], eax
+xor edx, edx
+mov dword [esp + 0x50], edx
+mov dword [ref_0048c3c8], edx ; mov dword [0x48c3c8], edx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+jmp short loc_00434593 ; jmp 0x434593
+
+loc_00434585:
+mov eax, dword [esp + 0x50]
+inc eax
+mov dword [esp + 0x50], eax
+cmp eax, 4
+jge short loc_004345ac ; jge 0x4345ac
+
+loc_00434593:
+mov eax, dword [esp + 0x50]
+cmp eax, ebx
+je short loc_00434585 ; je 0x434585
+imul eax, eax, 0x68
+mov eax, dword [eax + ref_00496b88] ; mov eax, dword [eax + 0x496b88]
+add dword [ref_0048c3c8], eax ; add dword [0x48c3c8], eax
+jmp short loc_00434585 ; jmp 0x434585
+
+loc_004345ac:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+mov ebx, dword [ref_0048c3c8] ; mov ebx, dword [0x48c3c8]
+push ebx
+call fcn_00433c20 ; call 0x433c20
+add esp, 8
+push 0
+push 0x101010
+push 0xfffffffffffffff6
+push 0
+push 0x32
+push 0xd6
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x114
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x405
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_00434641:
+xor eax, eax
+
+loc_00434643:
+add esp, 0x54
+
+loc_00434646:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_0043464d:
+mov byte [ref_0048c3cc], 1 ; mov byte [0x48c3cc], 1
+mov ebp, dword [ref_0047585c] ; mov ebp, dword [0x47585c]
+push ebp
+
+loc_0043465b:
+call fcn_0044ecb6 ; call 0x44ecb6
+
+loc_00434660:
+add esp, 4
+jmp short loc_00434641 ; jmp 0x434641
+
+loc_00434665:
+mov eax, dword [ref_0048c3c8] ; mov eax, dword [0x48c3c8]
+sub eax, dword [edx + ref_00496b90] ; sub eax, dword [edx + 0x496b90]
+push eax
+call fcn_00453544 ; call 0x453544
+mov edx, eax
+add esp, 4
+test eax, eax
+je short loc_004346b2 ; je 0x4346b2
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+add dword [eax + ref_00496b88], edx ; add dword [eax + 0x496b88], edx
+add dword [eax + ref_00496b90], edx ; add dword [eax + 0x496b90], edx
+push edi
+mov edi, dword [ref_0048c3c8] ; mov edi, dword [0x48c3c8]
+push edi
+
+loc_0043469a:
+call fcn_00433c20 ; call 0x433c20
+add esp, 8
+mov byte [ref_0048c3cc], 7 ; mov byte [0x48c3cc], 7
+mov byte [ref_0048c3d0], 1 ; mov byte [0x48c3d0], 1
+jmp short loc_00434641 ; jmp 0x434641
+
+loc_004346b2:
+mov byte [ref_0048c3cc], 2 ; mov byte [0x48c3cc], 2
+jmp short loc_00434641 ; jmp 0x434641
+
+loc_004346bb:
+mov ebx, dword [edx + ref_00496b90] ; mov ebx, dword [edx + 0x496b90]
+push ebx
+call fcn_00453544 ; call 0x453544
+mov edx, eax
+add esp, 4
+mov dword [esp + 0x50], eax
+test eax, eax
+je short loc_004346b2 ; je 0x4346b2
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ebx, dword [eax + ref_00496b84] ; mov ebx, dword [eax + 0x496b84]
+mov ebp, dword [eax + ref_00496b88] ; mov ebp, dword [eax + 0x496b88]
+add ebx, ebp
+cmp edx, ebx
+jle short loc_00434700 ; jle 0x434700
+mov byte [ref_0048c3cc], 5 ; mov byte [0x48c3cc], 5
+mov esi, dword [ref_0047586c] ; mov esi, dword [0x47586c]
+push esi
+jmp near loc_0043465b ; jmp 0x43465b
+
+loc_00434700:
+mov ecx, ebp
+sub ecx, edx
+mov dword [eax + ref_00496b88], ecx ; mov dword [eax + 0x496b88], ecx
+test ecx, ecx
+jge short loc_0043471c ; jge 0x43471c
+add dword [eax + ref_00496b84], ecx ; add dword [eax + 0x496b84], ecx
+xor ebp, ebp
+mov dword [eax + ref_00496b88], ebp ; mov dword [eax + 0x496b88], ebp
+
+loc_0043471c:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [esp + 0x50]
+sub dword [eax + ref_00496b90], edx ; sub dword [eax + 0x496b90], edx
+push edi
+mov ebx, dword [ref_0048c3c8] ; mov ebx, dword [0x48c3c8]
+push ebx
+jmp near loc_0043469a ; jmp 0x43469a
+
+loc_0043473a:
+cmp byte [ref_0048c3cc], 0 ; cmp byte [0x48c3cc], 0
+je near loc_00434641 ; je 0x434641
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_00434641 ; je 0x434641
+mov eax, dword [esp + 0x70]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_00434641 ; jne 0x434641
+push 0
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_004347a2 ; je 0x4347a2
+mov al, byte [ref_0048c3cc] ; mov al, byte [0x48c3cc]
+dec al
+cmp al, 6
+ja near loc_004347a2 ; ja 0x4347a2
+and eax, 0xff
+jmp dword [eax*4 + ref_00434476] ; ujmp: jmp dword [eax*4 + 0x434476]
+
+loc_00434791:
+mov byte [ref_0048c3cc], 2 ; mov byte [0x48c3cc], 2
+push 1
+call fcn_00402460 ; call 0x402460
+
+loc_0043479f:
+add esp, 4
+
+loc_004347a2:
+cmp byte [ref_0048c3cc], 4 ; cmp byte [0x48c3cc], 4
+je near loc_00434641 ; je 0x434641
+mov al, byte [ref_0048c3ce] ; mov al, byte [0x48c3ce]
+and al, 0xf
+test al, al
+jbe near loc_0043493a ; jbe 0x43493a
+cmp al, 1
+je near loc_00434958 ; je 0x434958
+jmp near loc_00434a46 ; jmp 0x434a46
+
+loc_004347cb:
+mov byte [ref_0048c3cc], 4 ; mov byte [0x48c3cc], 4
+mov dword [esp + 0x40], 0x1f0
+mov dword [esp + 0x44], 0xa2
+mov dword [esp + 0x48], 0x236
+mov dword [esp + 0x4c], 0xde
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x64] ; ucall
+push 0x3c
+push 0x46
+mov ecx, dword [esp + 0x4c]
+push ecx
+mov ebx, dword [esp + 0x4c]
+push ebx
+push ecx
+push ebx
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x409
+
+loc_00434864:
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_004347a2 ; jmp 0x4347a2
+
+loc_00434871:
+mov byte [ref_0048c3cc], 6 ; mov byte [0x48c3cc], 6
+mov dword [esp + 0x40], 0x1f0
+mov dword [esp + 0x44], 0xa2
+mov dword [esp + 0x48], 0x236
+mov dword [esp + 0x4c], 0xde
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x64] ; ucall
+push 0x3c
+push 0x46
+mov ecx, dword [esp + 0x4c]
+push ecx
+mov ebx, dword [esp + 0x4c]
+push ebx
+push ecx
+push ebx
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x40a
+jmp near loc_00434864 ; jmp 0x434864
+
+loc_0043490f:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ecx, dword [ref_0048c3c4] ; mov ecx, dword [0x48c3c4]
+push ecx
+push edi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+xor eax, eax
+mov al, byte [ref_0048c3d0] ; mov al, byte [0x48c3d0]
+push eax
+call fcn_00401966 ; call 0x401966
+jmp near loc_0043479f ; jmp 0x43479f
+
+loc_0043493a:
+call fcn_00456f2d ; call 0x456f2d
+mov esi, eax
+sar esi, 0xa
+test esi, esi
+jne near loc_00434a46 ; jne 0x434a46
+or byte [ref_0048c3ce], 1 ; or byte [0x48c3ce], 1
+jmp near loc_00434a46 ; jmp 0x434a46
+
+loc_00434958:
+mov al, byte [ref_0048c3ce] ; mov al, byte [0x48c3ce]
+and al, 0x30
+movzx esi, al
+sar esi, 4
+mov ch, byte [ref_0048c3ce] ; mov ch, byte [0x48c3ce]
+add ch, 0x10
+mov byte [ref_0048c3ce], ch ; mov byte [0x48c3ce], ch
+mov al, ch
+and al, 0x3f
+mov byte [ref_0048c3ce], al ; mov byte [0x48c3ce], al
+mov dword [esp + 0x40], 0x1f0
+mov dword [esp + 0x44], 0xa2
+mov dword [esp + 0x48], 0x236
+mov dword [esp + 0x4c], 0xc5
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov al, byte [ref_0048c3ce] ; mov al, byte [0x48c3ce]
+and al, 0x30
+cmp al, 0x30
+jne short loc_004349f0 ; jne 0x4349f0
+xor ah, ah
+mov byte [ref_0048c3ce], ah ; mov byte [0x48c3ce], ah
+push 0x23
+push 0x46
+mov esi, dword [esp + 0x4c]
+push esi
+mov ebp, dword [esp + 0x4c]
+push ebp
+push esi
+push ebp
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+jmp short loc_00434a27 ; jmp 0x434a27
+
+loc_004349f0:
+mov edx, dword [esp + 0x44]
+push edx
+mov ecx, dword [esp + 0x44]
+push ecx
+xor edx, edx
+mov dl, byte [esi + ref_00475884] ; mov dl, byte [esi + 0x475884]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c3c0] ; mov edx, dword [0x48c3c0]
+add edx, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_00434a27:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00434a46:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_00434a5c ; jne 0x434a5c
+cmp byte [ref_0048c3cd], 0 ; cmp byte [0x48c3cd], 0
+je near loc_00434641 ; je 0x434641
+
+loc_00434a5c:
+mov dword [esp + 0x40], 0x1f0
+mov dword [esp + 0x44], 0xc5
+mov dword [esp + 0x48], 0x232
+mov dword [esp + 0x4c], 0xde
+mov bl, byte [ref_0048c3cd] ; mov bl, byte [0x48c3cd]
+test bl, bl
+je short loc_00434ad9 ; je 0x434ad9
+mov bh, bl
+dec bh
+mov byte [ref_0048c3cd], bh ; mov byte [0x48c3cd], bh
+jne near loc_00434641 ; jne 0x434641
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x19
+push 0x42
+mov esi, dword [esp + 0x4c]
+push esi
+mov ebp, dword [esp + 0x4c]
+push ebp
+push esi
+push ebp
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+jmp near loc_00434cdc ; jmp 0x434cdc
+
+loc_00434ad9:
+call fcn_00456f2d ; call 0x456f2d
+mov esi, eax
+sar esi, 0xb
+cmp esi, 4
+jge near loc_00434641 ; jge 0x434641
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp + 0x44]
+push edx
+mov ecx, dword [esp + 0x44]
+push ecx
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+lea edx, [eax + 0xd]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c3c0] ; mov edx, dword [0x48c3c0]
+add edx, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and al, 7
+inc al
+mov byte [ref_0048c3cd], al ; mov byte [0x48c3cd], al
+jmp near loc_00434cec ; jmp 0x434cec
+
+loc_00434b5f:
+mov cl, byte [ref_0048c3cc] ; mov cl, byte [0x48c3cc]
+cmp cl, 2
+jae short loc_00434b80 ; jae 0x434b80
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+mov byte [ref_0048c3cc], 1 ; mov byte [0x48c3cc], 1
+jmp near loc_00434641 ; jmp 0x434641
+
+loc_00434b80:
+jbe short loc_00434b8e ; jbe 0x434b8e
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+jmp near loc_00434660 ; jmp 0x434660
+
+loc_00434b8e:
+xor esi, esi
+mov si, bx
+mov eax, ebx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+xor ebp, ebp
+mov dword [esp + 0x50], ebp
+jmp short loc_00434bbc ; jmp 0x434bbc
+
+loc_00434baa:
+mov ebp, dword [esp + 0x50]
+inc ebp
+mov dword [esp + 0x50], ebp
+cmp ebp, 3
+jge near loc_00434c35 ; jge 0x434c35
+
+loc_00434bbc:
+mov ebx, dword [esp + 0x50]
+shl ebx, 3
+movsx edx, word [ebx + ref_00475818] ; movsx edx, word [ebx + 0x475818]
+cmp esi, edx
+jl short loc_00434baa ; jl 0x434baa
+movsx edx, word [ebx + ref_0047581c] ; movsx edx, word [ebx + 0x47581c]
+cmp esi, edx
+jg short loc_00434baa ; jg 0x434baa
+movsx edx, word [ebx + ref_0047581a] ; movsx edx, word [ebx + 0x47581a]
+cmp eax, edx
+jl short loc_00434baa ; jl 0x434baa
+movsx edx, word [ebx + ref_0047581e] ; movsx edx, word [ebx + 0x47581e]
+cmp eax, edx
+jg short loc_00434baa ; jg 0x434baa
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov al, byte [esp + 0x50]
+inc al
+mov byte [ref_0048c3cf], al ; mov byte [0x48c3cf], al
+movsx eax, word [ebx + ref_00475818] ; movsx eax, word [ebx + 0x475818]
+mov dword [esp + 0x40], eax
+movsx eax, word [ebx + ref_0047581a] ; movsx eax, word [ebx + 0x47581a]
+mov dword [esp + 0x44], eax
+movsx eax, word [ebx + ref_0047581c] ; movsx eax, word [ebx + 0x47581c]
+mov dword [esp + 0x48], eax
+movsx eax, word [ebx + ref_0047581e] ; movsx eax, word [ebx + 0x47581e]
+mov dword [esp + 0x4c], eax
+
+loc_00434c35:
+mov al, byte [ref_0048c3cf] ; mov al, byte [0x48c3cf]
+cmp al, 2
+jb short loc_00434c51 ; jb 0x434c51
+jbe near loc_00434d00 ; jbe 0x434d00
+cmp al, 3
+je near loc_00434d62 ; je 0x434d62
+jmp near loc_00434641 ; jmp 0x434641
+
+loc_00434c51:
+cmp al, 1
+jne near loc_00434641 ; jne 0x434641
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba4], 0 ; cmp byte [eax + 0x496ba4], 0
+je short loc_00434c75 ; je 0x434c75
+xor al, al
+mov byte [ref_0048c3cf], al ; mov byte [0x48c3cf], al
+jmp near loc_00434641 ; jmp 0x434641
+
+loc_00434c75:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0x44]
+push ebx
+mov esi, dword [esp + 0x44]
+push esi
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xd8
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0xf0f0f0
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x145
+push 0x44
+push ref_00464a9c ; push 0x464a9c
+
+loc_00434cd2:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_00434cdc:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_00434cec:
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00434641 ; jmp 0x434641
+
+loc_00434d00:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0x44]
+push ebp
+mov eax, dword [esp + 0x44]
+push eax
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xd8
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0xf0f0f0
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 2
+push 0x17f
+push 0x44
+push ref_00464aa5 ; push 0x464aa5
+jmp near loc_00434cd2 ; jmp 0x434cd2
+
+loc_00434d62:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0x44]
+push ecx
+mov ebx, dword [esp + 0x44]
+push ebx
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xf0
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+jmp near loc_00434cdc ; jmp 0x434cdc
+
+loc_00434da1:
+mov al, byte [ref_0048c3cf] ; mov al, byte [0x48c3cf]
+test al, al
+je near loc_00434641 ; je 0x434641
+xor edx, edx
+mov dl, al
+movsx eax, word [edx*8 + ref_00475810] ; movsx eax, word [edx*8 + 0x475810]
+mov dword [esp + 0x40], eax
+movsx eax, word [edx*8 + ref_00475812] ; movsx eax, word [edx*8 + 0x475812]
+mov dword [esp + 0x44], eax
+movsx eax, word [edx*8 + ref_00475814] ; movsx eax, word [edx*8 + 0x475814]
+mov dword [esp + 0x48], eax
+movsx eax, word [edx*8 + ref_00475816] ; movsx eax, word [edx*8 + 0x475816]
+mov dword [esp + 0x4c], eax
+mov al, dl
+cmp al, 2
+jb short loc_00434dfb ; jb 0x434dfb
+jbe near loc_00434e98 ; jbe 0x434e98
+cmp al, 3
+je near loc_00434f25 ; je 0x434f25
+jmp near loc_00434fa1 ; jmp 0x434fa1
+
+loc_00434dfb:
+cmp al, 1
+jne near loc_00434fa1 ; jne 0x434fa1
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x64] ; ucall
+push 0x28
+push 0x72
+mov ecx, dword [esp + 0x4c]
+push ecx
+mov ebx, dword [esp + 0x4c]
+push ebx
+push ecx
+push ebx
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov eax, dword [eax + ref_00496b90] ; mov eax, dword [eax + 0x496b90]
+cmp eax, dword [ref_0048c3c8] ; cmp eax, dword [0x48c3c8]
+jge near loc_00434fa1 ; jge 0x434fa1
+mov byte [ref_0048c3cc], 3 ; mov byte [0x48c3cc], 3
+mov esi, dword [ref_00475860] ; mov esi, dword [0x475860]
+push esi
+jmp near loc_00434f99 ; jmp 0x434f99
+
+loc_00434e98:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+call dword [eax + 0x64] ; ucall
+push 0x28
+push 0x72
+mov ebp, dword [esp + 0x4c]
+push ebp
+mov eax, dword [esp + 0x4c]
+push eax
+push ebp
+push eax
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x24
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp dword [eax + ref_00496b90], 0 ; cmp dword [eax + 0x496b90], 0
+je near loc_00434fa1 ; je 0x434fa1
+mov byte [ref_0048c3cc], 5 ; mov byte [0x48c3cc], 5
+mov eax, dword [ref_00475868] ; mov eax, dword [0x475868]
+push eax
+jmp short loc_00434f99 ; jmp 0x434f99
+
+loc_00434f25:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+call dword [eax + 0x64] ; ucall
+mov ebp, dword [esp + 0x44]
+push ebp
+mov eax, dword [esp + 0x44]
+push eax
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xe4
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c3cc], 7 ; mov byte [0x48c3cc], 7
+mov ebx, dword [ref_00475870] ; mov ebx, dword [0x475870]
+push ebx
+
+loc_00434f99:
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+
+loc_00434fa1:
+xor bl, bl
+mov byte [ref_0048c3cf], bl ; mov byte [0x48c3cf], bl
+jmp near loc_00434641 ; jmp 0x434641
+
+loc_00434fae:
+cmp byte [ref_0048c3cc], 7 ; cmp byte [0x48c3cc], 7
+je near loc_00434641 ; je 0x434641
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov byte [ref_0048c3cc], 7 ; mov byte [0x48c3cc], 7
+mov ebx, dword [ref_00475870] ; mov ebx, dword [0x475870]
+push ebx
+jmp near loc_0043465b ; jmp 0x43465b
+
+loc_00434fdd:
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov ebp, dword [esp + 0x18]
+push ebp
+mov edx, dword [esp + 0x18]
+push edx
+mov ecx, dword [ref_0048a0dc] ; mov ecx, dword [0x48a0dc]
+push ecx
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00434641 ; jmp 0x434641
+
+loc_0043503b:
+push ebx
+mov ebx, dword [esp + 0x74]
+push ebx
+push eax
+push edi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00434643 ; jmp 0x434643
+
+endloc_0043504f:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_00435052: ; may contain a jump table
+dd loc_00435cca
+dd loc_00435d48
+dd loc_00435da4
+dd loc_00435ddb
+
+fcn_00435062:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xd4
+mov esi, dword [esp + 0xe8]
+mov eax, dword [esp + 0xec]
+mov edx, dword [esp + 0xf4]
+cmp eax, 0x203
+jb short loc_004350e5 ; jb 0x4350e5
+jbe near loc_00435c12 ; jbe 0x435c12
+cmp eax, 0x405
+jb short loc_004350c8 ; jb 0x4350c8
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+cmp eax, 0x405
+jbe near loc_00435197 ; jbe 0x435197
+cmp eax, 0x409
+jb near loc_0043601d ; jb 0x43601d
+jbe near loc_00435228 ; jbe 0x435228
+cmp eax, 0x40a
+je near loc_00435360 ; je 0x435360
+jmp near loc_0043601d ; jmp 0x43601d
+
+loc_004350c8:
+cmp eax, 0x205
+jb near loc_0043601d ; jb 0x43601d
+jbe near loc_00435f6d ; jbe 0x435f6d
+cmp eax, 0x401
+je short loc_00435116 ; je 0x435116
+jmp near loc_0043601d ; jmp 0x43601d
+
+loc_004350e5:
+cmp eax, 0x113
+jb short loc_00435108 ; jb 0x435108
+jbe near loc_004354aa ; jbe 0x4354aa
+cmp eax, 0x201
+jb near loc_0043601d ; jb 0x43601d
+jbe near loc_00435c12 ; jbe 0x435c12
+jmp near loc_00435ea2 ; jmp 0x435ea2
+
+loc_00435108:
+cmp eax, 0xf
+je near loc_00435fa6 ; je 0x435fa6
+jmp near loc_0043601d ; jmp 0x43601d
+
+loc_00435116:
+mov byte [ref_0048c3e0], dl ; mov byte [0x48c3e0], dl
+xor bl, bl
+mov byte [ref_0048c3dd], bl ; mov byte [0x48c3dd], bl
+mov byte [ref_0048c3de], bl ; mov byte [0x48c3de], bl
+mov byte [ref_0048c3df], bl ; mov byte [0x48c3df], bl
+mov byte [ref_0048c3e1], bl ; mov byte [0x48c3e1], bl
+mov byte [ref_0048c3e2], bl ; mov byte [0x48c3e2], bl
+mov dword [ref_0048c3d5], 0x280 ; mov dword [0x48c3d5], 0x280
+xor ebp, ebp
+mov dword [ref_0048c3d9], ebp ; mov dword [0x48c3d9], ebp
+xor eax, eax
+mov al, dl
+push eax
+call fcn_00434186 ; call 0x434186
+add esp, 4
+push ebp
+push 0x32
+mov eax, dword [ref_0046cad8] ; mov eax, dword [0x46cad8]
+push eax
+push esi
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c3d1], eax ; mov dword [0x48c3d1], eax
+push ebp
+push ebp
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push ebp
+push ebp
+push 0x405
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0043518a:
+xor eax, eax
+
+loc_0043518c:
+add esp, 0xd4
+jmp near loc_00434646 ; jmp 0x434646
+
+loc_00435197:
+cmp byte [ebx + ref_00496ba4], 0 ; cmp byte [ebx + 0x496ba4], 0
+je short loc_00435200 ; je 0x435200
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [ref_0046cae0] ; mov ebp, dword [0x46cae0]
+push ebp
+mov ecx, dword [ref_0046cadc] ; mov ecx, dword [0x46cadc]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496ba4] ; mov al, byte [eax + 0x496ba4]
+and al, 0x7f
+xor ebx, ebx
+mov bl, al
+inc ebx
+push ebx
+push ref_00464ad5 ; push 0x464ad5
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x800005dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_00435200:
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0043521c ; je 0x43521c
+mov byte [ref_0048c3dd], 1 ; mov byte [0x48c3dd], 1
+mov esi, dword [ref_00475830] ; mov esi, dword [0x475830]
+
+loc_00435216:
+push esi
+jmp near loc_00435d8c ; jmp 0x435d8c
+
+loc_0043521c:
+mov byte [ref_0048c3dd], 3 ; mov byte [0x48c3dd], 3
+jmp near loc_0043518a ; jmp 0x43518a
+
+loc_00435228:
+mov eax, dword [ebx + ref_00496b8c] ; mov eax, dword [ebx + 0x496b8c]
+mov edi, dword [ref_0048c3b0] ; mov edi, dword [0x48c3b0]
+cmp eax, edi
+jge near loc_00435354 ; jge 0x435354
+mov eax, edi
+sub eax, dword [ebx + ref_00496b8c] ; sub eax, dword [ebx + 0x496b8c]
+push eax
+call fcn_00453544 ; call 0x453544
+mov edx, eax
+add esp, 4
+test eax, eax
+je near loc_00435354 ; je 0x435354
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+add dword [eax + ref_00496b88], edx ; add dword [eax + 0x496b88], edx
+add dword [eax + ref_00496b8c], edx ; add dword [eax + 0x496b8c], edx
+push ecx
+call fcn_00433b7e ; call 0x433b7e
+add esp, 4
+call fcn_00433d6e ; call 0x433d6e
+call fcn_00433f24 ; call 0x433f24
+mov eax, dword [ref_0048c3d5] ; mov eax, dword [0x48c3d5]
+mov dword [esp + 0xc0], eax
+xor eax, eax
+mov dword [esp + 0xc4], eax
+mov dword [esp + 0xc8], 0x280
+mov dword [esp + 0xcc], 0x1e0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0xc4]
+push ebx
+mov edi, dword [esp + 0xc4]
+push edi
+mov ebp, dword [ref_0048c3b8] ; mov ebp, dword [0x48c3b8]
+push ebp
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [esp + 0xc4]
+add eax, 0x118
+push eax
+mov edx, dword [esp + 0xc4]
+push edx
+mov ecx, dword [ref_0048c3b4] ; mov ecx, dword [0x48c3b4]
+push ecx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c3dd], 7 ; mov byte [0x48c3dd], 7
+mov esi, dword [ref_00475840] ; mov esi, dword [0x475840]
+push esi
+
+loc_00435340:
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c3e2], 1 ; mov byte [0x48c3e2], 1
+jmp near loc_0043518a ; jmp 0x43518a
+
+loc_00435354:
+mov byte [ref_0048c3dd], 8 ; mov byte [0x48c3dd], 8
+jmp near loc_0043518a ; jmp 0x43518a
+
+loc_00435360:
+mov edi, dword [ebx + ref_00496b8c] ; mov edi, dword [ebx + 0x496b8c]
+push edi
+call fcn_00453544 ; call 0x453544
+mov edx, eax
+add esp, 4
+mov ebx, eax
+test eax, eax
+je short loc_00435354 ; je 0x435354
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b84] ; mov ecx, dword [eax + 0x496b84]
+mov edi, dword [eax + ref_00496b88] ; mov edi, dword [eax + 0x496b88]
+add ecx, edi
+cmp edx, ecx
+jle short loc_004353a3 ; jle 0x4353a3
+mov byte [ref_0048c3dd], 9 ; mov byte [0x48c3dd], 9
+mov ebx, dword [ref_00475850] ; mov ebx, dword [0x475850]
+push ebx
+jmp near loc_00435d8c ; jmp 0x435d8c
+
+loc_004353a3:
+mov ebp, edi
+sub ebp, edx
+mov dword [eax + ref_00496b88], ebp ; mov dword [eax + 0x496b88], ebp
+test ebp, ebp
+jge short loc_004353bf ; jge 0x4353bf
+add dword [eax + ref_00496b84], ebp ; add dword [eax + 0x496b84], ebp
+xor edi, edi
+mov dword [eax + ref_00496b88], edi ; mov dword [eax + 0x496b88], edi
+
+loc_004353bf:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [eax + ref_00496b8c] ; mov edx, dword [eax + 0x496b8c]
+sub edx, ebx
+mov dword [eax + ref_00496b8c], edx ; mov dword [eax + 0x496b8c], edx
+jne short loc_004353e1 ; jne 0x4353e1
+mov dword [eax + ref_00496b94], edx ; mov dword [eax + 0x496b94], edx
+call fcn_00433f24 ; call 0x433f24
+
+loc_004353e1:
+call fcn_00433d6e ; call 0x433d6e
+mov eax, dword [ref_0048c3d5] ; mov eax, dword [0x48c3d5]
+mov dword [esp + 0xc0], eax
+xor edi, edi
+mov dword [esp + 0xc4], edi
+mov dword [esp + 0xc8], 0x280
+mov dword [esp + 0xcc], 0x1e0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push edi
+push 1
+push ref_0048a068 ; push 0x48a068
+push edi
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp + 0xc4]
+push edx
+mov ecx, dword [esp + 0xc4]
+push ecx
+mov ebx, dword [ref_0048c3b8] ; mov ebx, dword [0x48c3b8]
+push ebx
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [esp + 0xc4]
+add eax, 0x118
+push eax
+mov ebp, dword [esp + 0xc4]
+push ebp
+mov eax, dword [ref_0048c3b4] ; mov eax, dword [0x48c3b4]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c3dd], 8 ; mov byte [0x48c3dd], 8
+mov ecx, dword [ref_00475854] ; mov ecx, dword [0x475854]
+push ecx
+jmp near loc_00435340 ; jmp 0x435340
+
+loc_004354aa:
+cmp byte [ref_0048c3dd], 0 ; cmp byte [0x48c3dd], 0
+je near loc_0043518a ; je 0x43518a
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_0043518a ; je 0x43518a
+mov eax, dword [esp + 0xf0]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_0043518a ; jne 0x43518a
+mov ebp, dword [ref_0048c3d9] ; mov ebp, dword [0x48c3d9]
+test ebp, ebp
+je near loc_00435667 ; je 0x435667
+mov edx, dword [ref_0048c3d5] ; mov edx, dword [0x48c3d5]
+add edx, ebp
+mov dword [ref_0048c3d5], edx ; mov dword [0x48c3d5], edx
+mov dword [esp + 0xc0], edx
+xor ecx, ecx
+mov dword [esp + 0xc4], ecx
+mov dword [esp + 0xc8], 0x280
+mov dword [esp + 0xcc], 0x1e0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push ecx
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push ecx
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+call dword [eax + 0x64] ; ucall
+mov eax, dword [esp + 0xc4]
+push eax
+mov edx, dword [esp + 0xc4]
+push edx
+mov ecx, dword [ref_0048c3b8] ; mov ecx, dword [0x48c3b8]
+push ecx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [esp + 0xc4]
+add eax, 0x118
+push eax
+mov edi, dword [esp + 0xc4]
+push edi
+mov ebp, dword [ref_0048c3b4] ; mov ebp, dword [0x48c3b4]
+push ebp
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov edx, dword [ref_0048c3d9] ; mov edx, dword [0x48c3d9]
+test edx, edx
+jle short loc_004355d3 ; jle 0x4355d3
+mov ecx, dword [ref_0048c3d5] ; mov ecx, dword [0x48c3d5]
+cmp ecx, 0x1b8
+jle short loc_004355d3 ; jle 0x4355d3
+push 0x1e0
+push edx
+push 0
+mov eax, ecx
+sub eax, edx
+push eax
+push 0
+mov eax, ecx
+sub eax, edx
+push eax
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048c3d9] ; mov eax, dword [0x48c3d9]
+sub dword [esp + 0xc0], eax
+
+loc_004355d3:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+cmp dword [ref_0048c3d5], 0x1b8 ; cmp dword [0x48c3d5], 0x1b8
+jne short loc_004355f7 ; jne 0x4355f7
+xor ebx, ebx
+mov dword [ref_0048c3d9], ebx ; mov dword [0x48c3d9], ebx
+
+loc_004355f7:
+cmp dword [ref_0048c3d5], 0x280 ; cmp dword [0x48c3d5], 0x280
+jne short loc_0043561b ; jne 0x43561b
+xor ebp, ebp
+mov dword [ref_0048c3d9], ebp ; mov dword [0x48c3d9], ebp
+cmp byte [ref_0048c3e2], 0 ; cmp byte [0x48c3e2], 0
+je short loc_0043561b ; je 0x43561b
+mov byte [ref_0048c3dd], 0xb ; mov byte [0x48c3dd], 0xb
+
+loc_0043561b:
+lea eax, [esp + 0xc0]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0xd0]
+push ebx
+mov edi, dword [esp + 0xd0]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0xc0]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_00435667:
+push 0
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_00435891 ; je 0x435891
+mov al, byte [ref_0048c3dd] ; mov al, byte [0x48c3dd]
+cmp al, 7
+jb short loc_004356a3 ; jb 0x4356a3
+jbe near loc_00435794 ; jbe 0x435794
+cmp al, 9
+jb near loc_004357a7 ; jb 0x4357a7
+jbe near loc_004357c7 ; jbe 0x4357c7
+cmp al, 0xb
+je near loc_0043586e ; je 0x43586e
+jmp near loc_00435891 ; jmp 0x435891
+
+loc_004356a3:
+cmp al, 3
+jb short loc_004356b2 ; jb 0x4356b2
+jbe short loc_004356d2 ; jbe 0x4356d2
+cmp al, 5
+je short loc_004356e5 ; je 0x4356e5
+jmp near loc_00435891 ; jmp 0x435891
+
+loc_004356b2:
+cmp al, 1
+jne near loc_00435891 ; jne 0x435891
+mov byte [ref_0048c3dd], 3 ; mov byte [0x48c3dd], 3
+mov ebx, dword [ref_00475834] ; mov ebx, dword [0x475834]
+push ebx
+
+loc_004356c8:
+call fcn_0044ecb6 ; call 0x44ecb6
+jmp near loc_0043588e ; jmp 0x43588e
+
+loc_004356d2:
+mov byte [ref_0048c3dd], 4 ; mov byte [0x48c3dd], 4
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_0043588e ; jmp 0x43588e
+
+loc_004356e5:
+mov byte [ref_0048c3dd], 6 ; mov byte [0x48c3dd], 6
+mov dword [esp + 0xc0], 0x8c
+mov dword [esp + 0xc4], 0x72
+mov dword [esp + 0xc8], 0xdc
+mov dword [esp + 0xcc], 0xb6
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x44
+push 0x50
+mov edi, dword [esp + 0xcc]
+push edi
+mov ebp, dword [esp + 0xcc]
+push ebp
+push edi
+push ebp
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x409
+
+loc_00435787:
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00435891 ; jmp 0x435891
+
+loc_00435794:
+mov byte [ref_0048c3dd], 8 ; mov byte [0x48c3dd], 8
+mov ebp, dword [ref_00475844] ; mov ebp, dword [0x475844]
+push ebp
+jmp near loc_004356c8 ; jmp 0x4356c8
+
+loc_004357a7:
+mov dword [ref_0048c3d9], 0x28 ; mov dword [0x48c3d9], 0x28
+mov dword [ref_0048c3d5], 0x1b8 ; mov dword [0x48c3d5], 0x1b8
+mov byte [ref_0048c3dd], 4 ; mov byte [0x48c3dd], 4
+jmp near loc_004358a9 ; jmp 0x4358a9
+
+loc_004357c7:
+mov byte [ref_0048c3dd], 0xa ; mov byte [0x48c3dd], 0xa
+mov dword [esp + 0xc0], 0x8c
+mov dword [esp + 0xc4], 0x72
+mov dword [esp + 0xc8], 0xdc
+mov dword [esp + 0xcc], 0xb6
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x44
+push 0x50
+mov edi, dword [esp + 0xcc]
+push edi
+mov ebp, dword [esp + 0xcc]
+push ebp
+push edi
+push ebp
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x40a
+jmp near loc_00435787 ; jmp 0x435787
+
+loc_0043586e:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebp, dword [ref_0048c3d1] ; mov ebp, dword [0x48c3d1]
+push ebp
+push esi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+
+loc_0043588e:
+add esp, 4
+
+loc_00435891:
+mov bl, byte [ref_0048c3dd] ; mov bl, byte [0x48c3dd]
+cmp bl, 6
+je near loc_0043518a ; je 0x43518a
+cmp bl, 0xa
+je near loc_0043518a ; je 0x43518a
+
+loc_004358a9:
+mov al, byte [ref_0048c3df] ; mov al, byte [0x48c3df]
+and al, 0xf
+cmp al, 1
+jb short loc_004358c3 ; jb 0x4358c3
+jbe short loc_004358ff ; jbe 0x4358ff
+cmp al, 2
+je near loc_004359da ; je 0x4359da
+jmp near loc_00435ac0 ; jmp 0x435ac0
+
+loc_004358c3:
+test al, al
+jne near loc_00435ac0 ; jne 0x435ac0
+call fcn_00456f2d ; call 0x456f2d
+sar eax, 0xa
+mov dword [esp + 0xd0], eax
+test eax, eax
+jne short loc_004358ea ; jne 0x4358ea
+or byte [ref_0048c3df], 1 ; or byte [0x48c3df], 1
+jmp near loc_00435ac0 ; jmp 0x435ac0
+
+loc_004358ea:
+cmp eax, 1
+jne near loc_00435ac0 ; jne 0x435ac0
+or byte [ref_0048c3df], 2 ; or byte [0x48c3df], 2
+jmp near loc_00435ac0 ; jmp 0x435ac0
+
+loc_004358ff:
+mov al, byte [ref_0048c3df] ; mov al, byte [0x48c3df]
+and al, 0x30
+and eax, 0xff
+sar eax, 4
+mov dword [esp + 0xd0], eax
+mov dword [esp + 0xc0], 0x8c
+mov dword [esp + 0xc4], 0x72
+mov dword [esp + 0xc8], 0xdc
+mov dword [esp + 0xcc], 0x9a
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edi, dword [esp + 0xc4]
+push edi
+mov ebp, dword [esp + 0xc4]
+push ebp
+xor edx, edx
+mov eax, dword [esp + 0xd8]
+mov dl, byte [eax + ref_00475880] ; mov dl, byte [eax + 0x475880]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov cl, byte [ref_0048c3df] ; mov cl, byte [0x48c3df]
+add cl, 0x10
+mov byte [ref_0048c3df], cl ; mov byte [0x48c3df], cl
+mov ch, cl
+and ch, 0x3f
+mov byte [ref_0048c3df], ch ; mov byte [0x48c3df], ch
+test ch, 0x30
+jne near loc_00435aae ; jne 0x435aae
+mov byte [ref_0048c3df], 0x80 ; mov byte [0x48c3df], 0x80
+jmp near loc_00435aae ; jmp 0x435aae
+
+loc_004359da:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 3
+sar edx, 0x1f
+idiv ecx
+mov dword [esp + 0xd0], edx
+mov al, byte [ref_0048c3df] ; mov al, byte [0x48c3df]
+and al, 0xc0
+xor edx, edx
+mov dl, al
+sar edx, 6
+cmp edx, dword [esp + 0xd0]
+je near loc_00435ac0 ; je 0x435ac0
+mov dword [esp + 0xc0], 0x8c
+mov dword [esp + 0xc4], 0x72
+mov dword [esp + 0xc8], 0xdc
+mov dword [esp + 0xcc], 0x9a
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0xc4]
+push ebx
+mov edi, dword [esp + 0xc4]
+push edi
+mov edx, dword [esp + 0xd8]
+add edx, 3
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov al, byte [esp + 0xd0]
+shl al, 6
+mov byte [ref_0048c3df], al ; mov byte [0x48c3df], al
+
+loc_00435aae:
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00435ac0:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_00435ad6 ; jne 0x435ad6
+cmp byte [ref_0048c3de], 0 ; cmp byte [0x48c3de], 0
+je near loc_0043518a ; je 0x43518a
+
+loc_00435ad6:
+mov dword [esp + 0xc0], 0x8c
+mov dword [esp + 0xc4], 0x98
+mov dword [esp + 0xc8], 0xdc
+mov dword [esp + 0xcc], 0xb6
+mov bh, byte [ref_0048c3de] ; mov bh, byte [0x48c3de]
+test bh, bh
+je short loc_00435b81 ; je 0x435b81
+mov cl, bh
+dec cl
+mov byte [ref_0048c3de], cl ; mov byte [0x48c3de], cl
+jne near loc_0043518a ; jne 0x43518a
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0xc4]
+push ebp
+mov eax, dword [esp + 0xc4]
+push eax
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x6c
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+
+loc_00435b57:
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_00435b6a:
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043518a ; jmp 0x43518a
+
+loc_00435b81:
+call fcn_00456f2d ; call 0x456f2d
+sar eax, 0xb
+mov dword [esp + 0xd0], eax
+cmp eax, 4
+jge near loc_0043518a ; jge 0x43518a
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0xc4]
+push ecx
+mov ebx, dword [esp + 0xc4]
+push ebx
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+lea edx, [eax + 9]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c3c0] ; mov edx, dword [0x48c3c0]
+add edx, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and al, 7
+inc al
+mov byte [ref_0048c3de], al ; mov byte [0x48c3de], al
+jmp near loc_00435b6a ; jmp 0x435b6a
+
+loc_00435c12:
+mov ch, byte [ref_0048c3dd] ; mov ch, byte [0x48c3dd]
+cmp ch, 4
+jae short loc_00435c2c ; jae 0x435c2c
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+jmp near loc_0043521c ; jmp 0x43521c
+
+loc_00435c2c:
+jbe short loc_00435c3a ; jbe 0x435c3a
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+jmp near loc_00435d91 ; jmp 0x435d91
+
+loc_00435c3a:
+xor eax, eax
+mov ax, dx
+mov dword [esp + 0xd0], eax
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+xor ebx, ebx
+mov edi, dword [esp + 0xd0]
+jmp short loc_00435c66 ; jmp 0x435c66
+
+loc_00435c60:
+inc ebx
+cmp ebx, 4
+jge short loc_00435caf ; jge 0x435caf
+
+loc_00435c66:
+mov eax, ebx
+shl eax, 3
+movsx ecx, word [eax + ref_004757f8] ; movsx ecx, word [eax + 0x4757f8]
+cmp ecx, edi
+jg short loc_00435c60 ; jg 0x435c60
+movsx ecx, word [eax + ref_004757fc] ; movsx ecx, word [eax + 0x4757fc]
+cmp ecx, edi
+jl short loc_00435c60 ; jl 0x435c60
+movsx ecx, word [eax + ref_004757fa] ; movsx ecx, word [eax + 0x4757fa]
+cmp edx, ecx
+jl short loc_00435c60 ; jl 0x435c60
+movsx eax, word [eax + ref_004757fe] ; movsx eax, word [eax + 0x4757fe]
+cmp edx, eax
+jg short loc_00435c60 ; jg 0x435c60
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov al, bl
+inc al
+mov byte [ref_0048c3e1], al ; mov byte [0x48c3e1], al
+
+loc_00435caf:
+mov al, byte [ref_0048c3e1] ; mov al, byte [0x48c3e1]
+dec al
+cmp al, 3
+ja near loc_0043518a ; ja 0x43518a
+and eax, 0xff
+jmp dword [eax*4 + ref_00435052] ; ujmp: jmp dword [eax*4 + 0x435052]
+
+loc_00435cca:
+movsx eax, word [ebx*8 + ref_004757f8] ; movsx eax, word [ebx*8 + 0x4757f8]
+mov dword [esp + 0xc0], eax
+movsx eax, word [ebx*8 + ref_004757fa] ; movsx eax, word [ebx*8 + 0x4757fa]
+mov dword [esp + 0xc4], eax
+movsx eax, word [ebx*8 + ref_004757fc] ; movsx eax, word [ebx*8 + 0x4757fc]
+mov dword [esp + 0xc8], eax
+movsx eax, word [ebx*8 + ref_004757fe] ; movsx eax, word [ebx*8 + 0x4757fe]
+mov dword [esp + 0xcc], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0xc4]
+push ebp
+mov eax, dword [esp + 0xc4]
+push eax
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xf0
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+jmp near loc_00435b57 ; jmp 0x435b57
+
+loc_00435d48:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba4], 0 ; cmp byte [eax + 0x496ba4], 0
+jne near loc_0043518a ; jne 0x43518a
+mov dword [ref_0048c3d5], 0x280 ; mov dword [0x48c3d5], 0x280
+mov dword [ref_0048c3d9], 0xffffffd8 ; mov dword [0x48c3d9], 0xffffffd8
+mov byte [ref_0048c3dd], 5 ; mov byte [0x48c3dd], 5
+mov eax, dword [eax + ref_00496b8c] ; mov eax, dword [eax + 0x496b8c]
+cmp eax, dword [ref_0048c3b0] ; cmp eax, dword [0x48c3b0]
+jl short loc_00435d99 ; jl 0x435d99
+mov edi, dword [ref_00475848] ; mov edi, dword [0x475848]
+
+loc_00435d8b:
+push edi
+
+loc_00435d8c:
+call fcn_0044ecb6 ; call 0x44ecb6
+
+loc_00435d91:
+add esp, 4
+jmp near loc_0043518a ; jmp 0x43518a
+
+loc_00435d99:
+mov esi, dword [ref_0047583c] ; mov esi, dword [0x47583c]
+jmp near loc_00435216 ; jmp 0x435216
+
+loc_00435da4:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp dword [eax + ref_00496b8c], 0 ; cmp dword [eax + 0x496b8c], 0
+je near loc_0043518a ; je 0x43518a
+mov byte [ref_0048c3dd], 9 ; mov byte [0x48c3dd], 9
+mov dword [ref_0048c3d5], 0x280 ; mov dword [0x48c3d5], 0x280
+mov dword [ref_0048c3d9], 0xffffffd8 ; mov dword [0x48c3d9], 0xffffffd8
+mov edi, dword [ref_0047584c] ; mov edi, dword [0x47584c]
+jmp short loc_00435d8b ; jmp 0x435d8b
+
+loc_00435ddb:
+cmp byte [ref_0048c3e0], 0 ; cmp byte [0x48c3e0], 0
+je near loc_0043518a ; je 0x43518a
+mov byte [ref_0048c3dd], 0xa ; mov byte [0x48c3dd], 0xa
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push fcn_00434492 ; push 0x434492
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov byte [ref_0048c3e2], al ; mov byte [0x48c3e2], al
+test al, al
+je short loc_00435e1d ; je 0x435e1d
+mov byte [ref_0048c3dd], 0xb ; mov byte [0x48c3dd], 0xb
+jmp near loc_0043518a ; jmp 0x43518a
+
+loc_00435e1d:
+mov byte [ref_0048c3dd], 4 ; mov byte [0x48c3dd], 4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0x101010
+push 0
+push 0x14
+push 0x50
+push 0xf0
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x108
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_00435d91 ; jmp 0x435d91
+
+loc_00435ea2:
+cmp byte [ref_0048c3e1], 1 ; cmp byte [0x48c3e1], 1
+jne near loc_00435f60 ; jne 0x435f60
+cmp byte [ref_0048c3dd], 0xb ; cmp byte [0x48c3dd], 0xb
+je near loc_00435f60 ; je 0x435f60
+mov dword [esp + 0xc0], 0x224
+mov dword [esp + 0xc4], 0x1af
+mov dword [esp + 0xc8], 0x274
+mov dword [esp + 0xcc], 0x1d7
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0xc4]
+push eax
+mov edx, dword [esp + 0xc4]
+push edx
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xe4
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c3dd], 0xb ; mov byte [0x48c3dd], 0xb
+mov ebx, dword [ref_00475858] ; mov ebx, dword [0x475858]
+push ebx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+
+loc_00435f60:
+xor cl, cl
+mov byte [ref_0048c3e1], cl ; mov byte [0x48c3e1], cl
+jmp near loc_0043518a ; jmp 0x43518a
+
+loc_00435f6d:
+cmp byte [ref_0048c3dd], 0xb ; cmp byte [0x48c3dd], 0xb
+je near loc_0043518a ; je 0x43518a
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+mov byte [ref_0048c3dd], 0xb ; mov byte [0x48c3dd], 0xb
+mov edx, dword [ref_00475858] ; mov edx, dword [0x475858]
+push edx
+jmp near loc_00435d8c ; jmp 0x435d8c
+
+loc_00435fa6:
+lea eax, [esp + 0x80]
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0x8c]
+push edx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov edi, dword [esp + 0x98]
+push edi
+mov ebp, dword [esp + 0x98]
+push ebp
+mov edx, dword [ref_0048a0dc] ; mov edx, dword [0x48a0dc]
+push edx
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0043518a ; jmp 0x43518a
+
+loc_0043601d:
+push edx
+mov ecx, dword [esp + 0xf4]
+push ecx
+push eax
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0043518c ; jmp 0x43518c
+
+fcn_00436034:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xe4
+mov esi, dword [esp + 0xf8]
+mov eax, dword [esp + 0xfc]
+cmp eax, 0x203
+jb short loc_00436082 ; jb 0x436082
+jbe near loc_00436596 ; jbe 0x436596
+cmp eax, 0x401
+jb short loc_00436072 ; jb 0x436072
+jbe short loc_004360ad ; jbe 0x4360ad
+cmp eax, 0x405
+je near loc_0043616f ; je 0x43616f
+jmp near loc_0043664a ; jmp 0x43664a
+
+loc_00436072:
+cmp eax, 0x205
+je near loc_004365b4 ; je 0x4365b4
+jmp near loc_0043664a ; jmp 0x43664a
+
+loc_00436082:
+cmp eax, 0x113
+jb short loc_0043609f ; jb 0x43609f
+jbe near loc_004361c2 ; jbe 0x4361c2
+cmp eax, 0x201
+je near loc_00436596 ; je 0x436596
+jmp near loc_0043664a ; jmp 0x43664a
+
+loc_0043609f:
+cmp eax, 0xf
+je near loc_004365d9 ; je 0x4365d9
+jmp near loc_0043664a ; jmp 0x43664a
+
+loc_004360ad:
+xor dl, dl
+mov byte [ref_0048c3e7], dl ; mov byte [0x48c3e7], dl
+mov byte [ref_0048c3e8], dl ; mov byte [0x48c3e8], dl
+mov byte [ref_0048c3e9], dl ; mov byte [0x48c3e9], dl
+push 0
+call fcn_00434186 ; call 0x434186
+add esp, 4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0x1b8
+mov ebx, dword [ref_0048c3b8] ; mov ebx, dword [0x48c3b8]
+push ebx
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x118
+push 0x1b8
+mov ebp, dword [ref_0048c3b4] ; mov ebp, dword [0x48c3b4]
+push ebp
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0x32
+mov edx, dword [ref_0046cad8] ; mov edx, dword [0x46cad8]
+push edx
+push esi
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c3e3], eax ; mov dword [0x48c3e3], eax
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x405
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_00436162:
+xor eax, eax
+
+loc_00436164:
+add esp, 0xe4
+jmp near loc_00434646 ; jmp 0x434646
+
+loc_0043616f:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+lea eax, [esp + 0xc4]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0xc0]
+push eax
+push ref_00464aee ; push 0x464aee
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+mov dword [ref_00475874], eax ; mov dword [0x475874], eax
+mov byte [ref_0048c3e7], 1 ; mov byte [0x48c3e7], 1
+mov eax, esp
+push eax
+call fcn_0044ecb6 ; call 0x44ecb6
+jmp near loc_004365ac ; jmp 0x4365ac
+
+loc_004361c2:
+cmp byte [ref_0048c3e7], 0 ; cmp byte [0x48c3e7], 0
+je short loc_00436162 ; je 0x436162
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_00436162 ; je 0x436162
+mov eax, dword [esp + 0x100]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_00436162 ; jne 0x436162
+push 0
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je short loc_00436248 ; je 0x436248
+mov al, byte [ref_0048c3e7] ; mov al, byte [0x48c3e7]
+cmp al, 2
+jb short loc_00436206 ; jb 0x436206
+jbe short loc_0043621f ; jbe 0x43621f
+cmp al, 3
+je short loc_0043622f ; je 0x43622f
+jmp short loc_00436248 ; jmp 0x436248
+
+loc_00436206:
+cmp al, 1
+jne short loc_00436248 ; jne 0x436248
+mov byte [ref_0048c3e7], 2 ; mov byte [0x48c3e7], 2
+mov ebp, dword [ref_00475878] ; mov ebp, dword [0x475878]
+push ebp
+
+loc_00436218:
+call fcn_0044ecb6 ; call 0x44ecb6
+jmp short loc_00436245 ; jmp 0x436245
+
+loc_0043621f:
+mov byte [ref_0048c3e7], 3 ; mov byte [0x48c3e7], 3
+mov edi, dword [ref_0047587c] ; mov edi, dword [0x47587c]
+push edi
+jmp short loc_00436218 ; jmp 0x436218
+
+loc_0043622f:
+mov ebx, dword [ref_0048c3e3] ; mov ebx, dword [0x48c3e3]
+push ebx
+push esi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+
+loc_00436245:
+add esp, 4
+
+loc_00436248:
+mov dh, byte [ref_0048c3e9] ; mov dh, byte [0x48c3e9]
+xor dh, 8
+mov byte [ref_0048c3e9], dh ; mov byte [0x48c3e9], dh
+test dh, 8
+jne near loc_00436162 ; jne 0x436162
+mov al, dh
+and al, 0xf
+cmp al, 1
+jb short loc_00436277 ; jb 0x436277
+jbe short loc_004362ae ; jbe 0x4362ae
+cmp al, 2
+je near loc_00436378 ; je 0x436378
+jmp near loc_00436448 ; jmp 0x436448
+
+loc_00436277:
+test al, al
+jne near loc_00436448 ; jne 0x436448
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+sar ebx, 0xa
+test ebx, ebx
+jne short loc_00436299 ; jne 0x436299
+or byte [ref_0048c3e9], 1 ; or byte [0x48c3e9], 1
+jmp near loc_00436448 ; jmp 0x436448
+
+loc_00436299:
+cmp ebx, 1
+jne near loc_00436448 ; jne 0x436448
+or byte [ref_0048c3e9], 2 ; or byte [0x48c3e9], 2
+jmp near loc_00436448 ; jmp 0x436448
+
+loc_004362ae:
+mov al, dh
+and al, 0x30
+xor ebx, ebx
+mov bl, al
+sar ebx, 4
+mov dword [esp + 0xd4], 0x8c
+mov dword [esp + 0xd8], 0x72
+mov dword [esp + 0xdc], 0xdc
+mov dword [esp + 0xe0], 0x9a
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp + 0xd8]
+push edx
+mov ecx, dword [esp + 0xd8]
+push ecx
+xor edx, edx
+mov dl, byte [ebx + ref_00475880] ; mov dl, byte [ebx + 0x475880]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov bh, byte [ref_0048c3e9] ; mov bh, byte [0x48c3e9]
+add bh, 0x10
+mov byte [ref_0048c3e9], bh ; mov byte [0x48c3e9], bh
+mov cl, bh
+and cl, 0x3f
+mov byte [ref_0048c3e9], cl ; mov byte [0x48c3e9], cl
+test cl, 0x30
+jne near loc_00436436 ; jne 0x436436
+mov byte [ref_0048c3e9], 0x80 ; mov byte [0x48c3e9], 0x80
+jmp near loc_00436436 ; jmp 0x436436
+
+loc_00436378:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 3
+sar edx, 0x1f
+idiv ebx
+mov ebx, edx
+mov al, byte [ref_0048c3e9] ; mov al, byte [0x48c3e9]
+and al, 0xc0
+and eax, 0xff
+sar eax, 6
+cmp edx, eax
+je near loc_00436448 ; je 0x436448
+mov dword [esp + 0xd4], 0x8c
+mov dword [esp + 0xd8], 0x72
+mov dword [esp + 0xdc], 0xdc
+mov dword [esp + 0xe0], 0x9a
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0xd8]
+push ebp
+mov eax, dword [esp + 0xd8]
+push eax
+lea edx, [ebx + 3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+shl bl, 6
+mov byte [ref_0048c3e9], bl ; mov byte [0x48c3e9], bl
+
+loc_00436436:
+push 0
+lea eax, [esp + 0xd8]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00436448:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_0043645e ; jne 0x43645e
+cmp byte [ref_0048c3e8], 0 ; cmp byte [0x48c3e8], 0
+je near loc_00436162 ; je 0x436162
+
+loc_0043645e:
+mov dword [esp + 0xd4], 0x8c
+mov dword [esp + 0xd8], 0x98
+mov dword [esp + 0xdc], 0xdc
+mov dword [esp + 0xe0], 0xb6
+mov bl, byte [ref_0048c3e8] ; mov bl, byte [0x48c3e8]
+test bl, bl
+je short loc_00436509 ; je 0x436509
+mov bh, bl
+dec bh
+mov byte [ref_0048c3e8], bh ; mov byte [0x48c3e8], bh
+jne near loc_00436162 ; jne 0x436162
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0xd8]
+push ebp
+mov eax, dword [esp + 0xd8]
+push eax
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0x6c
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_004364f2:
+push 0
+lea eax, [esp + 0xd8]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00436162 ; jmp 0x436162
+
+loc_00436509:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+sar ebx, 0xb
+cmp ebx, 4
+jge near loc_00436162 ; jge 0x436162
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0xd8]
+push ecx
+mov ebx, dword [esp + 0xd8]
+push ebx
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+lea edx, [eax + 9]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c3c0] ; mov eax, dword [0x48c3c0]
+add eax, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and al, 7
+inc al
+mov byte [ref_0048c3e8], al ; mov byte [0x48c3e8], al
+jmp near loc_004364f2 ; jmp 0x4364f2
+
+loc_00436596:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_004365a5:
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+
+loc_004365ac:
+add esp, 4
+jmp near loc_00436162 ; jmp 0x436162
+
+loc_004365b4:
+cmp byte [ref_0048c3e7], 3 ; cmp byte [0x48c3e7], 3
+jae near loc_00436162 ; jae 0x436162
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov byte [ref_0048c3e7], 3 ; mov byte [0x48c3e7], 3
+jmp short loc_004365a5 ; jmp 0x4365a5
+
+loc_004365d9:
+lea eax, [esp + 0x80]
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0x8c]
+push ebx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x98]
+push ebp
+mov ecx, dword [esp + 0x98]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00436162 ; jmp 0x436162
+
+loc_0043664a:
+mov ecx, dword [esp + 0x104]
+push ecx
+mov ebx, dword [esp + 0x104]
+push ebx
+push eax
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00436164 ; jmp 0x436164
+
+fcn_00436668:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x84
+xor ebx, ebx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba3], 0 ; cmp byte [eax + 0x496ba3], 0
+jne near loc_00436953 ; jne 0x436953
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_004239b9 ; call 0x4239b9
+add esp, 4
+mov dword [ref_0048c3b0], eax ; mov dword [0x48c3b0], eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_004367ab ; jne 0x4367ab
+push ebx
+push ebx
+push 0x17
+mov ebp, dword [ref_0048a05c] ; mov ebp, dword [0x48a05c]
+push ebp
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c3c0], eax ; mov dword [0x48c3c0], eax
+push ebx
+push ebx
+push 2
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c3bc], eax ; mov dword [0x48c3bc], eax
+push ebx
+push ebx
+push 0x118
+push 0xc8
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c3b8], eax ; mov dword [0x48c3b8], eax
+push ebx
+push ebx
+push 0xc8
+push 0xc8
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c3b4], eax ; mov dword [0x48c3b4], eax
+mov edx, dword [esp + 0x98]
+cmp edx, 0x1770
+jle short loc_0043674d ; jle 0x43674d
+cmp edx, 0x1f40
+jge short loc_0043674d ; jge 0x43674d
+lea eax, [edx - 0x1770]
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e7c] ; mov edx, dword [0x498e7c]
+add eax, edx
+xor edx, edx
+mov dl, byte [eax + 0x18]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne short loc_0043674d ; jne 0x43674d
+mov ebx, 1
+
+loc_0043674d:
+push 4
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push ebx
+push fcn_00435062 ; push 0x435062
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+mov ebx, dword [ref_0048c3c0] ; mov ebx, dword [0x48c3c0]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [ref_0048c3bc] ; mov esi, dword [0x48c3bc]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0048c3b8] ; mov edi, dword [0x48c3b8]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048c3b4] ; mov ebp, dword [0x48c3b4]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp near loc_00436953 ; jmp 0x436953
+
+loc_004367ab:
+cmp dword [eax + ref_00496b8c], 0 ; cmp dword [eax + 0x496b8c], 0
+je near loc_00436893 ; je 0x436893
+mov esi, dword [eax + ref_00496b94] ; mov esi, dword [eax + 0x496b94]
+push esi
+mov edi, dword [ref_00497160] ; mov edi, dword [0x497160]
+push edi
+call fcn_004521aa ; call 0x4521aa
+add esp, 8
+cmp eax, 6
+jg short loc_0043680e ; jg 0x43680e
+imul ecx, dword [ref_0049910c], 0x68 ; imul ecx, dword [0x49910c], 0x68
+mov eax, dword [ecx + ref_00496b88] ; mov eax, dword [ecx + 0x496b88]
+mov edx, dword [ecx + ref_00496b84] ; mov edx, dword [ecx + 0x496b84]
+add eax, edx
+mov dword [esp + 0x80], eax
+fild dword [esp + 0x80]
+fild dword [ecx + ref_00496b8c] ; fild dword [ecx + 0x496b8c]
+fmul qword [ref_00464b24] ; fmul qword [0x464b24]
+fcompp
+fnstsw ax
+sahf
+ja short loc_0043680e ; ja 0x43680e
+mov ebx, 1
+
+loc_0043680e:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [eax + ref_00496b8c] ; mov edx, dword [eax + 0x496b8c]
+add edx, edx
+cmp edx, dword [eax + ref_00496b88] ; cmp edx, dword [eax + 0x496b88]
+jl short loc_0043682d ; jl 0x43682d
+test ebx, ebx
+je near loc_00436953 ; je 0x436953
+
+loc_0043682d:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+mov ebp, dword [eax + ref_00496b8c] ; mov ebp, dword [eax + 0x496b8c]
+push ebp
+push edi
+call fcn_00433bd8 ; call 0x433bd8
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b8c] ; mov ecx, dword [eax + 0x496b8c]
+push ecx
+mov ebx, dword [eax + ref_00496b68] ; mov ebx, dword [eax + 0x496b68]
+push ebx
+push ref_00464af5 ; push 0x464af5
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edi, edi
+mov dword [eax + ref_00496b8c], edi ; mov dword [eax + 0x496b8c], edi
+jmp near loc_00436953 ; jmp 0x436953
+
+loc_00436893:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0xa
+sar edx, 0x1f
+idiv ecx
+test edx, edx
+je short loc_004368c7 ; je 0x4368c7
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+add edx, dword [eax + ref_00496b88] ; add edx, dword [eax + 0x496b88]
+cmp edx, 0x7530
+jge near loc_00436953 ; jge 0x436953
+
+loc_004368c7:
+imul ecx, dword [ref_0049910c], 0x68 ; imul ecx, dword [0x49910c], 0x68
+cmp byte [ecx + ref_00496ba4], 0 ; cmp byte [ecx + 0x496ba4], 0
+jne near loc_00436953 ; jne 0x436953
+mov bh, byte [ecx + ref_00496b80] ; mov bh, byte [ecx + 0x496b80]
+test bh, bh
+je short loc_00436953 ; je 0x436953
+xor edx, edx
+mov dl, bh
+imul edx, dword [ref_0048c3b0] ; imul edx, dword [0x48c3b0]
+mov ebx, 0x64
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov dword [ecx + ref_00496b8c], eax ; mov dword [ecx + 0x496b8c], eax
+test eax, eax
+je short loc_00436953 ; je 0x436953
+add dword [ecx + ref_00496b88], eax ; add dword [ecx + 0x496b88], eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_00433b7e ; call 0x433b7e
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ecx, dword [eax + ref_00496b8c] ; mov ecx, dword [eax + 0x496b8c]
+push ecx
+mov ebx, dword [eax + ref_00496b68] ; mov ebx, dword [eax + 0x496b68]
+push ebx
+push ref_00464b0c ; push 0x464b0c
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_00436953:
+add esp, 0x84
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043695e:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_00436a43 ; jne 0x436a43
+push 0
+push 0
+push 0x17
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c3c0], eax ; mov dword [0x48c3c0], eax
+push 0
+push 0
+push 2
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c3bc], eax ; mov dword [0x48c3bc], eax
+push 0
+push 0
+push 0x118
+push 0xc8
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c3b8], eax ; mov dword [0x48c3b8], eax
+push 0
+push 0
+push 0xc8
+push 0xc8
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c3b4], eax ; mov dword [0x48c3b4], eax
+push 4
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_00436034 ; push 0x436034
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+call fcn_00454bcc ; call 0x454bcc
+mov esi, dword [ref_0048c3c0] ; mov esi, dword [0x48c3c0]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0048c3bc] ; mov edi, dword [0x48c3bc]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048c3b8] ; mov ebp, dword [0x48c3b8]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048c3b4] ; mov eax, dword [0x48c3b4]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_00436a43:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00436a48:
+db 0x8b
+db 0xc0
+
+ref_00436a4a: ; may contain a jump table
+dd loc_00436a9b
+dd loc_00436adf
+dd loc_00436af5
+dd loc_00436b01
+
+fcn_00436a5a:
+push ebx
+push esi
+push edi
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+mov ecx, dword [ebx + ref_00496b94] ; mov ecx, dword [ebx + 0x496b94]
+push ecx
+mov ebx, dword [ref_00497160] ; mov ebx, dword [0x497160]
+push ebx
+call fcn_004521aa ; call 0x4521aa
+mov ebx, eax
+add esp, 8
+cmp eax, 3
+jg near loc_00436b06 ; jg 0x436b06
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+cmp ebx, 3
+ja short loc_00436b06 ; ja 0x436b06
+jmp dword [ebx*4 + ref_00436a4a] ; ujmp: jmp dword [ebx*4 + 0x436a4a]
+
+loc_00436a9b:
+push 0x5dc
+push ref_00464b2c ; push 0x464b2c
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul ebx, esi, 0x68
+mov edi, dword [ebx + ref_00496b8c] ; mov edi, dword [ebx + 0x496b8c]
+push edi
+push esi
+call fcn_00433bd8 ; call 0x433bd8
+add esp, 8
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+xor edx, edx
+mov dword [ebx + ref_00496b8c], edx ; mov dword [ebx + 0x496b8c], edx
+mov dword [ebx + ref_00496b94], edx ; mov dword [ebx + 0x496b94], edx
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00436adf:
+push 0x5dc
+push ref_00464b43 ; push 0x464b43
+
+loc_00436ae9:
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00436af5:
+push 0x5dc
+push ref_00464b5c ; push 0x464b5c
+jmp short loc_00436ae9 ; jmp 0x436ae9
+
+loc_00436b01:
+call fcn_0043695e ; call 0x43695e
+
+loc_00436b06:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00436b0a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x9c
+mov ebx, 1
+mov edi, 0xffffffff
+mov ebp, dword [ref_00498e7c] ; mov ebp, dword [0x498e7c]
+
+loc_00436b24:
+cmp ebx, dword [ref_00498e90] ; cmp ebx, dword [0x498e90]
+jg short loc_00436b45 ; jg 0x436b45
+imul esi, ebx, 0x34
+add esi, ebp
+cmp byte [esi + 0x1a], 7
+jne short loc_00436b42 ; jne 0x436b42
+mov dl, byte [esi + 0x18]
+test dl, dl
+je short loc_00436b42 ; je 0x436b42
+movzx edi, dl
+dec edi
+
+loc_00436b42:
+inc ebx
+jmp short loc_00436b24 ; jmp 0x436b24
+
+loc_00436b45:
+cmp dword [esp + 0xb0], 0
+je near loc_00436c6d ; je 0x436c6d
+cmp edi, 0xffffffff
+je near loc_00436c62 ; je 0x436c62
+cmp edi, dword [ref_0049910c] ; cmp edi, dword [0x49910c]
+je near loc_00436c62 ; je 0x436c62
+imul ebx, edi, 0x68
+mov ebx, dword [ebx + ref_00496b90] ; mov ebx, dword [ebx + 0x496b90]
+mov dword [esp + 0x94], ebx
+test ebx, ebx
+je near loc_00436c62 ; je 0x436c62
+xor ebx, ebx
+xor ebp, ebp
+
+loc_00436b84:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00436ba5 ; jge 0x436ba5
+cmp ebx, edi
+je short loc_00436ba2 ; je 0x436ba2
+imul esi, ebx, 0x68
+cmp byte [esi + ref_00496b7d], 0 ; cmp byte [esi + 0x496b7d], 0
+je short loc_00436ba2 ; je 0x436ba2
+add ebp, dword [esi + ref_00496b88] ; add ebp, dword [esi + 0x496b88]
+
+loc_00436ba2:
+inc ebx
+jmp short loc_00436b84 ; jmp 0x436b84
+
+loc_00436ba5:
+cmp ebp, dword [esp + 0x94]
+jge near loc_00436c62 ; jge 0x436c62
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+mov dword [esp + 0x98], ebx
+mov dword [ref_0049910c], edi ; mov dword [0x49910c], edi
+xor esi, esi
+mov dword [ref_0048be18], esi ; mov dword [0x48be18], esi
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+mov esi, dword [esp + 0x94]
+sub esi, ebp
+imul ebx, edi, 0x68
+mov ebp, dword [ebx + ref_00496b68] ; mov ebp, dword [ebx + 0x496b68]
+push ebp
+lea ebp, [esp + 0x84]
+push ebp
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea ebp, [esp + 0x80]
+push ebp
+push esi
+push ref_00464b75 ; push 0x464b75
+lea ebp, [esp + 0xc]
+push ebp
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x9c4
+lea ebp, [esp + 4]
+push ebp
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push esi
+push edi
+call fcn_00433bd8 ; call 0x433bd8
+add esp, 8
+mov eax, dword [ebx + ref_00496b90] ; mov eax, dword [ebx + 0x496b90]
+sub eax, esi
+mov dword [ebx + ref_00496b90], eax ; mov dword [ebx + 0x496b90], eax
+test eax, eax
+jge short loc_00436c4b ; jge 0x436c4b
+xor ecx, ecx
+mov dword [ebx + ref_00496b90], ecx ; mov dword [ebx + 0x496b90], ecx
+
+loc_00436c4b:
+mov ebx, dword [esp + 0x98]
+mov dword [ref_0049910c], ebx ; mov dword [0x49910c], ebx
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+
+loc_00436c62:
+add esp, 0x9c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00436c6d:
+xor ebx, ebx
+
+loc_00436c6f:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00436c62 ; jge 0x436c62
+cmp ebx, edi
+je near loc_00436d34 ; je 0x436d34
+imul esi, ebx, 0x68
+cmp byte [esi + ref_00496b7d], 0 ; cmp byte [esi + 0x496b7d], 0
+je near loc_00436d34 ; je 0x436d34
+cmp dword [esi + ref_00496b90], 0 ; cmp dword [esi + 0x496b90], 0
+je near loc_00436d34 ; je 0x436d34
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+mov dword [esp + 0x98], ebp
+mov dword [ref_0049910c], ebx ; mov dword [0x49910c], ebx
+xor edx, edx
+mov dword [ref_0048be18], edx ; mov dword [0x48be18], edx
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+push 0x5dc
+push ref_00464b9e ; push 0x464b9e
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ecx, dword [esi + ref_00496b90] ; mov ecx, dword [esi + 0x496b90]
+push ecx
+mov ebp, dword [esi + ref_00496b68] ; mov ebp, dword [esi + 0x496b68]
+push ebp
+push ref_00464baf ; push 0x464baf
+lea ebp, [esp + 0xc]
+push ebp
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea ebp, [esp + 4]
+push ebp
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov eax, dword [esi + ref_00496b90] ; mov eax, dword [esi + 0x496b90]
+push eax
+push ebx
+call fcn_00433bd8 ; call 0x433bd8
+add esp, 8
+xor edx, edx
+mov dword [esi + ref_00496b90], edx ; mov dword [esi + 0x496b90], edx
+mov esi, dword [esp + 0x98]
+mov dword [ref_0049910c], esi ; mov dword [0x49910c], esi
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+
+loc_00436d34:
+inc ebx
+jmp near loc_00436c6f ; jmp 0x436c6f
+
+fcn_00436d3a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+mov esi, 0x130
+push ref_0048c3f8 ; push 0x48c3f8
+call fcn_004584db ; call 0x4584db
+add esp, 4
+mov dword [esp + 0x14], eax
+fild dword [esp + 0x14]
+fild dword [ref_0048c3ec] ; fild dword [0x48c3ec]
+fdivp st1 ; fdivp st(1)
+fmul dword [ref_00464bd0] ; fmul dword [0x464bd0]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x10]
+mov edx, dword [esp + 0x10]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+mov dword [esp + 0x10], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor edi, edi
+push ref_0048c3f8 ; push 0x48c3f8
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+lea ebx, [eax - 1]
+jmp short loc_00436ded ; jmp 0x436ded
+
+loc_00436dad:
+push 0xac
+push esi
+xor edx, edx
+mov dl, byte [ebx + ref_0048c3f8] ; mov dl, byte [ebx + 0x48c3f8]
+sub edx, 0x1d
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c3f4] ; mov edx, dword [0x48c3f4]
+add edx, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+sub esi, 0x14
+dec ebx
+inc edi
+cmp edi, 0xa
+jge short loc_00436e1a ; jge 0x436e1a
+
+loc_00436ded:
+test ebx, ebx
+jge short loc_00436dad ; jge 0x436dad
+push 0x20
+sub esi, 0x66
+push esi
+push 0x65
+push 0x3e
+push 0xac
+push 0x7a
+mov eax, dword [ref_0048c3f4] ; mov eax, dword [0x48c3f4]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+
+loc_00436e1a:
+mov ebx, dword [esp + 0x10]
+test ebx, ebx
+je short loc_00436e48 ; je 0x436e48
+push 0x1a
+push ebx
+push 0
+push 0
+push 0xd2
+push 0x76
+mov eax, dword [ref_0048c3f4] ; mov eax, dword [0x48c3f4]
+add eax, 0x3c
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+
+loc_00436e48:
+mov ebp, dword [esp + 0x10]
+cmp ebp, 0xcc
+jge short loc_00436e88 ; jge 0x436e88
+push 0x1a
+mov eax, 0xcc
+sub eax, ebp
+push eax
+push 0x8b
+lea eax, [ebp + 0x3a]
+push eax
+push 0xd2
+lea eax, [ebp + 0x76]
+push eax
+mov eax, dword [ref_0048c3f4] ; mov eax, dword [0x48c3f4]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+
+loc_00436e88:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+cmp dword [esp + 0x2c], 0
+je short loc_00436ed3 ; je 0x436ed3
+mov dword [esp], 0x76
+mov dword [esp + 4], 0xac
+mov dword [esp + 8], 0x144
+mov dword [esp + 0xc], 0xec
+push 0
+lea eax, [esp + 4]
+push eax
+mov edx, dword [ref_0048a0d4] ; mov edx, dword [0x48a0d4]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00436ed3:
+add esp, 0x18
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00436edb:
+mov byte [ref_0048c3f8], 0x30 ; mov byte [0x48c3f8], 0x30
+xor dl, dl
+mov byte [ref_0048c3f9], dl ; mov byte [0x48c3f9], dl
+mov edx, dword [esp + 4]
+push edx
+call fcn_00436d3a ; call 0x436d3a
+add esp, 4
+ret
+
+fcn_00436ef8:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xd0
+mov ebp, dword [esp + 0xe4]
+mov ebx, dword [esp + 0xe8]
+mov eax, dword [esp + 0xec]
+mov ecx, dword [esp + 0xf0]
+cmp ebx, 0x202
+jb short loc_00436f6a ; jb 0x436f6a
+jbe near loc_0043762d ; jbe 0x43762d
+cmp ebx, 0x205
+jb short loc_00436f59 ; jb 0x436f59
+jbe near loc_0043791e ; jbe 0x43791e
+cmp ebx, 0x401
+jb near loc_004379b9 ; jb 0x4379b9
+jbe short loc_00436f9d ; jbe 0x436f9d
+cmp ebx, 0x408
+je near loc_004370e7 ; je 0x4370e7
+jmp near loc_004379b9 ; jmp 0x4379b9
+
+loc_00436f59:
+cmp ebx, 0x203
+je near loc_00437161 ; je 0x437161
+jmp near loc_004379b9 ; jmp 0x4379b9
+
+loc_00436f6a:
+cmp ebx, 0x100
+jb short loc_00436f8f ; jb 0x436f8f
+jbe near loc_004374ac ; jbe 0x4374ac
+cmp ebx, 0x200
+jb near loc_004379b9 ; jb 0x4379b9
+jbe near loc_00437904 ; jbe 0x437904
+jmp near loc_00437161 ; jmp 0x437161
+
+loc_00436f8f:
+cmp ebx, 0xf
+je near loc_00437942 ; je 0x437942
+jmp near loc_004379b9 ; jmp 0x4379b9
+
+loc_00436f9d:
+xor ah, ah
+mov byte [ref_0048c40b], ah ; mov byte [0x48c40b], ah
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x47
+push 0x3c
+mov eax, dword [ref_0048c3f4] ; mov eax, dword [0x48c3f4]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba4], 0 ; cmp byte [eax + 0x496ba4], 0
+je short loc_00437041 ; je 0x437041
+push 0x8d
+push 0x9d
+mov eax, dword [ref_0048c3f4] ; mov eax, dword [0x48c3f4]
+add eax, 0x168
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x78
+push 0xc7
+mov eax, dword [ref_0048c3f4] ; mov eax, dword [0x48c3f4]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov dword [ref_0048c3f0], 1 ; mov dword [0x48c3f0], 1
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov eax, dword [eax + ref_00496b84] ; mov eax, dword [eax + 0x496b84]
+jmp short loc_00437072 ; jmp 0x437072
+
+loc_00437041:
+push 0x78
+push 0x75
+mov eax, dword [ref_0048c3f4] ; mov eax, dword [0x48c3f4]
+add eax, 0x18
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor ebx, ebx
+mov dword [ref_0048c3f0], ebx ; mov dword [0x48c3f0], ebx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov eax, dword [eax + ref_00496b88] ; mov eax, dword [eax + 0x496b88]
+
+loc_00437072:
+mov dword [ref_0048c3ec], eax ; mov dword [0x48c3ec], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+call fcn_00436edb ; call 0x436edb
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba4], 0 ; cmp byte [eax + 0x496ba4], 0
+je short loc_004370b4 ; je 0x4370b4
+push 0
+push 0
+push 0x408
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp short loc_004370cc ; jmp 0x4370cc
+
+loc_004370b4:
+push 0
+push 1
+push 0x1b
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+
+loc_004370cc:
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_004370d8:
+xor eax, eax
+
+loc_004370da:
+add esp, 0xd0
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_004370e7:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [ref_0046cae0] ; mov ebx, dword [0x46cae0]
+push ebx
+mov esi, dword [ref_0046cadc] ; mov esi, dword [0x46cadc]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496ba4] ; mov al, byte [eax + 0x496ba4]
+and al, 0x7f
+xor ebx, ebx
+mov bl, al
+inc ebx
+push ebx
+push ref_00464bd4 ; push 0x464bd4
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 0
+push 1
+push 0x1b
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_004373e3 ; jmp 0x4373e3
+
+loc_00437161:
+xor esi, esi
+mov si, cx
+sub esi, 0x3c
+mov eax, ecx
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+sub edx, 0x47
+xor ebx, ebx
+jmp short loc_00437189 ; jmp 0x437189
+
+loc_0043717f:
+inc ebx
+cmp ebx, 0x12
+jge near loc_00437397 ; jge 0x437397
+
+loc_00437189:
+mov eax, ebx
+shl eax, 3
+movsx ecx, word [eax + ref_00475888] ; movsx ecx, word [eax + 0x475888]
+cmp esi, ecx
+jl short loc_0043717f ; jl 0x43717f
+movsx ecx, word [eax + ref_0047588c] ; movsx ecx, word [eax + 0x47588c]
+cmp esi, ecx
+jg short loc_0043717f ; jg 0x43717f
+movsx ecx, word [eax + ref_0047588a] ; movsx ecx, word [eax + 0x47588a]
+cmp edx, ecx
+jl short loc_0043717f ; jl 0x43717f
+movsx eax, word [eax + ref_0047588e] ; movsx eax, word [eax + 0x47588e]
+cmp edx, eax
+jg short loc_0043717f ; jg 0x43717f
+cmp ebx, 3
+je near loc_0043738f ; je 0x43738f
+cmp ebx, 1
+jg short loc_004371da ; jg 0x4371da
+jg near loc_0043738f ; jg 0x43738f
+cmp ebx, dword [ref_0048c3f0] ; cmp ebx, dword [0x48c3f0]
+je near loc_0043738f ; je 0x43738f
+
+loc_004371da:
+test ebx, ebx
+jne short loc_004371f9 ; jne 0x4371f9
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496ba4], 0 ; cmp byte [eax + 0x496ba4], 0
+je short loc_004371f9 ; je 0x4371f9
+mov ebx, dword [ref_0048c3f0] ; mov ebx, dword [0x48c3f0]
+jmp near loc_0043738f ; jmp 0x43738f
+
+loc_004371f9:
+movsx edx, word [ebx*8 + ref_00475888] ; movsx edx, word [ebx*8 + 0x475888]
+add edx, 0x3c
+mov dword [esp + 0xc0], edx
+movsx edx, word [ebx*8 + ref_0047588a] ; movsx edx, word [ebx*8 + 0x47588a]
+add edx, 0x47
+mov dword [esp + 0xc4], edx
+movsx edx, word [ebx*8 + ref_0047588c] ; movsx edx, word [ebx*8 + 0x47588c]
+add edx, 0x3c
+mov dword [esp + 0xc8], edx
+movsx eax, word [ebx*8 + ref_0047588e] ; movsx eax, word [ebx*8 + 0x47588e]
+add eax, 0x47
+mov dword [esp + 0xcc], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0xc4]
+push ecx
+mov edi, dword [esp + 0xc4]
+push edi
+lea edx, [ebx + 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c3f4] ; mov edx, dword [0x48c3f4]
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+cmp ebx, 1
+jg near loc_0043738f ; jg 0x43738f
+mov esi, ebx
+xor si, 1
+movsx eax, word [esi*8 + ref_00475888] ; movsx eax, word [esi*8 + 0x475888]
+add eax, 0x3c
+mov dword [esp + 0xc0], eax
+movsx eax, word [esi*8 + ref_0047588a] ; movsx eax, word [esi*8 + 0x47588a]
+add eax, 0x47
+mov dword [esp + 0xc4], eax
+movsx eax, word [esi*8 + ref_0047588c] ; movsx eax, word [esi*8 + 0x47588c]
+add eax, 0x3c
+mov dword [esp + 0xc8], eax
+movsx eax, word [esi*8 + ref_0047588e] ; movsx eax, word [esi*8 + 0x47588e]
+add eax, 0x47
+mov dword [esp + 0xcc], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+movsx eax, word [esi*8 + ref_0047588e] ; movsx eax, word [esi*8 + 0x47588e]
+movsx edx, word [esi*8 + ref_0047588a] ; movsx edx, word [esi*8 + 0x47588a]
+sub eax, edx
+push eax
+movsx ecx, word [esi*8 + ref_0047588c] ; movsx ecx, word [esi*8 + 0x47588c]
+movsx eax, word [esi*8 + ref_00475888] ; movsx eax, word [esi*8 + 0x475888]
+sub ecx, eax
+push ecx
+push edx
+push eax
+mov edx, dword [esp + 0xd4]
+push edx
+mov ecx, dword [esp + 0xd4]
+push ecx
+mov eax, dword [ref_0048c3f4] ; mov eax, dword [0x48c3f4]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043738f:
+inc bl
+mov byte [ref_0048c40b], bl ; mov byte [0x48c40b], bl
+
+loc_00437397:
+mov al, byte [ref_0048c40b] ; mov al, byte [0x48c40b]
+cmp al, 2
+jb short loc_004373ab ; jb 0x4373ab
+jbe short loc_004373eb ; jbe 0x4373eb
+cmp al, 4
+je short loc_00437413 ; je 0x437413
+jmp near loc_0043748b ; jmp 0x43748b
+
+loc_004373ab:
+cmp al, 1
+jne near loc_0043748b ; jne 0x43748b
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+xor ecx, ecx
+mov dword [ref_0048c3f0], ecx ; mov dword [0x48c3f0], ecx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov eax, dword [eax + ref_00496b88] ; mov eax, dword [eax + 0x496b88]
+
+loc_004373d7:
+mov dword [ref_0048c3ec], eax ; mov dword [0x48c3ec], eax
+push 1
+call fcn_00436edb ; call 0x436edb
+
+loc_004373e3:
+add esp, 4
+jmp near loc_004370d8 ; jmp 0x4370d8
+
+loc_004373eb:
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov dword [ref_0048c3f0], 1 ; mov dword [0x48c3f0], 1
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov eax, dword [eax + ref_00496b84] ; mov eax, dword [eax + 0x496b84]
+jmp short loc_004373d7 ; jmp 0x4373d7
+
+loc_00437413:
+push 0
+push ref_00482352 ; push 0x482352
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+sub esi, 0x3a
+test esi, esi
+jge short loc_0043742d ; jge 0x43742d
+xor ebx, ebx
+jmp short loc_0043746f ; jmp 0x43746f
+
+loc_0043742d:
+cmp esi, 0xcc
+jl short loc_0043743d ; jl 0x43743d
+mov ebx, dword [ref_0048c3ec] ; mov ebx, dword [0x48c3ec]
+jmp short loc_0043746f ; jmp 0x43746f
+
+loc_0043743d:
+mov ecx, 6
+mov eax, esi
+mov edx, esi
+sar edx, 0x1f
+idiv ecx
+mov ebx, eax
+mov ecx, 0x22
+mov eax, dword [ref_0048c3ec] ; mov eax, dword [0x48c3ec]
+mov edx, eax
+sar edx, 0x1f
+idiv ecx
+inc ebx
+inc eax
+imul ebx, eax
+mov ebp, dword [ref_0048c3ec] ; mov ebp, dword [0x48c3ec]
+cmp ebx, ebp
+jle short loc_0043746f ; jle 0x43746f
+mov ebx, ebp
+
+loc_0043746f:
+push 0xa
+push ref_0048c3f8 ; push 0x48c3f8
+push ebx
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 1
+call fcn_00436d3a ; call 0x436d3a
+jmp near loc_004373e3 ; jmp 0x4373e3
+
+loc_0043748b:
+cmp byte [ref_0048c40b], 0 ; cmp byte [0x48c40b], 0
+je near loc_004370d8 ; je 0x4370d8
+push 0
+push ref_0048234a ; push 0x48234a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_004370d8 ; jmp 0x4370d8
+
+loc_004374ac:
+xor dl, dl
+mov byte [ref_0048c40b], dl ; mov byte [0x48c40b], dl
+cmp eax, 0x35
+jb short loc_00437505 ; jb 0x437505
+jbe near loc_00437594 ; jbe 0x437594
+cmp eax, 0x39
+jb short loc_004374f1 ; jb 0x4374f1
+jbe near loc_004375b8 ; jbe 0x4375b8
+cmp eax, 0x48
+jb short loc_004374e3 ; jb 0x4374e3
+jbe near loc_004375dc ; jbe 0x4375dc
+cmp eax, 0x4d
+je near loc_004375c1 ; je 0x4375c1
+jmp near loc_00437601 ; jmp 0x437601
+
+loc_004374e3:
+cmp eax, 0x43
+je near loc_004375ca ; je 0x4375ca
+jmp near loc_00437601 ; jmp 0x437601
+
+loc_004374f1:
+cmp eax, 0x37
+jb near loc_0043759d ; jb 0x43759d
+jbe near loc_004375a6 ; jbe 0x4375a6
+jmp near loc_004375af ; jmp 0x4375af
+
+loc_00437505:
+cmp eax, 0x31
+jb short loc_00437515 ; jb 0x437515
+jbe short loc_00437544 ; jbe 0x437544
+cmp eax, 0x33
+jb short loc_00437550 ; jb 0x437550
+jbe short loc_0043755c ; jbe 0x43755c
+jmp short loc_00437568 ; jmp 0x437568
+
+loc_00437515:
+cmp eax, 0xd
+jb short loc_0043752a ; jb 0x43752a
+jbe near loc_004375f5 ; jbe 0x4375f5
+cmp eax, 0x30
+je short loc_00437538 ; je 0x437538
+jmp near loc_00437601 ; jmp 0x437601
+
+loc_0043752a:
+cmp eax, 8
+je near loc_004375d3 ; je 0x4375d3
+jmp near loc_00437601 ; jmp 0x437601
+
+loc_00437538:
+mov byte [ref_0048c40b], 0xf ; mov byte [0x48c40b], 0xf
+jmp near loc_0043756f ; jmp 0x43756f
+
+loc_00437544:
+mov byte [ref_0048c40b], 0xb ; mov byte [0x48c40b], 0xb
+jmp near loc_0043756f ; jmp 0x43756f
+
+loc_00437550:
+mov byte [ref_0048c40b], 0xc ; mov byte [0x48c40b], 0xc
+jmp near loc_0043756f ; jmp 0x43756f
+
+loc_0043755c:
+mov byte [ref_0048c40b], 0xd ; mov byte [0x48c40b], 0xd
+jmp near loc_0043756f ; jmp 0x43756f
+
+loc_00437568:
+mov byte [ref_0048c40b], 8 ; mov byte [0x48c40b], 8
+
+loc_0043756f:
+push 0
+push ref_0048234a ; push 0x48234a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0043757e:
+push 0
+push 0
+push 0x202
+
+loc_00437587:
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_004370d8 ; jmp 0x4370d8
+
+loc_00437594:
+mov byte [ref_0048c40b], 9 ; mov byte [0x48c40b], 9
+jmp short loc_0043756f ; jmp 0x43756f
+
+loc_0043759d:
+mov byte [ref_0048c40b], 0xa ; mov byte [0x48c40b], 0xa
+jmp short loc_0043756f ; jmp 0x43756f
+
+loc_004375a6:
+mov byte [ref_0048c40b], 5 ; mov byte [0x48c40b], 5
+jmp short loc_0043756f ; jmp 0x43756f
+
+loc_004375af:
+mov byte [ref_0048c40b], 6 ; mov byte [0x48c40b], 6
+jmp short loc_0043756f ; jmp 0x43756f
+
+loc_004375b8:
+mov byte [ref_0048c40b], 7 ; mov byte [0x48c40b], 7
+jmp short loc_0043756f ; jmp 0x43756f
+
+loc_004375c1:
+mov byte [ref_0048c40b], 0x11 ; mov byte [0x48c40b], 0x11
+jmp short loc_0043756f ; jmp 0x43756f
+
+loc_004375ca:
+mov byte [ref_0048c40b], 0xe ; mov byte [0x48c40b], 0xe
+jmp short loc_0043756f ; jmp 0x43756f
+
+loc_004375d3:
+mov byte [ref_0048c40b], 0x10 ; mov byte [0x48c40b], 0x10
+jmp short loc_0043756f ; jmp 0x43756f
+
+loc_004375dc:
+mov byte [ref_0048c40b], 4 ; mov byte [0x48c40b], 4
+mov esi, 0xdc
+mov edx, 0xdf
+shl edx, 0x10
+lea ecx, [edx + esi]
+jmp short loc_00437618 ; jmp 0x437618
+
+loc_004375f5:
+mov byte [ref_0048c40b], 0x12 ; mov byte [0x48c40b], 0x12
+jmp near loc_0043756f ; jmp 0x43756f
+
+loc_00437601:
+mov ah, byte [ref_0048c40b] ; mov ah, byte [0x48c40b]
+test ah, ah
+je near loc_004370d8 ; je 0x4370d8
+cmp ah, 4
+jne near loc_0043756f ; jne 0x43756f
+
+loc_00437618:
+push ecx
+push 0
+push 0x201
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_0043757e ; jmp 0x43757e
+
+loc_0043762d:
+mov bl, byte [ref_0048c40b] ; mov bl, byte [0x48c40b]
+cmp bl, 2
+jbe near loc_004378f7 ; jbe 0x4378f7
+cmp bl, 4
+je near loc_004378f7 ; je 0x4378f7
+mov cl, bl
+dec cl
+mov byte [ref_0048c40b], cl ; mov byte [0x48c40b], cl
+xor eax, eax
+mov al, cl
+movsx edx, word [eax*8 + ref_00475888] ; movsx edx, word [eax*8 + 0x475888]
+add edx, 0x3c
+mov dword [esp + 0xc0], edx
+movsx edx, word [eax*8 + ref_0047588a] ; movsx edx, word [eax*8 + 0x47588a]
+add edx, 0x47
+mov dword [esp + 0xc4], edx
+movsx edx, word [eax*8 + ref_0047588c] ; movsx edx, word [eax*8 + 0x47588c]
+add edx, 0x3c
+mov dword [esp + 0xc8], edx
+movsx eax, word [eax*8 + ref_0047588e] ; movsx eax, word [eax*8 + 0x47588e]
+add eax, 0x47
+mov dword [esp + 0xcc], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor eax, eax
+mov al, byte [ref_0048c40b] ; mov al, byte [0x48c40b]
+movsx ecx, word [eax*8 + ref_0047588e] ; movsx ecx, word [eax*8 + 0x47588e]
+movsx edx, word [eax*8 + ref_0047588a] ; movsx edx, word [eax*8 + 0x47588a]
+sub ecx, edx
+push ecx
+movsx ecx, word [eax*8 + ref_0047588c] ; movsx ecx, word [eax*8 + 0x47588c]
+movsx eax, word [eax*8 + ref_00475888] ; movsx eax, word [eax*8 + 0x475888]
+sub ecx, eax
+push ecx
+push edx
+push eax
+mov esi, dword [esp + 0xd4]
+push esi
+mov edi, dword [esp + 0xd4]
+push edi
+mov eax, dword [ref_0048c3f4] ; mov eax, dword [0x48c3f4]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov al, byte [ref_0048c40b] ; mov al, byte [0x48c40b]
+cmp al, 0xf
+jb short loc_00437749 ; jb 0x437749
+jbe short loc_0043778c ; jbe 0x43778c
+cmp al, 0x10
+jbe near loc_004377ce ; jbe 0x4377ce
+cmp al, 0x11
+je near loc_004377e6 ; je 0x4377e6
+jmp near loc_0043787e ; jmp 0x43787e
+
+loc_00437749:
+cmp al, 2
+jb near loc_0043787e ; jb 0x43787e
+jbe short loc_0043775c ; jbe 0x43775c
+cmp al, 0xd
+je short loc_00437780 ; je 0x437780
+jmp near loc_0043787e ; jmp 0x43787e
+
+loc_0043775c:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+
+loc_00437774:
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_004378f4 ; jmp 0x4378f4
+
+loc_00437780:
+push 1
+call fcn_00436edb ; call 0x436edb
+jmp near loc_004378f4 ; jmp 0x4378f4
+
+loc_0043778c:
+push ref_0048c3f8 ; push 0x48c3f8
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+cmp eax, 1
+jle short loc_004377b2 ; jle 0x4377b2
+xor dl, dl
+mov byte [eax + ref_0048c3f7], dl ; mov byte [eax + 0x48c3f7], dl
+
+loc_004377a6:
+push 1
+call fcn_00436d3a ; call 0x436d3a
+jmp near loc_004378f4 ; jmp 0x4378f4
+
+loc_004377b2:
+jne near loc_004378f7 ; jne 0x4378f7
+cmp byte [ref_0048c3f8], 0x30 ; cmp byte [0x48c3f8], 0x30
+je near loc_004378f7 ; je 0x4378f7
+mov byte [ref_0048c3f8], 0x30 ; mov byte [0x48c3f8], 0x30
+jmp short loc_004377a6 ; jmp 0x4377a6
+
+loc_004377ce:
+push 0xa
+push ref_0048c3f8 ; push 0x48c3f8
+mov esi, dword [ref_0048c3ec] ; mov esi, dword [0x48c3ec]
+push esi
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+jmp short loc_004377a6 ; jmp 0x4377a6
+
+loc_004377e6:
+push ref_0048c3f8 ; push 0x48c3f8
+call fcn_004584db ; call 0x4584db
+mov ebx, eax
+add esp, 4
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+test ebx, ebx
+je near loc_00437774 ; je 0x437774
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+cmp dword [ref_0048c3f0], 0 ; cmp dword [0x48c3f0], 0
+jne short loc_00437856 ; jne 0x437856
+sub dword [eax + ref_00496b88], ebx ; sub dword [eax + 0x496b88], ebx
+add dword [eax + ref_00496b84], ebx ; add dword [eax + 0x496b84], ebx
+mov eax, dword [eax + ref_00496b88] ; mov eax, dword [eax + 0x496b88]
+mov dword [ref_0048c3ec], eax ; mov dword [0x48c3ec], eax
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+push 1
+call fcn_00436b0a ; call 0x436b0a
+jmp short loc_00437876 ; jmp 0x437876
+
+loc_00437856:
+add dword [eax + ref_00496b88], ebx ; add dword [eax + 0x496b88], ebx
+mov edi, dword [eax + ref_00496b84] ; mov edi, dword [eax + 0x496b84]
+sub edi, ebx
+mov dword [eax + ref_00496b84], edi ; mov dword [eax + 0x496b84], edi
+mov dword [ref_0048c3ec], edi ; mov dword [0x48c3ec], edi
+push edx
+call fcn_0041d433 ; call 0x41d433
+
+loc_00437876:
+add esp, 4
+jmp near loc_00437774 ; jmp 0x437774
+
+loc_0043787e:
+push ref_0048c3f8 ; push 0x48c3f8
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+mov ebx, eax
+cmp eax, 0xa
+jge short loc_004378f7 ; jge 0x4378f7
+cmp eax, 1
+jne short loc_004378ab ; jne 0x4378ab
+cmp byte [ref_0048c3f8], 0x30 ; cmp byte [0x48c3f8], 0x30
+jne short loc_004378ab ; jne 0x4378ab
+cmp byte [ref_0048c40b], 0xe ; cmp byte [0x48c40b], 0xe
+je short loc_004378f7 ; je 0x4378f7
+xor ebx, ebx
+
+loc_004378ab:
+xor eax, eax
+mov al, byte [ref_0048c40b] ; mov al, byte [0x48c40b]
+mov al, byte [eax + ref_00475914] ; mov al, byte [eax + 0x475914]
+mov byte [ebx + ref_0048c3f8], al ; mov byte [ebx + 0x48c3f8], al
+xor cl, cl
+mov byte [ebx + ref_0048c3f9], cl ; mov byte [ebx + 0x48c3f9], cl
+push ref_0048c3f8 ; push 0x48c3f8
+call fcn_004584db ; call 0x4584db
+add esp, 4
+mov edi, dword [ref_0048c3ec] ; mov edi, dword [0x48c3ec]
+cmp eax, edi
+jle short loc_004378ed ; jle 0x4378ed
+push 0xa
+push ref_0048c3f8 ; push 0x48c3f8
+push edi
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+
+loc_004378ed:
+push 1
+call fcn_00436d3a ; call 0x436d3a
+
+loc_004378f4:
+add esp, 4
+
+loc_004378f7:
+xor ch, ch
+mov byte [ref_0048c40b], ch ; mov byte [0x48c40b], ch
+jmp near loc_004370d8 ; jmp 0x4370d8
+
+loc_00437904:
+cmp byte [ref_0048c40b], 4 ; cmp byte [0x48c40b], 4
+jne near loc_004370d8 ; jne 0x4370d8
+push ecx
+push 0
+push 0x201
+jmp near loc_00437587 ; jmp 0x437587
+
+loc_0043791e:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_004373e3 ; jmp 0x4373e3
+
+loc_00437942:
+lea eax, [esp + 0x80]
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0x8c]
+push edx
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+mov ecx, dword [esp + 0x98]
+push ecx
+mov ebx, dword [esp + 0x98]
+push ebx
+mov esi, dword [ref_0048a0dc] ; mov esi, dword [0x48a0dc]
+push esi
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_004370d8 ; jmp 0x4370d8
+
+loc_004379b9:
+push ecx
+push eax
+push ebx
+push ebp
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_004370da ; jmp 0x4370da
+
+fcn_004379c9:
+push ebx
+push esi
+sub esp, 0x98
+xor ebx, ebx
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov ah, byte [edx + ref_00496ba3] ; mov ah, byte [edx + 0x496ba3]
+test ah, ah
+je short loc_00437a18 ; je 0x437a18
+mov al, ah
+and al, 0x7f
+and eax, 0xff
+inc eax
+push eax
+push ref_00464bed ; push 0x464bed
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x3e8
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+jmp near loc_00437c1c ; jmp 0x437c1c
+
+loc_00437a18:
+mov cl, byte [edx + ref_00496b7d] ; mov cl, byte [edx + 0x496b7d]
+cmp cl, 1
+jne near loc_00437acd ; jne 0x437acd
+mov byte [ref_0046cb00], cl ; mov byte [0x46cb00], cl
+push ebx
+push ebx
+push 0x18
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c3f4], eax ; mov dword [0x48c3f4], eax
+cmp byte [ref_0049715d], 2 ; cmp byte [0x49715d], 2
+je short loc_00437a6f ; je 0x437a6f
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov dl, byte [eax + ref_0048be24] ; mov dl, byte [eax + 0x48be24]
+test dl, dl
+je short loc_00437a6f ; je 0x437a6f
+mov bl, dl
+xor dh, dh
+mov byte [eax + ref_0048be24], dh ; mov byte [eax + 0x48be24], dh
+push eax
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+
+loc_00437a6f:
+push 0
+push fcn_00436ef8 ; push 0x436ef8
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+test ebx, ebx
+je short loc_00437aa3 ; je 0x437aa3
+push 0x168
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov byte [eax + ref_0048be24], bl ; mov byte [eax + 0x48be24], bl
+push eax
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+
+loc_00437aa3:
+push 0xffffffffffffffff
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov edx, dword [ref_0048c3f4] ; mov edx, dword [0x48c3f4]
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor bl, bl
+mov byte [ref_0046cb00], bl ; mov byte [0x46cb00], bl
+jmp near loc_00437c1c ; jmp 0x437c1c
+
+loc_00437acd:
+mov ecx, dword [ref_00497160] ; mov ecx, dword [0x497160]
+and ecx, 0xff
+mov ebx, dword [edx + ref_00496b84] ; mov ebx, dword [edx + 0x496b84]
+add ebx, dword [edx + ref_00496b88] ; add ebx, dword [edx + 0x496b88]
+fild dword [edx + ref_00496b84] ; fild dword [edx + 0x496b84]
+mov dword [esp + 0x90], ebx
+fild dword [esp + 0x90]
+fdivp st1 ; fdivp st(1)
+fstp dword [esp + 0x8c]
+mov al, byte [edx + ref_00496b81] ; mov al, byte [edx + 0x496b81]
+mov dword [esp + 0x94], eax
+fild word [esp + 0x94]
+fdiv dword [ref_00464c08] ; fdiv dword [0x464c08]
+fstp dword [esp + 0x88]
+cmp ecx, 7
+jg short loc_00437b3c ; jg 0x437b3c
+fld dword [esp + 0x88]
+fmul qword [ref_00464c10] ; fmul qword [0x464c10]
+fstp dword [esp + 0x88]
+
+loc_00437b3c:
+cmp ecx, 0x1a
+jl short loc_00437b55 ; jl 0x437b55
+fld dword [esp + 0x88]
+fmul qword [ref_00464c18] ; fmul qword [0x464c18]
+fstp dword [esp + 0x88]
+
+loc_00437b55:
+cmp dword [esp + 0x88], 0x3f800000
+jl short loc_00437b6f ; jl 0x437b6f
+mov dword [esp + 0x88], 0x3f666666
+jmp short loc_00437b88 ; jmp 0x437b88
+
+loc_00437b6f:
+fldz
+fcomp dword [esp + 0x88]
+fnstsw ax
+sahf
+jb short loc_00437b88 ; jb 0x437b88
+mov dword [esp + 0x88], 0x3dcccccd
+
+loc_00437b88:
+fld dword [esp + 0x8c]
+fsub dword [esp + 0x88]
+fst qword [esp + 0x80]
+fcomp qword [ref_00464c20] ; fcomp qword [0x464c20]
+fnstsw ax
+sahf
+jae short loc_00437bca ; jae 0x437bca
+fld qword [esp + 0x80]
+fcomp qword [ref_00464c28] ; fcomp qword [0x464c28]
+fnstsw ax
+sahf
+jbe short loc_00437bca ; jbe 0x437bca
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp dword [eax + ref_00496b84], 0 ; cmp dword [eax + 0x496b84], 0
+jne short loc_00437c1c ; jne 0x437c1c
+
+loc_00437bca:
+mov dword [esp + 0x90], ebx
+fild dword [esp + 0x90]
+fmul dword [esp + 0x88]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x90]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul edx, esi, 0x68
+mov eax, dword [esp + 0x90]
+mov dword [edx + ref_00496b84], eax ; mov dword [edx + 0x496b84], eax
+sub ebx, eax
+mov dword [edx + ref_00496b88], ebx ; mov dword [edx + 0x496b88], ebx
+push esi
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+push 1
+call fcn_00436b0a ; call 0x436b0a
+add esp, 4
+
+loc_00437c1c:
+add esp, 0x98
+pop esi
+pop ebx
+ret
+
+fcn_00437c25:
+push ebx
+push esi
+push edi
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x46
+push 0x18
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xf0
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor ebx, ebx
+
+loc_00437c7a:
+movzx esi, byte [ref_0048c420] ; movzx esi, byte [0x48c420]
+cmp ebx, esi
+jge short loc_00437cf6 ; jge 0x437cf6
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+lea edx, [eax + 0x2f]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov ecx, dword [ref_0048c41c] ; mov ecx, dword [0x48c41c]
+lea eax, [ecx + edx]
+mov edi, 0x14a
+sub di, word [eax + 0xe]
+add di, word [eax + 0x12]
+mov eax, ebx
+mov word [ebx*2 + ref_0048c40c], di ; mov word [ebx*2 + 0x48c40c], di
+movsx edi, di
+push edi
+shl esi, 3
+movsx eax, word [esi + eax*2 + ref_00475930] ; movsx eax, word [esi + eax*2 + 0x475930]
+push eax
+add ecx, 0xc
+add edx, ecx
+push edx
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+inc ebx
+jmp short loc_00437c7a ; jmp 0x437c7a
+
+loc_00437cf6:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+mov edi, dword [esp + 0x18]
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00437d1a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+mov ebp, 0xffffffff
+xor eax, eax
+xor ecx, ecx
+xor edi, edi
+
+loc_00437d2c:
+xor edx, edx
+mov dl, byte [ref_0048c420] ; mov dl, byte [0x48c420]
+cmp eax, edx
+jge short loc_00437d99 ; jge 0x437d99
+xor edx, edx
+mov dl, byte [eax + ref_0048c418] ; mov dl, byte [eax + 0x48c418]
+imul edx, edx, 0x68
+mov ebx, dword [edx + ref_00496bc4] ; mov ebx, dword [edx + 0x496bc4]
+mov esi, dword [edx + ref_00496bc8] ; mov esi, dword [edx + 0x496bc8]
+sub ebx, esi
+mov esi, ebx
+xor ebx, ebx
+mov bl, byte [edx + ref_00496baa] ; mov bl, byte [edx + 0x496baa]
+imul ebx, dword [ref_004990e8] ; imul ebx, dword [0x4990e8]
+imul ebx, ebx, 0x9c4
+add esi, ebx
+movsx ebx, word [edx + ref_00496bac] ; movsx ebx, word [edx + 0x496bac]
+mov edx, ebx
+shl edx, 2
+add edx, ebx
+add edx, edx
+lea ebx, [esi + edx]
+mov dword [esp + eax*4], ebx
+test ecx, ecx
+jge short loc_00437d86 ; jge 0x437d86
+xor ecx, ecx
+
+loc_00437d86:
+mov edx, eax
+shl edx, 2
+mov ebx, dword [esp + edx]
+cmp ecx, ebx
+jge short loc_00437d96 ; jge 0x437d96
+mov ecx, ebx
+mov edi, eax
+
+loc_00437d96:
+inc eax
+jmp short loc_00437d2c ; jmp 0x437d2c
+
+loc_00437d99:
+xor eax, eax
+xor ebx, ebx
+
+loc_00437d9d:
+xor edx, edx
+mov dl, byte [ref_0048c420] ; mov dl, byte [0x48c420]
+cmp eax, edx
+jge short loc_00437dc9 ; jge 0x437dc9
+mov edx, eax
+shl edx, 2
+cmp ecx, dword [esp + edx]
+jne short loc_00437db8 ; jne 0x437db8
+xor esi, esi
+mov dword [esp + edx], esi
+
+loc_00437db8:
+mov edx, eax
+shl edx, 2
+mov esi, dword [esp + edx]
+cmp ebx, esi
+jge short loc_00437dc6 ; jge 0x437dc6
+mov ebx, esi
+
+loc_00437dc6:
+inc eax
+jmp short loc_00437d9d ; jmp 0x437d9d
+
+loc_00437dc9:
+test ecx, ecx
+je short loc_00437df4 ; je 0x437df4
+test ebx, ebx
+je short loc_00437df4 ; je 0x437df4
+mov eax, ecx
+sub eax, ebx
+mov dword [esp + 0x10], eax
+fild dword [esp + 0x10]
+mov dword [esp + 0x10], ecx
+fild dword [esp + 0x10]
+fdivp st1 ; fdivp st(1)
+fcomp qword [ref_00464d58] ; fcomp qword [0x464d58]
+fnstsw ax
+sahf
+jbe short loc_00437df4 ; jbe 0x437df4
+mov ebp, edi
+
+loc_00437df4:
+mov eax, ebp
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00437dfe:
+push ebx
+push esi
+push edi
+xor ebx, ebx
+xor esi, esi
+xor edi, edi
+
+loc_00437e07:
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+cmp ebx, eax
+jge short loc_00437e2e ; jge 0x437e2e
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+push eax
+call fcn_004239b9 ; call 0x4239b9
+add esp, 4
+cmp esi, eax
+jge short loc_00437e2b ; jge 0x437e2b
+mov esi, eax
+mov edi, ebx
+
+loc_00437e2b:
+inc ebx
+jmp short loc_00437e07 ; jmp 0x437e07
+
+loc_00437e2e:
+mov eax, edi
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00437e34:
+db 0x90
+
+ref_00437e35: ; may contain a jump table
+dd loc_004391ee
+dd loc_0043930f
+dd loc_004394cd
+dd loc_004396a8
+dd loc_004395c2
+
+ref_00437e49: ; may contain a jump table
+dd loc_004396d7
+dd loc_00439867
+dd loc_00439966
+dd loc_00437f23
+dd loc_00437f23
+dd loc_00439a63
+
+fcn_00437e61:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xd0
+mov esi, dword [esp + 0xe4]
+mov eax, dword [esp + 0xe8]
+cmp eax, 0x202
+jb short loc_00437eaf ; jb 0x437eaf
+jbe near loc_00439b62 ; jbe 0x439b62
+cmp eax, 0x401
+jb short loc_00437e9f ; jb 0x437e9f
+jbe short loc_00437ece ; jbe 0x437ece
+cmp eax, 0x405
+je near loc_00437f32 ; je 0x437f32
+jmp near loc_00439bdc ; jmp 0x439bdc
+
+loc_00437e9f:
+cmp eax, 0x205
+je near loc_00439b62 ; je 0x439b62
+jmp near loc_00439bdc ; jmp 0x439bdc
+
+loc_00437eaf:
+cmp eax, 0xf
+jb near loc_00439bdc ; jb 0x439bdc
+jbe near loc_00439b85 ; jbe 0x439b85
+cmp eax, 0x113
+je near loc_00437f51 ; je 0x437f51
+jmp near loc_00439bdc ; jmp 0x439bdc
+
+loc_00437ece:
+xor dh, dh
+mov byte [ref_0048c42c], dh ; mov byte [0x48c42c], dh
+mov byte [ref_0048c429], dh ; mov byte [0x48c429], dh
+mov byte [ref_0048c42b], dh ; mov byte [0x48c42b], dh
+mov byte [ref_0048c42d], dh ; mov byte [0x48c42d], dh
+mov byte [ref_0048c42e], dh ; mov byte [0x48c42e], dh
+push 0
+push 0x64
+mov edx, dword [ref_0046cad8] ; mov edx, dword [0x46cad8]
+push edx
+push esi
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c421], eax ; mov dword [0x48c421], eax
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x405
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_00437f23:
+xor eax, eax
+
+loc_00437f25:
+add esp, 0xd0
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_00437f32:
+mov byte [ref_0048c42a], 1 ; mov byte [0x48c42a], 1
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_00437f23 ; je 0x437f23
+push ref_00464d60 ; push 0x464d60
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+jmp short loc_00437f23 ; jmp 0x437f23
+
+loc_00437f51:
+cmp byte [ref_0048c42a], 0 ; cmp byte [0x48c42a], 0
+je short loc_00437f23 ; je 0x437f23
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_00437f23 ; je 0x437f23
+mov eax, dword [esp + 0xec]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne short loc_00437f23 ; jne 0x437f23
+push 0
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_00439196 ; je 0x439196
+mov al, byte [ref_0048c42a] ; mov al, byte [0x48c42a]
+cmp al, 9
+jb short loc_00437fcb ; jb 0x437fcb
+jbe near loc_00438a31 ; jbe 0x438a31
+cmp al, 0x11
+jb short loc_00437fb8 ; jb 0x437fb8
+jbe near loc_00438d40 ; jbe 0x438d40
+cmp al, 0x13
+jb near loc_00438ff5 ; jb 0x438ff5
+jbe near loc_00439120 ; jbe 0x439120
+cmp al, 0x16
+je near loc_00439163 ; je 0x439163
+jmp near loc_00439196 ; jmp 0x439196
+
+loc_00437fb8:
+cmp al, 0xf
+jb near loc_00439196 ; jb 0x439196
+jbe near loc_00438a78 ; jbe 0x438a78
+jmp near loc_00438ba6 ; jmp 0x438ba6
+
+loc_00437fcb:
+cmp al, 5
+jb short loc_00437fe8 ; jb 0x437fe8
+jbe near loc_0043829c ; jbe 0x43829c
+cmp al, 7
+jb near loc_004383dc ; jb 0x4383dc
+jbe near loc_00438570 ; jbe 0x438570
+jmp near loc_0043889e ; jmp 0x43889e
+
+loc_00437fe8:
+cmp al, 1
+jb near loc_00439196 ; jb 0x439196
+jbe short loc_00437fff ; jbe 0x437fff
+cmp al, 2
+je near loc_004380d5 ; je 0x4380d5
+jmp near loc_00439196 ; jmp 0x439196
+
+loc_00437fff:
+mov byte [ref_0048c42a], 2 ; mov byte [0x48c42a], 2
+mov byte [ref_0048c42d], 1 ; mov byte [0x48c42d], 1
+mov dword [esp + 0xc0], 0x18
+mov dword [esp + 0xc4], 0x46
+mov dword [esp + 0xc8], 0x105
+mov dword [esp + 0xcc], 0x1e0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+call dword [eax + 0x64] ; ucall
+push 0x19a
+push 0xba
+push 0x46
+push 0x18
+push 0x46
+push 0x18
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x46
+push 0x1c
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x12c
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov eax, ref_00464d92 ; mov eax, 0x464d92
+push eax
+call fcn_0044ecb6 ; call 0x44ecb6
+jmp near loc_00439193 ; jmp 0x439193
+
+loc_004380d5:
+xor ebp, ebp
+mov dword [ref_0048c425], ebp ; mov dword [0x48c425], ebp
+mov dword [esp + 0xc0], 0x168
+mov dword [esp + 0xc4], ebp
+mov dword [esp + 0xc8], 0x280
+mov ebx, 0x1e0
+mov dword [esp + 0xcc], ebx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push ebp
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push ebp
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+call dword [eax + 0x64] ; ucall
+push ebx
+push 0x64
+push ebp
+push 0x21c
+push ebp
+push 0x21c
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+xor ebx, ebx
+
+loc_0043814a:
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+cmp ebx, eax
+jge near loc_0043821e ; jge 0x43821e
+lea edi, [ebx + ebx]
+movsx eax, word [edi + eax*8 + ref_00475918] ; movsx eax, word [edi + eax*8 + 0x475918]
+push eax
+push 0x258
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+lea edx, [eax + 0x31]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+movsx eax, word [edi + eax*8 + ref_00475918] ; movsx eax, word [edi + eax*8 + 0x475918]
+sub eax, 0x24
+push eax
+push 0x168
+lea edx, [ebx + 0xb]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c41c] ; mov edx, dword [0x48c41c]
+add edx, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+imul eax, eax, 0x68
+cmp dword [eax + ref_00496b8c], 0 ; cmp dword [eax + 0x496b8c], 0
+jne short loc_00438218 ; jne 0x438218
+fild dword [eax + ref_00496b88] ; fild dword [eax + 0x496b88]
+fmul qword [ref_00464e88] ; fmul qword [0x464e88]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [eax + ref_00496b88] ; fistp dword [eax + 0x496b88]
+
+loc_00438218:
+inc ebx
+jmp near loc_0043814a ; jmp 0x43814a
+
+loc_0043821e:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+call fcn_00437d1a ; call 0x437d1a
+mov byte [ref_0048c42f], al ; mov byte [0x48c42f], al
+call fcn_00437dfe ; call 0x437dfe
+mov byte [ref_0048c430], al ; mov byte [0x48c430], al
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0043827e ; je 0x43827e
+mov ch, byte [ref_0048c42f] ; mov ch, byte [0x48c42f]
+cmp al, ch
+je short loc_0043826c ; je 0x43826c
+cmp ch, 0xff
+jne short loc_00438275 ; jne 0x438275
+
+loc_0043826c:
+mov byte [ref_0048c42a], 0xf ; mov byte [0x48c42a], 0xf
+jmp short loc_0043828f ; jmp 0x43828f
+
+loc_00438275:
+mov byte [ref_0048c42a], 5 ; mov byte [0x48c42a], 5
+jmp short loc_0043828f ; jmp 0x43828f
+
+loc_0043827e:
+mov byte [ref_0048c42a], 0x16 ; mov byte [0x48c42a], 0x16
+mov dword [ref_0048c425], 0x1e ; mov dword [0x48c425], 0x1e
+
+loc_0043828f:
+xor dh, dh
+mov byte [ref_0048c42e], dh ; mov byte [0x48c42e], dh
+jmp near loc_00439196 ; jmp 0x439196
+
+loc_0043829c:
+mov ecx, dword [ref_0048c425] ; mov ecx, dword [0x48c425]
+inc ecx
+mov dword [ref_0048c425], ecx ; mov dword [0x48c425], ecx
+cmp ecx, 0x14
+je short loc_004382b7 ; je 0x4382b7
+cmp byte [ref_0048c42e], 0 ; cmp byte [0x48c42e], 0
+je short loc_004382c8 ; je 0x4382c8
+
+loc_004382b7:
+xor bh, bh
+mov byte [ref_0048c42d], bh ; mov byte [0x48c42d], bh
+push esi
+call fcn_00437c25 ; call 0x437c25
+add esp, 4
+
+loc_004382c8:
+cmp dword [ref_0048c425], 0x1e ; cmp dword [0x48c425], 0x1e
+je short loc_004382de ; je 0x4382de
+cmp byte [ref_0048c42e], 0 ; cmp byte [0x48c42e], 0
+je near loc_00439196 ; je 0x439196
+
+loc_004382de:
+xor ch, ch
+mov byte [ref_0048c42e], ch ; mov byte [0x48c42e], ch
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+cmp eax, 0xffffffff
+je near loc_004383d0 ; je 0x4383d0
+mov ebp, 0x18
+mov dword [esp + 0xc0], ebp
+mov dword [esp + 0xc4], 0x43
+mov dword [esp + 0xc8], 0xd2
+mov dword [esp + 0xcc], 0x1e0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x19a
+push 0xba
+push 0x46
+push ebp
+push 0x46
+push ebp
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x43
+push 0x23
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x18c
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c42a], 6 ; mov byte [0x48c42a], 6
+mov byte [ref_0048c42d], 2 ; mov byte [0x48c42d], 2
+push ref_00464dca ; push 0x464dca
+
+loc_004383b4:
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+push 0
+push ref_00475b17 ; push 0x475b17
+
+loc_004383c3:
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_00439196 ; jmp 0x439196
+
+loc_004383d0:
+mov byte [ref_0048c42a], 0xf ; mov byte [0x48c42a], 0xf
+jmp near loc_00439196 ; jmp 0x439196
+
+loc_004383dc:
+mov byte [ref_0048c42a], 7 ; mov byte [0x48c42a], 7
+mov byte [ref_0048c42d], 3 ; mov byte [0x48c42d], 3
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+call dword [eax + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+xor edx, edx
+mov dl, byte [ref_0048c42f] ; mov dl, byte [0x48c42f]
+add edx, edx
+movsx eax, word [edx + eax*8 + ref_00475948] ; movsx eax, word [edx + eax*8 + 0x475948]
+push eax
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+mov edx, eax
+shl edx, 3
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+movsx edx, word [edx + eax*2 + ref_00475960] ; movsx edx, word [edx + eax*2 + 0x475960]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c41c] ; mov edx, dword [0x48c41c]
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x59
+push 0
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x1c8
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor ebx, ebx
+
+loc_0043849e:
+movzx ebp, byte [ref_0048c420] ; movzx ebp, byte [0x48c420]
+cmp ebx, ebp
+jge short loc_00438518 ; jge 0x438518
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+lea edx, [eax + 0x2f]
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 2
+mov edx, dword [ref_0048c41c] ; mov edx, dword [0x48c41c]
+lea eax, [edx + ecx]
+mov edi, 0x14a
+sub di, word [eax + 0xe]
+add di, word [eax + 0x12]
+mov eax, ebx
+mov word [ebx*2 + ref_0048c40c], di ; mov word [ebx*2 + 0x48c40c], di
+movsx edi, di
+push edi
+shl ebp, 3
+movsx eax, word [ebp + eax*2 + ref_00475930] ; movsx eax, word [ebp + eax*2 + 0x475930]
+push eax
+add edx, 0xc
+add edx, ecx
+push edx
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+inc ebx
+jmp short loc_0043849e ; jmp 0x43849e
+
+loc_00438518:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov edx, dword [eax*4 + ref_00475988] ; mov edx, dword [eax*4 + 0x475988]
+push edx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+push 0
+push ref_00475b27 ; push 0x475b27
+jmp near loc_004383c3 ; jmp 0x4383c3
+
+loc_00438570:
+mov byte [ref_0048c42a], 8 ; mov byte [0x48c42a], 8
+mov byte [ref_0048c42d], 2 ; mov byte [0x48c42d], 2
+push 0
+push 0
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+add eax, eax
+add eax, 0x1a1
+push eax
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c414], eax ; mov dword [0x48c414], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+call dword [eax + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x43
+push 0x23
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x18c
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+xor edx, edx
+mov dl, byte [ref_0048c42f] ; mov dl, byte [0x48c42f]
+add edx, edx
+movsx eax, word [edx + eax*8 + ref_00475948] ; movsx eax, word [edx + eax*8 + 0x475948]
+push eax
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+xor edx, edx
+mov dl, byte [ref_0048c42f] ; mov dl, byte [0x48c42f]
+add edx, edx
+movsx edx, word [edx + eax*8 + ref_00475960] ; movsx edx, word [edx + eax*8 + 0x475960]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x195
+push 0x1b8
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x24
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 1
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov byte [esp], 0x24
+xor ah, ah
+mov byte [esp + 1], ah
+push 0
+push 0x172
+push 0x140
+mov eax, ref_00464de4 ; mov eax, 0x464de4
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x184
+push 0x140
+mov eax, ref_00464def ; mov eax, 0x464def
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00496bc4] ; mov ecx, dword [eax + 0x496bc4]
+push ecx
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x184
+push 0x230
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x196
+push 0x140
+mov eax, ref_00464dfe ; mov eax, 0x464dfe
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ebx, dword [eax + ref_00496bc8] ; mov ebx, dword [eax + 0x496bc8]
+push ebx
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x196
+push 0x230
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x1a8
+push 0x140
+mov eax, ref_00464e0d ; mov eax, 0x464e0d
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496baa] ; mov al, byte [eax + 0x496baa]
+and eax, 0xff
+push eax
+mov eax, ref_00464e1c ; mov eax, 0x464e1c
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+push 0x1a8
+push 0x230
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+
+loc_004387f9:
+movzx ebp, byte [ref_0048c420] ; movzx ebp, byte [0x48c420]
+cmp ebx, ebp
+jge near loc_00438885 ; jge 0x438885
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+cmp ebx, eax
+je short loc_0043887f ; je 0x43887f
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+lea edx, [eax + 0x2f]
+mov ecx, edx
+shl ecx, 2
+sub ecx, edx
+shl ecx, 2
+mov edx, dword [ref_0048c41c] ; mov edx, dword [0x48c41c]
+lea eax, [edx + ecx]
+mov edi, 0x14a
+sub di, word [eax + 0xe]
+add di, word [eax + 0x12]
+mov eax, ebx
+mov word [ebx*2 + ref_0048c40c], di ; mov word [ebx*2 + 0x48c40c], di
+movsx edi, di
+push edi
+shl ebp, 3
+movsx eax, word [ebp + eax*2 + ref_00475930] ; movsx eax, word [ebp + eax*2 + 0x475930]
+push eax
+add edx, 0xc
+add edx, ecx
+push edx
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0043887f:
+inc ebx
+jmp near loc_004387f9 ; jmp 0x4387f9
+
+loc_00438885:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+jmp near loc_00438a24 ; jmp 0x438a24
+
+loc_0043889e:
+push 0xffffffffffffffff
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edi, dword [eax*8 + ref_00475a0b] ; mov edi, dword [eax*8 + 0x475a0b]
+push edi
+xor edx, edx
+mov dl, byte [ref_0048c42f] ; mov dl, byte [0x48c42f]
+xor eax, eax
+mov al, byte [edx + ref_0048c418] ; mov al, byte [edx + 0x48c418]
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, 0x14a
+mov ebp, dword [eax*8 + ref_00475a07] ; mov ebp, dword [eax*8 + 0x475a07]
+lea eax, [edx + ebp]
+push eax
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 3
+xor ecx, ecx
+mov cl, byte [ref_0048c420] ; mov cl, byte [0x48c420]
+xor eax, eax
+mov al, byte [ref_0048c42f] ; mov al, byte [0x48c42f]
+add eax, eax
+movsx eax, word [eax + ecx*8 + ref_00475930] ; movsx eax, word [eax + ecx*8 + 0x475930]
+add eax, dword [edx + ref_00475a03] ; add eax, dword [edx + 0x475a03]
+push eax
+mov ebx, dword [ref_0048c414] ; mov ebx, dword [0x48c414]
+push ebx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+mov edi, dword [ref_0048c414] ; mov edi, dword [0x48c414]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov byte [ref_0048c42a], 9 ; mov byte [0x48c42a], 9
+mov byte [ref_0048c42d], 4 ; mov byte [0x48c42d], 4
+mov ebp, 0x11
+mov dword [esp + 0xc0], ebp
+mov dword [esp + 0xc4], 0x41
+mov dword [esp + 0xc8], 0x100
+mov dword [esp + 0xcc], 0x1e0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+call dword [eax + 0x64] ; ucall
+push 0x19d
+push 0xad
+push 0x43
+push 0x23
+push 0x43
+push 0x23
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x41
+push ebp
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x1d4
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+call dword [eax + 0x80] ; ucall
+
+loc_00438a1a:
+push 0
+lea eax, [esp + 0xc4]
+push eax
+
+loc_00438a24:
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00439196 ; jmp 0x439196
+
+loc_00438a31:
+push 0
+push 0x101010
+push 0
+push 0x14
+push 0xa
+push 0xbe
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x30
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+mov eax, ref_00464e21 ; mov eax, 0x464e21
+push eax
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c42a], 0xf ; mov byte [0x48c42a], 0xf
+mov dword [ref_0048c425], 0x13 ; mov dword [0x48c425], 0x13
+jmp near loc_00439196 ; jmp 0x439196
+
+loc_00438a78:
+mov eax, dword [ref_0048c425] ; mov eax, dword [0x48c425]
+inc eax
+mov dword [ref_0048c425], eax ; mov dword [0x48c425], eax
+cmp eax, 0x14
+je short loc_00438a91 ; je 0x438a91
+cmp byte [ref_0048c42e], 0 ; cmp byte [0x48c42e], 0
+je short loc_00438aa2 ; je 0x438aa2
+
+loc_00438a91:
+xor cl, cl
+mov byte [ref_0048c42d], cl ; mov byte [0x48c42d], cl
+push esi
+call fcn_00437c25 ; call 0x437c25
+add esp, 4
+
+loc_00438aa2:
+cmp dword [ref_0048c425], 0x1e ; cmp dword [0x48c425], 0x1e
+je short loc_00438ab8 ; je 0x438ab8
+cmp byte [ref_0048c42e], 0 ; cmp byte [0x48c42e], 0
+je near loc_00439196 ; je 0x439196
+
+loc_00438ab8:
+xor al, al
+mov byte [ref_0048c42e], al ; mov byte [0x48c42e], al
+push 0
+push 0x101010
+push 0xffffffffffffffe2
+push 0
+push 0xa
+push 0xbe
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x18
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+mov ebx, 0x11
+mov dword [esp + 0xc0], ebx
+mov edi, 0x41
+mov dword [esp + 0xc4], edi
+mov dword [esp + 0xc8], 0x100
+mov dword [esp + 0xcc], 0x1e0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x19a
+push 0xba
+push 0x46
+push 0x18
+push 0x46
+push 0x18
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push edi
+push ebx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x1d4
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c42a], 0x10 ; mov byte [0x48c42a], 0x10
+mov byte [ref_0048c42d], 4 ; mov byte [0x48c42d], 4
+push ref_00464e39 ; push 0x464e39
+jmp near loc_004383b4 ; jmp 0x4383b4
+
+loc_00438ba6:
+mov byte [ref_0048c42a], 0x11 ; mov byte [0x48c42a], 0x11
+mov byte [ref_0048c42d], 5 ; mov byte [0x48c42d], 5
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+call dword [eax + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+mov edx, eax
+shl edx, 3
+xor eax, eax
+mov al, byte [ref_0048c430] ; mov al, byte [0x48c430]
+movsx eax, word [edx + eax*2 + ref_00475948] ; movsx eax, word [edx + eax*2 + 0x475948]
+push eax
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+mov edx, eax
+shl edx, 3
+xor eax, eax
+mov al, byte [ref_0048c430] ; mov al, byte [0x48c430]
+movsx edx, word [edx + eax*2 + ref_00475960] ; movsx edx, word [edx + eax*2 + 0x475960]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x40
+push 0x1b
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x204
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor ebx, ebx
+
+loc_00438c6c:
+movzx ebp, byte [ref_0048c420] ; movzx ebp, byte [0x48c420]
+cmp ebx, ebp
+jge short loc_00438ce8 ; jge 0x438ce8
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+lea edx, [eax + 0x2f]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov ecx, dword [ref_0048c41c] ; mov ecx, dword [0x48c41c]
+lea eax, [ecx + edx]
+mov edi, 0x14a
+sub di, word [eax + 0xe]
+add di, word [eax + 0x12]
+mov eax, ebx
+mov word [ebx*2 + ref_0048c40c], di ; mov word [ebx*2 + 0x48c40c], di
+movsx edi, di
+push edi
+shl ebp, 3
+movsx eax, word [ebp + eax*2 + ref_00475930] ; movsx eax, word [ebp + eax*2 + 0x475930]
+push eax
+add ecx, 0xc
+add edx, ecx
+push edx
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+inc ebx
+jmp short loc_00438c6c ; jmp 0x438c6c
+
+loc_00438ce8:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor eax, eax
+mov al, byte [ref_0048c430] ; mov al, byte [0x48c430]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov edx, dword [eax*4 + ref_004759b8] ; mov edx, dword [eax*4 + 0x4759b8]
+push edx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+push 0
+push ref_00475b1f ; push 0x475b1f
+jmp near loc_004383c3 ; jmp 0x4383c3
+
+loc_00438d40:
+mov byte [ref_0048c42a], 0x12 ; mov byte [0x48c42a], 0x12
+push 0
+push 0
+xor eax, eax
+mov al, byte [ref_0048c430] ; mov al, byte [0x48c430]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+add eax, eax
+add eax, 0x1a0
+push eax
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c414], eax ; mov dword [0x48c414], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+mov edx, eax
+shl edx, 3
+xor eax, eax
+mov al, byte [ref_0048c430] ; mov al, byte [0x48c430]
+add eax, eax
+add eax, edx
+movsx edx, word [eax + ref_00475948] ; movsx edx, word [eax + 0x475948]
+push edx
+movsx edx, word [eax + ref_00475960] ; movsx edx, word [eax + 0x475960]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x195
+push 0x1b8
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x24
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 1
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov byte [esp], 0x24
+xor dl, dl
+mov byte [esp + 1], dl
+push 0
+push 0x172
+push 0x140
+push ref_00464de4 ; push 0x464de4
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x184
+push 0x140
+push ref_00464e4f ; push 0x464e4f
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c430] ; mov al, byte [0x48c430]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ebp, dword [eax + ref_00496b84] ; mov ebp, dword [eax + 0x496b84]
+push ebp
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x184
+push 0x230
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x196
+push 0x140
+push ref_00464e56 ; push 0x464e56
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c430] ; mov al, byte [0x48c430]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+imul eax, eax, 0x68
+mov edx, dword [eax + ref_00496b88] ; mov edx, dword [eax + 0x496b88]
+push edx
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x196
+push 0x230
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x1a8
+push 0x140
+push ref_00464e5d ; push 0x464e5d
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ref_0048c430] ; mov al, byte [0x48c430]
+mov al, byte [eax + ref_0048c418] ; mov al, byte [eax + 0x48c418]
+and eax, 0xff
+push eax
+call fcn_004239b9 ; call 0x4239b9
+add esp, 4
+push eax
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x1a8
+push 0x230
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+
+loc_00438f66:
+xor ecx, ecx
+mov cl, byte [ref_0048c420] ; mov cl, byte [0x48c420]
+cmp ebx, ecx
+jge near loc_00438885 ; jge 0x438885
+xor eax, eax
+mov al, byte [ref_0048c430] ; mov al, byte [0x48c430]
+cmp ebx, eax
+je short loc_00438fef ; je 0x438fef
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+lea edx, [eax + 0x2f]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov ebp, dword [ref_0048c41c] ; mov ebp, dword [0x48c41c]
+lea eax, [edx + ebp]
+mov edi, 0x14a
+sub di, word [eax + 0xe]
+add di, word [eax + 0x12]
+mov eax, ebx
+mov word [ebx*2 + ref_0048c40c], di ; mov word [ebx*2 + 0x48c40c], di
+movsx edi, di
+push edi
+shl ecx, 3
+movsx eax, word [ecx + eax*2 + ref_00475930] ; movsx eax, word [ecx + eax*2 + 0x475930]
+push eax
+add ebp, 0xc
+add edx, ebp
+push edx
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_00438fef:
+inc ebx
+jmp near loc_00438f66 ; jmp 0x438f66
+
+loc_00438ff5:
+push 0xffffffffffffffff
+xor edx, edx
+mov dl, byte [ref_0048c430] ; mov dl, byte [0x48c430]
+xor eax, eax
+mov al, byte [edx + ref_0048c418] ; mov al, byte [edx + 0x48c418]
+imul eax, eax, 0x68
+xor ecx, ecx
+mov cl, byte [eax + ref_00496b7b] ; mov cl, byte [eax + 0x496b7b]
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+mov ecx, dword [eax*8 + ref_004759ff] ; mov ecx, dword [eax*8 + 0x4759ff]
+push ecx
+mov ecx, dword [eax*8 + ref_004759fb] ; mov ecx, dword [eax*8 + 0x4759fb]
+add ecx, 0x14a
+push ecx
+xor ecx, ecx
+mov cl, byte [ref_0048c420] ; mov cl, byte [0x48c420]
+add edx, edx
+movsx edx, word [edx + ecx*8 + ref_00475930] ; movsx edx, word [edx + ecx*8 + 0x475930]
+add edx, dword [eax*8 + ref_004759f7] ; add edx, dword [eax*8 + 0x4759f7]
+push edx
+mov edi, dword [ref_0048c414] ; mov edi, dword [0x48c414]
+push edi
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+mov ebp, dword [ref_0048c414] ; mov ebp, dword [0x48c414]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov byte [ref_0048c42a], 0x13 ; mov byte [0x48c42a], 0x13
+mov byte [ref_0048c42d], 6 ; mov byte [0x48c42d], 6
+mov dword [esp + 0xc0], 6
+mov dword [esp + 0xc4], 0x3c
+mov dword [esp + 0xc8], 0xde
+mov dword [esp + 0xcc], 0x1e0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x1a0
+push 0xc3
+push 0x40
+push 0x1b
+push 0x40
+push 0x1b
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov ebp, dword [esp + 0xc4]
+push ebp
+mov eax, dword [esp + 0xc4]
+push eax
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x228
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_00438a1a ; jmp 0x438a1a
+
+loc_00439120:
+push 0
+push 0x101010
+push 0
+push 0x14
+push 0x25
+push 0xd5
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x3c
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+push ref_00464e66 ; push 0x464e66
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c42a], 0x16 ; mov byte [0x48c42a], 0x16
+mov dword [ref_0048c425], 0xa ; mov dword [0x48c425], 0xa
+jmp short loc_00439196 ; jmp 0x439196
+
+loc_00439163:
+mov ebx, dword [ref_0048c425] ; mov ebx, dword [0x48c425]
+dec ebx
+mov dword [ref_0048c425], ebx ; mov dword [0x48c425], ebx
+test ebx, ebx
+jle short loc_0043917d ; jle 0x43917d
+cmp byte [ref_0048c42e], 0 ; cmp byte [0x48c42e], 0
+je short loc_00439196 ; je 0x439196
+
+loc_0043917d:
+mov ebp, dword [ref_0048c421] ; mov ebp, dword [0x48c421]
+push ebp
+push esi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+
+loc_00439193:
+add esp, 4
+
+loc_00439196:
+test byte [ref_0048c42c], 0xf ; test byte [0x48c42c], 0xf
+jne short loc_004391c2 ; jne 0x4391c2
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+sar ebx, 0xa
+test ebx, ebx
+jne short loc_004391b6 ; jne 0x4391b6
+or byte [ref_0048c42c], 1 ; or byte [0x48c42c], 1
+jmp short loc_004391c2 ; jmp 0x4391c2
+
+loc_004391b6:
+cmp ebx, 1
+jne short loc_004391c2 ; jne 0x4391c2
+or byte [ref_0048c42c], 2 ; or byte [0x48c42c], 2
+
+loc_004391c2:
+mov al, byte [ref_0048c42c] ; mov al, byte [0x48c42c]
+and al, 0xf
+xor ebx, ebx
+mov bl, al
+test ebx, ebx
+je near loc_004396a8 ; je 0x4396a8
+mov al, byte [ref_0048c42d] ; mov al, byte [0x48c42d]
+cmp al, 4
+ja near loc_004396a8 ; ja 0x4396a8
+and eax, 0xff
+jmp dword [eax*4 + ref_00437e35] ; ujmp: jmp dword [eax*4 + 0x437e35]
+
+loc_004391ee:
+cmp ebx, 1
+jne near loc_00439302 ; jne 0x439302
+mov al, byte [ref_0048c42c] ; mov al, byte [0x48c42c]
+and al, 0x30
+xor ebx, ebx
+mov bl, al
+sar ebx, 4
+mov dword [esp + 0xc0], 0x4c
+mov dword [esp + 0xc4], 0x78
+mov dword [esp + 0xc8], 0x9c
+mov dword [esp + 0xcc], 0xa0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp ebx, 3
+jne short loc_00439288 ; jne 0x439288
+push 0x28
+push 0x50
+push 0x32
+push 0x34
+mov edx, dword [esp + 0xd4]
+push edx
+mov ecx, dword [esp + 0xd4]
+push ecx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xf0
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+xor dh, dh
+mov byte [ref_0048c42c], dh ; mov byte [0x48c42c], dh
+jmp short loc_004392db ; jmp 0x4392db
+
+loc_00439288:
+mov edi, dword [esp + 0xc4]
+push edi
+mov ebp, dword [esp + 0xc4]
+push ebp
+xor edx, edx
+mov dl, byte [ref_0048c42d] ; mov dl, byte [0x48c42d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor edx, edx
+mov dl, byte [ebx + eax + ref_004759e8] ; mov dl, byte [ebx + eax + 0x4759e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c41c] ; mov edx, dword [0x48c41c]
+add edx, 0xc
+
+loc_004392c3:
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+
+loc_004392cc:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+add byte [ref_0048c42c], 0x10 ; add byte [0x48c42c], 0x10
+
+loc_004392db:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_004396a8 ; jmp 0x4396a8
+
+loc_00439302:
+xor ah, ah
+mov byte [ref_0048c42c], ah ; mov byte [0x48c42c], ah
+jmp near loc_004396a8 ; jmp 0x4396a8
+
+loc_0043930f:
+cmp ebx, 1
+jb near loc_004396a8 ; jb 0x4396a8
+jbe short loc_00439328 ; jbe 0x439328
+cmp ebx, 2
+je near loc_004393fd ; je 0x4393fd
+jmp near loc_004396a8 ; jmp 0x4396a8
+
+loc_00439328:
+mov al, byte [ref_0048c42c] ; mov al, byte [0x48c42c]
+and al, 0x30
+xor ebx, ebx
+mov bl, al
+sar ebx, 4
+mov dword [esp + 0xc0], 0x67
+mov dword [esp + 0xc4], 0x78
+mov dword [esp + 0xc8], 0xa3
+mov dword [esp + 0xcc], 0x9e
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp ebx, 3
+jne short loc_004393b3 ; jne 0x4393b3
+mov ecx, dword [esp + 0xc4]
+push ecx
+mov ebx, dword [esp + 0xc4]
+push ebx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x138
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor al, al
+mov byte [ref_0048c42c], al ; mov byte [0x48c42c], al
+jmp near loc_004392db ; jmp 0x4392db
+
+loc_004393b3:
+mov ebp, dword [esp + 0xc4]
+push ebp
+mov eax, dword [esp + 0xc4]
+push eax
+xor edx, edx
+mov dl, byte [ref_0048c42d] ; mov dl, byte [0x48c42d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor edx, edx
+mov dl, byte [ebx + eax + ref_004759e8] ; mov dl, byte [ebx + eax + 0x4759e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c41c] ; mov edx, dword [0x48c41c]
+add edx, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+jmp near loc_004392cc ; jmp 0x4392cc
+
+loc_004393fd:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+and ebx, 1
+xor eax, eax
+mov al, byte [ref_0048c42c] ; mov al, byte [0x48c42c]
+sar eax, 6
+cmp eax, ebx
+je near loc_004394c1 ; je 0x4394c1
+mov dword [esp + 0xc0], 0x67
+mov dword [esp + 0xc4], 0x78
+mov dword [esp + 0xc8], 0xa3
+mov dword [esp + 0xcc], 0x9e
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0xc4]
+push ecx
+mov edi, dword [esp + 0xc4]
+push edi
+lea edx, [ebx + 0x19]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov al, bl
+shl al, 6
+or byte [ref_0048c42c], al ; or byte [0x48c42c], al
+
+loc_004394c1:
+and byte [ref_0048c42c], 0x40 ; and byte [0x48c42c], 0x40
+jmp near loc_004396a8 ; jmp 0x4396a8
+
+loc_004394cd:
+cmp ebx, 1
+jne near loc_004395b5 ; jne 0x4395b5
+mov al, byte [ref_0048c42c] ; mov al, byte [0x48c42c]
+and al, 0x30
+xor ebx, ebx
+mov bl, al
+sar ebx, 4
+mov dword [esp + 0xc0], 0x57
+mov dword [esp + 0xc4], 0x76
+mov dword [esp + 0xc8], 0xa3
+mov dword [esp + 0xcc], 0xa1
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp ebx, 3
+jne short loc_0043956a ; jne 0x43956a
+push 0x2b
+push 0x4c
+push 0x33
+push 0x34
+mov eax, dword [esp + 0xd4]
+push eax
+mov edx, dword [esp + 0xd4]
+push edx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x18c
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+xor bl, bl
+mov byte [ref_0048c42c], bl ; mov byte [0x48c42c], bl
+jmp near loc_004392db ; jmp 0x4392db
+
+loc_0043956a:
+mov ecx, dword [esp + 0xc4]
+push ecx
+mov edi, dword [esp + 0xc4]
+push edi
+xor edx, edx
+mov dl, byte [ref_0048c42d] ; mov dl, byte [0x48c42d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor edx, edx
+mov dl, byte [ebx + eax + ref_004759e8] ; mov dl, byte [ebx + eax + 0x4759e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+jmp near loc_004392cc ; jmp 0x4392cc
+
+loc_004395b5:
+xor dl, dl
+mov byte [ref_0048c42c], dl ; mov byte [0x48c42c], dl
+jmp near loc_004396a8 ; jmp 0x4396a8
+
+loc_004395c2:
+cmp ebx, 1
+jne near loc_004396a0 ; jne 0x4396a0
+mov al, byte [ref_0048c42c] ; mov al, byte [0x48c42c]
+and al, 0x30
+xor ebx, ebx
+mov bl, al
+sar ebx, 4
+mov dword [esp + 0xc0], 0x53
+mov dword [esp + 0xc4], 0x7b
+mov dword [esp + 0xc8], 0x99
+mov dword [esp + 0xcc], 0x9c
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp ebx, 3
+jne short loc_0043965f ; jne 0x43965f
+push 0x21
+push 0x46
+push 0x3a
+push 0x42
+mov edx, dword [esp + 0xd4]
+push edx
+mov ecx, dword [esp + 0xd4]
+push ecx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x1d4
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+xor ah, ah
+mov byte [ref_0048c42c], ah ; mov byte [0x48c42c], ah
+jmp near loc_004392db ; jmp 0x4392db
+
+loc_0043965f:
+mov edi, dword [esp + 0xc4]
+push edi
+mov ebp, dword [esp + 0xc4]
+push ebp
+xor edx, edx
+mov dl, byte [ref_0048c42d] ; mov dl, byte [0x48c42d]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor edx, edx
+mov dl, byte [ebx + eax + ref_004759e8] ; mov dl, byte [ebx + eax + 0x4759e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+jmp near loc_004392c3 ; jmp 0x4392c3
+
+loc_004396a0:
+xor ch, ch
+mov byte [ref_0048c42c], ch ; mov byte [0x48c42c], ch
+
+loc_004396a8:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_004396be ; jne 0x4396be
+cmp byte [ref_0048c42b], 0 ; cmp byte [0x48c42b], 0
+je near loc_00437f23 ; je 0x437f23
+
+loc_004396be:
+mov al, byte [ref_0048c42d] ; mov al, byte [0x48c42d]
+cmp al, 5
+ja near loc_00437f23 ; ja 0x437f23
+and eax, 0xff
+jmp dword [eax*4 + ref_00437e49] ; ujmp: jmp dword [eax*4 + 0x437e49]
+
+loc_004396d7:
+mov cl, byte [ref_0048c42b] ; mov cl, byte [0x48c42b]
+test cl, cl
+je near loc_00439776 ; je 0x439776
+mov ch, cl
+dec ch
+mov byte [ref_0048c42b], ch ; mov byte [0x48c42b], ch
+jne near loc_00437f23 ; jne 0x437f23
+mov dword [esp + 0xc0], 0x4c
+mov dword [esp + 0xc4], 0xa0
+mov dword [esp + 0xc8], 0x9c
+mov dword [esp + 0xcc], 0xb4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0xc4]
+push eax
+mov edx, dword [esp + 0xc4]
+push edx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x120
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+
+loc_00439759:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_0043981c ; jmp 0x43981c
+
+loc_00439776:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+sar ebx, 0xb
+cmp ebx, 4
+jge near loc_00437f23 ; jge 0x437f23
+mov dword [esp + 0xc0], 0x4c
+mov dword [esp + 0xc4], 0xa0
+mov dword [esp + 0xc8], 0x9c
+mov dword [esp + 0xcc], 0xb4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_00439833 ; je 0x439833
+mov ebp, dword [esp + 0xc4]
+push ebp
+mov eax, dword [esp + 0xc4]
+push eax
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x114
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+
+loc_004397f6:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_004397fe:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and al, 7
+inc al
+mov byte [ref_0048c42b], al ; mov byte [0x48c42b], al
+
+loc_0043981c:
+push 0
+lea eax, [esp + 0xc4]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00437f23 ; jmp 0x437f23
+
+loc_00439833:
+push 0x14
+push 0x50
+push 0x5a
+push 0x34
+mov ecx, dword [esp + 0xd4]
+push ecx
+mov ebx, dword [esp + 0xd4]
+push ebx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xf0
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+jmp short loc_004397fe ; jmp 0x4397fe
+
+loc_00439867:
+mov dh, byte [ref_0048c42b] ; mov dh, byte [0x48c42b]
+test dh, dh
+je short loc_004398ea ; je 0x4398ea
+mov bl, dh
+dec bl
+mov byte [ref_0048c42b], bl ; mov byte [0x48c42b], bl
+jne near loc_00437f23 ; jne 0x437f23
+mov dword [esp + 0xc0], 0x67
+mov dword [esp + 0xc4], 0x9b
+mov dword [esp + 0xc8], 0xa3
+mov dword [esp + 0xcc], 0xb4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [esp + 0xc4]
+push edx
+mov ecx, dword [esp + 0xc4]
+push ecx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x168
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+jmp near loc_00439759 ; jmp 0x439759
+
+loc_004398ea:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+sar ebx, 0xb
+cmp ebx, 4
+jge near loc_00437f23 ; jge 0x437f23
+mov dword [esp + 0xc0], 0x67
+mov dword [esp + 0xc4], 0x9b
+mov dword [esp + 0xc8], 0xa3
+mov dword [esp + 0xcc], 0xb4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0xc4]
+push eax
+mov edx, dword [esp + 0xc4]
+push edx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x174
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+jmp near loc_004397f6 ; jmp 0x4397f6
+
+loc_00439966:
+mov al, byte [ref_0048c42b] ; mov al, byte [0x48c42b]
+test al, al
+je short loc_004399e8 ; je 0x4399e8
+mov ah, al
+dec ah
+mov byte [ref_0048c42b], ah ; mov byte [0x48c42b], ah
+jne near loc_00437f23 ; jne 0x437f23
+mov dword [esp + 0xc0], 0x57
+mov dword [esp + 0xc4], 0xa1
+mov dword [esp + 0xc8], 0xa3
+mov dword [esp + 0xcc], 0xbc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [esp + 0xc4]
+push ebp
+mov eax, dword [esp + 0xc4]
+push eax
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x1bc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+jmp near loc_00439759 ; jmp 0x439759
+
+loc_004399e8:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+sar ebx, 0xb
+cmp ebx, 4
+jge near loc_00437f23 ; jge 0x437f23
+mov dword [esp + 0xc0], 0x57
+mov dword [esp + 0xc4], 0xa1
+mov dword [esp + 0xc8], 0xa3
+mov dword [esp + 0xcc], 0xbc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edi, dword [esp + 0xc4]
+push edi
+mov ebp, dword [esp + 0xc4]
+push ebp
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x1b0
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+jmp near loc_004397f6 ; jmp 0x4397f6
+
+loc_00439a63:
+mov bh, byte [ref_0048c42b] ; mov bh, byte [0x48c42b]
+test bh, bh
+je short loc_00439ae6 ; je 0x439ae6
+mov cl, bh
+dec cl
+mov byte [ref_0048c42b], cl ; mov byte [0x48c42b], cl
+jne near loc_00437f23 ; jne 0x437f23
+mov dword [esp + 0xc0], 0x5a
+mov dword [esp + 0xc4], 0x86
+mov dword [esp + 0xc8], 0x96
+mov dword [esp + 0xcc], 0xae
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0xc4]
+push ebx
+mov edi, dword [esp + 0xc4]
+push edi
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x210
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+jmp near loc_00439759 ; jmp 0x439759
+
+loc_00439ae6:
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+sar ebx, 0xb
+cmp ebx, 4
+jge near loc_00437f23 ; jge 0x437f23
+mov dword [esp + 0xc0], 0x5a
+mov dword [esp + 0xc4], 0x86
+mov dword [esp + 0xc8], 0x96
+mov dword [esp + 0xcc], 0xae
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0xc4]
+push ecx
+mov ebx, dword [esp + 0xc4]
+push ebx
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x21c
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+jmp near loc_004397f6 ; jmp 0x4397f6
+
+loc_00439b62:
+cmp byte [ref_0048c42a], 0 ; cmp byte [0x48c42a], 0
+je near loc_00437f23 ; je 0x437f23
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+mov byte [ref_0048c42e], 1 ; mov byte [0x48c42e], 1
+jmp near loc_00437f23 ; jmp 0x437f23
+
+loc_00439b85:
+lea eax, [esp + 0x80]
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0x8c]
+push edx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x98]
+push ebx
+mov edi, dword [esp + 0x98]
+push edi
+mov ebp, dword [ref_0048a0dc] ; mov ebp, dword [0x48a0dc]
+push ebp
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 0x80]
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00437f23 ; jmp 0x437f23
+
+loc_00439bdc:
+mov edx, dword [esp + 0xf0]
+push edx
+mov ecx, dword [esp + 0xf0]
+push ecx
+push eax
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00437f25 ; jmp 0x437f25
+
+fcn_00439bfa:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x84
+push ref_00475b17 ; push 0x475b17
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 0
+push 0
+push 0x19
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c41c], eax ; mov dword [0x48c41c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x46
+push 0x18
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xf0
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0x101010
+push 0x12
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov byte [esp], 0x24
+xor dl, dl
+mov byte [esp + 1], dl
+xor eax, eax
+xor dh, dh
+mov byte [ref_0048c420], dh ; mov byte [0x48c420], dh
+mov esi, dword [ref_00499114] ; mov esi, dword [0x499114]
+
+loc_00439caa:
+cmp eax, esi
+jge short loc_00439cd5 ; jge 0x439cd5
+imul ebx, eax, 0x68
+cmp byte [ebx + ref_00496b7d], 0 ; cmp byte [ebx + 0x496b7d], 0
+je short loc_00439cd2 ; je 0x439cd2
+mov dl, byte [ref_0048c420] ; mov dl, byte [0x48c420]
+xor ebx, ebx
+mov bl, dl
+mov byte [ebx + ref_0048c418], al ; mov byte [ebx + 0x48c418], al
+inc dl
+mov byte [ref_0048c420], dl ; mov byte [0x48c420], dl
+
+loc_00439cd2:
+inc eax
+jmp short loc_00439caa ; jmp 0x439caa
+
+loc_00439cd5:
+xor ebx, ebx
+
+loc_00439cd7:
+movzx esi, byte [ref_0048c420] ; movzx esi, byte [0x48c420]
+cmp ebx, esi
+jge near loc_00439e64 ; jge 0x439e64
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+mov edi, esi
+shl edi, 3
+mov esi, ebx
+movsx esi, word [edi + esi*2 + ref_00475918] ; movsx esi, word [edi + esi*2 + 0x475918]
+push esi
+push 0x258
+imul esi, eax, 0x68
+movzx edi, byte [esi + ref_00496b7b] ; movzx edi, byte [esi + 0x496b7b]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+lea edi, [eax + 0x2f]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+mov edi, eax
+shl edi, 2
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edi
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 6
+push 4
+push ref_00464e56 ; push 0x464e56
+lea edi, [ebx + 0xb]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+mov edi, eax
+shl edi, 2
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edi
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [esi + ref_00496b88] ; mov eax, dword [esi + 0x496b88]
+push eax
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 6
+push 0x9a
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edi
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 0x2e
+push 4
+push ref_00464e90 ; push 0x464e90
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edi
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp dword [esi + ref_00496b8c], 0 ; cmp dword [esi + 0x496b8c], 0
+je short loc_00439e10 ; je 0x439e10
+push 0
+push 2
+push 0
+push 0xff0000
+push 0x12
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 1
+push 0x2e
+push 0x9a
+push ref_00464e97 ; push 0x464e97
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edi
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 2
+push 0
+push 0x101010
+push 0x12
+call fcn_0044f9d8 ; call 0x44f9d8
+jmp short loc_00439e5b ; jmp 0x439e5b
+
+loc_00439e10:
+fild dword [esi + ref_00496b88] ; fild dword [esi + 0x496b88]
+fmul qword [ref_00464ea0] ; fmul qword [0x464ea0]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x80]
+mov ecx, dword [esp + 0x80]
+push ecx
+lea eax, [esp + 5]
+push eax
+call fcn_00452793 ; call 0x452793
+add esp, 8
+push 1
+push 0x2e
+push 0x9a
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0xc
+add eax, edi
+push eax
+call fcn_0044fabc ; call 0x44fabc
+
+loc_00439e5b:
+add esp, 0x14
+inc ebx
+jmp near loc_00439cd7 ; jmp 0x439cd7
+
+loc_00439e64:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+push 0
+push 0x101010
+push 0xffffffffffffffe2
+push 0
+push 0xa
+push 0xbe
+mov eax, dword [ref_0048c41c] ; mov eax, dword [0x48c41c]
+add eax, 0x18
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+push 9
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_00437e61 ; push 0x437e61
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+mov edi, dword [ref_0048c41c] ; mov edi, dword [0x48c41c]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+
+loc_00439ec6:
+xor eax, eax
+mov al, byte [ref_0048c420] ; mov al, byte [0x48c420]
+cmp ebx, eax
+jge short loc_00439ef5 ; jge 0x439ef5
+xor eax, eax
+mov al, byte [ebx + ref_0048c418] ; mov al, byte [ebx + 0x48c418]
+imul eax, eax, 0x68
+xor ch, ch
+mov byte [eax + ref_00496baa], ch ; mov byte [eax + 0x496baa], ch
+xor esi, esi
+mov dword [eax + ref_00496bc4], esi ; mov dword [eax + 0x496bc4], esi
+mov dword [eax + ref_00496bc8], esi ; mov dword [eax + 0x496bc8], esi
+inc ebx
+jmp short loc_00439ec6 ; jmp 0x439ec6
+
+loc_00439ef5:
+push ref_00475b17 ; push 0x475b17
+call fcn_00454240 ; call 0x454240
+add esp, 4
+add esp, 0x84
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00439f0d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x1c
+mov ebx, dword [esp + 0x34]
+xor edi, edi
+xor ebp, ebp
+call fcn_00456f2d ; call 0x456f2d
+mov dword [esp + 0x18], eax
+fild dword [esp + 0x18]
+fdiv dword [ref_00465014] ; fdiv dword [0x465014]
+fmul qword [ref_00465018] ; fmul qword [0x465018]
+fadd qword [ref_00465020] ; fadd qword [0x465020]
+fstp dword [esp + 8]
+cmp ebx, 0x7d0
+jle near loc_0043a054 ; jle 0x43a054
+cmp ebx, 0xfa0
+jge near loc_0043a054 ; jge 0x43a054
+sub ebx, 0x7d0
+imul ebx, ebx, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+lea eax, [esi + ebx]
+mov dword [esp + 0x14], eax
+mov ebx, 1
+
+loc_00439f72:
+add esi, 0x34
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg short loc_00439fab ; jg 0x439fab
+xor eax, eax
+mov al, byte [esi + 0x19]
+cmp eax, dword [esp + 0x30]
+jne short loc_00439fa1 ; jne 0x439fa1
+mov eax, dword [esp + 0x14]
+add eax, 4
+push eax
+lea eax, [esi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_00439fa1 ; jne 0x439fa1
+inc ebp
+
+loc_00439fa1:
+cmp byte [esi + 0x19], 0
+jne short loc_00439fa8 ; jne 0x439fa8
+inc edi
+
+loc_00439fa8:
+inc ebx
+jmp short loc_00439f72 ; jmp 0x439f72
+
+loc_00439fab:
+mov dword [esp + 0x18], edi
+fild dword [esp + 0x18]
+fild dword [ref_00498e98] ; fild dword [0x498e98]
+fdivp st1 ; fdivp st(1)
+fmul dword [ref_00465028] ; fmul dword [0x465028]
+fsubr dword [ref_0046502c] ; fsubr dword [0x46502c]
+fstp dword [esp]
+xor eax, eax
+mov ebx, dword [esp + 0x14]
+mov al, byte [ebx + 0x1a]
+sar eax, 1
+inc eax
+add eax, ebp
+imul eax, dword [ref_0048c488] ; imul eax, dword [0x48c488]
+mov ecx, dword [ref_004990e8] ; mov ecx, dword [0x4990e8]
+imul eax, ecx
+mov dword [esp + 0x18], eax
+fild dword [esp + 0x18]
+fmul dword [esp]
+fmul dword [esp + 8]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x10]
+xor eax, eax
+mov ax, word [ebx + 0x1c]
+imul eax, ecx
+mov dword [esp + 0x18], eax
+fild dword [esp + 0x18]
+fstp dword [esp + 4]
+call fcn_00456f2d ; call 0x456f2d
+mov dword [esp + 0x18], eax
+fild dword [esp + 0x18]
+fmul dword [ref_00465030] ; fmul dword [0x465030]
+fadd dword [ref_00465034] ; fadd dword [0x465034]
+fmul dword [esp + 4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xc]
+mov eax, dword [esp + 0x10]
+mov esi, dword [esp + 0xc]
+cmp eax, esi
+jle near loc_0043a131 ; jle 0x43a131
+mov dword [esp + 0x10], esi
+jmp near loc_0043a131 ; jmp 0x43a131
+
+loc_0043a054:
+lea eax, [ebx - 0xfa0]
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebp, dword [ref_00498e88] ; mov ebp, dword [0x498e88]
+add ebp, eax
+mov ebx, 1
+
+loc_0043a071:
+cmp ebx, dword [ref_00498e8c] ; cmp ebx, dword [0x498e8c]
+jg short loc_0043a097 ; jg 0x43a097
+mov eax, ebx
+shl eax, 3
+mov esi, eax
+shl eax, 3
+sub eax, esi
+mov esi, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+cmp byte [esi + eax + 0x19], 0
+jne short loc_0043a094 ; jne 0x43a094
+inc edi
+
+loc_0043a094:
+inc ebx
+jmp short loc_0043a071 ; jmp 0x43a071
+
+loc_0043a097:
+mov dword [esp + 0x18], edi
+fild dword [esp + 0x18]
+fild dword [ref_00498e8c] ; fild dword [0x498e8c]
+fdivp st1 ; fdivp st(1)
+fmul dword [ref_00465028] ; fmul dword [0x465028]
+fsubr dword [ref_0046502c] ; fsubr dword [0x46502c]
+fstp dword [esp]
+xor eax, eax
+mov al, byte [ebp + 0x1a]
+sar eax, 1
+inc eax
+imul eax, dword [ref_0048c488] ; imul eax, dword [0x48c488]
+mov ebx, dword [ref_004990e8] ; mov ebx, dword [0x4990e8]
+imul eax, ebx
+mov dword [esp + 0x18], eax
+fild dword [esp + 0x18]
+fmul dword [esp]
+fmul dword [esp + 8]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x10]
+xor eax, eax
+mov ax, word [ebp + 0x22]
+imul eax, ebx
+mov dword [esp + 0x18], eax
+fild dword [esp + 0x18]
+fstp dword [esp + 4]
+call fcn_00456f2d ; call 0x456f2d
+mov dword [esp + 0x18], eax
+fild dword [esp + 0x18]
+fmul dword [ref_00465030] ; fmul dword [0x465030]
+fadd dword [ref_00465034] ; fadd dword [0x465034]
+fmul dword [esp + 4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xc]
+mov eax, dword [esp + 0x10]
+mov edi, dword [esp + 0xc]
+cmp eax, edi
+jle short loc_0043a131 ; jle 0x43a131
+mov dword [esp + 0x10], edi
+
+loc_0043a131:
+mov ebx, dword [esp + 0x30]
+dec ebx
+imul ebx, ebx, 0x68
+mov eax, dword [ebx + ref_00496b84] ; mov eax, dword [ebx + 0x496b84]
+cmp eax, dword [esp + 0x10]
+jge short loc_0043a149 ; jge 0x43a149
+mov dword [esp + 0x10], eax
+
+loc_0043a149:
+mov eax, dword [esp + 0x10]
+add esp, 0x1c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043a155:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x20
+mov ebx, dword [esp + 0x3c]
+mov eax, dword [esp + 0x38]
+shl eax, 3
+mov esi, eax
+shl eax, 4
+sub eax, esi
+lea esi, [eax + 0x50]
+mov edx, dword [esp + 0x38]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ax, word [eax*4 + ref_0048c434] ; mov ax, word [eax*4 + 0x48c434]
+and eax, 0xffff
+dec eax
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+lea edx, [eax + 0x4e]
+mov ecx, dword [ref_0048c49c] ; mov ecx, dword [0x48c49c]
+mov edi, edx
+shl edi, 2
+sub edi, edx
+shl edi, 2
+lea eax, [ecx + edi]
+movsx edx, word [eax + 0x10]
+mov ecx, 0x24e
+sub ecx, edx
+mov dword [esp], ecx
+movsx edx, word [eax + 0x12]
+mov ecx, esi
+sub ecx, edx
+mov dword [esp + 4], ecx
+movsx edx, word [eax + 0xc]
+mov ecx, dword [esp]
+add ecx, edx
+mov dword [esp + 8], ecx
+movsx eax, word [eax + 0xe]
+mov edx, dword [esp + 4]
+add edx, eax
+mov dword [esp + 0xc], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp dword [esp + 0x40], 0
+jne short loc_0043a234 ; jne 0x43a234
+mov eax, dword [esp + 0xc]
+mov edi, dword [esp + 4]
+sub eax, edi
+push eax
+mov eax, dword [esp + 0xc]
+mov ebp, dword [esp + 4]
+sub eax, ebp
+push eax
+push edi
+push ebp
+push edi
+push ebp
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+jmp short loc_0043a254 ; jmp 0x43a254
+
+loc_0043a234:
+push esi
+push 0x24e
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+add edi, eax
+push edi
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0043a254:
+test ebx, ebx
+je short loc_0043a2b2 ; je 0x43a2b2
+push esi
+push 0x24e
+push 0
+push ebx
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+movsx eax, word [ebx + 0x10]
+mov edx, 0x24e
+sub edx, eax
+mov dword [esp + 0x10], edx
+movsx eax, word [ebx + 0x12]
+sub esi, eax
+mov dword [esp + 0x14], esi
+movsx eax, word [ebx + 0xc]
+add edx, eax
+mov dword [esp + 0x18], edx
+movsx eax, word [ebx + 0xe]
+lea edx, [esi + eax]
+mov dword [esp + 0x1c], edx
+mov eax, esp
+push eax
+lea eax, [esp + 0x14]
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+
+loc_0043a2b2:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 4]
+push eax
+mov edx, dword [esp + 0x3c]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+add esp, 0x20
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043a2dd:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xe8
+mov ebp, dword [esp + 0xfc]
+mov eax, dword [esp + 0x100]
+mov ebx, dword [esp + 0x104]
+cmp eax, 0x202
+jb short loc_0043a343 ; jb 0x43a343
+jbe near loc_0043bc59 ; jbe 0x43bc59
+cmp eax, 0x401
+jb short loc_0043a333 ; jb 0x43a333
+jbe short loc_0043a365 ; jbe 0x43a365
+cmp eax, 0x405
+jb near loc_0043bdb9 ; jb 0x43bdb9
+jbe near loc_0043a3e6 ; jbe 0x43a3e6
+cmp eax, 0x407
+je near loc_0043a3fc ; je 0x43a3fc
+jmp near loc_0043bdb9 ; jmp 0x43bdb9
+
+loc_0043a333:
+cmp eax, 0x203
+
+loc_0043a338:
+je near loc_0043bb25 ; je 0x43bb25
+jmp near loc_0043bdb9 ; jmp 0x43bdb9
+
+loc_0043a343:
+cmp eax, 0x113
+jb short loc_0043a357 ; jb 0x43a357
+jbe near loc_0043a6d5 ; jbe 0x43a6d5
+cmp eax, 0x201
+jmp short loc_0043a338 ; jmp 0x43a338
+
+loc_0043a357:
+cmp eax, 0xf
+je near loc_0043bd48 ; je 0x43bd48
+jmp near loc_0043bdb9 ; jmp 0x43bdb9
+
+loc_0043a365:
+mov al, byte [esp + 0x108]
+mov byte [ref_0048c4b1], al ; mov byte [0x48c4b1], al
+xor dl, dl
+mov byte [ref_0048c4ac], dl ; mov byte [0x48c4ac], dl
+mov byte [ref_0048c4ad], dl ; mov byte [0x48c4ad], dl
+mov byte [ref_0048c4ae], dl ; mov byte [0x48c4ae], dl
+mov byte [ref_0048c4af], dl ; mov byte [0x48c4af], dl
+mov byte [ref_0048c4b0], dl ; mov byte [0x48c4b0], dl
+xor ecx, ecx
+mov dword [ref_0048c4a4], ecx ; mov dword [0x48c4a4], ecx
+mov dword [ref_0048c4a8], 0xffffffff ; mov dword [0x48c4a8], 0xffffffff
+push ecx
+push 0x64
+mov esi, dword [ref_0046cad8] ; mov esi, dword [0x46cad8]
+push esi
+push ebp
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c4a0], eax ; mov dword [0x48c4a0], eax
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x405
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0043a3d7:
+xor eax, eax
+
+loc_0043a3d9:
+add esp, 0xe8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_0043a3e6:
+push ref_00465038 ; push 0x465038
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c4ac], 1 ; mov byte [0x48c4ac], 1
+jmp short loc_0043a3d7 ; jmp 0x43a3d7
+
+loc_0043a3fc:
+push 0
+push ref_00475bc2 ; push 0x475bc2
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+test ebx, ebx
+jbe short loc_0043a426 ; jbe 0x43a426
+cmp ebx, 6
+je short loc_0043a43a ; je 0x43a43a
+jmp short loc_0043a478 ; jmp 0x43a478
+
+loc_0043a426:
+mov word [eax + ref_0048c436], 1 ; mov word [eax + 0x48c436], 1
+or word [ref_0048c4a4], 0x110 ; or word [0x48c4a4], 0x110
+jmp short loc_0043a3d7 ; jmp 0x43a3d7
+
+loc_0043a43a:
+push 0
+mov edx, dword [eax + ref_0048c440] ; mov edx, dword [eax + 0x48c440]
+push edx
+mov ecx, dword [ref_0048c4a4] ; mov ecx, dword [0x48c4a4]
+push ecx
+push ebp
+call fcn_0043a155 ; call 0x43a155
+add esp, 0x10
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+xor edx, edx
+mov word [eax*4 + ref_0048c434], dx ; mov word [eax*4 + 0x48c434], dx
+or word [ref_0048c4a4], 0x120 ; or word [0x48c4a4], 0x120
+jmp near loc_0043a3d7 ; jmp 0x43a3d7
+
+loc_0043a478:
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ax, word [eax*4 + ref_0048c434] ; mov ax, word [eax*4 + 0x48c434]
+and eax, 0xffff
+dec eax
+imul edx, eax, 0x68
+mov eax, dword [ref_0048c488] ; mov eax, dword [0x48c488]
+add eax, dword [ebx*4 + ref_00475ba2] ; add eax, dword [ebx*4 + 0x475ba2]
+cmp eax, dword [edx + ref_00496b84] ; cmp eax, dword [edx + 0x496b84]
+jg near loc_0043a3d7 ; jg 0x43a3d7
+mov dword [ref_0048c488], eax ; mov dword [0x48c488], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 3
+push 0x101010
+push 0xf0d020
+push 0x12
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov dword [esp + 0xd0], 0x208
+mov dword [esp + 0xd8], 0x26c
+xor ebx, ebx
+mov esi, 0x50
+jmp short loc_0043a50d ; jmp 0x43a50d
+
+loc_0043a500:
+add esi, 0x78
+inc ebx
+cmp ebx, 4
+jge near loc_0043a5eb ; jge 0x43a5eb
+
+loc_0043a50d:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+cmp word [eax*4 + ref_0048c434], 0 ; cmp word [eax*4 + 0x48c434], 0
+je short loc_0043a500 ; je 0x43a500
+mov eax, dword [ref_0048c4a8] ; mov eax, dword [0x48c4a8]
+and eax, 3
+cmp eax, ebx
+jne short loc_0043a580 ; jne 0x43a580
+lea eax, [esi + 0x19]
+mov dword [esp + 0xd4], eax
+lea eax, [esi + 0x2d]
+mov dword [esp + 0xdc], eax
+push 0x14
+push 0x64
+mov edi, dword [esp + 0xdc]
+push edi
+push 0x208
+push edi
+push 0x208
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043a580:
+mov eax, dword [ref_0048c4a4] ; mov eax, dword [0x48c4a4]
+and eax, 3
+cmp eax, ebx
+jne near loc_0043a500 ; jne 0x43a500
+lea edi, [esi + 0x19]
+mov dword [esp + 0xd4], edi
+lea eax, [esi + 0x2d]
+mov dword [esp + 0xdc], eax
+mov ecx, dword [ref_0048c488] ; mov ecx, dword [0x48c488]
+push ecx
+push ref_00465050 ; push 0x465050
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+push edi
+push 0x26c
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043a500 ; jmp 0x43a500
+
+loc_0043a5eb:
+mov ebx, 0xb4
+mov dword [esp + 0xd0], ebx
+mov esi, 0x104
+mov dword [esp + 0xd4], esi
+mov edi, 0x118
+mov dword [esp + 0xd8], edi
+mov dword [esp + 0xdc], edi
+push 0x14
+push 0x64
+push esi
+push ebx
+push esi
+push ebx
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x12
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov ecx, dword [ref_0048c488] ; mov ecx, dword [0x48c488]
+push ecx
+push ref_00465050 ; push 0x465050
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+push 0x106
+push 0x110
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov eax, dword [ref_0048c4a4] ; mov eax, dword [0x48c4a4]
+mov dword [ref_0048c4a8], eax ; mov dword [0x48c4a8], eax
+xor ebx, ebx
+
+loc_0043a6b0:
+mov esi, ebx
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+xor esi, ebx
+mov word [eax*4 + ref_0048c436], si ; mov word [eax*4 + 0x48c436], si
+inc ebx
+cmp ebx, 4
+jl short loc_0043a6b0 ; jl 0x43a6b0
+or byte [ref_0048c4a5], 1 ; or byte [0x48c4a5], 1
+jmp near loc_0043a3d7 ; jmp 0x43a3d7
+
+loc_0043a6d5:
+cmp byte [ref_0048c4ac], 0 ; cmp byte [0x48c4ac], 0
+je near loc_0043a3d7 ; je 0x43a3d7
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_0043a3d7 ; je 0x43a3d7
+cmp ebx, dword [ref_0046cad8] ; cmp ebx, dword [0x46cad8]
+jne near loc_0043a3d7 ; jne 0x43a3d7
+test byte [ref_0048c4a5], 0xff ; test byte [0x48c4a5], 0xff
+je near loc_0043ab5a ; je 0x43ab5a
+mov ebx, dword [ref_0048c4a4] ; mov ebx, dword [0x48c4a4]
+sar ebx, 8
+mov ecx, dword [ref_0048c4a4] ; mov ecx, dword [0x48c4a4]
+and ecx, 3
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov esi, dword [eax*4 + ref_0048c43c] ; mov esi, dword [eax*4 + 0x48c43c]
+mov esi, dword [esi + 4]
+mov eax, ecx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+add eax, 0x50
+mov dword [esp + 0xe4], eax
+mov edi, dword [ref_0048c4a4] ; mov edi, dword [0x48c4a4]
+sar edi, 4
+and edi, 3
+cmp ebx, 1
+jne near loc_0043a8c4 ; jne 0x43a8c4
+test edi, edi
+jne short loc_0043a766 ; jne 0x43a766
+push edi
+push edi
+push ecx
+push ebp
+call fcn_0043a155 ; call 0x43a155
+add esp, 0x10
+
+loc_0043a766:
+mov dword [esp + 0xd0], 0x196
+mov eax, dword [esp + 0xe4]
+sub eax, 0x4a
+mov dword [esp + 0xd4], eax
+mov dword [esp + 0xd8], 0x224
+mov eax, dword [esp + 0xe4]
+add eax, 0x27
+mov dword [esp + 0xdc], eax
+push 0
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x71
+push 0x8e
+mov ecx, dword [esp + 0xdc]
+push ecx
+mov eax, dword [esp + 0xdc]
+push eax
+mov edx, dword [ref_0048c484] ; mov edx, dword [0x48c484]
+push edx
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov eax, dword [esp + 0xe4]
+sub eax, 0xf
+mov dword [esp + 0xe0], eax
+push eax
+push 0x1e0
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+cmp edi, 1
+jb short loc_0043a83a ; jb 0x43a83a
+jbe short loc_0043a86d ; jbe 0x43a86d
+cmp edi, 2
+je short loc_0043a885 ; je 0x43a885
+jmp short loc_0043a8a2 ; jmp 0x43a8a2
+
+loc_0043a83a:
+test edi, edi
+jne short loc_0043a8a2 ; jne 0x43a8a2
+mov eax, dword [ref_0048c488] ; mov eax, dword [0x48c488]
+push eax
+push ref_00465050 ; push 0x465050
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 2
+mov edx, dword [esp + 0xe4]
+push edx
+push 0x1e0
+lea eax, [esp + 0xc]
+push eax
+push edi
+jmp short loc_0043a89a ; jmp 0x43a89a
+
+loc_0043a86d:
+push 2
+mov ecx, dword [esp + 0xe4]
+push ecx
+push 0x1e0
+push ref_00465055 ; push 0x465055
+push 0
+jmp short loc_0043a89a ; jmp 0x43a89a
+
+loc_0043a885:
+push edi
+mov edx, dword [esp + 0xe4]
+push edx
+push 0x1e0
+push ref_0046505e ; push 0x46505e
+push 0
+
+loc_0043a89a:
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_0043a8a2:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043a8c4:
+cmp ebx, esi
+jg near loc_0043aa9a ; jg 0x43aa9a
+test edi, edi
+jne near loc_0043aa9a ; jne 0x43aa9a
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+and edx, 3
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ecx, dword [eax*4 + ref_0048c43c] ; mov ecx, dword [eax*4 + 0x48c43c]
+lea edx, [ebx - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, ecx
+movsx edx, word [eax + 0x10]
+mov ecx, 0x24e
+sub ecx, edx
+mov dword [esp + 0xd0], ecx
+movsx edx, word [eax + 0x12]
+mov ecx, dword [esp + 0xe4]
+sub ecx, edx
+mov dword [esp + 0xd4], ecx
+movsx edx, word [eax + 0xc]
+mov ecx, dword [esp + 0xd0]
+add ecx, edx
+mov dword [esp + 0xd8], ecx
+movsx eax, word [eax + 0xe]
+mov edx, dword [esp + 0xd4]
+add edx, eax
+mov dword [esp + 0xdc], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push edi
+push 1
+push ref_0048a068 ; push 0x48a068
+push edi
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0xdc]
+mov ecx, dword [esp + 0xd4]
+sub eax, ecx
+push eax
+mov eax, dword [esp + 0xdc]
+mov edi, dword [esp + 0xd4]
+sub eax, edi
+push eax
+push ecx
+push edi
+push ecx
+push edi
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+and edx, 3
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+cmp ebx, esi
+jne short loc_0043a9c3 ; jne 0x43a9c3
+xor ebx, esi
+mov edx, dword [esp + 0xe4]
+push edx
+push 0x24e
+push 0
+jmp short loc_0043a9d1 ; jmp 0x43a9d1
+
+loc_0043a9c3:
+mov edx, dword [esp + 0xe4]
+push edx
+push 0x24e
+push ebx
+
+loc_0043a9d1:
+mov ecx, dword [eax + ref_0048c43c] ; mov ecx, dword [eax + 0x48c43c]
+push ecx
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+and edx, 3
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ecx, dword [eax*4 + ref_0048c43c] ; mov ecx, dword [eax*4 + 0x48c43c]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+add eax, ecx
+movsx edx, word [eax + 0x10]
+mov ecx, 0x24e
+sub ecx, edx
+mov dword [esp + 0xc0], ecx
+movsx edx, word [eax + 0x12]
+mov ecx, dword [esp + 0xe4]
+sub ecx, edx
+mov dword [esp + 0xc4], ecx
+movsx edx, word [eax + 0xc]
+mov ecx, dword [esp + 0xc0]
+add ecx, edx
+mov dword [esp + 0xc8], ecx
+movsx eax, word [eax + 0xe]
+mov edx, dword [esp + 0xc4]
+add edx, eax
+mov dword [esp + 0xcc], edx
+lea eax, [esp + 0xd0]
+push eax
+lea eax, [esp + 0xc4]
+push eax
+lea eax, [esp + 0xd8]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043aa9a:
+cmp ebx, esi
+jle near loc_0043ab50 ; jle 0x43ab50
+cmp ebx, 0xa
+jl near loc_0043ab50 ; jl 0x43ab50
+mov dword [esp + 0xd0], 0x196
+mov eax, dword [esp + 0xe4]
+sub eax, 0x4a
+mov dword [esp + 0xd4], eax
+mov dword [esp + 0xd8], 0x224
+mov eax, dword [esp + 0xe4]
+add eax, 0x27
+mov dword [esp + 0xdc], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0xd4]
+push ebx
+mov esi, dword [esp + 0xd4]
+push esi
+mov edi, dword [ref_0048c484] ; mov edi, dword [0x48c484]
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+and dword [ref_0048c4a4], 3 ; and dword [0x48c4a4], 3
+mov byte [ref_0048c4ac], 5 ; mov byte [0x48c4ac], 5
+jmp short loc_0043ab5a ; jmp 0x43ab5a
+
+loc_0043ab50:
+add dword [ref_0048c4a4], 0x100 ; add dword [0x48c4a4], 0x100
+
+loc_0043ab5a:
+test byte [ref_0048c4a6], 0xff ; test byte [0x48c4a6], 0xff
+je near loc_0043aeb7 ; je 0x43aeb7
+mov ebx, dword [ref_0048c4a4] ; mov ebx, dword [0x48c4a4]
+sar ebx, 0x10
+dec ebx
+mov edx, dword [ref_0048c4a8] ; mov edx, dword [0x48c4a8]
+mov eax, edx
+shl eax, 2
+add edx, eax
+shl edx, 2
+mov esi, dword [edx + ref_0048c444] ; mov esi, dword [edx + 0x48c444]
+mov esi, dword [esi + 4]
+mov eax, dword [ref_0048c4a8] ; mov eax, dword [0x48c4a8]
+shl eax, 3
+mov edi, eax
+shl eax, 4
+sub eax, edi
+add eax, 0x50
+mov dword [esp + 0xe4], eax
+test ebx, ebx
+jne near loc_0043ad4e ; jne 0x43ad4e
+mov eax, dword [edx + ref_0048c43c] ; mov eax, dword [edx + 0x48c43c]
+movsx edx, word [eax + 0x10]
+mov ecx, 0x24e
+sub ecx, edx
+mov dword [esp + 0xd0], ecx
+movsx edx, word [eax + 0x12]
+mov ecx, dword [esp + 0xe4]
+sub ecx, edx
+mov dword [esp + 0xd4], ecx
+movsx edx, word [eax + 0xc]
+mov ecx, dword [esp + 0xd0]
+add ecx, edx
+mov dword [esp + 0xd8], ecx
+movsx eax, word [eax + 0xe]
+mov edx, dword [esp + 0xd4]
+add edx, eax
+mov dword [esp + 0xdc], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push ebx
+push 1
+push ref_0048a068 ; push 0x48a068
+push ebx
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0xdc]
+mov ebx, dword [esp + 0xd4]
+sub eax, ebx
+push eax
+mov eax, dword [esp + 0xdc]
+mov esi, dword [esp + 0xd4]
+sub eax, esi
+push eax
+push ebx
+push esi
+push ebx
+push esi
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov esi, dword [esp + 0xe4]
+push esi
+push 0x24e
+push 0
+mov edx, dword [ref_0048c4a8] ; mov edx, dword [0x48c4a8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edi, dword [eax*4 + ref_0048c444] ; mov edi, dword [eax*4 + 0x48c444]
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+lea eax, [esp + 0xd0]
+push eax
+lea eax, [esp + 0xc4]
+push eax
+lea eax, [esp + 0xd8]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+mov edx, dword [ref_0048c4a8] ; mov edx, dword [0x48c4a8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov eax, dword [eax*4 + ref_0048c444] ; mov eax, dword [eax*4 + 0x48c444]
+movsx edx, word [eax + 0x10]
+mov ecx, 0x24e
+sub ecx, edx
+mov dword [esp + 0xc0], ecx
+movsx edx, word [eax + 0x12]
+mov ecx, esi
+
+loc_0043acdf:
+sub ecx, edx
+mov dword [esp + 0xc4], ecx
+movsx edx, word [eax + 0xc]
+mov ecx, dword [esp + 0xc0]
+add ecx, edx
+mov dword [esp + 0xc8], ecx
+movsx eax, word [eax + 0xe]
+mov edx, dword [esp + 0xc4]
+add edx, eax
+mov dword [esp + 0xcc], edx
+lea eax, [esp + 0xd0]
+push eax
+lea eax, [esp + 0xc4]
+push eax
+lea eax, [esp + 0xd8]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+inc word [ref_0048c4a6] ; inc word [0x48c4a6]
+jmp near loc_0043aeb7 ; jmp 0x43aeb7
+
+loc_0043ad4e:
+cmp ebx, 0x3c
+jge near loc_0043aeae ; jge 0x43aeae
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv esi
+mov ebx, edx
+mov edi, edx
+test edx, edx
+jne short loc_0043ad6a ; jne 0x43ad6a
+mov edi, esi
+
+loc_0043ad6a:
+mov edx, dword [ref_0048c4a8] ; mov edx, dword [0x48c4a8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov eax, dword [eax*4 + ref_0048c444] ; mov eax, dword [eax*4 + 0x48c444]
+lea ecx, [edi - 1]
+mov edx, ecx
+shl edx, 2
+sub edx, ecx
+shl edx, 2
+add eax, edx
+movsx edx, word [eax + 0x10]
+mov ecx, 0x24e
+sub ecx, edx
+mov dword [esp + 0xd0], ecx
+movsx edx, word [eax + 0x12]
+mov ecx, dword [esp + 0xe4]
+sub ecx, edx
+mov dword [esp + 0xd4], ecx
+movsx edx, word [eax + 0xc]
+mov ecx, dword [esp + 0xd0]
+add ecx, edx
+mov dword [esp + 0xd8], ecx
+movsx eax, word [eax + 0xe]
+mov edx, dword [esp + 0xd4]
+add edx, eax
+mov dword [esp + 0xdc], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0xdc]
+mov ecx, dword [esp + 0xd4]
+sub eax, ecx
+push eax
+mov eax, dword [esp + 0xdc]
+mov esi, dword [esp + 0xd4]
+sub eax, esi
+push eax
+push ecx
+push esi
+push ecx
+push esi
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov edi, dword [esp + 0xe4]
+push edi
+push 0x24e
+push ebx
+mov edx, dword [ref_0048c4a8] ; mov edx, dword [0x48c4a8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [eax*4 + ref_0048c444] ; mov edx, dword [eax*4 + 0x48c444]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov edx, dword [ref_0048c4a8] ; mov edx, dword [0x48c4a8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [eax*4 + ref_0048c444] ; mov edx, dword [eax*4 + 0x48c444]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+add eax, edx
+movsx edx, word [eax + 0x10]
+mov ecx, 0x24e
+sub ecx, edx
+mov dword [esp + 0xc0], ecx
+movsx edx, word [eax + 0x12]
+mov ecx, edi
+jmp near loc_0043acdf ; jmp 0x43acdf
+
+loc_0043aeae:
+xor edi, edi
+mov word [ref_0048c4a6], di ; mov word [0x48c4a6], di
+
+loc_0043aeb7:
+push 0
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_0043b5dd ; je 0x43b5dd
+mov al, byte [ref_0048c4ac] ; mov al, byte [0x48c4ac]
+cmp al, 5
+jb short loc_0043aefc ; jb 0x43aefc
+jbe near loc_0043b262 ; jbe 0x43b262
+cmp al, 0xa
+jb short loc_0043aeef ; jb 0x43aeef
+jbe near loc_0043b4d8 ; jbe 0x43b4d8
+cmp al, 0xb
+je near loc_0043b5b5 ; je 0x43b5b5
+jmp near loc_0043b5dd ; jmp 0x43b5dd
+
+loc_0043aeef:
+cmp al, 9
+je near loc_0043b412 ; je 0x43b412
+jmp near loc_0043b5dd ; jmp 0x43b5dd
+
+loc_0043aefc:
+cmp al, 1
+jb near loc_0043b5dd ; jb 0x43b5dd
+jbe short loc_0043af13 ; jbe 0x43af13
+cmp al, 2
+je near loc_0043afa1 ; je 0x43afa1
+jmp near loc_0043b5dd ; jmp 0x43b5dd
+
+loc_0043af13:
+xor ebx, ebx
+mov esi, 0xffffffff
+mov dword [ref_0048c4a4], esi ; mov dword [0x48c4a4], esi
+mov esi, dword [ref_0048c4a4] ; mov esi, dword [0x48c4a4]
+jmp short loc_0043af2e ; jmp 0x43af2e
+
+loc_0043af28:
+inc ebx
+cmp ebx, 4
+jge short loc_0043af4b ; jge 0x43af4b
+
+loc_0043af2e:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+cmp word [eax*4 + ref_0048c434], 0 ; cmp word [eax*4 + 0x48c434], 0
+je short loc_0043af28 ; je 0x43af28
+cmp esi, 0xffffffff
+jne short loc_0043af28 ; jne 0x43af28
+mov dword [ref_0048c4a4], ebx ; mov dword [0x48c4a4], ebx
+
+loc_0043af4b:
+cmp dword [ref_0048c4a4], 0xffffffff ; cmp dword [0x48c4a4], 0xffffffff
+jne short loc_0043af75 ; jne 0x43af75
+push ref_00465063 ; push 0x465063
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c4ac], 0xb ; mov byte [0x48c4ac], 0xb
+xor edx, edx
+mov dword [ref_0048c4a4], edx ; mov dword [0x48c4a4], edx
+jmp near loc_0043b5dd ; jmp 0x43b5dd
+
+loc_0043af75:
+mov byte [ref_0048c4ac], 2 ; mov byte [0x48c4ac], 2
+mov eax, dword [ref_0048c488] ; mov eax, dword [0x48c488]
+push eax
+push ref_0046507d ; push 0x46507d
+
+loc_0043af87:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+
+loc_0043af97:
+call fcn_0044ecb6 ; call 0x44ecb6
+jmp near loc_0043b5da ; jmp 0x43b5da
+
+loc_0043afa1:
+mov dword [esp + 0xd0], 0x16b
+mov dword [esp + 0xd4], 0x72
+mov dword [esp + 0xd8], 0x1c9
+mov dword [esp + 0xdc], 0x1c0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ax, word [eax*4 + ref_0048c434] ; mov ax, word [eax*4 + 0x48c434]
+and eax, 0xffff
+dec eax
+imul eax, eax, 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_0043b0a0 ; jne 0x43b0a0
+xor ebx, ebx
+
+loc_0043b010:
+mov esi, dword [ebx*4 + ref_00475b84] ; mov esi, dword [ebx*4 + 0x475b84]
+push esi
+push 0x196
+lea eax, [ebx + ebx]
+lea esi, [eax + 4]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 2
+mov edx, dword [ref_0048c49c] ; mov edx, dword [0x48c49c]
+add edx, 0xc
+add eax, edx
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+inc ebx
+cmp ebx, 7
+jl short loc_0043b010 ; jl 0x43b010
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ax, word [eax*4 + ref_0048c434] ; mov ax, word [eax*4 + 0x48c434]
+and eax, 0xffff
+dec eax
+imul eax, eax, 0x68
+mov edx, dword [ref_0048c488] ; mov edx, dword [0x48c488]
+cmp edx, dword [eax + ref_00496b84] ; cmp edx, dword [eax + 0x496b84]
+jle short loc_0043b08a ; jle 0x43b08a
+mov byte [ref_0048c4ac], 4 ; mov byte [0x48c4ac], 4
+push 0
+push 6
+jmp near loc_0043b22e ; jmp 0x43b22e
+
+loc_0043b08a:
+mov byte [ref_0048c4ac], 3 ; mov byte [0x48c4ac], 3
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+jmp near loc_0043b23b ; jmp 0x43b23b
+
+loc_0043b0a0:
+mov eax, dword [esp + 0xdc]
+mov edx, dword [esp + 0xd4]
+sub eax, edx
+push eax
+mov eax, dword [esp + 0xdc]
+mov ecx, dword [esp + 0xd4]
+sub eax, ecx
+push eax
+push edx
+push ecx
+push edx
+push ecx
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov byte [ref_0048c4ac], 4 ; mov byte [0x48c4ac], 4
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+xor edx, edx
+mov dx, word [eax + ref_0048c434] ; mov dx, word [eax + 0x48c434]
+dec edx
+imul edx, edx, 0x68
+mov ecx, dword [ref_0048c488] ; mov ecx, dword [0x48c488]
+cmp ecx, dword [edx + ref_00496b84] ; cmp ecx, dword [edx + 0x496b84]
+jle short loc_0043b124 ; jle 0x43b124
+mov ebx, 6
+jmp near loc_0043b219 ; jmp 0x43b219
+
+loc_0043b124:
+lea edx, [ecx + 0x2710]
+mov esi, dword [eax + ref_0048c438] ; mov esi, dword [eax + 0x48c438]
+cmp edx, esi
+jg short loc_0043b13b ; jg 0x43b13b
+mov ebx, 5
+jmp short loc_0043b183 ; jmp 0x43b183
+
+loc_0043b13b:
+lea edx, [ecx + 0x1388]
+cmp edx, esi
+jg short loc_0043b14c ; jg 0x43b14c
+mov ebx, 4
+jmp short loc_0043b183 ; jmp 0x43b183
+
+loc_0043b14c:
+lea edx, [ecx + 0x3e8]
+cmp edx, esi
+jg short loc_0043b15d ; jg 0x43b15d
+mov ebx, 3
+jmp short loc_0043b183 ; jmp 0x43b183
+
+loc_0043b15d:
+lea edx, [ecx + 0x1f4]
+cmp edx, esi
+jg short loc_0043b16e ; jg 0x43b16e
+mov ebx, 2
+jmp short loc_0043b183 ; jmp 0x43b183
+
+loc_0043b16e:
+lea edx, [ecx + 0x64]
+cmp edx, esi
+jg short loc_0043b17c ; jg 0x43b17c
+mov ebx, 1
+jmp short loc_0043b183 ; jmp 0x43b183
+
+loc_0043b17c:
+xor ebx, ebx
+jmp near loc_0043b219 ; jmp 0x43b219
+
+loc_0043b183:
+mov edi, dword [ref_0048c4a8] ; mov edi, dword [0x48c4a8]
+cmp edi, 0xffffffff
+je near loc_0043b219 ; je 0x43b219
+mov esi, dword [ref_0048c488] ; mov esi, dword [0x48c488]
+add esi, dword [ebx*4 + ref_00475ba2] ; add esi, dword [ebx*4 + 0x475ba2]
+mov eax, edi
+shl eax, 2
+add eax, edi
+mov ax, word [eax*4 + ref_0048c434] ; mov ax, word [eax*4 + 0x48c434]
+and eax, 0xffff
+dec eax
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00496b84] ; mov edi, dword [eax + 0x496b84]
+add edi, 0x1f4
+cmp esi, edi
+jle short loc_0043b219 ; jle 0x43b219
+sub edi, dword [ref_0048c488] ; sub edi, dword [0x48c488]
+cmp edi, 0x3e8
+jle short loc_0043b1e4 ; jle 0x43b1e4
+cmp edi, 0x1388
+jg short loc_0043b1e4 ; jg 0x43b1e4
+mov ebx, 4
+jmp short loc_0043b219 ; jmp 0x43b219
+
+loc_0043b1e4:
+cmp edi, 0x1f4
+jle short loc_0043b1fb ; jle 0x43b1fb
+cmp edi, 0x3e8
+jg short loc_0043b1fb ; jg 0x43b1fb
+mov ebx, 3
+jmp short loc_0043b219 ; jmp 0x43b219
+
+loc_0043b1fb:
+cmp edi, 0x64
+jle short loc_0043b20f ; jle 0x43b20f
+cmp edi, 0x1f4
+jg short loc_0043b20f ; jg 0x43b20f
+mov ebx, 2
+jmp short loc_0043b219 ; jmp 0x43b219
+
+loc_0043b20f:
+cmp edi, 0x64
+jg short loc_0043b219 ; jg 0x43b219
+mov ebx, 1
+
+loc_0043b219:
+cmp byte [ref_0048c4b1], 1 ; cmp byte [0x48c4b1], 1
+jne short loc_0043b22b ; jne 0x43b22b
+test ebx, ebx
+je short loc_0043b22b ; je 0x43b22b
+mov ebx, 1
+
+loc_0043b22b:
+push 0
+push ebx
+
+loc_0043b22e:
+push 0x407
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0043b23b:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043b5dd ; jmp 0x43b5dd
+
+loc_0043b262:
+mov edx, dword [ref_0048c4a4] ; mov edx, dword [0x48c4a4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+cmp word [eax + ref_0048c434], 0 ; cmp word [eax + 0x48c434], 0
+je short loc_0043b295 ; je 0x43b295
+push 0
+mov edx, dword [eax + ref_0048c43c] ; mov edx, dword [eax + 0x48c43c]
+push edx
+mov ecx, dword [ref_0048c4a4] ; mov ecx, dword [0x48c4a4]
+push ecx
+push ebp
+call fcn_0043a155 ; call 0x43a155
+add esp, 0x10
+
+loc_0043b295:
+xor ebx, ebx
+xor esi, esi
+xor edi, edi
+jmp short loc_0043b2a3 ; jmp 0x43b2a3
+
+loc_0043b29d:
+inc ebx
+cmp ebx, 4
+jge short loc_0043b2c5 ; jge 0x43b2c5
+
+loc_0043b2a3:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+cmp word [eax + ref_0048c434], 0 ; cmp word [eax + 0x48c434], 0
+je short loc_0043b29d ; je 0x43b29d
+inc esi
+cmp word [eax + ref_0048c436], 0 ; cmp word [eax + 0x48c436], 0
+je short loc_0043b29d ; je 0x43b29d
+inc edi
+jmp short loc_0043b29d ; jmp 0x43b29d
+
+loc_0043b2c5:
+test esi, esi
+je short loc_0043b2cd ; je 0x43b2cd
+cmp esi, edi
+jne short loc_0043b2e6 ; jne 0x43b2e6
+
+loc_0043b2cd:
+push ref_00465063 ; push 0x465063
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c4ac], 0xb ; mov byte [0x48c4ac], 0xb
+jmp near loc_0043b5dd ; jmp 0x43b5dd
+
+loc_0043b2e6:
+cmp esi, 1
+je short loc_0043b2f6 ; je 0x43b2f6
+sub esi, edi
+cmp esi, 1
+jne near loc_0043b3c2 ; jne 0x43b3c2
+
+loc_0043b2f6:
+cmp dword [ref_0048c4a8], 0xffffffff ; cmp dword [0x48c4a8], 0xffffffff
+je near loc_0043b3c2 ; je 0x43b3c2
+mov dword [esp + 0xd0], 0x16b
+mov dword [esp + 0xd4], 0x72
+mov dword [esp + 0xd8], 0x1c9
+mov dword [esp + 0xdc], 0x1c0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0xdc]
+mov esi, dword [esp + 0xd4]
+sub eax, esi
+push eax
+mov eax, dword [esp + 0xdc]
+mov edi, dword [esp + 0xd4]
+sub eax, edi
+push eax
+push esi
+push edi
+push esi
+push edi
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+or byte [ref_0048c4a6], 1 ; or byte [0x48c4a6], 1
+mov byte [ref_0048c4ac], 9 ; mov byte [0x48c4ac], 9
+jmp near loc_0043b5dd ; jmp 0x43b5dd
+
+loc_0043b3c2:
+mov edi, dword [ref_0048c4a4] ; mov edi, dword [0x48c4a4]
+inc edi
+mov dword [ref_0048c4a4], edi ; mov dword [0x48c4a4], edi
+mov eax, edi
+and eax, 3
+mov dword [ref_0048c4a4], eax ; mov dword [0x48c4a4], eax
+mov edx, eax
+shl eax, 2
+add eax, edx
+shl eax, 2
+cmp word [eax + ref_0048c434], 0 ; cmp word [eax + 0x48c434], 0
+je short loc_0043b3c2 ; je 0x43b3c2
+push 1
+mov edx, dword [eax + ref_0048c43c] ; mov edx, dword [eax + 0x48c43c]
+push edx
+mov ecx, dword [ref_0048c4a4] ; mov ecx, dword [0x48c4a4]
+push ecx
+push ebp
+call fcn_0043a155 ; call 0x43a155
+add esp, 0x10
+mov byte [ref_0048c4ac], 2 ; mov byte [0x48c4ac], 2
+jmp near loc_0043b5dd ; jmp 0x43b5dd
+
+loc_0043b412:
+mov byte [ref_0048c4ac], 0xa ; mov byte [0x48c4ac], 0xa
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0xa0
+push 0x9a
+push 0x18
+push 0x7b
+push 0x18
+push 0x7b
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x1b
+push 0x7c
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x108
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x3f
+push 0x43
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xd8
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push ref_00475bba ; push 0x475bba
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov byte [ref_0048c4b0], 1 ; mov byte [0x48c4b0], 1
+mov edi, dword [ref_0048c488] ; mov edi, dword [0x48c488]
+push edi
+push ref_00465098 ; push 0x465098
+jmp near loc_0043af87 ; jmp 0x43af87
+
+loc_0043b4d8:
+mov byte [ref_0048c4ac], 0xb ; mov byte [0x48c4ac], 0xb
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0xa6
+push 0xc7
+push 0x1b
+push 0x7c
+push 0x1b
+push 0x7c
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x18
+push 0x7b
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x138
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x3f
+push 0x43
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xd8
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor dh, dh
+mov byte [ref_0048c4b0], dh ; mov byte [0x48c4b0], dh
+mov edx, dword [ref_0048c4a8] ; mov edx, dword [0x48c4a8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ax, word [eax*4 + ref_0048c434] ; mov ax, word [eax*4 + 0x48c434]
+and eax, 0xffff
+dec eax
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov edx, dword [eax*4 + ref_00475b54] ; mov edx, dword [eax*4 + 0x475b54]
+push edx
+jmp near loc_0043af97 ; jmp 0x43af97
+
+loc_0043b5b5:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov edx, dword [ref_0048c4a0] ; mov edx, dword [0x48c4a0]
+push edx
+push ebp
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+mov ecx, dword [ref_0048c4a8] ; mov ecx, dword [0x48c4a8]
+push ecx
+call fcn_00401966 ; call 0x401966
+
+loc_0043b5da:
+add esp, 4
+
+loc_0043b5dd:
+mov al, byte [ref_0048c4ae] ; mov al, byte [0x48c4ae]
+and al, 0xf
+cmp al, 1
+jb short loc_0043b5f7 ; jb 0x43b5f7
+jbe short loc_0043b637 ; jbe 0x43b637
+cmp al, 2
+je near loc_0043b74c ; je 0x43b74c
+jmp near loc_0043b853 ; jmp 0x43b853
+
+loc_0043b5f7:
+test al, al
+jne near loc_0043b853 ; jne 0x43b853
+call fcn_00456f2d ; call 0x456f2d
+mov edi, eax
+sar edi, 0xa
+test edi, edi
+jne short loc_0043b622 ; jne 0x43b622
+cmp byte [ref_0048c4b0], 0 ; cmp byte [0x48c4b0], 0
+jne short loc_0043b622 ; jne 0x43b622
+or byte [ref_0048c4ae], 1 ; or byte [0x48c4ae], 1
+jmp near loc_0043b853 ; jmp 0x43b853
+
+loc_0043b622:
+cmp edi, 1
+jne near loc_0043b853 ; jne 0x43b853
+or byte [ref_0048c4ae], 2 ; or byte [0x48c4ae], 2
+jmp near loc_0043b853 ; jmp 0x43b853
+
+loc_0043b637:
+cmp byte [ref_0048c4b0], 0 ; cmp byte [0x48c4b0], 0
+jne near loc_0043b853 ; jne 0x43b853
+mov al, byte [ref_0048c4ae] ; mov al, byte [0x48c4ae]
+and al, 0x30
+movzx edi, al
+sar edi, 4
+mov dword [esp + 0xd0], 0xa3
+mov dword [esp + 0xd4], 0x2d
+mov dword [esp + 0xd8], 0xbf
+mov dword [esp + 0xdc], 0x3c
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp edi, 3
+jge short loc_0043b6d7 ; jge 0x43b6d7
+mov esi, dword [esp + 0xd4]
+push esi
+mov eax, dword [esp + 0xd4]
+push eax
+xor edx, edx
+mov dl, byte [edi + ref_00475ba0] ; mov dl, byte [edi + 0x475ba0]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c49c] ; mov edx, dword [0x48c49c]
+add edx, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+jmp short loc_0043b709 ; jmp 0x43b709
+
+loc_0043b6d7:
+push 0xf
+push 0x1c
+push 0x15
+push 0x28
+mov edx, dword [esp + 0xe4]
+push edx
+mov ecx, dword [esp + 0xe4]
+push ecx
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x138
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456495 ; call 0x456495
+add esp, 0x20
+
+loc_0043b709:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov cl, byte [ref_0048c4ae] ; mov cl, byte [0x48c4ae]
+add cl, 0x10
+mov byte [ref_0048c4ae], cl ; mov byte [0x48c4ae], cl
+mov ch, cl
+and ch, 0x3f
+mov byte [ref_0048c4ae], ch ; mov byte [0x48c4ae], ch
+test ch, 0x30
+jne near loc_0043b841 ; jne 0x43b841
+mov ah, ch
+and ah, 0xf0
+mov byte [ref_0048c4ae], ah ; mov byte [0x48c4ae], ah
+jmp near loc_0043b841 ; jmp 0x43b841
+
+loc_0043b74c:
+mov al, byte [ref_0048c4ae] ; mov al, byte [0x48c4ae]
+and al, 0xc0
+movzx edi, al
+sar edi, 6
+mov dword [esp + 0xd0], 0x7f
+mov dword [esp + 0xd4], 0x5a
+mov dword [esp + 0xd8], 0x8f
+mov dword [esp + 0xdc], 0x68
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp edi, 3
+jge short loc_0043b7e0 ; jge 0x43b7e0
+mov esi, dword [esp + 0xd4]
+push esi
+mov eax, dword [esp + 0xd4]
+push eax
+xor edx, edx
+mov dl, byte [edi + ref_00475ba3] ; mov dl, byte [edi + 0x475ba3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+jmp short loc_0043b812 ; jmp 0x43b812
+
+loc_0043b7e0:
+push 0xe
+push 0x10
+push 0x1d
+push 0x3d
+mov edx, dword [esp + 0xe4]
+push edx
+mov ecx, dword [esp + 0xe4]
+push ecx
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xd8
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+
+loc_0043b812:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dl, byte [ref_0048c4ae] ; mov dl, byte [0x48c4ae]
+add dl, 0x40
+mov byte [ref_0048c4ae], dl ; mov byte [0x48c4ae], dl
+test dl, 0xc0
+jne short loc_0043b841 ; jne 0x43b841
+mov bl, dl
+and bl, 0xf0
+mov byte [ref_0048c4ae], bl ; mov byte [0x48c4ae], bl
+
+loc_0043b841:
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043b853:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_0043b869 ; jne 0x43b869
+cmp byte [ref_0048c4ad], 0 ; cmp byte [0x48c4ad], 0
+je near loc_0043a3d7 ; je 0x43a3d7
+
+loc_0043b869:
+mov al, byte [ref_0048c4ad] ; mov al, byte [0x48c4ad]
+dec al
+cmp byte [ref_0048c4b0], 0 ; cmp byte [0x48c4b0], 0
+je near loc_0043b9fb ; je 0x43b9fb
+mov dword [esp + 0xd0], 0xb7
+mov dword [esp + 0xd4], 0x41
+mov dword [esp + 0xd8], 0xdf
+mov dword [esp + 0xdc], 0x5f
+cmp byte [ref_0048c4ad], 0 ; cmp byte [0x48c4ad], 0
+je near loc_0043b945 ; je 0x43b945
+mov byte [ref_0048c4ad], al ; mov byte [0x48c4ad], al
+test al, al
+jne near loc_0043a3d7 ; jne 0x43a3d7
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x1e
+push 0x28
+mov edi, dword [esp + 0xdc]
+push edi
+mov eax, dword [esp + 0xdc]
+push eax
+push edi
+push eax
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov esi, dword [esp + 0xd4]
+push esi
+mov edi, dword [esp + 0xd4]
+push edi
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x114
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+
+loc_0043b928:
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_0043b9e4 ; jmp 0x43b9e4
+
+loc_0043b945:
+call fcn_00456f2d ; call 0x456f2d
+mov edi, eax
+sar edi, 0xb
+cmp edi, 4
+jge near loc_0043a3d7 ; jge 0x43a3d7
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x1e
+push 0x28
+mov ebx, dword [esp + 0xdc]
+push ebx
+mov esi, dword [esp + 0xdc]
+push esi
+push ebx
+push esi
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov ecx, dword [esp + 0xd4]
+push ecx
+mov ebx, dword [esp + 0xd4]
+push ebx
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x120
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+
+loc_0043b9be:
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and al, 7
+inc al
+mov byte [ref_0048c4ad], al ; mov byte [0x48c4ad], al
+
+loc_0043b9e4:
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043a3d7 ; jmp 0x43a3d7
+
+loc_0043b9fb:
+mov dword [esp + 0xd0], 0xa3
+mov dword [esp + 0xd4], 0x3c
+mov dword [esp + 0xd8], 0xc1
+mov dword [esp + 0xdc], 0x55
+cmp byte [ref_0048c4ad], 0 ; cmp byte [0x48c4ad], 0
+je short loc_0043baa7 ; je 0x43baa7
+mov byte [ref_0048c4ad], al ; mov byte [0x48c4ad], al
+test al, al
+jne near loc_0043a3d7 ; jne 0x43a3d7
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x19
+push 0x1e
+mov ecx, dword [esp + 0xdc]
+push ecx
+mov ebx, dword [esp + 0xdc]
+push ebx
+push ecx
+push ebx
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov edx, dword [esp + 0xd4]
+push edx
+mov ecx, dword [esp + 0xd4]
+push ecx
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x15c
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+jmp near loc_0043b928 ; jmp 0x43b928
+
+loc_0043baa7:
+call fcn_00456f2d ; call 0x456f2d
+mov edi, eax
+sar edi, 0xb
+cmp edi, 4
+jge near loc_0043a3d7 ; jge 0x43a3d7
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x19
+push 0x1e
+mov eax, dword [esp + 0xdc]
+push eax
+mov edx, dword [esp + 0xdc]
+push edx
+push eax
+push edx
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov edi, dword [esp + 0xd4]
+push edi
+mov eax, dword [esp + 0xd4]
+push eax
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x168
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+jmp near loc_0043b9be ; jmp 0x43b9be
+
+loc_0043bb25:
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+cmp byte [ref_0048c4ac], 3 ; cmp byte [0x48c4ac], 3
+jne near loc_0043a3d7 ; jne 0x43a3d7
+test dword [ref_0048c4a4], 0xffff00 ; test dword [0x48c4a4], 0xffff00
+jne near loc_0043a3d7 ; jne 0x43a3d7
+xor edi, edi
+mov di, word [esp + 0x108]
+mov eax, dword [esp + 0x108]
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+mov dword [esp + 0xe4], eax
+xor ebx, ebx
+mov ecx, dword [esp + 0xe4]
+jmp short loc_0043bb86 ; jmp 0x43bb86
+
+loc_0043bb7c:
+inc ebx
+cmp ebx, 7
+jge near loc_0043a3d7 ; jge 0x43a3d7
+
+loc_0043bb86:
+cmp edi, 0x16b
+jl short loc_0043bb7c ; jl 0x43bb7c
+cmp edi, 0x1c1
+jg short loc_0043bb7c ; jg 0x43bb7c
+mov esi, ebx
+shl esi, 2
+mov edx, dword [esi + ref_00475b84] ; mov edx, dword [esi + 0x475b84]
+sub edx, 0x13
+cmp edx, dword [esp + 0xe4]
+jg short loc_0043bb7c ; jg 0x43bb7c
+mov eax, dword [esi + ref_00475b84] ; mov eax, dword [esi + 0x475b84]
+add eax, 0x13
+cmp eax, ecx
+jl short loc_0043bb7c ; jl 0x43bb7c
+mov dword [esp + 0xd0], 0x16b
+mov dword [esp + 0xd4], edx
+mov dword [esp + 0xd8], 0x1c1
+mov dword [esp + 0xdc], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esi + ref_00475b84] ; mov ecx, dword [esi + 0x475b84]
+push ecx
+push 0x196
+lea edx, [ebx + ebx + 3]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+inc bl
+mov byte [ref_0048c4af], bl ; mov byte [0x48c4af], bl
+jmp near loc_0043a3d7 ; jmp 0x43a3d7
+
+loc_0043bc59:
+mov ch, byte [ref_0048c4af] ; mov ch, byte [0x48c4af]
+test ch, ch
+je near loc_0043a3d7 ; je 0x43a3d7
+mov dword [esp + 0xd0], 0x16b
+mov al, ch
+dec al
+mov byte [ref_0048c4af], al ; mov byte [0x48c4af], al
+xor edx, edx
+mov dl, al
+mov eax, dword [edx*4 + ref_00475b84] ; mov eax, dword [edx*4 + 0x475b84]
+sub eax, 0x13
+mov dword [esp + 0xd4], eax
+mov dword [esp + 0xd8], 0x1c1
+mov eax, dword [edx*4 + ref_00475b84] ; mov eax, dword [edx*4 + 0x475b84]
+add eax, 0x13
+mov dword [esp + 0xdc], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor edx, edx
+mov dl, byte [ref_0048c4af] ; mov dl, byte [0x48c4af]
+mov ecx, dword [edx*4 + ref_00475b84] ; mov ecx, dword [edx*4 + 0x475b84]
+push ecx
+push 0x196
+add edx, edx
+add edx, 4
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0xd4]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+xor eax, eax
+mov al, byte [ref_0048c4af] ; mov al, byte [0x48c4af]
+push eax
+push 0x407
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+xor ah, ah
+mov byte [ref_0048c4af], ah ; mov byte [0x48c4af], ah
+jmp near loc_0043a3d7 ; jmp 0x43a3d7
+
+loc_0043bd48:
+lea eax, [esp + 0x80]
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 0x88]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x8c]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x98]
+push ebx
+mov esi, dword [esp + 0x98]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 0x88]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+lea eax, [esp + 0x80]
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0043a3d7 ; jmp 0x43a3d7
+
+loc_0043bdb9:
+mov edi, dword [esp + 0x108]
+push edi
+push ebx
+push eax
+push ebp
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0043a3d9 ; jmp 0x43a3d9
+
+endloc_0043bdd0:
+db 0x90
+
+ref_0043bdd1: ; may contain a jump table
+dd loc_0043c064
+dd loc_0043c08d
+dd loc_0043c08d
+dd loc_0043c07a
+dd loc_0043c08d
+
+fcn_0043bde5:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x98
+xor edx, edx
+mov dword [esp + 0x88], edx
+mov dword [esp + 0x84], edx
+mov ebx, dword [esp + 0xb0]
+cmp ebx, 0x7d0
+jle near loc_0043bf3a ; jle 0x43bf3a
+cmp ebx, 0xfa0
+jge near loc_0043bf3a ; jge 0x43bf3a
+lea eax, [ebx - 0x7d0]
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add edx, eax
+mov dword [ref_0048c48c], edx ; mov dword [0x48c48c], edx
+xor eax, eax
+mov al, byte [edx + 0x1a]
+mov dword [esp + 0x94], eax
+fild word [esp + 0x94]
+fmul dword [ref_004650b0] ; fmul dword [0x4650b0]
+fld1
+faddp st1 ; faddp st(1)
+fstp dword [esp + 0x80]
+xor eax, eax
+mov ax, word [edx + 0x1c]
+mov dword [esp + 0x90], eax
+fild dword [esp + 0x90]
+fmul dword [esp + 0x80]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [ref_0048c488] ; fistp dword [0x48c488]
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+mov ebx, dword [ref_0048c488] ; mov ebx, dword [0x48c488]
+imul ebx, eax
+mov dword [ref_0048c488], ebx ; mov dword [0x48c488], ebx
+cmp byte [edx + 0x1a], 0
+jne short loc_0043bec7 ; jne 0x43bec7
+mov ch, byte [edx + 0x19]
+test ch, ch
+je short loc_0043bebb ; je 0x43bebb
+xor eax, eax
+mov al, ch
+dec eax
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+add eax, 0x5b
+jmp near loc_0043bf29 ; jmp 0x43bf29
+
+loc_0043bebb:
+mov dword [ref_0048c494], 0x5a ; mov dword [0x48c494], 0x5a
+jmp short loc_0043bf2e ; jmp 0x43bf2e
+
+loc_0043bec7:
+cmp word [ref_004991b6], 0 ; cmp word [0x4991b6], 0
+jne short loc_0043befd ; jne 0x43befd
+cmp byte [edx + 0x18], 0
+jne short loc_0043bef1 ; jne 0x43bef1
+xor ebx, ebx
+mov bl, byte [edx + 0x1a]
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, ebx
+add eax, 0x1d
+jmp short loc_0043bf29 ; jmp 0x43bf29
+
+loc_0043bef1:
+mov dword [ref_0048c494], 0x32 ; mov dword [0x48c494], 0x32
+jmp short loc_0043bf2e ; jmp 0x43bf2e
+
+loc_0043befd:
+cmp byte [edx + 0x18], 0
+jne short loc_0043bf1d ; jne 0x43bf1d
+xor ebx, ebx
+mov bl, byte [edx + 0x1a]
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, ebx
+add eax, 0x73
+jmp short loc_0043bf29 ; jmp 0x43bf29
+
+loc_0043bf1d:
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+add eax, 0x83
+
+loc_0043bf29:
+mov dword [ref_0048c494], eax ; mov dword [0x48c494], eax
+
+loc_0043bf2e:
+xor eax, eax
+mov dword [ref_0048c490], eax ; mov dword [0x48c490], eax
+jmp near loc_0043c0d5 ; jmp 0x43c0d5
+
+loc_0043bf3a:
+mov edi, dword [esp + 0xb0]
+cmp edi, 0xfa0
+jle near loc_0043c0d5 ; jle 0x43c0d5
+cmp edi, 0x1770
+jge near loc_0043c0d5 ; jge 0x43c0d5
+lea eax, [edi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add edx, eax
+mov dword [ref_0048c498], edx ; mov dword [0x48c498], edx
+mov ebx, edx
+xor eax, eax
+mov al, byte [edx + 0x1a]
+mov dword [esp + 0x94], eax
+fild word [esp + 0x94]
+fmul dword [ref_004650b0] ; fmul dword [0x4650b0]
+fld1
+faddp st1 ; faddp st(1)
+fstp dword [esp + 0x80]
+xor eax, eax
+mov ax, word [edx + 0x22]
+mov dword [esp + 0x90], eax
+fild dword [esp + 0x90]
+fmul dword [esp + 0x80]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [ref_0048c488] ; fistp dword [0x48c488]
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+mov edx, dword [ref_0048c488] ; mov edx, dword [0x48c488]
+imul edx, eax
+mov dword [ref_0048c488], edx ; mov dword [0x48c488], edx
+cmp byte [ebx + 0x1a], 0
+jne short loc_0043c013 ; jne 0x43c013
+mov dh, byte [ebx + 0x19]
+test dh, dh
+je short loc_0043c004 ; je 0x43c004
+xor eax, eax
+mov al, dh
+dec eax
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+add eax, 0x68
+
+loc_0043bffa:
+mov dword [ref_0048c494], eax ; mov dword [0x48c494], eax
+jmp near loc_0043c0cb ; jmp 0x43c0cb
+
+loc_0043c004:
+mov dword [ref_0048c494], 0x67 ; mov dword [0x48c494], 0x67
+jmp near loc_0043c0cb ; jmp 0x43c0cb
+
+loc_0043c013:
+cmp word [ref_004991b6], 0 ; cmp word [0x4991b6], 0
+jne short loc_0043c04d ; jne 0x43c04d
+mov dl, byte [ebx + 0x18]
+test dl, dl
+je short loc_0043c03e ; je 0x43c03e
+xor eax, eax
+mov al, dl
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 2
+add eax, edx
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+add eax, edx
+add eax, 0x33
+jmp short loc_0043bffa ; jmp 0x43bffa
+
+loc_0043c03e:
+mov dword [ref_0048c494], 0x33 ; mov dword [0x48c494], 0x33
+jmp near loc_0043c0cb ; jmp 0x43c0cb
+
+loc_0043c04d:
+mov al, byte [ebx + 0x18]
+cmp al, 4
+ja near loc_0043c0cb ; ja 0x43c0cb
+and eax, 0xff
+jmp dword [eax*4 + ref_0043bdd1] ; ujmp: jmp dword [eax*4 + 0x43bdd1]
+
+loc_0043c064:
+cmp word [ref_004991b8], 0 ; cmp word [0x4991b8], 0
+jne short loc_0043c03e ; jne 0x43c03e
+mov dword [ref_0048c494], 0x97 ; mov dword [0x48c494], 0x97
+jmp short loc_0043c0cb ; jmp 0x43c0cb
+
+loc_0043c07a:
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+mov eax, dword [eax*4 + ref_00475be2] ; mov eax, dword [eax*4 + 0x475be2]
+jmp near loc_0043bffa ; jmp 0x43bffa
+
+loc_0043c08d:
+mov eax, dword [ref_0048c498] ; mov eax, dword [0x48c498]
+xor ebx, ebx
+mov bl, byte [eax + 0x18]
+dec ebx
+cmp ebx, 3
+jne short loc_0043c0a2 ; jne 0x43c0a2
+mov ebx, 2
+
+loc_0043c0a2:
+mov eax, dword [ref_0048c498] ; mov eax, dword [0x48c498]
+xor edx, edx
+mov dl, byte [eax + 0x1a]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+add edx, eax
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+mov eax, dword [eax*4 + ref_00475bd2] ; mov eax, dword [eax*4 + 0x475bd2]
+add edx, eax
+mov dword [ref_0048c494], edx ; mov dword [0x48c494], edx
+
+loc_0043c0cb:
+mov dword [ref_0048c490], 1 ; mov dword [0x48c490], 1
+
+loc_0043c0d5:
+push 0x50
+push 0
+push ref_0048c434 ; push 0x48c434
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0
+push 0
+push 0x1a
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c49c], eax ; mov dword [0x48c49c], eax
+xor ebx, ebx
+mov dword [esp + 0x8c], ebx
+mov ebp, dword [esp + 0xac]
+
+loc_0043c110:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_0043c2f5 ; jge 0x43c2f5
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_0043c2ef ; je 0x43c2ef
+mov eax, dword [eax + ref_00496b84] ; mov eax, dword [eax + 0x496b84]
+cmp eax, dword [ref_0048c488] ; cmp eax, dword [0x48c488]
+jg short loc_0043c152 ; jg 0x43c152
+mov esi, dword [esp + 0x8c]
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov word [eax*4 + ref_0048c436], 8 ; mov word [eax*4 + 0x48c436], 8
+
+loc_0043c152:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9a], 0 ; cmp byte [eax + 0x496b9a], 0
+je short loc_0043c176 ; je 0x43c176
+mov edx, dword [esp + 0x8c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov word [eax*4 + ref_0048c436], 1 ; mov word [eax*4 + 0x48c436], 1
+
+loc_0043c176:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9b], 0 ; cmp byte [eax + 0x496b9b], 0
+je short loc_0043c19a ; je 0x43c19a
+mov edx, dword [esp + 0x8c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov word [eax*4 + ref_0048c436], 2 ; mov word [eax*4 + 0x48c436], 2
+
+loc_0043c19a:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9c], 0 ; cmp byte [eax + 0x496b9c], 0
+je short loc_0043c1be ; je 0x43c1be
+mov esi, dword [esp + 0x8c]
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov word [eax*4 + ref_0048c436], 3 ; mov word [eax*4 + 0x48c436], 3
+
+loc_0043c1be:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9d], 0 ; cmp byte [eax + 0x496b9d], 0
+je short loc_0043c1e2 ; je 0x43c1e2
+mov edx, dword [esp + 0x8c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov word [eax*4 + ref_0048c436], 4 ; mov word [eax*4 + 0x48c436], 4
+
+loc_0043c1e2:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+je short loc_0043c206 ; je 0x43c206
+mov edx, dword [esp + 0x8c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov word [eax*4 + ref_0048c436], 5 ; mov word [eax*4 + 0x48c436], 5
+
+loc_0043c206:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+je short loc_0043c22a ; je 0x43c22a
+mov edx, dword [esp + 0x8c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov word [eax*4 + ref_0048c436], 6 ; mov word [eax*4 + 0x48c436], 6
+
+loc_0043c22a:
+cmp ebx, ebp
+jne short loc_0043c246 ; jne 0x43c246
+mov esi, dword [esp + 0x8c]
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov word [eax*4 + ref_0048c436], 7 ; mov word [eax*4 + 0x48c436], 7
+
+loc_0043c246:
+mov edx, ebx
+inc edx
+mov eax, dword [esp + 0x8c]
+mov esi, eax
+shl esi, 2
+add esi, eax
+mov word [esi*4 + ref_0048c434], dx ; mov word [esi*4 + 0x48c434], dx
+push 0
+push 0
+imul edi, ebx, 0x68
+xor edx, edx
+mov dl, byte [edi + ref_00496b7b] ; mov dl, byte [edi + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, 0x1b
+push eax
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [esi*4 + ref_0048c43c], eax ; mov dword [esi*4 + 0x48c43c], eax
+push 0
+push 0
+xor edx, edx
+mov dl, byte [edi + ref_00496b7b] ; mov dl, byte [edi + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, 0x1c
+push eax
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [esi*4 + ref_0048c440], eax ; mov dword [esi*4 + 0x48c440], eax
+push 0
+push 0
+xor edx, edx
+mov dl, byte [edi + ref_00496b7b] ; mov dl, byte [edi + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, 0x1d
+push eax
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [esi*4 + ref_0048c444], eax ; mov dword [esi*4 + 0x48c444], eax
+inc dword [esp + 0x8c]
+
+loc_0043c2ef:
+inc ebx
+jmp near loc_0043c110 ; jmp 0x43c110
+
+loc_0043c2f5:
+push 0
+push 0
+push 0x71
+push 0x8e
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c484], eax ; mov dword [0x48c484], eax
+cmp dword [esp + 0x8c], 0
+je near loc_0043c868 ; je 0x43c868
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x12
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x18
+push 0x7b
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x138
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x3f
+push 0x43
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xd8
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0xb4
+push 0xe8
+mov ebx, dword [ref_0048c49c] ; mov ebx, dword [0x48c49c]
+mov edx, dword [ref_0048c494] ; mov edx, dword [0x48c494]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+lea eax, [ebx + 0xc]
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 0xf2
+push 0xb6
+push ref_004650a6 ; push 0x4650a6
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebx, dword [ref_0048c488] ; mov ebx, dword [0x48c488]
+push ebx
+push ref_00465050 ; push 0x465050
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+push 0x106
+push 0x110
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+mov dword [esp + 0x8c], 0x50
+xor ebp, ebp
+xor edi, edi
+jmp near loc_0043c5d9 ; jmp 0x43c5d9
+
+loc_0043c43c:
+mov ax, word [eax + ref_0048c434] ; mov ax, word [eax + 0x48c434]
+and eax, 0xffff
+dec eax
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00496b84] ; mov ecx, dword [eax + 0x496b84]
+push ecx
+push ref_00465050 ; push 0x465050
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+push esi
+push 0x26c
+
+loc_0043c46d:
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+cmp word [eax + ref_0048c436], 7 ; cmp word [eax + 0x48c436], 7
+je short loc_0043c4af ; je 0x43c4af
+mov edx, dword [esp + 0x8c]
+push edx
+push 0x24e
+push 0
+mov ecx, dword [eax + ref_0048c440] ; mov ecx, dword [eax + 0x48c440]
+push ecx
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+jmp short loc_0043c4cb ; jmp 0x43c4cb
+
+loc_0043c4af:
+mov ecx, dword [esp + 0x8c]
+push ecx
+push 0x24e
+push 0
+mov esi, dword [eax + ref_0048c43c] ; mov esi, dword [eax + 0x48c43c]
+push esi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+
+loc_0043c4cb:
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+mov edx, ebx
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+xor esi, esi
+mov word [eax*4 + ref_0048c434], si ; mov word [eax*4 + 0x48c434], si
+xor edx, ebx
+mov word [eax*4 + ref_0048c436], dx ; mov word [eax*4 + 0x48c436], dx
+jmp near loc_0043c5c7 ; jmp 0x43c5c7
+
+loc_0043c4f5:
+inc edi
+test ebp, ebp
+jne short loc_0043c551 ; jne 0x43c551
+mov ebp, 1
+mov edx, dword [esp + 0x8c]
+push edx
+push 0x24e
+mov ax, word [eax + ref_0048c434] ; mov ax, word [eax + 0x48c434]
+and eax, 0xffff
+sub eax, ebp
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+lea edx, [eax + 0x4e]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0043c551:
+mov esi, ebx
+shl esi, 2
+add esi, ebx
+shl esi, 2
+xor eax, eax
+mov ax, word [esi + ref_0048c434] ; mov ax, word [esi + 0x48c434]
+dec eax
+imul eax, eax, 0x68
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+push edx
+push ref_00465050 ; push 0x465050
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 6
+mov eax, dword [esp + 0x90]
+add eax, 0xe
+push eax
+push 0x26c
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ecx, dword [esp + 0x8c]
+push ecx
+push 0x24e
+push 0
+mov eax, dword [esi + ref_0048c43c] ; mov eax, dword [esi + 0x48c43c]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045663e ; call 0x45663e
+add esp, 0x14
+
+loc_0043c5c7:
+add dword [esp + 0x8c], 0x78
+
+loc_0043c5cf:
+inc ebx
+cmp ebx, 4
+jge near loc_0043c680 ; jge 0x43c680
+
+loc_0043c5d9:
+mov esi, ebx
+shl esi, 2
+add esi, ebx
+shl esi, 2
+mov ax, word [esi + ref_0048c434] ; mov ax, word [esi + 0x48c434]
+test ax, ax
+je short loc_0043c5cf ; je 0x43c5cf
+xor edx, edx
+mov dx, ax
+lea eax, [edx - 1]
+imul eax, eax, 0x68
+test byte [eax + ref_00496b7d], 6 ; test byte [eax + 0x496b7d], 6
+je short loc_0043c624 ; je 0x43c624
+cmp word [esi + ref_0048c436], 0 ; cmp word [esi + 0x48c436], 0
+jne short loc_0043c624 ; jne 0x43c624
+mov eax, dword [esp + 0xb0]
+push eax
+push edx
+call fcn_00439f0d ; call 0x439f0d
+add esp, 8
+mov dword [esi + ref_0048c438], eax ; mov dword [esi + 0x48c438], eax
+
+loc_0043c624:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+cmp word [eax + ref_0048c436], 0 ; cmp word [eax + 0x48c436], 0
+je near loc_0043c4f5 ; je 0x43c4f5
+mov esi, dword [esp + 0x8c]
+add esi, 0xe
+mov dx, word [eax + ref_0048c436] ; mov dx, word [eax + 0x48c436]
+cmp dx, 8
+je near loc_0043c43c ; je 0x43c43c
+mov eax, edx
+and eax, 0xffff
+mov edx, dword [eax*4 + ref_00475b34] ; mov edx, dword [eax*4 + 0x475b34]
+push edx
+lea eax, [esp + 4]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+push 2
+push esi
+push 0x24e
+jmp near loc_0043c46d ; jmp 0x43c46d
+
+loc_0043c680:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0x101010
+push 0
+push 0
+push 0x3c
+push 0x19a
+mov eax, dword [ref_0048c49c] ; mov eax, dword [0x48c49c]
+add eax, 0x24
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+push ref_00475bba ; push 0x475bba
+call fcn_00454176 ; call 0x454176
+add esp, 4
+cmp dword [esp + 0xb4], 0
+je short loc_0043c6db ; je 0x43c6db
+push 5
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+mov dword [esp + 0x84], eax
+
+loc_0043c6db:
+push edi
+push fcn_0043a2dd ; push 0x43a2dd
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov dword [esp + 0x8c], eax
+cmp dword [esp + 0xb4], 0
+je short loc_0043c709 ; je 0x43c709
+cmp dword [esp + 0x84], 0
+je short loc_0043c709 ; je 0x43c709
+call fcn_00454bcc ; call 0x454bcc
+
+loc_0043c709:
+push ref_00475bba ; push 0x475bba
+call fcn_00454240 ; call 0x454240
+add esp, 4
+mov esi, dword [esp + 0x8c]
+cmp esi, 0xffffffff
+je near loc_0043c868 ; je 0x43c868
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov ax, word [eax*4 + ref_0048c434] ; mov ax, word [eax*4 + 0x48c434]
+and eax, 0xffff
+mov dword [esp + 0x8c], eax
+cmp dword [ref_0048c490], 0 ; cmp dword [0x48c490], 0
+jne short loc_0043c751 ; jne 0x43c751
+mov eax, dword [ref_0048c48c] ; mov eax, dword [0x48c48c]
+jmp short loc_0043c756 ; jmp 0x43c756
+
+loc_0043c751:
+mov eax, dword [ref_0048c498] ; mov eax, dword [0x48c498]
+
+loc_0043c756:
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+movsx edx, word [eax]
+movsx eax, word [eax + 2]
+push 4
+push eax
+push edx
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x3e8
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+cmp ebx, dword [esp + 0x8c]
+je near loc_0043c83b ; je 0x43c83b
+mov eax, dword [ref_00499110] ; mov eax, dword [0x499110]
+shl eax, 2
+cmp dword [ref_0048c490], 0 ; cmp dword [0x48c490], 0
+jne short loc_0043c7d3 ; jne 0x43c7d3
+cmp dword [ref_00499110], 0 ; cmp dword [0x499110], 0
+je short loc_0043c7cc ; je 0x43c7cc
+mov edx, dword [ref_0048c48c] ; mov edx, dword [0x48c48c]
+cmp byte [edx + 0x19], 0
+jne short loc_0043c7cc ; jne 0x43c7cc
+mov ebp, dword [eax + ref_004751f0] ; mov ebp, dword [eax + 0x4751f0]
+push ebp
+mov eax, dword [ref_00497160] ; mov eax, dword [0x497160]
+push eax
+call fcn_004521cb ; call 0x4521cb
+add esp, 8
+mov edx, dword [ref_0048c48c] ; mov edx, dword [0x48c48c]
+mov dword [edx + 0x30], eax
+
+loc_0043c7cc:
+mov eax, dword [ref_0048c48c] ; mov eax, dword [0x48c48c]
+jmp short loc_0043c80c ; jmp 0x43c80c
+
+loc_0043c7d3:
+cmp dword [ref_00499110], 0 ; cmp dword [0x499110], 0
+je short loc_0043c807 ; je 0x43c807
+mov edx, dword [ref_0048c498] ; mov edx, dword [0x48c498]
+cmp byte [edx + 0x19], 0
+jne short loc_0043c807 ; jne 0x43c807
+mov ebx, dword [eax + ref_004751f0] ; mov ebx, dword [eax + 0x4751f0]
+push ebx
+mov esi, dword [ref_00497160] ; mov esi, dword [0x497160]
+push esi
+call fcn_004521cb ; call 0x4521cb
+add esp, 8
+mov edx, dword [ref_0048c498] ; mov edx, dword [0x48c498]
+mov dword [edx + 0x34], eax
+
+loc_0043c807:
+mov eax, dword [ref_0048c498] ; mov eax, dword [0x48c498]
+
+loc_0043c80c:
+mov dl, byte [esp + 0x8c]
+mov byte [eax + 0x19], dl
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x3e8
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+
+loc_0043c83b:
+push 0
+mov edx, dword [ref_0048c488] ; mov edx, dword [0x48c488]
+push edx
+mov ecx, dword [esp + 0xb4]
+push ecx
+mov eax, dword [esp + 0x98]
+dec eax
+push eax
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+mov dword [esp + 0x88], 1
+
+loc_0043c868:
+mov esi, dword [ref_0048c49c] ; mov esi, dword [0x48c49c]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+jmp short loc_0043c881 ; jmp 0x43c881
+
+loc_0043c87b:
+inc ebx
+cmp ebx, 4
+jge short loc_0043c8da ; jge 0x43c8da
+
+loc_0043c881:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+mov edi, dword [eax + ref_0048c43c] ; mov edi, dword [eax + 0x48c43c]
+test edi, edi
+je short loc_0043c89e ; je 0x43c89e
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0043c89e:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+mov edx, dword [eax + ref_0048c440] ; mov edx, dword [eax + 0x48c440]
+test edx, edx
+je short loc_0043c8bb ; je 0x43c8bb
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0043c8bb:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 2
+mov esi, dword [eax + ref_0048c444] ; mov esi, dword [eax + 0x48c444]
+test esi, esi
+je short loc_0043c87b ; je 0x43c87b
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp short loc_0043c87b ; jmp 0x43c87b
+
+loc_0043c8da:
+mov ebp, dword [ref_0048c484] ; mov ebp, dword [0x48c484]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [esp + 0x88]
+add esp, 0x98
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043c8fb:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+xor ebx, ebx
+jmp short loc_0043c9a1 ; jmp 0x43c9a1
+
+loc_0043c938:
+mov ebp, dword [eax + ref_00475c08] ; mov ebp, dword [eax + 0x475c08]
+push ebp
+mov edx, dword [eax + ref_00475c04] ; mov edx, dword [eax + 0x475c04]
+push edx
+lea edx, [ebx + 0xd]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+
+loc_0043c967:
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov edx, dword [ebx*8 + ref_00475c08] ; mov edx, dword [ebx*8 + 0x475c08]
+push edx
+mov ecx, dword [ebx*8 + ref_00475c04] ; mov ecx, dword [ebx*8 + 0x475c04]
+push ecx
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0x30
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+
+loc_0043c98f:
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+inc ebx
+cmp ebx, 8
+jge near loc_0043ca19 ; jge 0x43ca19
+
+loc_0043c9a1:
+mov eax, ebx
+shl eax, 3
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_0043c9f6 ; je 0x43c9f6
+cmp ebx, 4
+jge short loc_0043c938 ; jge 0x43c938
+mov esi, dword [eax + ref_00475c08] ; mov esi, dword [eax + 0x475c08]
+push esi
+mov edi, dword [eax + ref_00475c04] ; mov edi, dword [eax + 0x475c04]
+push edi
+imul eax, ebx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+lea edx, [eax + 5]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+jmp near loc_0043c967 ; jmp 0x43c967
+
+loc_0043c9f6:
+mov ecx, dword [eax + ref_00475c08] ; mov ecx, dword [eax + 0x475c08]
+push ecx
+mov esi, dword [eax + ref_00475c04] ; mov esi, dword [eax + 0x475c04]
+push esi
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0x3c
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+jmp near loc_0043c98f ; jmp 0x43c98f
+
+loc_0043ca19:
+push 0x1b0
+push 0x21e
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0x108
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ax, word [eax + ref_00496b98] ; mov ax, word [eax + 0x496b98]
+and eax, 0xffff
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 6
+push 0x1c4
+push 0x26e
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043caab:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x7c
+mov edi, dword [esp + 0x90]
+mov eax, dword [esp + 0x94]
+mov edx, dword [esp + 0x9c]
+cmp eax, 0x200
+jb short loc_0043cb0d ; jb 0x43cb0d
+mov ebx, edx
+shr ebx, 0x10
+and ebx, 0xffff
+cmp eax, 0x200
+jbe near loc_0043cbf5 ; jbe 0x43cbf5
+cmp eax, 0x205
+jb short loc_0043cafd ; jb 0x43cafd
+jbe near loc_0043d266 ; jbe 0x43d266
+cmp eax, 0x401
+je short loc_0043cb28 ; je 0x43cb28
+jmp near loc_0043d2ed ; jmp 0x43d2ed
+
+loc_0043cafd:
+cmp eax, 0x202
+je near loc_0043cef6 ; je 0x43cef6
+jmp near loc_0043d2ed ; jmp 0x43d2ed
+
+loc_0043cb0d:
+cmp eax, 0xf
+jb near loc_0043d2ed ; jb 0x43d2ed
+jbe near loc_0043d295 ; jbe 0x43d295
+cmp eax, 0x113
+je short loc_0043cb73 ; je 0x43cb73
+jmp near loc_0043d2ed ; jmp 0x43d2ed
+
+loc_0043cb28:
+mov dword [ref_0048c4c4], 0xffffffff ; mov dword [0x48c4c4], 0xffffffff
+xor ah, ah
+mov byte [ref_0048c4c8], ah ; mov byte [0x48c4c8], ah
+mov byte [ref_0048c4c9], ah ; mov byte [0x48c4c9], ah
+push 0
+push 0x64
+mov ecx, dword [ref_0046cad8] ; mov ecx, dword [0x46cad8]
+push ecx
+push edi
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c4c0], eax ; mov dword [0x48c4c0], eax
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043cbe9 ; jmp 0x43cbe9
+
+loc_0043cb73:
+cmp byte [ref_0048c4c8], 0 ; cmp byte [0x48c4c8], 0
+je near loc_0043cbe9 ; je 0x43cbe9
+push 0
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_0043cbe9 ; je 0x43cbe9
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je near loc_0043cbe9 ; je 0x43cbe9
+mov eax, dword [esp + 0x98]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne near loc_0043cbe9 ; jne 0x43cbe9
+xor dl, dl
+mov byte [ref_0048c4c8], dl ; mov byte [0x48c4c8], dl
+call fcn_0043c8fb ; call 0x43c8fb
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+cmp byte [ref_0048c4c9], 0 ; cmp byte [0x48c4c9], 0
+je near loc_0043cbe9 ; je 0x43cbe9
+push 0
+push 0
+push 0x205
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0043cbe9:
+xor eax, eax
+
+loc_0043cbeb:
+add esp, 0x7c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_0043cbf5:
+cmp byte [ref_0048c4c8], 0 ; cmp byte [0x48c4c8], 0
+jne short loc_0043cbe9 ; jne 0x43cbe9
+xor eax, eax
+mov ax, dx
+mov dword [esp + 0x78], eax
+movzx ebp, bx
+xor ebx, ebx
+mov ecx, dword [esp + 0x78]
+jmp short loc_0043cc1c ; jmp 0x43cc1c
+
+loc_0043cc12:
+inc ebx
+cmp ebx, 8
+jge near loc_0043ce40 ; jge 0x43ce40
+
+loc_0043cc1c:
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_0043cc12 ; je 0x43cc12
+mov eax, ebx
+shl eax, 3
+mov edx, dword [esp + 0x78]
+mov esi, dword [eax + ref_00475c04] ; mov esi, dword [eax + 0x475c04]
+cmp edx, esi
+jl short loc_0043cc12 ; jl 0x43cc12
+lea edx, [esi + 0x79]
+cmp edx, ecx
+jl short loc_0043cc12 ; jl 0x43cc12
+mov esi, dword [eax + ref_00475c08] ; mov esi, dword [eax + 0x475c08]
+cmp ebp, esi
+jl short loc_0043cc12 ; jl 0x43cc12
+lea eax, [esi + 0x89]
+cmp ebp, eax
+jg short loc_0043cc12 ; jg 0x43cc12
+cmp ebx, dword [ref_0048c4c4] ; cmp ebx, dword [0x48c4c4]
+je near loc_0043ce40 ; je 0x43ce40
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov eax, dword [ref_0048c4c4] ; mov eax, dword [0x48c4c4]
+cmp eax, 0xffffffff
+je short loc_0043ccf4 ; je 0x43ccf4
+mov edx, eax
+mov eax, dword [eax*8 + ref_00475c04] ; mov eax, dword [eax*8 + 0x475c04]
+add eax, 0x14
+mov dword [esp + 0x68], eax
+mov eax, dword [edx*8 + ref_00475c08] ; mov eax, dword [edx*8 + 0x475c08]
+add eax, 0x78
+mov dword [esp + 0x6c], eax
+mov eax, dword [edx*8 + ref_00475c04] ; mov eax, dword [edx*8 + 0x475c04]
+add eax, 0x78
+mov dword [esp + 0x70], eax
+mov eax, dword [edx*8 + ref_00475c08] ; mov eax, dword [edx*8 + 0x475c08]
+add eax, 0xd7
+mov dword [esp + 0x74], eax
+mov edx, dword [esp + 0x6c]
+push edx
+mov ecx, dword [esp + 0x6c]
+push ecx
+mov esi, dword [ref_0048c4b8] ; mov esi, dword [0x48c4b8]
+push esi
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043ccf4:
+mov dword [ref_0048c4c4], ebx ; mov dword [0x48c4c4], ebx
+mov eax, dword [ebx*8 + ref_00475c04] ; mov eax, dword [ebx*8 + 0x475c04]
+add eax, 0x14
+mov dword [esp + 0x68], eax
+mov eax, dword [ebx*8 + ref_00475c08] ; mov eax, dword [ebx*8 + 0x475c08]
+add eax, 0x78
+mov dword [esp + 0x6c], eax
+mov eax, dword [ebx*8 + ref_00475c04] ; mov eax, dword [ebx*8 + 0x475c04]
+add eax, 0x78
+mov dword [esp + 0x70], eax
+mov eax, dword [ebx*8 + ref_00475c08] ; mov eax, dword [ebx*8 + 0x475c08]
+add eax, 0xd7
+mov dword [esp + 0x74], eax
+push 0x5f
+push 0x64
+mov eax, dword [esp + 0x74]
+push eax
+mov edx, dword [esp + 0x74]
+push edx
+mov ecx, dword [ref_0048c4b8] ; mov ecx, dword [0x48c4b8]
+push ecx
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov esi, dword [esp + 0x6c]
+push esi
+mov ebp, dword [esp + 0x6c]
+push ebp
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [esp + 0x68]
+add eax, 0x39
+mov edx, dword [esp + 0x6c]
+add edx, 0x1a
+cmp ebx, 4
+jge short loc_0043cdaf ; jge 0x43cdaf
+push 2
+push edx
+push eax
+imul eax, ebx, 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+jmp short loc_0043cdbb ; jmp 0x43cdbb
+
+loc_0043cdaf:
+push 2
+push edx
+push eax
+mov edx, dword [ebx*4 + ref_0047ed5a] ; mov edx, dword [ebx*4 + 0x47ed5a]
+push edx
+
+loc_0043cdbb:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+mov eax, dword [esp + 0x70]
+add eax, 0x30
+push eax
+mov eax, dword [esp + 0x70]
+add eax, 0x39
+push eax
+push ref_00465140 ; push 0x465140
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov esi, dword [ebx*4 + ref_00475c44] ; mov esi, dword [ebx*4 + 0x475c44]
+push esi
+push ref_00465149 ; push 0x465149
+lea eax, [esp + 0x48]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 2
+mov eax, dword [esp + 0x70]
+add eax, 0x46
+push eax
+mov eax, dword [esp + 0x70]
+add eax, 0x39
+push eax
+lea eax, [esp + 0x4c]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043ce40:
+cmp ebx, 8
+jne near loc_0043cbe9 ; jne 0x43cbe9
+mov ebp, dword [ref_0048c4c4] ; mov ebp, dword [0x48c4c4]
+cmp ebp, 0xffffffff
+je near loc_0043cbe9 ; je 0x43cbe9
+mov eax, dword [ebp*8 + ref_00475c04] ; mov eax, dword [ebp*8 + 0x475c04]
+add eax, 0x14
+mov dword [esp + 0x68], eax
+mov eax, dword [ebp*8 + ref_00475c08] ; mov eax, dword [ebp*8 + 0x475c08]
+add eax, 0x78
+mov dword [esp + 0x6c], eax
+mov eax, dword [ebp*8 + ref_00475c04] ; mov eax, dword [ebp*8 + 0x475c04]
+add eax, 0x78
+mov dword [esp + 0x70], eax
+mov eax, dword [ebp*8 + ref_00475c08] ; mov eax, dword [ebp*8 + 0x475c08]
+add eax, 0xd7
+mov dword [esp + 0x74], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x6c]
+push eax
+mov edx, dword [esp + 0x6c]
+push edx
+mov ecx, dword [ref_0048c4b8] ; mov ecx, dword [0x48c4b8]
+push ecx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov dword [ref_0048c4c4], 0xffffffff ; mov dword [0x48c4c4], 0xffffffff
+jmp near loc_0043cbe9 ; jmp 0x43cbe9
+
+loc_0043cef6:
+cmp byte [ref_0048c4c8], 0 ; cmp byte [0x48c4c8], 0
+je short loc_0043cf0e ; je 0x43cf0e
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+
+loc_0043cf06:
+add esp, 4
+jmp near loc_0043cbe9 ; jmp 0x43cbe9
+
+loc_0043cf0e:
+xor eax, eax
+mov ax, dx
+mov dword [esp + 0x78], eax
+movzx ebp, bx
+xor ebx, ebx
+jmp near loc_0043cfdb ; jmp 0x43cfdb
+
+loc_0043cf21:
+imul eax, ebx, 0x68
+mov al, byte [eax + ref_00496b9c] ; mov al, byte [eax + 0x496b9c]
+and al, 0x7f
+and eax, 0xff
+jne short loc_0043cf38 ; jne 0x43cf38
+mov eax, 1
+
+loc_0043cf38:
+imul eax, eax, 0x64
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+neg eax
+push eax
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+push ebx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+push 0
+push 0
+push 0x205
+push edi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+imul eax, ebx, 0x68
+mov byte [eax + ref_00496b9c], 0x80 ; mov byte [eax + 0x496b9c], 0x80
+xor dh, dh
+mov byte [ebx + ref_00496b30], dh ; mov byte [ebx + 0x496b30], dh
+
+loc_0043cf78:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dx, word [ebx*4 + ref_00475c44] ; mov dx, word [ebx*4 + 0x475c44]
+sub word [eax + ref_00496b98], dx ; sub word [eax + 0x496b98], dx
+mov byte [ref_0048c4c9], 1 ; mov byte [0x48c4c9], 1
+jmp short loc_0043cfd1 ; jmp 0x43cfd1
+
+loc_0043cf97:
+push 0
+push 0x101010
+push 0xfffffffffffffffa
+push 0
+push 0x12c
+push 0xe6
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0x18
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+push ref_0046514e ; push 0x46514e
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c4c8], 1 ; mov byte [0x48c4c8], 1
+
+loc_0043cfd1:
+inc ebx
+cmp ebx, 8
+jge near loc_0043cbe9 ; jge 0x43cbe9
+
+loc_0043cfdb:
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_0043cfd1 ; je 0x43cfd1
+mov eax, ebx
+shl eax, 3
+mov edx, dword [esp + 0x78]
+mov ecx, dword [eax + ref_00475c04] ; mov ecx, dword [eax + 0x475c04]
+cmp edx, ecx
+jl short loc_0043cfd1 ; jl 0x43cfd1
+lea edx, [ecx + 0x79]
+cmp edx, dword [esp + 0x78]
+jl short loc_0043cfd1 ; jl 0x43cfd1
+mov edx, dword [eax + ref_00475c08] ; mov edx, dword [eax + 0x475c08]
+cmp ebp, edx
+jl short loc_0043cfd1 ; jl 0x43cfd1
+lea eax, [edx + 0x89]
+cmp ebp, eax
+jg short loc_0043cfd1 ; jg 0x43cfd1
+mov ecx, dword [ref_0048c4c4] ; mov ecx, dword [0x48c4c4]
+cmp ecx, 0xffffffff
+je near loc_0043d0bc ; je 0x43d0bc
+mov eax, dword [ecx*8 + ref_00475c04] ; mov eax, dword [ecx*8 + 0x475c04]
+add eax, 0x14
+mov dword [esp + 0x68], eax
+mov eax, dword [ecx*8 + ref_00475c08] ; mov eax, dword [ecx*8 + 0x475c08]
+add eax, 0x78
+mov dword [esp + 0x6c], eax
+mov eax, dword [ecx*8 + ref_00475c04] ; mov eax, dword [ecx*8 + 0x475c04]
+add eax, 0x78
+mov dword [esp + 0x70], eax
+mov eax, dword [ecx*8 + ref_00475c08] ; mov eax, dword [ecx*8 + 0x475c08]
+add eax, 0xd7
+mov dword [esp + 0x74], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, dword [esp + 0x6c]
+push esi
+mov eax, dword [esp + 0x6c]
+push eax
+mov edx, dword [ref_0048c4b8] ; mov edx, dword [0x48c4b8]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov dword [ref_0048c4c4], 0xffffffff ; mov dword [0x48c4c4], 0xffffffff
+
+loc_0043d0bc:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ax, word [eax + ref_00496b98] ; mov ax, word [eax + 0x496b98]
+and eax, 0xffff
+mov esi, ebx
+shl esi, 2
+cmp eax, dword [esi + ref_00475c44] ; cmp eax, dword [esi + 0x475c44]
+jl near loc_0043cf97 ; jl 0x43cf97
+push 0xf0
+push 0x140
+call fcn_00453a32 ; call 0x453a32
+add esp, 8
+cmp eax, 1
+jne near loc_0043cfd1 ; jne 0x43cfd1
+mov eax, dword [ebx*8 + ref_00475c04] ; mov eax, dword [ebx*8 + 0x475c04]
+mov dword [esp + 0x68], eax
+mov eax, dword [ebx*8 + ref_00475c08] ; mov eax, dword [ebx*8 + 0x475c08]
+mov dword [esp + 0x6c], eax
+mov eax, dword [esp + 0x68]
+add eax, 0x8c
+mov dword [esp + 0x70], eax
+mov eax, dword [esp + 0x6c]
+add eax, 0x89
+mov dword [esp + 0x74], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x89
+push 0x8c
+mov eax, dword [esp + 0x74]
+push eax
+mov edx, dword [esp + 0x74]
+push edx
+push eax
+push edx
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov ecx, dword [esp + 0x6c]
+push ecx
+mov eax, dword [esp + 0x6c]
+push eax
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0x3c
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+cmp ebx, 4
+jl near loc_0043cf21 ; jl 0x43cf21
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x1c2
+push 0x16d
+lea edx, [ebx - 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c4bc] ; mov edx, dword [0x48c4bc]
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0x101010
+push 0xfffffffffffffffa
+push 0
+push 0x96
+push 0xd2
+mov eax, dword [ref_0048c4b4] ; mov eax, dword [0x48c4b4]
+add eax, 0x18
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+mov edx, dword [esi + ref_00475be4] ; mov edx, dword [esi + 0x475be4]
+push edx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+mov byte [ref_0048c4c8], 1 ; mov byte [0x48c4c8], 1
+push ebx
+call fcn_0043d7bf ; call 0x43d7bf
+add esp, 4
+jmp near loc_0043cf78 ; jmp 0x43cf78
+
+loc_0043d266:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048c4c0] ; mov ebx, dword [0x48c4c0]
+push ebx
+push edi
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_0043cf06 ; jmp 0x43cf06
+
+loc_0043d295:
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0xc]
+push ebx
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+mov ecx, dword [esp + 0x18]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0043cbe9 ; jmp 0x43cbe9
+
+loc_0043d2ed:
+push edx
+mov esi, dword [esp + 0x9c]
+push esi
+push eax
+push edi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0043cbeb ; jmp 0x43cbeb
+
+fcn_0043d304:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x9c
+xor ebx, ebx
+jmp short loc_0043d318 ; jmp 0x43d318
+
+loc_0043d312:
+inc ebx
+cmp ebx, 8
+jge short loc_0043d321 ; jge 0x43d321
+
+loc_0043d318:
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_0043d312 ; je 0x43d312
+
+loc_0043d321:
+cmp ebx, 8
+je near loc_0043d588 ; je 0x43d588
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_0043d3d8 ; jne 0x43d3d8
+push 0
+push 0
+push 0x3f
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c4b4], eax ; mov dword [0x48c4b4], eax
+push 0
+push 0
+push 0x40
+mov esi, dword [ref_0048a05c] ; mov esi, dword [0x48a05c]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c4bc], eax ; mov dword [0x48c4bc], eax
+push 0
+push 0
+push 0x5f
+push 0x64
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c4b8], eax ; mov dword [0x48c4b8], eax
+call fcn_0043c8fb ; call 0x43c8fb
+push 0xf
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_0043caab ; push 0x43caab
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+mov edi, dword [ref_0048c4b4] ; mov edi, dword [0x48c4b4]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048c4bc] ; mov ebp, dword [0x48c4bc]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048c4b8] ; mov eax, dword [0x48c4b8]
+push eax
+call fcn_00456e11 ; call 0x456e11
+jmp near loc_0043d585 ; jmp 0x43d585
+
+loc_0043d3d8:
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je near loc_0043d588 ; je 0x43d588
+xor esi, esi
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov dl, byte [edx + ref_00496b7f] ; mov dl, byte [edx + 0x496b7f]
+cmp dl, 1
+jb short loc_0043d409 ; jb 0x43d409
+jbe short loc_0043d432 ; jbe 0x43d432
+cmp dl, 2
+je near loc_0043d484 ; je 0x43d484
+jmp near loc_0043d4a4 ; jmp 0x43d4a4
+
+loc_0043d409:
+test dl, dl
+jne near loc_0043d4a4 ; jne 0x43d4a4
+xor ebx, ebx
+jmp short loc_0043d41f ; jmp 0x43d41f
+
+loc_0043d415:
+inc ebx
+cmp ebx, 4
+jge near loc_0043d4a4 ; jge 0x43d4a4
+
+loc_0043d41f:
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_0043d415 ; je 0x43d415
+mov byte [esp + esi + 0x94], bl
+inc esi
+jmp short loc_0043d415 ; jmp 0x43d415
+
+loc_0043d432:
+xor ebx, ebx
+jmp short loc_0043d43c ; jmp 0x43d43c
+
+loc_0043d436:
+inc ebx
+cmp ebx, 4
+jge short loc_0043d44f ; jge 0x43d44f
+
+loc_0043d43c:
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_0043d436 ; je 0x43d436
+mov byte [esp + esi + 0x94], bl
+inc esi
+jmp short loc_0043d436 ; jmp 0x43d436
+
+loc_0043d44f:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 3
+sar edx, 0x1f
+idiv ebx
+test edx, edx
+jne short loc_0043d4a4 ; jne 0x43d4a4
+mov ebx, 4
+jmp short loc_0043d471 ; jmp 0x43d471
+
+loc_0043d46b:
+inc ebx
+cmp ebx, 8
+jge short loc_0043d4a4 ; jge 0x43d4a4
+
+loc_0043d471:
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_0043d46b ; je 0x43d46b
+mov byte [esp + esi + 0x94], bl
+inc esi
+jmp short loc_0043d46b ; jmp 0x43d46b
+
+loc_0043d484:
+mov ebx, 4
+jmp short loc_0043d491 ; jmp 0x43d491
+
+loc_0043d48b:
+inc ebx
+cmp ebx, 8
+jge short loc_0043d4a4 ; jge 0x43d4a4
+
+loc_0043d491:
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_0043d48b ; je 0x43d48b
+mov byte [esp + esi + 0x94], bl
+inc esi
+jmp short loc_0043d48b ; jmp 0x43d48b
+
+loc_0043d4a4:
+test esi, esi
+je near loc_0043d588 ; je 0x43d588
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+xor ebx, ebx
+mov bl, byte [esp + edx + 0x94]
+mov esi, dword [ebx*4 + ref_00475c44] ; mov esi, dword [ebx*4 + 0x475c44]
+cmp ebx, 4
+jge short loc_0043d4e4 ; jge 0x43d4e4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ax, word [eax + ref_00496b98] ; mov ax, word [eax + 0x496b98]
+and eax, 0xffff
+cmp eax, esi
+jg short loc_0043d503 ; jg 0x43d503
+
+loc_0043d4e4:
+cmp ebx, 4
+jl near loc_0043d588 ; jl 0x43d588
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp word [eax + ref_00496b98], 0x2bc ; cmp word [eax + 0x496b98], 0x2bc
+jb near loc_0043d588 ; jb 0x43d588
+
+loc_0043d503:
+cmp ebx, 4
+jge short loc_0043d514 ; jge 0x43d514
+imul edx, ebx, 0x68
+mov ebp, dword [edx + ref_00496b68] ; mov ebp, dword [edx + 0x496b68]
+push ebp
+jmp short loc_0043d51c ; jmp 0x43d51c
+
+loc_0043d514:
+mov edi, dword [ebx*4 + ref_0047ed5a] ; mov edi, dword [ebx*4 + 0x47ed5a]
+push edi
+
+loc_0043d51c:
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_00465169 ; push 0x465169
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+sub word [edx + ref_00496b98], si ; sub word [edx + 0x496b98], si
+cmp ebx, 4
+jge short loc_0043d57f ; jge 0x43d57f
+imul edx, ebx, 0x68
+mov byte [edx + ref_00496b9c], 0x80 ; mov byte [edx + 0x496b9c], 0x80
+xor dl, dl
+mov byte [ebx + ref_00496b30], dl ; mov byte [ebx + 0x496b30], dl
+jmp short loc_0043d588 ; jmp 0x43d588
+
+loc_0043d57f:
+push ebx
+call fcn_0043d7bf ; call 0x43d7bf
+
+loc_0043d585:
+add esp, 4
+
+loc_0043d588:
+add esp, 0x9c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043d593:
+push ebx
+push esi
+push edi
+push ebp
+mov cl, byte [esp + 0x14]
+mov edi, 0x100
+shl edi, cl
+not edi
+mov edx, dword [esp + 0x14]
+cmp edx, 4
+jge near loc_0043d760 ; jge 0x43d760
+push 0
+mov eax, edx
+imul ebx, edx, 0x68
+xor eax, edx
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov dh, byte [ebx + ref_00496b9c] ; mov dh, byte [ebx + 0x496b9c]
+test dh, dh
+jne near loc_0043d6bd ; jne 0x43d6bd
+mov edx, dword [esp + 0x14]
+push edx
+call fcn_0040d761 ; call 0x40d761
+add esp, 4
+mov ecx, dword [esp + 0x18]
+push ecx
+mov esi, dword [esp + 0x18]
+push esi
+call fcn_0044f2c2 ; call 0x44f2c2
+add esp, 8
+and byte [ebx + ref_00496b7d], 0xf ; and byte [ebx + 0x496b7d], 0xf
+xor eax, eax
+mov ax, word [ebx + ref_00496b74] ; mov ax, word [ebx + 0x496b74]
+mov esi, eax
+shl esi, 2
+add esi, eax
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+and dword [eax + esi*8 + 0x24], edi
+mov ax, word [ref_0048bae0] ; mov ax, word [0x48bae0]
+mov word [ebx + ref_00496b74], ax ; mov word [ebx + 0x496b74], ax
+xor edx, edx
+mov word [ebx + ref_00496b76], dx ; mov word [ebx + 0x496b76], dx
+mov byte [ebx + ref_00496b83], 0xf ; mov byte [ebx + 0x496b83], 0xf
+mov eax, dword [ref_00498e78] ; mov eax, dword [0x498e78]
+mov si, word [eax + 0x38]
+mov word [ebx + ref_00496b70], si ; mov word [ebx + 0x496b70], si
+mov ax, word [eax + 0x3a]
+mov word [ebx + ref_00496b72], ax ; mov word [ebx + 0x496b72], ax
+mov al, byte [esp + 0x18]
+mov byte [ebx + ref_00496b9c], al ; mov byte [ebx + 0x496b9c], al
+mov eax, dword [esp + 0x14]
+push eax
+call fcn_0040fc00 ; call 0x40fc00
+add esp, 4
+mov eax, dword [esp + 0x14]
+mov byte [eax + ref_00496b30], 1 ; mov byte [eax + 0x496b30], 1
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0043d6d6 ; je 0x43d6d6
+push 0
+push 0
+push 0x21a
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x5e
+push 0x120001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp short loc_0043d6d6 ; jmp 0x43d6d6
+
+loc_0043d6bd:
+mov al, byte [esp + 0x18]
+mov cl, dh
+add cl, al
+mov byte [ebx + ref_00496b9c], cl ; mov byte [ebx + 0x496b9c], cl
+mov ch, cl
+and ch, 0x7f
+mov byte [ebx + ref_00496b9c], ch ; mov byte [ebx + 0x496b9c], ch
+
+loc_0043d6d6:
+push 0
+imul esi, dword [esp + 0x18], 0x68
+xor eax, eax
+mov ax, word [esi + ref_00496b72] ; mov ax, word [esi + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [esi + ref_00496b70] ; mov ax, word [esi + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+xor eax, eax
+mov al, byte [esi + ref_00496b7b] ; mov al, byte [esi + 0x496b7b]
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 2
+mov eax, ebx
+mov edi, dword [eax + ebx*8 + ref_00480896] ; mov edi, dword [eax + ebx*8 + 0x480896]
+push edi
+push 2
+mov ebp, dword [esp + 0x1c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push 0
+mov eax, dword [esp + 0x1c]
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 3
+add ebx, eax
+shl ebx, 4
+mov eax, ebx
+shl ebx, 2
+add ebx, eax
+imul ebx, dword [ref_004990e8] ; imul ebx, dword [0x4990e8]
+push ebx
+push ebp
+call fcn_0044ba63 ; call 0x44ba63
+add esp, 0xc
+mov al, byte [esp + 0x18]
+add byte [esi + ref_00496baa], al ; add byte [esi + 0x496baa], al
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0043d760:
+cmp edx, 8
+jge short loc_0043d7ba ; jge 0x43d7ba
+lea ebx, [edx - 4]
+mov dword [esp + 0x14], ebx
+shl ebx, 4
+xor eax, eax
+mov ax, word [ebx + ref_00498e2c] ; mov ax, word [ebx + 0x498e2c]
+mov esi, eax
+shl esi, 2
+add esi, eax
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+and dword [eax + esi*8 + 0x24], edi
+mov byte [ebx + ref_00498e32], 1 ; mov byte [ebx + 0x498e32], 1
+xor dl, dl
+mov byte [ebx + ref_00498e33], dl ; mov byte [ebx + 0x498e33], dl
+mov byte [ebx + ref_00498e34], dl ; mov byte [ebx + 0x498e34], dl
+mov byte [ebx + ref_00498e35], dl ; mov byte [ebx + 0x498e35], dl
+mov byte [ebx + ref_00498e36], dl ; mov byte [ebx + 0x498e36], dl
+mov byte [ebx + ref_00498e37], dl ; mov byte [ebx + 0x498e37], dl
+mov eax, dword [esp + 0x14]
+mov byte [eax + ref_00496b34], 1 ; mov byte [eax + 0x496b34], 1
+
+loc_0043d7ba:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043d7bf:
+push ebx
+push esi
+mov ebx, dword [esp + 0xc]
+cmp ebx, 4
+jge short loc_0043d7e0 ; jge 0x43d7e0
+push ebx
+call fcn_0040d6be ; call 0x40d6be
+add esp, 4
+xor al, al
+mov byte [ebx + ref_00496b30], al ; mov byte [ebx + 0x496b30], al
+jmp near loc_0043d883 ; jmp 0x43d883
+
+loc_0043d7e0:
+lea eax, [ebx - 4]
+shl eax, 4
+mov dl, byte [ref_0049910c] ; mov dl, byte [0x49910c]
+mov byte [eax + ref_00498e30], dl ; mov byte [eax + 0x498e30], dl
+xor dl, dl
+mov byte [eax + ref_00498e32], dl ; mov byte [eax + 0x498e32], dl
+mov dx, word [ref_0048bae0] ; mov dx, word [0x48bae0]
+mov word [eax + ref_00498e2c], dx ; mov word [eax + 0x498e2c], dx
+xor edx, edx
+mov word [eax + ref_00498e2e], dx ; mov word [eax + 0x498e2e], dx
+xor ecx, ecx
+mov cx, word [eax + ref_00498e2c] ; mov cx, word [eax + 0x498e2c]
+mov edx, ecx
+shl edx, 2
+add edx, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov dx, word [ecx + edx*8]
+mov word [eax + ref_00498e28], dx ; mov word [eax + 0x498e28], dx
+xor esi, esi
+mov si, word [eax + ref_00498e2c] ; mov si, word [eax + 0x498e2c]
+mov edx, esi
+shl edx, 2
+add edx, esi
+mov dx, word [ecx + edx*8 + 2]
+mov word [eax + ref_00498e2a], dx ; mov word [eax + 0x498e2a], dx
+mov byte [eax + ref_00498e33], 1 ; mov byte [eax + 0x498e33], 1
+xor esi, esi
+mov si, word [eax + ref_00498e2c] ; mov si, word [eax + 0x498e2c]
+mov edx, esi
+shl edx, 2
+add edx, esi
+mov edx, dword [ecx + edx*8 + 0x24]
+and edx, 0xff
+cmp edx, 4
+jne short loc_0043d87b ; jne 0x43d87b
+or byte [eax + ref_00498e33], 0x80 ; or byte [eax + 0x498e33], 0x80
+
+loc_0043d87b:
+xor ch, ch
+mov byte [ebx + ref_00496b30], ch ; mov byte [ebx + 0x496b30], ch
+
+loc_0043d883:
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+pop esi
+pop ebx
+ret
+
+fcn_0043d88f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x6e
+push 0x68
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x3c
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor ebx, ebx
+jmp short loc_0043d8f2 ; jmp 0x43d8f2
+
+loc_0043d8e8:
+inc ebx
+cmp ebx, 8
+jge near loc_0043d97d ; jge 0x43d97d
+
+loc_0043d8f2:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_0043d8e8 ; je 0x43d8e8
+mov eax, ebx
+shl eax, 3
+cmp ebx, 4
+jge short loc_0043d94c ; jge 0x43d94c
+mov edx, dword [eax + ref_00475c68] ; mov edx, dword [eax + 0x475c68]
+push edx
+mov ecx, dword [eax + ref_00475c64] ; mov ecx, dword [eax + 0x475c64]
+push ecx
+imul eax, ebx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+lea edx, [eax + 0xe]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+
+loc_0043d942:
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+jmp short loc_0043d8e8 ; jmp 0x43d8e8
+
+loc_0043d94c:
+mov esi, dword [eax + ref_00475c68] ; mov esi, dword [eax + 0x475c68]
+push esi
+mov edi, dword [eax + ref_00475c64] ; mov edi, dword [eax + 0x475c64]
+push edi
+lea edx, [ebx + 0x16]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+jmp short loc_0043d942 ; jmp 0x43d942
+
+loc_0043d97d:
+push 0x1b0
+push 8
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x174
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0xa
+lea eax, [esp + 4]
+push eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ax, word [eax + ref_00496b98] ; mov ax, word [eax + 0x496b98]
+and eax, 0xffff
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+push 6
+push 0x1c4
+push 0x58
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0043da09:
+db 0x8b
+db 0xc0
+
+ref_0043da0b: ; may contain a jump table
+dd loc_0043dba7
+dd loc_0043dbb3
+dd loc_0043df8b
+dd loc_0043dbd6
+dd loc_0043dba7
+dd loc_0043ded8
+dd loc_0043df68
+
+fcn_0043da27:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x78
+mov ebp, dword [esp + 0x8c]
+mov eax, dword [esp + 0x90]
+mov esi, dword [esp + 0x98]
+mov ebx, esi
+shr ebx, 0x10
+and ebx, 0xffff
+cmp eax, 0x202
+jb short loc_0043da84 ; jb 0x43da84
+jbe near loc_0043e658 ; jbe 0x43e658
+cmp eax, 0x401
+jb short loc_0043da74 ; jb 0x43da74
+jbe short loc_0043daaf ; jbe 0x43daaf
+cmp eax, 0x405
+je near loc_0043db41 ; je 0x43db41
+jmp near loc_0043e98d ; jmp 0x43e98d
+
+loc_0043da74:
+cmp eax, 0x205
+je near loc_0043e7c7 ; je 0x43e7c7
+jmp near loc_0043e98d ; jmp 0x43e98d
+
+loc_0043da84:
+cmp eax, 0x113
+jb short loc_0043daa1 ; jb 0x43daa1
+jbe near loc_0043db59 ; jbe 0x43db59
+cmp eax, 0x200
+je near loc_0043e35b ; je 0x43e35b
+jmp near loc_0043e98d ; jmp 0x43e98d
+
+loc_0043daa1:
+cmp eax, 0xf
+je near loc_0043e92f ; je 0x43e92f
+jmp near loc_0043e98d ; jmp 0x43e98d
+
+loc_0043daaf:
+mov byte [ref_0048c4f0], 0xff ; mov byte [0x48c4f0], 0xff
+xor dh, dh
+mov byte [ref_0048c4f1], dh ; mov byte [0x48c4f1], dh
+mov byte [ref_0048c4f2], dh ; mov byte [0x48c4f2], dh
+mov byte [ref_0048c4f3], dh ; mov byte [0x48c4f3], dh
+mov byte [ref_0048c4f4], dh ; mov byte [0x48c4f4], dh
+mov byte [ref_0048c4f6], dh ; mov byte [0x48c4f6], dh
+push 0
+push 0x64
+mov ecx, dword [ref_0046cad8] ; mov ecx, dword [0x46cad8]
+push ecx
+push ebp
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c4ec], eax ; mov dword [0x48c4ec], eax
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0x101010
+push 0
+push 0
+push 8
+push 8
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x24
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0
+push 0x405
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_0043db35:
+xor eax, eax
+
+loc_0043db37:
+add esp, 0x78
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_0043db41:
+mov byte [ref_0048c4f2], 1 ; mov byte [0x48c4f2], 1
+mov edx, dword [ref_00475cc4] ; mov edx, dword [0x475cc4]
+
+loc_0043db4e:
+push edx
+call fcn_0044ecb6 ; call 0x44ecb6
+
+loc_0043db54:
+add esp, 4
+jmp short loc_0043db35 ; jmp 0x43db35
+
+loc_0043db59:
+cmp byte [ref_0048c4f2], 0 ; cmp byte [0x48c4f2], 0
+je short loc_0043db35 ; je 0x43db35
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_0043db35 ; je 0x43db35
+mov eax, dword [esp + 0x94]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne short loc_0043db35 ; jne 0x43db35
+push 0
+call fcn_0044ee18 ; call 0x44ee18
+add esp, 4
+test eax, eax
+je near loc_0043df8b ; je 0x43df8b
+mov al, byte [ref_0048c4f2] ; mov al, byte [0x48c4f2]
+dec al
+cmp al, 6
+ja near loc_0043df8b ; ja 0x43df8b
+and eax, 0xff
+jmp dword [eax*4 + ref_0043da0b] ; ujmp: jmp dword [eax*4 + 0x43da0b]
+
+loc_0043dba7:
+mov byte [ref_0048c4f2], 2 ; mov byte [0x48c4f2], 2
+jmp near loc_0043df8b ; jmp 0x43df8b
+
+loc_0043dbb3:
+cmp byte [ref_0048c4f6], 0 ; cmp byte [0x48c4f6], 0
+je near loc_0043df8b ; je 0x43df8b
+push 0
+push 0
+push 0x205
+push ebp
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_0043df8b ; jmp 0x43df8b
+
+loc_0043dbd6:
+mov byte [ref_0048c4f2], 2 ; mov byte [0x48c4f2], 2
+xor edx, edx
+mov dl, byte [ref_0048c4f5] ; mov dl, byte [0x48c4f5]
+mov eax, dword [edx*8 + ref_00475c64] ; mov eax, dword [edx*8 + 0x475c64]
+mov dword [esp + 0x68], eax
+mov eax, dword [edx*8 + ref_00475c68] ; mov eax, dword [edx*8 + 0x475c68]
+mov dword [esp + 0x6c], eax
+mov eax, dword [esp + 0x68]
+add eax, 0x93
+mov dword [esp + 0x70], eax
+mov eax, dword [esp + 0x6c]
+add eax, 0x66
+mov dword [esp + 0x74], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x66
+push 0x93
+mov ebx, dword [esp + 0x74]
+push ebx
+mov esi, dword [esp + 0x74]
+push esi
+push ebx
+push esi
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov bl, byte [ref_0048c4f5] ; mov bl, byte [0x48c4f5]
+cmp bl, 4
+jb near loc_0043de56 ; jb 0x43de56
+mov byte [ref_0048c4f2], 6 ; mov byte [0x48c4f2], 6
+xor eax, eax
+mov al, bl
+lea edx, [eax - 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, dword [ref_0048c4d0] ; mov edx, dword [0x48c4d0]
+movsx eax, word [edx + eax*4 + 0x10]
+mov edx, 0x1a4
+sub edx, eax
+mov dword [ref_0048c4d8], edx ; mov dword [0x48c4d8], edx
+xor eax, eax
+mov al, bl
+lea edx, [eax - 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, dword [ref_0048c4d0] ; mov edx, dword [0x48c4d0]
+movsx edx, word [edx + eax*4 + 0xc]
+mov eax, dword [ref_0048c4d8] ; mov eax, dword [0x48c4d8]
+add eax, edx
+mov dword [ref_0048c4e0], eax ; mov dword [0x48c4e0], eax
+xor eax, eax
+mov al, bl
+lea edx, [eax - 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c4d0] ; mov eax, dword [0x48c4d0]
+movsx eax, word [edx + eax + 0x12]
+mov edx, 0x1c2
+sub edx, eax
+mov dword [ref_0048c4dc], edx ; mov dword [0x48c4dc], edx
+xor edx, edx
+mov dl, bl
+sub edx, 4
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, dword [ref_0048c4d0] ; mov edx, dword [0x48c4d0]
+movsx eax, word [edx + eax*4 + 0xe]
+mov edx, dword [ref_0048c4dc] ; mov edx, dword [0x48c4dc]
+add eax, edx
+mov dword [ref_0048c4e4], eax ; mov dword [0x48c4e4], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+push 1
+mov edx, ref_0048a068 ; mov edx, 0x48a068
+push edx
+push 0
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+call dword [eax + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+xor eax, eax
+mov al, byte [ref_0048c4f5] ; mov al, byte [0x48c4f5]
+lea edx, [eax - 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, dword [ref_0048c4d0] ; mov edx, dword [0x48c4d0]
+movsx eax, word [edx + eax*4 + 0xe]
+push eax
+xor eax, eax
+mov al, byte [ref_0048c4f5] ; mov al, byte [0x48c4f5]
+lea edx, [eax - 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, dword [ref_0048c4d0] ; mov edx, dword [0x48c4d0]
+movsx eax, word [edx + eax*4 + 0xc]
+push eax
+mov edi, dword [ref_0048c4dc] ; mov edi, dword [0x48c4dc]
+push edi
+mov eax, dword [ref_0048c4d8] ; mov eax, dword [0x48c4d8]
+push eax
+push 0
+mov eax, ref_0046caec ; mov eax, 0x46caec
+push eax
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048c4e8], eax ; mov dword [0x48c4e8], eax
+push 0x1c2
+push 0x1a4
+xor eax, eax
+mov al, byte [ref_0048c4f5] ; mov al, byte [0x48c4f5]
+lea edx, [eax - 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c4d0] ; mov eax, dword [0x48c4d0]
+add eax, 0xc
+add edx, eax
+push edx
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov eax, dword [eax]
+push 0
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+call dword [eax + 0x80] ; ucall
+push 0
+mov eax, ref_0048c4d8 ; mov eax, 0x48c4d8
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+push 0x101010
+push 0xfffffffffffffffa
+push 0
+push 0xc8
+push 0xc8
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x18
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+xor eax, eax
+mov al, byte [ref_0048c4f5] ; mov al, byte [0x48c4f5]
+mov ebx, dword [eax*4 + ref_00475be4] ; mov ebx, dword [eax*4 + 0x475be4]
+push ebx
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+xor eax, eax
+mov al, byte [ref_0048c4f5] ; mov al, byte [0x48c4f5]
+push eax
+call fcn_0043ee6e ; call 0x43ee6e
+add esp, 4
+jmp short loc_0043deae ; jmp 0x43deae
+
+loc_0043de56:
+xor eax, eax
+mov al, bl
+imul eax, eax, 0x68
+mov al, byte [eax + ref_00496b9d] ; mov al, byte [eax + 0x496b9d]
+and al, 0x7f
+and eax, 0xff
+jne short loc_0043de71 ; jne 0x43de71
+mov eax, 1
+
+loc_0043de71:
+imul eax, eax, 0x64
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+neg eax
+push eax
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+xor eax, eax
+mov al, byte [ref_0048c4f5] ; mov al, byte [0x48c4f5]
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+xor eax, eax
+mov al, byte [ref_0048c4f5] ; mov al, byte [0x48c4f5]
+imul edx, eax, 0x68
+mov byte [edx + ref_00496b9d], 0x80 ; mov byte [edx + 0x496b9d], 0x80
+xor cl, cl
+mov byte [eax + ref_00496b60], cl ; mov byte [eax + 0x496b60], cl
+
+loc_0043deae:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [ref_0048c4f5] ; mov dl, byte [0x48c4f5]
+mov dx, word [edx*4 + ref_00475ca4] ; mov dx, word [edx*4 + 0x475ca4]
+sub word [eax + ref_00496b98], dx ; sub word [eax + 0x496b98], dx
+mov byte [ref_0048c4f6], 1 ; mov byte [0x48c4f6], 1
+jmp near loc_0043df8b ; jmp 0x43df8b
+
+loc_0043ded8:
+mov byte [ref_0048c4f2], 2 ; mov byte [0x48c4f2], 2
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, dword [ref_0048c4dc] ; mov esi, dword [0x48c4dc]
+push esi
+mov edi, dword [ref_0048c4d8] ; mov edi, dword [0x48c4d8]
+push edi
+mov eax, dword [ref_0048c4e8] ; mov eax, dword [0x48c4e8]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048c4d8 ; push 0x48c4d8
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov ecx, dword [ref_0048c4e8] ; mov ecx, dword [0x48c4e8]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0
+push 0x101010
+push 0
+push 0
+push 8
+push 8
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x24
+push eax
+call fcn_0044ec30 ; call 0x44ec30
+add esp, 0x1c
+jmp short loc_0043df8b ; jmp 0x43df8b
+
+loc_0043df68:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048c4ec] ; mov ebx, dword [0x48c4ec]
+push ebx
+push ebp
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+
+loc_0043df8b:
+mov al, byte [ref_0048c4f3] ; mov al, byte [0x48c4f3]
+and al, 0xf
+test al, al
+jbe short loc_0043df9f ; jbe 0x43df9f
+cmp al, 1
+je short loc_0043dfbd ; je 0x43dfbd
+jmp near loc_0043e0fb ; jmp 0x43e0fb
+
+loc_0043df9f:
+call fcn_00456f2d ; call 0x456f2d
+mov esi, eax
+sar esi, 0xa
+test esi, esi
+jne near loc_0043e0fb ; jne 0x43e0fb
+or byte [ref_0048c4f3], 1 ; or byte [0x48c4f3], 1
+jmp near loc_0043e0fb ; jmp 0x43e0fb
+
+loc_0043dfbd:
+mov al, byte [ref_0048c4f3] ; mov al, byte [0x48c4f3]
+and al, 0xf0
+movzx esi, al
+sar esi, 4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+cmp byte [ref_0048c4f4], 0 ; cmp byte [0x48c4f4], 0
+jne near loc_0043e07c ; jne 0x43e07c
+mov edi, 0x8b
+mov dword [esp + 0x68], edi
+mov eax, 0x9e
+mov dword [esp + 0x6c], eax
+mov dword [esp + 0x70], 0xb3
+mov dword [esp + 0x74], 0xb4
+cmp esi, 3
+jge short loc_0043e050 ; jge 0x43e050
+push eax
+push edi
+xor edx, edx
+mov dl, byte [esi + ref_00475cd8] ; mov dl, byte [esi + 0x475cd8]
+
+loc_0043e01e:
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0xc
+add eax, edx
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+add byte [ref_0048c4f3], 0x10 ; add byte [0x48c4f3], 0x10
+jmp near loc_0043e0dc ; jmp 0x43e0dc
+
+loc_0043e050:
+push 0x16
+push 0x28
+push 0x30
+push 0x23
+push eax
+push edi
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x3c
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+xor cl, cl
+mov byte [ref_0048c4f3], cl ; mov byte [0x48c4f3], cl
+jmp short loc_0043e0dc ; jmp 0x43e0dc
+
+loc_0043e07c:
+mov edi, 0xa5
+mov dword [esp + 0x68], edi
+mov eax, 0x9e
+mov dword [esp + 0x6c], eax
+mov dword [esp + 0x70], 0xcd
+mov dword [esp + 0x74], 0xb7
+cmp esi, 3
+jge short loc_0043e0b2 ; jge 0x43e0b2
+push eax
+push edi
+xor edx, edx
+mov dl, byte [esi + ref_00475cdb] ; mov dl, byte [esi + 0x475cdb]
+jmp near loc_0043e01e ; jmp 0x43e01e
+
+loc_0043e0b2:
+push 0x19
+push 0x28
+push 0x2e
+push 0x4a
+push eax
+push edi
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x78
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+xor bl, bl
+mov byte [ref_0048c4f3], bl ; mov byte [0x48c4f3], bl
+
+loc_0043e0dc:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043e0fb:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne short loc_0043e111 ; jne 0x43e111
+cmp byte [ref_0048c4f1], 0 ; cmp byte [0x48c4f1], 0
+je near loc_0043db35 ; je 0x43db35
+
+loc_0043e111:
+cmp byte [ref_0048c4f2], 6 ; cmp byte [0x48c4f2], 6
+je near loc_0043db35 ; je 0x43db35
+mov al, byte [ref_0048c4f1] ; mov al, byte [0x48c4f1]
+dec al
+cmp byte [ref_0048c4f4], 0 ; cmp byte [0x48c4f4], 0
+jne near loc_0043e26e ; jne 0x43e26e
+mov dword [esp + 0x68], 0x8b
+mov dword [esp + 0x6c], 0xb4
+mov dword [esp + 0x70], 0xb3
+mov dword [esp + 0x74], 0xc6
+cmp byte [ref_0048c4f1], 0 ; cmp byte [0x48c4f1], 0
+je short loc_0043e1b5 ; je 0x43e1b5
+mov byte [ref_0048c4f1], al ; mov byte [0x48c4f1], al
+test al, al
+jne near loc_0043db35 ; jne 0x43db35
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edi, dword [esp + 0x6c]
+push edi
+mov eax, dword [esp + 0x6c]
+push eax
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x6c
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+
+loc_0043e198:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_0043e25a ; jmp 0x43e25a
+
+loc_0043e1b5:
+call fcn_00456f2d ; call 0x456f2d
+mov esi, eax
+sar esi, 0xb
+cmp esi, 4
+jge near loc_0043db35 ; jge 0x43db35
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_0043e20b ; je 0x43e20b
+mov ecx, dword [esp + 0x6c]
+push ecx
+mov ebx, dword [esp + 0x6c]
+push ebx
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x60
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+jmp short loc_0043e235 ; jmp 0x43e235
+
+loc_0043e20b:
+push 0x12
+push 0x28
+push 0x46
+push 0x23
+mov edi, dword [esp + 0x7c]
+push edi
+mov eax, dword [esp + 0x7c]
+push eax
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x3c
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+
+loc_0043e22d:
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+
+loc_0043e235:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+and al, 7
+mov byte [ref_0048c4f1], al ; mov byte [0x48c4f1], al
+jne short loc_0043e25a ; jne 0x43e25a
+mov byte [ref_0048c4f1], 1 ; mov byte [0x48c4f1], 1
+
+loc_0043e25a:
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043db35 ; jmp 0x43db35
+
+loc_0043e26e:
+mov dword [esp + 0x68], 0xa5
+mov dword [esp + 0x6c], 0xb7
+mov dword [esp + 0x70], 0xcd
+mov dword [esp + 0x74], 0xc6
+cmp byte [ref_0048c4f1], 0 ; cmp byte [0x48c4f1], 0
+je short loc_0043e2da ; je 0x43e2da
+mov byte [ref_0048c4f1], al ; mov byte [0x48c4f1], al
+test al, al
+jne near loc_0043db35 ; jne 0x43db35
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, dword [esp + 0x6c]
+push esi
+mov edi, dword [esp + 0x6c]
+push edi
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0xa8
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+jmp near loc_0043e198 ; jmp 0x43e198
+
+loc_0043e2da:
+call fcn_00456f2d ; call 0x456f2d
+mov esi, eax
+sar esi, 0xb
+cmp esi, 4
+jge near loc_0043db35 ; jge 0x43db35
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_0043e335 ; je 0x43e335
+mov edx, dword [esp + 0x6c]
+push edx
+mov ecx, dword [esp + 0x6c]
+push ecx
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x9c
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+jmp near loc_0043e235 ; jmp 0x43e235
+
+loc_0043e335:
+push 0xf
+push 0x28
+push 0x47
+push 0x4a
+mov esi, dword [esp + 0x7c]
+push esi
+mov edi, dword [esp + 0x7c]
+push edi
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x78
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+jmp near loc_0043e22d ; jmp 0x43e22d
+
+loc_0043e35b:
+call fcn_0044ef3b ; call 0x44ef3b
+test eax, eax
+jne near loc_0043db35 ; jne 0x43db35
+and esi, 0xffff
+xor edi, edi
+mov di, bx
+xor ebx, ebx
+jmp short loc_0043e381 ; jmp 0x43e381
+
+loc_0043e377:
+inc ebx
+cmp ebx, 8
+jge near loc_0043e5a0 ; jge 0x43e5a0
+
+loc_0043e381:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_0043e377 ; je 0x43e377
+mov eax, ebx
+shl eax, 3
+mov ecx, dword [eax + ref_00475c64] ; mov ecx, dword [eax + 0x475c64]
+cmp esi, ecx
+jl short loc_0043e377 ; jl 0x43e377
+lea edx, [ecx + 0x93]
+cmp esi, edx
+jg short loc_0043e377 ; jg 0x43e377
+mov edx, dword [eax + ref_00475c68] ; mov edx, dword [eax + 0x475c68]
+cmp edi, edx
+jl short loc_0043e377 ; jl 0x43e377
+lea eax, [edx + 0x66]
+cmp edi, eax
+jg short loc_0043e377 ; jg 0x43e377
+xor eax, eax
+mov al, byte [ref_0048c4f0] ; mov al, byte [0x48c4f0]
+cmp eax, ebx
+je near loc_0043e5a0 ; je 0x43e5a0
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+cmp byte [ref_0048c4f0], 0xff ; cmp byte [0x48c4f0], 0xff
+je short loc_0043e456 ; je 0x43e456
+xor edx, edx
+mov dl, byte [ref_0048c4f0] ; mov dl, byte [0x48c4f0]
+mov eax, dword [edx*8 + ref_00475c64] ; mov eax, dword [edx*8 + 0x475c64]
+sub eax, 0x50
+mov dword [esp + 0x68], eax
+mov eax, dword [edx*8 + ref_00475c68] ; mov eax, dword [edx*8 + 0x475c68]
+mov dword [esp + 0x6c], eax
+mov eax, dword [ref_0048c4cc] ; mov eax, dword [0x48c4cc]
+movsx edx, word [eax]
+mov ecx, dword [esp + 0x68]
+add ecx, edx
+mov dword [esp + 0x70], ecx
+movsx edx, word [eax + 2]
+mov ecx, dword [esp + 0x6c]
+add ecx, edx
+mov dword [esp + 0x74], ecx
+mov ecx, dword [esp + 0x6c]
+push ecx
+mov esi, dword [esp + 0x6c]
+push esi
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043e456:
+mov byte [ref_0048c4f0], bl ; mov byte [0x48c4f0], bl
+mov eax, dword [ebx*8 + ref_00475c64] ; mov eax, dword [ebx*8 + 0x475c64]
+sub eax, 0x50
+mov dword [esp + 0x68], eax
+mov eax, dword [ebx*8 + ref_00475c68] ; mov eax, dword [ebx*8 + 0x475c68]
+mov dword [esp + 0x6c], eax
+mov eax, dword [ref_0048c4cc] ; mov eax, dword [0x48c4cc]
+movsx edx, word [eax]
+mov ecx, dword [esp + 0x68]
+add ecx, edx
+mov dword [esp + 0x70], ecx
+movsx edx, word [eax + 2]
+mov ecx, dword [esp + 0x6c]
+add ecx, edx
+mov dword [esp + 0x74], ecx
+movsx edx, word [eax + 2]
+push edx
+movsx edx, word [eax]
+push edx
+mov edx, dword [esp + 0x74]
+push edx
+mov ecx, dword [esp + 0x74]
+push ecx
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov esi, dword [esp + 0x6c]
+push esi
+mov edi, dword [esp + 0x6c]
+push edi
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [esp + 0x68]
+add eax, 0x29
+mov edx, dword [esp + 0x6c]
+add edx, 0x1a
+cmp ebx, 4
+jge short loc_0043e50f ; jge 0x43e50f
+push 2
+push edx
+push eax
+imul eax, ebx, 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+jmp short loc_0043e51b ; jmp 0x43e51b
+
+loc_0043e50f:
+push 2
+push edx
+push eax
+mov edx, dword [ebx*4 + ref_0047ed5a] ; mov edx, dword [ebx*4 + 0x47ed5a]
+push edx
+
+loc_0043e51b:
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+mov eax, dword [esp + 0x70]
+add eax, 0x30
+push eax
+mov eax, dword [esp + 0x70]
+add eax, 0x29
+push eax
+push ref_004651f9 ; push 0x4651f9
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov esi, dword [ebx*4 + ref_00475ca4] ; mov esi, dword [ebx*4 + 0x475ca4]
+push esi
+push ref_00465202 ; push 0x465202
+lea eax, [esp + 0x48]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 2
+mov eax, dword [esp + 0x70]
+add eax, 0x46
+push eax
+mov eax, dword [esp + 0x70]
+add eax, 0x29
+push eax
+lea eax, [esp + 0x4c]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043e5a0:
+cmp ebx, 8
+jne near loc_0043db35 ; jne 0x43db35
+cmp byte [ref_0048c4f0], 0xff ; cmp byte [0x48c4f0], 0xff
+je near loc_0043db35 ; je 0x43db35
+xor edx, edx
+mov dl, byte [ref_0048c4f0] ; mov dl, byte [0x48c4f0]
+mov eax, dword [edx*8 + ref_00475c64] ; mov eax, dword [edx*8 + 0x475c64]
+sub eax, 0x50
+mov dword [esp + 0x68], eax
+mov eax, dword [edx*8 + ref_00475c68] ; mov eax, dword [edx*8 + 0x475c68]
+mov dword [esp + 0x6c], eax
+mov eax, dword [ref_0048c4cc] ; mov eax, dword [0x48c4cc]
+movsx edx, word [eax]
+mov ecx, dword [esp + 0x68]
+add ecx, edx
+mov dword [esp + 0x70], ecx
+movsx eax, word [eax + 2]
+mov edx, dword [esp + 0x6c]
+add edx, eax
+mov dword [esp + 0x74], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edi, dword [esp + 0x6c]
+push edi
+mov eax, dword [esp + 0x6c]
+push eax
+mov edx, dword [ref_0048c4cc] ; mov edx, dword [0x48c4cc]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c4f0], 0xff ; mov byte [0x48c4f0], 0xff
+jmp near loc_0043db35 ; jmp 0x43db35
+
+loc_0043e658:
+cmp byte [ref_0048c4f2], 2 ; cmp byte [0x48c4f2], 2
+je short loc_0043e66d ; je 0x43e66d
+
+loc_0043e661:
+push 1
+call fcn_0044ee18 ; call 0x44ee18
+jmp near loc_0043db54 ; jmp 0x43db54
+
+loc_0043e66d:
+and esi, 0xffff
+xor edi, edi
+mov di, bx
+xor ebx, ebx
+jmp short loc_0043e686 ; jmp 0x43e686
+
+loc_0043e67c:
+inc ebx
+cmp ebx, 8
+jge near loc_0043db35 ; jge 0x43db35
+
+loc_0043e686:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_0043e67c ; je 0x43e67c
+mov eax, ebx
+shl eax, 3
+mov ecx, dword [eax + ref_00475c64] ; mov ecx, dword [eax + 0x475c64]
+cmp esi, ecx
+jl short loc_0043e67c ; jl 0x43e67c
+lea edx, [ecx + 0x93]
+cmp esi, edx
+jg short loc_0043e67c ; jg 0x43e67c
+mov edx, dword [eax + ref_00475c68] ; mov edx, dword [eax + 0x475c68]
+cmp edi, edx
+jl short loc_0043e67c ; jl 0x43e67c
+lea eax, [edx + 0x66]
+cmp edi, eax
+jg short loc_0043e67c ; jg 0x43e67c
+cmp byte [ref_0048c4f0], 0xff ; cmp byte [0x48c4f0], 0xff
+je near loc_0043e763 ; je 0x43e763
+xor edx, edx
+mov dl, byte [ref_0048c4f0] ; mov dl, byte [0x48c4f0]
+mov eax, dword [edx*8 + ref_00475c64] ; mov eax, dword [edx*8 + 0x475c64]
+sub eax, 0x50
+mov dword [esp + 0x68], eax
+mov eax, dword [edx*8 + ref_00475c68] ; mov eax, dword [edx*8 + 0x475c68]
+mov dword [esp + 0x6c], eax
+mov eax, dword [ref_0048c4cc] ; mov eax, dword [0x48c4cc]
+movsx edx, word [eax]
+mov ecx, dword [esp + 0x68]
+add ecx, edx
+mov dword [esp + 0x70], ecx
+movsx eax, word [eax + 2]
+mov edx, dword [esp + 0x6c]
+add edx, eax
+mov dword [esp + 0x74], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0x6c]
+push ecx
+mov eax, dword [esp + 0x6c]
+push eax
+mov edx, dword [ref_0048c4cc] ; mov edx, dword [0x48c4cc]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c4f0], 0xff ; mov byte [0x48c4f0], 0xff
+
+loc_0043e763:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b98] ; mov dx, word [eax + 0x496b98]
+cmp edx, dword [ebx*4 + ref_00475ca4] ; cmp edx, dword [ebx*4 + 0x475ca4]
+jl short loc_0043e7b8 ; jl 0x43e7b8
+push 0xf0
+push 0x140
+call fcn_00453a32 ; call 0x453a32
+add esp, 8
+cmp eax, 1
+jne near loc_0043e67c ; jne 0x43e67c
+mov byte [ref_0048c4f5], bl ; mov byte [0x48c4f5], bl
+mov byte [ref_0048c4f2], 4 ; mov byte [0x48c4f2], 4
+mov edx, dword [ref_00475ccc] ; mov edx, dword [0x475ccc]
+push edx
+
+loc_0043e7ab:
+call fcn_0044ecb6 ; call 0x44ecb6
+add esp, 4
+jmp near loc_0043e67c ; jmp 0x43e67c
+
+loc_0043e7b8:
+mov byte [ref_0048c4f2], 5 ; mov byte [0x48c4f2], 5
+mov eax, dword [ref_00475cd4] ; mov eax, dword [0x475cd4]
+push eax
+jmp short loc_0043e7ab ; jmp 0x43e7ab
+
+loc_0043e7c7:
+cmp byte [ref_0048c4f2], 2 ; cmp byte [0x48c4f2], 2
+jne near loc_0043e661 ; jne 0x43e661
+mov ah, byte [ref_0048c4f0] ; mov ah, byte [0x48c4f0]
+cmp ah, 0xff
+je near loc_0043e87b ; je 0x43e87b
+xor edx, edx
+mov dl, ah
+mov eax, dword [edx*8 + ref_00475c64] ; mov eax, dword [edx*8 + 0x475c64]
+sub eax, 0x50
+mov dword [esp + 0x68], eax
+mov eax, dword [edx*8 + ref_00475c68] ; mov eax, dword [edx*8 + 0x475c68]
+mov dword [esp + 0x6c], eax
+mov eax, dword [ref_0048c4cc] ; mov eax, dword [0x48c4cc]
+movsx edx, word [eax]
+mov ebx, dword [esp + 0x68]
+add ebx, edx
+mov dword [esp + 0x70], ebx
+movsx eax, word [eax + 2]
+mov edx, dword [esp + 0x6c]
+add edx, eax
+mov dword [esp + 0x74], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [esp + 0x6c]
+push ebx
+mov esi, dword [esp + 0x6c]
+push esi
+mov edi, dword [ref_0048c4cc] ; mov edi, dword [0x48c4cc]
+push edi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c4f0], 0xff ; mov byte [0x48c4f0], 0xff
+
+loc_0043e87b:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x165
+push 0x86
+push 0x6e
+push 0x68
+push 0x6e
+push 0x68
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x70
+push 0x5b
+mov eax, dword [ref_0048c4d4] ; mov eax, dword [0x48c4d4]
+add eax, 0x78
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x68], 0x5b
+mov dword [esp + 0x6c], 0x6e
+mov dword [esp + 0x70], 0x107
+mov dword [esp + 0x74], 0x1d3
+push 0
+lea eax, [esp + 0x6c]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov byte [ref_0048c4f2], 7 ; mov byte [0x48c4f2], 7
+mov byte [ref_0048c4f4], 1 ; mov byte [0x48c4f4], 1
+mov edx, dword [ref_00475cd0] ; mov edx, dword [0x475cd0]
+jmp near loc_0043db4e ; jmp 0x43db4e
+
+loc_0043e92f:
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+mov edx, dword [ref_0048a0dc] ; mov edx, dword [0x48a0dc]
+push edx
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0043db35 ; jmp 0x43db35
+
+loc_0043e98d:
+push esi
+mov ecx, dword [esp + 0x98]
+push ecx
+push eax
+push ebp
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0043db37 ; jmp 0x43db37
+
+fcn_0043e9a4:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x9c
+xor ebx, ebx
+jmp short loc_0043e9b8 ; jmp 0x43e9b8
+
+loc_0043e9b2:
+inc ebx
+cmp ebx, 8
+jge short loc_0043e9c1 ; jge 0x43e9c1
+
+loc_0043e9b8:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_0043e9b2 ; je 0x43e9b2
+
+loc_0043e9c1:
+cmp ebx, 8
+je near loc_0043ec34 ; je 0x43ec34
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_0043ea84 ; jne 0x43ea84
+push 0
+push 0
+push 0x41
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c4d4], eax ; mov dword [0x48c4d4], eax
+push 0
+push 0
+push 0x40
+mov esi, dword [ref_0048a05c] ; mov esi, dword [0x48a05c]
+push esi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c4d0], eax ; mov dword [0x48c4d0], eax
+push 0
+push 0
+mov edx, dword [ref_0048c4d4] ; mov edx, dword [0x48c4d4]
+movsx eax, word [edx + 0x32]
+push eax
+movsx eax, word [edx + 0x30]
+push eax
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c4cc], eax ; mov dword [0x48c4cc], eax
+call fcn_0043d88f ; call 0x43d88f
+push 0x10
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+push 0
+push fcn_0043da27 ; push 0x43da27
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+call fcn_00454bcc ; call 0x454bcc
+mov edi, dword [ref_0048c4d4] ; mov edi, dword [0x48c4d4]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048c4d0] ; mov ebp, dword [0x48c4d0]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048c4cc] ; mov eax, dword [0x48c4cc]
+push eax
+call fcn_00456e11 ; call 0x456e11
+jmp near loc_0043ec31 ; jmp 0x43ec31
+
+loc_0043ea84:
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je near loc_0043ec34 ; je 0x43ec34
+xor esi, esi
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+mov dl, byte [edx + ref_00496b7f] ; mov dl, byte [edx + 0x496b7f]
+cmp dl, 1
+jb short loc_0043eab5 ; jb 0x43eab5
+jbe short loc_0043eade ; jbe 0x43eade
+cmp dl, 2
+je near loc_0043eb30 ; je 0x43eb30
+jmp near loc_0043eb50 ; jmp 0x43eb50
+
+loc_0043eab5:
+test dl, dl
+jne near loc_0043eb50 ; jne 0x43eb50
+xor ebx, ebx
+jmp short loc_0043eacb ; jmp 0x43eacb
+
+loc_0043eac1:
+inc ebx
+cmp ebx, 4
+jge near loc_0043eb50 ; jge 0x43eb50
+
+loc_0043eacb:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_0043eac1 ; je 0x43eac1
+mov byte [esp + esi + 0x94], bl
+inc esi
+jmp short loc_0043eac1 ; jmp 0x43eac1
+
+loc_0043eade:
+xor ebx, ebx
+jmp short loc_0043eae8 ; jmp 0x43eae8
+
+loc_0043eae2:
+inc ebx
+cmp ebx, 4
+jge short loc_0043eafb ; jge 0x43eafb
+
+loc_0043eae8:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_0043eae2 ; je 0x43eae2
+mov byte [esp + esi + 0x94], bl
+inc esi
+jmp short loc_0043eae2 ; jmp 0x43eae2
+
+loc_0043eafb:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 3
+sar edx, 0x1f
+idiv ebx
+test edx, edx
+jne short loc_0043eb50 ; jne 0x43eb50
+mov ebx, 4
+jmp short loc_0043eb1d ; jmp 0x43eb1d
+
+loc_0043eb17:
+inc ebx
+cmp ebx, 8
+jge short loc_0043eb50 ; jge 0x43eb50
+
+loc_0043eb1d:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_0043eb17 ; je 0x43eb17
+mov byte [esp + esi + 0x94], bl
+inc esi
+jmp short loc_0043eb17 ; jmp 0x43eb17
+
+loc_0043eb30:
+mov ebx, 4
+jmp short loc_0043eb3d ; jmp 0x43eb3d
+
+loc_0043eb37:
+inc ebx
+cmp ebx, 8
+jge short loc_0043eb50 ; jge 0x43eb50
+
+loc_0043eb3d:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_0043eb37 ; je 0x43eb37
+mov byte [esp + esi + 0x94], bl
+inc esi
+jmp short loc_0043eb37 ; jmp 0x43eb37
+
+loc_0043eb50:
+test esi, esi
+je near loc_0043ec34 ; je 0x43ec34
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+xor ebx, ebx
+mov bl, byte [esp + edx + 0x94]
+mov esi, dword [ebx*4 + ref_00475ca4] ; mov esi, dword [ebx*4 + 0x475ca4]
+cmp ebx, 4
+jge short loc_0043eb90 ; jge 0x43eb90
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov ax, word [eax + ref_00496b98] ; mov ax, word [eax + 0x496b98]
+and eax, 0xffff
+cmp eax, esi
+jg short loc_0043ebaf ; jg 0x43ebaf
+
+loc_0043eb90:
+cmp ebx, 4
+jl near loc_0043ec34 ; jl 0x43ec34
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp word [eax + ref_00496b98], 0x2bc ; cmp word [eax + 0x496b98], 0x2bc
+jb near loc_0043ec34 ; jb 0x43ec34
+
+loc_0043ebaf:
+cmp ebx, 4
+jge short loc_0043ebc0 ; jge 0x43ebc0
+imul eax, ebx, 0x68
+mov ebp, dword [eax + ref_00496b68] ; mov ebp, dword [eax + 0x496b68]
+push ebp
+jmp short loc_0043ebc8 ; jmp 0x43ebc8
+
+loc_0043ebc0:
+mov edi, dword [ebx*4 + ref_0047ed5a] ; mov edi, dword [ebx*4 + 0x47ed5a]
+push edi
+
+loc_0043ebc8:
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_00465207 ; push 0x465207
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+sub word [edx + ref_00496b98], si ; sub word [edx + 0x496b98], si
+cmp ebx, 4
+jge short loc_0043ec2b ; jge 0x43ec2b
+imul eax, ebx, 0x68
+mov byte [eax + ref_00496b9d], 0x80 ; mov byte [eax + 0x496b9d], 0x80
+xor dh, dh
+mov byte [ebx + ref_00496b60], dh ; mov byte [ebx + 0x496b60], dh
+jmp short loc_0043ec34 ; jmp 0x43ec34
+
+loc_0043ec2b:
+push ebx
+call fcn_0043ee6e ; call 0x43ee6e
+
+loc_0043ec31:
+add esp, 4
+
+loc_0043ec34:
+add esp, 0x9c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043ec3f:
+push ebx
+push esi
+push edi
+push ebp
+mov cl, byte [esp + 0x14]
+mov edi, 0x100
+shl edi, cl
+not edi
+mov edx, dword [esp + 0x14]
+cmp edx, 4
+jge near loc_0043ee0f ; jge 0x43ee0f
+push 0
+mov eax, edx
+imul ebx, edx, 0x68
+xor eax, edx
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov dh, byte [ebx + ref_00496b9d] ; mov dh, byte [ebx + 0x496b9d]
+test dh, dh
+jne near loc_0043ed6c ; jne 0x43ed6c
+mov edx, dword [esp + 0x14]
+push edx
+call fcn_0040d761 ; call 0x40d761
+add esp, 4
+mov ecx, dword [esp + 0x18]
+push ecx
+mov esi, dword [esp + 0x18]
+push esi
+call fcn_0044f2c2 ; call 0x44f2c2
+add esp, 8
+and byte [ebx + ref_00496b7d], 0xf ; and byte [ebx + 0x496b7d], 0xf
+xor eax, eax
+mov ax, word [ebx + ref_00496b74] ; mov ax, word [ebx + 0x496b74]
+mov esi, eax
+shl esi, 2
+add esi, eax
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+and dword [eax + esi*8 + 0x24], edi
+mov ax, word [ref_0048bae2] ; mov ax, word [0x48bae2]
+mov word [ebx + ref_00496b74], ax ; mov word [ebx + 0x496b74], ax
+xor edx, edx
+mov word [ebx + ref_00496b76], dx ; mov word [ebx + 0x496b76], dx
+mov byte [ebx + ref_00496b83], 0xf ; mov byte [ebx + 0x496b83], 0xf
+mov eax, dword [ref_00498e78] ; mov eax, dword [0x498e78]
+mov si, word [eax + 0x1c]
+mov word [ebx + ref_00496b70], si ; mov word [ebx + 0x496b70], si
+mov ax, word [eax + 0x1e]
+mov word [ebx + ref_00496b72], ax ; mov word [ebx + 0x496b72], ax
+mov al, byte [esp + 0x18]
+mov byte [ebx + ref_00496b9d], al ; mov byte [ebx + 0x496b9d], al
+mov eax, dword [esp + 0x14]
+push eax
+call fcn_0040fc00 ; call 0x40fc00
+add esp, 4
+mov eax, dword [esp + 0x14]
+mov byte [eax + ref_00496b60], 1 ; mov byte [eax + 0x496b60], 1
+cmp byte [ref_00497159], 0 ; cmp byte [0x497159], 0
+je short loc_0043ed85 ; je 0x43ed85
+push 0
+push 0
+push 0x20c
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x5c
+push 0x1e0001
+push 0xd2
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp short loc_0043ed85 ; jmp 0x43ed85
+
+loc_0043ed6c:
+mov al, byte [esp + 0x18]
+mov cl, dh
+add cl, al
+mov byte [ebx + ref_00496b9d], cl ; mov byte [ebx + 0x496b9d], cl
+mov ch, cl
+and ch, 0x7f
+mov byte [ebx + ref_00496b9d], ch ; mov byte [ebx + 0x496b9d], ch
+
+loc_0043ed85:
+push 0
+imul esi, dword [esp + 0x18], 0x68
+xor eax, eax
+mov ax, word [esi + ref_00496b72] ; mov ax, word [esi + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [esi + ref_00496b70] ; mov ax, word [esi + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+xor eax, eax
+mov al, byte [esi + ref_00496b7b] ; mov al, byte [esi + 0x496b7b]
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 2
+mov eax, ebx
+mov edi, dword [eax + ebx*8 + ref_0048089a] ; mov edi, dword [eax + ebx*8 + 0x48089a]
+push edi
+push 2
+mov ebp, dword [esp + 0x1c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push 0
+mov eax, dword [esp + 0x1c]
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 3
+add ebx, eax
+shl ebx, 4
+mov eax, ebx
+shl ebx, 2
+add ebx, eax
+imul ebx, dword [ref_004990e8] ; imul ebx, dword [0x4990e8]
+push ebx
+push ebp
+call fcn_0044ba63 ; call 0x44ba63
+add esp, 0xc
+mov al, byte [esp + 0x18]
+add byte [esi + ref_00496baa], al ; add byte [esi + 0x496baa], al
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0043ee0f:
+cmp edx, 8
+jge short loc_0043ee69 ; jge 0x43ee69
+lea ebx, [edx - 4]
+mov dword [esp + 0x14], ebx
+shl ebx, 4
+xor eax, eax
+mov ax, word [ebx + ref_00498e2c] ; mov ax, word [ebx + 0x498e2c]
+mov esi, eax
+shl esi, 2
+add esi, eax
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+and dword [eax + esi*8 + 0x24], edi
+mov byte [ebx + ref_00498e32], 2 ; mov byte [ebx + 0x498e32], 2
+xor dl, dl
+mov byte [ebx + ref_00498e33], dl ; mov byte [ebx + 0x498e33], dl
+mov byte [ebx + ref_00498e34], dl ; mov byte [ebx + 0x498e34], dl
+mov byte [ebx + ref_00498e35], dl ; mov byte [ebx + 0x498e35], dl
+mov byte [ebx + ref_00498e36], dl ; mov byte [ebx + 0x498e36], dl
+mov byte [ebx + ref_00498e37], dl ; mov byte [ebx + 0x498e37], dl
+mov eax, dword [esp + 0x14]
+mov byte [eax + ref_00496b64], 1 ; mov byte [eax + 0x496b64], 1
+
+loc_0043ee69:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043ee6e:
+push ebx
+push esi
+mov ebx, dword [esp + 0xc]
+cmp ebx, 4
+jge short loc_0043ee8f ; jge 0x43ee8f
+push ebx
+call fcn_0040d6be ; call 0x40d6be
+add esp, 4
+xor al, al
+mov byte [ebx + ref_00496b60], al ; mov byte [ebx + 0x496b60], al
+jmp near loc_0043ef32 ; jmp 0x43ef32
+
+loc_0043ee8f:
+lea eax, [ebx - 4]
+shl eax, 4
+mov dl, byte [ref_0049910c] ; mov dl, byte [0x49910c]
+mov byte [eax + ref_00498e30], dl ; mov byte [eax + 0x498e30], dl
+xor dl, dl
+mov byte [eax + ref_00498e32], dl ; mov byte [eax + 0x498e32], dl
+mov dx, word [ref_0048bae2] ; mov dx, word [0x48bae2]
+mov word [eax + ref_00498e2c], dx ; mov word [eax + 0x498e2c], dx
+xor edx, edx
+mov word [eax + ref_00498e2e], dx ; mov word [eax + 0x498e2e], dx
+xor ecx, ecx
+mov cx, word [eax + ref_00498e2c] ; mov cx, word [eax + 0x498e2c]
+mov edx, ecx
+shl edx, 2
+add edx, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov dx, word [ecx + edx*8]
+mov word [eax + ref_00498e28], dx ; mov word [eax + 0x498e28], dx
+xor esi, esi
+mov si, word [eax + ref_00498e2c] ; mov si, word [eax + 0x498e2c]
+mov edx, esi
+shl edx, 2
+add edx, esi
+mov dx, word [ecx + edx*8 + 2]
+mov word [eax + ref_00498e2a], dx ; mov word [eax + 0x498e2a], dx
+mov byte [eax + ref_00498e33], 2 ; mov byte [eax + 0x498e33], 2
+xor esi, esi
+mov si, word [eax + ref_00498e2c] ; mov si, word [eax + 0x498e2c]
+mov edx, esi
+shl edx, 2
+add edx, esi
+mov edx, dword [ecx + edx*8 + 0x24]
+and edx, 0xff
+cmp edx, 5
+jne short loc_0043ef2a ; jne 0x43ef2a
+or byte [eax + ref_00498e33], 0x80 ; or byte [eax + 0x498e33], 0x80
+
+loc_0043ef2a:
+xor ch, ch
+mov byte [ebx + ref_00496b60], ch ; mov byte [ebx + 0x496b60], ch
+
+loc_0043ef32:
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+pop esi
+pop ebx
+ret
+
+fcn_0043ef3e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x18
+mov edi, dword [esp + 0x2c]
+xor edx, edx
+mov dword [esp + 0x10], edx
+mov ecx, dword [esp + 0x34]
+test ecx, ecx
+je short loc_0043efb7 ; je 0x43efb7
+xor eax, eax
+mov al, byte [ref_00475d5e] ; mov al, byte [0x475d5e]
+cmp eax, ecx
+je short loc_0043ef8c ; je 0x43ef8c
+mov eax, 4
+sub eax, ecx
+test byte [eax + ref_0048c504], 1 ; test byte [eax + 0x48c504], 1
+je short loc_0043ef8c ; je 0x43ef8c
+mov byte [ref_00475d5c], 1 ; mov byte [0x475d5c], 1
+xor bh, bh
+mov byte [ref_00475d5d], bh ; mov byte [0x475d5d], bh
+mov al, byte [esp + 0x34]
+mov byte [ref_00475d5e], al ; mov byte [0x475d5e], al
+jmp short loc_0043ef95 ; jmp 0x43ef95
+
+loc_0043ef8c:
+cmp byte [ref_00475d5c], 0 ; cmp byte [0x475d5c], 0
+je short loc_0043efb7 ; je 0x43efb7
+
+loc_0043ef95:
+mov al, byte [ref_00475d5c] ; mov al, byte [0x475d5c]
+cmp al, byte [ref_00475d5d] ; cmp al, byte [0x475d5d]
+ja short loc_0043efb1 ; ja 0x43efb1
+xor ch, ch
+mov byte [ref_00475d5d], ch ; mov byte [0x475d5d], ch
+inc al
+mov byte [ref_00475d5c], al ; mov byte [0x475d5c], al
+
+loc_0043efb1:
+inc byte [ref_00475d5d] ; inc byte [0x475d5d]
+
+loc_0043efb7:
+mov dword [esp + 4], 0x140
+mov dword [esp + 0xc], 0x164
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, 3
+mov esi, 1
+mov ebp, 0x3e8
+xor edx, edx
+mov dword [esp + 0x14], edx
+
+loc_0043eff2:
+cmp ebx, edi
+jl near loc_0043f0c2 ; jl 0x43f0c2
+test dword [esp + 0x30], esi
+je near loc_0043f0ba ; je 0x43f0ba
+mov eax, 4
+sub eax, ebx
+cmp eax, dword [esp + 0x34]
+jne short loc_0043f022 ; jne 0x43f022
+mov al, byte [ref_00475d5c] ; mov al, byte [0x475d5c]
+cmp al, byte [ref_00475d5d] ; cmp al, byte [0x475d5d]
+ja near loc_0043f0ba ; ja 0x43f0ba
+
+loc_0043f022:
+mov ch, byte [ebx + ref_0048c504] ; mov ch, byte [ebx + 0x48c504]
+inc ch
+mov byte [ebx + ref_0048c504], ch ; mov byte [ebx + 0x48c504], ch
+cmp ch, 0x14
+jb short loc_0043f03d ; jb 0x43f03d
+xor ah, ah
+mov byte [ebx + ref_0048c504], ah ; mov byte [ebx + 0x48c504], ah
+
+loc_0043f03d:
+mov eax, edi
+shl eax, 3
+lea edx, [ebx + ebx]
+add edx, eax
+xor eax, eax
+mov ax, word [edx + ref_00475ce8] ; mov ax, word [edx + 0x475ce8]
+mov dword [esp], eax
+add eax, 0x26
+mov dword [esp + 8], eax
+mov ecx, dword [esp]
+cmp ebp, ecx
+jle short loc_0043f063 ; jle 0x43f063
+mov ebp, ecx
+
+loc_0043f063:
+mov eax, dword [esp + 0x14]
+mov edx, dword [esp + 8]
+cmp eax, edx
+jge short loc_0043f073 ; jge 0x43f073
+mov dword [esp + 0x14], edx
+
+loc_0043f073:
+mov ecx, dword [esp + 4]
+push ecx
+mov edx, edi
+lea eax, [ebx + ebx]
+mov ax, word [eax + edx*8 + ref_00475ce8] ; mov ax, word [eax + edx*8 + 0x475ce8]
+and eax, 0xffff
+push eax
+xor eax, eax
+mov al, byte [ebx + ref_0048c504] ; mov al, byte [ebx + 0x48c504]
+lea edx, [eax + 4]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c514] ; mov edx, dword [0x48c514]
+add edx, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_0043f0ba:
+add esi, esi
+dec ebx
+jmp near loc_0043eff2 ; jmp 0x43eff2
+
+loc_0043f0c2:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp], ebp
+mov eax, dword [esp + 0x14]
+mov dword [esp + 8], eax
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 4]
+push ebx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x10]
+push ebx
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+cmp byte [ref_00475d5c], 8 ; cmp byte [0x475d5c], 8
+jne short loc_0043f11b ; jne 0x43f11b
+xor dh, dh
+mov byte [ref_00475d5c], dh ; mov byte [0x475d5c], dh
+mov byte [ref_00475d5d], dh ; mov byte [0x475d5d], dh
+mov dword [esp + 0x10], 1
+
+loc_0043f11b:
+mov eax, dword [esp + 0x10]
+add esp, 0x18
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043f127:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov edx, dword [ref_0048c50c] ; mov edx, dword [0x48c50c]
+inc edx
+mov dword [ref_0048c50c], edx ; mov dword [0x48c50c], edx
+cmp edx, 0xc
+jne short loc_0043f148 ; jne 0x43f148
+xor ebx, ebx
+mov dword [ref_0048c50c], ebx ; mov dword [0x48c50c], ebx
+
+loc_0043f148:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov dword [esp], 0x8a
+mov dword [esp + 4], 0xee
+mov dword [esp + 8], 0x12f
+mov dword [esp + 0xc], 0x193
+push 0x140
+push 0xdc
+mov edx, dword [ref_0048c50c] ; mov edx, dword [0x48c50c]
+add edx, 2
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c520] ; mov eax, dword [0x48c520]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+cmp dword [esp + 0x24], 0
+je short loc_0043f1df ; je 0x43f1df
+push 0xe6
+push 0x109
+mov eax, dword [ref_0048c520] ; mov eax, dword [0x48c520]
+add eax, 0x18
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_0043f1df:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x10]
+push edi
+mov ebp, dword [esp + 0x10]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+
+loc_0043f212:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+ref_0043f21a: ; may contain a jump table
+dd loc_0043f33f
+dd loc_0043f351
+dd loc_0043f45d
+dd loc_0043f55f
+dd loc_0043f57f
+dd loc_0043f59f
+dd loc_0043f5bd
+dd loc_0043f5dd
+dd loc_0043f6fa
+
+fcn_0043f23e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xb4
+mov ebp, dword [esp + 0xc8]
+mov esi, 1
+xor edx, edx
+mov dword [esp + 0xb0], edx
+mov dword [esp + 0x9c], edx
+mov ebx, 0x28
+mov dword [esp + 0xa0], ebx
+mov dword [esp + 0xa4], 0x1b8
+mov dword [esp + 0xa8], 0x1e0
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xa0]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push ebx
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+push esi
+push ref_00475d3c ; push 0x475d3c
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0043f2b3:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov edi, eax
+cmp esi, 3
+jge short loc_0043f2f8 ; jge 0x43f2f8
+mov ecx, 0xa
+xor edx, edx
+mov eax, dword [esp + 0xb0]
+div ecx
+test edx, edx
+jne short loc_0043f2f8 ; jne 0x43f2f8
+xor ebx, ebx
+
+loc_0043f2d7:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ecx, 0xa
+sar edx, 0x1f
+idiv ecx
+lea eax, [edx + edx + 1]
+mov byte [ebx + ref_0048c504], al ; mov byte [ebx + 0x48c504], al
+inc ebx
+cmp ebx, 4
+jl short loc_0043f2d7 ; jl 0x43f2d7
+
+loc_0043f2f8:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+inc dword [esp + 0xb0]
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+ja short loc_0043f318 ; ja 0x43f318
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+je short loc_0043f32c ; je 0x43f32c
+
+loc_0043f318:
+cmp dword [esp + 0xb0], 0x28
+jb short loc_0043f32c ; jb 0x43f32c
+cmp esi, 1
+jne short loc_0043f32c ; jne 0x43f32c
+mov esi, 2
+
+loc_0043f32c:
+lea eax, [esi - 1]
+cmp eax, 8
+ja near loc_0043f709 ; ja 0x43f709
+jmp dword [eax*4 + ref_0043f21a] ; ujmp: jmp dword [eax*4 + 0x43f21a]
+
+loc_0043f33f:
+push 0
+push 0xf
+push ebp
+call fcn_0043ef3e ; call 0x43ef3e
+add esp, 0xc
+jmp near loc_0043f709 ; jmp 0x43f709
+
+loc_0043f351:
+push 0
+push 0xf
+push ebp
+call fcn_0043ef3e ; call 0x43ef3e
+add esp, 0xc
+mov eax, dword [ebp*4 + ref_00475ce0] ; mov eax, dword [ebp*4 + 0x475ce0]
+mov dword [esp + 0x9c], eax
+mov dword [esp + 0xa0], 0xf0
+add eax, 0x1f
+mov dword [esp + 0xa4], eax
+mov dword [esp + 0xa8], 0x15c
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x6c
+push 0x1f
+mov eax, dword [esp + 0xa8]
+sub eax, 0x28
+push eax
+mov edx, dword [esp + 0xa8]
+push edx
+mov ecx, dword [esp + 0xb0]
+push ecx
+push edx
+mov esi, dword [ref_0048c51c] ; mov esi, dword [0x48c51c]
+push esi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov edx, dword [esp + 0xa0]
+push edx
+mov ecx, dword [esp + 0xa0]
+push ecx
+mov eax, dword [ref_0048c514] ; mov eax, dword [0x48c514]
+add eax, 0x30
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xa0]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov ecx, dword [esp + 0xac]
+push ecx
+mov ebx, dword [esp + 0xac]
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov esi, 3
+xor eax, eax
+mov dword [esp + 0xb0], eax
+jmp near loc_0043f709 ; jmp 0x43f709
+
+loc_0043f45d:
+push 0
+push 0xf
+push ebp
+call fcn_0043ef3e ; call 0x43ef3e
+add esp, 0xc
+cmp dword [esp + 0xb0], 4
+jne near loc_0043f709 ; jne 0x43f709
+mov eax, dword [ebp*4 + ref_00475ce0] ; mov eax, dword [ebp*4 + 0x475ce0]
+mov dword [esp + 0x9c], eax
+mov dword [esp + 0xa0], 0xf0
+add eax, 0x1f
+mov dword [esp + 0xa4], eax
+mov dword [esp + 0xa8], 0x15c
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x6c
+push 0x1f
+mov eax, dword [esp + 0xa8]
+sub eax, 0x28
+push eax
+mov edx, dword [esp + 0xa8]
+push edx
+mov ecx, dword [esp + 0xb0]
+push ecx
+push edx
+mov esi, dword [ref_0048c51c] ; mov esi, dword [0x48c51c]
+push esi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov edx, dword [esp + 0xa0]
+push edx
+mov ecx, dword [esp + 0xa0]
+push ecx
+mov eax, dword [ref_0048c514] ; mov eax, dword [0x48c514]
+add eax, 0x24
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xa0]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov ecx, dword [esp + 0xac]
+push ecx
+mov ebx, dword [esp + 0xac]
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+mov esi, 4
+jmp near loc_0043f709 ; jmp 0x43f709
+
+loc_0043f55f:
+push 1
+push 0xf
+push ebp
+call fcn_0043ef3e ; call 0x43ef3e
+add esp, 0xc
+cmp eax, 1
+jne near loc_0043f709 ; jne 0x43f709
+mov esi, 5
+jmp near loc_0043f709 ; jmp 0x43f709
+
+loc_0043f57f:
+push 2
+push 0xe
+push ebp
+call fcn_0043ef3e ; call 0x43ef3e
+add esp, 0xc
+cmp eax, 1
+jne near loc_0043f709 ; jne 0x43f709
+mov esi, 6
+jmp near loc_0043f709 ; jmp 0x43f709
+
+loc_0043f59f:
+push 3
+push 0xc
+push ebp
+call fcn_0043ef3e ; call 0x43ef3e
+add esp, 0xc
+cmp eax, 1
+jne near loc_0043f709 ; jne 0x43f709
+lea esi, [ebp + 7]
+jmp near loc_0043f709 ; jmp 0x43f709
+
+loc_0043f5bd:
+push 4
+push 8
+push ebp
+call fcn_0043ef3e ; call 0x43ef3e
+add esp, 0xc
+cmp eax, 1
+jne near loc_0043f709 ; jne 0x43f709
+mov esi, 8
+jmp near loc_0043f709 ; jmp 0x43f709
+
+loc_0043f5dd:
+mov esi, 9
+xor eax, eax
+mov dword [esp + 0xb0], eax
+push ref_00475d3c ; push 0x475d3c
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+xor eax, eax
+mov al, byte [ref_0048c506] ; mov al, byte [0x48c506]
+sar eax, 1
+mov edx, eax
+shl eax, 2
+add edx, eax
+add edx, edx
+xor eax, eax
+mov al, byte [ref_0048c507] ; mov al, byte [0x48c507]
+sar eax, 1
+add edx, eax
+xor eax, eax
+mov al, byte [ref_0048c505] ; mov al, byte [0x48c505]
+sar eax, 1
+imul eax, eax, 0x64
+add edx, eax
+mov dword [esp + 0xac], edx
+test ebp, ebp
+jne short loc_0043f68c ; jne 0x43f68c
+xor eax, eax
+mov al, byte [ref_0048c504] ; mov al, byte [0x48c504]
+sar eax, 1
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+add dword [esp + 0xac], eax
+
+loc_0043f68c:
+mov ebx, dword [esp + 0xac]
+push ebx
+push ref_00465284 ; push 0x465284
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 4
+push 0x8c
+push 0xdc
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0048bdb8 ; push 0x48bdb8
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [ref_0048bdbc] ; mov ebx, dword [0x48bdbc]
+push ebx
+mov ecx, dword [ref_0048bdb8] ; mov ecx, dword [0x48bdb8]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+jmp short loc_0043f709 ; jmp 0x43f709
+
+loc_0043f6fa:
+cmp dword [esp + 0xb0], 0x28
+jne short loc_0043f709 ; jne 0x43f709
+mov esi, 0xa
+
+loc_0043f709:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov ebx, eax
+sub ebx, edi
+push 1
+push 0
+push 0
+push 0
+lea eax, [esp + 0x90]
+push eax
+call dword [cs:__imp__PeekMessageA@20] ; ucall: call dword cs:[0x46230c]
+test eax, eax
+je near loc_0043f78e ; je 0x43f78e
+mov edx, dword [esp + 0x84]
+cmp edx, 0x202
+je short loc_0043f752 ; je 0x43f752
+cmp edx, 0x205
+je short loc_0043f752 ; je 0x43f752
+cmp edx, 0x101
+jne short loc_0043f777 ; jne 0x43f777
+
+loc_0043f752:
+cmp esi, 1
+jne short loc_0043f78e ; jne 0x43f78e
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0043f78e ; jne 0x43f78e
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne short loc_0043f78e ; jne 0x43f78e
+mov esi, 2
+jmp short loc_0043f78e ; jmp 0x43f78e
+
+loc_0043f777:
+cmp edx, 0x3b9
+jne short loc_0043f78e ; jne 0x43f78e
+cmp dword [esp + 0x88], 1
+jne short loc_0043f78e ; jne 0x43f78e
+call fcn_00454d2c ; call 0x454d2c
+
+loc_0043f78e:
+cmp ebx, 0x1e
+jb near loc_0043f709 ; jb 0x43f709
+cmp esi, 0xa
+jl near loc_0043f2b3 ; jl 0x43f2b3
+mov eax, dword [esp + 0xac]
+add esp, 0xb4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+ref_0043f7b2: ; may contain a jump table
+dd loc_0043f883
+dd loc_0043f892
+dd loc_0043f9ab
+dd loc_0043fa23
+dd loc_0043fa19
+
+fcn_0043f7c6:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x38
+mov edx, 1
+mov dword [esp + 0x34], edx
+mov ebx, edx
+xor ebp, ebp
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov esi, 0xc
+sar edx, 0x1f
+idiv esi
+mov dword [ref_0048c50c], edx ; mov dword [0x48c50c], edx
+mov dword [esp + 0x1c], ebp
+mov dword [esp + 0x20], 0x28
+mov dword [esp + 0x24], 0x1b8
+mov dword [esp + 0x28], 0x1e0
+push ebx
+push ref_00475d4c ; push 0x475d4c
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea esi, [esp + 0x20]
+push esi
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov esi, dword [esp + 0x2c]
+push esi
+mov edi, dword [esp + 0x2c]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+
+loc_0043f83e:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov edi, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+inc ebp
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+ja short loc_0043f861 ; ja 0x43f861
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+je short loc_0043f870 ; je 0x43f870
+
+loc_0043f861:
+cmp ebp, 0x28
+jb short loc_0043f870 ; jb 0x43f870
+cmp ebx, 1
+jne short loc_0043f870 ; jne 0x43f870
+mov ebx, 2
+
+loc_0043f870:
+lea eax, [ebx - 1]
+cmp eax, 4
+ja near loc_0043fa23 ; ja 0x43fa23
+jmp dword [eax*4 + ref_0043f7b2] ; ujmp: jmp dword [eax*4 + 0x43f7b2]
+
+loc_0043f883:
+push 0
+call fcn_0043f127 ; call 0x43f127
+
+loc_0043f88a:
+add esp, 4
+jmp near loc_0043fa23 ; jmp 0x43fa23
+
+loc_0043f892:
+mov dword [esp + 0x1c], 0x109
+mov dword [esp + 0x20], 0xe6
+mov dword [esp + 0x24], 0x160
+mov dword [esp + 0x28], 0x123
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+push 0x3d
+push 0x57
+mov eax, dword [esp + 0x28]
+sub eax, 0x28
+push eax
+mov edx, dword [esp + 0x28]
+push edx
+mov ecx, dword [esp + 0x30]
+push ecx
+push edx
+mov esi, dword [ref_0048c51c] ; mov esi, dword [0x48c51c]
+push esi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x140
+push 0xdc
+mov ebx, dword [ref_0048c50c] ; mov ebx, dword [0x48c50c]
+add ebx, 2
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+mov ebx, eax
+shl ebx, 2
+mov eax, dword [ref_0048c520] ; mov eax, dword [0x48c520]
+add eax, 0xc
+add eax, ebx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov ecx, dword [esp + 0x20]
+push ecx
+mov ebx, dword [esp + 0x20]
+push ebx
+mov eax, dword [ref_0048c520] ; mov eax, dword [0x48c520]
+add eax, 0x18
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0x10
+lea esi, [esp + 0x20]
+push esi
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+mov ecx, dword [esp + 0x2c]
+push ecx
+mov esi, dword [esp + 0x2c]
+push esi
+push eax
+call dword [ebx + 0x1c] ; ucall
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov ebx, 3
+mov dword [esp + 0x34], 1
+mov dword [esp + 0x30], ebx
+mov dword [esp + 0x2c], ebp
+jmp near loc_0043fa23 ; jmp 0x43fa23
+
+loc_0043f9ab:
+mov eax, ebp
+sub eax, dword [esp + 0x2c]
+mov esi, dword [esp + 0x34]
+cmp eax, esi
+jne short loc_0043fa23 ; jne 0x43fa23
+push 1
+call fcn_0043f127 ; call 0x43f127
+add esp, 4
+mov dword [esp + 0x2c], ebp
+mov eax, dword [esp + 0x30]
+dec eax
+mov dword [esp + 0x30], eax
+jne short loc_0043f9df ; jne 0x43f9df
+mov dword [esp + 0x30], 3
+inc esi
+mov dword [esp + 0x34], esi
+
+loc_0043f9df:
+cmp dword [esp + 0x34], 5
+jl short loc_0043fa23 ; jl 0x43fa23
+mov esi, dword [esp + 0x4c]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 2
+add eax, dword [ref_0048c50c] ; add eax, dword [0x48c50c]
+cmp byte [eax + ref_00475d0c], 0xff ; cmp byte [eax + 0x475d0c], 0xff
+je short loc_0043fa23 ; je 0x43fa23
+mov ebx, 5
+xor ebp, ebp
+push ref_00475d4c ; push 0x475d4c
+call fcn_004542e9 ; call 0x4542e9
+jmp near loc_0043f88a ; jmp 0x43f88a
+
+loc_0043fa19:
+cmp ebp, 0x28
+jne short loc_0043fa23 ; jne 0x43fa23
+mov ebx, 6
+
+loc_0043fa23:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov esi, eax
+sub esi, edi
+push 1
+push 0
+push 0
+push 0
+lea eax, [esp + 0x10]
+push eax
+call dword [cs:__imp__PeekMessageA@20] ; ucall: call dword cs:[0x46230c]
+test eax, eax
+je near loc_0043faab ; je 0x43faab
+mov ecx, dword [esp + 4]
+cmp ecx, 0x202
+je short loc_0043fa66 ; je 0x43fa66
+cmp ecx, 0x205
+je short loc_0043fa66 ; je 0x43fa66
+cmp ecx, 0x101
+jne short loc_0043fa97 ; jne 0x43fa97
+
+loc_0043fa66:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0043faab ; jne 0x43faab
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne short loc_0043faab ; jne 0x43faab
+cmp ebx, 1
+jne short loc_0043fa8b ; jne 0x43fa8b
+mov ebx, 2
+jmp short loc_0043faab ; jmp 0x43faab
+
+loc_0043fa8b:
+cmp ebx, 5
+jne short loc_0043faab ; jne 0x43faab
+mov ebx, 6
+jmp short loc_0043faab ; jmp 0x43faab
+
+loc_0043fa97:
+cmp ecx, 0x3b9
+jne short loc_0043faab ; jne 0x43faab
+cmp dword [esp + 8], 1
+jne short loc_0043faab ; jne 0x43faab
+call fcn_00454d2c ; call 0x454d2c
+
+loc_0043faab:
+cmp esi, 0x24
+jb near loc_0043fa23 ; jb 0x43fa23
+cmp ebx, 6
+jl near loc_0043f83e ; jl 0x43f83e
+mov edx, dword [esp + 0x4c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, dword [ref_0048c50c] ; add eax, dword [0x48c50c]
+mov al, byte [eax + ref_00475d0c] ; mov al, byte [eax + 0x475d0c]
+and eax, 0xff
+add esp, 0x38
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0043fae4:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov esi, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x202
+jb short loc_0043fb21 ; jb 0x43fb21
+jbe near loc_0043fe81 ; jbe 0x43fe81
+cmp eax, 0x205
+jb near loc_0043ff3d ; jb 0x43ff3d
+jbe near loc_0043febb ; jbe 0x43febb
+cmp eax, 0x401
+je short loc_0043fb3c ; je 0x43fb3c
+jmp near loc_0043ff3d ; jmp 0x43ff3d
+
+loc_0043fb21:
+cmp eax, 0xf
+jb near loc_0043ff3d ; jb 0x43ff3d
+jbe near loc_0043fee5 ; jbe 0x43fee5
+cmp eax, 0x200
+je short loc_0043fb76 ; je 0x43fb76
+jmp near loc_0043ff3d ; jmp 0x43ff3d
+
+loc_0043fb3c:
+mov dword [ref_0048c528], edx ; mov dword [0x48c528], edx
+xor edx, edx
+mov dword [ref_0048c524], edx ; mov dword [0x48c524], edx
+push 0x140
+push 0xdc
+call dword [cs:__imp__SetCursorPos@8] ; ucall: call dword cs:[0x46231c]
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_0043fb76:
+xor ebx, ebx
+mov bx, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+cmp ebx, 0x32
+jl near loc_0043fd85 ; jl 0x43fd85
+cmp ebx, 0x186
+jge near loc_0043fd85 ; jge 0x43fd85
+cmp eax, 0x11e
+jl near loc_0043fd85 ; jl 0x43fd85
+cmp eax, 0x162
+jge near loc_0043fd85 ; jge 0x43fd85
+lea edx, [ebx - 0x32]
+mov ebx, 0x44
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov edi, eax
+inc eax
+cmp eax, dword [ref_0048c524] ; cmp eax, dword [0x48c524]
+je near loc_0043fd7e ; je 0x43fd7e
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov ecx, dword [ref_0048c524] ; mov ecx, dword [0x48c524]
+test ecx, ecx
+je short loc_0043fc6f ; je 0x43fc6f
+lea eax, [ecx - 1]
+mov ebx, eax
+shl ebx, 4
+add ebx, eax
+shl ebx, 2
+lea eax, [ebx + 0x32]
+mov dword [esp + 0x40], eax
+mov ebp, 0x11e
+mov dword [esp + 0x44], ebp
+lea eax, [ebx + 0x76]
+mov dword [esp + 0x48], eax
+mov dword [esp + 0x4c], 0x162
+push 0x44
+push 0x44
+push 7
+add ebx, 7
+push ebx
+push ebp
+mov edx, dword [esp + 0x54]
+push edx
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x3c
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0
+lea eax, [esp + 0x44]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0043fc6f:
+mov ebx, edi
+shl ebx, 4
+add ebx, edi
+shl ebx, 2
+add ebx, 0x32
+push 0xffff00
+push 0x44
+push 0x44
+push 0x11e
+push ebx
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0xffff00
+push 0x42
+push 0x42
+push 0x11f
+lea eax, [ebx + 1]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0xffff00
+push 0x40
+push 0x40
+push 0x120
+lea eax, [ebx + 2]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 2
+push 0x7a
+push 0xdc
+push ref_00465289 ; push 0x465289
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 4
+push 0x9a
+push 0xdc
+mov edx, dword [edi*4 + ref_00475150] ; mov edx, dword [edi*4 + 0x475150]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push ref_0048bdb8 ; push 0x48bdb8
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov dword [esp + 0x40], ebx
+mov dword [esp + 0x44], 0x11e
+add ebx, 0x44
+mov dword [esp + 0x48], ebx
+mov dword [esp + 0x4c], 0x162
+push 0
+lea eax, [esp + 0x44]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+inc edi
+mov dword [ref_0048c524], edi ; mov dword [0x48c524], edi
+
+loc_0043fd7e:
+xor eax, eax
+jmp near loc_0043ff4c ; jmp 0x43ff4c
+
+loc_0043fd85:
+mov edi, dword [ref_0048c524] ; mov edi, dword [0x48c524]
+test edi, edi
+je short loc_0043fd7e ; je 0x43fd7e
+lea eax, [edi - 1]
+mov ebx, eax
+shl ebx, 4
+add ebx, eax
+shl ebx, 2
+lea eax, [ebx + 0x32]
+mov dword [esp + 0x40], eax
+mov dword [esp + 0x44], 0x11e
+add ebx, 0x76
+mov dword [esp + 0x48], ebx
+mov dword [esp + 0x4c], 0x162
+push 0
+lea eax, [esp + 0x44]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x44
+push 0x44
+push 7
+mov eax, dword [ref_0048c524] ; mov eax, dword [0x48c524]
+dec eax
+mov ebx, eax
+shl ebx, 4
+add ebx, eax
+shl ebx, 2
+add ebx, 7
+push ebx
+mov edx, dword [esp + 0x54]
+push edx
+mov ecx, dword [esp + 0x54]
+push ecx
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x3c
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 2
+push 0x7a
+push 0xdc
+push ref_00465289 ; push 0x465289
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048bdb8 ; push 0x48bdb8
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor ebp, ebp
+mov dword [ref_0048c524], ebp ; mov dword [0x48c524], ebp
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_0043fe81:
+cmp dword [ref_0048c524], 0 ; cmp dword [0x48c524], 0
+je near loc_0043fd7e ; je 0x43fd7e
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov eax, dword [ref_0048c524] ; mov eax, dword [0x48c524]
+dec eax
+push eax
+
+loc_0043feae:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_0043febb:
+cmp dword [ref_0048c528], 0 ; cmp dword [0x48c528], 0
+je near loc_0043fd7e ; je 0x43fd7e
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0xffffffffffffffff
+jmp short loc_0043feae ; jmp 0x43feae
+
+loc_0043fee5:
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0xc]
+push ebx
+mov edi, dword [ref_0048a0e0] ; mov edi, dword [0x48a0e0]
+push edi
+mov ebp, dword [esp + 0x18]
+push ebp
+mov ecx, dword [esp + 0x18]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_0043ff3d:
+push edx
+mov ebx, dword [esp + 0x70]
+push ebx
+push eax
+push esi
+
+loc_0043ff45:
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+
+loc_0043ff4c:
+add esp, 0x50
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+fcn_0043ff56:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebp, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x202
+jb short loc_0043ff93 ; jb 0x43ff93
+jbe near loc_0044021b ; jbe 0x44021b
+cmp eax, 0x205
+jb near loc_004402ca ; jb 0x4402ca
+jbe near loc_00440255 ; jbe 0x440255
+cmp eax, 0x401
+je short loc_0043ffae ; je 0x43ffae
+jmp near loc_004402ca ; jmp 0x4402ca
+
+loc_0043ff93:
+cmp eax, 0xf
+jb near loc_004402ca ; jb 0x4402ca
+jbe near loc_00440272 ; jbe 0x440272
+cmp eax, 0x200
+je short loc_0043ffe4 ; je 0x43ffe4
+jmp near loc_004402ca ; jmp 0x4402ca
+
+loc_0043ffae:
+mov dword [ref_0048c52c], 0xffffffff ; mov dword [0x48c52c], 0xffffffff
+push 0x140
+push 0xdc
+call dword [cs:__imp__SetCursorPos@8] ; ucall: call dword cs:[0x46231c]
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_0043ffe4:
+xor ebx, ebx
+mov bx, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor esi, esi
+mov si, ax
+mov eax, dword [ref_0048c4fc] ; mov eax, dword [0x48c4fc]
+sub eax, 3
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048c4f8] ; mov eax, dword [0x48c4f8]
+sub eax, 3
+mov dword [esp + 0x44], eax
+mov edx, dword [ref_0048c500] ; mov edx, dword [0x48c500]
+mov eax, edx
+shl eax, 2
+add edx, eax
+shl edx, 4
+mov eax, dword [esp + 0x40]
+add eax, edx
+add eax, 6
+mov dword [esp + 0x48], eax
+mov eax, dword [ref_0048c4f8] ; mov eax, dword [0x48c4f8]
+add eax, 0x4b
+mov dword [esp + 0x4c], eax
+mov edi, dword [ref_0048c4fc] ; mov edi, dword [0x48c4fc]
+cmp ebx, edi
+jl near loc_00440192 ; jl 0x440192
+add edx, edi
+cmp ebx, edx
+jge near loc_00440192 ; jge 0x440192
+mov edx, dword [ref_0048c4f8] ; mov edx, dword [0x48c4f8]
+cmp esi, edx
+jl near loc_00440192 ; jl 0x440192
+lea eax, [edx + 0x48]
+cmp esi, eax
+jge near loc_00440192 ; jge 0x440192
+mov edx, ebx
+sub edx, edi
+mov ebx, 0x50
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov edi, eax
+cmp edi, dword [ref_0048c52c] ; cmp edi, dword [0x48c52c]
+je near loc_0043fd7e ; je 0x43fd7e
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+cmp dword [ref_0048c52c], 0xffffffff ; cmp dword [0x48c52c], 0xffffffff
+je short loc_004400f8 ; je 0x4400f8
+push 0x140
+push 0xdc
+mov edx, dword [ref_0048c500] ; mov edx, dword [0x48c500]
+sub edx, 2
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c510] ; mov edx, dword [0x48c510]
+add edx, 0xc
+add eax, edx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_004400f8:
+mov eax, edi
+shl eax, 2
+add eax, edi
+shl eax, 4
+add eax, dword [ref_0048c4fc] ; add eax, dword [0x48c4fc]
+lea ebx, [eax - 3]
+mov esi, dword [ref_0048c4f8] ; mov esi, dword [0x48c4f8]
+sub esi, 3
+push 0xffff00
+push 0x4e
+push 0x4e
+push esi
+push ebx
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0xffff00
+push 0x4c
+push 0x4c
+lea eax, [esi + 1]
+push eax
+lea eax, [ebx + 1]
+push eax
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0xffff00
+push 0x4a
+push 0x4a
+add esi, 2
+push esi
+add ebx, 2
+push ebx
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov dword [ref_0048c52c], edi ; mov dword [0x48c52c], edi
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_00440192:
+cmp dword [ref_0048c52c], 0xffffffff ; cmp dword [0x48c52c], 0xffffffff
+je near loc_0043fd7e ; je 0x43fd7e
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x140
+push 0xdc
+mov edx, dword [ref_0048c500] ; mov edx, dword [0x48c500]
+sub edx, 2
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c510] ; mov edx, dword [0x48c510]
+add edx, 0xc
+add eax, edx
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push ebp
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov dword [ref_0048c52c], 0xffffffff ; mov dword [0x48c52c], 0xffffffff
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_0044021b:
+cmp dword [ref_0048c52c], 0xffffffff ; cmp dword [0x48c52c], 0xffffffff
+je near loc_0043fd7e ; je 0x43fd7e
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048c52c] ; mov ebx, dword [0x48c52c]
+push ebx
+
+loc_00440248:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_00440255:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0xffffffffffffffff
+jmp short loc_00440248 ; jmp 0x440248
+
+loc_00440272:
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0xc]
+push ebx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+mov ecx, dword [esp + 0x18]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebp
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_004402ca:
+push edx
+mov ebx, dword [esp + 0x70]
+push ebx
+push eax
+push ebp
+jmp near loc_0043ff45 ; jmp 0x43ff45
+
+fcn_004402d7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov edi, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x201
+jb short loc_00440320 ; jb 0x440320
+jbe near loc_004405d0 ; jbe 0x4405d0
+cmp eax, 0x205
+jb short loc_00440310 ; jb 0x440310
+jbe near loc_00440669 ; jbe 0x440669
+cmp eax, 0x401
+je short loc_0044033b ; je 0x44033b
+jmp near loc_004406de ; jmp 0x4406de
+
+loc_00440310:
+cmp eax, 0x202
+je near loc_0044062b ; je 0x44062b
+jmp near loc_004406de ; jmp 0x4406de
+
+loc_00440320:
+cmp eax, 0xf
+jb near loc_004406de ; jb 0x4406de
+jbe near loc_00440686 ; jbe 0x440686
+cmp eax, 0x200
+je short loc_00440377 ; je 0x440377
+jmp near loc_004406de ; jmp 0x4406de
+
+loc_0044033b:
+mov dword [ref_0048c534], edx ; mov dword [0x48c534], edx
+mov dword [ref_0048c530], 0xffffffff ; mov dword [0x48c530], 0xffffffff
+push 0x140
+push 0xdc
+call dword [cs:__imp__SetCursorPos@8] ; ucall: call dword cs:[0x46231c]
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_00440377:
+xor ebx, ebx
+mov bx, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+mov dword [esp + 0x40], 0x14
+mov dword [esp + 0x48], 0x1a4
+mov dword [esp + 0x44], 0x118
+mov dword [esp + 0x4c], 0x171
+cmp ebx, 0x23
+jl near loc_0044051a ; jl 0x44051a
+cmp ebx, 0x196
+jg near loc_0044051a ; jg 0x44051a
+cmp eax, 0x129
+jl near loc_0044051a ; jl 0x44051a
+cmp eax, 0x15f
+jg near loc_0044051a ; jg 0x44051a
+lea edx, [ebx - 0x23]
+mov ebx, 0x4c
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov esi, eax
+cmp eax, dword [ref_0048c530] ; cmp eax, dword [0x48c530]
+je near loc_0043fd7e ; je 0x43fd7e
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 2
+push 0x7a
+push 0xdc
+push ref_00465298 ; push 0x465298
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+push 0x9a
+push 0xdc
+mov eax, esi
+mov ebp, dword [eax*8 + ref_0047ff22] ; mov ebp, dword [eax*8 + 0x47ff22]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+cmp dword [ref_0048c530], 0xffffffff ; cmp dword [0x48c530], 0xffffffff
+je short loc_004404a2 ; je 0x4404a2
+push 0x118
+push 0x14
+mov edx, dword [ref_0048c508] ; mov edx, dword [0x48c508]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+
+loc_004404a2:
+imul ebx, esi, 0x4c
+add ebx, 0x20
+push 0xffff00
+push 0x3b
+push 0x47
+push 0x126
+push ebx
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+push 0xffff00
+push 0x39
+push 0x45
+push 0x127
+inc ebx
+push ebx
+push ref_0046caec ; push 0x46caec
+call fcn_0045620f ; call 0x45620f
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048bdb8 ; push 0x48bdb8
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov dword [ref_0048c530], esi ; mov dword [0x48c530], esi
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_0044051a:
+cmp dword [ref_0048c530], 0xffffffff ; cmp dword [0x48c530], 0xffffffff
+je near loc_0043fd7e ; je 0x43fd7e
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x118
+push 0x14
+mov esi, dword [ref_0048c508] ; mov esi, dword [0x48c508]
+push esi
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 2
+push 0x7a
+push 0xdc
+push ref_00465298 ; push 0x465298
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048bdb8 ; push 0x48bdb8
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov dword [ref_0048c530], 0xffffffff ; mov dword [0x48c530], 0xffffffff
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_004405d0:
+mov edi, dword [ref_0048c530] ; mov edi, dword [0x48c530]
+cmp edi, 0xffffffff
+je near loc_0043fd7e ; je 0x43fd7e
+cmp edi, dword [ref_0048c534] ; cmp edi, dword [0x48c534]
+jge near loc_0043fd7e ; jge 0x43fd7e
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+imul eax, dword [ref_0048c530], 0x4c ; imul eax, dword [0x48c530], 0x4c
+lea edx, [eax + 0x23]
+mov dword [esp + 0x40], edx
+add eax, 0x65
+mov dword [esp + 0x48], eax
+mov dword [esp + 0x44], 0x129
+mov dword [esp + 0x4c], 0x15f
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+jmp short loc_00440661 ; jmp 0x440661
+
+loc_0044062b:
+mov ecx, dword [ref_0048c530] ; mov ecx, dword [0x48c530]
+cmp ecx, 0xffffffff
+je near loc_0043fd7e ; je 0x43fd7e
+cmp ecx, dword [ref_0048c534] ; cmp ecx, dword [0x48c534]
+jge near loc_0043fd7e ; jge 0x43fd7e
+call fcn_00451d4e ; call 0x451d4e
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov esi, dword [ref_0048c530] ; mov esi, dword [0x48c530]
+push esi
+
+loc_0044065c:
+call fcn_00401966 ; call 0x401966
+
+loc_00440661:
+add esp, 4
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_00440669:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0xffffffffffffffff
+jmp short loc_0044065c ; jmp 0x44065c
+
+loc_00440686:
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ebx, [esp + 0xc]
+push ebx
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+mov ebp, dword [esp + 0x18]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0043fd7e ; jmp 0x43fd7e
+
+loc_004406de:
+push edx
+mov edx, dword [esp + 0x70]
+push edx
+push eax
+push edi
+jmp near loc_0043ff45 ; jmp 0x43ff45
+
+endloc_004406eb:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_004406ee: ; may contain a jump table
+dd loc_00440830
+dd loc_0044083e
+dd loc_00440873
+dd loc_00440873
+dd loc_0044084c
+dd loc_0044085a
+
+fcn_00440706:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x90
+push 0
+push 0
+push 0x43
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c514], eax ; mov dword [0x48c514], eax
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ecx, ecx
+mov dword [esp + 0x80], ecx
+mov dword [esp + 0x84], 0x28
+mov dword [esp + 0x88], 0x1b8
+mov dword [esp + 0x8c], 0x1e0
+lea eax, [esp + 0x80]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048c51c], eax ; mov dword [0x48c51c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov ebx, dword [esp + 0xa4]
+and ebx, 1
+xor bl, 1
+push 0x140
+push 0xdc
+mov ecx, dword [ref_0048c514] ; mov ecx, dword [0x48c514]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+lea edx, [ecx + 0xc]
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0xf0
+mov edx, dword [ebx*4 + ref_00475ce0] ; mov edx, dword [ebx*4 + 0x475ce0]
+push edx
+mov eax, dword [ref_0048c514] ; mov eax, dword [0x48c514]
+add eax, 0x24
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov esi, dword [esp + 0xa4]
+cmp esi, 5
+ja short loc_00440873 ; ja 0x440873
+mov eax, esi
+shl eax, 2
+jmp dword [eax + ref_004406ee] ; ujmp: jmp dword [eax + 0x4406ee]
+
+loc_00440830:
+mov ecx, dword [eax + ref_0047ed7a] ; mov ecx, dword [eax + 0x47ed7a]
+push ecx
+push ref_004652a9 ; push 0x4652a9
+jmp short loc_00440866 ; jmp 0x440866
+
+loc_0044083e:
+mov edx, dword [eax + ref_0047ed7a] ; mov edx, dword [eax + 0x47ed7a]
+push edx
+push ref_004652c1 ; push 0x4652c1
+jmp short loc_00440866 ; jmp 0x440866
+
+loc_0044084c:
+mov ebp, dword [eax + ref_0047ed7a] ; mov ebp, dword [eax + 0x47ed7a]
+push ebp
+push ref_004652d1 ; push 0x4652d1
+jmp short loc_00440866 ; jmp 0x440866
+
+loc_0044085a:
+mov edi, dword [eax + ref_0047ed7a] ; mov edi, dword [eax + 0x47ed7a]
+push edi
+push ref_004652e7 ; push 0x4652e7
+
+loc_00440866:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+
+loc_00440873:
+push 4
+push 0x8c
+push 0xdc
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push ref_00475d3c ; push 0x475d3c
+call fcn_00454176 ; call 0x454176
+add esp, 4
+push 1
+push ref_00475d3c ; push 0x475d3c
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push ref_00475d3c ; push 0x475d3c
+call fcn_004542e9 ; call 0x4542e9
+add esp, 4
+push ebx
+call fcn_0043f23e ; call 0x43f23e
+mov ebx, eax
+add esp, 4
+push ref_00475d3c ; push 0x475d3c
+call fcn_00454240 ; call 0x454240
+add esp, 4
+push 0x28
+push 0
+mov esi, dword [ref_0048c51c] ; mov esi, dword [0x48c51c]
+push esi
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov edi, dword [ref_0048c514] ; mov edi, dword [0x48c514]
+push edi
+
+loc_004408f9:
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, ebx
+add esp, 0x90
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044090e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x90
+push 0
+push 0
+mov eax, dword [esp + 0xac]
+and eax, 3
+add eax, 0x44
+push eax
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c520], eax ; mov dword [0x48c520], eax
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ecx, ecx
+mov dword [esp + 0x80], ecx
+mov dword [esp + 0x84], 0x28
+mov dword [esp + 0x88], 0x1b8
+mov dword [esp + 0x8c], 0x1e0
+lea eax, [esp + 0x80]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048c51c], eax ; mov dword [0x48c51c], eax
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push ebx
+call dword [eax + 0x64] ; ucall
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x140
+push 0xdc
+mov eax, dword [ref_0048c520] ; mov eax, dword [0x48c520]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0xe6
+push 0x109
+mov eax, dword [ref_0048c520] ; mov eax, dword [0x48c520]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov ecx, dword [esp + 0xa8]
+push ecx
+mov eax, dword [esp + 0xa8]
+mov ebx, dword [eax*4 + ref_00475cf8] ; mov ebx, dword [eax*4 + 0x475cf8]
+push ebx
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 4
+push 0x8c
+push 0xdc
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+push ref_00475d4c ; push 0x475d4c
+call fcn_00454176 ; call 0x454176
+add esp, 4
+mov esi, dword [esp + 0xa4]
+push esi
+call fcn_0043f7c6 ; call 0x43f7c6
+mov ebx, eax
+add esp, 4
+push ref_00475d4c ; push 0x475d4c
+call fcn_00454240 ; call 0x454240
+add esp, 4
+push 0x28
+push 0
+mov edi, dword [ref_0048c51c] ; mov edi, dword [0x48c51c]
+push edi
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov ebp, dword [ref_0048c520] ; mov ebp, dword [0x48c520]
+push ebp
+jmp near loc_004408f9 ; jmp 0x4408f9
+
+fcn_00440aac:
+push ebx
+push edi
+push ebp
+sub esp, 0x10
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor edx, edx
+mov dword [esp], edx
+mov dword [esp + 4], 0x28
+mov dword [esp + 8], 0x1b8
+mov dword [esp + 0xc], 0x1e0
+mov eax, esp
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048c51c], eax ; mov dword [0x48c51c], eax
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push ebx
+call dword [eax + 0x64] ; ucall
+push 0x117
+push 0x2b
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x3c
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 2
+push 0x7a
+push 0xdc
+push ref_00465289 ; push 0x465289
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+mov eax, dword [esp + 0x20]
+push eax
+push fcn_0043fae4 ; push 0x43fae4
+call fcn_004018e7 ; call 0x4018e7
+mov ebx, eax
+add esp, 8
+push 0x28
+push 0
+mov edx, dword [ref_0048c51c] ; mov edx, dword [0x48c51c]
+push edx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov eax, ebx
+add esp, 0x10
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_00440ba8:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor edx, edx
+mov dword [esp], edx
+mov dword [esp + 4], 0x28
+mov dword [esp + 8], 0x1b8
+mov dword [esp + 0xc], 0x1e0
+mov eax, esp
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048c51c], eax ; mov dword [0x48c51c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 4
+push 0x8c
+push 0xdc
+mov ebp, dword [esp + 0x30]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0x10
+push ref_0048bdb8 ; push 0x48bdb8
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+mov ecx, dword [ref_0048bdbc] ; mov ecx, dword [0x48bdbc]
+push ecx
+mov esi, dword [ref_0048bdb8] ; mov esi, dword [0x48bdb8]
+push esi
+push eax
+call dword [ebx + 0x1c] ; ucall
+push 0x140
+push 0xdc
+call fcn_00453a32 ; call 0x453a32
+mov ebx, eax
+add esp, 8
+push 0x28
+push 0
+mov edi, dword [ref_0048c51c] ; mov edi, dword [0x48c51c]
+push edi
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov eax, ebx
+jmp near loc_0043f212 ; jmp 0x43f212
+
+fcn_00440cac:
+push ebx
+push esi
+push ebp
+sub esp, 0x20
+mov esi, dword [esp + 0x34]
+call fcn_004024a1 ; call 0x4024a1
+mov ebx, eax
+cmp eax, 1
+jne short loc_00440ccc ; jne 0x440ccc
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+
+loc_00440ccc:
+mov eax, dword [ref_0048bdb8] ; mov eax, dword [0x48bdb8]
+mov dword [esp], eax
+mov eax, dword [ref_0048bdc0] ; mov eax, dword [0x48bdc0]
+mov dword [esp + 8], eax
+mov eax, dword [ref_0048bdbc] ; mov eax, dword [0x48bdbc]
+mov dword [esp + 4], eax
+mov eax, dword [ref_0048bdc4] ; mov eax, dword [0x48bdc4]
+mov dword [esp + 0xc], eax
+test esi, 0x80000000
+je short loc_00440d06 ; je 0x440d06
+and esi, 0x7fffffff
+add dword [esp], 0x64
+add dword [esp + 8], 0x64
+
+loc_00440d06:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebp, ebp
+mov dword [esp + 0x10], ebp
+mov dword [esp + 0x14], 0x28
+mov dword [esp + 0x18], 0x1b8
+mov dword [esp + 0x1c], 0x1e0
+lea eax, [esp + 0x10]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048c51c], eax ; mov dword [0x48c51c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push ebp
+push 1
+push ref_0048a068 ; push 0x48a068
+push ebp
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+movsx edx, word [eax + 0x4e]
+add edx, dword [esp + 4]
+push edx
+movsx edx, word [eax + 0x4c]
+add edx, dword [esp + 4]
+push edx
+add eax, 0x48
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 4
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+movsx edx, word [eax + 0x4e]
+add edx, dword [esp + 8]
+push edx
+movsx eax, word [eax + 0x4c]
+add eax, dword [esp + 8]
+push eax
+mov eax, dword [esp + 0x3c]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebp, dword [esp + 0x10]
+push ebp
+mov ecx, dword [esp + 0x10]
+push ecx
+push eax
+call dword [edx + 0x1c] ; ucall
+push esi
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+push 0x28
+push 0
+mov esi, dword [ref_0048c51c] ; mov esi, dword [0x48c51c]
+push esi
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+cmp ebx, 1
+jne short loc_00440e11 ; jne 0x440e11
+push ebx
+call fcn_00402460 ; call 0x402460
+add esp, 4
+
+loc_00440e11:
+mov eax, edi
+add esp, 0x20
+pop ebp
+pop esi
+pop ebx
+ret
+
+fcn_00440e1a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov ebp, dword [esp + 0x24]
+push 0
+push 0
+push 0x206
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c510], eax ; mov dword [0x48c510], eax
+push 0
+push 0
+push 2
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c518], eax ; mov dword [0x48c518], eax
+lea edx, [ebp - 2]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, dword [ref_0048c510] ; mov edx, dword [0x48c510]
+add eax, edx
+movsx edx, word [eax + 0x10]
+mov ebx, 0xdc
+sub ebx, edx
+lea edx, [ebx + 0xc]
+mov dword [ref_0048c4fc], edx ; mov dword [0x48c4fc], edx
+movsx eax, word [eax + 0x12]
+mov edx, 0x140
+sub edx, eax
+lea eax, [edx + 0xc]
+mov dword [ref_0048c4f8], eax ; mov dword [0x48c4f8], eax
+mov dword [ref_0048c500], ebp ; mov dword [0x48c500], ebp
+xor ebx, ebx
+mov esi, 0xc
+
+loc_00440ea5:
+lea edx, [ebp - 2]
+mov edi, edx
+shl edi, 2
+sub edi, edx
+shl edi, 2
+cmp ebx, ebp
+jge short loc_00440f00 ; jge 0x440f00
+push 0xc
+push esi
+mov eax, dword [esp + 0x30]
+mov al, byte [ebx + eax]
+and eax, 0xff
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c518] ; mov eax, dword [0x48c518]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048c510] ; mov eax, dword [0x48c510]
+add eax, 0xc
+add eax, edi
+push eax
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+add esi, 0x50
+inc ebx
+jmp short loc_00440ea5 ; jmp 0x440ea5
+
+loc_00440f00:
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+mov dword [esp], ebx
+mov dword [esp + 4], 0x28
+mov dword [esp + 8], 0x1b8
+mov dword [esp + 0xc], 0x1e0
+mov eax, esp
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048c51c], eax ; mov dword [0x48c51c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push ebx
+push 1
+push ref_0048a068 ; push 0x48a068
+push ebx
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 4
+push 0x8c
+push 0xdc
+mov ecx, dword [esp + 0x38]
+push ecx
+push ebx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x140
+push 0xdc
+mov eax, dword [ref_0048c510] ; mov eax, dword [0x48c510]
+add eax, 0xc
+add eax, edi
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push fcn_0043ff56 ; push 0x43ff56
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov esi, eax
+cmp eax, 0xffffffff
+je short loc_00440fe6 ; je 0x440fe6
+add eax, dword [esp + 0x28]
+movzx esi, byte [eax]
+
+loc_00440fe6:
+push 0x28
+push 0
+mov edi, dword [ref_0048c51c] ; mov edi, dword [0x48c51c]
+push edi
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov ebp, dword [ref_0048c510] ; mov ebp, dword [0x48c510]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048c518] ; mov eax, dword [0x48c518]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, esi
+jmp near loc_0043f212 ; jmp 0x43f212
+
+fcn_0044101d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov edi, dword [esp + 0x24]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_004411e7 ; jne 0x4411e7
+push 0
+push 0
+push 0xb
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov ebp, eax
+push 0
+push 0
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+movsx edx, word [eax + 0x62]
+push edx
+movsx eax, word [eax + 0x60]
+push eax
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048c508], eax ; mov dword [0x48c508], eax
+push 0
+push 0
+mov edx, dword [ref_0048bad8] ; mov edx, dword [0x48bad8]
+add edx, 0x60
+push edx
+push eax
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+xor ebx, ebx
+mov esi, 0xf
+jmp short loc_0044109c ; jmp 0x44109c
+
+loc_00441093:
+inc ebx
+add esi, 0x4c
+cmp ebx, 5
+jge short loc_004410e4 ; jge 0x4410e4
+
+loc_0044109c:
+push 0x2c
+lea eax, [esi + 0x21]
+push eax
+lea edx, [ebx + 0xa]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+lea edx, [ebp + 0xc]
+add eax, edx
+push eax
+mov eax, dword [ref_0048c508] ; mov eax, dword [0x48c508]
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+xor eax, eax
+mov al, byte [edi + 0x1a]
+cmp ebx, eax
+jl short loc_00441093 ; jl 0x441093
+push 0x36
+push 0x42
+push 0x11
+push esi
+mov edx, dword [ref_0048c508] ; mov edx, dword [0x48c508]
+push edx
+call fcn_004553fe ; call 0x4553fe
+add esp, 0x14
+jmp short loc_00441093 ; jmp 0x441093
+
+loc_004410e4:
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ecx, ecx
+mov dword [esp], ecx
+mov dword [esp + 4], 0x28
+mov dword [esp + 8], 0x1b8
+mov dword [esp + 0xc], 0x1e0
+mov eax, esp
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048c51c], eax ; mov dword [0x48c51c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x8c
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 2
+push 0x7a
+push 0xdc
+push ref_00465298 ; push 0x465298
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x118
+push 0x14
+mov edx, dword [ref_0048c508] ; mov edx, dword [0x48c508]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor eax, eax
+mov al, byte [edi + 0x1a]
+push eax
+push fcn_004402d7 ; push 0x4402d7
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebx, eax
+push 0x28
+push 0
+mov esi, dword [ref_0048c51c] ; mov esi, dword [0x48c51c]
+push esi
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov ebp, dword [ref_0048c508] ; mov ebp, dword [0x48c508]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp short loc_004411ed ; jmp 0x4411ed
+
+loc_004411e7:
+xor ebx, ebx
+mov bl, byte [edi + 0x1a]
+dec ebx
+
+loc_004411ed:
+cmp ebx, 0xffffffff
+je near loc_0043f212 ; je 0x43f212
+inc bl
+mov byte [edi + 0x1d], bl
+mov byte [edi + 0x1e], 5
+jmp near loc_0043f212 ; jmp 0x43f212
+
+ref_00441204:
+dd 0x010000a5
+dd 0x00000000
+dd 0x00000000
+
+fcn_00441210:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+push 0x15
+push esi
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_00441237 ; jne 0x441237
+push esi
+call fcn_00444bb2 ; call 0x444bb2
+add esp, 4
+mov eax, 0xffffffff
+pop esi
+pop ebx
+ret
+
+loc_00441237:
+mov ebx, esi
+push 0x13
+push esi
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_0044125d ; jne 0x44125d
+push 0
+push 0
+push esi
+call fcn_0044476a ; call 0x44476a
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_0044125d ; je 0x44125d
+mov ebx, eax
+
+loc_0044125d:
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_00441262:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+xor ecx, ecx
+xor ebx, ebx
+jmp short loc_00441274 ; jmp 0x441274
+
+loc_0044126e:
+inc ecx
+cmp ecx, 0xf
+jge short loc_0044125d ; jge 0x44125d
+
+loc_00441274:
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [ecx + eax + ref_00499120], 0 ; cmp byte [ecx + eax + 0x499120], 0
+je short loc_0044126e ; je 0x44126e
+inc ebx
+jmp short loc_0044126e ; jmp 0x44126e
+
+fcn_0044128f:
+push ebx
+push esi
+push edi
+mov edi, dword [esp + 0x10]
+xor ecx, ecx
+mov ebx, 0x2710
+xor esi, esi
+jmp short loc_004412a7 ; jmp 0x4412a7
+
+loc_004412a1:
+inc ecx
+cmp ecx, 0xf
+jge short loc_004412de ; jge 0x4412de
+
+loc_004412a7:
+mov eax, edi
+shl eax, 2
+add eax, edi
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add eax, ecx
+cmp byte [eax + ref_00499120], 0 ; cmp byte [eax + 0x499120], 0
+je short loc_004412a1 ; je 0x4412a1
+xor edx, edx
+mov dl, byte [eax + ref_00499120] ; mov dl, byte [eax + 0x499120]
+mov al, byte [edx*8 + ref_0047fdef] ; mov al, byte [edx*8 + 0x47fdef]
+and eax, 0xff
+cmp ebx, eax
+jle short loc_004412a1 ; jle 0x4412a1
+mov ebx, eax
+mov esi, edx
+jmp short loc_004412a1 ; jmp 0x4412a1
+
+loc_004412de:
+mov eax, esi
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004412e4:
+push ebx
+mov ebx, dword [esp + 8]
+push ebx
+call fcn_00441262 ; call 0x441262
+add esp, 4
+cmp eax, 0xf
+jne short loc_0044130a ; jne 0x44130a
+push ebx
+call fcn_0044128f ; call 0x44128f
+add esp, 4
+push eax
+push ebx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+
+loc_0044130a:
+xor ecx, ecx
+jmp short loc_00441314 ; jmp 0x441314
+
+loc_0044130e:
+inc ecx
+cmp ecx, 0xf
+jge short loc_00441341 ; jge 0x441341
+
+loc_00441314:
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add eax, ecx
+cmp byte [eax + ref_00499120], 0 ; cmp byte [eax + 0x499120], 0
+jne short loc_0044130e ; jne 0x44130e
+mov dl, byte [esp + 0xc]
+mov byte [eax + ref_00499120], dl ; mov byte [eax + 0x499120], dl
+mov eax, dword [esp + 0xc]
+dec byte [eax + ref_00499197] ; dec byte [eax + 0x499197]
+
+loc_00441341:
+pop ebx
+ret
+
+fcn_00441343:
+push ebx
+push esi
+push edi
+push ebp
+mov ecx, dword [esp + 0x14]
+mov edi, dword [esp + 0x18]
+xor ebx, ebx
+jmp short loc_0044135a ; jmp 0x44135a
+
+loc_00441353:
+mov ebx, eax
+cmp eax, 0xf
+jge short loc_004413a8 ; jge 0x4413a8
+
+loc_0044135a:
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov esi, eax
+shl esi, 2
+sub esi, eax
+lea eax, [esi + ebx]
+xor edx, edx
+mov dl, byte [eax + ref_00499120] ; mov dl, byte [eax + 0x499120]
+lea eax, [ebx + 1]
+cmp edx, edi
+jne short loc_00441353 ; jne 0x441353
+mov ebp, 0xe
+sub ebp, ebx
+push ebp
+mov edx, ref_00499120 ; mov edx, 0x499120
+add edx, esi
+add eax, edx
+push eax
+add edx, ebx
+push edx
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+add ebx, ebp
+xor ah, ah
+mov byte [esi + ebx + ref_00499120], ah ; mov byte [esi + ebx + 0x499120], ah
+inc byte [edi + ref_00499197] ; inc byte [edi + 0x499197]
+
+loc_004413a8:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004413ad:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+mov ebx, dword [esp + 0x10]
+xor ecx, ecx
+jmp short loc_004413c1 ; jmp 0x4413c1
+
+loc_004413bb:
+inc ecx
+cmp ecx, 0xf
+jge short loc_004413e7 ; jge 0x4413e7
+
+loc_004413c1:
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov al, byte [ecx + eax + ref_00499120] ; mov al, byte [ecx + eax + 0x499120]
+and eax, 0xff
+cmp eax, ebx
+jne short loc_004413bb ; jne 0x4413bb
+mov eax, 1
+pop esi
+pop ebx
+ret
+
+loc_004413e7:
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+fcn_004413ec:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebx, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x202
+jb short loc_00441429 ; jb 0x441429
+jbe near loc_00441641 ; jbe 0x441641
+cmp eax, 0x205
+jb near loc_004416d7 ; jb 0x4416d7
+jbe near loc_00441671 ; jbe 0x441671
+cmp eax, 0x401
+je short loc_00441444 ; je 0x441444
+jmp near loc_004416d7 ; jmp 0x4416d7
+
+loc_00441429:
+cmp eax, 0xf
+jb near loc_004416d7 ; jb 0x4416d7
+jbe near loc_0044167f ; jbe 0x44167f
+cmp eax, 0x201
+je short loc_0044147a ; je 0x44147a
+jmp near loc_004416d7 ; jmp 0x4416d7
+
+loc_00441444:
+xor ecx, ecx
+mov dword [ref_0048c538], ecx ; mov dword [0x48c538], ecx
+mov eax, edx
+and eax, 3
+mov dword [ref_0048c53c], eax ; mov dword [0x48c53c], eax
+sar edx, 0x10
+mov dword [ref_0048c540], edx ; mov dword [0x48c540], edx
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00441579 ; jmp 0x441579
+
+loc_0044147a:
+xor ebx, ebx
+mov bx, dx
+shr edx, 0x10
+and edx, 0xffff
+xor eax, eax
+mov ax, dx
+cmp ebx, 0x13
+jl near loc_00441580 ; jl 0x441580
+cmp ebx, 0x1a3
+jge near loc_00441580 ; jge 0x441580
+cmp eax, 0x4b
+jl near loc_00441580 ; jl 0x441580
+cmp eax, 0xf3
+jge near loc_00441580 ; jge 0x441580
+lea edx, [eax - 0x4b]
+mov ecx, 0x38
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov ecx, eax
+shl ecx, 2
+add ecx, eax
+lea edx, [ebx - 0x13]
+mov ebx, 0x50
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+lea ebx, [ecx + eax]
+mov edx, dword [ref_0048c53c] ; mov edx, dword [0x48c53c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [ebx + eax + ref_00499120], 0 ; cmp byte [ebx + eax + 0x499120], 0
+je near loc_00441579 ; je 0x441579
+mov ecx, 5
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 4
+lea edx, [eax + 0x14]
+mov dword [esp + 0x40], edx
+add eax, 0x62
+mov dword [esp + 0x48], eax
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+lea edx, [eax + 0x4c]
+mov dword [esp + 0x44], edx
+add eax, 0x82
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+add esp, 4
+mov edx, dword [ref_0048c53c] ; mov edx, dword [0x48c53c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add ebx, eax
+xor eax, eax
+mov al, byte [ebx + ref_00499120] ; mov al, byte [ebx + 0x499120]
+
+loc_00441574:
+mov dword [ref_0048c538], eax ; mov dword [0x48c538], eax
+
+loc_00441579:
+xor eax, eax
+jmp near loc_004416e6 ; jmp 0x4416e6
+
+loc_00441580:
+cmp ebx, 0x13
+jl short loc_00441579 ; jl 0x441579
+cmp ebx, 0x1a3
+jge short loc_00441579 ; jge 0x441579
+cmp eax, 0x113
+jl short loc_00441579 ; jl 0x441579
+cmp eax, 0x1bb
+jge short loc_00441579 ; jge 0x441579
+cmp dword [ref_0048c540], 0 ; cmp dword [0x48c540], 0
+je short loc_00441579 ; je 0x441579
+lea edx, [eax - 0x113]
+mov ecx, 0x38
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov esi, eax
+shl esi, 2
+add esi, eax
+lea edx, [ebx - 0x13]
+mov ecx, 0x50
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+lea ebx, [esi + eax]
+cmp byte [ebx + ref_0048c548], 0 ; cmp byte [ebx + 0x48c548], 0
+je short loc_00441579 ; je 0x441579
+mov ecx, 5
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 4
+lea edx, [eax + 0x14]
+mov dword [esp + 0x40], edx
+add eax, 0x62
+mov dword [esp + 0x48], eax
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+lea edx, [eax + 0x114]
+mov dword [esp + 0x44], edx
+add eax, 0x14a
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+add esp, 4
+xor eax, eax
+mov al, byte [ebx + ref_0048c548] ; mov al, byte [ebx + 0x48c548]
+or ah, 0x80
+jmp near loc_00441574 ; jmp 0x441574
+
+loc_00441641:
+cmp dword [ref_0048c538], 0 ; cmp dword [0x48c538], 0
+je near loc_00441579 ; je 0x441579
+call fcn_00451d4e ; call 0x451d4e
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov esi, dword [ref_0048c538] ; mov esi, dword [0x48c538]
+push esi
+
+loc_00441664:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00441579 ; jmp 0x441579
+
+loc_00441671:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+jmp short loc_00441664 ; jmp 0x441664
+
+loc_0044167f:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+mov ecx, dword [esp + 0x18]
+push ecx
+mov esi, dword [esp + 0x18]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00441579 ; jmp 0x441579
+
+loc_004416d7:
+push edx
+mov edi, dword [esp + 0x70]
+push edi
+
+loc_004416dd:
+push eax
+push ebx
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+
+loc_004416e6:
+add esp, 0x50
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+fcn_004416f0:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebx, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x202
+jb short loc_0044172d ; jb 0x44172d
+jbe near loc_00441889 ; jbe 0x441889
+cmp eax, 0x205
+jb near loc_0044191f ; jb 0x44191f
+jbe near loc_004418b9 ; jbe 0x4418b9
+cmp eax, 0x401
+je short loc_00441748 ; je 0x441748
+jmp near loc_0044191f ; jmp 0x44191f
+
+loc_0044172d:
+cmp eax, 0xf
+jb near loc_0044191f ; jb 0x44191f
+jbe near loc_004418c7 ; jbe 0x4418c7
+cmp eax, 0x201
+je short loc_0044176b ; je 0x44176b
+jmp near loc_0044191f ; jmp 0x44191f
+
+loc_00441748:
+xor edx, edx
+mov dword [ref_0048c544], edx ; mov dword [0x48c544], edx
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00441579 ; jmp 0x441579
+
+loc_0044176b:
+xor ebx, ebx
+mov bx, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+cmp ebx, 0x13
+jl near loc_00441579 ; jl 0x441579
+cmp ebx, 0x1a3
+jge near loc_00441579 ; jge 0x441579
+cmp edx, 0x87
+jl near loc_00441579 ; jl 0x441579
+cmp edx, 0x12f
+jge near loc_00441579 ; jge 0x441579
+sub edx, 0x87
+mov ecx, 0x38
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov esi, eax
+shl esi, 2
+add esi, eax
+lea edx, [ebx - 0x13]
+mov ecx, 0x50
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+lea ebx, [esi + eax]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp byte [ebx + eax + ref_00499120], 0 ; cmp byte [ebx + eax + 0x499120], 0
+je near loc_00441579 ; je 0x441579
+mov ecx, 5
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 4
+lea edx, [eax + 0x14]
+mov dword [esp + 0x40], edx
+add eax, 0x62
+mov dword [esp + 0x48], eax
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+lea edx, [eax + 0x88]
+mov dword [esp + 0x44], edx
+add eax, 0xbe
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+add esp, 4
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add ebx, eax
+xor eax, eax
+mov al, byte [ebx + ref_00499120] ; mov al, byte [ebx + 0x499120]
+mov dword [ref_0048c544], eax ; mov dword [0x48c544], eax
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_00441579 ; jmp 0x441579
+
+loc_00441889:
+cmp dword [ref_0048c544], 0 ; cmp dword [0x48c544], 0
+je near loc_00441579 ; je 0x441579
+call fcn_00451d4e ; call 0x451d4e
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048c544] ; mov ebx, dword [0x48c544]
+push ebx
+
+loc_004418ac:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00441579 ; jmp 0x441579
+
+loc_004418b9:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+jmp short loc_004418ac ; jmp 0x4418ac
+
+loc_004418c7:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+mov ebp, dword [esp + 0x18]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00441579 ; jmp 0x441579
+
+loc_0044191f:
+push edx
+mov edx, dword [esp + 0x70]
+push edx
+jmp near loc_004416dd ; jmp 0x4416dd
+
+fcn_0044192a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xa8
+mov edi, dword [esp + 0xbc]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_00441a5d ; jne 0x441a5d
+push 0
+push 0
+push 0xb
+mov eax, dword [ref_0048a05c] ; mov eax, dword [0x48a05c]
+push eax
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+mov ebp, eax
+push edi
+push eax
+push 0
+call fcn_00447c6e ; call 0x447c6e
+add esp, 0xc
+push edi
+push ebx
+push 0
+call fcn_00441b0a ; call 0x441b0a
+add esp, 0xc
+xor edx, edx
+mov dword [esp + 0x94], edx
+mov dword [esp + 0x98], 0x28
+mov dword [esp + 0x9c], 0x1b8
+mov dword [esp + 0xa0], 0x1e0
+lea eax, [esp + 0x94]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [esp + 0xa4], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov esi, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [esi + 0x64] ; ucall
+push 0x46
+push 0xe
+lea eax, [ebx + 0xc]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+cmp dword [esp + 0xc4], 1
+jne short loc_00441a11 ; jne 0x441a11
+push 0x10e
+push 0xe
+add ebx, 0x18
+push ebx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_00441a11:
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+mov eax, dword [esp + 0xc4]
+shl eax, 0x10
+or eax, edi
+push eax
+push fcn_004413ec ; push 0x4413ec
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebx, eax
+push 0x28
+push 0
+mov esi, dword [esp + 0xac]
+push esi
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp short loc_00441ab9 ; jmp 0x441ab9
+
+loc_00441a5d:
+push 1
+call fcn_0041e6f2 ; call 0x41e6f2
+mov esi, eax
+add esp, 4
+mov ebx, eax
+imul eax, edi, 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov ebp, dword [esi*8 + ref_0047fdea] ; mov ebp, dword [esi*8 + 0x47fdea]
+push ebp
+lea eax, [esp + 0x84]
+push eax
+push ref_004652f8 ; push 0x4652f8
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_00441ab9:
+test ebx, ebx
+je short loc_00441afd ; je 0x441afd
+test bh, 0x80
+je short loc_00441ae2 ; je 0x441ae2
+and ebx, 0x7fff
+push ebx
+push edi
+call fcn_00445aa2 ; call 0x445aa2
+add esp, 8
+push ebx
+mov ebp, dword [esp + 0xc4]
+push ebp
+call fcn_00445a4d ; call 0x445a4d
+jmp short loc_00441afa ; jmp 0x441afa
+
+loc_00441ae2:
+push ebx
+push edi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+push ebx
+mov edi, dword [esp + 0xc4]
+push edi
+call fcn_004412e4 ; call 0x4412e4
+
+loc_00441afa:
+add esp, 8
+
+loc_00441afd:
+mov eax, ebx
+add esp, 0xa8
+
+loc_00441b05:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00441b0a:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x14]
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [esp + 0x18]
+add eax, 0xc
+test ebp, ebp
+jne short loc_00441b39 ; jne 0x441b39
+mov ebp, eax
+jmp short loc_00441b47 ; jmp 0x441b47
+
+loc_00441b39:
+push 0
+push 0
+push eax
+push ebp
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+
+loc_00441b47:
+xor esi, esi
+mov ebx, 0x2d
+mov edi, 0x21
+jmp short loc_00441b5b ; jmp 0x441b5b
+
+loc_00441b55:
+inc esi
+cmp esi, 0xf
+jge short loc_00441b05 ; jge 0x441b05
+
+loc_00441b5b:
+mov edx, dword [esp + 0x1c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add eax, esi
+mov dl, byte [eax + ref_00499120] ; mov dl, byte [eax + 0x499120]
+test dl, dl
+je short loc_00441b55 ; je 0x441b55
+push 2
+push edi
+push ebx
+mov al, dl
+and eax, 0xff
+mov edx, dword [eax*8 + ref_0047fdea] ; mov edx, dword [eax*8 + 0x47fdea]
+push edx
+push ebp
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+add ebx, 0x50
+cmp ebx, 0x16d
+jle short loc_00441b55 ; jle 0x441b55
+mov ebx, 0x2d
+add edi, 0x38
+jmp short loc_00441b55 ; jmp 0x441b55
+
+fcn_00441baa:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x98
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [eax + ref_00496b7d] ; mov dl, byte [eax + 0x496b7d]
+cmp dl, 1
+jne near loc_00441d00 ; jne 0x441d00
+call fcn_0041d546 ; call 0x41d546
+push 0
+push 0
+push 0xb
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov edi, eax
+xor esi, esi
+mov dword [esp + 0x80], esi
+mov dword [esp + 0x84], 0x28
+mov dword [esp + 0x88], 0x1b8
+mov dword [esp + 0x8c], 0x1e0
+lea eax, [esp + 0x80]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov ebp, eax
+
+loc_00441c22:
+mov esi, 1
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+push edi
+push 0
+call fcn_00441b0a ; call 0x441b0a
+add esp, 0xc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push esi
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x82
+push 0xe
+lea eax, [edi + 0xc]
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push fcn_004416f0 ; push 0x4416f0
+call fcn_004018e7 ; call 0x4018e7
+mov ebx, eax
+add esp, 8
+push 0x8028
+push 0
+push ebp
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+test ebx, ebx
+je short loc_00441ce1 ; je 0x441ce1
+mov eax, ebx
+mov edx, dword [eax*8 + ref_0047fdea] ; mov edx, dword [eax*8 + 0x47fdea]
+push edx
+push ref_00465305 ; push 0x465305
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+push ebx
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+mov eax, ebx
+call dword [eax*4 + ref_00475d5c] ; ucall: call dword [eax*4 + 0x475d5c]
+mov esi, eax
+test eax, eax
+jne short loc_00441ce1 ; jne 0x441ce1
+push eax
+push ref_0048233a ; push 0x48233a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_00441ce1:
+test esi, esi
+je near loc_00441c22 ; je 0x441c22
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp near loc_00441e07 ; jmp 0x441e07
+
+loc_00441d00:
+test dl, 6
+je near loc_00441e07 ; je 0x441e07
+test byte [eax + ref_00496b7e], 1 ; test byte [eax + 0x496b7e], 1
+je near loc_00441e07 ; je 0x441e07
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441262 ; call 0x441262
+mov esi, eax
+add esp, 4
+mov edi, eax
+test eax, eax
+je near loc_00441e07 ; je 0x441e07
+push 8
+push 0
+lea eax, [esp + 0x98]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+cmp esi, 8
+jle short loc_00441d5a ; jle 0x441d5a
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+mov esi, edx
+jmp short loc_00441d5c ; jmp 0x441d5c
+
+loc_00441d5a:
+xor esi, esi
+
+loc_00441d5c:
+xor ebx, ebx
+jmp short loc_00441d66 ; jmp 0x441d66
+
+loc_00441d60:
+inc ebx
+cmp ebx, 8
+jge short loc_00441d98 ; jge 0x441d98
+
+loc_00441d66:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov edx, esi
+inc esi
+mov al, byte [edx + eax + ref_00499120] ; mov al, byte [edx + eax + 0x499120]
+mov byte [esp + ebx + 0x90], al
+cmp edi, 8
+jle short loc_00441d60 ; jle 0x441d60
+cmp esi, edi
+jne short loc_00441d60 ; jne 0x441d60
+xor esi, edi
+jmp short loc_00441d60 ; jmp 0x441d60
+
+loc_00441d98:
+xor ebx, ebx
+jmp short loc_00441da2 ; jmp 0x441da2
+
+loc_00441d9c:
+inc ebx
+cmp ebx, 8
+jge short loc_00441e07 ; jge 0x441e07
+
+loc_00441da2:
+mov cl, byte [esp + ebx + 0x90]
+test cl, cl
+je short loc_00441e07 ; je 0x441e07
+xor eax, eax
+mov al, cl
+push eax
+call fcn_0041e69e ; call 0x41e69e
+add esp, 4
+cmp eax, 1
+jne short loc_00441d9c ; jne 0x441d9c
+xor eax, eax
+mov al, byte [esp + ebx + 0x90]
+mov ecx, dword [eax*8 + ref_0047fdea] ; mov ecx, dword [eax*8 + 0x47fdea]
+push ecx
+push ref_00465305 ; push 0x465305
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+xor eax, eax
+mov al, byte [esp + ebx + 0x94]
+push eax
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+xor eax, eax
+mov al, byte [esp + ebx + 0x90]
+call dword [eax*4 + ref_00475d5c] ; ucall: call dword [eax*4 + 0x475d5c]
+
+loc_00441e07:
+add esp, 0x98
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00441e12:
+push ebx
+push esi
+sub esp, 0x80
+xor esi, esi
+xor eax, eax
+xor ebx, ebx
+jmp short loc_00441e28 ; jmp 0x441e28
+
+loc_00441e22:
+inc eax
+cmp eax, 0x1e
+jge short loc_00441e46 ; jge 0x441e46
+
+loc_00441e28:
+cmp byte [eax + ref_00499198], 0 ; cmp byte [eax + 0x499198], 0
+je short loc_00441e22 ; je 0x441e22
+xor edx, edx
+
+loc_00441e33:
+xor ecx, ecx
+mov cl, byte [eax + ref_00499198] ; mov cl, byte [eax + 0x499198]
+cmp edx, ecx
+jge short loc_00441e22 ; jge 0x441e22
+mov byte [esp + ebx], al
+inc ebx
+inc edx
+jmp short loc_00441e33 ; jmp 0x441e33
+
+loc_00441e46:
+test ebx, ebx
+je short loc_00441e6c ; je 0x441e6c
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+movzx esi, byte [esp + edx]
+inc esi
+push esi
+mov edx, dword [esp + 0x90]
+push edx
+call fcn_004412e4 ; call 0x4412e4
+add esp, 8
+
+loc_00441e6c:
+mov eax, esi
+add esp, 0x80
+pop esi
+pop ebx
+ret
+
+fcn_00441e77:
+push ebx
+push esi
+xor ebx, ebx
+mov edx, dword [esp + 0xc]
+push edx
+call fcn_00441262 ; call 0x441262
+mov esi, eax
+add esp, 4
+test eax, eax
+je short loc_00441ec9 ; je 0x441ec9
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+mov ebx, edx
+mov edx, dword [esp + 0xc]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov bl, byte [ebx + eax + ref_00499120] ; mov bl, byte [ebx + eax + 0x499120]
+and ebx, 0xff
+push ebx
+mov ecx, dword [esp + 0x10]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+
+loc_00441ec9:
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_00441ece:
+push ebx
+push esi
+push edi
+mov esi, dword [esp + 0x10]
+xor ebx, ebx
+push esi
+call fcn_00441262 ; call 0x441262
+add esp, 4
+mov edi, eax
+cmp eax, 1
+jle short loc_00441f1b ; jle 0x441f1b
+
+loc_00441ee7:
+mov eax, edi
+sar eax, 1
+cmp ebx, eax
+jge short loc_00441f16 ; jge 0x441f16
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov al, byte [ebx + eax + ref_00499120] ; mov al, byte [ebx + eax + 0x499120]
+and eax, 0xff
+push eax
+push esi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+inc ebx
+jmp short loc_00441ee7 ; jmp 0x441ee7
+
+loc_00441f16:
+mov ebx, 1
+
+loc_00441f1b:
+mov eax, ebx
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00441f21:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+xor ecx, ecx
+xor ebx, ebx
+jmp short loc_00441f33 ; jmp 0x441f33
+
+loc_00441f2d:
+inc ecx
+cmp ecx, 0xf
+jge short loc_00441ec9 ; jge 0x441ec9
+
+loc_00441f33:
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add eax, ecx
+cmp byte [eax + ref_00499120], 0 ; cmp byte [eax + 0x499120], 0
+je short loc_00441f2d ; je 0x441f2d
+xor edx, edx
+mov dl, byte [eax + ref_00499120] ; mov dl, byte [eax + 0x499120]
+inc byte [edx + ref_00499197] ; inc byte [edx + 0x499197]
+mov dl, byte [edx*8 + ref_0047fdef] ; mov dl, byte [edx*8 + 0x47fdef]
+and edx, 0xff
+add ebx, edx
+xor dh, dh
+mov byte [eax + ref_00499120], dh ; mov byte [eax + 0x499120], dh
+jmp short loc_00441f2d ; jmp 0x441f2d
+
+fcn_00441f73:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x1c
+lea edi, [esp + 0x10]
+mov esi, ref_00441204 ; mov esi, 0x441204
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+cmp dword [esp + 0x30], 0
+je near loc_004420cd ; je 0x4420cd
+push 1
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0
+push 0
+mov eax, dword [esp + 0x38]
+add eax, 0x23a
+push eax
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [esp + 0x18], eax
+xor ebx, ebx
+mov dword [esp], ebx
+mov dword [esp + 4], 0x28
+mov dword [esp + 8], 0x1b8
+mov dword [esp + 0xc], 0x1e0
+mov eax, esp
+push eax
+call fcn_00451e7e ; call 0x451e7e
+mov ebx, eax
+add esp, 4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x81
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x48
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 4
+push 0x81
+push 0xdc
+mov edx, dword [esp + 0x40]
+push edx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0xc8
+push 0x8a
+lea eax, [esp + 0x18]
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x10]
+push edi
+mov ebp, dword [esp + 0x10]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0
+push ref_00482402 ; push 0x482402
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0x5dc
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+push 0x28
+push 0
+push ebx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov eax, dword [esp + 0x18]
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_004420cd:
+add esp, 0x1c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004420d5:
+xor eax, eax
+ret
+
+fcn_004420d8:
+push ebx
+push esi
+push edi
+push 1
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebx, dword [eax + ref_0048123a] ; mov ebx, dword [eax + 0x48123a]
+push ebx
+push 3
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+xor ebx, ebx
+xor esi, esi
+xor ecx, ecx
+mov edi, dword [ref_00499114] ; mov edi, dword [0x499114]
+
+loc_0044212c:
+cmp ebx, edi
+jge short loc_00442146 ; jge 0x442146
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00442143 ; je 0x442143
+add esi, dword [eax + ref_00496b84] ; add esi, dword [eax + 0x496b84]
+inc ecx
+
+loc_00442143:
+inc ebx
+jmp short loc_0044212c ; jmp 0x44212c
+
+loc_00442146:
+mov eax, esi
+mov edx, esi
+sar edx, 0x1f
+idiv ecx
+mov esi, eax
+xor ebx, ebx
+
+loc_00442153:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0044219c ; jge 0x44219c
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00442199 ; je 0x442199
+mov edx, dword [eax + ref_00496b84] ; mov edx, dword [eax + 0x496b84]
+cmp esi, edx
+jge short loc_00442190 ; jge 0x442190
+sub edx, esi
+mov ecx, 0x64
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+push eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+push ebx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_00442190:
+imul eax, ebx, 0x68
+mov dword [eax + ref_00496b84], esi ; mov dword [eax + 0x496b84], esi
+
+loc_00442199:
+inc ebx
+jmp short loc_00442153 ; jmp 0x442153
+
+loc_0044219c:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+
+loc_004421ab:
+mov eax, 1
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004421b4:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004421d4 ; jne 0x4421d4
+push 0xe0c0410
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_004421db ; jmp 0x4421db
+
+loc_004421d4:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_004421db:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00443069 ; je 0x443069
+push 2
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edi, dword [eax + ref_0048123e] ; mov edi, dword [eax + 0x48123e]
+push edi
+push 3
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push ebx
+call fcn_0040d293 ; call 0x40d293
+mov edi, eax
+add esp, 4
+mov ebp, eax
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+imul ecx, edi, 0x68
+mov edx, dword [edx + ref_00496b84] ; mov edx, dword [edx + 0x496b84]
+mov esi, dword [ecx + ref_00496b84] ; mov esi, dword [ecx + 0x496b84]
+add edx, esi
+mov eax, edx
+sar edx, 0x1f
+sub eax, edx
+sar eax, 1
+mov esi, eax
+mov eax, dword [ecx + ref_00496b84] ; mov eax, dword [ecx + 0x496b84]
+cmp esi, eax
+jge short loc_00442288 ; jge 0x442288
+mov edx, eax
+sub edx, esi
+mov ecx, 0x64
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+push eax
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+push edi
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_00442288:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dword [eax + ref_00496b84], esi ; mov dword [eax + 0x496b84], esi
+imul ecx, ebp, 0x68
+mov dword [ecx + ref_00496b84], esi ; mov dword [ecx + 0x496b84], esi
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_004422de ; je 0x4422de
+push 0x64
+xor edx, edx
+mov dx, word [ecx + ref_00496b72] ; mov dx, word [ecx + 0x496b72]
+push edx
+xor edx, edx
+mov dx, word [ecx + ref_00496b70] ; mov dx, word [ecx + 0x496b70]
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_004422de:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+imul eax, ebp, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edi, dword [eax + ref_0048132e] ; mov edi, dword [eax + 0x48132e]
+push edi
+push 1
+push ebp
+
+loc_00442313:
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+call fcn_0041d546 ; call 0x41d546
+jmp near loc_00443069 ; jmp 0x443069
+
+fcn_00442325:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+xor esi, esi
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+xor ecx, ecx
+mov cx, word [edx + ref_00496b74] ; mov cx, word [edx + 0x496b74]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov ax, word [ecx + eax*8 + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle near loc_004424be ; jle 0x4424be
+cmp eax, 0xfa0
+jge near loc_004424be ; jge 0x4424be
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+mov cl, byte [ebx + 0x19]
+test cl, cl
+je near loc_00442603 ; je 0x442603
+xor eax, eax
+mov al, cl
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+inc ecx
+cmp eax, ecx
+je near loc_00442603 ; je 0x442603
+movzx edi, byte [ebx + 0x1a]
+xor ecx, ecx
+mov cx, word [ebx + 0x1e]
+imul edi, ecx
+xor ecx, ecx
+mov cx, word [ebx + 0x1c]
+add edi, ecx
+imul edi, dword [ref_004990e8] ; imul edi, dword [0x4990e8]
+cmp edi, dword [edx + ref_00496b84] ; cmp edi, dword [edx + 0x496b84]
+jg near loc_004425f1 ; jg 0x4425f1
+lea esi, [eax - 1]
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+imul ecx, eax
+mov dword [esp], ecx
+fild dword [esp]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov dword [esp + 4], eax
+fild word [esp + 4]
+fadd dword [ref_0046531c] ; fadd dword [0x46531c]
+fdiv dword [ref_00465320] ; fdiv dword [0x465320]
+fmulp st1 ; fmulp st(1)
+sub esp, 8
+fstp qword [esp]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+push esi
+call fcn_0040df69 ; call 0x40df69
+add esp, 0x10
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebp, dword [eax + ref_00481242] ; mov ebp, dword [eax + 0x481242]
+push ebp
+push 3
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov al, byte [ref_0049910c] ; mov al, byte [0x49910c]
+inc al
+mov byte [ebx + 0x19], al
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+mov edx, dword [ref_00499110] ; mov edx, dword [0x499110]
+test edx, edx
+je short loc_0044246f ; je 0x44246f
+mov ecx, dword [edx*4 + ref_004751f0] ; mov ecx, dword [edx*4 + 0x4751f0]
+push ecx
+mov ebp, dword [ref_00497160] ; mov ebp, dword [0x497160]
+push ebp
+call fcn_004521cb ; call 0x4521cb
+add esp, 8
+mov dword [ebx + 0x30], eax
+
+loc_0044246f:
+push 0
+push edi
+push esi
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_00481332] ; mov edx, dword [eax + 0x481332]
+push edx
+push 1
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+call fcn_0041d546 ; call 0x41d546
+mov esi, 1
+jmp near loc_00442607 ; jmp 0x442607
+
+loc_004424be:
+cmp eax, 0xfa0
+jle near loc_00442603 ; jle 0x442603
+cmp eax, 0x1770
+jge near loc_00442603 ; jge 0x442603
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+cmp byte [ebx + 0x19], 0
+je near loc_00442603 ; je 0x442603
+xor eax, eax
+mov al, byte [ebx + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+je near loc_00442603 ; je 0x442603
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+xor ecx, ecx
+mov cx, word [ebx + 0x24]
+imul edx, ecx
+xor ecx, ecx
+mov cx, word [ebx + 0x22]
+lea edi, [ecx + edx]
+imul edi, dword [ref_004990e8] ; imul edi, dword [0x4990e8]
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+cmp edi, dword [edx + ref_00496b84] ; cmp edi, dword [edx + 0x496b84]
+jg near loc_004425f1 ; jg 0x4425f1
+lea esi, [eax - 1]
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+imul ecx, eax
+mov dword [esp], ecx
+fild dword [esp]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+mov dword [esp + 4], eax
+fild word [esp + 4]
+fadd dword [ref_0046531c] ; fadd dword [0x46531c]
+fdiv dword [ref_00465320] ; fdiv dword [0x465320]
+fmulp st1 ; fmulp st(1)
+sub esp, 8
+fstp qword [esp]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+push esi
+call fcn_0040df69 ; call 0x40df69
+add esp, 0x10
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebp, dword [eax + ref_00481242] ; mov ebp, dword [eax + 0x481242]
+push ebp
+push 3
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov al, byte [ref_0049910c] ; mov al, byte [0x49910c]
+inc al
+mov byte [ebx + 0x19], al
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+mov edx, dword [ref_00499110] ; mov edx, dword [0x499110]
+test edx, edx
+je near loc_0044246f ; je 0x44246f
+mov ecx, dword [edx*4 + ref_004751f0] ; mov ecx, dword [edx*4 + 0x4751f0]
+push ecx
+mov ebp, dword [ref_00497160] ; mov ebp, dword [0x497160]
+push ebp
+call fcn_004521cb ; call 0x4521cb
+add esp, 8
+mov dword [ebx + 0x34], eax
+jmp near loc_0044246f ; jmp 0x44246f
+
+loc_004425f1:
+push 0x5dc
+push ref_0046530c ; push 0x46530c
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_00442603:
+test esi, esi
+je short loc_00442618 ; je 0x442618
+
+loc_00442607:
+push 3
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+
+loc_00442618:
+mov eax, esi
+
+loc_0044261a:
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00442622:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+xor ebx, ebx
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+xor ecx, ecx
+mov cx, word [edx + ref_00496b74] ; mov cx, word [edx + 0x496b74]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov esi, dword [ref_00498e80] ; mov esi, dword [0x498e80]
+mov si, word [esi + eax*8 + 0x20]
+and esi, 0xffff
+cmp esi, 0x7d0
+jle near loc_0044288c ; jle 0x44288c
+cmp esi, 0xfa0
+jge near loc_0044288c ; jge 0x44288c
+lea eax, [esi - 0x7d0]
+imul eax, eax, 0x34
+mov edi, dword [ref_00498e84] ; mov edi, dword [0x498e84]
+add edi, eax
+cmp byte [edx + ref_00496b7d], 1 ; cmp byte [edx + 0x496b7d], 1
+jne short loc_00442691 ; jne 0x442691
+push 0xe0c0202
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00442698 ; jmp 0x442698
+
+loc_00442691:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00442698:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00442ade ; je 0x442ade
+push 0xffff
+push esi
+push 0x2f440
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+push esi
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+push 0xffff
+push ebx
+push 0x2f440
+mov ebp, dword [ref_00474938] ; mov ebp, dword [0x474938]
+push ebp
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+sub ebx, 0x7d0
+imul ebx, ebx, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+add esi, ebx
+xor ebx, ebx
+mov bl, byte [edi + 0x19]
+xor eax, eax
+mov al, byte [esi + 0x19]
+mov dword [esp], eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+jne short loc_00442736 ; jne 0x442736
+cmp eax, dword [esp]
+je short loc_00442736 ; je 0x442736
+mov al, byte [esi + 0x1a]
+cmp al, byte [edi + 0x1a]
+jb short loc_00442736 ; jb 0x442736
+lea ecx, [ebx - 1]
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_00481246] ; mov edx, dword [eax + 0x481246]
+push edx
+jmp short loc_00442774 ; jmp 0x442774
+
+loc_00442736:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+je short loc_0044277f ; je 0x44277f
+cmp eax, dword [esp]
+jne short loc_0044277f ; jne 0x44277f
+mov al, byte [edi + 0x1a]
+cmp al, byte [esi + 0x1a]
+jb short loc_0044277f ; jb 0x44277f
+mov ecx, dword [esp]
+dec ecx
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebp, dword [eax + ref_00481246] ; mov ebp, dword [eax + 0x481246]
+push ebp
+
+loc_00442774:
+push 3
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044277f:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_004427bb ; je 0x4427bb
+push 0x64
+movsx edx, word [esi + 2]
+push edx
+movsx edx, word [esi]
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_004427bb:
+mov byte [esi + 0x19], bl
+mov al, byte [esp]
+mov byte [edi + 0x19], al
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+call fcn_00451985 ; call 0x451985
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x1f4
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+jne short loc_00442836 ; jne 0x442836
+mov ebp, dword [esp]
+cmp eax, ebp
+je short loc_00442836 ; je 0x442836
+test ebp, ebp
+je short loc_00442836 ; je 0x442836
+mov al, byte [esi + 0x1a]
+cmp al, byte [edi + 0x1a]
+jb short loc_00442836 ; jb 0x442836
+lea ecx, [ebp - 1]
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebx, dword [eax + ref_00481336] ; mov ebx, dword [eax + 0x481336]
+push ebx
+push 2
+push ecx
+jmp short loc_0044287a ; jmp 0x44287a
+
+loc_00442836:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+je short loc_00442882 ; je 0x442882
+test ebx, ebx
+je short loc_00442882 ; je 0x442882
+cmp eax, dword [esp]
+jne short loc_00442882 ; jne 0x442882
+mov al, byte [edi + 0x1a]
+cmp al, byte [esi + 0x1a]
+jb short loc_00442882 ; jb 0x442882
+lea edx, [ebx - 1]
+imul eax, edx, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov ecx, dword [eax + ref_00481336] ; mov ecx, dword [eax + 0x481336]
+push ecx
+push 2
+push edx
+
+loc_0044287a:
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00442882:
+mov ebx, 1
+jmp near loc_00442ae2 ; jmp 0x442ae2
+
+loc_0044288c:
+cmp esi, 0xfa0
+jle near loc_00442ade ; jle 0x442ade
+cmp esi, 0x1770
+jge near loc_00442ade ; jge 0x442ade
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edi, dword [ref_00498e88] ; mov edi, dword [0x498e88]
+add edi, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004428d8 ; jne 0x4428d8
+push 0xe0c0204
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_004428df ; jmp 0x4428df
+
+loc_004428d8:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_004428df:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00442ade ; je 0x442ade
+push 0xffff
+push esi
+push 0x2f440
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+push esi
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+push 0xffff
+push ebx
+push 0x2f440
+mov ebp, dword [ref_00474938] ; mov ebp, dword [0x474938]
+push ebp
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+lea eax, [ebx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov esi, dword [ref_00498e88] ; mov esi, dword [0x498e88]
+add esi, eax
+xor ebx, ebx
+mov bl, byte [edi + 0x19]
+xor eax, eax
+mov al, byte [esi + 0x19]
+mov dword [esp], eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+jne short loc_00442984 ; jne 0x442984
+cmp eax, dword [esp]
+je short loc_00442984 ; je 0x442984
+mov al, byte [esi + 0x1a]
+cmp al, byte [edi + 0x1a]
+jb short loc_00442984 ; jb 0x442984
+lea ecx, [ebx - 1]
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_00481246] ; mov edx, dword [eax + 0x481246]
+push edx
+jmp short loc_004429c2 ; jmp 0x4429c2
+
+loc_00442984:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+je short loc_004429cd ; je 0x4429cd
+cmp eax, dword [esp]
+jne short loc_004429cd ; jne 0x4429cd
+mov al, byte [edi + 0x1a]
+cmp al, byte [esi + 0x1a]
+jb short loc_004429cd ; jb 0x4429cd
+mov ecx, dword [esp]
+dec ecx
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebp, dword [eax + ref_00481246] ; mov ebp, dword [eax + 0x481246]
+push ebp
+
+loc_004429c2:
+push 3
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_004429cd:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00442a09 ; je 0x442a09
+push 0x64
+movsx edx, word [esi + 2]
+push edx
+movsx edx, word [esi]
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00442a09:
+mov byte [esi + 0x19], bl
+mov al, byte [esp]
+mov byte [edi + 0x19], al
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+call fcn_00451985 ; call 0x451985
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x1f4
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+jne short loc_00442a87 ; jne 0x442a87
+mov ebp, dword [esp]
+cmp eax, ebp
+je short loc_00442a87 ; je 0x442a87
+test ebp, ebp
+je short loc_00442a87 ; je 0x442a87
+mov al, byte [esi + 0x1a]
+cmp al, byte [edi + 0x1a]
+jb short loc_00442a87 ; jb 0x442a87
+lea ecx, [ebp - 1]
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebx, dword [eax + ref_00481336] ; mov ebx, dword [eax + 0x481336]
+push ebx
+push 2
+push ecx
+jmp near loc_0044287a ; jmp 0x44287a
+
+loc_00442a87:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+je near loc_00442882 ; je 0x442882
+test ebx, ebx
+je near loc_00442882 ; je 0x442882
+cmp eax, dword [esp]
+jne near loc_00442882 ; jne 0x442882
+mov al, byte [edi + 0x1a]
+cmp al, byte [esi + 0x1a]
+jb near loc_00442882 ; jb 0x442882
+dec ebx
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ecx, dword [eax + ref_00481336] ; mov ecx, dword [eax + 0x481336]
+push ecx
+push 2
+push ebx
+jmp near loc_0044287a ; jmp 0x44287a
+
+loc_00442ade:
+test ebx, ebx
+je short loc_00442af8 ; je 0x442af8
+
+loc_00442ae2:
+push 4
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+call fcn_0041d546 ; call 0x41d546
+
+loc_00442af8:
+mov eax, ebx
+
+loc_00442afa:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00442b02:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+xor ebx, ebx
+imul esi, dword [ref_0049910c], 0x68 ; imul esi, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [esi + ref_00496b74] ; mov dx, word [esi + 0x496b74]
+mov eax, edx
+shl eax, 2
+add edx, eax
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+mov ax, word [edx + eax + 0x20]
+and eax, 0xffff
+mov dword [esp + 8], eax
+cmp eax, 0x7d0
+jle near loc_00442d3a ; jle 0x442d3a
+cmp eax, 0xfa0
+jge near loc_00442d3a ; jge 0x442d3a
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add edx, eax
+mov dword [esp + 4], edx
+cmp byte [esi + ref_00496b7d], 1 ; cmp byte [esi + 0x496b7d], 1
+jne short loc_00442b77 ; jne 0x442b77
+push 0xe0c0202
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00442b7e ; jmp 0x442b7e
+
+loc_00442b77:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00442b7e:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00442f29 ; je 0x442f29
+push 0xffff
+mov ebp, dword [esp + 0xc]
+push ebp
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+push 0xffff
+push ebx
+push 0x2f440
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+push edx
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+lea eax, [ebx - 0x7d0]
+imul eax, eax, 0x34
+mov ebp, dword [ref_00498e84] ; mov ebp, dword [0x498e84]
+add ebp, eax
+mov edi, dword [esp + 4]
+movzx edi, byte [edi + 0x19]
+movzx esi, byte [ebp + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edi, eax
+jne short loc_00442bfe ; jne 0x442bfe
+cmp esi, eax
+je short loc_00442bfe ; je 0x442bfe
+mov al, byte [ebp + 0x1a]
+mov edx, dword [esp + 4]
+cmp al, byte [edx + 0x1a]
+jb short loc_00442bfe ; jb 0x442bfe
+lea ecx, [edi - 1]
+jmp short loc_00442c1b ; jmp 0x442c1b
+
+loc_00442bfe:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edi, eax
+je short loc_00442c4c ; je 0x442c4c
+cmp esi, eax
+jne short loc_00442c4c ; jne 0x442c4c
+mov eax, dword [esp + 4]
+mov al, byte [eax + 0x1a]
+cmp al, byte [ebp + 0x1a]
+jb short loc_00442c4c ; jb 0x442c4c
+lea ecx, [esi - 1]
+
+loc_00442c1b:
+imul eax, ecx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_0048124a] ; mov edx, dword [eax + 0x48124a]
+push edx
+push 3
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00442c4c:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00442c89 ; je 0x442c89
+push 0x64
+movsx edx, word [ebp + 2]
+push edx
+movsx edx, word [ebp]
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00442c89:
+call fcn_00451985 ; call 0x451985
+push ebx
+mov ebx, dword [esp + 0xc]
+push ebx
+call fcn_0040b4f8 ; call 0x40b4f8
+add esp, 8
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edi, eax
+jne short loc_00442ce3 ; jne 0x442ce3
+cmp esi, eax
+je short loc_00442ce3 ; je 0x442ce3
+test esi, esi
+je short loc_00442ce3 ; je 0x442ce3
+mov eax, dword [esp + 4]
+mov al, byte [eax + 0x1a]
+cmp al, byte [ebp + 0x1a]
+jb short loc_00442ce3 ; jb 0x442ce3
+dec esi
+imul eax, esi, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov edi, dword [eax + ref_0048133a] ; mov edi, dword [eax + 0x48133a]
+push edi
+push 2
+push esi
+jmp short loc_00442d28 ; jmp 0x442d28
+
+loc_00442ce3:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edi, eax
+je short loc_00442d30 ; je 0x442d30
+test edi, edi
+je short loc_00442d30 ; je 0x442d30
+cmp esi, eax
+jne short loc_00442d30 ; jne 0x442d30
+mov al, byte [ebp + 0x1a]
+mov edx, dword [esp + 4]
+
+loc_00442cfc:
+cmp al, byte [edx + 0x1a]
+jb short loc_00442d30 ; jb 0x442d30
+dec edi
+imul eax, edi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov esi, dword [eax + ref_0048133a] ; mov esi, dword [eax + 0x48133a]
+push esi
+push 2
+push edi
+
+loc_00442d28:
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00442d30:
+mov ebx, 1
+jmp near loc_00442f2d ; jmp 0x442f2d
+
+loc_00442d3a:
+mov ebp, dword [esp + 8]
+cmp ebp, 0xfa0
+jle near loc_00442f29 ; jle 0x442f29
+cmp ebp, 0x1770
+jge near loc_00442f29 ; jge 0x442f29
+lea eax, [ebp - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add edx, eax
+mov dword [esp], edx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00442d8d ; jne 0x442d8d
+push 0xe0c0204
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00442d94 ; jmp 0x442d94
+
+loc_00442d8d:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00442d94:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00442f29 ; je 0x442f29
+push 0xffff
+mov ecx, dword [esp + 0xc]
+push ecx
+push 0x2f440
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+push esi
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+push 0xffff
+push ebx
+push 0x2f440
+mov edi, dword [ref_00474938] ; mov edi, dword [0x474938]
+push edi
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+lea eax, [ebx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebp, dword [ref_00498e88] ; mov ebp, dword [0x498e88]
+add ebp, eax
+mov edi, dword [esp]
+movzx edi, byte [edi + 0x19]
+movzx esi, byte [ebp + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edi, eax
+jne short loc_00442e1a ; jne 0x442e1a
+cmp esi, eax
+je short loc_00442e1a ; je 0x442e1a
+mov al, byte [ebp + 0x1a]
+mov edx, dword [esp]
+cmp al, byte [edx + 0x1a]
+jb short loc_00442e1a ; jb 0x442e1a
+lea ecx, [edi - 1]
+jmp short loc_00442e36 ; jmp 0x442e36
+
+loc_00442e1a:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edi, eax
+je short loc_00442e67 ; je 0x442e67
+cmp esi, eax
+jne short loc_00442e67 ; jne 0x442e67
+mov eax, dword [esp]
+mov al, byte [eax + 0x1a]
+cmp al, byte [ebp + 0x1a]
+jb short loc_00442e67 ; jb 0x442e67
+lea ecx, [esi - 1]
+
+loc_00442e36:
+imul eax, ecx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_0048124a] ; mov edx, dword [eax + 0x48124a]
+push edx
+push 3
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00442e67:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00442ea4 ; je 0x442ea4
+push 0x64
+movsx edx, word [ebp + 2]
+push edx
+movsx edx, word [ebp]
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00442ea4:
+call fcn_00451985 ; call 0x451985
+push ebx
+mov ebx, dword [esp + 0xc]
+push ebx
+call fcn_0040b4f8 ; call 0x40b4f8
+add esp, 8
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edi, eax
+jne short loc_00442f00 ; jne 0x442f00
+cmp esi, eax
+je short loc_00442f00 ; je 0x442f00
+test esi, esi
+je short loc_00442f00 ; je 0x442f00
+mov eax, dword [esp]
+mov al, byte [eax + 0x1a]
+cmp al, byte [ebp + 0x1a]
+jb short loc_00442f00 ; jb 0x442f00
+dec esi
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edi, dword [eax + ref_0048133a] ; mov edi, dword [eax + 0x48133a]
+push edi
+push 2
+push esi
+jmp near loc_00442d28 ; jmp 0x442d28
+
+loc_00442f00:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edi, eax
+je near loc_00442d30 ; je 0x442d30
+test edi, edi
+je near loc_00442d30 ; je 0x442d30
+cmp esi, eax
+jne near loc_00442d30 ; jne 0x442d30
+mov al, byte [ebp + 0x1a]
+mov edx, dword [esp]
+jmp near loc_00442cfc ; jmp 0x442cfc
+
+loc_00442f29:
+test ebx, ebx
+je short loc_00442f43 ; je 0x442f43
+
+loc_00442f2d:
+push 5
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_00441343 ; call 0x441343
+add esp, 8
+call fcn_0041d546 ; call 0x41d546
+
+loc_00442f43:
+mov eax, ebx
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00442f4d:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00442f6d ; jne 0x442f6d
+push 0xe0c0010
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00442f74 ; jmp 0x442f74
+
+loc_00442f6d:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00442f74:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00443069 ; je 0x443069
+push 6
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+movzx esi, byte [eax + ref_00496b7b] ; movzx esi, byte [eax + 0x496b7b]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 3
+mov esi, eax
+shl eax, 4
+sub eax, esi
+mov edi, dword [eax + ref_0048124e] ; mov edi, dword [eax + 0x48124e]
+push edi
+push 3
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push ebx
+call fcn_0040d293 ; call 0x40d293
+mov edx, eax
+add esp, 4
+mov esi, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00443024 ; je 0x443024
+push 0x64
+imul edx, edx, 0x68
+xor ecx, ecx
+mov cx, word [edx + ref_00496b72] ; mov cx, word [edx + 0x496b72]
+push ecx
+mov dx, word [edx + ref_00496b70] ; mov dx, word [edx + 0x496b70]
+and edx, 0xffff
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00443024:
+push esi
+call fcn_0040c78c ; call 0x40c78c
+add esp, 4
+cmp esi, 4
+jge short loc_00443069 ; jge 0x443069
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+cmp esi, edi
+jne short loc_00443070 ; jne 0x443070
+imul eax, edi, 0x68
+movzx esi, byte [eax + ref_00496b7b] ; movzx esi, byte [eax + 0x496b7b]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 3
+mov esi, eax
+shl eax, 4
+sub eax, esi
+mov ecx, dword [eax + ref_004812c6] ; mov ecx, dword [eax + 0x4812c6]
+push ecx
+
+loc_0044305e:
+push 0
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00443069:
+mov eax, ebx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00443070:
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebp, dword [eax + ref_0048133e] ; mov ebp, dword [eax + 0x48133e]
+push ebp
+push 2
+push esi
+jmp near loc_00442313 ; jmp 0x442313
+
+fcn_0044309b:
+push ebx
+push esi
+push edi
+xor esi, esi
+imul edx, dword [ref_0049910c], 0x68 ; imul edx, dword [0x49910c], 0x68
+xor ebx, ebx
+mov bx, word [edx + ref_00496b74] ; mov bx, word [edx + 0x496b74]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov ebx, dword [ref_00498e80] ; mov ebx, dword [0x498e80]
+mov ax, word [ebx + eax*8 + 0x20]
+and eax, 0xffff
+cmp eax, 0x7d0
+jle near loc_00443147 ; jle 0x443147
+cmp eax, 0xfa0
+jge short loc_00443147 ; jge 0x443147
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+cmp byte [ebx + 0x1a], 0
+je near loc_00443202 ; je 0x443202
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ecx, dword [eax + ref_00481252] ; mov ecx, dword [eax + 0x481252]
+push ecx
+push 3
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov ah, byte [ebx + 0x18]
+xor ah, 1
+mov byte [ebx + 0x18], ah
+je short loc_0044313d ; je 0x44313d
+cmp byte [ebx + 0x1a], 1
+jbe short loc_0044313d ; jbe 0x44313d
+mov byte [ebx + 0x1a], 1
+
+loc_0044313d:
+mov esi, 1
+jmp near loc_0044320a ; jmp 0x44320a
+
+loc_00443147:
+cmp eax, 0xfa0
+jle near loc_00443202 ; jle 0x443202
+cmp eax, 0x1770
+jge near loc_00443202 ; jge 0x443202
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+cmp byte [ebx + 0x1a], 0
+je near loc_00443202 ; je 0x443202
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edi, dword [eax + ref_00481252] ; mov edi, dword [eax + 0x481252]
+push edi
+push 3
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004431da ; jne 0x4431da
+push 1
+call fcn_00440aac ; call 0x440aac
+add esp, 4
+mov edx, eax
+cmp eax, 0xffffffff
+jne short loc_004431e4 ; jne 0x4431e4
+xor esi, esi
+jmp near loc_004412de ; jmp 0x4412de
+
+loc_004431da:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+add esp, 4
+
+loc_004431e4:
+mov byte [ebx + 0x18], al
+mov esi, 1
+mov dh, byte [ebx + 0x18]
+test dh, dh
+je short loc_004431f8 ; je 0x4431f8
+cmp dh, 3
+jne short loc_00443202 ; jne 0x443202
+
+loc_004431f8:
+cmp byte [ebx + 0x1a], 1
+jbe short loc_00443202 ; jbe 0x443202
+mov byte [ebx + 0x1a], 1
+
+loc_00443202:
+test esi, esi
+je near loc_004412de ; je 0x4412de
+
+loc_0044320a:
+push 7
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+call fcn_0041d546 ; call 0x41d546
+jmp near loc_004412de ; jmp 0x4412de
+
+fcn_00443225:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+xor ebx, ebx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edi, dword [ref_00498e80] ; mov edi, dword [0x498e80]
+mov di, word [edi + eax*8 + 0x20]
+and edi, 0xffff
+cmp edi, 0x7d0
+jle near loc_00443375 ; jle 0x443375
+cmp edi, 0xfa0
+jge near loc_00443375 ; jge 0x443375
+lea eax, [edi - 0x7d0]
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e84] ; mov esi, dword [0x498e84]
+add esi, eax
+mov bl, byte [esi + 0x19]
+test ebx, ebx
+je short loc_004432ce ; je 0x4432ce
+xor eax, eax
+mov ax, word [esi + 0x1c]
+mov ebp, dword [ref_004990e8] ; mov ebp, dword [0x4990e8]
+imul eax, ebp
+mov dword [esp], eax
+fild dword [esp]
+xor eax, eax
+mov al, byte [esi + 0x1a]
+mov dword [esp + 4], eax
+fild word [esp + 4]
+fadd dword [ref_00465324] ; fadd dword [0x465324]
+fdiv dword [ref_00465328] ; fdiv dword [0x465328]
+fmulp st1 ; fmulp st(1)
+sub esp, 8
+fstp qword [esp]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+lea eax, [ebx - 1]
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0x10
+
+loc_004432ce:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ecx, dword [eax + ref_00481256] ; mov ecx, dword [eax + 0x481256]
+push ecx
+push 3
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+test ebx, ebx
+je short loc_00443345 ; je 0x443345
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+je short loc_00443345 ; je 0x443345
+lea edx, [ebx - 1]
+imul eax, edx, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov ecx, dword [eax + ref_00481346] ; mov ecx, dword [eax + 0x481346]
+push ecx
+push 1
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00443345:
+push 1
+push edi
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0043bde5 ; call 0x43bde5
+add esp, 0xc
+test eax, eax
+jne short loc_0044336b ; jne 0x44336b
+mov byte [esi + 0x19], 0
+mov dword [esi + 0x30], eax
+
+loc_00443362:
+push eax
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+
+loc_0044336b:
+mov ebx, 1
+jmp near loc_00443496 ; jmp 0x443496
+
+loc_00443375:
+cmp edi, 0xfa0
+jle near loc_00443492 ; jle 0x443492
+cmp edi, 0x1770
+jge near loc_00443492 ; jge 0x443492
+lea eax, [edi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov esi, dword [ref_00498e88] ; mov esi, dword [0x498e88]
+add esi, eax
+xor ebx, ebx
+mov bl, byte [esi + 0x19]
+test ebx, ebx
+je short loc_004433f7 ; je 0x4433f7
+xor eax, eax
+mov ax, word [esi + 0x22]
+mov ecx, dword [ref_004990e8] ; mov ecx, dword [0x4990e8]
+imul eax, ecx
+mov dword [esp], eax
+fild dword [esp]
+xor eax, eax
+mov al, byte [esi + 0x1a]
+mov dword [esp + 4], eax
+fild word [esp + 4]
+fadd dword [ref_00465324] ; fadd dword [0x465324]
+fdiv dword [ref_00465328] ; fdiv dword [0x465328]
+fmulp st1 ; fmulp st(1)
+sub esp, 8
+fstp qword [esp]
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+lea eax, [ebx - 1]
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0x10
+
+loc_004433f7:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ecx, dword [eax + ref_00481256] ; mov ecx, dword [eax + 0x481256]
+push ecx
+push 3
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+test ebx, ebx
+je short loc_0044346c ; je 0x44346c
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp ebx, eax
+je short loc_0044346c ; je 0x44346c
+dec ebx
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_00481346] ; mov edx, dword [eax + 0x481346]
+push edx
+push 1
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044346c:
+push 1
+push edi
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0043bde5 ; call 0x43bde5
+add esp, 0xc
+test eax, eax
+jne near loc_0044336b ; jne 0x44336b
+mov byte [esi + 0x19], 0
+mov dword [esi + 0x34], eax
+jmp near loc_00443362 ; jmp 0x443362
+
+loc_00443492:
+test ebx, ebx
+je short loc_004434b9 ; je 0x4434b9
+
+loc_00443496:
+push 8
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+xor edi, edi
+mov dword [ref_0048be18], edi ; mov dword [0x48be18], edi
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+
+loc_004434b9:
+mov eax, ebx
+jmp near loc_0044261a ; jmp 0x44261a
+
+fcn_004434c0:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+xor edx, edx
+mov dword [esp], edx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004434e8 ; jne 0x4434e8
+push 0xe0c0006
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_004434ef ; jmp 0x4434ef
+
+loc_004434e8:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_004434ef:
+add esp, 4
+mov ebp, eax
+test ebp, ebp
+je near loc_004436d9 ; je 0x4436d9
+push 9
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov edi, dword [eax + ref_0048125a] ; mov edi, dword [eax + 0x48125a]
+push edi
+push 3
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp ebp, 0x7d0
+jle near loc_00443621 ; jle 0x443621
+cmp ebp, 0xfa0
+jge near loc_00443621 ; jge 0x443621
+lea eax, [ebp - 0x7d0]
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+lea edi, [ebx + eax]
+mov esi, 1
+
+loc_00443570:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_004435e4 ; jg 0x4435e4
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_004435e1 ; jne 0x4435e1
+cmp byte [ebx + 0x1a], 5
+jae short loc_004435e1 ; jae 0x4435e1
+push 0xffff
+lea eax, [esi + 0x7d0]
+push eax
+push 0x2f440
+mov ecx, dword [ref_00474938] ; mov ecx, dword [0x474938]
+push ecx
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+cmp byte [ebx + 0x18], 0
+je short loc_004435cb ; je 0x4435cb
+cmp byte [ebx + 0x1a], 0
+jne short loc_004435ce ; jne 0x4435ce
+mov byte [ebx + 0x1a], 1
+jmp short loc_004435ce ; jmp 0x4435ce
+
+loc_004435cb:
+inc byte [ebx + 0x1a]
+
+loc_004435ce:
+cmp byte [ebx + 0x18], 0
+jne short loc_004435e1 ; jne 0x4435e1
+cmp byte [ebx + 0x1a], 5
+jne short loc_004435e1 ; jne 0x4435e1
+mov dword [esp], 1
+
+loc_004435e1:
+inc esi
+jmp short loc_00443570 ; jmp 0x443570
+
+loc_004435e4:
+push 0x64
+movsx eax, word [edi + 2]
+push eax
+movsx eax, word [edi]
+push eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ebx, ebx
+mov bx, word [eax + ref_00496b72] ; mov bx, word [eax + 0x496b72]
+push ebx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+call fcn_00451985 ; call 0x451985
+jmp near loc_004436c0 ; jmp 0x4436c0
+
+loc_00443621:
+cmp ebp, 0xfa0
+jle near loc_004436ce ; jle 0x4436ce
+cmp ebp, 0x1770
+jge near loc_004436ce ; jge 0x4436ce
+lea eax, [ebp - 0xfa0]
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+push 0xffff
+push ebp
+push 0x2f440
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+push edx
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_004436a7 ; je 0x4436a7
+push 0x64
+movsx esi, word [ebx + 2]
+push esi
+movsx ebx, word [ebx]
+push ebx
+xor ebx, ebx
+mov bx, word [eax + ref_00496b72] ; mov bx, word [eax + 0x496b72]
+push ebx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_004436a7:
+call fcn_00451985 ; call 0x451985
+push ebp
+call fcn_0040b110 ; call 0x40b110
+add esp, 4
+test al, 0x80
+je short loc_004436c0 ; je 0x4436c0
+mov dword [esp], 1
+
+loc_004436c0:
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+
+loc_004436ce:
+cmp dword [esp], 0
+je short loc_004436d9 ; je 0x4436d9
+call fcn_0040b0cd ; call 0x40b0cd
+
+loc_004436d9:
+mov eax, ebp
+jmp near loc_00442afa ; jmp 0x442afa
+
+fcn_004436e0:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00443700 ; jne 0x443700
+push 0xe0c0006
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00443707 ; jmp 0x443707
+
+loc_00443700:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00443707:
+add esp, 4
+mov ebp, eax
+test ebp, ebp
+je near loc_0044558c ; je 0x44558c
+push 0xa
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov esi, dword [eax + ref_0048125e] ; mov esi, dword [eax + 0x48125e]
+push esi
+push 0
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp ebp, 0x7d0
+jle near loc_00443848 ; jle 0x443848
+cmp ebp, 0xfa0
+jge near loc_00443848 ; jge 0x443848
+lea eax, [ebp - 0x7d0]
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+lea edi, [ebx + eax]
+mov esi, 1
+
+loc_00443788:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg short loc_00443803 ; jg 0x443803
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_00443800 ; jne 0x443800
+cmp byte [ebx + 0x19], 0
+je short loc_004437d8 ; je 0x4437d8
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+add edx, edx
+mov eax, edx
+shl eax, 4
+sub eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_004437d8:
+push 0xffff
+lea eax, [esi + 0x7d0]
+push eax
+push 0x2f440
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+push edx
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+mov byte [ebx + 0x1a], 0
+mov byte [ebx + 0x18], 0
+
+loc_00443800:
+inc esi
+jmp short loc_00443788 ; jmp 0x443788
+
+loc_00443803:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je near loc_0044390d ; je 0x44390d
+push 0x64
+movsx edx, word [edi + 2]
+push edx
+movsx edx, word [edi]
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+jmp near loc_0044390d ; jmp 0x44390d
+
+loc_00443848:
+cmp ebp, 0xfa0
+jle near loc_0044558c ; jle 0x44558c
+cmp ebp, 0x1770
+jge near loc_0044558c ; jge 0x44558c
+lea eax, [ebp - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+cmp byte [ebx + 0x19], 0
+je short loc_004438aa ; je 0x4438aa
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+add edx, edx
+mov eax, edx
+shl eax, 4
+sub eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_004438aa:
+push 0xffff
+push ebp
+push 0x2f440
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+push esi
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+mov byte [ebx + 0x1a], 0
+mov byte [ebx + 0x18], 0
+call fcn_0040dffa ; call 0x40dffa
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_0044390d ; je 0x44390d
+push 0x64
+movsx edx, word [ebx + 2]
+push edx
+movsx edx, word [ebx]
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_0044390d:
+call fcn_00451985 ; call 0x451985
+jmp near loc_0044557e ; jmp 0x44557e
+
+fcn_00443917:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00443937 ; jne 0x443937
+push 0xe0c0506
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_0044393e ; jmp 0x44393e
+
+loc_00443937:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_0044393e:
+add esp, 4
+mov esi, eax
+test esi, esi
+je near loc_00443b08 ; je 0x443b08
+push 0xb
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 3
+mov eax, ebx
+shl ebx, 4
+sub ebx, eax
+mov edi, dword [ebx + ref_00481262] ; mov edi, dword [ebx + 0x481262]
+push edi
+push 0
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp esi, 0xfa0
+jge short loc_004439e8 ; jge 0x4439e8
+lea eax, [esi - 0x7d0]
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+mov cl, byte [ebx + 0x19]
+test cl, cl
+je near loc_00443a32 ; je 0x443a32
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+add edx, edx
+mov eax, edx
+shl eax, 4
+sub eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+xor eax, eax
+mov al, cl
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+jmp short loc_00443a32 ; jmp 0x443a32
+
+loc_004439e8:
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+cmp byte [ebx + 0x19], 0
+je short loc_00443a32 ; je 0x443a32
+xor edx, edx
+mov dl, byte [ebx + 0x1a]
+add edx, edx
+mov eax, edx
+shl eax, 4
+sub eax, edx
+imul eax, dword [ref_004990e8] ; imul eax, dword [0x4990e8]
+push eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+
+loc_00443a32:
+movzx edi, byte [ebx + 0x19]
+movsx ebp, word [ebx]
+movsx ebx, word [ebx + 2]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00443a72 ; je 0x443a72
+push 0x64
+push ebx
+push ebp
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00443a72:
+push 0
+push ebx
+push ebp
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 2
+push esi
+call fcn_0040ab4a ; call 0x40ab4a
+add esp, 8
+push 0
+push 0
+push 0x22d
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x50
+push 0x100001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x1f4
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+test edi, edi
+je short loc_00443b03 ; je 0x443b03
+dec edi
+imul eax, edi, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 3
+mov eax, ebx
+shl ebx, 4
+sub ebx, eax
+mov ebp, dword [ebx + ref_00481352] ; mov ebp, dword [ebx + 0x481352]
+push ebp
+push 1
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00443b03:
+call fcn_0041d546 ; call 0x41d546
+
+loc_00443b08:
+mov eax, esi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00443b0f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+xor edi, edi
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00443b34 ; jne 0x443b34
+push 0xe0c0626
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00443b3a ; jmp 0x443b3a
+
+loc_00443b34:
+push edi
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00443b3a:
+add esp, 4
+mov dword [esp], eax
+cmp dword [esp], 0
+je near loc_00443e35 ; je 0x443e35
+push 0xc
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+imul eax, ebp, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 3
+mov eax, ebx
+shl ebx, 4
+sub ebx, eax
+mov eax, dword [ebx + ref_00481266] ; mov eax, dword [ebx + 0x481266]
+push eax
+push 0
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov ecx, dword [esp]
+cmp ecx, 0x7d0
+jle near loc_00443c54 ; jle 0x443c54
+cmp ecx, 0xfa0
+jge near loc_00443c54 ; jge 0x443c54
+lea ebx, [ecx - 0x7d0]
+imul ebx, ebx, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add ebx, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00443bf9 ; je 0x443bf9
+push 0x64
+movsx edx, word [ebx + 2]
+push edx
+movsx edx, word [ebx]
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00443bf9:
+push 0
+movsx eax, word [ebx + 2]
+push eax
+movsx eax, word [ebx]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+movzx esi, byte [ebx + 0x19]
+dec byte [ebx + 0x1a]
+cmp byte [ebx + 0x18], 0
+je short loc_00443c21 ; je 0x443c21
+mov byte [ebx + 0x1a], 0
+mov byte [ebx + 0x18], 0
+
+loc_00443c21:
+cmp byte [ebx + 0x19], 0
+je near loc_00443db6 ; je 0x443db6
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+jmp near loc_00443db6 ; jmp 0x443db6
+
+loc_00443c54:
+mov ebp, dword [esp]
+cmp ebp, 0xfa0
+jle near loc_00443d22 ; jle 0x443d22
+cmp ebp, 0x1770
+jge near loc_00443d22 ; jge 0x443d22
+lea ebx, [ebp - 0xfa0]
+shl ebx, 3
+mov eax, ebx
+shl ebx, 3
+sub ebx, eax
+mov eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00443cc5 ; je 0x443cc5
+push 0x64
+movsx edx, word [ebx + 2]
+push edx
+movsx edx, word [ebx]
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00443cc5:
+push 0
+movsx eax, word [ebx + 2]
+push eax
+movsx eax, word [ebx]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+movzx esi, byte [ebx + 0x19]
+mov al, byte [ebx + 0x1a]
+dec al
+mov byte [ebx + 0x1a], al
+jne short loc_00443cee ; jne 0x443cee
+mov byte [ebx + 0x18], al
+call fcn_0040dffa ; call 0x40dffa
+
+loc_00443cee:
+cmp byte [ebx + 0x19], 0
+je near loc_00443db6 ; je 0x443db6
+mov eax, dword [ref_004990e8] ; mov eax, dword [0x4990e8]
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+xor eax, eax
+mov al, byte [ebx + 0x19]
+dec eax
+push eax
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+jmp near loc_00443db6 ; jmp 0x443db6
+
+loc_00443d22:
+test byte [esp + 1], 0x80
+je near loc_00443dae ; je 0x443dae
+mov esi, dword [esp]
+and esi, 0x7f00
+sar esi, 8
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+cmp byte [ebx + ref_00496b7d], 1 ; cmp byte [ebx + 0x496b7d], 1
+je short loc_00443d97 ; je 0x443d97
+push 0x64
+lea edx, [esi - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+xor edx, edx
+mov dx, word [eax*8 + ref_00496d0a] ; mov dx, word [eax*8 + 0x496d0a]
+mov eax, edx
+shl eax, 2
+add edx, eax
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, edx
+movsx edx, word [eax + 2]
+push edx
+movsx eax, word [eax]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00443d97:
+push esi
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+
+loc_00443dae:
+test edi, edi
+je near loc_00443e35 ; je 0x443e35
+
+loc_00443db6:
+push 0
+push 0
+push 0x211
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x61
+push 0x260001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x1f4
+call fcn_0045285e ; call 0x45285e
+add esp, 4
+test esi, esi
+je short loc_00443e30 ; je 0x443e30
+dec esi
+imul eax, esi, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+shl ebx, 3
+mov eax, ebx
+shl ebx, 4
+sub ebx, eax
+mov ecx, dword [ebx + ref_00481356] ; mov ecx, dword [ebx + 0x481356]
+push ecx
+push 1
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00443e30:
+call fcn_0041d546 ; call 0x41d546
+
+loc_00443e35:
+mov eax, dword [esp]
+jmp near loc_00442afa ; jmp 0x442afa
+
+fcn_00443e3d:
+push ebx
+push esi
+push edi
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00443e5c ; jne 0x443e5c
+push 0xe0c0410
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00443e63 ; jmp 0x443e63
+
+loc_00443e5c:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00443e63:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00441f1b ; je 0x441f1b
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov esi, dword [eax + ref_0048126a] ; mov esi, dword [eax + 0x48126a]
+push esi
+push 3
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push ebx
+call fcn_0040d293 ; call 0x40d293
+mov edx, eax
+add esp, 4
+mov esi, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00443eff ; je 0x443eff
+push 0x64
+imul edx, edx, 0x68
+xor ebx, ebx
+mov bx, word [edx + ref_00496b72] ; mov bx, word [edx + 0x496b72]
+push ebx
+mov dx, word [edx + ref_00496b70] ; mov dx, word [edx + 0x496b70]
+and edx, 0xffff
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00443eff:
+push 1
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+push esi
+call fcn_0044192a ; call 0x44192a
+add esp, 0xc
+mov ebx, eax
+test eax, eax
+je near loc_00441f1b ; je 0x441f1b
+mov al, byte [eax*8 + ref_0047fdef] ; mov al, byte [eax*8 + 0x47fdef]
+and eax, 0xff
+push eax
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+push esi
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+push 0xd
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, esi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edi, dword [eax + ref_0048135a] ; mov edi, dword [eax + 0x48135a]
+push edi
+push 1
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+call fcn_0041d546 ; call 0x41d546
+jmp near loc_00441f1b ; jmp 0x441f1b
+
+fcn_00443f80:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00443fa0 ; jne 0x443fa0
+push 0xe0c0010
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00443fa7 ; jmp 0x443fa7
+
+loc_00443fa0:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00443fa7:
+add esp, 4
+mov edi, eax
+test edi, edi
+je near loc_004440e3 ; je 0x4440e3
+push edi
+call fcn_0040d293 ; call 0x40d293
+mov ebx, eax
+add esp, 4
+mov esi, eax
+push 0xe
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp ebx, ebp
+je short loc_0044400a ; je 0x44400a
+imul eax, ebp, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov ecx, dword [eax + ref_0048126e] ; mov ecx, dword [eax + 0x48126e]
+push ecx
+push 3
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044400a:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00444058 ; je 0x444058
+push 0x64
+imul edx, esi, 0x68
+xor ebx, ebx
+mov bx, word [edx + ref_00496b72] ; mov bx, word [edx + 0x496b72]
+push ebx
+mov dx, word [edx + ref_00496b70] ; mov dx, word [edx + 0x496b70]
+and edx, 0xffff
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00444058:
+cmp esi, 4
+jge near loc_004440d9 ; jge 0x4440d9
+imul ebx, esi, 0x68
+cmp esi, dword [ref_0049910c] ; cmp esi, dword [0x49910c]
+jne short loc_004440a0 ; jne 0x4440a0
+xor edx, edx
+mov dl, byte [ebx + ref_00496b7b] ; mov dl, byte [ebx + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ecx, dword [eax + ref_004812e6] ; mov ecx, dword [eax + 0x4812e6]
+push ecx
+push 3
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov byte [ebx + ref_00496ba0], 0x80 ; mov byte [ebx + 0x496ba0], 0x80
+jmp short loc_004440e3 ; jmp 0x4440e3
+
+loc_004440a0:
+xor edx, edx
+mov dl, byte [ebx + ref_00496b7b] ; mov dl, byte [ebx + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_0048135e] ; mov edx, dword [eax + 0x48135e]
+push edx
+push 2
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov byte [ebx + ref_00496ba0], 1 ; mov byte [ebx + 0x496ba0], 1
+call fcn_0041d546 ; call 0x41d546
+jmp short loc_004440e3 ; jmp 0x4440e3
+
+loc_004440d9:
+shl esi, 4
+mov byte [esi + ref_00498df6], 1 ; mov byte [esi + 0x498df6], 1
+
+loc_004440e3:
+mov eax, edi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004440ea:
+push ebx
+push esi
+push edi
+push 0xf
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebx, dword [eax + ref_00481272] ; mov ebx, dword [eax + 0x481272]
+push ebx
+push 3
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+xor ebx, ebx
+jmp short loc_00444147 ; jmp 0x444147
+
+loc_00444136:
+mov dh, 5
+
+loc_00444138:
+inc ebx
+cmp ebx, 8
+jge near loc_004441c9 ; jge 0x4441c9
+cmp ebx, 4
+jge short loc_004441a9 ; jge 0x4441a9
+
+loc_00444147:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+cmp ebx, edi
+je short loc_00444136 ; je 0x444136
+imul esi, ebx, 0x68
+cmp byte [esi + ref_00496b7d], 0 ; cmp byte [esi + 0x496b7d], 0
+je short loc_00444136 ; je 0x444136
+cmp word [esi + ref_00496b70], 0 ; cmp word [esi + 0x496b70], 0
+je short loc_00444136 ; je 0x444136
+cmp dword [esi + ref_00496b9a], 0 ; cmp dword [esi + 0x496b9a], 0
+jne short loc_00444136 ; jne 0x444136
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+push edi
+push ebx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+xor dl, dl
+mov byte [esi + ref_00496b9f], dl ; mov byte [esi + 0x496b9f], dl
+mov dh, 5
+mov byte [esi + ref_00496b9e], dh ; mov byte [esi + 0x496b9e], dh
+add byte [esi + ref_00496baa], dh ; add byte [esi + 0x496baa], dh
+jmp short loc_00444136 ; jmp 0x444136
+
+loc_004441a9:
+mov eax, ebx
+shl eax, 4
+mov ch, byte [eax + ref_00498df2] ; mov ch, byte [eax + 0x498df2]
+test ch, ch
+jne short loc_00444138 ; jne 0x444138
+mov byte [eax + ref_00498df5], ch ; mov byte [eax + 0x498df5], ch
+mov byte [eax + ref_00498df4], dh ; mov byte [eax + 0x498df4], dh
+jmp near loc_00444138 ; jmp 0x444138
+
+loc_004441c9:
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+jmp near loc_004421ab ; jmp 0x4421ab
+
+fcn_004441dc:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004441fc ; jne 0x4441fc
+push 0xe0c0710
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00444203 ; jmp 0x444203
+
+loc_004441fc:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00444203:
+add esp, 4
+mov esi, eax
+test esi, esi
+je near loc_004444b8 ; je 0x4444b8
+push 0x10
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edi, dword [eax + ref_00481276] ; mov edi, dword [eax + 0x481276]
+push edi
+push 3
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push esi
+call fcn_0040d293 ; call 0x40d293
+mov edx, eax
+add esp, 4
+mov ebp, eax
+mov ebx, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_004442b2 ; je 0x4442b2
+push 0x64
+imul edx, edx, 0x68
+xor edi, edi
+mov di, word [edx + ref_00496b72] ; mov di, word [edx + 0x496b72]
+push edi
+mov dx, word [edx + ref_00496b70] ; mov dx, word [edx + 0x496b70]
+and edx, 0xffff
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_004442b2:
+cmp ebx, 4
+jge near loc_0044449b ; jge 0x44449b
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+jne near loc_0044449b ; jne 0x44449b
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+push ebx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+push 0x15
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_00444310 ; jne 0x444310
+push ebx
+call fcn_00444bb2 ; call 0x444bb2
+add esp, 4
+jmp near loc_004444b3 ; jmp 0x4444b3
+
+loc_00444310:
+push 0x13
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_00444334 ; jne 0x444334
+push 0
+push 0
+push ebx
+call fcn_0044476a ; call 0x44476a
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_00444334 ; je 0x444334
+mov ebx, eax
+
+loc_00444334:
+imul edi, ebx, 0x68
+xor edx, edx
+mov dl, byte [edi + ref_00496b7b] ; mov dl, byte [edi + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_0048089e] ; mov ecx, dword [edx + eax*8 + 0x48089e]
+push ecx
+push 1
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+setne al
+add al, 4
+mov byte [edi + ref_00496b9f], al ; mov byte [edi + 0x496b9f], al
+imul eax, ebx, 0x68
+add byte [eax + ref_00496baa], 5 ; add byte [eax + 0x496baa], 5
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+mov byte [eax + ref_00496bce], dl ; mov byte [eax + 0x496bce], dl
+mov dl, byte [eax + ref_00496b7a] ; mov dl, byte [eax + 0x496b7a]
+mov byte [eax + ref_00496bcf], dl ; mov byte [eax + 0x496bcf], dl
+mov dh, byte [eax + ref_00496b79] ; mov dh, byte [eax + 0x496b79]
+test dh, dh
+je short loc_004443e6 ; je 0x4443e6
+cmp dh, 1
+jne short loc_004443b4 ; jne 0x4443b4
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+inc byte [eax + ref_00499160] ; inc byte [eax + 0x499160]
+
+loc_004443b4:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b79], 2 ; cmp byte [eax + 0x496b79], 2
+jne short loc_004443d4 ; jne 0x4443d4
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+inc byte [eax + ref_00499161] ; inc byte [eax + 0x499161]
+
+loc_004443d4:
+imul eax, ebx, 0x68
+xor cl, cl
+mov byte [eax + ref_00496b79], cl ; mov byte [eax + 0x496b79], cl
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+
+loc_004443e6:
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+cmp ebx, ebp
+jne near loc_004444b3 ; jne 0x4444b3
+push 0x12
+push ebp
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne near loc_004444b3 ; jne 0x4444b3
+push ebp
+call fcn_00444691 ; call 0x444691
+add esp, 4
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+mov byte [eax + ref_00496b9f], 5 ; mov byte [eax + 0x496b9f], 5
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+mov byte [eax + ref_00496bce], dl ; mov byte [eax + 0x496bce], dl
+mov dl, byte [eax + ref_00496b7a] ; mov dl, byte [eax + 0x496b7a]
+mov byte [eax + ref_00496bcf], dl ; mov byte [eax + 0x496bcf], dl
+cmp byte [eax + ref_00496b79], 1 ; cmp byte [eax + 0x496b79], 1
+jne short loc_00444459 ; jne 0x444459
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+inc byte [eax + ref_00499160] ; inc byte [eax + 0x499160]
+
+loc_00444459:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b79], 2 ; cmp byte [eax + 0x496b79], 2
+jne short loc_00444483 ; jne 0x444483
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+inc byte [eax + ref_00499161] ; inc byte [eax + 0x499161]
+
+loc_00444483:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ch, ch
+mov byte [eax + ref_00496b79], ch ; mov byte [eax + 0x496b79], ch
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+jmp short loc_004444b3 ; jmp 0x4444b3
+
+loc_0044449b:
+cmp ebx, 4
+jl short loc_004444b3 ; jl 0x4444b3
+shl ebx, 4
+cmp byte [ebx + ref_00498df4], 0 ; cmp byte [ebx + 0x498df4], 0
+jne short loc_004444b3 ; jne 0x4444b3
+mov byte [ebx + ref_00498df5], 5 ; mov byte [ebx + 0x498df5], 5
+
+loc_004444b3:
+call fcn_0041d546 ; call 0x41d546
+
+loc_004444b8:
+mov eax, esi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004444bf:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004444df ; jne 0x4444df
+push 0xe0c0710
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_004444e6 ; jmp 0x4444e6
+
+loc_004444df:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_004444e6:
+add esp, 4
+mov esi, eax
+test esi, esi
+je near loc_0044468a ; je 0x44468a
+push 0x11
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov edi, dword [eax + ref_0048127a] ; mov edi, dword [eax + 0x48127a]
+push edi
+push 3
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push esi
+call fcn_0040d293 ; call 0x40d293
+mov edx, eax
+add esp, 4
+mov edi, eax
+mov ebx, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00444599 ; je 0x444599
+push 0x64
+imul edx, edx, 0x68
+xor ecx, ecx
+mov cx, word [edx + ref_00496b72] ; mov cx, word [edx + 0x496b72]
+push ecx
+mov dx, word [edx + ref_00496b70] ; mov dx, word [edx + 0x496b70]
+and edx, 0xffff
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_00444599:
+cmp ebx, 4
+jge near loc_0044467a ; jge 0x44467a
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+push ebx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+push 0x15
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_004445e7 ; jne 0x4445e7
+push ebx
+call fcn_00444bb2 ; call 0x444bb2
+add esp, 4
+jmp near loc_00444685 ; jmp 0x444685
+
+loc_004445e7:
+push 0x13
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_0044460b ; jne 0x44460b
+push 0
+push 0
+push ebx
+call fcn_0044476a ; call 0x44476a
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_0044460b ; je 0x44460b
+mov ebx, eax
+
+loc_0044460b:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+cmp ebx, eax
+jne short loc_00444619 ; jne 0x444619
+push 4
+push eax
+jmp short loc_0044461c ; jmp 0x44461c
+
+loc_00444619:
+push 5
+push ebx
+
+loc_0044461c:
+call fcn_0043d593 ; call 0x43d593
+add esp, 8
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_0048136a] ; mov edx, dword [eax + 0x48136a]
+push edx
+push 1
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp ebx, edi
+jne short loc_00444685 ; jne 0x444685
+push 0x12
+push edi
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_00444685 ; jne 0x444685
+push edi
+call fcn_00444691 ; call 0x444691
+add esp, 4
+push 5
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+jmp short loc_0044467d ; jmp 0x44467d
+
+loc_0044467a:
+push 5
+push ebx
+
+loc_0044467d:
+call fcn_0043d593 ; call 0x43d593
+add esp, 8
+
+loc_00444685:
+call fcn_0041d546 ; call 0x41d546
+
+loc_0044468a:
+mov eax, esi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00444691:
+push ebx
+push esi
+push edi
+sub esp, 0x80
+push 0
+imul ebx, dword [esp + 0x94], 0x68
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ebx + ref_00496b68] ; mov ecx, dword [ebx + 0x496b68]
+push ecx
+push ref_0046532c ; push 0x46532c
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+push 0x12
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+push 0x12
+mov esi, dword [esp + 0x94]
+push esi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov bl, byte [ebx + ref_00496b7b] ; mov bl, byte [ebx + 0x496b7b]
+and ebx, 0xff
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov edi, dword [eax + ref_0048127e] ; mov edi, dword [eax + 0x48127e]
+push edi
+push 0
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov ecx, dword [eax + ref_0048136e] ; mov ecx, dword [eax + 0x48136e]
+push ecx
+push 2
+push edx
+
+loc_00444753:
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov eax, 1
+add esp, 0x80
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044476a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xa0
+mov edi, dword [esp + 0xb4]
+mov ebx, 0xffffffff
+push 0
+imul esi, edi, 0x68
+xor eax, eax
+mov ax, word [esi + ref_00496b72] ; mov ax, word [esi + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [esi + ref_00496b70] ; mov ax, word [esi + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+cmp byte [esi + ref_00496b7d], 1 ; cmp byte [esi + 0x496b7d], 1
+jne near loc_004448b0 ; jne 0x4448b0
+xor ebx, ebx
+xor esi, esi
+mov ebp, dword [ref_00499114] ; mov ebp, dword [0x499114]
+
+loc_004447b8:
+cmp ebx, ebp
+jge short loc_004447d7 ; jge 0x4447d7
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_004447d4 ; je 0x4447d4
+cmp ebx, edi
+je short loc_004447d4 ; je 0x4447d4
+mov byte [esp + esi + 0x9c], bl
+inc esi
+
+loc_004447d4:
+inc ebx
+jmp short loc_004447b8 ; jmp 0x4447b8
+
+loc_004447d7:
+imul eax, edi, 0x68
+cmp esi, 1
+jne near loc_0044486d ; jne 0x44486d
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+push ref_0046533d ; push 0x46533d
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+push 0x13
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+xor eax, eax
+mov al, byte [esp + 0x9c]
+imul eax, eax, 0x68
+mov ebx, dword [eax + ref_00496b68] ; mov ebx, dword [eax + 0x496b68]
+push ebx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_0046534e ; push 0x46534e
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+call fcn_00440ba8 ; call 0x440ba8
+add esp, 4
+cmp eax, esi
+jne short loc_00444863 ; jne 0x444863
+xor ebx, ebx
+mov bl, byte [esp + 0x9c]
+jmp near loc_004449e7 ; jmp 0x4449e7
+
+loc_00444863:
+mov ebx, 0xffffffff
+jmp near loc_00444a53 ; jmp 0x444a53
+
+loc_0044486d:
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+push ref_0046533d ; push 0x46533d
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+push 0x13
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+push ref_0046535d ; push 0x46535d
+lea eax, [esp + 0xa0]
+push eax
+push esi
+call fcn_00440e1a ; call 0x440e1a
+add esp, 0xc
+mov ebx, eax
+jmp near loc_004449e7 ; jmp 0x4449e7
+
+loc_004448b0:
+push edi
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+mov ebp, eax
+cmp eax, ebx
+jne short loc_004448ca ; jne 0x4448ca
+push edi
+call fcn_0040d31c ; call 0x40d31c
+add esp, 4
+mov ebp, eax
+
+loc_004448ca:
+mov edx, dword [esp + 0xb8]
+cmp edx, 1
+jb short loc_004448ef ; jb 0x4448ef
+imul eax, edi, 0x68
+mov dword [esp + 0x94], eax
+cmp edx, 1
+jbe short loc_004448fc ; jbe 0x4448fc
+cmp edx, 2
+je short loc_00444934 ; je 0x444934
+jmp near loc_00444973 ; jmp 0x444973
+
+loc_004448ef:
+test edx, edx
+jne near loc_00444973 ; jne 0x444973
+jmp near loc_00444971 ; jmp 0x444971
+
+loc_004448fc:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov esi, 0xfa0
+sar edx, 0x1f
+idiv esi
+add edx, esi
+mov esi, dword [ref_004990e8] ; mov esi, dword [0x4990e8]
+imul esi, edx
+mov eax, dword [esp + 0xbc]
+mov edx, dword [esp + 0x94]
+cmp eax, dword [edx + ref_00496b84] ; cmp eax, dword [edx + 0x496b84]
+jg short loc_00444971 ; jg 0x444971
+cmp esi, eax
+jge short loc_00444973 ; jge 0x444973
+jmp short loc_00444971 ; jmp 0x444971
+
+loc_00444934:
+fild dword [eax + ref_00496b84] ; fild dword [eax + 0x496b84]
+fmul qword [ref_00465380] ; fmul qword [0x465380]
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 5
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov dword [esp + 0x98], eax
+fild dword [esp + 0x98]
+fcompp
+fnstsw ax
+sahf
+jae short loc_00444973 ; jae 0x444973
+
+loc_00444971:
+mov ebx, ebp
+
+loc_00444973:
+cmp ebx, 0xffffffff
+je short loc_004449e7 ; je 0x4449e7
+imul eax, edi, 0x68
+mov ecx, dword [eax + ref_00496b68] ; mov ecx, dword [eax + 0x496b68]
+push ecx
+push ref_0046533d ; push 0x46533d
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+push 0x13
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+imul ebp, ebp, 0x68
+mov esi, dword [ebp + ref_00496b68] ; mov esi, dword [ebp + 0x496b68]
+push esi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_0046536f ; push 0x46536f
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_004449e7:
+cmp ebx, 0xffffffff
+je short loc_00444a53 ; je 0x444a53
+push 0x13
+push edi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, edi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov esi, dword [eax + ref_00481282] ; mov esi, dword [eax + 0x481282]
+push esi
+push 0
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edi, dword [eax + ref_00481372] ; mov edi, dword [eax + 0x481372]
+push edi
+push 2
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00444a53:
+mov eax, ebx
+add esp, 0xa0
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00444a60:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+mov edi, dword [esp + 0x94]
+push 0
+imul ebx, edi, 0x68
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+cmp byte [ebx + ref_00496b7d], 1 ; cmp byte [ebx + 0x496b7d], 1
+je short loc_00444ad8 ; je 0x444ad8
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov esi, 0xbb8
+sar edx, 0x1f
+idiv esi
+add edx, esi
+mov esi, dword [ref_004990e8] ; mov esi, dword [0x4990e8]
+imul esi, edx
+mov eax, dword [esp + 0x9c]
+cmp eax, dword [ebx + ref_00496b84] ; cmp eax, dword [ebx + 0x496b84]
+jg short loc_00444aca ; jg 0x444aca
+cmp esi, eax
+jge short loc_00444ad1 ; jge 0x444ad1
+
+loc_00444aca:
+mov esi, 1
+jmp short loc_00444b07 ; jmp 0x444b07
+
+loc_00444ad1:
+xor esi, esi
+jmp near loc_00444ba0 ; jmp 0x444ba0
+
+loc_00444ad8:
+mov esi, dword [ebx + ref_00496b68] ; mov esi, dword [ebx + 0x496b68]
+push esi
+push ref_00465388 ; push 0x465388
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+call fcn_00440ba8 ; call 0x440ba8
+add esp, 4
+mov esi, eax
+cmp eax, 1
+jne near loc_00444ba0 ; jne 0x444ba0
+
+loc_00444b07:
+mov ebp, dword [ref_0047fe8a] ; mov ebp, dword [0x47fe8a]
+push ebp
+push ref_00465305 ; push 0x465305
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+push 0x14
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+push 0x14
+push edi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, edi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_00481286] ; mov edx, dword [eax + 0x481286]
+push edx
+push 0
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov ecx, dword [esp + 0x98]
+cmp ecx, 0xffffffff
+je short loc_00444ba0 ; je 0x444ba0
+imul eax, ecx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edi, dword [eax + ref_00481376] ; mov edi, dword [eax + 0x481376]
+push edi
+push 1
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00444ba0:
+call fcn_0041d546 ; call 0x41d546
+mov eax, esi
+add esp, 0x80
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00444bb2:
+push ebx
+push esi
+push edi
+sub esp, 0x80
+push 0
+imul ebx, dword [esp + 0x94], 0x68
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ebx + ref_00496b68] ; mov ecx, dword [ebx + 0x496b68]
+push ecx
+push ref_0046539d ; push 0x46539d
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov eax, esp
+push eax
+push 0x15
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+push 0x15
+mov esi, dword [esp + 0x94]
+push esi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov bl, byte [ebx + ref_00496b7b] ; mov bl, byte [ebx + 0x496b7b]
+and ebx, 0xff
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov edi, dword [eax + ref_0048128a] ; mov edi, dword [eax + 0x48128a]
+push edi
+push 0
+push esi
+jmp near loc_00444753 ; jmp 0x444753
+
+fcn_00444c45:
+push ebx
+push esi
+push edi
+push ebp
+xor ebx, ebx
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [eax + ref_00496ba8] ; mov dl, byte [eax + 0x496ba8]
+test dl, dl
+je short loc_00444c71 ; je 0x444c71
+mov al, dl
+and eax, 0xff
+push eax
+call fcn_0040e14d ; call 0x40e14d
+add esp, 4
+mov ebx, 1
+
+loc_00444c71:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dh, byte [eax + ref_00496ba7] ; mov dh, byte [eax + 0x496ba7]
+test dh, dh
+je short loc_00444cd3 ; je 0x444cd3
+mov al, dh
+and eax, 0xff
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov al, byte [eax*8 + ref_00496d08] ; mov al, byte [eax*8 + 0x496d08]
+and eax, 0xff
+cmp eax, 5
+je short loc_00444cbd ; je 0x444cbd
+cmp eax, 6
+je short loc_00444cbd ; je 0x444cbd
+cmp eax, 7
+je short loc_00444cbd ; je 0x444cbd
+cmp eax, 8
+je short loc_00444cbd ; je 0x444cbd
+cmp eax, 0xa
+je short loc_00444cbd ; je 0x444cbd
+cmp eax, 0xf
+jne short loc_00444cd3 ; jne 0x444cd3
+
+loc_00444cbd:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040e32c ; call 0x40e32c
+add esp, 4
+mov ebx, 1
+jmp short loc_00444cdb ; jmp 0x444cdb
+
+loc_00444cd3:
+test ebx, ebx
+je near loc_00443069 ; je 0x443069
+
+loc_00444cdb:
+push 0x16
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ebp, dword [eax + ref_0048128e] ; mov ebp, dword [eax + 0x48128e]
+push ebp
+jmp near loc_0044305e ; jmp 0x44305e
+
+fcn_00444d1a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+xor ebp, ebp
+mov dword [esp + 8], 0x461c4000
+push 0xffffffffffffffff
+call fcn_0040a45c ; call 0x40a45c
+add esp, 4
+mov dword [esp], eax
+xor ebx, ebx
+
+loc_00444d3a:
+cmp ebx, dword [esp]
+jge near loc_00444e10 ; jge 0x444e10
+mov ax, word [ebx*2 + ref_0048b8c4] ; mov ax, word [ebx*2 + 0x48b8c4]
+test ah, 0x80
+je near loc_00444e0a ; je 0x444e0a
+test ah, 0x7f
+je near loc_00444e0a ; je 0x444e0a
+xor al, al
+and ah, 0x7f
+and eax, 0xffff
+sar eax, 8
+xor esi, esi
+mov si, ax
+push esi
+call fcn_0040ea62 ; call 0x40ea62
+add esp, 4
+cmp eax, 1
+jne near loc_00444e0a ; jne 0x444e0a
+lea edx, [esi - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+cmp byte [eax + ref_00496d0d], 0 ; cmp byte [eax + 0x496d0d], 0
+jne short loc_00444e0a ; jne 0x444e0a
+xor edx, edx
+mov dx, word [eax + ref_00496d0a] ; mov dx, word [eax + 0x496d0a]
+mov eax, edx
+shl eax, 2
+add edx, eax
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, edx
+movsx edx, word [eax]
+movsx ecx, word [eax + 2]
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edi, edi
+mov di, word [eax + ref_00496b70] ; mov di, word [eax + 0x496b70]
+sub edx, edi
+mov ax, word [eax + ref_00496b72] ; mov ax, word [eax + 0x496b72]
+and eax, 0xffff
+sub ecx, eax
+mov eax, ecx
+imul edx, edx
+imul eax, ecx
+add eax, edx
+mov dword [esp + 0xc], eax
+fild dword [esp + 0xc]
+call fcn_004582bc ; call 0x4582bc
+fstp dword [esp + 4]
+fld dword [esp + 8]
+fcomp dword [esp + 4]
+fnstsw ax
+sahf
+jbe short loc_00444e0a ; jbe 0x444e0a
+mov eax, dword [esp + 4]
+mov dword [esp + 8], eax
+mov ebp, esi
+
+loc_00444e0a:
+inc ebx
+jmp near loc_00444d3a ; jmp 0x444d3a
+
+loc_00444e10:
+mov eax, ebp
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00444e1a:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00444e35 ; jne 0x444e35
+call fcn_00444d1a ; call 0x444d1a
+jmp short loc_00444e3f ; jmp 0x444e3f
+
+loc_00444e35:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+add esp, 4
+
+loc_00444e3f:
+mov esi, eax
+test esi, esi
+je near loc_0044468a ; je 0x44468a
+push 0x17
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov edi, dword [eax + ref_00481292] ; mov edi, dword [eax + 0x481292]
+push edi
+push 0
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+lea eax, [esi - 1]
+mov ebx, eax
+shl ebx, 2
+sub ebx, eax
+xor edi, edi
+mov di, word [ebx*8 + ref_00496d0a] ; mov di, word [ebx*8 + 0x496d0a]
+xor edx, edx
+mov word [ebx*8 + ref_00496d0a], dx ; mov word [ebx*8 + 0x496d0a], dx
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+mov eax, edi
+shl eax, 2
+add eax, edi
+shl eax, 3
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+add eax, edx
+movsx edx, word [eax + 2]
+push edx
+movsx eax, word [eax]
+push eax
+push esi
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+mov word [ebx*8 + ref_00496d0a], di ; mov word [ebx*8 + 0x496d0a], di
+push esi
+xor eax, eax
+mov ax, di
+push eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0040ead7 ; call 0x40ead7
+add esp, 0xc
+jmp near loc_00444685 ; jmp 0x444685
+
+fcn_00444f25:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x94
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov ecx, dword [eax + ref_00481296] ; mov ecx, dword [eax + 0x481296]
+push ecx
+push 0
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_00444fea ; je 0x444fea
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+mov edx, eax
+add esp, 4
+shl eax, 3
+lea ebx, [edx + eax]
+shl ebx, 2
+mov byte [ebx + ref_00496987], 0x20 ; mov byte [ebx + 0x496987], 0x20
+inc edx
+push edx
+call fcn_00429040 ; call 0x429040
+add esp, 4
+mov edi, dword [ebx + ref_00496980] ; mov edi, dword [ebx + 0x496980]
+push edi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov ebp, dword [ref_0047feaa] ; mov ebp, dword [0x47feaa]
+push ebp
+lea eax, [esp + 0x84]
+push eax
+push ref_004653ae ; push 0x4653ae
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ebx, 1
+jmp short loc_00445022 ; jmp 0x445022
+
+loc_00444fea:
+push 0xa
+push 0xf
+push 0xc
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 1
+call fcn_0042b58f ; call 0x42b58f
+mov esi, eax
+add esp, 4
+mov ebx, eax
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+test esi, esi
+je short loc_00445032 ; je 0x445032
+
+loc_00445022:
+push 0x18
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_00441343 ; call 0x441343
+add esp, 8
+
+loc_00445032:
+mov eax, ebx
+add esp, 0x94
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044503f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ecx, dword [eax + ref_0048129a] ; mov ecx, dword [eax + 0x48129a]
+push ecx
+push 0
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+xor ebx, ebx
+
+loc_00445083:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+mov edx, dword [eax*4 + ref_00496994] ; mov edx, dword [eax*4 + 0x496994]
+mov dword [esp + ebx*4 + 0x80], edx
+inc ebx
+cmp ebx, 0xc
+jl short loc_00445083 ; jl 0x445083
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004450e2 ; jne 0x4450e2
+push 0xa
+push 0xf
+push 0xc
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 2
+call fcn_0042b58f ; call 0x42b58f
+add esp, 4
+mov ebx, eax
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+jmp short loc_0044515c ; jmp 0x44515c
+
+loc_004450e2:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+add esp, 4
+lea ebx, [eax + 1]
+mov edx, eax
+shl eax, 3
+add eax, edx
+mov byte [eax*4 + ref_00496987], 2 ; mov byte [eax*4 + 0x496987], 2
+push ebx
+call fcn_00429040 ; call 0x429040
+add esp, 4
+lea edx, [ebx - 1]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov edi, dword [eax*4 + ref_00496980] ; mov edi, dword [eax*4 + 0x496980]
+push edi
+lea eax, [esp + 0xb4]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov ebp, dword [ref_0047feb2] ; mov ebp, dword [0x47feb2]
+push ebp
+lea eax, [esp + 0xb4]
+push eax
+push ref_004653ae ; push 0x4653ae
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+
+loc_0044515c:
+test ebx, ebx
+je near loc_004451e3 ; je 0x4451e3
+lea edx, [ebx - 1]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov edx, ebx
+fld dword [esp + edx*4 + 0x7c]
+fsub dword [eax*4 + ref_00496994] ; fsub dword [eax*4 + 0x496994]
+fstp dword [esp + 0xc4]
+xor esi, esi
+
+loc_00445184:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge short loc_004451d2 ; jge 0x4451d2
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 5
+mov edx, ebx
+shl edx, 3
+add eax, edx
+cmp dword [eax + ref_00497198], 0 ; cmp dword [eax + 0x497198], 0
+je short loc_004451cf ; je 0x4451cf
+fild dword [eax + ref_00497198] ; fild dword [eax + 0x497198]
+fmul dword [esp + 0xc4]
+fdiv dword [ref_004653bc] ; fdiv dword [0x4653bc]
+sub esp, 8
+fstp qword [esp]
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+push esi
+call fcn_0040df69 ; call 0x40df69
+add esp, 0x10
+
+loc_004451cf:
+inc esi
+jmp short loc_00445184 ; jmp 0x445184
+
+loc_004451d2:
+push 0x19
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+
+loc_004451e3:
+mov eax, ebx
+add esp, 0xc8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004451f0:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x98
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00445216 ; jne 0x445216
+push 0xe0c0410
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_0044521d ; jmp 0x44521d
+
+loc_00445216:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_0044521d:
+add esp, 4
+mov edi, eax
+test edi, edi
+je near loc_00445426 ; je 0x445426
+push 0x1a
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov esi, dword [eax + ref_0048129e] ; mov esi, dword [eax + 0x48129e]
+push esi
+push 0
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push edi
+call fcn_0040d293 ; call 0x40d293
+mov esi, eax
+add esp, 4
+mov ebx, eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_004452ce ; je 0x4452ce
+push 0x64
+imul esi, esi, 0x68
+xor edx, edx
+mov dx, word [esi + ref_00496b72] ; mov dx, word [esi + 0x496b72]
+push edx
+mov si, word [esi + ref_00496b70] ; mov si, word [esi + 0x496b70]
+and esi, 0xffff
+push esi
+xor esi, esi
+mov si, word [eax + ref_00496b72] ; mov si, word [eax + 0x496b72]
+push esi
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_004452ce:
+imul eax, ebx, 0x68
+fild dword [eax + ref_00496b84] ; fild dword [eax + 0x496b84]
+fmul qword [ref_004653d8] ; fmul qword [0x4653d8]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x94]
+mov esi, 0x64
+mov eax, dword [esp + 0x94]
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+push eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+push ebx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+push 0x14
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_0044533e ; jne 0x44533e
+mov esi, dword [esp + 0x94]
+push esi
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+push ebx
+call fcn_00444a60 ; call 0x444a60
+add esp, 0xc
+cmp eax, 1
+je near loc_00445426 ; je 0x445426
+
+loc_0044533e:
+push 0x13
+push ebx
+call fcn_004413ad ; call 0x4413ad
+add esp, 8
+cmp eax, 1
+jne short loc_0044536f ; jne 0x44536f
+cmp dword [esp + 0x94], 0x7d0
+jle short loc_0044536f ; jle 0x44536f
+push 0
+push 2
+push ebx
+call fcn_0044476a ; call 0x44476a
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_0044536f ; je 0x44536f
+mov ebx, eax
+
+loc_0044536f:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+cmp ebx, edx
+je near loc_00445421 ; je 0x445421
+imul esi, ebx, 0x68
+fild dword [esi + ref_00496b84] ; fild dword [esi + 0x496b84]
+fmul qword [ref_004653d8] ; fmul qword [0x4653d8]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x94]
+push 0
+mov ecx, dword [esp + 0x98]
+push ecx
+push edx
+push ebx
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+mov eax, dword [esi + ref_00496b68] ; mov eax, dword [esi + 0x496b68]
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov edx, dword [esp + 0x94]
+push edx
+lea eax, [esp + 0x84]
+push eax
+push ref_004653c0 ; push 0x4653c0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+movzx esi, byte [esi + ref_00496b7b] ; movzx esi, byte [esi + 0x496b7b]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 3
+mov esi, eax
+shl eax, 4
+sub eax, esi
+mov ecx, dword [eax + ref_0048138e] ; mov ecx, dword [eax + 0x48138e]
+push ecx
+push 2
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00445421:
+call fcn_0041d546 ; call 0x41d546
+
+loc_00445426:
+mov eax, edi
+jmp near loc_00441e07 ; jmp 0x441e07
+
+fcn_0044542d:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0044544d ; jne 0x44544d
+push 0xe0c0006
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00445454 ; jmp 0x445454
+
+loc_0044544d:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00445454:
+add esp, 4
+mov ebp, eax
+test ebp, ebp
+je near loc_0044558c ; je 0x44558c
+push 0x1b
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov esi, dword [eax + ref_004812a2] ; mov esi, dword [eax + 0x4812a2]
+push esi
+push 0
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp ebp, 0x7d0
+jle short loc_00445516 ; jle 0x445516
+cmp ebp, 0xfa0
+jge short loc_00445516 ; jge 0x445516
+lea edi, [ebp - 0x7d0]
+imul edi, edi, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add edi, ebx
+mov esi, 1
+
+loc_004454d0:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg short loc_004454f6 ; jg 0x4454f6
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_004454f3 ; jne 0x4454f3
+mov byte [ebx + 0x17], 0x50
+
+loc_004454f3:
+inc esi
+jmp short loc_004454d0 ; jmp 0x4454d0
+
+loc_004454f6:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je near loc_0044557e ; je 0x44557e
+push 0x64
+movsx ebx, word [edi + 2]
+push ebx
+movsx ebx, word [edi]
+jmp short loc_0044555c ; jmp 0x44555c
+
+loc_00445516:
+cmp ebp, 0xfa0
+jle short loc_0044557e ; jle 0x44557e
+cmp ebp, 0x1770
+jge short loc_0044557e ; jge 0x44557e
+lea eax, [ebp - 0xfa0]
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+mov byte [ebx + 0x1c], 0x50
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_0044557e ; je 0x44557e
+push 0x64
+movsx esi, word [ebx + 2]
+push esi
+movsx ebx, word [ebx]
+
+loc_0044555c:
+push ebx
+xor ebx, ebx
+mov bx, word [eax + ref_00496b72] ; mov bx, word [eax + 0x496b72]
+push ebx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+
+loc_00445573:
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_0044557e:
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+
+loc_0044558c:
+mov eax, ebp
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00445593:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004455b3 ; jne 0x4455b3
+push 0xe0c0006
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_004455ba ; jmp 0x4455ba
+
+loc_004455b3:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_004455ba:
+add esp, 4
+mov ebp, eax
+test ebp, ebp
+je short loc_0044558c ; je 0x44558c
+push 0x1c
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov esi, dword [eax + ref_004812a6] ; mov esi, dword [eax + 0x4812a6]
+push esi
+push 0
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+cmp ebp, 0x7d0
+jle near loc_0044569a ; jle 0x44569a
+cmp ebp, 0xfa0
+jge near loc_0044569a ; jge 0x44569a
+lea edi, [ebp - 0x7d0]
+imul edi, edi, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add edi, ebx
+mov esi, 1
+
+loc_0044563a:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg short loc_00445660 ; jg 0x445660
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0044565d ; jne 0x44565d
+mov byte [ebx + 0x17], 0x51
+
+loc_0044565d:
+inc esi
+jmp short loc_0044563a ; jmp 0x44563a
+
+loc_00445660:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je near loc_0044557e ; je 0x44557e
+push 0x64
+movsx ebx, word [edi + 2]
+push ebx
+movsx ebx, word [edi]
+push ebx
+xor ebx, ebx
+mov bx, word [eax + ref_00496b72] ; mov bx, word [eax + 0x496b72]
+push ebx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+jmp near loc_00445573 ; jmp 0x445573
+
+loc_0044569a:
+cmp ebp, 0xfa0
+jle near loc_0044557e ; jle 0x44557e
+cmp ebp, 0x1770
+jge near loc_0044557e ; jge 0x44557e
+lea eax, [ebp - 0xfa0]
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov ebx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, ebx
+mov byte [eax + 0x1c], 0x51
+cmp byte [eax + 0x18], 4
+jne short loc_004456d9 ; jne 0x4456d9
+mov byte [eax + 0x1e], 0
+
+loc_004456d9:
+imul ebx, dword [ref_0049910c], 0x68 ; imul ebx, dword [0x49910c], 0x68
+cmp byte [ebx + ref_00496b7d], 1 ; cmp byte [ebx + 0x496b7d], 1
+je near loc_0044557e ; je 0x44557e
+push 0x64
+movsx esi, word [eax + 2]
+push esi
+movsx eax, word [eax]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+jmp near loc_00445573 ; jmp 0x445573
+
+fcn_00445710:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00445733 ; jne 0x445733
+push 0xe0c0410
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_0044573a ; jmp 0x44573a
+
+loc_00445733:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_0044573a:
+add esp, 4
+mov esi, eax
+test esi, esi
+je near loc_004458d8 ; je 0x4458d8
+push 0x1d
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov edi, dword [eax + ref_004812aa] ; mov edi, dword [eax + 0x4812aa]
+push edi
+push 3
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push esi
+call fcn_0040d293 ; call 0x40d293
+mov ebx, eax
+add esp, 4
+mov dword [esp], eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_004457e8 ; je 0x4457e8
+push 0x64
+imul ebx, ebx, 0x68
+xor edx, edx
+mov dx, word [ebx + ref_00496b72] ; mov dx, word [ebx + 0x496b72]
+push edx
+xor edx, edx
+mov dx, word [ebx + ref_00496b70] ; mov dx, word [ebx + 0x496b70]
+push edx
+xor ebx, ebx
+mov bx, word [eax + ref_00496b72] ; mov bx, word [eax + 0x496b72]
+push ebx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_004457e8:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov bl, byte [eax + ref_00496ba9] ; mov bl, byte [eax + 0x496ba9]
+test bl, bl
+je short loc_00445827 ; je 0x445827
+xor edx, edx
+mov dl, bl
+dec edx
+imul ebx, edx, 0x68
+xor cl, cl
+mov byte [ebx + ref_00496ba9], cl ; mov byte [ebx + 0x496ba9], cl
+xor edx, edx
+mov dl, byte [eax + ref_00496ba9] ; mov dl, byte [eax + 0x496ba9]
+dec edx
+imul ebx, edx, 0x68
+mov byte [ebx + ref_00496ba5], cl ; mov byte [ebx + 0x496ba5], cl
+mov byte [eax + ref_00496ba9], cl ; mov byte [eax + 0x496ba9], cl
+mov byte [eax + ref_00496ba5], cl ; mov byte [eax + 0x496ba5], cl
+
+loc_00445827:
+imul eax, dword [esp], 0x68
+cmp byte [eax + ref_00496ba9], 0 ; cmp byte [eax + 0x496ba9], 0
+je short loc_00445866 ; je 0x445866
+xor ebx, ebx
+mov bl, byte [eax + ref_00496ba9] ; mov bl, byte [eax + 0x496ba9]
+dec ebx
+imul ebx, ebx, 0x68
+xor cl, cl
+mov byte [ebx + ref_00496ba9], cl ; mov byte [ebx + 0x496ba9], cl
+xor ebx, ebx
+mov bl, byte [eax + ref_00496ba9] ; mov bl, byte [eax + 0x496ba9]
+dec ebx
+imul ebx, ebx, 0x68
+mov byte [ebx + ref_00496ba5], cl ; mov byte [ebx + 0x496ba5], cl
+mov byte [eax + ref_00496ba9], cl ; mov byte [eax + 0x496ba9], cl
+mov byte [eax + ref_00496ba5], cl ; mov byte [eax + 0x496ba5], cl
+
+loc_00445866:
+mov dl, byte [esp]
+inc dl
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+mov byte [eax + ref_00496ba9], dl ; mov byte [eax + 0x496ba9], dl
+mov byte [eax + ref_00496ba5], 7 ; mov byte [eax + 0x496ba5], 7
+mov al, byte [ref_0049910c] ; mov al, byte [0x49910c]
+inc al
+mov ebp, dword [esp]
+imul ebx, ebp, 0x68
+mov byte [ebx + ref_00496ba9], al ; mov byte [ebx + 0x496ba9], al
+mov byte [ebx + ref_00496ba5], 7 ; mov byte [ebx + 0x496ba5], 7
+push edi
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+mov bl, byte [ebx + ref_00496b7b] ; mov bl, byte [ebx + 0x496b7b]
+and ebx, 0xff
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov edx, dword [eax + ref_0048139a] ; mov edx, dword [eax + 0x48139a]
+push edx
+push 0
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+call fcn_0041d546 ; call 0x41d546
+
+loc_004458d8:
+mov eax, esi
+jmp near loc_00442afa ; jmp 0x442afa
+
+fcn_004458df:
+push ebx
+push esi
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004458ff ; jne 0x4458ff
+push 0xe0c0010
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00445906 ; jmp 0x445906
+
+loc_004458ff:
+push 0
+call fcn_0041e6f2 ; call 0x41e6f2
+
+loc_00445906:
+add esp, 4
+mov edi, eax
+test edi, edi
+je near loc_004440e3 ; je 0x4440e3
+push edi
+call fcn_0040d293 ; call 0x40d293
+mov ebx, eax
+add esp, 4
+mov esi, eax
+push 0x1e
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_00441343 ; call 0x441343
+add esp, 8
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+cmp ebx, ebp
+je short loc_00445969 ; je 0x445969
+imul eax, ebp, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 3
+mov ebx, eax
+shl eax, 4
+sub eax, ebx
+mov ecx, dword [eax + ref_004812ae] ; mov ecx, dword [eax + 0x4812ae]
+push ecx
+push 3
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_00445969:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+je short loc_004459b7 ; je 0x4459b7
+push 0x64
+imul edx, esi, 0x68
+xor ebx, ebx
+mov bx, word [edx + ref_00496b72] ; mov bx, word [edx + 0x496b72]
+push ebx
+mov dx, word [edx + ref_00496b70] ; mov dx, word [edx + 0x496b70]
+and edx, 0xffff
+push edx
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push 0
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+
+loc_004459b7:
+cmp esi, 4
+jge near loc_00445a3e ; jge 0x445a3e
+imul ebx, esi, 0x68
+cmp esi, dword [ref_0049910c] ; cmp esi, dword [0x49910c]
+jne short loc_00445a02 ; jne 0x445a02
+xor edx, edx
+mov dl, byte [ebx + ref_00496b7b] ; mov dl, byte [ebx + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov ecx, dword [eax + ref_00481326] ; mov ecx, dword [eax + 0x481326]
+push ecx
+push 3
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov byte [ebx + ref_00496ba1], 2 ; mov byte [ebx + 0x496ba1], 2
+jmp near loc_004440e3 ; jmp 0x4440e3
+
+loc_00445a02:
+xor edx, edx
+mov dl, byte [ebx + ref_00496b7b] ; mov dl, byte [ebx + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov edx, dword [eax + ref_0048139e] ; mov edx, dword [eax + 0x48139e]
+push edx
+push 2
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov byte [ebx + ref_00496ba1], 3 ; mov byte [ebx + 0x496ba1], 3
+call fcn_0041d546 ; call 0x41d546
+jmp near loc_004440e3 ; jmp 0x4440e3
+
+loc_00445a3e:
+shl esi, 4
+mov byte [esi + ref_00498df7], 3 ; mov byte [esi + 0x498df7], 3
+jmp near loc_004440e3 ; jmp 0x4440e3
+
+fcn_00445a4d:
+push ebx
+mov edx, dword [esp + 0xc]
+mov ecx, dword [esp + 8]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, eax
+shl eax, 2
+sub eax, ecx
+cmp byte [edx + eax + ref_0049915b], 9 ; cmp byte [edx + eax + 0x49915b], 9
+jae short loc_00445aa0 ; jae 0x445aa0
+cmp edx, 8
+jg short loc_00445a87 ; jg 0x445a87
+mov bh, byte [edx + ref_0049731f] ; mov bh, byte [edx + 0x49731f]
+test bh, bh
+je short loc_00445aa0 ; je 0x445aa0
+mov cl, bh
+dec cl
+mov byte [edx + ref_0049731f], cl ; mov byte [edx + 0x49731f], cl
+
+loc_00445a87:
+mov ecx, dword [esp + 8]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, eax
+shl eax, 2
+sub eax, ecx
+inc byte [edx + eax + ref_0049915b] ; inc byte [edx + eax + 0x49915b]
+
+loc_00445aa0:
+pop ebx
+ret
+
+fcn_00445aa2:
+mov ecx, dword [esp + 8]
+mov edx, dword [esp + 4]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+add eax, ecx
+mov dl, byte [eax + ref_0049915b] ; mov dl, byte [eax + 0x49915b]
+test dl, dl
+je short loc_00445ad9 ; je 0x445ad9
+mov dh, dl
+dec dh
+mov byte [eax + ref_0049915b], dh ; mov byte [eax + 0x49915b], dh
+cmp ecx, 8
+jg short loc_00445ad9 ; jg 0x445ad9
+inc byte [ecx + ref_0049731f] ; inc byte [ecx + 0x49731f]
+
+loc_00445ad9:
+ret
+
+fcn_00445ada:
+push ebx
+push esi
+sub esp, 0x80
+xor esi, esi
+xor eax, eax
+xor ebx, ebx
+jmp short loc_00445af0 ; jmp 0x445af0
+
+loc_00445aea:
+inc eax
+cmp eax, 8
+jge short loc_00445b0e ; jge 0x445b0e
+
+loc_00445af0:
+cmp byte [eax + ref_00497320], 0 ; cmp byte [eax + 0x497320], 0
+je short loc_00445aea ; je 0x445aea
+xor edx, edx
+
+loc_00445afb:
+xor ecx, ecx
+mov cl, byte [eax + ref_00497320] ; mov cl, byte [eax + 0x497320]
+cmp edx, ecx
+jge short loc_00445aea ; jge 0x445aea
+mov byte [esp + ebx], al
+inc ebx
+inc edx
+jmp short loc_00445afb ; jmp 0x445afb
+
+loc_00445b0e:
+test ebx, ebx
+je short loc_00445b34 ; je 0x445b34
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+movzx esi, byte [esp + edx]
+inc esi
+push esi
+mov edx, dword [esp + 0x90]
+push edx
+call fcn_00445a4d ; call 0x445a4d
+add esp, 8
+
+loc_00445b34:
+mov eax, esi
+add esp, 0x80
+pop esi
+pop ebx
+ret
+
+fcn_00445b3f:
+push ebx
+push esi
+push edi
+mov esi, dword [esp + 0x10]
+imul eax, esi, 0x68
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+test dl, dl
+je short loc_00445baa ; je 0x445baa
+mov bl, dl
+and bl, 3
+mov eax, esi
+shl eax, 2
+add eax, esi
+mov edx, eax
+shl eax, 2
+sub eax, edx
+cmp bl, 2
+jb short loc_00445b74 ; jb 0x445b74
+jbe short loc_00445b81 ; jbe 0x445b81
+cmp bl, 3
+je short loc_00445b89 ; je 0x445b89
+jmp short loc_00445b8f ; jmp 0x445b8f
+
+loc_00445b74:
+cmp bl, 1
+jne short loc_00445b8f ; jne 0x445b8f
+add byte [eax + ref_00499160], bl ; add byte [eax + 0x499160], bl
+jmp short loc_00445b8f ; jmp 0x445b8f
+
+loc_00445b81:
+inc byte [eax + ref_00499161] ; inc byte [eax + 0x499161]
+jmp short loc_00445b8f ; jmp 0x445b8f
+
+loc_00445b89:
+inc byte [eax + ref_00499167] ; inc byte [eax + 0x499167]
+
+loc_00445b8f:
+imul eax, esi, 0x68
+xor cl, cl
+mov byte [eax + ref_00496b79], cl ; mov byte [eax + 0x496b79], cl
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+push esi
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+
+loc_00445baa:
+xor eax, eax
+xor ebx, ebx
+jmp short loc_00445bb6 ; jmp 0x445bb6
+
+loc_00445bb0:
+inc eax
+cmp eax, 0xd
+jge short loc_00445c0e ; jge 0x445c0e
+
+loc_00445bb6:
+mov edx, esi
+shl edx, 2
+add edx, esi
+mov ecx, edx
+shl edx, 2
+sub edx, ecx
+add edx, eax
+mov cl, byte [edx + ref_0049915c] ; mov cl, byte [edx + 0x49915c]
+test cl, cl
+je short loc_00445bb0 ; je 0x445bb0
+cmp eax, 8
+jge short loc_00445bdb ; jge 0x445bdb
+add byte [eax + ref_00497320], cl ; add byte [eax + 0x497320], cl
+
+loc_00445bdb:
+mov edx, esi
+shl edx, 2
+add edx, esi
+mov ecx, edx
+shl edx, 2
+sub edx, ecx
+movzx edi, byte [edx + eax + ref_0049915c] ; movzx edi, byte [edx + eax + 0x49915c]
+mov cl, byte [eax*8 + ref_0047fee7] ; mov cl, byte [eax*8 + 0x47fee7]
+and ecx, 0xff
+imul ecx, edi
+add ebx, ecx
+xor cl, cl
+mov byte [edx + eax + ref_0049915c], cl ; mov byte [edx + eax + 0x49915c], cl
+jmp short loc_00445bb0 ; jmp 0x445bb0
+
+loc_00445c0e:
+mov eax, ebx
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00445c14:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov ebx, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x202
+jb short loc_00445c51 ; jb 0x445c51
+jbe near loc_00445d84 ; jbe 0x445d84
+cmp eax, 0x205
+jb near loc_00445e13 ; jb 0x445e13
+jbe near loc_00445dad ; jbe 0x445dad
+cmp eax, 0x401
+je short loc_00445c6c ; je 0x445c6c
+jmp near loc_00445e13 ; jmp 0x445e13
+
+loc_00445c51:
+cmp eax, 0xf
+jb near loc_00445e13 ; jb 0x445e13
+jbe near loc_00445dbb ; jbe 0x445dbb
+cmp eax, 0x201
+je short loc_00445c8f ; je 0x445c8f
+jmp near loc_00445e13 ; jmp 0x445e13
+
+loc_00445c6c:
+xor edx, edx
+mov dword [ref_0048c560], edx ; mov dword [0x48c560], edx
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push ebx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00445d7d ; jmp 0x445d7d
+
+loc_00445c8f:
+xor ebx, ebx
+mov bx, dx
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+xor edx, edx
+mov dx, ax
+cmp ebx, 0x13
+jl near loc_00445d7d ; jl 0x445d7d
+cmp ebx, 0x1a3
+jge near loc_00445d7d ; jge 0x445d7d
+cmp edx, 0x87
+jl near loc_00445d7d ; jl 0x445d7d
+cmp edx, 0x12f
+jge near loc_00445d7d ; jge 0x445d7d
+sub edx, 0x87
+mov ecx, 0x38
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov ecx, eax
+shl ecx, 2
+add ecx, eax
+lea edx, [ebx - 0x13]
+mov ebx, 0x50
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+lea ebx, [ecx + eax]
+cmp byte [ebx + ref_0048c548], 0 ; cmp byte [ebx + 0x48c548], 0
+je near loc_00445d7d ; je 0x445d7d
+mov ecx, 5
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 4
+lea edx, [eax + 0x14]
+mov dword [esp + 0x40], edx
+add eax, 0x62
+mov dword [esp + 0x48], eax
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+lea edx, [eax + 0x88]
+mov dword [esp + 0x44], edx
+add eax, 0xbe
+mov dword [esp + 0x4c], eax
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451b9e ; call 0x451b9e
+add esp, 4
+xor eax, eax
+mov al, byte [ebx + ref_0048c548] ; mov al, byte [ebx + 0x48c548]
+mov dword [ref_0048c560], eax ; mov dword [0x48c560], eax
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_00445d7d:
+xor eax, eax
+jmp near loc_00445e22 ; jmp 0x445e22
+
+loc_00445d84:
+cmp dword [ref_0048c560], 0 ; cmp dword [0x48c560], 0
+je short loc_00445d7d ; je 0x445d7d
+call fcn_00451d4e ; call 0x451d4e
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048c560] ; mov ebx, dword [0x48c560]
+push ebx
+
+loc_00445da3:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp short loc_00445d7d ; jmp 0x445d7d
+
+loc_00445dad:
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+jmp short loc_00445da3 ; jmp 0x445da3
+
+loc_00445dbb:
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+mov ebp, dword [esp + 0x18]
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00445d7d ; jmp 0x445d7d
+
+loc_00445e13:
+push edx
+mov edx, dword [esp + 0x70]
+push edx
+push eax
+push ebx
+
+loc_00445e1b:
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+
+loc_00445e22:
+add esp, 0x50
+
+loc_00445e25:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+endloc_00445e2c:
+db 0x90
+
+ref_00445e2d: ; may contain a jump table
+dd loc_00446337
+dd loc_0044639a
+dd loc_004465b6
+dd loc_00446434
+dd loc_00446457
+dd loc_004464c3
+dd loc_00446569
+dd loc_0044657c
+
+fcn_00445e4d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x48
+mov eax, dword [esp + 0x60]
+mov ecx, dword [esp + 0x68]
+cmp eax, 0x200
+jb short loc_00445ea2 ; jb 0x445ea2
+mov edx, ecx
+shr edx, 0x10
+and edx, 0xffff
+cmp eax, 0x200
+jbe near loc_0044609b ; jbe 0x44609b
+cmp eax, 0x205
+jb short loc_00445e92 ; jb 0x445e92
+jbe near loc_004466b8 ; jbe 0x4466b8
+cmp eax, 0x401
+je short loc_00445ec1 ; je 0x445ec1
+jmp near loc_0044675c ; jmp 0x44675c
+
+loc_00445e92:
+cmp eax, 0x202
+je near loc_00446656 ; je 0x446656
+jmp near loc_0044675c ; jmp 0x44675c
+
+loc_00445ea2:
+cmp eax, 0xf
+jb near loc_0044675c ; jb 0x44675c
+jbe near loc_004466fa ; jbe 0x4466fa
+cmp eax, 0x113
+je near loc_00445f88 ; je 0x445f88
+jmp near loc_0044675c ; jmp 0x44675c
+
+loc_00445ec1:
+mov ebx, edx
+mov eax, edx
+xor ah, dh
+and eax, 0xffff
+mov dword [ref_0048c588], eax ; mov dword [0x48c588], eax
+xor bl, dl
+xor eax, eax
+mov ax, bx
+sar eax, 8
+inc eax
+mov dword [ref_0048c58c], eax ; mov dword [0x48c58c], eax
+xor eax, eax
+mov ax, cx
+mov dword [ref_0048c594], eax ; mov dword [0x48c594], eax
+test byte [ref_0048c594], 0x40 ; test byte [0x48c594], 0x40
+je short loc_00445f05 ; je 0x445f05
+and dword [ref_0048c594], 0x80 ; and dword [0x48c594], 0x80
+or byte [ref_0048c594], 0x37 ; or byte [0x48c594], 0x37
+
+loc_00445f05:
+mov dword [ref_0048c580], 0xffffffff ; mov dword [0x48c580], 0xffffffff
+xor ebx, ebx
+mov dword [ref_0048c564], ebx ; mov dword [0x48c564], ebx
+mov dword [ref_0048c56c], 8 ; mov dword [0x48c56c], 8
+mov dword [ref_0048c568], ebx ; mov dword [0x48c568], ebx
+mov dword [ref_0048c584], ebx ; mov dword [0x48c584], ebx
+mov dword [ref_0048c570], ebx ; mov dword [0x48c570], ebx
+mov dword [ref_0048c578], ebx ; mov dword [0x48c578], ebx
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+lea eax, [esp + 0x40]
+push eax
+call dword [cs:__imp__GetCursorPos@4] ; ucall: call dword cs:[0x4622ec]
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+mov edx, dword [esp + 0x44]
+shl edx, 0x10
+mov eax, dword [esp + 0x40]
+and eax, 0xffff
+add eax, edx
+push eax
+push ebx
+push 0x200
+mov ecx, dword [esp + 0x68]
+push ecx
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+
+loc_00445f7e:
+xor eax, eax
+
+loc_00445f80:
+add esp, 0x48
+jmp near loc_00445e25 ; jmp 0x445e25
+
+loc_00445f88:
+cmp byte [ref_0046cb01], 0 ; cmp byte [0x46cb01], 0
+je short loc_00445f7e ; je 0x445f7e
+mov eax, dword [esp + 0x64]
+cmp eax, dword [ref_0046cad8] ; cmp eax, dword [0x46cad8]
+jne short loc_00445f7e ; jne 0x445f7e
+mov edi, dword [ref_0048c56c] ; mov edi, dword [0x48c56c]
+cmp edi, 0x40
+jg short loc_00445fb1 ; jg 0x445fb1
+lea ebp, [edi + 4]
+mov dword [ref_0048c56c], ebp ; mov dword [0x48c56c], ebp
+
+loc_00445fb1:
+mov eax, dword [ref_0048c568] ; mov eax, dword [0x48c568]
+add eax, eax
+add eax, dword [ref_00499088] ; add eax, dword [0x499088]
+sub eax, 2
+and eax, 7
+mov ecx, dword [ref_0048c56c] ; mov ecx, dword [0x48c56c]
+imul ecx, dword [eax*8 + ref_004751b0] ; imul ecx, dword [eax*8 + 0x4751b0]
+sar ecx, 0x10
+mov esi, dword [ref_0048c570] ; mov esi, dword [0x48c570]
+add esi, ecx
+mov dword [ref_0048c570], esi ; mov dword [0x48c570], esi
+mov ecx, dword [ref_0048c56c] ; mov ecx, dword [0x48c56c]
+imul ecx, dword [eax*8 + ref_004751b4] ; imul ecx, dword [eax*8 + 0x4751b4]
+sar ecx, 0x10
+add dword [ref_0048c574], ecx ; add dword [0x48c574], ecx
+cmp esi, 0xdc
+jge short loc_0044600e ; jge 0x44600e
+mov dword [ref_0048c570], 0xdc ; mov dword [0x48c570], 0xdc
+jmp short loc_00446020 ; jmp 0x446020
+
+loc_0044600e:
+cmp esi, 0x824
+jle short loc_00446020 ; jle 0x446020
+mov dword [ref_0048c570], 0x824 ; mov dword [0x48c570], 0x824
+
+loc_00446020:
+mov esi, dword [ref_0048c574] ; mov esi, dword [0x48c574]
+cmp esi, 0xdc
+jge short loc_0044603a ; jge 0x44603a
+mov dword [ref_0048c574], 0xdc ; mov dword [0x48c574], 0xdc
+jmp short loc_0044604c ; jmp 0x44604c
+
+loc_0044603a:
+cmp esi, 0x824
+jle short loc_0044604c ; jle 0x44604c
+mov dword [ref_0048c574], 0x824 ; mov dword [0x48c574], 0x824
+
+loc_0044604c:
+mov eax, dword [ref_0048c578] ; mov eax, dword [0x48c578]
+cmp eax, dword [ref_0048c570] ; cmp eax, dword [0x48c570]
+jne short loc_0044606a ; jne 0x44606a
+mov eax, dword [ref_0048c57c] ; mov eax, dword [0x48c57c]
+cmp eax, dword [ref_0048c574] ; cmp eax, dword [0x48c574]
+je near loc_00445f7e ; je 0x445f7e
+
+loc_0044606a:
+push 0
+mov ebx, dword [ref_0048c574] ; mov ebx, dword [0x48c574]
+push ebx
+mov esi, dword [ref_0048c570] ; mov esi, dword [0x48c570]
+push esi
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov eax, dword [ref_0048c570] ; mov eax, dword [0x48c570]
+mov dword [ref_0048c578], eax ; mov dword [0x48c578], eax
+mov eax, dword [ref_0048c574] ; mov eax, dword [0x48c574]
+mov dword [ref_0048c57c], eax ; mov dword [0x48c57c], eax
+jmp near loc_00445f7e ; jmp 0x445f7e
+
+loc_0044609b:
+xor ebx, ebx
+mov bx, cx
+movzx ebp, dx
+sub ebp, 0x28
+test byte [ref_0048c594], 0x80 ; test byte [0x48c594], 0x80
+je near loc_004461ff ; je 0x4461ff
+test ebx, ebx
+jne short loc_004460c6 ; jne 0x4460c6
+mov dword [ref_0048c568], 2 ; mov dword [0x48c568], 2
+jmp near loc_0044614b ; jmp 0x44614b
+
+loc_004460c6:
+cmp ebx, 0x1b8
+jl short loc_004460dd ; jl 0x4460dd
+mov dword [ref_0048c568], 4 ; mov dword [0x48c568], 4
+jmp near loc_0044614b ; jmp 0x44614b
+
+loc_004460dd:
+test ebp, ebp
+jg short loc_004460ed ; jg 0x4460ed
+mov dword [ref_0048c568], 1 ; mov dword [0x48c568], 1
+jmp short loc_0044614b ; jmp 0x44614b
+
+loc_004460ed:
+cmp ebp, 0x1b7
+jne short loc_00446101 ; jne 0x446101
+mov dword [ref_0048c568], 3 ; mov dword [0x48c568], 3
+jmp short loc_0044614b ; jmp 0x44614b
+
+loc_00446101:
+mov eax, dword [ref_0048c564] ; mov eax, dword [0x48c564]
+test eax, eax
+je short loc_0044613e ; je 0x44613e
+push eax
+mov eax, dword [esp + 0x60]
+push eax
+call dword [cs:__imp__KillTimer@8] ; ucall: call dword cs:[0x4622fc]
+push 1
+call fcn_004024a9 ; call 0x4024a9
+add esp, 4
+xor edx, edx
+mov dword [ref_0048c568], edx ; mov dword [0x48c568], edx
+mov dword [ref_0048c564], edx ; mov dword [0x48c564], edx
+mov dword [ref_0048c56c], 8 ; mov dword [0x48c56c], 8
+jmp near loc_004461ff ; jmp 0x4461ff
+
+loc_0044613e:
+cmp dword [ref_0048c568], 0 ; cmp dword [0x48c568], 0
+je near loc_004461f2 ; je 0x4461f2
+
+loc_0044614b:
+mov ecx, dword [ref_0048c564] ; mov ecx, dword [0x48c564]
+test ecx, ecx
+jne near loc_004461f2 ; jne 0x4461f2
+push ecx
+call fcn_004024a9 ; call 0x4024a9
+add esp, 4
+mov eax, dword [ref_0048c568] ; mov eax, dword [0x48c568]
+shl eax, 2
+mov edx, dword [ref_0048c580] ; mov edx, dword [0x48c580]
+mov ecx, dword [eax + ref_00475e0d] ; mov ecx, dword [eax + 0x475e0d]
+cmp edx, ecx
+je short loc_0044618d ; je 0x44618d
+mov dword [ref_0048c580], ecx ; mov dword [0x48c580], ecx
+push 0
+push 1
+push ecx
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+
+loc_0044618d:
+push 0
+push 0x32
+mov edx, dword [ref_0046cad8] ; mov edx, dword [0x46cad8]
+push edx
+mov ecx, dword [esp + 0x68]
+push ecx
+call dword [cs:__imp__SetTimer@16] ; ucall: call dword cs:[0x462324]
+mov dword [ref_0048c564], eax ; mov dword [0x48c564], eax
+cmp dword [ref_0048c570], 0 ; cmp dword [0x48c570], 0
+jne short loc_004461f2 ; jne 0x4461f2
+mov edx, dword [ref_0048be18] ; mov edx, dword [0x48be18]
+test edx, edx
+jne short loc_004461de ; jne 0x4461de
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dx, word [eax + ref_00496b70] ; mov dx, word [eax + 0x496b70]
+mov dword [ref_0048c570], edx ; mov dword [0x48c570], edx
+mov ax, word [eax + ref_00496b72] ; mov ax, word [eax + 0x496b72]
+and eax, 0xffff
+jmp short loc_004461ed ; jmp 0x4461ed
+
+loc_004461de:
+mov eax, dword [ref_0048be1c] ; mov eax, dword [0x48be1c]
+mov dword [ref_0048c570], eax ; mov dword [0x48c570], eax
+mov eax, dword [ref_0048be20] ; mov eax, dword [0x48be20]
+
+loc_004461ed:
+mov dword [ref_0048c574], eax ; mov dword [0x48c574], eax
+
+loc_004461f2:
+cmp dword [ref_0048c564], 0 ; cmp dword [0x48c564], 0
+jne near loc_00445f7e ; jne 0x445f7e
+
+loc_004461ff:
+test ebx, ebx
+jl near loc_00446624 ; jl 0x446624
+cmp ebx, 0x1b8
+jge near loc_00446624 ; jge 0x446624
+test ebp, ebp
+jl near loc_00446624 ; jl 0x446624
+cmp ebp, 0x1b8
+jge near loc_00446624 ; jge 0x446624
+push ebp
+push ebx
+call fcn_0040a9d7 ; call 0x40a9d7
+add esp, 8
+mov ebx, eax
+xor ebp, ebp
+test byte [ref_0048c594], 1 ; test byte [0x48c594], 1
+je short loc_0044624e ; je 0x44624e
+test eax, eax
+jle short loc_0044624e ; jle 0x44624e
+cmp eax, 0x7d0
+jge short loc_0044624e ; jge 0x44624e
+mov ebp, 1
+
+loc_0044624e:
+test byte [ref_0048c594], 2 ; test byte [0x48c594], 2
+je short loc_0044627d ; je 0x44627d
+cmp ebx, 0x7d0
+jle short loc_0044627d ; jle 0x44627d
+cmp ebx, 0xfa0
+jge short loc_0044627d ; jge 0x44627d
+lea eax, [ebx - 0x7d0]
+imul eax, eax, 0x34
+mov edi, dword [ref_00498e84] ; mov edi, dword [0x498e84]
+add edi, eax
+mov ebp, 1
+
+loc_0044627d:
+test byte [ref_0048c594], 4 ; test byte [0x48c594], 4
+je short loc_004462b3 ; je 0x4462b3
+cmp ebx, 0xfa0
+jle short loc_004462b3 ; jle 0x4462b3
+cmp ebx, 0x1770
+jge short loc_004462b3 ; jge 0x4462b3
+lea eax, [ebx - 0xfa0]
+shl eax, 3
+mov ecx, eax
+shl eax, 3
+sub eax, ecx
+mov esi, dword [ref_00498e88] ; mov esi, dword [0x498e88]
+add esi, eax
+mov ebp, 1
+
+loc_004462b3:
+test byte [ref_0048c594], 0x10 ; test byte [0x48c594], 0x10
+je short loc_004462e7 ; je 0x4462e7
+test bh, 0x80
+je short loc_004462e7 ; je 0x4462e7
+test bl, 0xff
+je short loc_004462e7 ; je 0x4462e7
+push ebx
+call fcn_0040d293 ; call 0x40d293
+add esp, 4
+cmp eax, 4
+jge short loc_004462e2 ; jge 0x4462e2
+jge short loc_004462e7 ; jge 0x4462e7
+imul eax, eax, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_004462e7 ; je 0x4462e7
+
+loc_004462e2:
+mov ebp, 1
+
+loc_004462e7:
+test byte [ref_0048c594], 0x20 ; test byte [0x48c594], 0x20
+je short loc_00446301 ; je 0x446301
+test bh, 0x80
+je short loc_00446301 ; je 0x446301
+test bh, 0x7f
+je short loc_00446301 ; je 0x446301
+mov ebp, 1
+jmp short loc_0044630a ; jmp 0x44630a
+
+loc_00446301:
+cmp ebp, 1
+jne near loc_004465b6 ; jne 0x4465b6
+
+loc_0044630a:
+test byte [ref_0048c595], 0xff ; test byte [0x48c595], 0xff
+je near loc_004465b6 ; je 0x4465b6
+xor ebp, ebp
+mov eax, dword [ref_0048c594] ; mov eax, dword [0x48c594]
+and eax, 0xff00
+shr eax, 8
+dec eax
+cmp eax, 7
+ja near loc_004465b6 ; ja 0x4465b6
+jmp dword [eax*4 + ref_00445e2d] ; ujmp: jmp dword [eax*4 + 0x445e2d]
+
+loc_00446337:
+cmp ebx, 0x7d0
+jle short loc_0044635f ; jle 0x44635f
+cmp ebx, 0xfa0
+jge short loc_0044635f ; jge 0x44635f
+xor edx, edx
+mov dl, byte [edi + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+jne near loc_004465b6 ; jne 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_0044635f:
+cmp ebx, 0xfa0
+jle near loc_004465b6 ; jle 0x4465b6
+cmp ebx, 0x1770
+jge near loc_004465b6 ; jge 0x4465b6
+xor eax, eax
+mov al, byte [esi + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne near loc_004465b6 ; jne 0x4465b6
+cmp byte [esi + 0x1a], 0
+je near loc_004465b6 ; je 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_0044639a:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ecx, ecx
+mov cx, word [eax + ref_00496b74] ; mov cx, word [eax + 0x496b74]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov cx, word [ecx + eax*8 + 0x20]
+and ecx, 0xffff
+cmp ebx, 0x7d0
+jle short loc_004463f7 ; jle 0x4463f7
+cmp ebx, 0xfa0
+jge short loc_004463f7 ; jge 0x4463f7
+cmp ecx, 0x7d0
+jle near loc_004465b6 ; jle 0x4465b6
+cmp ecx, 0xfa0
+jge near loc_004465b6 ; jge 0x4465b6
+cmp ecx, ebx
+je near loc_004465b6 ; je 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_004463f7:
+cmp ebx, 0xfa0
+jle near loc_004465b6 ; jle 0x4465b6
+cmp ebx, 0x1770
+jge near loc_004465b6 ; jge 0x4465b6
+cmp ecx, 0xfa0
+jle near loc_004465b6 ; jle 0x4465b6
+cmp ecx, 0x1770
+jge near loc_004465b6 ; jge 0x4465b6
+cmp ecx, ebx
+je near loc_004465b6 ; je 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_00446434:
+test bl, 0xf
+je near loc_004465b6 ; je 0x4465b6
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+mov eax, 1
+shl eax, cl
+test ebx, eax
+jne near loc_004465b6 ; jne 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_00446457:
+cmp ebx, 0x7d0
+jle short loc_00446489 ; jle 0x446489
+cmp ebx, 0xfa0
+jge short loc_00446489 ; jge 0x446489
+xor edx, edx
+mov dl, byte [edi + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+je near loc_004465b6 ; je 0x4465b6
+cmp byte [edi + 0x1a], 0
+je near loc_004465b6 ; je 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_00446489:
+cmp ebx, 0xfa0
+jle near loc_004465b6 ; jle 0x4465b6
+cmp ebx, 0x1770
+jge near loc_004465b6 ; jge 0x4465b6
+xor edx, edx
+mov dl, byte [esi + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+je near loc_004465b6 ; je 0x4465b6
+cmp byte [esi + 0x1a], 0
+je near loc_004465b6 ; je 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_004464c3:
+cmp ebx, 0x7d0
+jle short loc_004464f6 ; jle 0x4464f6
+cmp ebx, 0xfa0
+jge short loc_004464f6 ; jge 0x4464f6
+xor eax, eax
+mov al, byte [edi + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+je near loc_004465b6 ; je 0x4465b6
+cmp byte [edi + 0x1a], 0
+je near loc_004465b6 ; je 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_004464f6:
+cmp ebx, 0xfa0
+jle short loc_00446528 ; jle 0x446528
+cmp ebx, 0x1770
+jge short loc_00446528 ; jge 0x446528
+xor edx, edx
+mov dl, byte [esi + 0x19]
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+inc eax
+cmp edx, eax
+je near loc_004465b6 ; je 0x4465b6
+cmp byte [esi + 0x1a], 0
+je near loc_004465b6 ; je 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_00446528:
+test bh, 0x80
+je near loc_004465b6 ; je 0x4465b6
+mov ecx, ebx
+and ecx, 0x7f00
+sar ecx, 8
+dec ecx
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+xor ecx, ecx
+mov cl, byte [eax*8 + ref_00496d08] ; mov cl, byte [eax*8 + 0x496d08]
+cmp ecx, 0x10
+je near loc_004465ba ; je 0x4465ba
+cmp ecx, 0x11
+je near loc_004465ba ; je 0x4465ba
+cmp ecx, 0x12
+jne short loc_004465b6 ; jne 0x4465b6
+jmp near loc_004465ba ; jmp 0x4465ba
+
+loc_00446569:
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+mov eax, 1
+shl eax, cl
+test ebx, eax
+jne short loc_004465b6 ; jne 0x4465b6
+jmp short loc_004465ba ; jmp 0x4465ba
+
+loc_0044657c:
+cmp ebx, 0x7d0
+jle short loc_0044659a ; jle 0x44659a
+cmp ebx, 0xfa0
+jge short loc_0044659a ; jge 0x44659a
+cmp byte [edi + 0x19], 0
+jne short loc_004465b6 ; jne 0x4465b6
+cmp byte [edi + 0x1a], 0
+jne short loc_004465b6 ; jne 0x4465b6
+jmp short loc_004465ba ; jmp 0x4465ba
+
+loc_0044659a:
+cmp ebx, 0xfa0
+jle short loc_004465b6 ; jle 0x4465b6
+cmp ebx, 0x1770
+jge short loc_004465b6 ; jge 0x4465b6
+cmp byte [esi + 0x19], 0
+jne short loc_004465b6 ; jne 0x4465b6
+cmp byte [esi + 0x1a], 0
+je short loc_004465ba ; je 0x4465ba
+
+loc_004465b6:
+test ebp, ebp
+je short loc_004465f4 ; je 0x4465f4
+
+loc_004465ba:
+mov dword [ref_0048c584], ebx ; mov dword [0x48c584], ebx
+mov eax, dword [ref_0048c580] ; mov eax, dword [0x48c580]
+mov edx, dword [ref_0048c588] ; mov edx, dword [0x48c588]
+cmp eax, edx
+je near loc_00445f7e ; je 0x445f7e
+push 0xa
+mov ecx, dword [ref_0048c58c] ; mov ecx, dword [0x48c58c]
+push ecx
+push edx
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+mov eax, dword [ref_0048c588] ; mov eax, dword [0x48c588]
+mov dword [ref_0048c580], eax ; mov dword [0x48c580], eax
+jmp near loc_00445f7e ; jmp 0x445f7e
+
+loc_004465f4:
+cmp dword [ref_0048c580], 5 ; cmp dword [0x48c580], 5
+je near loc_00445f7e ; je 0x445f7e
+push ebp
+push 1
+push 5
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+mov dword [ref_0048c580], 5 ; mov dword [0x48c580], 5
+xor eax, eax
+mov dword [ref_0048c584], eax ; mov dword [0x48c584], eax
+jmp near loc_00445f7e ; jmp 0x445f7e
+
+loc_00446624:
+cmp dword [ref_0048c580], 5 ; cmp dword [0x48c580], 5
+je near loc_00445f7e ; je 0x445f7e
+push 0
+push 1
+push 5
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+mov dword [ref_0048c580], 5 ; mov dword [0x48c580], 5
+xor ebx, ebx
+mov dword [ref_0048c584], ebx ; mov dword [0x48c584], ebx
+jmp near loc_00445f7e ; jmp 0x445f7e
+
+loc_00446656:
+mov esi, dword [ref_0048c564] ; mov esi, dword [0x48c564]
+test esi, esi
+jne near loc_00445f7e ; jne 0x445f7e
+cmp dword [ref_0048c584], 0 ; cmp dword [0x48c584], 0
+je short loc_004466a5 ; je 0x4466a5
+push esi
+push ref_0048232a ; push 0x48232a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push esi
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push esi
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+mov ebp, dword [ref_0048c584] ; mov ebp, dword [0x48c584]
+push ebp
+
+loc_00446698:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00445f7e ; jmp 0x445f7e
+
+loc_004466a5:
+push esi
+push ref_0048233a ; push 0x48233a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+jmp near loc_00445f7e ; jmp 0x445f7e
+
+loc_004466b8:
+mov ebx, dword [ref_0048c564] ; mov ebx, dword [0x48c564]
+test ebx, ebx
+jne near loc_00445f7e ; jne 0x445f7e
+test byte [ref_0048c594], 8 ; test byte [0x48c594], 8
+jne near loc_00445f7e ; jne 0x445f7e
+push ebx
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push ebx
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push ebx
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push ebx
+jmp short loc_00446698 ; jmp 0x446698
+
+loc_004466fa:
+mov eax, esp
+push eax
+mov edi, dword [esp + 0x60]
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+mov edx, dword [esp + 0x18]
+push edx
+mov ecx, dword [esp + 0x18]
+push ecx
+mov ebx, dword [ref_0048a0dc] ; mov ebx, dword [0x48a0dc]
+push ebx
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00445f7e ; jmp 0x445f7e
+
+loc_0044675c:
+push ecx
+mov edi, dword [esp + 0x68]
+push edi
+push eax
+mov ebp, dword [esp + 0x68]
+push ebp
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00445f80 ; jmp 0x445f80
+
+fcn_00446774:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov edi, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov ecx, dword [esp + 0x70]
+cmp eax, 0x201
+jb short loc_004467b1 ; jb 0x4467b1
+jbe near loc_00446a2c ; jbe 0x446a2c
+cmp eax, 0x205
+jb near loc_00446adb ; jb 0x446adb
+jbe near loc_00446a66 ; jbe 0x446a66
+cmp eax, 0x401
+je short loc_004467cc ; je 0x4467cc
+jmp near loc_00446adb ; jmp 0x446adb
+
+loc_004467b1:
+cmp eax, 0xf
+jb near loc_00446adb ; jb 0x446adb
+jbe near loc_00446a83 ; jbe 0x446a83
+cmp eax, 0x200
+je short loc_00446800 ; je 0x446800
+jmp near loc_00446adb ; jmp 0x446adb
+
+loc_004467cc:
+xor edx, edx
+mov dword [ref_0048c598], edx ; mov dword [0x48c598], edx
+push 0x140
+push 0xdc
+call dword [cs:__imp__SetCursorPos@8] ; ucall: call dword cs:[0x46231c]
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 0
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_00445d7d ; jmp 0x445d7d
+
+loc_00446800:
+movzx ebp, cx
+mov eax, ecx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+xor ecx, ecx
+cmp eax, 0x13a
+jl near loc_0044697b ; jl 0x44697b
+cmp eax, 0x157
+jge near loc_0044697b ; jge 0x44697b
+mov dword [esp + 0x44], 0x13a
+mov dword [esp + 0x4c], 0x157
+xor esi, esi
+mov ebx, 0x68
+jmp short loc_00446850 ; jmp 0x446850
+
+loc_00446843:
+inc esi
+add ebx, 0x28
+cmp esi, 6
+jge near loc_0044697b ; jge 0x44697b
+
+loc_00446850:
+cmp ebp, ebx
+jl short loc_00446843 ; jl 0x446843
+lea eax, [ebx + 0x1e]
+cmp ebp, eax
+jge short loc_00446843 ; jge 0x446843
+lea eax, [esi + 1]
+mov edx, dword [ref_0048c598] ; mov edx, dword [0x48c598]
+cmp eax, edx
+je near loc_00446971 ; je 0x446971
+test edx, edx
+je near loc_004468f4 ; je 0x4468f4
+dec edx
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+lea edx, [eax + 0x68]
+mov dword [esp + 0x40], edx
+add eax, 0x86
+mov dword [esp + 0x48], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x1d
+push 0x1e
+push 0xe
+mov eax, dword [esp + 0x4c]
+sub eax, 0x5c
+push eax
+push 0x13a
+mov eax, dword [esp + 0x54]
+push eax
+mov eax, dword [ref_0048c55c] ; mov eax, dword [0x48c55c]
+add eax, 0xc
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_004468f4:
+mov dword [esp + 0x40], ebx
+lea eax, [ebx + 0x1e]
+mov dword [esp + 0x48], eax
+lea eax, [esi + 1]
+mov dword [ref_0048c598], eax ; mov dword [0x48c598], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0x44]
+push ecx
+mov eax, dword [esp + 0x44]
+push eax
+mov ecx, dword [ref_0048c55c] ; mov ecx, dword [0x48c55c]
+mov edx, dword [ref_0048c598] ; mov edx, dword [0x48c598]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00446971:
+mov ecx, 1
+jmp near loc_00446843 ; jmp 0x446843
+
+loc_0044697b:
+test ecx, ecx
+jne near loc_00445d7d ; jne 0x445d7d
+mov ecx, dword [ref_0048c598] ; mov ecx, dword [0x48c598]
+test ecx, ecx
+je near loc_00445d7d ; je 0x445d7d
+lea edx, [ecx - 1]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+lea edx, [eax + 0x68]
+mov dword [esp + 0x40], edx
+add eax, 0x86
+mov dword [esp + 0x48], eax
+mov ebx, 0x13a
+mov dword [esp + 0x44], ebx
+mov dword [esp + 0x4c], 0x157
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x1d
+push 0x1e
+push 0xe
+mov eax, dword [esp + 0x4c]
+sub eax, 0x5c
+push eax
+push ebx
+mov ebp, dword [esp + 0x54]
+push ebp
+mov eax, dword [ref_0048c55c] ; mov eax, dword [0x48c55c]
+add eax, 0xc
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor edx, edx
+mov dword [ref_0048c598], edx ; mov dword [0x48c598], edx
+jmp near loc_00445d7d ; jmp 0x445d7d
+
+loc_00446a2c:
+cmp dword [ref_0048c598], 0 ; cmp dword [0x48c598], 0
+je near loc_00445d7d ; je 0x445d7d
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov ebx, dword [ref_0048c598] ; mov ebx, dword [0x48c598]
+push ebx
+
+loc_00446a59:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00445d7d ; jmp 0x445d7d
+
+loc_00446a66:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+jmp short loc_00446a59 ; jmp 0x446a59
+
+loc_00446a83:
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00445d7d ; jmp 0x445d7d
+
+loc_00446adb:
+push ecx
+mov ebp, dword [esp + 0x70]
+push ebp
+push eax
+push edi
+jmp near loc_00445e1b ; jmp 0x445e1b
+
+fcn_00446ae8:
+mov edx, dword [esp + 4]
+push edx
+push fcn_00445e4d ; push 0x445e4d
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+ret
+
+fcn_00446afb:
+push ebx
+push 1
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_00445aa2 ; call 0x445aa2
+add esp, 8
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ebx, dword [eax + ref_00480d5a] ; mov ebx, dword [eax + 0x480d5a]
+push ebx
+push 0
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dx, word [eax + ref_00496b70] ; mov dx, word [eax + 0x496b70]
+mov word [ref_00498e68], dx ; mov word [0x498e68], dx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+mov word [ref_00498e6a], dx ; mov word [0x498e6a], dx
+mov dx, word [eax + ref_00496b74] ; mov dx, word [eax + 0x496b74]
+mov word [ref_00498e6c], dx ; mov word [0x498e6c], dx
+mov dx, word [eax + ref_00496b76] ; mov dx, word [eax + 0x496b76]
+mov word [ref_00498e6e], dx ; mov word [0x498e6e], dx
+mov dl, byte [ref_0049910c] ; mov dl, byte [0x49910c]
+mov byte [ref_00498e70], dl ; mov byte [0x498e70], dl
+mov al, byte [eax + ref_00496b78] ; mov al, byte [eax + 0x496b78]
+mov byte [ref_00498e71], al ; mov byte [0x498e71], al
+xor ah, ah
+mov byte [ref_00498e72], ah ; mov byte [0x498e72], ah
+mov dword [ref_0049910c], 8 ; mov dword [0x49910c], 8
+call fcn_0040dd1f ; call 0x40dd1f
+
+loc_00446ba3:
+mov eax, 1
+pop ebx
+ret
+
+fcn_00446baa:
+push ebx
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00480d5e] ; mov ecx, dword [eax + 0x480d5e]
+push ecx
+push 0
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00446bed ; jne 0x446bed
+push 1
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00446bf4 ; jmp 0x446bf4
+
+loc_00446bed:
+push 0
+call fcn_00420eee ; call 0x420eee
+
+loc_00446bf4:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00446c84 ; je 0x446c84
+push 0
+push 0
+push ebx
+push 0x10
+call fcn_0040e033 ; call 0x40e033
+mov ecx, eax
+add esp, 0x10
+push 0x64
+mov eax, ebx
+shl eax, 2
+lea edx, [ebx + eax]
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, edx
+movsx edx, word [eax + 2]
+push edx
+movsx eax, word [eax]
+push eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push ecx
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+push 0
+push ref_0048236a ; push 0x48236a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+call fcn_0041d546 ; call 0x41d546
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+dec byte [eax + ref_0049915d] ; dec byte [eax + 0x49915d]
+
+loc_00446c84:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00446c88:
+push ebx
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00480d62] ; mov ecx, dword [eax + 0x480d62]
+push ecx
+push 0
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00446cce ; jne 0x446cce
+push 0x10001
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00446cd5 ; jmp 0x446cd5
+
+loc_00446cce:
+push 0
+call fcn_00420eee ; call 0x420eee
+
+loc_00446cd5:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00446d65 ; je 0x446d65
+push 0
+push 0
+push ebx
+push 0x11
+call fcn_0040e033 ; call 0x40e033
+mov ecx, eax
+add esp, 0x10
+push 0x64
+mov eax, ebx
+shl eax, 2
+lea edx, [ebx + eax]
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, edx
+movsx edx, word [eax + 2]
+push edx
+movsx eax, word [eax]
+push eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push ecx
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+push 0
+push ref_00482372 ; push 0x482372
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+call fcn_0041d546 ; call 0x41d546
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+dec byte [eax + ref_0049915e] ; dec byte [eax + 0x49915e]
+
+loc_00446d65:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00446d69:
+push ebx
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00480d66] ; mov ecx, dword [eax + 0x480d66]
+push ecx
+push 0
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00446daf ; jne 0x446daf
+push 0x20001
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00446db6 ; jmp 0x446db6
+
+loc_00446daf:
+push 0
+call fcn_00420eee ; call 0x420eee
+
+loc_00446db6:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_00446e46 ; je 0x446e46
+push 0
+push 0
+push ebx
+push 0x12
+call fcn_0040e033 ; call 0x40e033
+mov ecx, eax
+add esp, 0x10
+push 0x64
+mov eax, ebx
+shl eax, 2
+lea edx, [ebx + eax]
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, edx
+movsx edx, word [eax + 2]
+push edx
+movsx eax, word [eax]
+push eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+push ecx
+call fcn_0040e669 ; call 0x40e669
+add esp, 0x18
+push 0
+push ref_0048235a ; push 0x48235a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+call fcn_0041d546 ; call 0x41d546
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+dec byte [eax + ref_0049915f] ; dec byte [eax + 0x49915f]
+
+loc_00446e46:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00446e4a:
+push ebx
+push esi
+push edi
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+cmp dl, 1
+jne short loc_00446e66 ; jne 0x446e66
+xor edx, edx
+jmp near loc_00446eff ; jmp 0x446eff
+
+loc_00446e66:
+cmp dl, 2
+jne short loc_00446e85 ; jne 0x446e85
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+inc byte [eax + ref_00499161] ; inc byte [eax + 0x499161]
+
+loc_00446e85:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov byte [eax + ref_00496b79], 1 ; mov byte [eax + 0x496b79], 1
+mov byte [eax + ref_00496b7a], 2 ; mov byte [eax + 0x496b7a], 2
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00480d6a] ; mov edi, dword [eax + 0x480d6a]
+push edi
+push 0
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov edx, 1
+dec byte [eax + ref_00499160] ; dec byte [eax + 0x499160]
+
+loc_00446eff:
+mov eax, edx
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00446f05:
+push ebx
+push esi
+push edi
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+cmp dl, 2
+jne short loc_00446f1e ; jne 0x446f1e
+xor edx, edx
+jmp short loc_00446eff ; jmp 0x446eff
+
+loc_00446f1e:
+cmp dl, 1
+jne short loc_00446f3d ; jne 0x446f3d
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+inc byte [eax + ref_00499160] ; inc byte [eax + 0x499160]
+
+loc_00446f3d:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov byte [eax + ref_00496b79], 2 ; mov byte [eax + 0x496b79], 2
+mov byte [eax + ref_00496b7a], 3 ; mov byte [eax + 0x496b7a], 3
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov edi, dword [eax + ref_00480d6e] ; mov edi, dword [eax + 0x480d6e]
+push edi
+push 0
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov edx, 1
+dec byte [eax + ref_00499161] ; dec byte [eax + 0x499161]
+jmp near loc_00446eff ; jmp 0x446eff
+
+fcn_00446fbc:
+push ebx
+push edi
+push ebp
+sub esp, 8
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00480d72] ; mov ecx, dword [eax + 0x480d72]
+push ecx
+push 0
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00447007 ; jne 0x447007
+push 0x300c0
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_0044700e ; jmp 0x44700e
+
+loc_00447007:
+push 0
+call fcn_00420eee ; call 0x420eee
+
+loc_0044700e:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_004470ef ; je 0x4470ef
+push 7
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00445aa2 ; call 0x445aa2
+add esp, 8
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 4]
+push eax
+push ebx
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 0
+push 0
+push 0x210
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0
+mov eax, dword [esp + 8]
+push eax
+mov edx, dword [esp + 8]
+push edx
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+push 0
+push 0x26
+push 0x64
+call fcn_0040ac7b ; call 0x40ac7b
+add esp, 0x10
+push 0x51
+push 0x90001
+push 0x28
+push 0
+push ebx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+
+loc_004470a1:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_004470ea ; jge 0x4470ea
+imul eax, ebx, 0x68
+test byte [eax + ref_00496b7d], 0x40 ; test byte [eax + 0x496b7d], 0x40
+je short loc_004470e7 ; je 0x4470e7
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+push ebx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+push 3
+push ebx
+call fcn_0043ec3f ; call 0x43ec3f
+add esp, 8
+
+loc_004470e7:
+inc ebx
+jmp short loc_004470a1 ; jmp 0x4470a1
+
+loc_004470ea:
+call fcn_0041d546 ; call 0x41d546
+
+loc_004470ef:
+mov eax, ebx
+add esp, 8
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_004470f8:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne near loc_00447250 ; jne 0x447250
+push 0
+push 0
+push 0x48
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c55c], eax ; mov dword [0x48c55c], eax
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov esi, dword [eax + ref_00480d76] ; mov esi, dword [eax + 0x480d76]
+push esi
+push 0
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+push 0x12c
+push 0x5c
+mov eax, dword [ref_0048c55c] ; mov eax, dword [0x48c55c]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push fcn_00446774 ; push 0x446774
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebx, eax
+mov dword [esp], 0x5c
+mov dword [esp + 4], 0x12c
+mov dword [esp + 8], 0x15c
+mov dword [esp + 0xc], 0x163
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x37
+push 0x100
+push 0x104
+push 0x5c
+push 0x12c
+push 0x5c
+mov edi, dword [ref_0048c558] ; mov edi, dword [0x48c558]
+push edi
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov esi, dword [esp + 0x10]
+push esi
+mov edi, dword [esp + 0x10]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+mov ebp, dword [ref_0048c55c] ; mov ebp, dword [0x48c55c]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp short loc_0044725c ; jmp 0x44725c
+
+loc_00447250:
+push 0
+call fcn_00420eee ; call 0x420eee
+add esp, 4
+mov ebx, eax
+
+loc_0044725c:
+test ebx, ebx
+je short loc_0044727b ; je 0x44727b
+call fcn_0040dd1f ; call 0x40dd1f
+push 8
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_00445aa2 ; call 0x445aa2
+add esp, 8
+mov byte [ref_00475dd8], bl ; mov byte [0x475dd8], bl
+
+loc_0044727b:
+mov eax, ebx
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00447285:
+xor eax, eax
+mov al, byte [ref_00475dd8] ; mov al, byte [0x475dd8]
+xor dl, dl
+mov byte [ref_00475dd8], dl ; mov byte [0x475dd8], dl
+ret
+
+fcn_00447295:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul ebx, edx, 0x68
+xor eax, eax
+mov al, byte [ebx + ref_00496b7b] ; mov al, byte [ebx + 0x496b7b]
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00480d7a] ; mov ecx, dword [eax + 0x480d7a]
+push ecx
+push 0
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_004472de ; jne 0x4472de
+push 0x2090006
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_004472e5 ; jmp 0x4472e5
+
+loc_004472de:
+push 0
+call fcn_00420eee ; call 0x420eee
+
+loc_004472e5:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_0044737d ; je 0x44737d
+push 9
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00445aa2 ; call 0x445aa2
+add esp, 8
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 4]
+push eax
+push ebx
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 0
+push 0
+push 0x229
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+mov esi, eax
+add esp, 0x10
+push 0
+mov eax, dword [esp + 8]
+push eax
+mov edx, dword [esp + 8]
+push edx
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push ebx
+call fcn_0040b110 ; call 0x40b110
+add esp, 4
+mov dword [esp], eax
+push 0x5b
+push 0x2c0001
+push 0x28
+push 0
+push esi
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+test byte [esp], 0x80
+je short loc_00447378 ; je 0x447378
+call fcn_0040b0cd ; call 0x40b0cd
+
+loc_00447378:
+call fcn_0041d546 ; call 0x41d546
+
+loc_0044737d:
+mov eax, ebx
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00447387:
+push ebx
+push esi
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00480d7e] ; mov ecx, dword [eax + 0x480d7e]
+push ecx
+push 0
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+call fcn_00448544 ; call 0x448544
+mov ebx, eax
+test eax, eax
+je short loc_00447423 ; je 0x447423
+mov ah, byte [ref_0046cb06] ; mov ah, byte [0x46cb06]
+test ah, ah
+je short loc_004473fe ; je 0x4473fe
+mov dl, ah
+inc dl
+mov byte [ref_0046cb06], dl ; mov byte [0x46cb06], dl
+mov al, dl
+and al, 0xf
+xor edx, edx
+mov dl, al
+xor eax, eax
+mov al, byte [ref_0046cb06] ; mov al, byte [0x46cb06]
+sar eax, 4
+cmp edx, eax
+jle short loc_004473fe ; jle 0x4473fe
+xor dh, dh
+mov byte [ref_0046cb06], dh ; mov byte [0x46cb06], dh
+call fcn_00454acb ; call 0x454acb
+push 0
+call fcn_00454d91 ; call 0x454d91
+add esp, 4
+
+loc_004473fe:
+push 0xa
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+call fcn_00445aa2 ; call 0x445aa2
+add esp, 8
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+
+loc_00447423:
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_00447428:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x28
+xor esi, esi
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00480d82] ; mov ecx, dword [eax + 0x480d82]
+push ecx
+push esi
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00447478 ; jne 0x447478
+push 0x1200036
+call fcn_00446ae8 ; call 0x446ae8
+add esp, 4
+jmp short loc_00447488 ; jmp 0x447488
+
+loc_00447478:
+mov cl, byte [ref_0049910c] ; mov cl, byte [0x49910c]
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+
+loc_00447488:
+mov dword [esp + 0x1c], eax
+mov dh, byte [esp + 0x1d]
+test dh, 0x80
+je short loc_004474d1 ; je 0x4474d1
+test dh, 0x3f
+je short loc_004474d1 ; je 0x4474d1
+mov ebx, dword [esp + 0x1c]
+and ebx, 0x3f00
+sar ebx, 8
+lea edx, [ebx - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov bh, byte [eax + ref_00496d0d] ; mov bh, byte [eax + 0x496d0d]
+test bh, bh
+je short loc_004474d1 ; je 0x4474d1
+xor ecx, ecx
+mov cl, bh
+dec ecx
+mov eax, 1
+shl eax, cl
+or ah, 0x80
+mov dword [esp + 0x1c], eax
+
+loc_004474d1:
+mov ebp, dword [esp + 0x1c]
+test ebp, ebp
+je near loc_004479c8 ; je 0x4479c8
+cmp ebp, 0x7d0
+jle near loc_0044757c ; jle 0x44757c
+cmp ebp, 0xfa0
+jge near loc_0044757c ; jge 0x44757c
+push 0x2090802
+call fcn_00446ae8 ; call 0x446ae8
+mov edx, eax
+add esp, 4
+test eax, eax
+je near loc_004479b3 ; je 0x4479b3
+lea eax, [ebp - 0x7d0]
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add eax, ebx
+sub edx, 0x7d0
+imul edx, edx, 0x34
+add edx, ebx
+mov bl, byte [eax + 0x19]
+mov byte [edx + 0x19], bl
+mov byte [eax + 0x19], 0
+mov bl, byte [eax + 0x1a]
+mov byte [edx + 0x1a], bl
+mov byte [eax + 0x1a], 0
+mov bl, byte [eax + 0x18]
+mov byte [edx + 0x18], bl
+mov byte [eax + 0x18], 0
+mov ecx, dword [eax + 0x30]
+mov dword [edx + 0x30], ecx
+mov dword [eax + 0x30], 0
+mov dword [eax + 0x2c], 0
+
+loc_0044755a:
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+
+loc_00447561:
+add esp, 4
+
+loc_00447564:
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov esi, 1
+jmp near loc_004479b7 ; jmp 0x4479b7
+
+loc_0044757c:
+mov ecx, dword [esp + 0x1c]
+cmp ecx, 0xfa0
+jle near loc_0044761c ; jle 0x44761c
+cmp ecx, 0x1770
+jge near loc_0044761c ; jge 0x44761c
+push 0x2090804
+call fcn_00446ae8 ; call 0x446ae8
+mov edx, eax
+add esp, 4
+test eax, eax
+je near loc_004479b3 ; je 0x4479b3
+mov eax, dword [esp + 0x1c]
+sub eax, 0xfa0
+shl eax, 3
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov esi, dword [ref_00498e88] ; mov esi, dword [0x498e88]
+sub edx, 0xfa0
+shl edx, 3
+mov ebx, edx
+shl edx, 3
+sub edx, ebx
+mov bl, byte [esi + eax + 0x19]
+mov byte [edx + esi + 0x19], bl
+mov byte [esi + eax + 0x19], 0
+mov bl, byte [esi + eax + 0x1a]
+mov byte [edx + esi + 0x1a], bl
+mov byte [esi + eax + 0x1a], 0
+mov bl, byte [esi + eax + 0x18]
+mov byte [edx + esi + 0x18], bl
+mov byte [esi + eax + 0x18], 0
+mov ecx, dword [esi + eax + 0x34]
+mov dword [edx + esi + 0x34], ecx
+mov dword [esi + eax + 0x34], 0
+mov dword [esi + eax + 0x30], 0
+jmp near loc_0044755a ; jmp 0x44755a
+
+loc_0044761c:
+test byte [esp + 0x1d], 0x80
+je near loc_004478cb ; je 0x4478cb
+test byte [esp + 0x1c], 0xff
+je near loc_004478cb ; je 0x4478cb
+mov edi, dword [esp + 0x1c]
+push edi
+call fcn_0040d293 ; call 0x40d293
+add esp, 4
+mov dword [esp + 8], eax
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_0044765f ; jne 0x44765f
+push 0x2090001
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00447666 ; jmp 0x447666
+
+loc_0044765f:
+push 0
+call fcn_00420eee ; call 0x420eee
+
+loc_00447666:
+add esp, 4
+mov dword [esp + 0x14], eax
+mov eax, dword [esp + 0x14]
+test eax, eax
+je near loc_004479b3 ; je 0x4479b3
+mov edx, eax
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+add edx, eax
+mov dword [esp + 0x18], edx
+xor edx, edx
+mov dword [esp + 0x24], edx
+xor ebx, ebx
+mov dword [esp + 0x20], 0x40000000
+mov edx, dword [esp + 0x18]
+jmp short loc_004476af ; jmp 0x4476af
+
+loc_004476a5:
+sar dword [esp + 0x20], 1
+inc ebx
+cmp ebx, 4
+jge short loc_004476da ; jge 0x4476da
+
+loc_004476af:
+lea esi, [ebx + ebx]
+add esi, edx
+mov si, word [esi + 0x18]
+and esi, 0xffff
+je short loc_004476a5 ; je 0x4476a5
+mov eax, dword [edx + 0x24]
+test dword [esp + 0x20], eax
+jne short loc_004476a5 ; jne 0x4476a5
+mov eax, dword [esp + 0x24]
+mov word [esp + eax*2], si
+lea edi, [eax + 1]
+mov dword [esp + 0x24], edi
+jmp short loc_004476a5 ; jmp 0x4476a5
+
+loc_004476da:
+mov eax, dword [esp + 8]
+cmp eax, 4
+jge short loc_004476ef ; jge 0x4476ef
+imul ebp, eax, 0x68
+movzx ebp, byte [ebp + ref_00496b78] ; movzx ebp, byte [ebp + 0x496b78]
+jmp short loc_004476fb ; jmp 0x4476fb
+
+loc_004476ef:
+mov ebp, eax
+shl ebp, 4
+movzx ebp, byte [ebp + ref_00498df1] ; movzx ebp, byte [ebp + 0x498df1]
+
+loc_004476fb:
+xor ebx, ebx
+mov dword [esp + 0xc], 8
+
+loc_00447705:
+cmp ebx, dword [esp + 0x24]
+jge short loc_00447766 ; jge 0x447766
+mov ax, word [esp + ebx*2]
+and eax, 0xffff
+push eax
+mov eax, dword [esp + 0x18]
+push eax
+call fcn_00407a8c ; call 0x407a8c
+mov edi, eax
+add esp, 8
+mov esi, eax
+mov eax, ebp
+sub eax, edi
+push eax
+call fcn_00458276 ; call 0x458276
+add esp, 4
+mov edx, eax
+cmp eax, 4
+jle short loc_00447751 ; jle 0x447751
+cmp ebp, edi
+jge short loc_00447740 ; jge 0x447740
+mov edi, ebp
+
+loc_00447740:
+add edi, 8
+cmp ebp, esi
+jle short loc_0044774b ; jle 0x44774b
+mov edx, ebp
+jmp short loc_0044774d ; jmp 0x44774d
+
+loc_0044774b:
+mov edx, esi
+
+loc_0044774d:
+sub edi, edx
+mov edx, edi
+
+loc_00447751:
+cmp edx, dword [esp + 0xc]
+jge short loc_00447763 ; jge 0x447763
+mov dword [esp + 0xc], edx
+mov dword [esp + 0x10], ebx
+mov dword [esp + 0x20], esi
+
+loc_00447763:
+inc ebx
+jmp short loc_00447705 ; jmp 0x447705
+
+loc_00447766:
+mov cl, byte [esp + 8]
+mov edi, 0x100
+shl edi, cl
+cmp dword [esp + 0x24], 1
+jle short loc_004477a0 ; jle 0x4477a0
+xor ebx, ebx
+mov ebp, dword [esp + 0x24]
+
+loc_0044777e:
+cmp ebx, ebp
+jge short loc_004477ae ; jge 0x4477ae
+xor edx, edx
+mov dx, word [esp + ebx*2]
+mov eax, dword [esp + 0x10]
+mov ax, word [esp + eax*2]
+and eax, 0xffff
+cmp edx, eax
+je short loc_0044779d ; je 0x44779d
+mov esi, edx
+jmp short loc_004477ae ; jmp 0x4477ae
+
+loc_0044779d:
+inc ebx
+jmp short loc_0044777e ; jmp 0x44777e
+
+loc_004477a0:
+mov esi, dword [esp + 0x10]
+mov si, word [esp + esi*2]
+and esi, 0xffff
+
+loc_004477ae:
+mov eax, dword [esp + 8]
+cmp eax, 4
+jge near loc_00447857 ; jge 0x447857
+cmp eax, dword [ref_0049910c] ; cmp eax, dword [0x49910c]
+jne short loc_004477e2 ; jne 0x4477e2
+call fcn_0044808a ; call 0x44808a
+xor eax, eax
+mov dword [ref_0048baf8], eax ; mov dword [0x48baf8], eax
+imul eax, dword [esp + 8], 0x34
+mov dh, 1
+mov byte [eax + ref_00498ea2], dh ; mov byte [eax + 0x498ea2], dh
+mov byte [ref_0046cafb], dh ; mov byte [0x46cafb], dh
+
+loc_004477e2:
+mov ecx, dword [esp + 8]
+imul ebx, ecx, 0x68
+xor edx, edx
+mov dx, word [ebx + ref_00496b74] ; mov dx, word [ebx + 0x496b74]
+mov eax, edx
+shl eax, 2
+add edx, eax
+shl edx, 3
+mov eax, dword [ref_00498e80] ; mov eax, dword [0x498e80]
+add eax, edx
+mov edx, edi
+not edx
+and dword [eax + 0x24], edx
+mov eax, dword [esp + 0x14]
+mov word [ebx + ref_00496b74], ax ; mov word [ebx + 0x496b74], ax
+mov word [ebx + ref_00496b76], si ; mov word [ebx + 0x496b76], si
+mov al, byte [esp + 0x20]
+mov byte [ebx + ref_00496b78], al ; mov byte [ebx + 0x496b78], al
+mov eax, dword [esp + 0x18]
+mov ax, word [eax]
+mov word [ebx + ref_00496b70], ax ; mov word [ebx + 0x496b70], ax
+mov eax, dword [esp + 0x18]
+mov ax, word [eax + 2]
+mov word [ebx + ref_00496b72], ax ; mov word [ebx + 0x496b72], ax
+push ecx
+call fcn_0040fc00 ; call 0x40fc00
+add esp, 4
+cmp byte [ebx + ref_00496b7d], 0 ; cmp byte [ebx + 0x496b7d], 0
+je short loc_004478bc ; je 0x4478bc
+jmp short loc_004478b5 ; jmp 0x4478b5
+
+loc_00447857:
+shl eax, 4
+xor ecx, ecx
+mov cx, word [eax + ref_00498dec] ; mov cx, word [eax + 0x498dec]
+mov edx, ecx
+shl edx, 2
+add edx, ecx
+shl edx, 3
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+add edx, ecx
+mov ecx, edi
+not ecx
+and dword [edx + 0x24], ecx
+mov edx, dword [esp + 0x14]
+mov word [eax + ref_00498dec], dx ; mov word [eax + 0x498dec], dx
+mov word [eax + ref_00498dee], si ; mov word [eax + 0x498dee], si
+mov dl, byte [esp + 0x20]
+mov byte [eax + ref_00498df1], dl ; mov byte [eax + 0x498df1], dl
+mov edx, dword [esp + 0x18]
+mov dx, word [edx]
+mov word [eax + ref_00498de8], dx ; mov word [eax + 0x498de8], dx
+mov edx, dword [esp + 0x18]
+mov dx, word [edx + 2]
+mov word [eax + ref_00498dea], dx ; mov word [eax + 0x498dea], dx
+
+loc_004478b5:
+mov eax, dword [esp + 0x18]
+or dword [eax + 0x24], edi
+
+loc_004478bc:
+mov ecx, dword [esp + 8]
+push ecx
+call fcn_0040b93b ; call 0x40b93b
+jmp near loc_00447561 ; jmp 0x447561
+
+loc_004478cb:
+mov al, byte [esp + 0x1d]
+test al, 0x80
+je near loc_004479b3 ; je 0x4479b3
+test al, 0x3f
+je near loc_004479b3 ; je 0x4479b3
+push 0x2090001
+call fcn_00446ae8 ; call 0x446ae8
+add esp, 4
+mov dword [esp + 0x14], eax
+test eax, eax
+je near loc_004479b3 ; je 0x4479b3
+mov edx, eax
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov esi, dword [ref_00498e80] ; mov esi, dword [0x498e80]
+lea edx, [esi + eax]
+mov dword [esp + 0x18], edx
+mov ebx, dword [esp + 0x1c]
+and ebx, 0x3f00
+sar ebx, 8
+lea edx, [ebx - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 3
+xor ecx, ecx
+mov cx, word [edx + ref_00496d0a] ; mov cx, word [edx + 0x496d0a]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov byte [esi + eax*8 + 0x26], 0
+mov eax, dword [esp + 0x14]
+mov word [edx + ref_00496d0a], ax ; mov word [edx + 0x496d0a], ax
+mov eax, ebx
+shl eax, 0x10
+mov edx, dword [esp + 0x18]
+or dword [edx + 0x24], eax
+xor esi, esi
+jmp short loc_00447961 ; jmp 0x447961
+
+loc_0044795b:
+inc esi
+cmp esi, 4
+jge short loc_00447989 ; jge 0x447989
+
+loc_00447961:
+mov edx, dword [esp + 0x14]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov edx, dword [ref_00498e80] ; mov edx, dword [0x498e80]
+add eax, edx
+mov edx, esi
+mov ax, word [eax + edx*2 + 0x18]
+and eax, 0xffff
+mov dword [esp + 0x1c], eax
+je short loc_0044795b ; je 0x44795b
+
+loc_00447989:
+mov ebp, dword [esp + 0x14]
+push ebp
+mov eax, dword [esp + 0x20]
+push eax
+call fcn_00407a8c ; call 0x407a8c
+mov ecx, eax
+add esp, 8
+lea edx, [ebx - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov byte [eax*8 + ref_00496d09], cl ; mov byte [eax*8 + 0x496d09], cl
+jmp near loc_00447564 ; jmp 0x447564
+
+loc_004479b3:
+test esi, esi
+je short loc_004479c8 ; je 0x4479c8
+
+loc_004479b7:
+push 0xb
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_00445aa2 ; call 0x445aa2
+add esp, 8
+
+loc_004479c8:
+mov eax, esi
+add esp, 0x28
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004479d2:
+push ebx
+push edi
+push ebp
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+and dl, 3
+cmp dl, 3
+jne short loc_004479f1 ; jne 0x4479f1
+xor edx, edx
+jmp near loc_00447ac8 ; jmp 0x447ac8
+
+loc_004479f1:
+cmp byte [eax + ref_00496b79], 1 ; cmp byte [eax + 0x496b79], 1
+jne short loc_00447a14 ; jne 0x447a14
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+inc byte [eax + ref_00499160] ; inc byte [eax + 0x499160]
+
+loc_00447a14:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+cmp byte [eax + ref_00496b79], 2 ; cmp byte [eax + 0x496b79], 2
+jne short loc_00447a3a ; jne 0x447a3a
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+inc byte [eax + ref_00499161] ; inc byte [eax + 0x499161]
+
+loc_00447a3a:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+mov dl, byte [eax + ref_00496b79] ; mov dl, byte [eax + 0x496b79]
+mov byte [eax + ref_00496bcc], dl ; mov byte [eax + 0x496bcc], dl
+mov dl, byte [eax + ref_00496b7a] ; mov dl, byte [eax + 0x496b7a]
+mov byte [eax + ref_00496bcd], dl ; mov byte [eax + 0x496bcd], dl
+mov byte [eax + ref_00496b79], 0x1f ; mov byte [eax + 0x496b79], 0x1f
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ebp, dword [eax + ref_00480d86] ; mov ebp, dword [eax + 0x480d86]
+push ebp
+push 0
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov edx, 1
+dec byte [eax + ref_00499167] ; dec byte [eax + 0x499167]
+
+loc_00447ac8:
+mov eax, edx
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_00447ace:
+push ebx
+push edi
+push ebp
+sub esp, 8
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul eax, edx, 0x68
+mov al, byte [eax + ref_00496b7b] ; mov al, byte [eax + 0x496b7b]
+and eax, 0xff
+imul eax, eax, 0x68
+mov ecx, dword [eax + ref_00480d8a] ; mov ecx, dword [eax + 0x480d8a]
+push ecx
+push 0
+push edx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 1 ; cmp byte [eax + 0x496b7d], 1
+jne short loc_00447b19 ; jne 0x447b19
+push 0x400c0
+call fcn_00446ae8 ; call 0x446ae8
+jmp short loc_00447b20 ; jmp 0x447b20
+
+loc_00447b19:
+push 0
+call fcn_00420eee ; call 0x420eee
+
+loc_00447b20:
+add esp, 4
+mov ebx, eax
+test ebx, ebx
+je near loc_004470ea ; je 0x4470ea
+push 0xd
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00445aa2 ; call 0x445aa2
+add esp, 8
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 4]
+push eax
+push ebx
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 0
+push 0
+push 0x212
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0
+mov eax, dword [esp + 8]
+push eax
+mov edx, dword [esp + 8]
+push edx
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+push 1
+push 0x26
+push 0xffffffffffffffff
+call fcn_0040ac7b ; call 0x40ac7b
+add esp, 0x10
+push 0x53
+push 0x80090001
+push 0x28
+push 0
+push ebx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+
+loc_00447bb3:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_004470ea ; jge 0x4470ea
+imul eax, ebx, 0x68
+test byte [eax + ref_00496b7d], 0x40 ; test byte [eax + 0x496b7d], 0x40
+je short loc_00447bfd ; je 0x447bfd
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+mov edx, eax
+shl eax, 4
+sub eax, edx
+push eax
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+push ebx
+call fcn_0040df69 ; call 0x40df69
+add esp, 0xc
+push 3
+push ebx
+call fcn_0043ec3f ; call 0x43ec3f
+add esp, 8
+
+loc_00447bfd:
+inc ebx
+jmp short loc_00447bb3 ; jmp 0x447bb3
+
+fcn_00447c00:
+push ebx
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+imul ecx, edx, 0x68
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+mov dl, byte [ecx + ref_00496b79] ; mov dl, byte [ecx + 0x496b79]
+cmp dl, 1
+jne short loc_00447c2b ; jne 0x447c2b
+add byte [eax + ref_00499160], dl ; add byte [eax + 0x499160], dl
+jmp short loc_00447c36 ; jmp 0x447c36
+
+loc_00447c2b:
+cmp dl, 2
+jne short loc_00447c36 ; jne 0x447c36
+inc byte [eax + ref_00499161] ; inc byte [eax + 0x499161]
+
+loc_00447c36:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor cl, cl
+mov byte [eax + ref_00496b79], cl ; mov byte [eax + 0x496b79], cl
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+jmp near loc_00446ba3 ; jmp 0x446ba3
+
+fcn_00447c6e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x2c
+push 0x10
+push 0
+push ref_0048c548 ; push 0x48c548
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0
+push 3
+push 0x101010
+push 0xffffff
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [esp + 0x44]
+add eax, 0x18
+mov edx, dword [esp + 0x40]
+test edx, edx
+jne short loc_00447cb3 ; jne 0x447cb3
+mov dword [esp + 0x40], eax
+jmp short loc_00447cc1 ; jmp 0x447cc1
+
+loc_00447cb3:
+push 0
+push 0
+push eax
+push edx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+
+loc_00447cc1:
+xor ebx, ebx
+xor ebp, ebp
+mov esi, 0x2d
+mov dword [esp + 0x28], 0x21
+jmp short loc_00447cde ; jmp 0x447cde
+
+loc_00447cd4:
+inc ebx
+cmp ebx, 0xd
+jge near loc_00447d8f ; jge 0x447d8f
+
+loc_00447cde:
+mov edx, dword [esp + 0x48]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, eax
+shl eax, 2
+sub eax, edx
+lea edi, [eax + ebx]
+cmp byte [edi + ref_0049915c], 0 ; cmp byte [edi + 0x49915c], 0
+je short loc_00447cd4 ; je 0x447cd4
+mov eax, dword [esp + 0x28]
+push eax
+lea eax, [esi - 0x10]
+push eax
+lea edx, [ebx + 2]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [esp + 0x4c]
+add eax, 0xc
+add eax, edx
+push eax
+mov edx, dword [esp + 0x4c]
+push edx
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+xor eax, eax
+mov al, byte [edi + ref_0049915c] ; mov al, byte [edi + 0x49915c]
+push eax
+push ref_004653e0 ; push 0x4653e0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 1
+mov eax, dword [esp + 0x2c]
+sub eax, 0xa
+push eax
+lea eax, [esi + 0x22]
+push eax
+lea eax, [esp + 0xc]
+push eax
+mov ecx, dword [esp + 0x50]
+push ecx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov al, bl
+inc al
+mov byte [ebp + ref_0048c548], al ; mov byte [ebp + 0x48c548], al
+inc ebp
+add esi, 0x50
+cmp esi, 0x16d
+jle near loc_00447cd4 ; jle 0x447cd4
+mov esi, 0x2d
+add dword [esp + 0x28], 0x38
+jmp near loc_00447cd4 ; jmp 0x447cd4
+
+loc_00447d8f:
+add esp, 0x2c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00447d97:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x4c
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov dl, byte [eax + ref_00496b7d] ; mov dl, byte [eax + 0x496b7d]
+cmp dl, 1
+jne near loc_00447f82 ; jne 0x447f82
+call fcn_0041d546 ; call 0x41d546
+push 0
+push 0
+push 0xb
+mov ebx, dword [ref_0048a05c] ; mov ebx, dword [0x48a05c]
+push ebx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+mov edi, eax
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+push esi
+push eax
+push 0
+call fcn_00447c6e ; call 0x447c6e
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+lea edx, [ebx + 0x18]
+mov cl, byte [eax + ref_00496b79] ; mov cl, byte [eax + 0x496b79]
+cmp cl, 1
+jne short loc_00447e08 ; jne 0x447e08
+push 0x75
+push 0x145
+add ebx, 0xc0
+jmp short loc_00447e1a ; jmp 0x447e1a
+
+loc_00447e08:
+cmp cl, 2
+jne short loc_00447e2b ; jne 0x447e2b
+push 0x75
+push 0x145
+add ebx, 0xcc
+
+loc_00447e1a:
+push ebx
+push edx
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+mov byte [ref_0048c556], 0xe ; mov byte [0x48c556], 0xe
+
+loc_00447e2b:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0x1b8
+push 0x1b8
+push 0x28
+push 0
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_0048c558], eax ; mov dword [0x48c558], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_00447e7d:
+mov ebx, 1
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push ebx
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x82
+push 0xe
+lea eax, [edi + 0x18]
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push fcn_00445c14 ; push 0x445c14
+call fcn_004018e7 ; call 0x4018e7
+mov esi, eax
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push ebx
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x28
+push 0
+mov ebp, dword [ref_0048c558] ; mov ebp, dword [0x48c558]
+push ebp
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor edx, edx
+mov dword [esp + 0x28], edx
+mov dword [esp + 0x2c], 0x28
+mov dword [esp + 0x30], 0x1b8
+mov dword [esp + 0x34], 0x1e0
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0x2c]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push 0x28
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+test esi, esi
+je short loc_00447f5a ; je 0x447f5a
+mov eax, esi
+call dword [eax*4 + (ref_00475dd8 - 3)] ; ucall: call dword [eax*4 + 0x475dd5]
+mov ebx, eax
+
+loc_00447f5a:
+test ebx, ebx
+je near loc_00447e7d ; je 0x447e7d
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, dword [ref_0048c558] ; mov ebx, dword [0x48c558]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_00447f7a:
+add esp, 0x4c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00447f82:
+test dl, 6
+je short loc_00447f7a ; je 0x447f7a
+test byte [eax + ref_00496b7e], 2 ; test byte [eax + 0x496b7e], 2
+je short loc_00447f7a ; je 0x447f7a
+push 0xd
+push 0
+lea eax, [esp + 0x40]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ecx, ecx
+mov dword [esp + 0x48], ecx
+xor esi, esi
+jmp short loc_00447fb9 ; jmp 0x447fb9
+
+loc_00447fab:
+mov edx, dword [esp + 0x48]
+inc edx
+mov dword [esp + 0x48], edx
+cmp edx, 0xd
+jge short loc_00447fec ; jge 0x447fec
+
+loc_00447fb9:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+mov ebx, eax
+shl ebx, 2
+add ebx, eax
+mov eax, ebx
+shl ebx, 2
+sub ebx, eax
+mov eax, dword [esp + 0x48]
+cmp byte [ebx + eax + ref_0049915c], 0 ; cmp byte [ebx + eax + 0x49915c], 0
+je short loc_00447fab ; je 0x447fab
+cmp eax, 9
+je short loc_00447fab ; je 0x447fab
+mov al, byte [esp + 0x48]
+inc al
+mov byte [esp + esi + 0x38], al
+inc esi
+jmp short loc_00447fab ; jmp 0x447fab
+
+loc_00447fec:
+test esi, esi
+je short loc_00447f7a ; je 0x447f7a
+cmp esi, 4
+jle short loc_00448005 ; jle 0x448005
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+mov ebx, edx
+jmp short loc_00448007 ; jmp 0x448007
+
+loc_00448005:
+xor ebx, ebx
+
+loc_00448007:
+xor edi, edi
+mov dword [esp + 0x48], edi
+jmp short loc_00448028 ; jmp 0x448028
+
+loc_0044800f:
+inc ebx
+cmp ebx, esi
+jne short loc_00448016 ; jne 0x448016
+xor ebx, esi
+
+loc_00448016:
+mov ebp, dword [esp + 0x48]
+inc ebp
+mov dword [esp + 0x48], ebp
+cmp ebp, 4
+jge near loc_00447f7a ; jge 0x447f7a
+
+loc_00448028:
+mov dh, byte [esp + ebx + 0x38]
+test dh, dh
+je near loc_00447f7a ; je 0x447f7a
+xor eax, eax
+mov al, dh
+push eax
+call fcn_00420e9a ; call 0x420e9a
+add esp, 4
+cmp eax, 1
+jne short loc_0044800f ; jne 0x44800f
+xor eax, eax
+mov al, byte [esp + ebx + 0x38]
+mov edx, dword [eax*8 + ref_0047feda] ; mov edx, dword [eax*8 + 0x47feda]
+push edx
+push ref_004653e5 ; push 0x4653e5
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x5dc
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+xor eax, eax
+mov al, byte [esp + ebx + 0x38]
+call dword [eax*4 + (ref_00475dd8 - 3)] ; ucall: call dword [eax*4 + 0x475dd5]
+jmp near loc_00447f7a ; jmp 0x447f7a
+
+fcn_0044808a:
+push edi
+push ebp
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+cmp edx, 4
+jge near loc_00448541 ; jge 0x448541
+jge short loc_004480ad ; jge 0x4480ad
+imul eax, edx, 0x68
+test byte [eax + ref_00496b7d], 1 ; test byte [eax + 0x496b7d], 1
+je near loc_00448541 ; je 0x448541
+
+loc_004480ad:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+mov dword [eax + ref_0048cb80], 1 ; mov dword [eax + 0x48cb80], 1
+mov edx, dword [ref_00497160] ; mov edx, dword [0x497160]
+mov dword [eax + ref_0048cb84], edx ; mov dword [eax + 0x48cb84], edx
+push 0x1a0
+push ref_00496b68 ; push 0x496b68
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 8
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x50
+push ref_00498e28 ; push 0x498e28
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x1a8
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x450
+push ref_00496d08 ; push 0x496d08
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x1f8
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x3c
+push ref_00499120 ; push 0x499120
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x648
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x3c
+push ref_0049915c ; push 0x49915c
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x684
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x1e
+push ref_00499198 ; push 0x499198
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x6c0
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 8
+push ref_00497320 ; push 0x497320
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x6de
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+mov edx, dword [ref_00499100] ; mov edx, dword [0x499100]
+mov dword [eax + ref_0048d268], edx ; mov dword [eax + 0x48d268], edx
+push 0x1b00
+push ref_00497328 ; push 0x497328
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x6ec
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x180
+push ref_004971a0 ; push 0x4971a0
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x21ec
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x1b0
+push ref_00496980 ; push 0x496980
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x236c
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x150
+push ref_004967e0 ; push 0x4967e0
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x251c
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov dword [eax + ref_0048f1ec], edx ; mov dword [eax + 0x48f1ec], edx
+mov edx, dword [ref_004990e4] ; mov edx, dword [0x4990e4]
+mov dword [eax + ref_0048f1f0], edx ; mov dword [eax + 0x48f1f0], edx
+mov edx, dword [ref_00499084] ; mov edx, dword [0x499084]
+mov dword [eax + ref_0048f1f4], edx ; mov dword [eax + 0x48f1f4], edx
+mov edx, dword [ref_004990dc] ; mov edx, dword [0x4990dc]
+mov dword [eax + ref_0048f1f8], edx ; mov dword [eax + 0x48f1f8], edx
+mov edx, dword [ref_0049907c] ; mov edx, dword [0x49907c]
+mov dword [eax + ref_0048f1fc], edx ; mov dword [eax + 0x48f1fc], edx
+mov edx, dword [ref_00499078] ; mov edx, dword [0x499078]
+mov dword [eax + ref_0048f200], edx ; mov dword [eax + 0x48f200], edx
+mov edx, dword [ref_004990ec] ; mov edx, dword [0x4990ec]
+mov dword [eax + ref_0048f204], edx ; mov dword [eax + 0x48f204], edx
+mov edx, dword [ref_00499080] ; mov edx, dword [0x499080]
+mov dword [eax + ref_0048f208], edx ; mov dword [eax + 0x48f208], edx
+push 0x24
+push ref_004990b8 ; push 0x4990b8
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x268c
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 8
+push ref_00496b30 ; push 0x496b30
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x26b0
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 8
+push ref_00496b60 ; push 0x496b60
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x26b8
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+mov edx, dword [ref_004990e0] ; mov edx, dword [0x4990e0]
+mov dword [eax + ref_0048f240], edx ; mov dword [eax + 0x48f240], edx
+mov edx, dword [ref_004990b4] ; mov edx, dword [0x4990b4]
+mov dword [eax + ref_0048f244], edx ; mov dword [eax + 0x48f244], edx
+push 0x24
+push ref_00499090 ; push 0x499090
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x26c8
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x25
+push ref_00496b38 ; push 0x496b38
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x26ec
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov edi, dword [ref_00498e94] ; mov edi, dword [0x498e94]
+push edi
+mov ebp, dword [ref_0047493c] ; mov ebp, dword [0x47493c]
+push ebp
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_0048f294] ; mov ecx, dword [edx + eax*8 + 0x48f294]
+push ecx
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+
+loc_00448541:
+pop ebp
+pop edi
+ret
+
+fcn_00448544:
+push ebx
+push esi
+push edi
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+cmp dword [eax + ref_0048cb80], 0 ; cmp dword [eax + 0x48cb80], 0
+jne short loc_00448577 ; jne 0x448577
+xor eax, eax
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00448577:
+mov edx, dword [eax + ref_0048cb84] ; mov edx, dword [eax + 0x48cb84]
+mov dword [ref_00497160], edx ; mov dword [0x497160], edx
+push 0x1a0
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 8
+push eax
+push ref_00496b68 ; push 0x496b68
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+xor ebx, ebx
+mov ecx, dword [ref_00499114] ; mov ecx, dword [0x499114]
+
+loc_004485a6:
+cmp ebx, ecx
+jge short loc_004485c7 ; jge 0x4485c7
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+imul edx, edx, 0x68
+mov edx, dword [edx + ref_0047e80c] ; mov edx, dword [edx + 0x47e80c]
+mov dword [eax + ref_00496b68], edx ; mov dword [eax + 0x496b68], edx
+inc ebx
+jmp short loc_004485a6 ; jmp 0x4485a6
+
+loc_004485c7:
+push 0x50
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x1a8
+push eax
+push ref_00498e28 ; push 0x498e28
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x450
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x1f8
+push eax
+push ref_00496d08 ; push 0x496d08
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x3c
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x648
+push eax
+push ref_00499120 ; push 0x499120
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x3c
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x684
+push eax
+push ref_0049915c ; push 0x49915c
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x1e
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x6c0
+push eax
+push ref_00499198 ; push 0x499198
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 8
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x6de
+push eax
+push ref_00497320 ; push 0x497320
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+mov edx, dword [eax + ref_0048d268] ; mov edx, dword [eax + 0x48d268]
+mov dword [ref_00499100], edx ; mov dword [0x499100], edx
+push 0x1b00
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x6ec
+push eax
+push ref_00497328 ; push 0x497328
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x180
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x21ec
+push eax
+push ref_004971a0 ; push 0x4971a0
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x1b0
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x236c
+push eax
+push ref_00496980 ; push 0x496980
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+xor ebx, ebx
+
+loc_004487f4:
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+shl edx, 2
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+add edx, eax
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 4
+mov ecx, eax
+shl ecx, 3
+add ecx, eax
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+lea edx, [ecx + eax]
+mov edx, dword [edx + ref_0047f072] ; mov edx, dword [edx + 0x47f072]
+mov dword [eax + ref_00496980], edx ; mov dword [eax + 0x496980], edx
+inc ebx
+cmp ebx, 0xc
+jl short loc_004487f4 ; jl 0x4487f4
+push 0x150
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x251c
+push eax
+push ref_004967e0 ; push 0x4967e0
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+mov edx, dword [eax + ref_0048f1ec] ; mov edx, dword [eax + 0x48f1ec]
+mov dword [ref_004990e8], edx ; mov dword [0x4990e8], edx
+mov edx, dword [eax + ref_0048f1f0] ; mov edx, dword [eax + 0x48f1f0]
+mov dword [ref_004990e4], edx ; mov dword [0x4990e4], edx
+mov edx, dword [eax + ref_0048f1f4] ; mov edx, dword [eax + 0x48f1f4]
+mov dword [ref_00499084], edx ; mov dword [0x499084], edx
+mov edx, dword [eax + ref_0048f1f8] ; mov edx, dword [eax + 0x48f1f8]
+mov dword [ref_004990dc], edx ; mov dword [0x4990dc], edx
+mov edx, dword [eax + ref_0048f1fc] ; mov edx, dword [eax + 0x48f1fc]
+mov dword [ref_0049907c], edx ; mov dword [0x49907c], edx
+mov edx, dword [eax + ref_0048f200] ; mov edx, dword [eax + 0x48f200]
+mov dword [ref_00499078], edx ; mov dword [0x499078], edx
+mov edx, dword [eax + ref_0048f204] ; mov edx, dword [eax + 0x48f204]
+mov dword [ref_004990ec], edx ; mov dword [0x4990ec], edx
+mov edx, dword [eax + ref_0048f208] ; mov edx, dword [eax + 0x48f208]
+mov dword [ref_00499080], edx ; mov dword [0x499080], edx
+push 0x24
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x268c
+push eax
+push ref_004990b8 ; push 0x4990b8
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 8
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x26b0
+push eax
+push ref_00496b30 ; push 0x496b30
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 8
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x26b8
+push eax
+push ref_00496b60 ; push 0x496b60
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+mov edx, dword [eax + ref_0048f240] ; mov edx, dword [eax + 0x48f240]
+mov dword [ref_004990e0], edx ; mov dword [0x4990e0], edx
+mov edx, dword [eax + ref_0048f244] ; mov edx, dword [eax + 0x48f244]
+mov dword [ref_004990b4], edx ; mov dword [0x4990b4], edx
+push 0x24
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x26c8
+push eax
+push ref_00499090 ; push 0x499090
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+push 0x25
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+add eax, edx
+add eax, ref_0048cb80 ; add eax, 0x48cb80
+add eax, 0x26ec
+push eax
+push ref_00496b38 ; push 0x496b38
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov ebx, dword [ref_00498e94] ; mov ebx, dword [0x498e94]
+push ebx
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+mov esi, dword [edx + eax*8 + ref_0048f294] ; mov esi, dword [edx + eax*8 + 0x48f294]
+push esi
+mov edi, dword [ref_0047493c] ; mov edi, dword [0x47493c]
+push edi
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+call fcn_0040c03b ; call 0x40c03b
+xor ebx, ebx
+jmp short loc_00448a5d ; jmp 0x448a5d
+
+loc_00448a57:
+inc ebx
+cmp ebx, 9
+jge short loc_00448a75 ; jge 0x448a75
+
+loc_00448a5d:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jl short loc_00448a6a ; jl 0x448a6a
+cmp ebx, 4
+jl short loc_00448a57 ; jl 0x448a57
+
+loc_00448a6a:
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+jmp short loc_00448a57 ; jmp 0x448a57
+
+loc_00448a75:
+mov eax, 1
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00448a7e:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+xor ebx, ebx
+imul eax, esi, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_00448b6e ; je 0x448b6e
+mov ecx, dword [esp + 0x10]
+mov edx, ecx
+shl edx, 2
+add edx, ecx
+mov ecx, dword [ref_00498e80] ; mov ecx, dword [0x498e80]
+mov dx, word [ecx + edx*8 + 0x20]
+and edx, 0xffff
+mov cl, byte [eax + ref_00496b79] ; mov cl, byte [eax + 0x496b79]
+and cl, 0x83
+cmp cl, 3
+jne near loc_00448b6e ; jne 0x448b6e
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne near loc_00448b6e ; jne 0x448b6e
+cmp byte [eax + ref_00496b9a], 0 ; cmp byte [eax + 0x496b9a], 0
+jne near loc_00448b6e ; jne 0x448b6e
+cmp edx, 0x7d0
+jle short loc_00448b12 ; jle 0x448b12
+cmp edx, 0xfa0
+jge short loc_00448b12 ; jge 0x448b12
+sub edx, 0x7d0
+imul edx, edx, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, edx
+xor edx, edx
+mov dl, byte [eax + 0x19]
+lea ecx, [esi + 1]
+cmp edx, ecx
+je short loc_00448b4c ; je 0x448b4c
+cmp byte [eax + 0x1a], 0
+je short loc_00448b4c ; je 0x448b4c
+jmp short loc_00448b50 ; jmp 0x448b50
+
+loc_00448b12:
+cmp edx, 0xfa0
+jle short loc_00448b4c ; jle 0x448b4c
+cmp edx, 0x1770
+jge short loc_00448b4c ; jge 0x448b4c
+lea eax, [edx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+xor edx, edx
+mov dl, byte [eax + 0x19]
+lea ecx, [esi + 1]
+cmp edx, ecx
+je short loc_00448b4c ; je 0x448b4c
+cmp byte [eax + 0x1a], 0
+jne short loc_00448b50 ; jne 0x448b50
+
+loc_00448b4c:
+test ebx, ebx
+je short loc_00448b6e ; je 0x448b6e
+
+loc_00448b50:
+call fcn_0041d546 ; call 0x41d546
+imul eax, esi, 0x34
+mov byte [eax + ref_00498ea2], 3 ; mov byte [eax + 0x498ea2], 3
+xor bh, bh
+mov byte [eax + ref_00498ea3], bh ; mov byte [eax + 0x498ea3], bh
+mov byte [ref_0046cafb], 1 ; mov byte [0x46cafb], 1
+
+loc_00448b6e:
+pop esi
+pop ebx
+ret
+
+ref_00448b71:
+db 0x00
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+
+fcn_00448b81:
+push ebx
+push esi
+sub esp, 0x24
+push 0x24
+push 0
+lea eax, [esp + 8]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ebx, ebx
+mov esi, 0x24
+jmp short loc_00448bb1 ; jmp 0x448bb1
+
+loc_00448ba0:
+mov byte [esp + eax], 1
+mov byte [ebx + ref_00499090], al ; mov byte [ebx + 0x499090], al
+inc ebx
+dec esi
+cmp ebx, 0x24
+jge short loc_00448bd4 ; jge 0x448bd4
+
+loc_00448bb1:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+xor eax, eax
+jmp short loc_00448bc7 ; jmp 0x448bc7
+
+loc_00448bc1:
+inc eax
+cmp eax, 0x24
+jge short loc_00448ba0 ; jge 0x448ba0
+
+loc_00448bc7:
+cmp byte [esp + eax], 0
+jne short loc_00448bce ; jne 0x448bce
+dec edx
+
+loc_00448bce:
+test edx, edx
+jl short loc_00448ba0 ; jl 0x448ba0
+jmp short loc_00448bc1 ; jmp 0x448bc1
+
+loc_00448bd4:
+xor edx, edx
+mov dword [ref_004990e0], edx ; mov dword [0x4990e0], edx
+add esp, 0x24
+pop esi
+pop ebx
+ret
+
+fcn_00448be2:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+mov edi, 1
+xor esi, esi
+cmp ebx, 9
+jb short loc_00448c67 ; jb 0x448c67
+jbe near loc_00448d54 ; jbe 0x448d54
+cmp ebx, 0x10
+jb short loc_00448c37 ; jb 0x448c37
+jbe near loc_00448def ; jbe 0x448def
+cmp ebx, 0x1c
+jb short loc_00448c29 ; jb 0x448c29
+jbe near loc_00448e43 ; jbe 0x448e43
+cmp ebx, 0x1d
+jbe near loc_00448e64 ; jbe 0x448e64
+cmp ebx, 0x23
+je near loc_00448e9c ; je 0x448e9c
+jmp near loc_00448ec3 ; jmp 0x448ec3
+
+loc_00448c29:
+cmp ebx, 0x11
+je near loc_00448e19 ; je 0x448e19
+jmp near loc_00448ec3 ; jmp 0x448ec3
+
+loc_00448c37:
+cmp ebx, 0xc
+jb short loc_00448c59 ; jb 0x448c59
+jbe near loc_00448d54 ; jbe 0x448d54
+cmp ebx, 0xd
+jbe near loc_00448da5 ; jbe 0x448da5
+cmp ebx, 0xf
+je near loc_00448cb4 ; je 0x448cb4
+jmp near loc_00448ec3 ; jmp 0x448ec3
+
+loc_00448c59:
+cmp ebx, 0xa
+je near loc_00448da5 ; je 0x448da5
+jmp near loc_00448ec3 ; jmp 0x448ec3
+
+loc_00448c67:
+cmp ebx, 3
+jb short loc_00448c89 ; jb 0x448c89
+jbe short loc_00448cab ; jbe 0x448cab
+cmp ebx, 5
+jb short loc_00448cb4 ; jb 0x448cb4
+jbe short loc_00448cb4 ; jbe 0x448cb4
+cmp ebx, 7
+jb near loc_00448ec3 ; jb 0x448ec3
+jbe near loc_00448d0a ; jbe 0x448d0a
+jmp near loc_00448d54 ; jmp 0x448d54
+
+loc_00448c89:
+cmp ebx, edi
+jb short loc_00448c91 ; jb 0x448c91
+jbe short loc_00448c99 ; jbe 0x448c99
+jmp short loc_00448cab ; jmp 0x448cab
+
+loc_00448c91:
+test ebx, ebx
+jne near loc_00448ec3 ; jne 0x448ec3
+
+loc_00448c99:
+cmp dword [ref_00496b30], 0 ; cmp dword [0x496b30], 0
+
+loc_00448ca0:
+jne near loc_00448ec3 ; jne 0x448ec3
+jmp near loc_00448ec1 ; jmp 0x448ec1
+
+loc_00448cab:
+cmp dword [ref_00496b60], 0 ; cmp dword [0x496b60], 0
+jmp short loc_00448ca0 ; jmp 0x448ca0
+
+loc_00448cb4:
+mov ebx, 1
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, 0x34
+mov ebp, dword [ref_00498e98] ; mov ebp, dword [0x498e98]
+
+loc_00448cc7:
+cmp ebx, ebp
+jg short loc_00448cdb ; jg 0x448cdb
+cmp byte [eax + 0x1a], 0
+jne near loc_00448ec3 ; jne 0x448ec3
+inc ebx
+add eax, 0x34
+jmp short loc_00448cc7 ; jmp 0x448cc7
+
+loc_00448cdb:
+test esi, esi
+jne short loc_00448d06 ; jne 0x448d06
+mov ebx, 1
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, 0x38
+mov edx, dword [ref_00498e8c] ; mov edx, dword [0x498e8c]
+
+loc_00448cf2:
+cmp ebx, edx
+jg short loc_00448d06 ; jg 0x448d06
+cmp byte [eax + 0x1a], 0
+jne near loc_00448ec3 ; jne 0x448ec3
+inc ebx
+add eax, 0x38
+jmp short loc_00448cf2 ; jmp 0x448cf2
+
+loc_00448d06:
+test esi, esi
+jmp short loc_00448ca0 ; jmp 0x448ca0
+
+loc_00448d0a:
+mov ebx, edi
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+
+loc_00448d11:
+add eax, 0x34
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg short loc_00448d29 ; jg 0x448d29
+cmp byte [eax + 0x19], 0
+je near loc_00448ec3 ; je 0x448ec3
+inc ebx
+jmp short loc_00448d11 ; jmp 0x448d11
+
+loc_00448d29:
+test esi, esi
+jne short loc_00448d06 ; jne 0x448d06
+mov ebx, 1
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, 0x38
+mov ecx, dword [ref_00498e8c] ; mov ecx, dword [0x498e8c]
+
+loc_00448d40:
+cmp ebx, ecx
+jg short loc_00448d06 ; jg 0x448d06
+cmp byte [eax + 0x19], 0
+je near loc_00448ec3 ; je 0x448ec3
+inc ebx
+add eax, 0x38
+jmp short loc_00448d40 ; jmp 0x448d40
+
+loc_00448d54:
+mov ebx, 1
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+
+loc_00448d5e:
+add eax, 0x34
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg short loc_00448d76 ; jg 0x448d76
+cmp byte [eax + 0x19], 0
+jne near loc_00448ec3 ; jne 0x448ec3
+inc ebx
+jmp short loc_00448d5e ; jmp 0x448d5e
+
+loc_00448d76:
+test esi, esi
+jne short loc_00448d06 ; jne 0x448d06
+mov ebx, 1
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+add eax, 0x38
+mov ebp, dword [ref_00498e8c] ; mov ebp, dword [0x498e8c]
+
+loc_00448d8d:
+cmp ebx, ebp
+jg near loc_00448d06 ; jg 0x448d06
+cmp byte [eax + 0x19], 0
+jne near loc_00448ec3 ; jne 0x448ec3
+inc ebx
+add eax, 0x38
+jmp short loc_00448d8d ; jmp 0x448d8d
+
+loc_00448da5:
+xor ebx, ebx
+
+loc_00448da7:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00448d06 ; jge 0x448d06
+test esi, esi
+jne near loc_00448d06 ; jne 0x448d06
+xor edx, edx
+jmp short loc_00448dc5 ; jmp 0x448dc5
+
+loc_00448dbf:
+inc edx
+cmp edx, 0xc
+jge short loc_00448dec ; jge 0x448dec
+
+loc_00448dc5:
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00448dbf ; je 0x448dbf
+mov ecx, ebx
+shl ecx, 2
+sub ecx, ebx
+shl ecx, 5
+mov eax, edx
+cmp dword [ecx + eax*8 + ref_004971a0], 0 ; cmp dword [ecx + eax*8 + 0x4971a0], 0
+je short loc_00448dbf ; je 0x448dbf
+mov esi, 1
+
+loc_00448dec:
+inc ebx
+jmp short loc_00448da7 ; jmp 0x448da7
+
+loc_00448def:
+xor ebx, ebx
+
+loc_00448df1:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00448d06 ; jge 0x448d06
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00448e16 ; je 0x448e16
+cmp byte [eax + ref_00496b79], 0 ; cmp byte [eax + 0x496b79], 0
+je near loc_00448ec3 ; je 0x448ec3
+
+loc_00448e16:
+inc ebx
+jmp short loc_00448df1 ; jmp 0x448df1
+
+loc_00448e19:
+xor ebx, ebx
+
+loc_00448e1b:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_00448d06 ; jge 0x448d06
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00448e40 ; je 0x448e40
+cmp byte [eax + ref_00496b79], 0 ; cmp byte [eax + 0x496b79], 0
+jne near loc_00448ec3 ; jne 0x448ec3
+
+loc_00448e40:
+inc ebx
+jmp short loc_00448e1b ; jmp 0x448e1b
+
+loc_00448e43:
+xor ebx, ebx
+jmp short loc_00448e51 ; jmp 0x448e51
+
+loc_00448e47:
+inc ebx
+cmp ebx, 0xc
+jge near loc_00448d06 ; jge 0x448d06
+
+loc_00448e51:
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+cmp byte [eax*4 + ref_00496986], 0 ; cmp byte [eax*4 + 0x496986], 0
+je short loc_00448e47 ; je 0x448e47
+jmp short loc_00448ec3 ; jmp 0x448ec3
+
+loc_00448e64:
+mov ebx, edi
+
+loc_00448e66:
+cmp ebx, dword [ref_00498e90] ; cmp ebx, dword [0x498e90]
+jg near loc_00448d06 ; jg 0x448d06
+imul edx, ebx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add eax, edx
+mov dl, byte [eax + 0x18]
+test dl, dl
+je short loc_00448e99 ; je 0x448e99
+mov al, dl
+and eax, 0xff
+dec eax
+push eax
+call fcn_0040d73f ; call 0x40d73f
+add esp, 4
+cmp eax, 1
+je short loc_00448ec3 ; je 0x448ec3
+
+loc_00448e99:
+inc ebx
+jmp short loc_00448e66 ; jmp 0x448e66
+
+loc_00448e9c:
+mov ebx, edi
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+mov ebp, dword [ref_00498e90] ; mov ebp, dword [0x498e90]
+
+loc_00448ea9:
+cmp ebx, ebp
+jg short loc_00448ebd ; jg 0x448ebd
+imul edx, ebx, 0x34
+cmp dword [edx + eax + 0x28], 0x2710
+jg short loc_00448ec3 ; jg 0x448ec3
+inc ebx
+jmp short loc_00448ea9 ; jmp 0x448ea9
+
+loc_00448ebd:
+test esi, esi
+jne short loc_00448ec3 ; jne 0x448ec3
+
+loc_00448ec1:
+xor edi, edi
+
+loc_00448ec3:
+mov eax, edi
+pop ebp
+pop edi
+
+loc_00448ec7:
+pop esi
+pop ebx
+ret
+
+fcn_00448eca:
+push ebx
+push esi
+mov edx, dword [esp + 0xc]
+test edx, edx
+jne short loc_00448ec7 ; jne 0x448ec7
+push edx
+push 0x136
+push 0x18
+push ref_00465424 ; push 0x465424
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+mov esi, 0x148
+jmp short loc_00448f01 ; jmp 0x448f01
+
+loc_00448efb:
+inc ebx
+cmp ebx, 4
+jge short loc_00448ec7 ; jge 0x448ec7
+
+loc_00448f01:
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_00448efb ; je 0x448efb
+push esi
+push 0x186
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x3c
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+imul eax, ebx, 0x68
+mov byte [eax + ref_00496b9c], 0x80 ; mov byte [eax + 0x496b9c], 0x80
+xor dh, dh
+mov byte [ebx + ref_00496b30], dh ; mov byte [ebx + 0x496b30], dh
+add esi, 0x2a
+jmp short loc_00448efb ; jmp 0x448efb
+
+fcn_00448f45:
+push ebx
+push esi
+sub esp, 0x84
+cmp dword [esp + 0x90], 0
+jne near loc_00448ffd ; jne 0x448ffd
+mov ecx, 3
+mov dword [esp + 0x80], ecx
+push ecx
+push ref_0046543a ; push 0x46543a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+mov esi, 0x148
+jmp short loc_00448fa8 ; jmp 0x448fa8
+
+loc_00448fa2:
+inc ebx
+cmp ebx, 4
+jge short loc_00448ffd ; jge 0x448ffd
+
+loc_00448fa8:
+cmp byte [ebx + ref_00496b30], 0 ; cmp byte [ebx + 0x496b30], 0
+je short loc_00448fa2 ; je 0x448fa2
+push esi
+push 0x186
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+imul eax, ebx, 0x68
+add esi, 0x2a
+mov dl, byte [esp + 0x80]
+mov dh, byte [eax + ref_00496b9c] ; mov dh, byte [eax + 0x496b9c]
+add dh, dl
+mov byte [eax + ref_00496b9c], dh ; mov byte [eax + 0x496b9c], dh
+mov cl, dh
+and cl, 0x7f
+mov byte [eax + ref_00496b9c], cl ; mov byte [eax + 0x496b9c], cl
+jmp short loc_00448fa2 ; jmp 0x448fa2
+
+loc_00448ffd:
+add esp, 0x84
+
+loc_00449003:
+pop esi
+pop ebx
+ret
+
+fcn_00449006:
+push ebx
+push esi
+mov edx, dword [esp + 0xc]
+test edx, edx
+jne short loc_00449003 ; jne 0x449003
+push edx
+push 0x136
+push 0x18
+push ref_00465454 ; push 0x465454
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+mov esi, 0x148
+jmp short loc_0044903d ; jmp 0x44903d
+
+loc_00449037:
+inc ebx
+cmp ebx, 4
+jge short loc_00449003 ; jge 0x449003
+
+loc_0044903d:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_00449037 ; je 0x449037
+push esi
+push 0x186
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x3c
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+imul eax, ebx, 0x68
+mov byte [eax + ref_00496b9d], 0x80 ; mov byte [eax + 0x496b9d], 0x80
+xor dh, dh
+mov byte [ebx + ref_00496b60], dh ; mov byte [ebx + 0x496b60], dh
+add esi, 0x2a
+jmp short loc_00449037 ; jmp 0x449037
+
+fcn_00449081:
+push ebx
+push esi
+sub esp, 0x84
+cmp dword [esp + 0x90], 0
+jne near loc_00448ffd ; jne 0x448ffd
+mov ecx, 3
+mov dword [esp + 0x80], ecx
+push ecx
+push ref_0046546c ; push 0x46546c
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ebx, ebx
+mov esi, 0x148
+jmp short loc_004490e8 ; jmp 0x4490e8
+
+loc_004490de:
+inc ebx
+cmp ebx, 4
+jge near loc_00448ffd ; jge 0x448ffd
+
+loc_004490e8:
+cmp byte [ebx + ref_00496b60], 0 ; cmp byte [ebx + 0x496b60], 0
+je short loc_004490de ; je 0x4490de
+push esi
+push 0x186
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+imul eax, ebx, 0x68
+add esi, 0x2a
+mov dl, byte [esp + 0x80]
+mov dh, byte [eax + ref_00496b9d] ; mov dh, byte [eax + 0x496b9d]
+add dh, dl
+mov byte [eax + ref_00496b9d], dh ; mov byte [eax + 0x496b9d], dh
+mov cl, dh
+and cl, 0x7f
+mov byte [eax + ref_00496b9d], cl ; mov byte [eax + 0x496b9d], cl
+jmp short loc_004490de ; jmp 0x4490de
+
+fcn_0044913d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x408
+mov edx, dword [esp + 0x41c]
+test edx, edx
+jne short loc_00449175 ; jne 0x449175
+push edx
+push 0x136
+push 0x18
+push ref_00465488 ; push 0x465488
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_00449295 ; jmp 0x449295
+
+loc_00449175:
+xor esi, esi
+mov ebx, 1
+
+loc_0044917c:
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg short loc_004491a4 ; jg 0x4491a4
+imul eax, ebx, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+cmp byte [edx + eax + 0x1a], 0
+je short loc_004491a1 ; je 0x4491a1
+mov edx, ebx
+add edx, 0x7d0
+mov word [esp + esi*2], dx
+inc esi
+
+loc_004491a1:
+inc ebx
+jmp short loc_0044917c ; jmp 0x44917c
+
+loc_004491a4:
+mov ebx, 1
+mov edi, dword [ref_00498e8c] ; mov edi, dword [0x498e8c]
+
+loc_004491af:
+cmp ebx, edi
+jg short loc_004491dd ; jg 0x4491dd
+mov eax, ebx
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+cmp byte [edx + eax + 0x1a], 0
+je short loc_004491da ; je 0x4491da
+mov edx, ebx
+add edx, 0xfa0
+mov word [esp + esi*2], dx
+inc esi
+
+loc_004491da:
+inc ebx
+jmp short loc_004491af ; jmp 0x4491af
+
+loc_004491dd:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+mov ax, word [esp + edx*2]
+and eax, 0xffff
+lea edx, [esp + 0x404]
+push edx
+lea edx, [esp + 0x404]
+push edx
+push eax
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 2
+mov ebp, dword [esp + 0x408]
+push ebp
+mov eax, dword [esp + 0x408]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0xffffffffffffffff
+push 1
+push 0x26
+push 0x64
+call fcn_0040ac7b ; call 0x40ac7b
+add esp, 0x10
+push 0
+push 0
+push 0x213
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x56
+push 0x180001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ebx, ebx
+
+loc_0044926e:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_00449290 ; jge 0x449290
+imul eax, ebx, 0x68
+test byte [eax + ref_00496b7d], 0x40 ; test byte [eax + 0x496b7d], 0x40
+je short loc_0044928d ; je 0x44928d
+push 3
+push ebx
+call fcn_0043ec3f ; call 0x43ec3f
+add esp, 8
+
+loc_0044928d:
+inc ebx
+jmp short loc_0044926e ; jmp 0x44926e
+
+loc_00449290:
+call fcn_0041d546 ; call 0x41d546
+
+loc_00449295:
+add esp, 0x408
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004492a0:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x49c
+cmp dword [esp + 0x4b0], 0
+jne near loc_0044940d ; jne 0x44940d
+xor ebx, ebx
+mov eax, 1
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+
+loc_004492c5:
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_004492e7 ; jg 0x4492e7
+imul ecx, eax, 0x34
+cmp byte [ecx + edx + 0x1a], 0
+je short loc_004492e4 ; je 0x4492e4
+mov ecx, eax
+add ecx, 0x7d0
+mov word [esp + ebx*2], cx
+inc ebx
+
+loc_004492e4:
+inc eax
+jmp short loc_004492c5 ; jmp 0x4492c5
+
+loc_004492e7:
+mov eax, 1
+mov esi, dword [ref_00498e8c] ; mov esi, dword [0x498e8c]
+
+loc_004492f2:
+cmp eax, esi
+jg short loc_0044931f ; jg 0x44931f
+mov edx, eax
+shl edx, 3
+mov ecx, edx
+shl edx, 3
+sub edx, ecx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+cmp byte [ecx + edx + 0x1a], 0
+je short loc_0044931c ; je 0x44931c
+mov ecx, eax
+add ecx, 0xfa0
+mov word [esp + ebx*2], cx
+inc ebx
+
+loc_0044931c:
+inc eax
+jmp short loc_004492f2 ; jmp 0x4492f2
+
+loc_0044931f:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+xor eax, eax
+mov ax, word [esp + edx*2]
+mov dword [ref_0048c59c], eax ; mov dword [0x48c59c], eax
+cmp eax, 0xfa0
+jge short loc_00449376 ; jge 0x449376
+lea edx, [eax - 0x7d0]
+imul edx, edx, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x484]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+jmp short loc_004493bb ; jmp 0x4493bb
+
+loc_00449376:
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x484]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+
+loc_004493bb:
+mov al, byte [edx + eax + 0x19]
+and eax, 0xff
+mov dword [ref_0048c5a0], eax ; mov dword [0x48c5a0], eax
+lea eax, [esp + 0x480]
+push eax
+push ref_0046549c ; push 0x46549c
+lea eax, [esp + 0x408]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0x40c]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_004494d5 ; jmp 0x4494d5
+
+loc_0044940d:
+lea eax, [esp + 0x498]
+push eax
+lea eax, [esp + 0x498]
+push eax
+mov ecx, dword [ref_0048c59c] ; mov ecx, dword [0x48c59c]
+push ecx
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 2
+mov ebx, dword [esp + 0x49c]
+push ebx
+mov esi, dword [esp + 0x49c]
+push esi
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+mov edi, dword [ref_0048c59c] ; mov edi, dword [0x48c59c]
+push edi
+call fcn_0040ab4a ; call 0x40ab4a
+add esp, 8
+push 0
+push 0
+push 0x21b
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x54
+push 0x200001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0048c5a0] ; mov eax, dword [0x48c5a0]
+test eax, eax
+je short loc_004494d5 ; je 0x4494d5
+dec eax
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edx, dword [ebx + eax*4 + ref_00480856] ; mov edx, dword [ebx + eax*4 + 0x480856]
+push edx
+push 2
+mov eax, dword [ref_0048c5a0] ; mov eax, dword [0x48c5a0]
+dec eax
+push eax
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_004494d5:
+add esp, 0x49c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004494e0:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x98
+cmp dword [esp + 0xac], 0
+jne near loc_004495b5 ; jne 0x4495b5
+mov ebx, dword [ref_00498e98] ; mov ebx, dword [0x498e98]
+add ebx, dword [ref_00498e8c] ; add ebx, dword [0x498e8c]
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov dword [ref_0048c59c], edx ; mov dword [0x48c59c], edx
+mov ecx, dword [ref_00498e98] ; mov ecx, dword [0x498e98]
+cmp edx, ecx
+jge short loc_0044953a ; jge 0x44953a
+lea eax, [edx + 1]
+lea edi, [edx + 0x7d1]
+mov dword [ref_0048c59c], edi ; mov dword [0x48c59c], edi
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+jmp short loc_00449561 ; jmp 0x449561
+
+loc_0044953a:
+mov eax, 0xfa1
+sub eax, ecx
+lea esi, [edx + eax]
+mov dword [ref_0048c59c], esi ; mov dword [0x48c59c], esi
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+
+loc_00449561:
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_004654bd ; push 0x4654bd
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_0044972a ; jmp 0x44972a
+
+loc_004495b5:
+mov ecx, dword [ref_0048c59c] ; mov ecx, dword [0x48c59c]
+cmp ecx, 0x7d0
+jle near loc_00449682 ; jle 0x449682
+cmp ecx, 0xfa0
+jge near loc_00449682 ; jge 0x449682
+lea eax, [ecx - 0x7d0]
+imul eax, eax, 0x34
+mov edi, dword [ref_00498e84] ; mov edi, dword [0x498e84]
+add edi, eax
+push 2
+movsx eax, word [edi + 2]
+push eax
+movsx eax, word [edi]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+mov esi, 1
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+
+loc_0044960c:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_00449725 ; jg 0x449725
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0044967f ; jne 0x44967f
+push 0xffff
+lea eax, [esi + 0x7d0]
+push eax
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+xor eax, eax
+mov ax, word [ebx + 0x1c]
+mov dword [esp + 0x94], eax
+fild dword [esp + 0x94]
+fmul qword [ref_004654dc] ; fmul qword [0x4654dc]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x94]
+mov eax, dword [esp + 0x94]
+mov word [ebx + 0x1c], ax
+
+loc_0044967f:
+inc esi
+jmp short loc_0044960c ; jmp 0x44960c
+
+loc_00449682:
+mov esi, dword [ref_0048c59c] ; mov esi, dword [0x48c59c]
+cmp esi, 0xfa0
+jle near loc_0044972a ; jle 0x44972a
+cmp esi, 0x1770
+jge near loc_0044972a ; jge 0x44972a
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+push 2
+movsx eax, word [ebx + 2]
+push eax
+movsx eax, word [ebx]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+push 0xffff
+mov ebp, dword [ref_0048c59c] ; mov ebp, dword [0x48c59c]
+push ebp
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+xor eax, eax
+mov ax, word [ebx + 0x22]
+mov dword [esp + 0x94], eax
+fild dword [esp + 0x94]
+fmul qword [ref_004654dc] ; fmul qword [0x4654dc]
+
+loc_0044970e:
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x94]
+mov eax, dword [esp + 0x94]
+mov word [ebx + 0x22], ax
+
+loc_00449725:
+call fcn_00451985 ; call 0x451985
+
+loc_0044972a:
+add esp, 0x98
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00449735:
+push ebx
+push esi
+push edi
+sub esp, 0x494
+cmp dword [esp + 0x4a4], 0
+jne near loc_00449896 ; jne 0x449896
+xor ebx, ebx
+mov eax, 1
+mov esi, dword [ref_00498e98] ; mov esi, dword [0x498e98]
+
+loc_00449759:
+cmp eax, esi
+jg short loc_0044977d ; jg 0x44977d
+imul edx, eax, 0x34
+mov ecx, dword [ref_00498e84] ; mov ecx, dword [0x498e84]
+cmp byte [ecx + edx + 0x19], 0
+jne short loc_0044977a ; jne 0x44977a
+mov ecx, eax
+add ecx, 0x7d0
+mov word [esp + ebx*2], cx
+inc ebx
+
+loc_0044977a:
+inc eax
+jmp short loc_00449759 ; jmp 0x449759
+
+loc_0044977d:
+mov eax, 1
+mov edi, dword [ref_00498e8c] ; mov edi, dword [0x498e8c]
+
+loc_00449788:
+cmp eax, edi
+jg short loc_004497b7 ; jg 0x4497b7
+mov edx, eax
+shl edx, 3
+mov ecx, edx
+shl edx, 3
+sub edx, ecx
+mov ecx, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+cmp byte [ecx + edx + 0x19], 0
+jne short loc_004497b4 ; jne 0x4497b4
+mov ecx, eax
+add ecx, 0xfa0
+mov word [esp + ebx*2], cx
+inc ebx
+
+loc_004497b4:
+inc eax
+jmp short loc_00449788 ; jmp 0x449788
+
+loc_004497b7:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+xor eax, eax
+mov ax, word [esp + edx*2]
+mov dword [ref_0048c59c], eax ; mov dword [0x48c59c], eax
+cmp eax, 0x7d0
+jle short loc_00449813 ; jle 0x449813
+cmp eax, 0xfa0
+jge short loc_00449813 ; jge 0x449813
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+add ebx, eax
+lea eax, [ebx + 4]
+push eax
+lea eax, [esp + 0x484]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+movsx eax, word [ebx]
+shl eax, 0x10
+movsx edx, word [ebx + 2]
+add eax, edx
+mov dword [ref_0048c5a0], eax ; mov dword [0x48c5a0], eax
+jmp short loc_00449855 ; jmp 0x449855
+
+loc_00449813:
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+lea eax, [ebx + 4]
+push eax
+lea eax, [esp + 0x484]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+movsx edx, word [ebx]
+shl edx, 0x10
+movsx eax, word [ebx + 2]
+add edx, eax
+mov dword [ref_0048c5a0], edx ; mov dword [0x48c5a0], edx
+
+loc_00449855:
+lea eax, [esp + 0x480]
+push eax
+push ref_004654e4 ; push 0x4654e4
+lea eax, [esp + 0x408]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0x40c]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp short loc_004498a9 ; jmp 0x4498a9
+
+loc_00449896:
+push 1
+mov ecx, dword [ref_0048c59c] ; mov ecx, dword [0x48c59c]
+push ecx
+push 0xffffffffffffffff
+call fcn_0043bde5 ; call 0x43bde5
+add esp, 0xc
+
+loc_004498a9:
+add esp, 0x494
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004498b3:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xa4
+mov edx, dword [esp + 0xb8]
+test edx, edx
+jne near loc_00449a24 ; jne 0x449a24
+push 0x10
+push edx
+lea eax, [esp + 0x9c]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov eax, 1
+
+loc_004498e4:
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_0044990b ; jg 0x44990b
+imul ecx, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+mov dl, byte [ecx + edx + 0x19]
+and edx, 0xff
+je short loc_00449908 ; je 0x449908
+inc dword [esp + edx*4 + 0x90]
+
+loc_00449908:
+inc eax
+jmp short loc_004498e4 ; jmp 0x4498e4
+
+loc_0044990b:
+mov eax, 1
+mov ebx, dword [ref_00498e8c] ; mov ebx, dword [0x498e8c]
+
+loc_00449916:
+cmp eax, ebx
+jg short loc_00449942 ; jg 0x449942
+mov edx, eax
+shl edx, 3
+mov ecx, edx
+shl edx, 3
+sub edx, ecx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+mov dl, byte [ecx + edx + 0x19]
+and edx, 0xff
+je short loc_0044993f ; je 0x44993f
+inc dword [esp + edx*4 + 0x90]
+
+loc_0044993f:
+inc eax
+jmp short loc_00449916 ; jmp 0x449916
+
+loc_00449942:
+xor eax, eax
+xor edx, edx
+mov edi, dword [ref_00499114] ; mov edi, dword [0x499114]
+
+loc_0044994c:
+cmp eax, edi
+jge short loc_00449976 ; jge 0x449976
+imul ecx, eax, 0x68
+cmp byte [ecx + ref_00496b7d], 0 ; cmp byte [ecx + 0x496b7d], 0
+je short loc_00449973 ; je 0x449973
+mov ecx, eax
+shl ecx, 2
+mov esi, dword [esp + ecx + 0x94]
+cmp edx, esi
+jge short loc_00449973 ; jge 0x449973
+mov edx, esi
+mov dword [ref_0048c59c], eax ; mov dword [0x48c59c], eax
+
+loc_00449973:
+inc eax
+jmp short loc_0044994c ; jmp 0x44994c
+
+loc_00449976:
+imul eax, dword [ref_0048c59c], 0x68 ; imul eax, dword [0x48c59c], 0x68
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov dword [ref_0048c5a0], eax ; mov dword [0x48c5a0], eax
+push eax
+lea eax, [esp + 0x84]
+push eax
+push ref_00465501 ; push 0x465501
+
+loc_004499c1:
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x148
+push 0x186
+imul eax, dword [ref_0048c59c], 0x34 ; imul eax, dword [0x48c59c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x3c
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+
+loc_00449a19:
+add esp, 0xa4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00449a24:
+push 2
+imul eax, dword [ref_0048c59c], 0x68 ; imul eax, dword [0x48c59c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+mov ebx, dword [ref_0048c5a0] ; mov ebx, dword [0x48c5a0]
+push ebx
+mov esi, dword [ref_0048c59c] ; mov esi, dword [0x48c59c]
+push esi
+call fcn_0041d3f4 ; call 0x41d3f4
+add esp, 0xc
+mov edi, dword [ref_0048c59c] ; mov edi, dword [0x48c59c]
+push edi
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+mov ebp, dword [ref_0048c5a0] ; mov ebp, dword [0x48c5a0]
+push ebp
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+push eax
+call fcn_0044f354 ; call 0x44f354
+add esp, 8
+jmp short loc_00449a19 ; jmp 0x449a19
+
+fcn_00449a8a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xa4
+mov edx, dword [esp + 0xb8]
+test edx, edx
+jne short loc_00449a24 ; jne 0x449a24
+push 0x10
+push edx
+lea eax, [esp + 0x9c]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov eax, 1
+
+loc_00449ab7:
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_00449ade ; jg 0x449ade
+imul ecx, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+mov dl, byte [ecx + edx + 0x19]
+and edx, 0xff
+je short loc_00449adb ; je 0x449adb
+inc dword [esp + edx*4 + 0x90]
+
+loc_00449adb:
+inc eax
+jmp short loc_00449ab7 ; jmp 0x449ab7
+
+loc_00449ade:
+mov eax, 1
+mov ebx, dword [ref_00498e8c] ; mov ebx, dword [0x498e8c]
+
+loc_00449ae9:
+cmp eax, ebx
+jg short loc_00449b15 ; jg 0x449b15
+mov edx, eax
+shl edx, 3
+mov ecx, edx
+shl edx, 3
+sub edx, ecx
+mov ecx, dword [ref_00498e88] ; mov ecx, dword [0x498e88]
+mov dl, byte [ecx + edx + 0x19]
+and edx, 0xff
+je short loc_00449b12 ; je 0x449b12
+inc dword [esp + edx*4 + 0x90]
+
+loc_00449b12:
+inc eax
+jmp short loc_00449ae9 ; jmp 0x449ae9
+
+loc_00449b15:
+xor eax, eax
+mov edx, 0x2710
+mov edi, dword [ref_00499114] ; mov edi, dword [0x499114]
+
+loc_00449b22:
+cmp eax, edi
+jge short loc_00449b4c ; jge 0x449b4c
+imul ecx, eax, 0x68
+cmp byte [ecx + ref_00496b7d], 0 ; cmp byte [ecx + 0x496b7d], 0
+je short loc_00449b49 ; je 0x449b49
+mov ecx, eax
+shl ecx, 2
+mov esi, dword [esp + ecx + 0x94]
+cmp edx, esi
+jle short loc_00449b49 ; jle 0x449b49
+mov edx, esi
+mov dword [ref_0048c59c], eax ; mov dword [0x48c59c], eax
+
+loc_00449b49:
+inc eax
+jmp short loc_00449b22 ; jmp 0x449b22
+
+loc_00449b4c:
+imul eax, dword [ref_0048c59c], 0x68 ; imul eax, dword [0x48c59c], 0x68
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 3
+mov dword [ref_0048c5a0], eax ; mov dword [0x48c5a0], eax
+push eax
+lea eax, [esp + 0x84]
+push eax
+push ref_00465528 ; push 0x465528
+jmp near loc_004499c1 ; jmp 0x4499c1
+
+fcn_00449b9c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xa4
+mov edx, dword [esp + 0xb8]
+test edx, edx
+jne near loc_00449a24 ; jne 0x449a24
+push 0x10
+push edx
+lea eax, [esp + 0x9c]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor esi, esi
+mov edx, dword [ref_00499114] ; mov edx, dword [0x499114]
+
+loc_00449bd0:
+cmp esi, edx
+jge short loc_00449bf9 ; jge 0x449bf9
+xor ecx, ecx
+
+loc_00449bd6:
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 5
+mov ebx, ecx
+mov eax, dword [eax + ebx*8 + ref_004971a0] ; mov eax, dword [eax + ebx*8 + 0x4971a0]
+add dword [esp + esi*4 + 0x94], eax
+inc ecx
+cmp ecx, 0xc
+jl short loc_00449bd6 ; jl 0x449bd6
+inc esi
+jmp short loc_00449bd0 ; jmp 0x449bd0
+
+loc_00449bf9:
+xor esi, esi
+xor ecx, ecx
+
+loc_00449bfd:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge short loc_00449c2c ; jge 0x449c2c
+imul eax, esi, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00449c29 ; je 0x449c29
+mov eax, esi
+shl eax, 2
+mov ebx, dword [esp + eax + 0x94]
+cmp ecx, ebx
+jge short loc_00449c29 ; jge 0x449c29
+mov ecx, ebx
+mov dword [ref_0048c59c], esi ; mov dword [0x48c59c], esi
+
+loc_00449c29:
+inc esi
+jmp short loc_00449bfd ; jmp 0x449bfd
+
+loc_00449c2c:
+imul eax, dword [ref_0048c59c], 0x68 ; imul eax, dword [0x48c59c], 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov dword [ref_0048c5a0], eax ; mov dword [0x48c5a0], eax
+push eax
+lea eax, [esp + 0x84]
+push eax
+push ref_0046554f ; push 0x46554f
+jmp near loc_004499c1 ; jmp 0x4499c1
+
+fcn_00449c7c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x98
+mov edi, 0x15a
+mov edx, dword [esp + 0xac]
+test edx, edx
+jne near loc_00449d9f ; jne 0x449d9f
+push edx
+push 0x136
+push 0x18
+push ref_00465578 ; push 0x465578
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x18
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+
+loc_00449cd2:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_0044972a ; jge 0x44972a
+imul edx, ebx, 0x68
+cmp byte [edx + ref_00496b7d], 0 ; cmp byte [edx + 0x496b7d], 0
+je near loc_00449d99 ; je 0x449d99
+fild dword [edx + ref_00496b84] ; fild dword [edx + 0x496b84]
+fmul qword [ref_004655a4] ; fmul qword [0x4655a4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x94]
+mov esi, ebx
+shl esi, 2
+mov eax, dword [esp + 0x94]
+mov dword [esi + ref_0048c59c], eax ; mov dword [esi + 0x48c59c], eax
+test eax, eax
+je short loc_00449d99 ; je 0x449d99
+mov ecx, dword [edx + ref_00496b68] ; mov ecx, dword [edx + 0x496b68]
+push ecx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov ebp, dword [esi + ref_0048c59c] ; mov ebp, dword [esi + 0x48c59c]
+push ebp
+lea eax, [esp + 0x84]
+push eax
+push ref_00465592 ; push 0x465592
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push edi
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+lea eax, [edi + 0xc]
+push eax
+push 0x186
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+add edi, 0x20
+
+loc_00449d99:
+inc ebx
+jmp near loc_00449cd2 ; jmp 0x449cd2
+
+loc_00449d9f:
+xor ebx, ebx
+
+loc_00449da1:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_0044972a ; jge 0x44972a
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne near loc_0044972a ; jne 0x44972a
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_00449de3 ; je 0x449de3
+mov eax, ebx
+shl eax, 2
+mov esi, dword [eax + ref_0048c59c] ; mov esi, dword [eax + 0x48c59c]
+test esi, esi
+je short loc_00449de3 ; je 0x449de3
+push 0
+push esi
+push 0xffffffffffffffff
+push ebx
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+
+loc_00449de3:
+inc ebx
+jmp short loc_00449da1 ; jmp 0x449da1
+
+fcn_00449de6:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xa8
+mov edi, 0x15a
+mov edx, dword [esp + 0xbc]
+test edx, edx
+jne near loc_00449fdf ; jne 0x449fdf
+push 0x10
+push edx
+lea eax, [esp + 0x9c]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+push ref_004655ac ; push 0x4655ac
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x18
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor esi, esi
+
+loc_00449e50:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge near loc_0044a01e ; jge 0x44a01e
+imul eax, esi, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_00449fd9 ; je 0x449fd9
+mov dword [esp + 0xa4], 1
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+
+loc_00449e7d:
+add edx, 0x34
+mov eax, dword [esp + 0xa4]
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_00449ec1 ; jg 0x449ec1
+xor eax, eax
+mov al, byte [edx + 0x19]
+lea ecx, [esi + 1]
+cmp eax, ecx
+jne short loc_00449eb8 ; jne 0x449eb8
+xor ebx, ebx
+mov bx, word [edx + 0x1e]
+xor ecx, ecx
+mov cl, byte [edx + 0x1a]
+imul ecx, ebx
+xor ebx, ebx
+mov bx, word [edx + 0x1c]
+add ecx, ebx
+add dword [esp + esi*4 + 0x94], ecx
+
+loc_00449eb8:
+inc dword [esp + 0xa4]
+jmp short loc_00449e7d ; jmp 0x449e7d
+
+loc_00449ec1:
+mov dword [esp + 0xa4], 1
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+
+loc_00449ed2:
+add edx, 0x38
+mov ebx, esi
+shl ebx, 2
+mov eax, dword [esp + 0xa4]
+cmp eax, dword [ref_00498e8c] ; cmp eax, dword [0x498e8c]
+jg short loc_00449f1b ; jg 0x449f1b
+xor ecx, ecx
+mov cl, byte [edx + 0x19]
+lea eax, [esi + 1]
+cmp ecx, eax
+jne short loc_00449f12 ; jne 0x449f12
+xor ecx, eax
+mov cx, word [edx + 0x24]
+xor eax, eax
+mov al, byte [edx + 0x1a]
+imul ecx, eax
+xor eax, eax
+mov ax, word [edx + 0x22]
+add eax, ecx
+add dword [esp + ebx + 0x94], eax
+
+loc_00449f12:
+inc dword [esp + 0xa4]
+jmp short loc_00449ed2 ; jmp 0x449ed2
+
+loc_00449f1b:
+fild dword [esp + ebx + 0x94]
+fmul qword [ref_004655cc] ; fmul qword [0x4655cc]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xa4]
+mov eax, dword [esp + 0xa4]
+mov ebp, dword [ref_004990e8] ; mov ebp, dword [0x4990e8]
+imul eax, ebp
+mov dword [esp + 0xa4], eax
+mov dword [ebx + ref_0048c59c], eax ; mov dword [ebx + 0x48c59c], eax
+test eax, eax
+je near loc_00449fd9 ; je 0x449fd9
+imul eax, esi, 0x68
+mov edx, dword [eax + ref_00496b68] ; mov edx, dword [eax + 0x496b68]
+push edx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov ecx, dword [ebx + ref_0048c59c] ; mov ecx, dword [ebx + 0x48c59c]
+push ecx
+lea eax, [esp + 0x84]
+push eax
+push ref_00465592 ; push 0x465592
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push edi
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+lea eax, [edi + 0xc]
+push eax
+push 0x186
+imul eax, esi, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+add edi, 0x20
+
+loc_00449fd9:
+inc esi
+jmp near loc_00449e50 ; jmp 0x449e50
+
+loc_00449fdf:
+xor esi, esi
+
+loc_00449fe1:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge short loc_0044a01e ; jge 0x44a01e
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne short loc_0044a01e ; jne 0x44a01e
+imul eax, esi, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0044a01b ; je 0x44a01b
+mov eax, esi
+shl eax, 2
+mov ebx, dword [eax + ref_0048c59c] ; mov ebx, dword [eax + 0x48c59c]
+test ebx, ebx
+je short loc_0044a01b ; je 0x44a01b
+push 0
+push ebx
+push 0xffffffffffffffff
+push esi
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+
+loc_0044a01b:
+inc esi
+jmp short loc_00449fe1 ; jmp 0x449fe1
+
+loc_0044a01e:
+add esp, 0xa8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044a029:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xa8
+mov ebp, 0x15a
+lea edi, [esp + 0x94]
+mov esi, ref_00448b71 ; mov esi, 0x448b71
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+mov edx, dword [esp + 0xbc]
+test edx, edx
+jne near loc_0044a1d9 ; jne 0x44a1d9
+push edx
+push 0x136
+push 0x18
+push ref_004655d4 ; push 0x4655d4
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x18
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+
+loc_0044a08f:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0044a01e ; jge 0x44a01e
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_0044a1d3 ; je 0x44a1d3
+xor edx, edx
+mov dword [esp + 0xa4], edx
+jmp short loc_0044a0c6 ; jmp 0x44a0c6
+
+loc_0044a0b2:
+mov esi, dword [esp + 0xa4]
+inc esi
+mov dword [esp + 0xa4], esi
+cmp esi, 0xc
+jge short loc_0044a110 ; jge 0x44a110
+
+loc_0044a0c6:
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 5
+mov edx, dword [esp + 0xa4]
+shl edx, 3
+add eax, edx
+cmp dword [eax + ref_004971a0], 0 ; cmp dword [eax + 0x4971a0], 0
+je short loc_0044a0b2 ; je 0x44a0b2
+fild dword [eax + ref_004971a0] ; fild dword [eax + 0x4971a0]
+mov ecx, dword [esp + 0xa4]
+mov eax, ecx
+shl eax, 3
+add eax, ecx
+fmul dword [eax*4 + ref_00496994] ; fmul dword [eax*4 + 0x496994]
+fadd dword [esp + ebx*4 + 0x94]
+fstp dword [esp + ebx*4 + 0x94]
+jmp short loc_0044a0b2 ; jmp 0x44a0b2
+
+loc_0044a110:
+mov esi, ebx
+shl esi, 2
+fld dword [esp + esi + 0x94]
+fmul qword [ref_004655f4] ; fmul qword [0x4655f4]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0xa4]
+mov eax, dword [esp + 0xa4]
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+imul eax, edx
+mov dword [esp + 0xa4], eax
+mov dword [esi + ref_0048c59c], eax ; mov dword [esi + 0x48c59c], eax
+test eax, eax
+je near loc_0044a1d3 ; je 0x44a1d3
+imul eax, ebx, 0x68
+mov edi, dword [eax + ref_00496b68] ; mov edi, dword [eax + 0x496b68]
+push edi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov eax, dword [esi + ref_0048c59c] ; mov eax, dword [esi + 0x48c59c]
+push eax
+lea eax, [esp + 0x84]
+push eax
+push ref_00465592 ; push 0x465592
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push ebp
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+lea eax, [ebp + 0xc]
+push eax
+push 0x186
+imul eax, ebx, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+add ebp, 0x20
+
+loc_0044a1d3:
+inc ebx
+jmp near loc_0044a08f ; jmp 0x44a08f
+
+loc_0044a1d9:
+xor ebx, ebx
+
+loc_0044a1db:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_0044a01e ; jge 0x44a01e
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne near loc_0044a01e ; jne 0x44a01e
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0044a21d ; je 0x44a21d
+mov eax, ebx
+shl eax, 2
+mov esi, dword [eax + ref_0048c59c] ; mov esi, dword [eax + 0x48c59c]
+test esi, esi
+je short loc_0044a21d ; je 0x44a21d
+push 0
+push esi
+push 0xffffffffffffffff
+push ebx
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+
+loc_0044a21d:
+inc ebx
+jmp short loc_0044a1db ; jmp 0x44a1db
+
+fcn_0044a220:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x98
+cmp dword [esp + 0xac], 0
+jne near loc_0044a2f5 ; jne 0x44a2f5
+mov ebx, dword [ref_00498e98] ; mov ebx, dword [0x498e98]
+add ebx, dword [ref_00498e8c] ; add ebx, dword [0x498e8c]
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov dword [ref_0048c59c], edx ; mov dword [0x48c59c], edx
+mov ecx, dword [ref_00498e98] ; mov ecx, dword [0x498e98]
+cmp edx, ecx
+jge short loc_0044a27a ; jge 0x44a27a
+lea eax, [edx + 1]
+lea edi, [edx + 0x7d1]
+mov dword [ref_0048c59c], edi ; mov dword [0x48c59c], edi
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+jmp short loc_0044a2a1 ; jmp 0x44a2a1
+
+loc_0044a27a:
+mov eax, 0xfa1
+sub eax, ecx
+lea esi, [edx + eax]
+mov dword [ref_0048c59c], esi ; mov dword [0x48c59c], esi
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+
+loc_0044a2a1:
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_004655fc ; push 0x4655fc
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_0044972a ; jmp 0x44972a
+
+loc_0044a2f5:
+mov ecx, dword [ref_0048c59c] ; mov ecx, dword [0x48c59c]
+cmp ecx, 0x7d0
+jle near loc_0044a3c2 ; jle 0x44a3c2
+cmp ecx, 0xfa0
+jge near loc_0044a3c2 ; jge 0x44a3c2
+lea eax, [ecx - 0x7d0]
+imul eax, eax, 0x34
+mov edi, dword [ref_00498e84] ; mov edi, dword [0x498e84]
+add edi, eax
+push 2
+movsx eax, word [edi + 2]
+push eax
+movsx eax, word [edi]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+mov esi, 1
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+
+loc_0044a34c:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_00449725 ; jg 0x449725
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0044a3bf ; jne 0x44a3bf
+push 0xffff
+lea eax, [esi + 0x7d0]
+push eax
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+xor eax, eax
+mov ax, word [ebx + 0x1c]
+mov dword [esp + 0x94], eax
+fild dword [esp + 0x94]
+fmul qword [ref_0046561c] ; fmul qword [0x46561c]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x94]
+mov eax, dword [esp + 0x94]
+mov word [ebx + 0x1c], ax
+
+loc_0044a3bf:
+inc esi
+jmp short loc_0044a34c ; jmp 0x44a34c
+
+loc_0044a3c2:
+mov esi, dword [ref_0048c59c] ; mov esi, dword [0x48c59c]
+cmp esi, 0xfa0
+jle near loc_0044972a ; jle 0x44972a
+cmp esi, 0x1770
+jge near loc_0044972a ; jge 0x44972a
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+push 2
+movsx eax, word [ebx + 2]
+push eax
+movsx eax, word [ebx]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+push 0xffff
+mov ebp, dword [ref_0048c59c] ; mov ebp, dword [0x48c59c]
+push ebp
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+xor eax, eax
+mov ax, word [ebx + 0x22]
+mov dword [esp + 0x94], eax
+fild dword [esp + 0x94]
+fmul qword [ref_0046561c] ; fmul qword [0x46561c]
+jmp near loc_0044970e ; jmp 0x44970e
+
+fcn_0044a453:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x494
+cmp dword [esp + 0x4a8], 0
+jne near loc_0044a50f ; jne 0x44a50f
+xor esi, esi
+mov ebx, 1
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+mov ebp, dword [ref_00498e98] ; mov ebp, dword [0x498e98]
+
+loc_0044a47d:
+cmp ebx, ebp
+jg short loc_0044a493 ; jg 0x44a493
+imul edx, ebx, 0x34
+cmp byte [edx + eax + 0x1a], 0
+je short loc_0044a490 ; je 0x44a490
+mov word [esp + esi*2], bx
+inc esi
+
+loc_0044a490:
+inc ebx
+jmp short loc_0044a47d ; jmp 0x44a47d
+
+loc_0044a493:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+mov ax, word [esp + edx*2]
+and eax, 0xffff
+mov dword [ref_0048c59c], eax ; mov dword [0x48c59c], eax
+imul edx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x484]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+lea eax, [esp + 0x480]
+push eax
+push ref_00465624 ; push 0x465624
+lea eax, [esp + 0x408]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0x40c]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_0044a5cb ; jmp 0x44a5cb
+
+loc_0044a50f:
+imul eax, dword [ref_0048c59c], 0x34 ; imul eax, dword [0x48c59c], 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add eax, edx
+xor ebx, ebx
+mov bl, byte [eax + 0x19]
+movsx edx, word [eax]
+movsx eax, word [eax + 2]
+push 2
+push eax
+push edx
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+add eax, 0x7d0
+push eax
+call fcn_0040ab4a ; call 0x40ab4a
+add esp, 8
+push 0
+push 0
+push 0x20f
+mov esi, dword [ref_0048a0e4] ; mov esi, dword [0x48a0e4]
+push esi
+call fcn_00450441 ; call 0x450441
+mov esi, eax
+add esp, 0x10
+push 0x57
+push 0x50001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x12c
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+test ebx, ebx
+je short loc_0044a5cb ; je 0x44a5cb
+dec ebx
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov esi, eax
+shl esi, 3
+add esi, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edi, dword [esi + eax*4 + ref_00480856] ; mov edi, dword [esi + eax*4 + 0x480856]
+push edi
+push 2
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044a5cb:
+add esp, 0x494
+pop ebp
+
+loc_0044a5d2:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044a5d6:
+push ebx
+push esi
+push edi
+mov edi, 0x15a
+mov edx, dword [esp + 0x10]
+test edx, edx
+jne short loc_0044a5d2 ; jne 0x44a5d2
+push edx
+push 0x136
+push 0x18
+push ref_00465645 ; push 0x465645
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor esi, esi
+
+loc_0044a606:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge short loc_0044a5d2 ; jge 0x44a5d2
+imul ebx, esi, 0x68
+cmp byte [ebx + ref_00496b7d], 0 ; cmp byte [ebx + 0x496b7d], 0
+je short loc_0044a654 ; je 0x44a654
+cmp byte [ebx + ref_00496b79], 0 ; cmp byte [ebx + 0x496b79], 0
+jne short loc_0044a654 ; jne 0x44a654
+lea eax, [edi + 0xc]
+push eax
+push 0x186
+imul eax, esi, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+mov byte [ebx + ref_00496ba0], 1 ; mov byte [ebx + 0x496ba0], 1
+add edi, 0x20
+
+loc_0044a654:
+inc esi
+jmp short loc_0044a606 ; jmp 0x44a606
+
+fcn_0044a657:
+push ebx
+push esi
+push edi
+mov edi, 0x15a
+mov edx, dword [esp + 0x10]
+test edx, edx
+jne near loc_0044a5d2 ; jne 0x44a5d2
+push edx
+push 0x136
+push 0x18
+push ref_00465662 ; push 0x465662
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor esi, esi
+
+loc_0044a68b:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge near loc_0044a5d2 ; jge 0x44a5d2
+imul ebx, esi, 0x68
+cmp byte [ebx + ref_00496b7d], 0 ; cmp byte [ebx + 0x496b7d], 0
+je short loc_0044a6dd ; je 0x44a6dd
+cmp byte [ebx + ref_00496b79], 0 ; cmp byte [ebx + 0x496b79], 0
+je short loc_0044a6dd ; je 0x44a6dd
+lea eax, [edi + 0xc]
+push eax
+push 0x186
+imul eax, esi, 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+mov byte [ebx + ref_00496ba0], 1 ; mov byte [ebx + 0x496ba0], 1
+add edi, 0x20
+
+loc_0044a6dd:
+inc esi
+jmp short loc_0044a68b ; jmp 0x44a68b
+
+fcn_0044a6e0:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x94
+cmp dword [esp + 0xa8], 0
+jne near loc_0044a7b5 ; jne 0x44a7b5
+mov ebx, dword [ref_00498e98] ; mov ebx, dword [0x498e98]
+add ebx, dword [ref_00498e8c] ; add ebx, dword [0x498e8c]
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov dword [ref_0048c59c], edx ; mov dword [0x48c59c], edx
+mov ecx, dword [ref_00498e98] ; mov ecx, dword [0x498e98]
+cmp edx, ecx
+jge short loc_0044a73a ; jge 0x44a73a
+lea eax, [edx + 1]
+lea edi, [edx + 0x7d1]
+mov dword [ref_0048c59c], edi ; mov dword [0x48c59c], edi
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+jmp short loc_0044a761 ; jmp 0x44a761
+
+loc_0044a73a:
+mov eax, 0xfa1
+sub eax, ecx
+lea esi, [edx + eax]
+mov dword [ref_0048c59c], esi ; mov dword [0x48c59c], esi
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, eax
+mov eax, dword [ref_00498e88] ; mov eax, dword [0x498e88]
+
+loc_0044a761:
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_0046567f ; push 0x46567f
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_0044a913 ; jmp 0x44a913
+
+loc_0044a7b5:
+mov ecx, dword [ref_0048c59c] ; mov ecx, dword [0x48c59c]
+cmp ecx, 0x7d0
+jle near loc_0044a86d ; jle 0x44a86d
+cmp ecx, 0xfa0
+jge near loc_0044a86d ; jge 0x44a86d
+lea eax, [ecx - 0x7d0]
+imul eax, eax, 0x34
+mov edi, dword [ref_00498e84] ; mov edi, dword [0x498e84]
+add edi, eax
+push 2
+movsx eax, word [edi + 2]
+push eax
+movsx eax, word [edi]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+mov esi, 1
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+
+loc_0044a80c:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg near loc_0044a8f3 ; jg 0x44a8f3
+lea eax, [ebx + 4]
+push eax
+lea eax, [edi + 4]
+push eax
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0044a86a ; jne 0x44a86a
+push 0xffff
+lea eax, [esi + 0x7d0]
+push eax
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+mov cl, byte [ebx + 0x1a]
+test cl, cl
+je short loc_0044a86a ; je 0x44a86a
+mov ch, cl
+dec ch
+mov byte [ebx + 0x1a], ch
+cmp byte [ebx + 0x18], 0
+je short loc_0044a86a ; je 0x44a86a
+mov byte [ebx + 0x1a], 0
+mov byte [ebx + 0x18], 0
+
+loc_0044a86a:
+inc esi
+jmp short loc_0044a80c ; jmp 0x44a80c
+
+loc_0044a86d:
+mov esi, dword [ref_0048c59c] ; mov esi, dword [0x48c59c]
+cmp esi, 0xfa0
+jle near loc_0044a8f3 ; jle 0x44a8f3
+cmp esi, 0x1770
+jge short loc_0044a8f3 ; jge 0x44a8f3
+lea eax, [esi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov ebx, dword [ref_00498e88] ; mov ebx, dword [0x498e88]
+add ebx, eax
+push 2
+movsx eax, word [ebx + 2]
+push eax
+movsx eax, word [ebx]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+push 0xffff
+mov ebp, dword [ref_0048c59c] ; mov ebp, dword [0x48c59c]
+push ebp
+push 0x2f440
+mov eax, dword [ref_00474938] ; mov eax, dword [0x474938]
+push eax
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+mov ah, byte [ebx + 0x1a]
+test ah, ah
+je short loc_0044a8f3 ; je 0x44a8f3
+mov dl, ah
+dec dl
+mov byte [ebx + 0x1a], dl
+jne short loc_0044a8f3 ; jne 0x44a8f3
+mov byte [ebx + 0x18], dl
+call fcn_0040dffa ; call 0x40dffa
+
+loc_0044a8f3:
+call fcn_00451985 ; call 0x451985
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x1f4
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+
+loc_0044a913:
+add esp, 0x94
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044a91e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x9c
+cmp dword [esp + 0xb0], 0
+jne near loc_0044aa44 ; jne 0x44aa44
+mov eax, dword [ref_00498e98] ; mov eax, dword [0x498e98]
+mov ebx, dword [ref_00498e8c] ; mov ebx, dword [0x498e8c]
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov dword [ref_0048c59c], edx ; mov dword [0x48c59c], edx
+mov esi, dword [ref_00498e98] ; mov esi, dword [0x498e98]
+cmp edx, esi
+jge short loc_0044a9a2 ; jge 0x44a9a2
+lea eax, [edx + 1]
+add edx, 0x7d1
+mov dword [ref_0048c59c], edx ; mov dword [0x48c59c], edx
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+sub eax, 0x7d0
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+jmp short loc_0044a9f8 ; jmp 0x44a9f8
+
+loc_0044a9a2:
+mov eax, 0xfa1
+sub eax, esi
+lea ebp, [edx + eax]
+mov dword [ref_0048c59c], ebp ; mov dword [0x48c59c], ebp
+lea eax, [ebp - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+
+loc_0044a9f8:
+mov al, byte [edx + eax + 0x19]
+and eax, 0xff
+mov dword [ref_0048c5a0], eax ; mov dword [0x48c5a0], eax
+lea eax, [esp + 0x80]
+push eax
+push ref_00465697 ; push 0x465697
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_0044ab21 ; jmp 0x44ab21
+
+loc_0044aa44:
+lea eax, [esp + 0x98]
+push eax
+lea eax, [esp + 0x98]
+push eax
+mov ecx, dword [ref_0048c59c] ; mov ecx, dword [0x48c59c]
+push ecx
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 2
+mov ebx, dword [esp + 0x9c]
+push ebx
+mov esi, dword [esp + 0x9c]
+push esi
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+push 0xffff
+mov edi, dword [ref_0048c59c] ; mov edi, dword [0x48c59c]
+push edi
+push 0x2f440
+mov ebp, dword [ref_00474938] ; mov ebp, dword [0x474938]
+push ebp
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+push 1
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+push eax
+call fcn_0040ab4a ; call 0x40ab4a
+add esp, 8
+call fcn_00451985 ; call 0x451985
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x12c
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+mov edx, dword [ref_0048c5a0] ; mov edx, dword [0x48c5a0]
+test edx, edx
+je short loc_0044ab21 ; je 0x44ab21
+lea eax, [edx - 1]
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov ecx, dword [ebx + eax*4 + ref_00480856] ; mov ecx, dword [ebx + eax*4 + 0x480856]
+push ecx
+
+loc_0044ab10:
+push 2
+mov eax, dword [ref_0048c5a0] ; mov eax, dword [0x48c5a0]
+dec eax
+push eax
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044ab21:
+add esp, 0x9c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044ab2c:
+push ebx
+push esi
+push edi
+sub esp, 0x9c
+cmp dword [esp + 0xac], 0
+jne near loc_0044ac02 ; jne 0x44ac02
+mov ebx, dword [ref_00498e98] ; mov ebx, dword [0x498e98]
+add ebx, dword [ref_00498e8c] ; add ebx, dword [0x498e8c]
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov dword [ref_0048c59c], edx ; mov dword [0x48c59c], edx
+mov eax, edx
+mov edx, dword [ref_00498e98] ; mov edx, dword [0x498e98]
+cmp eax, edx
+jge short loc_0044ab83 ; jge 0x44ab83
+inc eax
+add dword [ref_0048c59c], 0x7d1 ; add dword [0x48c59c], 0x7d1
+imul eax, eax, 0x34
+mov edx, dword [ref_00498e84] ; mov edx, dword [0x498e84]
+jmp short loc_0044abae ; jmp 0x44abae
+
+loc_0044ab83:
+mov eax, 0xfa1
+sub eax, edx
+mov ebx, dword [ref_0048c59c] ; mov ebx, dword [0x48c59c]
+add ebx, eax
+mov dword [ref_0048c59c], ebx ; mov dword [0x48c59c], ebx
+lea eax, [ebx - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+
+loc_0044abae:
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_004656af ; push 0x4656af
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_0044ac8f ; jmp 0x44ac8f
+
+loc_0044ac02:
+lea eax, [esp + 0x94]
+push eax
+lea eax, [esp + 0x9c]
+push eax
+mov ecx, dword [ref_0048c59c] ; mov ecx, dword [0x48c59c]
+push ecx
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 2
+mov ebx, dword [esp + 0x98]
+push ebx
+mov esi, dword [esp + 0xa0]
+push esi
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0xffffffffffffffff
+push 0
+push 6
+push 0x64
+call fcn_0040ac7b ; call 0x40ac7b
+add esp, 0x10
+push 0
+push 0
+push 0x216
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x59
+push 0x80001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x1f4
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+
+loc_0044ac8f:
+add esp, 0x9c
+pop edi
+pop esi
+
+loc_0044ac97:
+pop ebx
+ret
+
+fcn_0044ac99:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x9c
+cmp dword [esp + 0xb0], 0
+jne near loc_0044adbc ; jne 0x44adbc
+mov ebx, dword [ref_00498e98] ; mov ebx, dword [0x498e98]
+add ebx, dword [ref_00498e8c] ; add ebx, dword [0x498e8c]
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov dword [ref_0048c59c], edx ; mov dword [0x48c59c], edx
+mov ebx, dword [ref_00498e98] ; mov ebx, dword [0x498e98]
+cmp edx, ebx
+jge short loc_0044ad1a ; jge 0x44ad1a
+lea eax, [edx + 1]
+lea ebp, [edx + 0x7d1]
+mov dword [ref_0048c59c], ebp ; mov dword [0x48c59c], ebp
+imul edx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+sub eax, 0x7d0
+imul edx, eax, 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+jmp short loc_0044ad70 ; jmp 0x44ad70
+
+loc_0044ad1a:
+mov eax, 0xfa1
+sub eax, ebx
+lea edi, [edx + eax]
+mov dword [ref_0048c59c], edi ; mov dword [0x48c59c], edi
+lea eax, [edi - 0xfa0]
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+add eax, edx
+add eax, 4
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00457d96 ; call 0x457d96
+add esp, 8
+mov eax, dword [ref_0048c59c] ; mov eax, dword [0x48c59c]
+sub eax, 0xfa0
+shl eax, 3
+mov edx, eax
+shl eax, 3
+sub eax, edx
+mov edx, dword [ref_00498e88] ; mov edx, dword [0x498e88]
+
+loc_0044ad70:
+mov al, byte [edx + eax + 0x19]
+and eax, 0xff
+mov dword [ref_0048c5a0], eax ; mov dword [0x48c5a0], eax
+lea eax, [esp + 0x80]
+push eax
+push ref_004656d0 ; push 0x4656d0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+jmp near loc_0044ab21 ; jmp 0x44ab21
+
+loc_0044adbc:
+lea eax, [esp + 0x98]
+push eax
+lea eax, [esp + 0x98]
+push eax
+mov ecx, dword [ref_0048c59c] ; mov ecx, dword [0x48c59c]
+push ecx
+call fcn_0040af12 ; call 0x40af12
+add esp, 0xc
+push 2
+mov ebx, dword [esp + 0x9c]
+push ebx
+mov esi, dword [esp + 0x9c]
+push esi
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0
+mov edi, dword [ref_0048c59c] ; mov edi, dword [0x48c59c]
+push edi
+call fcn_0040ab4a ; call 0x40ab4a
+add esp, 8
+push 0
+push 0
+push 0x217
+mov ebp, dword [ref_0048a0e4] ; mov ebp, dword [0x48a0e4]
+push ebp
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push 0x58
+push 0x80001
+push 0x28
+push 0
+push eax
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0x12c
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+mov eax, dword [ref_0048c5a0] ; mov eax, dword [0x48c5a0]
+test eax, eax
+je near loc_0044ab21 ; je 0x44ab21
+dec eax
+imul eax, eax, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edx, dword [ebx + eax*4 + ref_00480856] ; mov edx, dword [ebx + eax*4 + 0x480856]
+push edx
+jmp near loc_0044ab10 ; jmp 0x44ab10
+
+fcn_0044ae89:
+push ebx
+mov edx, dword [esp + 8]
+test edx, edx
+jne near loc_0044ac97 ; jne 0x44ac97
+push edx
+push 0x136
+push 0x18
+push ref_004656ef ; push 0x4656ef
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov bh, 0xf
+mov ecx, dword [ref_00499114] ; mov ecx, dword [0x499114]
+
+loc_0044aebe:
+cmp edx, ecx
+jge near loc_0044ac97 ; jge 0x44ac97
+imul eax, edx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0044aed8 ; je 0x44aed8
+mov byte [eax + ref_00496ba4], bh ; mov byte [eax + 0x496ba4], bh
+
+loc_0044aed8:
+inc edx
+jmp short loc_0044aebe ; jmp 0x44aebe
+
+fcn_0044aedb:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x98
+mov edi, 0x15a
+mov edx, dword [esp + 0xac]
+test edx, edx
+jne near loc_0044972a ; jne 0x44972a
+push edx
+push 0x136
+push 0x18
+push ref_0046570b ; push 0x46570b
+mov ebx, dword [ref_0048c5ac] ; mov ebx, dword [0x48c5ac]
+add ebx, 0xc
+push ebx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor esi, esi
+
+loc_0044af1a:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge near loc_0044972a ; jge 0x44972a
+imul ebx, esi, 0x68
+cmp byte [ebx + ref_00496b7d], 0 ; cmp byte [ebx + 0x496b7d], 0
+je near loc_0044b004 ; je 0x44b004
+mov ebp, dword [ebx + ref_00496b8c] ; mov ebp, dword [ebx + 0x496b8c]
+test ebp, ebp
+jne near loc_0044b004 ; jne 0x44b004
+fild dword [ebx + ref_00496b88] ; fild dword [ebx + 0x496b88]
+fmul qword [ref_00465734] ; fmul qword [0x465734]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x94]
+push ebp
+mov eax, dword [esp + 0x98]
+push eax
+push esi
+call fcn_0041d3f4 ; call 0x41d3f4
+add esp, 0xc
+push ebp
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x18
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov edx, dword [ebx + ref_00496b68] ; mov edx, dword [ebx + 0x496b68]
+push edx
+lea ebx, [esp + 0x84]
+push ebx
+call fcn_00452946 ; call 0x452946
+add esp, 8
+mov ecx, dword [esp + 0x94]
+push ecx
+lea ebx, [esp + 0x84]
+push ebx
+push ref_00465727 ; push 0x465727
+lea ebx, [esp + 0xc]
+push ebx
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push ebp
+push edi
+push 0x18
+lea ebx, [esp + 0xc]
+push ebx
+mov ebx, dword [ref_0048c5ac] ; mov ebx, dword [0x48c5ac]
+add ebx, 0xc
+push ebx
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+lea ebx, [edi + 0xc]
+push ebx
+push 0x186
+imul ebx, esi, 0x34
+mov ebx, dword [ebx + ref_00498eb0] ; mov ebx, dword [ebx + 0x498eb0]
+add ebx, 0x3c
+push ebx
+mov ebx, dword [ref_0048c5ac] ; mov ebx, dword [0x48c5ac]
+add ebx, 0xc
+push ebx
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+add edi, 0x20
+
+loc_0044b004:
+inc esi
+jmp near loc_0044af1a ; jmp 0x44af1a
+
+fcn_0044b00a:
+push ebx
+mov edx, dword [esp + 8]
+test edx, edx
+jne short loc_0044b053 ; jne 0x44b053
+push edx
+push 0x136
+push 0x18
+push ref_0046573c ; push 0x46573c
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov bl, 1
+
+loc_0044b035:
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov byte [eax*4 + ref_00496987], bl ; mov byte [eax*4 + 0x496987], bl
+inc edx
+cmp edx, 0xc
+jl short loc_0044b035 ; jl 0x44b035
+push 0
+call fcn_00429040 ; call 0x429040
+add esp, 4
+
+loc_0044b053:
+pop ebx
+ret
+
+fcn_0044b055:
+push ebx
+mov edx, dword [esp + 8]
+test edx, edx
+jne short loc_0044b09e ; jne 0x44b09e
+push edx
+push 0x136
+push 0x18
+push ref_00465756 ; push 0x465756
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor edx, edx
+mov bl, 0x10
+
+loc_0044b080:
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov byte [eax*4 + ref_00496987], bl ; mov byte [eax*4 + 0x496987], bl
+inc edx
+cmp edx, 0xc
+jl short loc_0044b080 ; jl 0x44b080
+push 0
+call fcn_00429040 ; call 0x429040
+add esp, 4
+
+loc_0044b09e:
+pop ebx
+ret
+
+fcn_0044b0a0:
+mov edx, dword [esp + 4]
+test edx, edx
+jne short loc_0044b0d0 ; jne 0x44b0d0
+push edx
+push 0x136
+push 0x18
+push ref_00465770 ; push 0x465770
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov dword [ref_004990dc], 0xa ; mov dword [0x4990dc], 0xa
+
+loc_0044b0d0:
+ret
+
+fcn_0044b0d1:
+push ebx
+push esi
+sub esp, 0x94
+cmp dword [esp + 0xa0], 0
+jne near loc_0044b19a ; jne 0x44b19a
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 0xc
+sar edx, 0x1f
+idiv ebx
+mov esi, edx
+mov ebx, edx
+shl ebx, 3
+add ebx, edx
+shl ebx, 2
+mov ecx, dword [ebx + ref_00496980] ; mov ecx, dword [ebx + 0x496980]
+push ecx
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_00465788 ; push 0x465788
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov byte [ebx + ref_00496986], 0xf ; mov byte [ebx + 0x496986], 0xf
+mov edx, dword [ref_00499100] ; mov edx, dword [0x499100]
+dec edx
+test edx, edx
+jge short loc_0044b16b ; jge 0x44b16b
+mov edx, 0x8f
+
+loc_0044b16b:
+mov ebx, esi
+mov eax, esi
+shl eax, 3
+add eax, esi
+mov ecx, dword [eax*4 + ref_00496990] ; mov ecx, dword [eax*4 + 0x496990]
+mov dword [eax*4 + ref_00496994], ecx ; mov dword [eax*4 + 0x496994], ecx
+fld dword [eax*4 + ref_00496994] ; fld dword [eax*4 + 0x496994]
+shl ebx, 3
+add ebx, esi
+shl ebx, 6
+mov eax, edx
+fstp dword [ebx + eax*4 + ref_00497328] ; fstp dword [ebx + eax*4 + 0x497328]
+
+loc_0044b19a:
+add esp, 0x94
+pop esi
+pop ebx
+ret
+
+fcn_0044b1a3:
+push ebx
+sub esp, 0xc4
+mov edx, dword [esp + 0xcc]
+test edx, edx
+jne near loc_0044b253 ; jne 0x44b253
+xor ebx, ebx
+jmp short loc_0044b1c3 ; jmp 0x44b1c3
+
+loc_0044b1bd:
+inc edx
+cmp edx, 0xc
+jge short loc_0044b1de ; jge 0x44b1de
+
+loc_0044b1c3:
+mov eax, edx
+shl eax, 3
+add eax, edx
+cmp byte [eax*4 + ref_00496986], 0 ; cmp byte [eax*4 + 0x496986], 0
+je short loc_0044b1bd ; je 0x44b1bd
+mov dword [esp + ebx*4 + 0x80], edx
+inc ebx
+jmp short loc_0044b1bd ; jmp 0x44b1bd
+
+loc_0044b1de:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov edx, dword [esp + edx*4 + 0x80]
+mov ebx, edx
+shl ebx, 3
+add ebx, edx
+shl ebx, 2
+mov ecx, dword [ebx + ref_00496980] ; mov ecx, dword [ebx + 0x496980]
+push ecx
+lea eax, [esp + 0xb4]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0xb0]
+push eax
+push ref_004657a2 ; push 0x4657a2
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor ch, ch
+mov byte [ebx + ref_00496986], ch ; mov byte [ebx + 0x496986], ch
+
+loc_0044b253:
+add esp, 0xc4
+pop ebx
+ret
+
+fcn_0044b25b:
+push ebx
+push esi
+push ebp
+sub esp, 0xc4
+cmp dword [esp + 0xd4], 0
+jne near loc_0044b323 ; jne 0x44b323
+mov eax, 1
+xor ebx, ebx
+mov edx, dword [ref_00498e7c] ; mov edx, dword [0x498e7c]
+mov esi, dword [ref_00498e90] ; mov esi, dword [0x498e90]
+
+loc_0044b285:
+cmp eax, esi
+jg short loc_0044b29e ; jg 0x44b29e
+imul ecx, eax, 0x34
+cmp byte [ecx + edx + 0x18], 0
+je short loc_0044b29b ; je 0x44b29b
+mov dword [esp + ebx*4 + 0x80], eax
+inc ebx
+
+loc_0044b29b:
+inc eax
+jmp short loc_0044b285 ; jmp 0x44b285
+
+loc_0044b29e:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+imul ebx, dword [esp + edx*4 + 0x80], 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add ebx, eax
+xor eax, eax
+mov al, byte [ebx + 0x18]
+dec eax
+imul eax, eax, 0x68
+mov ebp, dword [eax + ref_00496b68] ; mov ebp, dword [eax + 0x496b68]
+push ebp
+lea eax, [esp + 0xb4]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0xb0]
+push eax
+lea eax, [ebx + 4]
+push eax
+push ref_004657ba ; push 0x4657ba
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+xor eax, eax
+mov al, byte [ebx + 0x18]
+dec eax
+mov dword [ref_0048c59c], eax ; mov dword [0x48c59c], eax
+jmp short loc_0044b36a ; jmp 0x44b36a
+
+loc_0044b323:
+push 2
+imul eax, dword [ref_0048c59c], 0x68 ; imul eax, dword [0x48c59c], 0x68
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ebx, dword [ref_0048c59c] ; mov ebx, dword [0x48c59c]
+push ebx
+call fcn_00441210 ; call 0x441210
+add esp, 4
+cmp eax, 0xffffffff
+je short loc_0044b36a ; je 0x44b36a
+push 5
+push eax
+call fcn_0043d593 ; call 0x43d593
+add esp, 8
+
+loc_0044b36a:
+add esp, 0xc4
+pop ebp
+pop esi
+pop ebx
+ret
+
+fcn_0044b374:
+push ebx
+sub esp, 0x80
+cmp dword [esp + 0x88], 0
+jne near loc_0044b411 ; jne 0x44b411
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv dword [ref_00498e90] ; idiv dword [0x498e90]
+inc edx
+imul ebx, edx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add ebx, eax
+lea eax, [ebx + 4]
+push eax
+push ref_004657db ; push 0x4657db
+
+loc_0044b3ad:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+sub dword [ebx + 0x28], 0x2710
+sub dword [ebx + 0x2c], 0x2710
+
+loc_0044b3e7:
+mov ah, byte [ebx + 0x19]
+cmp ah, 0xc
+jae short loc_0044b411 ; jae 0x44b411
+xor edx, edx
+mov dl, ah
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov byte [eax*4 + ref_00496987], 3 ; mov byte [eax*4 + 0x496987], 3
+
+loc_0044b402:
+xor eax, eax
+mov al, byte [ebx + 0x19]
+inc eax
+push eax
+call fcn_00429040 ; call 0x429040
+add esp, 4
+
+loc_0044b411:
+add esp, 0x80
+pop ebx
+ret
+
+fcn_0044b419:
+push ebx
+sub esp, 0x80
+cmp dword [esp + 0x88], 0
+jne short loc_0044b411 ; jne 0x44b411
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv dword [ref_00498e90] ; idiv dword [0x498e90]
+inc edx
+imul ebx, edx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add ebx, eax
+lea eax, [ebx + 4]
+push eax
+push ref_004657fb ; push 0x4657fb
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+add dword [ebx + 0x28], 0x4e20
+add dword [ebx + 0x2c], 0x4e20
+mov ah, byte [ebx + 0x19]
+cmp ah, 0xc
+jae short loc_0044b411 ; jae 0x44b411
+xor edx, edx
+mov dl, ah
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov byte [eax*4 + ref_00496987], 0x30 ; mov byte [eax*4 + 0x496987], 0x30
+jmp near loc_0044b402 ; jmp 0x44b402
+
+fcn_0044b4a8:
+push ebx
+sub esp, 0x80
+cmp dword [esp + 0x88], 0
+jne near loc_0044b411 ; jne 0x44b411
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv dword [ref_00498e90] ; idiv dword [0x498e90]
+inc edx
+imul ebx, edx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add ebx, eax
+lea eax, [ebx + 4]
+push eax
+push ref_00465817 ; push 0x465817
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+sub dword [ebx + 0x28], 0x4e20
+sub dword [ebx + 0x2c], 0x4e20
+mov ah, byte [ebx + 0x19]
+cmp ah, 0xc
+jae near loc_0044b411 ; jae 0x44b411
+xor edx, edx
+mov dl, ah
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov byte [eax*4 + ref_00496987], 4 ; mov byte [eax*4 + 0x496987], 4
+jmp near loc_0044b402 ; jmp 0x44b402
+
+fcn_0044b53f:
+push ebx
+sub esp, 0x80
+cmp dword [esp + 0x88], 0
+jne near loc_0044b411 ; jne 0x44b411
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv dword [ref_00498e90] ; idiv dword [0x498e90]
+inc edx
+imul ebx, edx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add ebx, eax
+lea eax, [ebx + 4]
+push eax
+push ref_00465833 ; push 0x465833
+jmp near loc_0044b3ad ; jmp 0x44b3ad
+
+fcn_0044b57d:
+push ebx
+sub esp, 0x80
+cmp dword [esp + 0x88], 0
+jne near loc_0044b411 ; jne 0x44b411
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv dword [ref_00498e90] ; idiv dword [0x498e90]
+inc edx
+imul ebx, edx, 0x34
+mov eax, dword [ref_00498e7c] ; mov eax, dword [0x498e7c]
+add ebx, eax
+lea eax, [ebx + 4]
+push eax
+push ref_00465855 ; push 0x465855
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+sub dword [ebx + 0x28], 0x1388
+sub dword [ebx + 0x2c], 0x1388
+jmp near loc_0044b3e7 ; jmp 0x44b3e7
+
+fcn_0044b5f5:
+push ebx
+push esi
+sub esp, 0xa0
+cmp dword [esp + 0xac], 0
+jne near loc_0044b6d6 ; jne 0x44b6d6
+mov eax, 1
+xor ebx, ebx
+mov edx, dword [ref_00498e7c] ; mov edx, dword [0x498e7c]
+
+loc_0044b618:
+cmp eax, dword [ref_00498e90] ; cmp eax, dword [0x498e90]
+jg short loc_0044b639 ; jg 0x44b639
+imul ecx, eax, 0x34
+cmp dword [ecx + edx + 0x28], 0x2710
+jle short loc_0044b636 ; jle 0x44b636
+mov word [esp + ebx*2 + 0x80], ax
+inc ebx
+
+loc_0044b636:
+inc eax
+jmp short loc_0044b618 ; jmp 0x44b618
+
+loc_0044b639:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+xor eax, eax
+mov ax, word [esp + edx*2 + 0x80]
+imul eax, eax, 0x34
+mov esi, dword [ref_00498e7c] ; mov esi, dword [0x498e7c]
+add esi, eax
+lea eax, [esi + 4]
+push eax
+push ref_00465874 ; push 0x465874
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x136
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov ebx, dword [esi + 0x28]
+lea eax, [ebx + ebx]
+mov dword [esi + 0x28], eax
+add dword [esi + 0x2c], eax
+cmp byte [esi + 0x19], 0xc
+jae short loc_0044b6d6 ; jae 0x44b6d6
+mov ecx, 0x2710
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv ecx
+shl eax, 4
+mov bl, al
+xor edx, edx
+mov dl, byte [esi + 0x19]
+mov eax, edx
+shl eax, 3
+add eax, edx
+mov byte [eax*4 + ref_00496987], bl ; mov byte [eax*4 + 0x496987], bl
+xor eax, eax
+mov al, byte [esi + 0x19]
+inc eax
+push eax
+call fcn_00429040 ; call 0x429040
+add esp, 4
+
+loc_0044b6d6:
+add esp, 0xa0
+pop esi
+pop ebx
+ret
+
+fcn_0044b6df:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+push 0
+push 0
+push 0x42
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c5ac], eax ; mov dword [0x48c5ac], eax
+push 0
+push 0
+push 0xfb
+push 0x184
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov esi, eax
+
+loc_0044b718:
+mov ebx, dword [ref_004990e0] ; mov ebx, dword [0x4990e0]
+mov bl, byte [ebx + ref_00499090] ; mov bl, byte [ebx + 0x499090]
+and ebx, 0xff
+push ebx
+call fcn_00448be2 ; call 0x448be2
+mov edi, eax
+add esp, 4
+mov ebp, eax
+push 0
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x1c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+cmp edi, 1
+jne short loc_0044b7c7 ; jne 0x44b7c7
+push 0
+mov ecx, dword [esi + 8]
+push ecx
+lea edi, [ebx + 0x1b9]
+push edi
+mov edi, dword [ref_0048a0e4] ; mov edi, dword [0x48a0e4]
+push edi
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+push 0x2c
+push 0x19
+push esi
+mov edi, dword [ref_0048c5ac] ; mov edi, dword [0x48c5ac]
+add edi, 0xc
+push edi
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0
+push 8
+push 0x18
+movzx edi, byte [ebx + ref_00475eb4] ; movzx edi, byte [ebx + 0x475eb4]
+mov eax, dword [edi*4 + ref_00475ed8] ; mov eax, dword [edi*4 + 0x475ed8]
+push eax
+mov edi, dword [ref_0048c5ac] ; mov edi, dword [0x48c5ac]
+add edi, 0xc
+push edi
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov dword [esp + 0x10], ebx
+push 0
+call dword [ebx*4 + ref_00475e24] ; ucall: call dword [ebx*4 + 0x475e24]
+add esp, 4
+
+loc_0044b7c7:
+mov edx, dword [ref_004990e0] ; mov edx, dword [0x4990e0]
+inc edx
+mov dword [ref_004990e0], edx ; mov dword [0x4990e0], edx
+cmp edx, 0x24
+jne short loc_0044b7e1 ; jne 0x44b7e1
+xor ebx, ebx
+mov dword [ref_004990e0], ebx ; mov dword [0x4990e0], ebx
+
+loc_0044b7e1:
+test ebp, ebp
+je near loc_0044b718 ; je 0x44b718
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push ebx
+call dword [eax + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c5ac] ; mov eax, dword [0x48c5ac]
+add eax, 0xc
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+xor edi, edi
+mov dword [esp], edi
+mov dword [esp + 4], edi
+mov dword [esp + 8], 0x1b8
+mov dword [esp + 0xc], 0x1e0
+mov ebx, dword [ref_0048a0dc] ; mov ebx, dword [0x48a0dc]
+mov eax, dword [ebx]
+push 0x10
+lea esi, [esp + 4]
+push esi
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push edi
+push edi
+push ebx
+call dword [eax + 0x1c] ; ucall
+push 0x960
+call fcn_004544f6 ; call 0x4544f6
+add esp, 4
+mov eax, dword [esp + 0x10]
+push 1
+call dword [eax*4 + ref_00475e24] ; ucall: call dword [eax*4 + 0x475e24]
+add esp, 4
+mov ebx, dword [ref_0048c5ac] ; mov ebx, dword [0x48c5ac]
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044b896:
+push ebx
+push esi
+push edi
+push ebp
+xor ebx, ebx
+xor ah, ah
+mov byte [ref_0048c5b8], ah ; mov byte [0x48c5b8], ah
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp dword [esp + 0x14], 0
+jne near loc_0044b9d3 ; jne 0x44b9d3
+cmp dword [esp + 0x18], 0
+jne near loc_0044b94b ; jne 0x44b94b
+mov si, word [eax + ref_00496bae] ; mov si, word [eax + 0x496bae]
+cmp si, 0x64
+jle short loc_0044b8d5 ; jle 0x44b8d5
+mov ebx, 2
+jmp short loc_0044b8fa ; jmp 0x44b8fa
+
+loc_0044b8d5:
+cmp si, 0x32
+jle short loc_0044b8e9 ; jle 0x44b8e9
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+and ebx, 1
+add ebx, ebx
+jmp short loc_0044b8f5 ; jmp 0x44b8f5
+
+loc_0044b8e9:
+test si, si
+jge short loc_0044b8f5 ; jge 0x44b8f5
+mov ebx, 1
+jmp short loc_0044b927 ; jmp 0x44b927
+
+loc_0044b8f5:
+cmp ebx, 2
+jne short loc_0044b91e ; jne 0x44b91e
+
+loc_0044b8fa:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+mov ebp, dword [eax*4 + ref_0047ed76] ; mov ebp, dword [eax*4 + 0x47ed76]
+push ebp
+push ref_00465888 ; push 0x465888
+jmp near loc_0044ba4f ; jmp 0x44ba4f
+
+loc_0044b91e:
+cmp ebx, 1
+jne near loc_0044ba5c ; jne 0x44ba5c
+
+loc_0044b927:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+mov esi, dword [eax*4 + ref_0047ed76] ; mov esi, dword [eax*4 + 0x47ed76]
+push esi
+push ref_0046589b ; push 0x46589b
+jmp near loc_0044ba4f ; jmp 0x44ba4f
+
+loc_0044b94b:
+mov di, word [eax + ref_00496bae] ; mov di, word [eax + 0x496bae]
+cmp di, 0x64
+jle short loc_0044b95f ; jle 0x44b95f
+mov ebx, 1
+jmp short loc_0044b9af ; jmp 0x44b9af
+
+loc_0044b95f:
+cmp di, 0x32
+jle short loc_0044b971 ; jle 0x44b971
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+and ebx, 1
+jmp short loc_0044b97d ; jmp 0x44b97d
+
+loc_0044b971:
+test di, di
+jge short loc_0044b97d ; jge 0x44b97d
+mov ebx, 2
+jmp short loc_0044b982 ; jmp 0x44b982
+
+loc_0044b97d:
+cmp ebx, 2
+jne short loc_0044b9a6 ; jne 0x44b9a6
+
+loc_0044b982:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+mov edi, dword [eax*4 + ref_0047ed76] ; mov edi, dword [eax*4 + 0x47ed76]
+push edi
+push ref_004658ae ; push 0x4658ae
+jmp near loc_0044ba4f ; jmp 0x44ba4f
+
+loc_0044b9a6:
+cmp ebx, 1
+jne near loc_0044ba5c ; jne 0x44ba5c
+
+loc_0044b9af:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+mov edx, dword [eax*4 + ref_0047ed76] ; mov edx, dword [eax*4 + 0x47ed76]
+push edx
+push ref_004658c1 ; push 0x4658c1
+jmp near loc_0044ba4f ; jmp 0x44ba4f
+
+loc_0044b9d3:
+mov dx, word [eax + ref_00496bb0] ; mov dx, word [eax + 0x496bb0]
+cmp dx, 0x64
+jle short loc_0044b9e7 ; jle 0x44b9e7
+mov ebx, 1
+jmp short loc_0044ba30 ; jmp 0x44ba30
+
+loc_0044b9e7:
+cmp dx, 0x32
+jle short loc_0044b9f9 ; jle 0x44b9f9
+call fcn_00456f2d ; call 0x456f2d
+mov ebx, eax
+and ebx, 1
+jmp short loc_0044ba05 ; jmp 0x44ba05
+
+loc_0044b9f9:
+test dx, dx
+jge short loc_0044ba05 ; jge 0x44ba05
+mov ebx, 2
+jmp short loc_0044ba0a ; jmp 0x44ba0a
+
+loc_0044ba05:
+cmp ebx, 2
+jne short loc_0044ba2b ; jne 0x44ba2b
+
+loc_0044ba0a:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+mov edi, dword [eax*4 + ref_0047ed76] ; mov edi, dword [eax*4 + 0x47ed76]
+push edi
+push ref_004658d4 ; push 0x4658d4
+jmp short loc_0044ba4f ; jmp 0x44ba4f
+
+loc_0044ba2b:
+cmp ebx, 1
+jne short loc_0044ba5c ; jne 0x44ba5c
+
+loc_0044ba30:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+mov al, byte [eax + ref_00496ba7] ; mov al, byte [eax + 0x496ba7]
+and eax, 0xff
+mov edx, dword [eax*4 + ref_0047ed76] ; mov edx, dword [eax*4 + 0x47ed76]
+push edx
+push ref_004658e7 ; push 0x4658e7
+
+loc_0044ba4f:
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+
+loc_0044ba5c:
+mov eax, ebx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044ba63:
+push ebx
+push esi
+push ebp
+sub esp, 0x80
+imul eax, dword [esp + 0x90], 0x68
+cmp byte [eax + ref_00496ba6], 0 ; cmp byte [eax + 0x496ba6], 0
+je short loc_0044bae0 ; je 0x44bae0
+mov ebx, 1
+mov edx, dword [ref_00498e7c] ; mov edx, dword [0x498e7c]
+
+loc_0044ba88:
+cmp ebx, dword [ref_00498e90] ; cmp ebx, dword [0x498e90]
+jg short loc_0044ba9d ; jg 0x44ba9d
+imul eax, ebx, 0x34
+cmp byte [edx + eax + 0x1a], 4
+je short loc_0044ba9d ; je 0x44ba9d
+inc ebx
+jmp short loc_0044ba88 ; jmp 0x44ba88
+
+loc_0044ba9d:
+mov esi, dword [esp + 0x94]
+push esi
+push ref_004658fa ; push 0x4658fa
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0x7d0
+lea eax, [esp + 4]
+push eax
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+push 1
+push esi
+mov ebp, dword [esp + 0x98]
+push ebp
+add ebx, 0x64
+push ebx
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+
+loc_0044bae0:
+add esp, 0x80
+pop ebp
+pop esi
+pop ebx
+ret
+
+fcn_0044baea:
+push ebx
+push esi
+sub esp, 0x28
+push 0x25
+push 0
+lea eax, [esp + 8]
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ebx, ebx
+mov esi, 0x25
+jmp short loc_0044bb1a ; jmp 0x44bb1a
+
+loc_0044bb09:
+mov byte [esp + eax], 1
+mov byte [ebx + ref_00496b38], al ; mov byte [ebx + 0x496b38], al
+inc ebx
+dec esi
+cmp ebx, 0x25
+jge short loc_0044bb3d ; jge 0x44bb3d
+
+loc_0044bb1a:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv esi
+xor eax, eax
+jmp short loc_0044bb30 ; jmp 0x44bb30
+
+loc_0044bb2a:
+inc eax
+cmp eax, 0x25
+jge short loc_0044bb09 ; jge 0x44bb09
+
+loc_0044bb30:
+cmp byte [esp + eax], 0
+jne short loc_0044bb37 ; jne 0x44bb37
+dec edx
+
+loc_0044bb37:
+test edx, edx
+jl short loc_0044bb09 ; jl 0x44bb09
+jmp short loc_0044bb2a ; jmp 0x44bb2a
+
+loc_0044bb3d:
+xor edx, edx
+mov dword [ref_004990b4], edx ; mov dword [0x4990b4], edx
+add esp, 0x28
+pop esi
+pop ebx
+ret
+
+fcn_0044bb4b:
+push ebx
+push esi
+push edi
+push ebp
+mov edx, dword [esp + 0x14]
+mov edi, 1
+xor ecx, ecx
+mov ebx, dword [edx]
+cmp ebx, 0xc
+jb short loc_0044bbb4 ; jb 0x44bbb4
+jbe near loc_0044bd35 ; jbe 0x44bd35
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp ebx, 0x10
+jb short loc_0044bba0 ; jb 0x44bba0
+jbe near loc_0044bded ; jbe 0x44bded
+cmp ebx, 0x22
+jb short loc_0044bb9b ; jb 0x44bb9b
+jbe near loc_0044be03 ; jbe 0x44be03
+cmp ebx, 0x23
+jbe near loc_0044be03 ; jbe 0x44be03
+cmp ebx, 0x24
+
+loc_0044bb90:
+je near loc_0044be03 ; je 0x44be03
+jmp near loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bb9b:
+cmp ebx, 0x21
+jmp short loc_0044bb90 ; jmp 0x44bb90
+
+loc_0044bba0:
+cmp ebx, 0xe
+jb near loc_0044bd76 ; jb 0x44bd76
+jbe near loc_0044bda8 ; jbe 0x44bda8
+jmp near loc_0044bdd1 ; jmp 0x44bdd1
+
+loc_0044bbb4:
+cmp ebx, 8
+jb short loc_0044bbd3 ; jb 0x44bbd3
+jbe near loc_0044bc84 ; jbe 0x44bc84
+cmp ebx, 0xa
+jb near loc_0044bc84 ; jb 0x44bc84
+jbe near loc_0044bcb1 ; jbe 0x44bcb1
+jmp near loc_0044bcf4 ; jmp 0x44bcf4
+
+loc_0044bbd3:
+cmp ebx, edi
+jb short loc_0044bbe7 ; jb 0x44bbe7
+jbe short loc_0044bc2f ; jbe 0x44bc2f
+cmp ebx, 5
+je near loc_0044bc5e ; je 0x44bc5e
+jmp near loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bbe7:
+test ebx, ebx
+jne near loc_0044be0f ; jne 0x44be0f
+mov ebx, edi
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add eax, 0x34
+mov ebp, dword [ref_00498e98] ; mov ebp, dword [0x498e98]
+
+loc_0044bbff:
+cmp ebx, ebp
+jg short loc_0044bc22 ; jg 0x44bc22
+movzx esi, byte [eax + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp esi, edx
+jne short loc_0044bc1c ; jne 0x44bc1c
+cmp byte [eax + 0x1a], 0
+jne near loc_0044be0f ; jne 0x44be0f
+
+loc_0044bc1c:
+inc ebx
+add eax, 0x34
+jmp short loc_0044bbff ; jmp 0x44bbff
+
+loc_0044bc22:
+test ecx, ecx
+
+loc_0044bc24:
+jne near loc_0044be0f ; jne 0x44be0f
+jmp near loc_0044be0d ; jmp 0x44be0d
+
+loc_0044bc2f:
+mov ebx, edi
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+
+loc_0044bc36:
+add eax, 0x34
+cmp ebx, dword [ref_00498e98] ; cmp ebx, dword [0x498e98]
+jg short loc_0044bc22 ; jg 0x44bc22
+xor edx, edx
+mov dl, byte [eax + 0x19]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+inc esi
+cmp edx, esi
+jne short loc_0044bc5b ; jne 0x44bc5b
+cmp byte [eax + 0x1a], 0
+je near loc_0044be0f ; je 0x44be0f
+
+loc_0044bc5b:
+inc ebx
+jmp short loc_0044bc36 ; jmp 0x44bc36
+
+loc_0044bc5e:
+xor ebx, ebx
+xor esi, esi
+
+loc_0044bc62:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0044bc80 ; jge 0x44bc80
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+je short loc_0044bc7d ; je 0x44bc7d
+push ebx
+call fcn_00441262 ; call 0x441262
+add esp, 4
+add esi, eax
+
+loc_0044bc7d:
+inc ebx
+jmp short loc_0044bc62 ; jmp 0x44bc62
+
+loc_0044bc80:
+test esi, esi
+jmp short loc_0044bc24 ; jmp 0x44bc24
+
+loc_0044bc84:
+xor ebx, ebx
+jmp short loc_0044bc8e ; jmp 0x44bc8e
+
+loc_0044bc88:
+inc ebx
+cmp ebx, 0xc
+jge short loc_0044bc22 ; jge 0x44bc22
+
+loc_0044bc8e:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 5
+mov eax, ebx
+cmp dword [edx + eax*8 + ref_004971a0], 0 ; cmp dword [edx + eax*8 + 0x4971a0], 0
+je short loc_0044bc88 ; je 0x44bc88
+jmp near loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bcb1:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b79], 1 ; cmp byte [eax + 0x496b79], 1
+je short loc_0044bcd5 ; je 0x44bcd5
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b79], 2 ; cmp byte [eax + 0x496b79], 2
+jne near loc_0044be0d ; jne 0x44be0d
+
+loc_0044bcd5:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b79], 2 ; cmp byte [eax + 0x496b79], 2
+jne near loc_0044be0f ; jne 0x44be0f
+mov dword [edx], 0xb
+jmp near loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bcf4:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b79], 1 ; cmp byte [eax + 0x496b79], 1
+je short loc_0044bd16 ; je 0x44bd16
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b79], 2 ; cmp byte [eax + 0x496b79], 2
+jne near loc_0044be0d ; jne 0x44be0d
+
+loc_0044bd16:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b79], 1 ; cmp byte [eax + 0x496b79], 1
+jne near loc_0044be0f ; jne 0x44be0f
+mov dword [edx], 0xa
+jmp near loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bd35:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul eax, esi, 0x68
+cmp byte [eax + ref_00496b79], 0 ; cmp byte [eax + 0x496b79], 0
+je short loc_0044bd57 ; je 0x44bd57
+imul eax, esi, 0x68
+cmp byte [eax + ref_00496b79], 1 ; cmp byte [eax + 0x496b79], 1
+jne near loc_0044be0d ; jne 0x44be0d
+
+loc_0044bd57:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b79], 1 ; cmp byte [eax + 0x496b79], 1
+jne near loc_0044be0f ; jne 0x44be0f
+mov dword [edx], 0xd
+jmp near loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bd76:
+mov bh, byte [eax + ref_00496b79] ; mov bh, byte [eax + 0x496b79]
+test bh, bh
+je short loc_0044bd89 ; je 0x44bd89
+cmp bh, 1
+jne near loc_0044be0d ; jne 0x44be0d
+
+loc_0044bd89:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b79], 0 ; cmp byte [eax + 0x496b79], 0
+jne near loc_0044be0f ; jne 0x44be0f
+mov dword [edx], 0xc
+jmp near loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bda8:
+mov cl, byte [eax + ref_00496b79] ; mov cl, byte [eax + 0x496b79]
+cmp cl, 2
+ja near loc_0044be0d ; ja 0x44be0d
+cmp cl, 1
+jne short loc_0044bdc4 ; jne 0x44bdc4
+
+loc_0044bdbc:
+mov dword [edx], 0xf
+jmp short loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bdc4:
+cmp cl, 2
+
+loc_0044bdc7:
+jne short loc_0044be0f ; jne 0x44be0f
+mov dword [edx], 0x10
+jmp short loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bdd1:
+mov ch, byte [eax + ref_00496b79] ; mov ch, byte [eax + 0x496b79]
+cmp ch, 2
+ja short loc_0044be0d ; ja 0x44be0d
+test ch, ch
+jne short loc_0044bde8 ; jne 0x44bde8
+
+loc_0044bde0:
+mov dword [edx], 0xe
+jmp short loc_0044be0f ; jmp 0x44be0f
+
+loc_0044bde8:
+cmp ch, 2
+jmp short loc_0044bdc7 ; jmp 0x44bdc7
+
+loc_0044bded:
+mov bl, byte [eax + ref_00496b79] ; mov bl, byte [eax + 0x496b79]
+cmp bl, 2
+ja short loc_0044be0d ; ja 0x44be0d
+test bl, bl
+je short loc_0044bde0 ; je 0x44bde0
+cmp bl, 1
+jne short loc_0044be0f ; jne 0x44be0f
+jmp short loc_0044bdbc ; jmp 0x44bdbc
+
+loc_0044be03:
+cmp word [ref_004991b6], 0 ; cmp word [0x4991b6], 0
+je short loc_0044be0f ; je 0x44be0f
+
+loc_0044be0d:
+xor edi, edi
+
+loc_0044be0f:
+mov eax, edi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044be16:
+push ebx
+push esi
+push edi
+sub esp, 0x400
+cmp dword [esp + 0x410], 0
+jne near loc_0044becf ; jne 0x44becf
+xor ebx, ebx
+mov eax, 1
+
+loc_0044be34:
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_0044be65 ; jg 0x44be65
+imul edx, eax, 0x34
+mov ecx, dword [ref_00498e84] ; mov ecx, dword [0x498e84]
+add edx, ecx
+xor ecx, ecx
+mov cl, byte [edx + 0x19]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+inc esi
+cmp ecx, esi
+jne short loc_0044be62 ; jne 0x44be62
+cmp byte [edx + 0x1a], 0
+je short loc_0044be62 ; je 0x44be62
+mov word [esp + ebx*2], ax
+inc ebx
+
+loc_0044be62:
+inc eax
+jmp short loc_0044be34 ; jmp 0x44be34
+
+loc_0044be65:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+mov ax, word [esp + edx*2]
+and eax, 0xffff
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 0
+push 0x14a
+push 0x18
+push ref_00465915 ; push 0x465915
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044bfa7 ; jmp 0x44bfa7
+
+loc_0044becf:
+imul ebx, dword [ref_0048c5b0], 0x34 ; imul ebx, dword [0x48c5b0], 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add ebx, eax
+push 2
+movsx eax, word [ebx + 2]
+push eax
+movsx eax, word [ebx]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+push 0xffff
+mov eax, dword [ref_0048c5b0] ; mov eax, dword [0x48c5b0]
+add eax, 0x7d0
+push eax
+push 0x2f440
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+push esi
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+push 1
+xor edx, edx
+mov dx, word [ebx + 0x1e]
+xor eax, eax
+mov al, byte [ebx + 0x1a]
+imul eax, edx
+push eax
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0041d3f4 ; call 0x41d3f4
+add esp, 0xc
+mov byte [ebx + 0x1a], 0
+mov byte [ebx + 0x18], 0
+
+loc_0044bf46:
+call fcn_00451985 ; call 0x451985
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x12c
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edx, dword [ebx + eax*4 + ref_00480856] ; mov edx, dword [ebx + eax*4 + 0x480856]
+push edx
+push 2
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044bfa7:
+add esp, 0x400
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044bfb1:
+push ebx
+push esi
+push edi
+sub esp, 0x400
+cmp dword [esp + 0x410], 0
+jne near loc_0044c067 ; jne 0x44c067
+xor ebx, ebx
+mov eax, 1
+
+loc_0044bfcf:
+cmp eax, dword [ref_00498e98] ; cmp eax, dword [0x498e98]
+jg short loc_0044c000 ; jg 0x44c000
+imul edx, eax, 0x34
+mov ecx, dword [ref_00498e84] ; mov ecx, dword [0x498e84]
+add edx, ecx
+xor ecx, ecx
+mov cl, byte [edx + 0x19]
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+inc esi
+cmp ecx, esi
+jne short loc_0044bffd ; jne 0x44bffd
+cmp byte [edx + 0x1a], 0
+jne short loc_0044bffd ; jne 0x44bffd
+mov word [esp + ebx*2], ax
+inc ebx
+
+loc_0044bffd:
+inc eax
+jmp short loc_0044bfcf ; jmp 0x44bfcf
+
+loc_0044c000:
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+sar edx, 0x1f
+idiv ebx
+xor eax, eax
+mov ax, word [esp + edx*2]
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 0
+push 0x14a
+push 0x18
+push ref_0046592b ; push 0x46592b
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044bfa7 ; jmp 0x44bfa7
+
+loc_0044c067:
+imul ebx, dword [ref_0048c5b0], 0x34 ; imul ebx, dword [0x48c5b0], 0x34
+mov eax, dword [ref_00498e84] ; mov eax, dword [0x498e84]
+add ebx, eax
+push 2
+movsx eax, word [ebx + 2]
+push eax
+movsx eax, word [ebx]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+push 0xffff
+mov eax, dword [ref_0048c5b0] ; mov eax, dword [0x48c5b0]
+add eax, 0x7d0
+push eax
+push 0x2f440
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+push esi
+call fcn_00456c0a ; call 0x456c0a
+add esp, 0x10
+push 1
+xor eax, eax
+mov ax, word [ebx + 0x1c]
+push eax
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0041d3f4 ; call 0x41d3f4
+add esp, 0xc
+mov byte [ebx + 0x19], 0
+mov dword [ebx + 0x30], 0
+push 0
+call fcn_0040a4e1 ; call 0x40a4e1
+add esp, 4
+jmp near loc_0044bf46 ; jmp 0x44bf46
+
+fcn_0044c0e8:
+push ebx
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x8c], 0
+jne near loc_0044c180 ; jne 0x44c180
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465941 ; push 0x465941
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044c220 ; jmp 0x44c220
+
+loc_0044c180:
+push 1
+push 0
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+cmp eax, 1
+jne short loc_0044c1b8 ; jne 0x44c1b8
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+jmp short loc_0044c220 ; jmp 0x44c220
+
+loc_0044c1b8:
+cmp eax, 2
+jne short loc_0044c1eb ; jne 0x44c1eb
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ecx, dword [ref_0048c5b4] ; mov ecx, dword [0x48c5b4]
+add ecx, ecx
+mov dword [ref_0048c5b4], ecx ; mov dword [0x48c5b4], ecx
+
+loc_0044c1eb:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+mov edx, dword [ref_0048c5b4] ; mov edx, dword [0x48c5b4]
+add dword [eax + ref_00496b8c], edx ; add dword [eax + 0x496b8c], edx
+push ebx
+call fcn_00433b7e ; call 0x433b7e
+add esp, 4
+push 0
+mov ebp, dword [ref_0048c5b4] ; mov ebp, dword [0x48c5b4]
+push ebp
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0044ba63 ; call 0x44ba63
+add esp, 0xc
+
+loc_0044c220:
+add esp, 0x80
+pop ebp
+pop ebx
+ret
+
+fcn_0044c229:
+mov edx, dword [esp + 4]
+test edx, edx
+jne short loc_0044c27c ; jne 0x44c27c
+push edx
+push 0x14a
+push 0x18
+push ref_00465959 ; push 0x465959
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+ret
+
+loc_0044c27c:
+push 1
+push 0
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+cmp eax, 1
+jne short loc_0044c2b3 ; jne 0x44c2b3
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+ret
+
+loc_0044c2b3:
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+add byte [eax + ref_00496ba3], 0x1e ; add byte [eax + 0x496ba3], 0x1e
+ret
+
+fcn_0044c2c2:
+push ebx
+push edi
+sub esp, 0x88
+cmp dword [esp + 0x94], 0
+jne short loc_0044c342 ; jne 0x44c342
+mov ecx, 0xa
+mov dword [ref_0048c5b0], ecx ; mov dword [0x48c5b0], ecx
+push ecx
+push ref_0046597a ; push 0x46597a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044c3ae ; jmp 0x44c3ae
+
+loc_0044c342:
+fild dword [ref_0048c5b0] ; fild dword [0x48c5b0]
+fdiv dword [ref_004659a0] ; fdiv dword [0x4659a0]
+fstp dword [esp + 0x84]
+xor ebx, ebx
+
+loc_0044c357:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge short loc_0044c3ae ; jge 0x44c3ae
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+cmp ebx, edi
+je short loc_0044c3ab ; je 0x44c3ab
+imul eax, ebx, 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je short loc_0044c3ab ; je 0x44c3ab
+cmp dword [eax + ref_00496b88], 0 ; cmp dword [eax + 0x496b88], 0
+je short loc_0044c3ab ; je 0x44c3ab
+fild dword [eax + ref_00496b88] ; fild dword [eax + 0x496b88]
+fmul dword [esp + 0x84]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x80]
+push 4
+mov eax, dword [esp + 0x84]
+push eax
+push edi
+push ebx
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+
+loc_0044c3ab:
+inc ebx
+jmp short loc_0044c357 ; jmp 0x44c357
+
+loc_0044c3ae:
+add esp, 0x88
+pop edi
+pop ebx
+ret
+
+fcn_0044c3b7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x94
+mov edx, dword [esp + 0xa8]
+test edx, edx
+jne short loc_0044c41b ; jne 0x44c41b
+push edx
+push 0x14a
+push 0x18
+push ref_004659a4 ; push 0x4659a4
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x3c
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044c5cd ; jmp 0x44c5cd
+
+loc_0044c41b:
+xor ebx, ebx
+xor edi, edi
+
+loc_0044c41f:
+cmp ebx, dword [ref_00499114] ; cmp ebx, dword [0x499114]
+jge near loc_0044c57b ; jge 0x44c57b
+cmp ebx, dword [ref_0049910c] ; cmp ebx, dword [0x49910c]
+je near loc_0044c575 ; je 0x44c575
+imul esi, ebx, 0x68
+cmp byte [esi + ref_00496b7d], 0 ; cmp byte [esi + 0x496b7d], 0
+je near loc_0044c575 ; je 0x44c575
+push ebx
+call fcn_00441262 ; call 0x441262
+add esp, 4
+test eax, eax
+je near loc_0044c575 ; je 0x44c575
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+lea ebp, [edi + 1]
+mov dl, byte [eax + ref_00496b7d] ; mov dl, byte [eax + 0x496b7d]
+cmp dl, 1
+jbe short loc_0044c48b ; jbe 0x44c48b
+push ebx
+call fcn_00441e77 ; call 0x441e77
+add esp, 4
+push eax
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+push ecx
+call fcn_004412e4 ; call 0x4412e4
+add esp, 8
+jmp near loc_0044c573 ; jmp 0x44c573
+
+loc_0044c48b:
+jne near loc_0044c575 ; jne 0x44c575
+push 0
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edi, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edi + 0x64] ; ucall
+mov edi, dword [esi + ref_00496b68] ; mov edi, dword [esi + 0x496b68]
+push edi
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+lea eax, [esp + 0x80]
+push eax
+push ref_004659c9 ; push 0x4659c9
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0xa
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov esi, dword [eax]
+push 0
+push eax
+call dword [esi + 0x80] ; ucall
+push 0
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+push ebx
+call fcn_0044192a ; call 0x44192a
+add esp, 0xc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov esi, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [esi + 0x64] ; ucall
+push 0x28
+push 0x1b8
+push 0
+push 0
+push 0
+push 0
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov esi, dword [eax]
+push 0
+push eax
+call dword [esi + 0x80] ; ucall
+
+loc_0044c573:
+mov edi, ebp
+
+loc_0044c575:
+inc ebx
+jmp near loc_0044c41f ; jmp 0x44c41f
+
+loc_0044c57b:
+test edi, edi
+je short loc_0044c5cd ; je 0x44c5cd
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+shl eax, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov ebp, dword [ebx + eax*4 + ref_0048084a] ; mov ebp, dword [ebx + eax*4 + 0x48084a]
+push ebp
+push 0
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044c5cd:
+add esp, 0x94
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044c5d8:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne short loc_0044c658 ; jne 0x44c658
+mov eax, 3
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_004659d8 ; push 0x4659d8
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044d3d1 ; jmp 0x44d3d1
+
+loc_0044c658:
+push 1
+push 1
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0048c5b0] ; mov ecx, dword [0x48c5b0]
+cmp ecx, 1
+jne short loc_0044c699 ; jne 0x44c699
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+jmp near loc_0044d3d1 ; jmp 0x44d3d1
+
+loc_0044c699:
+cmp ecx, 2
+jne short loc_0044c6be ; jne 0x44c6be
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov esi, dword [ref_0048c5b4] ; mov esi, dword [0x48c5b4]
+add esi, esi
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+
+loc_0044c6be:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00441210 ; call 0x441210
+add esp, 4
+cmp eax, 0xffffffff
+je near loc_0044d3d1 ; je 0x44d3d1
+push 0
+
+loc_0044c6d8:
+mov ebp, dword [ref_0048c5b4] ; mov ebp, dword [0x48c5b4]
+push ebp
+push eax
+call fcn_0040d375 ; call 0x40d375
+add esp, 0xc
+jmp near loc_0044d3d1 ; jmp 0x44d3d1
+
+fcn_0044c6ed:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne short loc_0044c76d ; jne 0x44c76d
+mov eax, 3
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_004659ee ; push 0x4659ee
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044d3d1 ; jmp 0x44d3d1
+
+loc_0044c76d:
+push 1
+push 1
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0048c5b0] ; mov ecx, dword [0x48c5b0]
+cmp ecx, 1
+jne short loc_0044c7ab ; jne 0x44c7ab
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+jmp near loc_0044d2e2 ; jmp 0x44d2e2
+
+loc_0044c7ab:
+cmp ecx, 2
+jne short loc_0044c7d0 ; jne 0x44c7d0
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov esi, dword [ref_0048c5b4] ; mov esi, dword [0x48c5b4]
+add esi, esi
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+
+loc_0044c7d0:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00441210 ; call 0x441210
+add esp, 4
+cmp eax, 0xffffffff
+je near loc_0044d3d1 ; je 0x44d3d1
+push 1
+jmp near loc_0044c6d8 ; jmp 0x44c6d8
+
+fcn_0044c7ef:
+push ebx
+push esi
+push edi
+sub esp, 0x88
+cmp dword [esp + 0x98], 0
+jne short loc_0044c870 ; jne 0x44c870
+mov ecx, 0xa
+mov dword [ref_0048c5b4], ecx ; mov dword [0x48c5b4], ecx
+push ecx
+push ref_00465a04 ; push 0x465a04
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044c915 ; jmp 0x44c915
+
+loc_0044c870:
+push 1
+push 0
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+cmp eax, 1
+jne short loc_0044c8a8 ; jne 0x44c8a8
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+jmp short loc_0044c915 ; jmp 0x44c915
+
+loc_0044c8a8:
+xor ebx, ebx
+
+loc_0044c8aa:
+fild dword [ref_0048c5b4] ; fild dword [0x48c5b4]
+fdiv dword [ref_00465a24] ; fdiv dword [0x465a24]
+fstp dword [esp + 0x84]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 5
+mov eax, ebx
+fild dword [edx + eax*8 + ref_004971a0] ; fild dword [edx + eax*8 + 0x4971a0]
+fmul dword [esp + 0x84]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x80]
+push 0
+mov esi, dword [esp + 0x84]
+push esi
+push ebx
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00428e23 ; call 0x428e23
+add esp, 0x10
+inc ebx
+cmp ebx, 0xc
+jl short loc_0044c8aa ; jl 0x44c8aa
+push 0
+call fcn_00436b0a ; call 0x436b0a
+add esp, 4
+
+loc_0044c915:
+add esp, 0x88
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044c91f:
+push ebx
+push esi
+push ebp
+mov edx, dword [esp + 0x10]
+test edx, edx
+jne short loc_0044c978 ; jne 0x44c978
+push edx
+push 0x14a
+push 0x18
+push ref_00465a28 ; push 0x465a28
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+pop ebp
+pop esi
+pop ebx
+ret
+
+loc_0044c978:
+push 1
+push 0
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+cmp dword [ref_0048c5b0], 1 ; cmp dword [0x48c5b0], 1
+jne short loc_0044c9b6 ; jne 0x44c9b6
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+pop ebp
+pop esi
+pop ebx
+ret
+
+loc_0044c9b6:
+xor ebx, ebx
+jmp short loc_0044c9c0 ; jmp 0x44c9c0
+
+loc_0044c9ba:
+inc ebx
+cmp ebx, 0xc
+jge short loc_0044c9f6 ; jge 0x44c9f6
+
+loc_0044c9c0:
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 5
+mov edx, ebx
+shl edx, 3
+add eax, edx
+mov esi, dword [eax + ref_004971a0] ; mov esi, dword [eax + 0x4971a0]
+test esi, esi
+je short loc_0044c9ba ; je 0x44c9ba
+push 1
+push esi
+push ebx
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_00428e23 ; call 0x428e23
+add esp, 0x10
+jmp short loc_0044c9ba ; jmp 0x44c9ba
+
+loc_0044c9f6:
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_0048085e] ; mov ecx, dword [edx + eax*8 + 0x48085e]
+push ecx
+push 2
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+push 0
+call fcn_00436b0a ; call 0x436b0a
+add esp, 4
+pop ebp
+pop esi
+pop ebx
+ret
+
+fcn_0044ca46:
+push ebx
+push edi
+push ebp
+mov edx, dword [esp + 0x10]
+test edx, edx
+jne short loc_0044ca9f ; jne 0x44ca9f
+push edx
+push 0x14a
+push 0x18
+push ref_00465a3e ; push 0x465a3e
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+pop ebp
+pop edi
+pop ebx
+ret
+
+loc_0044ca9f:
+push 1
+push 1
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+cmp eax, 1
+jne short loc_0044cad9 ; jne 0x44cad9
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+pop ebp
+pop edi
+pop ebx
+ret
+
+loc_0044cad9:
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+xor dl, dl
+mov byte [eax + ref_00496b79], dl ; mov byte [eax + 0x496b79], dl
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+push ecx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edi, dword [ebx + eax*4 + ref_00480856] ; mov edi, dword [ebx + eax*4 + 0x480856]
+push edi
+push 2
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+inc byte [ref_00497324] ; inc byte [0x497324]
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_0044cb53:
+push ebx
+push edi
+push ebp
+mov edx, dword [esp + 0x10]
+test edx, edx
+jne short loc_0044cbac ; jne 0x44cbac
+push edx
+push 0x14a
+push 0x18
+push ref_00465a50 ; push 0x465a50
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+pop ebp
+pop edi
+pop ebx
+ret
+
+loc_0044cbac:
+push 1
+push 1
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+cmp dword [ref_0048c5b0], 1 ; cmp dword [0x48c5b0], 1
+jne short loc_0044cbea ; jne 0x44cbea
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+pop ebp
+pop edi
+pop ebx
+ret
+
+loc_0044cbea:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+xor dl, dl
+mov byte [eax + ref_00496b79], dl ; mov byte [eax + 0x496b79], dl
+mov byte [eax + ref_00496b7a], 1 ; mov byte [eax + 0x496b7a], 1
+push ebx
+call fcn_0040b93b ; call 0x40b93b
+add esp, 4
+push 1
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+imul eax, edi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ebp, dword [edx + eax*8 + ref_00480856] ; mov ebp, dword [edx + eax*8 + 0x480856]
+push ebp
+push 2
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+inc byte [ref_00497325] ; inc byte [0x497325]
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_0044cc53:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne short loc_0044ccd4 ; jne 0x44ccd4
+mov eax, 3
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465a66 ; push 0x465a66
+
+loc_0044cc77:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul ebx, dword [ref_0049910c], 0x34 ; imul ebx, dword [0x49910c], 0x34
+mov eax, dword [ebx + ref_00498eb0] ; mov eax, dword [ebx + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044d800 ; jmp 0x44d800
+
+loc_0044ccd4:
+push 1
+push 1
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0048c5b0] ; mov ecx, dword [0x48c5b0]
+cmp ecx, 1
+jne short loc_0044cd15 ; jne 0x44cd15
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+
+loc_0044cd0d:
+add esp, 8
+jmp near loc_0044d800 ; jmp 0x44d800
+
+loc_0044cd15:
+cmp ecx, 2
+jne short loc_0044cd3a ; jne 0x44cd3a
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov esi, dword [ref_0048c5b4] ; mov esi, dword [0x48c5b4]
+add esi, esi
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+
+loc_0044cd3a:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00441210 ; call 0x441210
+mov ebx, eax
+add esp, 4
+cmp eax, 0xffffffff
+je near loc_0044d800 ; je 0x44d800
+push eax
+call fcn_0040cd07 ; call 0x40cd07
+add esp, 4
+mov ebp, dword [ref_0048c5b4] ; mov ebp, dword [0x48c5b4]
+push ebp
+push ebx
+call fcn_0043ec3f ; call 0x43ec3f
+jmp short loc_0044cd0d ; jmp 0x44cd0d
+
+fcn_0044cd6c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044ccd4 ; jne 0x44ccd4
+mov eax, 3
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465a7c ; push 0x465a7c
+jmp near loc_0044cc77 ; jmp 0x44cc77
+
+fcn_0044cd99:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044ce35 ; jne 0x44ce35
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465a94 ; push 0x465a94
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044d800 ; jmp 0x44d800
+
+loc_0044ce35:
+push 1
+push 0
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0048c5b0] ; mov ecx, dword [0x48c5b0]
+cmp ecx, 1
+jne short loc_0044ce8b ; jne 0x44ce8b
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ebp, dword [ref_0048c5b4] ; mov ebp, dword [0x48c5b4]
+push ebp
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0044f567 ; call 0x44f567
+add esp, 8
+jmp near loc_0044d800 ; jmp 0x44d800
+
+loc_0044ce8b:
+cmp ecx, 2
+jne short loc_0044ceb0 ; jne 0x44ceb0
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov esi, dword [ref_0048c5b4] ; mov esi, dword [0x48c5b4]
+add esi, esi
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+
+loc_0044ceb0:
+push 0
+mov edi, dword [ref_0048c5b4] ; mov edi, dword [0x48c5b4]
+push edi
+push 0xffffffffffffffff
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+
+loc_0044cec2:
+call fcn_0041d2c6 ; call 0x41d2c6
+add esp, 0x10
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b7d], 0 ; cmp byte [eax + 0x496b7d], 0
+je near loc_0044d800 ; je 0x44d800
+cmp byte [ref_0046caf8], 0 ; cmp byte [0x46caf8], 0
+jne near loc_0044d800 ; jne 0x44d800
+mov ecx, dword [ref_0048c5b4] ; mov ecx, dword [0x48c5b4]
+push ecx
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0044f42d ; call 0x44f42d
+add esp, 8
+push 1
+mov esi, dword [ref_0048c5b4] ; mov esi, dword [0x48c5b4]
+push esi
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_0044ba63 ; call 0x44ba63
+add esp, 0xc
+jmp near loc_0044d800 ; jmp 0x44d800
+
+fcn_0044cf1e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b79], 0 ; cmp byte [eax + 0x496b79], 0
+jne short loc_0044cf4d ; jne 0x44cf4d
+mov ebx, dword [esp + 0x94]
+push ebx
+call fcn_0044cc53 ; call 0x44cc53
+add esp, 4
+jmp near loc_0044d800 ; jmp 0x44d800
+
+loc_0044cf4d:
+cmp dword [esp + 0x94], 0
+jne near loc_0044cfdf ; jne 0x44cfdf
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465aae ; push 0x465aae
+
+loc_0044cf82:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044d800 ; jmp 0x44d800
+
+loc_0044cfdf:
+push 1
+push 0
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ebx, dword [ref_0048c5b0] ; mov ebx, dword [0x48c5b0]
+cmp ebx, 1
+jne short loc_0044d032 ; jne 0x44d032
+
+loc_0044d009:
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov ebp, dword [ref_0048c5b4] ; mov ebp, dword [0x48c5b4]
+push ebp
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+call fcn_0044f567 ; call 0x44f567
+jmp near loc_0044d8c7 ; jmp 0x44d8c7
+
+loc_0044d032:
+cmp ebx, 2
+jne short loc_0044d057 ; jne 0x44d057
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov edi, dword [ref_0048c5b4] ; mov edi, dword [0x48c5b4]
+add edi, edi
+mov dword [ref_0048c5b4], edi ; mov dword [0x48c5b4], edi
+
+loc_0044d057:
+push 0
+mov ebp, dword [ref_0048c5b4] ; mov ebp, dword [0x48c5b4]
+push ebp
+push 0xffffffffffffffff
+mov eax, dword [ref_0049910c] ; mov eax, dword [0x49910c]
+push eax
+jmp near loc_0044cec2 ; jmp 0x44cec2
+
+fcn_0044d06d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+cmp byte [eax + ref_00496b79], 0 ; cmp byte [eax + 0x496b79], 0
+jne short loc_0044d09c ; jne 0x44d09c
+mov ebx, dword [esp + 0x94]
+push ebx
+call fcn_0044cc53 ; call 0x44cc53
+add esp, 4
+jmp near loc_0044d800 ; jmp 0x44d800
+
+loc_0044d09c:
+cmp dword [esp + 0x94], 0
+jne near loc_0044cfdf ; jne 0x44cfdf
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465acd ; push 0x465acd
+jmp near loc_0044cf82 ; jmp 0x44cf82
+
+fcn_0044d0d6:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d172 ; jne 0x44d172
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465ae3 ; push 0x465ae3
+
+loc_0044d115:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+jmp near loc_0044d800 ; jmp 0x44d800
+
+loc_0044d172:
+push 1
+push 0
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0048c5b0] ; mov ecx, dword [0x48c5b0]
+cmp ecx, 1
+jne near loc_0044ce8b ; jne 0x44ce8b
+jmp near loc_0044d009 ; jmp 0x44d009
+
+fcn_0044d1a5:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne short loc_0044d172 ; jne 0x44d172
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465b00 ; push 0x465b00
+jmp near loc_0044d115 ; jmp 0x44d115
+
+fcn_0044d1e0:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d172 ; jne 0x44d172
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465b16 ; push 0x465b16
+jmp near loc_0044cf82 ; jmp 0x44cf82
+
+fcn_0044d224:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne short loc_0044d2a9 ; jne 0x44d2a9
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465b35 ; push 0x465b35
+
+loc_0044d25e:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x18
+jmp near loc_0044d3bf ; jmp 0x44d3bf
+
+loc_0044d2a9:
+push 0
+push 0
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0048c5b0] ; mov ecx, dword [0x48c5b0]
+cmp ecx, 1
+jne short loc_0044d2ea ; jne 0x44d2ea
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+
+loc_0044d2e2:
+add esp, 8
+jmp near loc_0044d3d1 ; jmp 0x44d3d1
+
+loc_0044d2ea:
+cmp ecx, 2
+jne short loc_0044d30f ; jne 0x44d30f
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov esi, dword [ref_0048c5b4] ; mov esi, dword [0x48c5b4]
+add esi, esi
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+
+loc_0044d30f:
+push 1
+mov edi, dword [ref_0048c5b4] ; mov edi, dword [0x48c5b4]
+push edi
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+push ebp
+call fcn_0041d3f4 ; call 0x41d3f4
+add esp, 0xc
+mov eax, dword [ref_0048c5b4] ; mov eax, dword [0x48c5b4]
+push eax
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_0044f354 ; call 0x44f354
+jmp short loc_0044d2e2 ; jmp 0x44d2e2
+
+fcn_0044d33b:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne near loc_0044d2a9 ; jne 0x44d2a9
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465b49 ; push 0x465b49
+
+loc_0044d379:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x3c
+
+loc_0044d3bf:
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+
+loc_0044d3d1:
+add esp, 0x80
+pop ebp
+pop edi
+pop esi
+ret
+
+fcn_0044d3db:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne near loc_0044d2a9 ; jne 0x44d2a9
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465b5d ; push 0x465b5d
+jmp near loc_0044d379 ; jmp 0x44d379
+
+fcn_0044d41e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d172 ; jne 0x44d172
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465b71 ; push 0x465b71
+jmp near loc_0044cf82 ; jmp 0x44cf82
+
+fcn_0044d462:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d172 ; jne 0x44d172
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465b87 ; push 0x465b87
+jmp near loc_0044d115 ; jmp 0x44d115
+
+fcn_0044d4a6:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne near loc_0044d2a9 ; jne 0x44d2a9
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 4
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465b9d ; push 0x465b9d
+jmp near loc_0044d379 ; jmp 0x44d379
+
+fcn_0044d4e7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d172 ; jne 0x44d172
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 6
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465bb3 ; push 0x465bb3
+jmp near loc_0044d115 ; jmp 0x44d115
+
+fcn_0044d52b:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne near loc_0044d2a9 ; jne 0x44d2a9
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 5
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465bc7 ; push 0x465bc7
+jmp near loc_0044d25e ; jmp 0x44d25e
+
+fcn_0044d56e:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne near loc_0044d2a9 ; jne 0x44d2a9
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 4
+mov edx, eax
+shl eax, 4
+sub eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465bd9 ; push 0x465bd9
+jmp near loc_0044d379 ; jmp 0x44d379
+
+fcn_0044d5b1:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne near loc_0044d2a9 ; jne 0x44d2a9
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 6
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465beb ; push 0x465beb
+jmp near loc_0044d379 ; jmp 0x44d379
+
+fcn_0044d5f4:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d172 ; jne 0x44d172
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 3
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465bfd ; push 0x465bfd
+jmp near loc_0044cf82 ; jmp 0x44cf82
+
+fcn_0044d636:
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x90], 0
+jne near loc_0044d2a9 ; jne 0x44d2a9
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 3
+mov dword [ref_0048c5b4], eax ; mov dword [0x48c5b4], eax
+push eax
+push ref_00465c0f ; push 0x465c0f
+jmp near loc_0044d379 ; jmp 0x44d379
+
+fcn_0044d677:
+push ebx
+push esi
+push ebp
+mov edx, dword [esp + 0x10]
+test edx, edx
+jne short loc_0044d6d0 ; jne 0x44d6d0
+push edx
+push 0x14a
+push 0x18
+push ref_00465c23 ; push 0x465c23
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x24
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+pop ebp
+pop esi
+pop ebx
+ret
+
+loc_0044d6d0:
+push 1
+push 1
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+cmp dword [ref_0048c5b0], 1 ; cmp dword [0x48c5b0], 1
+jne short loc_0044d70e ; jne 0x44d70e
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+pop ebp
+pop esi
+pop ebx
+ret
+
+loc_0044d70e:
+mov esi, dword [ref_0049910c] ; mov esi, dword [0x49910c]
+imul ebx, esi, 0x68
+push esi
+call fcn_00445b3f ; call 0x445b3f
+add esp, 4
+add word [ebx + ref_00496b98], ax ; add word [ebx + 0x496b98], ax
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+imul ebx, ebp, 0x68
+push ebp
+call fcn_00441f21 ; call 0x441f21
+add esp, 4
+add word [ebx + ref_00496b98], ax ; add word [ebx + 0x496b98], ax
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+push edx
+call fcn_0041d433 ; call 0x41d433
+add esp, 4
+mov ecx, dword [ref_0049910c] ; mov ecx, dword [0x49910c]
+imul eax, ecx, 0x68
+xor ebx, ebx
+mov bl, byte [eax + ref_00496b7b] ; mov bl, byte [eax + 0x496b7b]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+mov ebx, eax
+mov esi, dword [ebx + eax*8 + ref_00480856] ; mov esi, dword [ebx + eax*8 + 0x480856]
+push esi
+push 2
+push ecx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+pop ebp
+pop esi
+pop ebx
+ret
+
+fcn_0044d783:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne short loc_0044d80b ; jne 0x44d80b
+mov esi, 3
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465c39 ; push 0x465c39
+
+loc_0044d7a8:
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0x14a
+push 0x18
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 0x158
+push 0x186
+imul eax, dword [ref_0049910c], 0x34 ; imul eax, dword [0x49910c], 0x34
+mov eax, dword [eax + ref_00498eb0] ; mov eax, dword [eax + 0x498eb0]
+add eax, 0x30
+push eax
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_004562a5 ; call 0x4562a5
+add esp, 0x10
+
+loc_0044d800:
+add esp, 0x80
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0044d80b:
+push 1
+push 1
+call fcn_0044b896 ; call 0x44b896
+add esp, 8
+mov dword [ref_0048c5b0], eax ; mov dword [0x48c5b0], eax
+push 3
+push 0
+push 0
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov ecx, dword [ref_0048c5b0] ; mov ecx, dword [0x48c5b0]
+cmp ecx, 1
+jne short loc_0044d87d ; jne 0x44d87d
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+imul eax, dword [ref_0049910c], 0x68 ; imul eax, dword [0x49910c], 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_0048084a] ; mov ecx, dword [edx + eax*8 + 0x48084a]
+push ecx
+push 0
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+push ebx
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+jmp short loc_0044d800 ; jmp 0x44d800
+
+loc_0044d87d:
+cmp ecx, 2
+jne short loc_0044d8a2 ; jne 0x44d8a2
+push 0x5dc
+push ref_0048c5b8 ; push 0x48c5b8
+call fcn_00440cac ; call 0x440cac
+add esp, 8
+mov esi, dword [ref_0048c5b4] ; mov esi, dword [0x48c5b4]
+add esi, esi
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+
+loc_0044d8a2:
+mov edi, dword [ref_0049910c] ; mov edi, dword [0x49910c]
+push edi
+call fcn_00441210 ; call 0x441210
+add esp, 4
+cmp eax, 0xffffffff
+je near loc_0044d800 ; je 0x44d800
+mov ebp, dword [ref_0048c5b4] ; mov ebp, dword [0x48c5b4]
+push ebp
+push eax
+call fcn_0043d593 ; call 0x43d593
+
+loc_0044d8c7:
+add esp, 8
+jmp near loc_0044d800 ; jmp 0x44d800
+
+fcn_0044d8cf:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 5
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465c53 ; push 0x465c53
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044d8fd:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 7
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465c69 ; push 0x465c69
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044d92b:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 9
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465c7f ; push 0x465c7f
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044d959:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 3
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465c97 ; push 0x465c97
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044d987:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 5
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465cb1 ; push 0x465cb1
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044d9b5:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 7
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465ccb ; push 0x465ccb
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044d9e3:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 9
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465ce5 ; push 0x465ce5
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044da11:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 3
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465cfb ; push 0x465cfb
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044da3f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 5
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465d17 ; push 0x465d17
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044da6d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 7
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465d2d ; push 0x465d2d
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044da9b:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 9
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465d43 ; push 0x465d43
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044dac9:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 3
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465d59 ; push 0x465d59
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044daf7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 5
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465d73 ; push 0x465d73
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044db25:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 7
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465d89 ; push 0x465d89
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044db53:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x80
+cmp dword [esp + 0x94], 0
+jne near loc_0044d80b ; jne 0x44d80b
+mov esi, 9
+mov dword [ref_0048c5b4], esi ; mov dword [0x48c5b4], esi
+push esi
+push ref_00465da3 ; push 0x465da3
+jmp near loc_0044d7a8 ; jmp 0x44d7a8
+
+fcn_0044db81:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+push 0
+push 0
+push 0x42
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c5e0], eax ; mov dword [0x48c5e0], eax
+push 0
+push 0
+push 0xfb
+push 0x184
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov ebx, eax
+
+loc_0044dbba:
+mov esi, dword [ref_004990b4] ; mov esi, dword [0x4990b4]
+xor eax, eax
+mov al, byte [esi + ref_00496b38] ; mov al, byte [esi + 0x496b38]
+mov dword [esp + 0x10], eax
+lea eax, [esp + 0x10]
+push eax
+call fcn_0044bb4b ; call 0x44bb4b
+mov esi, eax
+add esp, 4
+mov edi, eax
+push 0
+push 3
+push 0x101010
+push 0xf0f0f0
+push 0x1c
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+cmp esi, 1
+jne near loc_0044dcaa ; jne 0x44dcaa
+mov ebp, dword [esp + 0x10]
+lea eax, [ebp + ebp]
+cmp ebp, 0x21
+jge short loc_0044dc4d ; jge 0x44dc4d
+push 0
+mov edx, dword [ebx + 8]
+push edx
+movsx eax, word [eax + ref_00475fb4] ; movsx eax, word [eax + 0x475fb4]
+push eax
+mov ecx, dword [ref_0048a0e4] ; mov ecx, dword [0x48a0e4]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+push 0x2c
+push 0x19
+push ebx
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+mov eax, dword [esp + 0x10]
+push 0
+call dword [eax*4 + ref_00475ef0] ; ucall: call dword [eax*4 + 0x475ef0]
+jmp short loc_0044dc9e ; jmp 0x44dc9e
+
+loc_0044dc4d:
+push 0
+mov esi, dword [ebx + 8]
+push esi
+movsx esi, word [ref_004991b8] ; movsx esi, word [0x4991b8]
+movsx eax, word [eax + esi*8 + ref_00475fb4] ; movsx eax, word [eax + esi*8 + 0x475fb4]
+push eax
+mov eax, dword [ref_0048a0e4] ; mov eax, dword [0x48a0e4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+push 0x2c
+push 0x19
+push ebx
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+call fcn_00456280 ; call 0x456280
+add esp, 0x10
+movsx esi, word [ref_004991b8] ; movsx esi, word [0x4991b8]
+shl esi, 4
+mov eax, dword [esp + 0x10]
+push 0
+call dword [esi + eax*4 + ref_00475ef0] ; ucall: call dword [esi + eax*4 + 0x475ef0]
+
+loc_0044dc9e:
+add esp, 4
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0044dcaa:
+mov esi, dword [ref_004990b4] ; mov esi, dword [0x4990b4]
+inc esi
+mov dword [ref_004990b4], esi ; mov dword [0x4990b4], esi
+cmp esi, 0x25
+jne short loc_0044dcc4 ; jne 0x44dcc4
+xor edx, edx
+mov dword [ref_004990b4], edx ; mov dword [0x4990b4], edx
+
+loc_0044dcc4:
+test edi, edi
+je near loc_0044dbba ; je 0x44dbba
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+push 0
+push 0
+mov eax, dword [ref_0048c5e0] ; mov eax, dword [0x48c5e0]
+add eax, 0x18
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+xor ebx, ebx
+mov dword [esp], ebx
+mov dword [esp + 4], ebx
+mov dword [esp + 8], 0x1b8
+mov dword [esp + 0xc], 0x1e0
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0x10
+lea esi, [esp + 4]
+push esi
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+push 0
+push 0
+push eax
+call dword [ebx + 0x1c] ; ucall
+push 0x640
+call fcn_004544f6 ; call 0x4544f6
+add esp, 4
+mov eax, ebp
+shl eax, 2
+cmp ebp, 0x21
+jge short loc_0044dd65 ; jge 0x44dd65
+push 1
+call dword [eax + ref_00475ef0] ; ucall: call dword [eax + 0x475ef0]
+jmp short loc_0044dd78 ; jmp 0x44dd78
+
+loc_0044dd65:
+movsx ebx, word [ref_004991b8] ; movsx ebx, word [0x4991b8]
+shl ebx, 4
+push 1
+call dword [ebx + eax + ref_00475ef0] ; ucall: call dword [ebx + eax + 0x475ef0]
+
+loc_0044dd78:
+add esp, 4
+push 0x320
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+mov ecx, dword [ref_0048c5e0] ; mov ecx, dword [0x48c5e0]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044dd9f:
+push ebx
+push esi
+push edi
+sub esp, 0xc
+xor esi, esi
+mov ebx, dword [ref_004762b8] ; mov ebx, dword [0x4762b8]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push esi
+push 1
+push ref_0048a068 ; push 0x48a068
+push esi
+push eax
+call dword [edx + 0x64] ; ucall
+mov word [esp], 0x280
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [esp + 8], eax
+mov edx, dword [esp + 0x1c]
+test edx, edx
+jne near loc_0044de4b ; jne 0x44de4b
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+add eax, dword [ref_00476298] ; add eax, dword [0x476298]
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, dword [ref_00476294] ; add eax, dword [0x476294]
+push eax
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x6c
+push eax
+mov edi, dword [esp + 0x14]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+test ebx, ebx
+je near loc_0044dec6 ; je 0x44dec6
+
+loc_0044de12:
+test ebx, ebx
+je near loc_0044ded1 ; je 0x44ded1
+jle short loc_0044de1d ; jle 0x44de1d
+dec ebx
+
+loc_0044de1d:
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+
+loc_0044de22:
+cmp byte [ebx + eax - 1], 0
+je short loc_0044de30 ; je 0x44de30
+test ebx, ebx
+jle short loc_0044de30 ; jle 0x44de30
+dec ebx
+jmp short loc_0044de22 ; jmp 0x44de22
+
+loc_0044de30:
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+cmp byte [ebx + eax], 0x40
+je near loc_0044ded1 ; je 0x44ded1
+cmp esi, 0xd
+je near loc_0044ded1 ; je 0x44ded1
+inc esi
+jmp short loc_0044de12 ; jmp 0x44de12
+
+loc_0044de4b:
+cmp edx, 1
+jne near loc_0044dec6 ; jne 0x44dec6
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+add eax, dword [ref_004762a8] ; add eax, dword [0x4762a8]
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, dword [ref_004762a4] ; add eax, dword [0x4762a4]
+push eax
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x78
+push eax
+mov eax, dword [esp + 0x14]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+cmp byte [ebx + eax], 0x40
+jne short loc_0044de90 ; jne 0x44de90
+add ebx, 2
+
+loc_0044de90:
+cmp ebx, dword [ref_0048c5f0] ; cmp ebx, dword [0x48c5f0]
+jge short loc_0044debe ; jge 0x44debe
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+add eax, ebx
+push eax
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+inc eax
+add ebx, eax
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+cmp byte [ebx + eax], 0x40
+je short loc_0044debe ; je 0x44debe
+cmp esi, 0xd
+je short loc_0044debe ; je 0x44debe
+inc esi
+jmp short loc_0044de90 ; jmp 0x44de90
+
+loc_0044debe:
+cmp ebx, dword [ref_0048c5f0] ; cmp ebx, dword [0x48c5f0]
+jne short loc_0044ded1 ; jne 0x44ded1
+
+loc_0044dec6:
+cmp dword [esp + 0x1c], 2
+jne near loc_0044df9d ; jne 0x44df9d
+
+loc_0044ded1:
+mov dword [ref_004762b8], ebx ; mov dword [0x4762b8], ebx
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+cmp byte [ebx + eax], 0x40
+jne short loc_0044dee5 ; jne 0x44dee5
+add ebx, 2
+
+loc_0044dee5:
+push 1
+push 0
+push 0x101010
+push 0x101010
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 0x112
+push 0x96
+push 0x50
+push 0xd8
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+add eax, 0x50
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, 0xd8
+push eax
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0xc
+push eax
+lea eax, [esp + 0x1c]
+push eax
+call fcn_004562cc ; call 0x4562cc
+add esp, 0x20
+xor esi, esi
+
+loc_0044df3a:
+cmp ebx, dword [ref_0048c5f0] ; cmp ebx, dword [0x48c5f0]
+jge short loc_0044df9d ; jge 0x44df9d
+push 0
+mov eax, esi
+shl eax, 3
+add eax, esi
+add eax, eax
+add eax, dword [ref_0048c5e8] ; add eax, dword [0x48c5e8]
+add eax, 0x5a
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, 0xe8
+push eax
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+add eax, ebx
+push eax
+lea eax, [esp + 0x10]
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+add eax, ebx
+push eax
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+inc eax
+add ebx, eax
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+cmp byte [ebx + eax], 0x40
+je short loc_0044df9d ; je 0x44df9d
+cmp esi, 0xd
+je short loc_0044df9d ; je 0x44df9d
+inc esi
+jmp short loc_0044df3a ; jmp 0x44df3a
+
+loc_0044df9d:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+
+loc_0044dfad:
+add esp, 0xc
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044dfb4:
+push ebx
+push esi
+push edi
+sub esp, 0xc
+mov eax, dword [ref_00476018] ; mov eax, dword [0x476018]
+cmp eax, dword [ref_00476020] ; cmp eax, dword [0x476020]
+jne short loc_0044dfd4 ; jne 0x44dfd4
+mov eax, dword [ref_0047601c] ; mov eax, dword [0x47601c]
+cmp eax, dword [ref_00476024] ; cmp eax, dword [0x476024]
+je short loc_0044dfad ; je 0x44dfad
+
+loc_0044dfd4:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov word [esp], 0x280
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [esp + 8], eax
+push 1
+push 0
+push 0x101010
+push 0x101010
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov ebx, dword [ref_0048c5e8] ; mov ebx, dword [0x48c5e8]
+push ebx
+mov esi, dword [ref_0048c5e4] ; mov esi, dword [0x48c5e4]
+push esi
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0xc
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+add eax, dword [ref_0048c5e8] ; add eax, dword [0x48c5e8]
+add eax, 0x3a
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, 0x1a
+push eax
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x18
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 2
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 2
+add eax, dword [ref_0048c5e8] ; add eax, dword [0x48c5e8]
+add eax, 0x49
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, 0x3b
+push eax
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ecx, dword [eax*4 + ref_004761b4] ; mov ecx, dword [eax*4 + 0x4761b4]
+push ecx
+lea eax, [esp + 0x10]
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+push 2
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+add eax, 0x39
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, 0x8c
+push eax
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov ebx, dword [eax*4 + ref_004761b4] ; mov ebx, dword [eax*4 + 0x4761b4]
+push ebx
+lea eax, [esp + 0x10]
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+cmp dword [eax*4 + ref_004761c0], 8 ; cmp dword [eax*4 + 0x4761c0], 8
+jle short loc_0044e166 ; jle 0x44e166
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+add eax, dword [ref_00476278] ; add eax, dword [0x476278]
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, dword [ref_00476274] ; add eax, dword [0x476274]
+push eax
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x3c
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+add eax, dword [ref_00476288] ; add eax, dword [0x476288]
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, dword [ref_00476284] ; add eax, dword [0x476284]
+push eax
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x48
+push eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_0044e166:
+mov esi, dword [ref_004762b4] ; mov esi, dword [0x4762b4]
+test esi, esi
+je short loc_0044e179 ; je 0x44e179
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0044e179:
+push ref_0048c5f0 ; push 0x48c5f0
+push 0
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov eax, dword [eax*4 + ref_004761bc] ; mov eax, dword [eax*4 + 0x4761bc]
+add eax, dword [ref_0047601c] ; add eax, dword [0x47601c]
+push eax
+mov eax, dword [ref_0048c5f4] ; mov eax, dword [0x48c5f4]
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_004762b4], eax ; mov dword [0x4762b4], eax
+xor esi, esi
+xor ebx, ebx
+mov dword [ref_0048c5ec], esi ; mov dword [0x48c5ec], esi
+mov dword [ref_004762b8], esi ; mov dword [0x4762b8], esi
+
+loc_0044e1be:
+cmp esi, dword [ref_0048c5f0] ; cmp esi, dword [0x48c5f0]
+jge short loc_0044e22d ; jge 0x44e22d
+push 0
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+add eax, eax
+add eax, dword [ref_0048c5e8] ; add eax, dword [0x48c5e8]
+add eax, 0x5a
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, 0xe8
+push eax
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+add eax, esi
+push eax
+lea eax, [esp + 0x10]
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+add eax, esi
+push eax
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+inc eax
+add esi, eax
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+cmp byte [esi + eax], 0x40
+je short loc_0044e21e ; je 0x44e21e
+cmp ebx, 0xd
+jne short loc_0044e22a ; jne 0x44e22a
+
+loc_0044e21e:
+mov dword [ref_0048c5ec], 1 ; mov dword [0x48c5ec], 1
+jmp short loc_0044e236 ; jmp 0x44e236
+
+loc_0044e22a:
+inc ebx
+jmp short loc_0044e1be ; jmp 0x44e1be
+
+loc_0044e22d:
+cmp dword [ref_0048c5ec], 0 ; cmp dword [0x48c5ec], 0
+je short loc_0044e296 ; je 0x44e296
+
+loc_0044e236:
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+add eax, dword [ref_00476298] ; add eax, dword [0x476298]
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, dword [ref_00476294] ; add eax, dword [0x476294]
+push eax
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x6c
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+add eax, dword [ref_004762a8] ; add eax, dword [0x4762a8]
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, dword [ref_004762a4] ; add eax, dword [0x4762a4]
+push eax
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x78
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+
+loc_0044e296:
+push 0
+push 2
+push 0x101010
+push 0x101010
+push 0xf
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor ebx, ebx
+jmp short loc_0044e301 ; jmp 0x44e301
+
+loc_0044e2b2:
+push 2
+mov eax, ebx
+shl eax, 4
+add eax, ebx
+add eax, eax
+add eax, dword [ref_0048c5e8] ; add eax, dword [0x48c5e8]
+add eax, 0x5e
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, 0x96
+push eax
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov eax, dword [eax*4 + ref_004761b8] ; mov eax, dword [eax*4 + 0x4761b8]
+mov edx, dword [eax + esi*4]
+push edx
+lea eax, [esp + 0x10]
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+cmp ebx, 8
+jge near loc_0044e376 ; jge 0x44e376
+
+loc_0044e301:
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov esi, dword [eax*4 + ref_004761c4] ; mov esi, dword [eax*4 + 0x4761c4]
+add esi, ebx
+cmp esi, dword [eax*4 + ref_004761c0] ; cmp esi, dword [eax*4 + 0x4761c0]
+jge short loc_0044e376 ; jge 0x44e376
+mov ecx, dword [ref_0048c5e4] ; mov ecx, dword [0x48c5e4]
+add ecx, 0x6c
+mov eax, ebx
+shl eax, 4
+add eax, ebx
+add eax, eax
+add eax, dword [ref_0048c5e8] ; add eax, dword [0x48c5e8]
+add eax, 0x4e
+cmp esi, dword [ref_0047601c] ; cmp esi, dword [0x47601c]
+jne short loc_0044e362 ; jne 0x44e362
+push eax
+push ecx
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x30
+push eax
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+
+loc_0044e355:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+jmp near loc_0044e2b2 ; jmp 0x44e2b2
+
+loc_0044e362:
+push eax
+push ecx
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x24
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+jmp short loc_0044e355 ; jmp 0x44e355
+
+loc_0044e376:
+push 2
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+add eax, 0x3f
+push eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+add eax, 0x10e
+push eax
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+mov edx, dword [ref_0047601c] ; mov edx, dword [0x47601c]
+mov eax, dword [eax*4 + ref_004761b8] ; mov eax, dword [eax*4 + 0x4761b8]
+mov ecx, dword [eax + edx*4]
+push ecx
+lea eax, [esp + 0x10]
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_00476018] ; mov eax, dword [0x476018]
+mov dword [ref_00476020], eax ; mov dword [0x476020], eax
+mov eax, dword [ref_0047601c] ; mov eax, dword [0x47601c]
+mov dword [ref_00476024], eax ; mov dword [0x476024], eax
+jmp near loc_0044dfad ; jmp 0x44dfad
+
+endloc_0044e3e0:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_0044e3e3: ; may contain a jump table
+dd loc_0044e621
+dd loc_0044e668
+dd loc_0044e6eb
+dd loc_0044e6eb
+dd loc_0044e7a1
+dd loc_0044e7a1
+
+ref_0044e3fb: ; may contain a jump table
+dd loc_0044e881
+dd loc_0044e944
+dd loc_0044ea1b
+dd loc_0044ea1b
+
+fcn_0044e40b:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+mov edi, dword [esp + 0x64]
+mov eax, dword [esp + 0x68]
+mov ecx, dword [esp + 0x6c]
+mov edx, dword [esp + 0x70]
+cmp eax, 0x201
+jb short loc_0044e45d ; jb 0x44e45d
+jbe near loc_0044e592 ; jbe 0x44e592
+cmp eax, 0x203
+jb near loc_0044e869 ; jb 0x44e869
+jbe near loc_0044e592 ; jbe 0x44e592
+cmp eax, 0x205
+jb near loc_0044eb29 ; jb 0x44eb29
+jbe near loc_0044e546 ; jbe 0x44e546
+cmp eax, 0x401
+je short loc_0044e488 ; je 0x44e488
+jmp near loc_0044eb29 ; jmp 0x44eb29
+
+loc_0044e45d:
+cmp eax, 0x100
+jb short loc_0044e47a ; jb 0x44e47a
+jbe near loc_0044ea58 ; jbe 0x44ea58
+cmp eax, 0x101
+je near loc_0044ea4a ; je 0x44ea4a
+jmp near loc_0044eb29 ; jmp 0x44eb29
+
+loc_0044e47a:
+cmp eax, 0xf
+je near loc_0044eacb ; je 0x44eacb
+jmp near loc_0044eb29 ; jmp 0x44eb29
+
+loc_0044e488:
+mov dword [ref_0048c5fc], 0xffffffff ; mov dword [0x48c5fc], 0xffffffff
+xor ebx, ebx
+mov word [ref_0048c600], bx ; mov word [0x48c600], bx
+xor eax, eax
+mov ax, dx
+mov dword [ref_0048c5e4], eax ; mov dword [0x48c5e4], eax
+mov eax, edx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+mov dword [ref_0048c5e8], eax ; mov dword [0x48c5e8], eax
+cmp dword [ref_0048c5e4], 0xffff ; cmp dword [0x48c5e4], 0xffff
+jne short loc_0044e4f0 ; jne 0x44e4f0
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+movsx edx, word [eax + 0xc]
+sar edx, 1
+mov ecx, 0x140
+sub ecx, edx
+mov dword [ref_0048c5e4], ecx ; mov dword [0x48c5e4], ecx
+movsx eax, word [eax + 0xe]
+sar eax, 1
+mov edx, 0xf0
+sub edx, eax
+mov dword [ref_0048c5e8], edx ; mov dword [0x48c5e8], edx
+
+loc_0044e4f0:
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+mov dword [esp + 0x44], eax
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+movsx edx, word [eax + 0xc]
+mov ecx, dword [esp + 0x40]
+add ecx, edx
+mov dword [esp + 0x48], ecx
+movsx eax, word [eax + 0xe]
+mov edx, dword [esp + 0x44]
+add edx, eax
+mov dword [esp + 0x4c], edx
+lea eax, [esp + 0x40]
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048c602], eax ; mov dword [0x48c602], eax
+call fcn_0044dfb4 ; call 0x44dfb4
+push 1
+call fcn_00402460 ; call 0x402460
+jmp near loc_0044ea36 ; jmp 0x44ea36
+
+loc_0044e546:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+mov esi, dword [ref_0048c5e8] ; mov esi, dword [0x48c5e8]
+push esi
+mov edi, dword [ref_0048c5e4] ; mov edi, dword [0x48c5e4]
+push edi
+mov ebp, dword [ref_0048c602] ; mov ebp, dword [0x48c602]
+push ebp
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+
+loc_0044e586:
+xor eax, eax
+
+loc_0044e588:
+add esp, 0x50
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_0044e592:
+xor esi, esi
+mov si, dx
+sub esi, dword [ref_0048c5e4] ; sub esi, dword [0x48c5e4]
+shr edx, 0x10
+and edx, 0xffff
+xor ebx, ebx
+mov bx, dx
+sub ebx, dword [ref_0048c5e8] ; sub ebx, dword [0x48c5e8]
+xor eax, eax
+mov dword [ref_0048c5fc], eax ; mov dword [0x48c5fc], eax
+jmp short loc_0044e5cc ; jmp 0x44e5cc
+
+loc_0044e5ba:
+mov ecx, dword [ref_0048c5fc] ; mov ecx, dword [0x48c5fc]
+inc ecx
+mov dword [ref_0048c5fc], ecx ; mov dword [0x48c5fc], ecx
+cmp ecx, 6
+jge short loc_0044e5f4 ; jge 0x44e5f4
+
+loc_0044e5cc:
+mov eax, dword [ref_0048c5fc] ; mov eax, dword [0x48c5fc]
+shl eax, 4
+cmp esi, dword [eax + ref_00476254] ; cmp esi, dword [eax + 0x476254]
+jl short loc_0044e5ba ; jl 0x44e5ba
+cmp ebx, dword [eax + ref_00476258] ; cmp ebx, dword [eax + 0x476258]
+jl short loc_0044e5ba ; jl 0x44e5ba
+cmp esi, dword [eax + ref_0047625c] ; cmp esi, dword [eax + 0x47625c]
+jge short loc_0044e5ba ; jge 0x44e5ba
+cmp ebx, dword [eax + ref_00476260] ; cmp ebx, dword [eax + 0x476260]
+jge short loc_0044e5ba ; jge 0x44e5ba
+
+loc_0044e5f4:
+cmp dword [ref_0048c5fc], 6 ; cmp dword [0x48c5fc], 6
+jge short loc_0044e60c ; jge 0x44e60c
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_0044e60c:
+mov eax, dword [ref_0048c5fc] ; mov eax, dword [0x48c5fc]
+cmp eax, 5
+ja near loc_0044e586 ; ja 0x44e586
+jmp dword [eax*4 + ref_0044e3e3] ; ujmp: jmp dword [eax*4 + 0x44e3e3]
+
+loc_0044e621:
+xor eax, eax
+jmp short loc_0044e62f ; jmp 0x44e62f
+
+loc_0044e625:
+inc eax
+cmp eax, 8
+jge near loc_0044e586 ; jge 0x44e586
+
+loc_0044e62f:
+cmp esi, 0x1a
+jl short loc_0044e625 ; jl 0x44e625
+mov edx, eax
+shl edx, 3
+add edx, eax
+shl edx, 2
+lea ecx, [edx + 0x3a]
+cmp ebx, ecx
+jl short loc_0044e625 ; jl 0x44e625
+cmp esi, 0x5c
+jge short loc_0044e625 ; jge 0x44e625
+add edx, 0x5b
+cmp ebx, edx
+jge short loc_0044e625 ; jge 0x44e625
+mov dword [ref_00476018], eax ; mov dword [0x476018], eax
+xor ecx, ecx
+mov dword [ref_0047601c], ecx ; mov dword [0x47601c], ecx
+
+loc_0044e65e:
+call fcn_0044dfb4 ; call 0x44dfb4
+jmp near loc_0044ea39 ; jmp 0x44ea39
+
+loc_0044e668:
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+mov edx, dword [eax + ref_004761c4] ; mov edx, dword [eax + 0x4761c4]
+add edx, 8
+mov ecx, dword [eax + ref_004761c0] ; mov ecx, dword [eax + 0x4761c0]
+cmp edx, ecx
+jge short loc_0044e692 ; jge 0x44e692
+mov ebp, 8
+jmp short loc_0044e69a ; jmp 0x44e69a
+
+loc_0044e692:
+mov ebp, ecx
+sub ebp, dword [eax + ref_004761c4] ; sub ebp, dword [eax + 0x4761c4]
+
+loc_0044e69a:
+xor eax, eax
+
+loc_0044e69c:
+cmp eax, ebp
+jge near loc_0044e586 ; jge 0x44e586
+cmp esi, 0x6c
+jl short loc_0044e6e8 ; jl 0x44e6e8
+mov edx, eax
+shl edx, 4
+add edx, eax
+add edx, edx
+lea ecx, [edx + 0x4e]
+cmp ebx, ecx
+jl short loc_0044e6e8 ; jl 0x44e6e8
+cmp esi, 0xc1
+jge short loc_0044e6e8 ; jge 0x44e6e8
+add edx, 0x6f
+cmp ebx, edx
+jge short loc_0044e6e8 ; jge 0x44e6e8
+mov ecx, dword [ref_00476018] ; mov ecx, dword [0x476018]
+mov edx, ecx
+shl edx, 2
+add edx, ecx
+mov edx, dword [edx*4 + ref_004761c4] ; mov edx, dword [edx*4 + 0x4761c4]
+add eax, edx
+mov dword [ref_0047601c], eax ; mov dword [0x47601c], eax
+jmp near loc_0044e65e ; jmp 0x44e65e
+
+loc_0044e6e8:
+inc eax
+jmp short loc_0044e69c ; jmp 0x44e69c
+
+loc_0044e6eb:
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+cmp dword [eax*4 + ref_004761c0], 8 ; cmp dword [eax*4 + 0x4761c0], 8
+jle near loc_0044e586 ; jle 0x44e586
+mov eax, dword [ref_0048c5fc] ; mov eax, dword [0x48c5fc]
+shl eax, 4
+mov edx, dword [ref_0048c5e4] ; mov edx, dword [0x48c5e4]
+mov esi, dword [eax + ref_00476254] ; mov esi, dword [eax + 0x476254]
+add edx, esi
+mov dword [esp + 0x40], edx
+mov edx, dword [ref_0048c5e8] ; mov edx, dword [0x48c5e8]
+mov ebp, dword [eax + ref_00476258] ; mov ebp, dword [eax + 0x476258]
+add edx, ebp
+mov dword [esp + 0x44], edx
+mov edx, dword [ref_0048c5e4] ; mov edx, dword [0x48c5e4]
+mov ecx, dword [eax + ref_0047625c] ; mov ecx, dword [eax + 0x47625c]
+add edx, ecx
+mov dword [esp + 0x48], edx
+mov edx, dword [ref_0048c5e8] ; mov edx, dword [0x48c5e8]
+mov ebx, dword [eax + ref_00476260] ; mov ebx, dword [eax + 0x476260]
+add edx, ebx
+mov dword [esp + 0x4c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov esi, dword [esp + 0x44]
+push esi
+mov ebp, dword [esp + 0x44]
+push ebp
+mov edx, dword [ref_0048c5fc] ; mov edx, dword [0x48c5fc]
+add edx, 4
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0xc
+add eax, edx
+push eax
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+jmp near loc_0044e845 ; jmp 0x44e845
+
+loc_0044e7a1:
+cmp dword [ref_0048c5ec], 0 ; cmp dword [0x48c5ec], 0
+je near loc_0044e586 ; je 0x44e586
+mov eax, dword [ref_0048c5fc] ; mov eax, dword [0x48c5fc]
+shl eax, 4
+mov edx, dword [ref_0048c5e4] ; mov edx, dword [0x48c5e4]
+mov ecx, dword [eax + ref_00476254] ; mov ecx, dword [eax + 0x476254]
+add edx, ecx
+mov dword [esp + 0x40], edx
+mov edx, dword [ref_0048c5e8] ; mov edx, dword [0x48c5e8]
+mov ebx, dword [eax + ref_00476258] ; mov ebx, dword [eax + 0x476258]
+add edx, ebx
+mov dword [esp + 0x44], edx
+mov edx, dword [ref_0048c5e4] ; mov edx, dword [0x48c5e4]
+mov esi, dword [eax + ref_0047625c] ; mov esi, dword [eax + 0x47625c]
+add edx, esi
+mov dword [esp + 0x48], edx
+mov edx, dword [ref_0048c5e8] ; mov edx, dword [0x48c5e8]
+mov ebp, dword [eax + ref_00476260] ; mov ebp, dword [eax + 0x476260]
+add edx, ebp
+mov dword [esp + 0x4c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x44]
+push eax
+mov edx, dword [esp + 0x44]
+push edx
+mov edx, dword [ref_0048c5fc] ; mov edx, dword [0x48c5fc]
+add edx, 6
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0xc
+add eax, edx
+
+loc_0044e83d:
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+
+loc_0044e845:
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x44]
+push eax
+jmp near loc_0044ea3d ; jmp 0x44ea3d
+
+loc_0044e869:
+mov eax, dword [ref_0048c5fc] ; mov eax, dword [0x48c5fc]
+sub eax, 2
+cmp eax, 3
+ja near loc_0044e586 ; ja 0x44e586
+jmp dword [eax*4 + ref_0044e3fb] ; ujmp: jmp dword [eax*4 + 0x44e3fb]
+
+loc_0044e881:
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+cmp dword [eax + ref_004761c0], 8 ; cmp dword [eax + 0x4761c0], 8
+jle near loc_0044e586 ; jle 0x44e586
+mov edx, dword [eax + ref_004761c4] ; mov edx, dword [eax + 0x4761c4]
+test edx, edx
+jle short loc_0044e8d3 ; jle 0x44e8d3
+cmp edx, 8
+jle short loc_0044e8c0 ; jle 0x44e8c0
+sub dword [ref_0047601c], 8 ; sub dword [0x47601c], 8
+sub dword [eax + ref_004761c4], 8 ; sub dword [eax + 0x4761c4], 8
+jmp near loc_0044e65e ; jmp 0x44e65e
+
+loc_0044e8c0:
+sub dword [ref_0047601c], edx ; sub dword [0x47601c], edx
+xor ebp, ebp
+mov dword [eax + ref_004761c4], ebp ; mov dword [eax + 0x4761c4], ebp
+jmp near loc_0044e65e ; jmp 0x44e65e
+
+loc_0044e8d3:
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+mov ecx, dword [ref_00476274] ; mov ecx, dword [0x476274]
+add eax, ecx
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+mov ebx, dword [ref_00476278] ; mov ebx, dword [0x476278]
+add eax, ebx
+mov dword [esp + 0x44], eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+mov esi, dword [ref_0047627c] ; mov esi, dword [0x47627c]
+add eax, esi
+mov dword [esp + 0x48], eax
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+mov ebp, dword [ref_00476280] ; mov ebp, dword [0x476280]
+add eax, ebp
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [esp + 0x44]
+push eax
+mov edx, dword [esp + 0x44]
+push edx
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x3c
+jmp near loc_0044e83d ; jmp 0x44e83d
+
+loc_0044e944:
+mov edx, dword [ref_00476018] ; mov edx, dword [0x476018]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 2
+mov edx, dword [eax + ref_004761c0] ; mov edx, dword [eax + 0x4761c0]
+cmp edx, 8
+jle near loc_0044e586 ; jle 0x44e586
+sub edx, 8
+mov ecx, dword [eax + ref_004761c4] ; mov ecx, dword [eax + 0x4761c4]
+cmp edx, ecx
+jle short loc_0044e9a2 ; jle 0x44e9a2
+add ecx, 8
+cmp ecx, edx
+jge short loc_0044e989 ; jge 0x44e989
+add dword [ref_0047601c], 8 ; add dword [0x47601c], 8
+mov dword [eax + ref_004761c4], ecx ; mov dword [eax + 0x4761c4], ecx
+jmp near loc_0044e65e ; jmp 0x44e65e
+
+loc_0044e989:
+mov ecx, edx
+sub ecx, dword [eax + ref_004761c4] ; sub ecx, dword [eax + 0x4761c4]
+add dword [ref_0047601c], ecx ; add dword [0x47601c], ecx
+mov dword [eax + ref_004761c4], edx ; mov dword [eax + 0x4761c4], edx
+jmp near loc_0044e65e ; jmp 0x44e65e
+
+loc_0044e9a2:
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+mov ebx, dword [ref_00476284] ; mov ebx, dword [0x476284]
+add eax, ebx
+mov dword [esp + 0x40], eax
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+mov esi, dword [ref_00476288] ; mov esi, dword [0x476288]
+add eax, esi
+mov dword [esp + 0x44], eax
+mov eax, dword [ref_0048c5e4] ; mov eax, dword [0x48c5e4]
+mov ebp, dword [ref_0047628c] ; mov ebp, dword [0x47628c]
+add eax, ebp
+mov dword [esp + 0x48], eax
+mov eax, dword [ref_0048c5e8] ; mov eax, dword [0x48c5e8]
+mov edx, dword [ref_00476290] ; mov edx, dword [0x476290]
+add eax, edx
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [esp + 0x44]
+push ecx
+mov ebx, dword [esp + 0x44]
+push ebx
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0x48
+push eax
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+push esi
+jmp near loc_0044e845 ; jmp 0x44e845
+
+loc_0044ea1b:
+cmp dword [ref_0048c5ec], 0 ; cmp dword [0x48c5ec], 0
+je near loc_0044e586 ; je 0x44e586
+mov eax, dword [ref_0048c5fc] ; mov eax, dword [0x48c5fc]
+sub eax, 4
+push eax
+
+loc_0044ea31:
+call fcn_0044dd9f ; call 0x44dd9f
+
+loc_0044ea36:
+add esp, 4
+
+loc_0044ea39:
+push 0
+push 0
+
+loc_0044ea3d:
+push edi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+jmp near loc_0044e586 ; jmp 0x44e586
+
+loc_0044ea4a:
+xor ecx, ecx
+mov word [ref_0048c600], cx ; mov word [0x48c600], cx
+jmp near loc_0044e586 ; jmp 0x44e586
+
+loc_0044ea58:
+cmp dword [ref_0048c5ec], 0 ; cmp dword [0x48c5ec], 0
+je near loc_0044e586 ; je 0x44e586
+cmp ecx, 0x11
+jne short loc_0044ea75 ; jne 0x44ea75
+mov word [ref_0048c600], 0x1100 ; mov word [0x48c600], 0x1100
+jmp short loc_0044ea7c ; jmp 0x44ea7c
+
+loc_0044ea75:
+or word [ref_0048c600], cx ; or word [0x48c600], cx
+
+loc_0044ea7c:
+xor edx, edx
+mov dx, word [ref_0049719a] ; mov dx, word [0x49719a]
+xor eax, eax
+mov ax, word [ref_0048c600] ; mov ax, word [0x48c600]
+cmp eax, edx
+jne short loc_0044eaa4 ; jne 0x44eaa4
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+jmp short loc_0044ea31 ; jmp 0x44ea31
+
+loc_0044eaa4:
+xor edx, edx
+mov dx, word [ref_0049719c] ; mov dx, word [0x49719c]
+cmp eax, edx
+jne near loc_0044e586 ; jne 0x44e586
+push 0
+push ref_00482322 ; push 0x482322
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 1
+jmp near loc_0044ea31 ; jmp 0x44ea31
+
+loc_0044eacb:
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov esi, dword [esp + 0x18]
+push esi
+mov ebp, dword [ref_0048a0dc] ; mov ebp, dword [0x48a0dc]
+push ebp
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push edi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_0044e586 ; jmp 0x44e586
+
+loc_0044eb29:
+push edx
+push ecx
+push eax
+push edi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0044e588 ; jmp 0x44e588
+
+fcn_0044eb39:
+push ebx
+push edi
+push ebp
+push ref_00466096 ; push 0x466096
+call fcn_004502fe ; call 0x4502fe
+add esp, 4
+mov dword [ref_0048c5f4], eax ; mov dword [0x48c5f4], eax
+push 0
+push 0
+push 0
+push eax
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048c5f8], eax ; mov dword [0x48c5f8], eax
+push 1
+push 0
+push 0x101010
+push 0x101010
+push 0xc
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+xor edx, edx
+mov dword [ref_0047601c], edx ; mov dword [0x47601c], edx
+mov dword [ref_00476018], edx ; mov dword [0x476018], edx
+mov ebx, 0xffffffff
+mov dword [ref_00476024], ebx ; mov dword [0x476024], ebx
+mov dword [ref_00476020], ebx ; mov dword [0x476020], ebx
+xor ebx, ebx
+
+loc_0044eb9b:
+push 2
+mov eax, ebx
+shl eax, 3
+add eax, ebx
+shl eax, 2
+add eax, 0x49
+push eax
+push 0x3b
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov edi, dword [eax*4 + ref_004761b4] ; mov edi, dword [eax*4 + 0x4761b4]
+push edi
+mov eax, dword [ref_0048c5f8] ; mov eax, dword [0x48c5f8]
+add eax, 0xc
+push eax
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+inc ebx
+cmp ebx, 8
+jl short loc_0044eb9b ; jl 0x44eb9b
+mov eax, dword [esp + 0x14]
+shl eax, 0x10
+mov edx, dword [esp + 0x10]
+and edx, 0xffff
+or eax, edx
+push eax
+push fcn_0044e40b ; push 0x44e40b
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebp, dword [ref_0048c5f8] ; mov ebp, dword [0x48c5f8]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_004762b4] ; mov eax, dword [0x4762b4]
+test eax, eax
+je short loc_0044ec1d ; je 0x44ec1d
+push eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor ecx, ecx
+mov dword [ref_004762b4], ecx ; mov dword [0x4762b4], ecx
+
+loc_0044ec1d:
+mov ebx, dword [ref_0048c5f4] ; mov ebx, dword [0x48c5f4]
+push ebx
+call fcn_00450404 ; call 0x450404
+add esp, 4
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_0044ec30:
+mov eax, dword [esp + 4]
+mov dword [ref_004762bc], eax ; mov dword [0x4762bc], eax
+mov edx, dword [esp + 8]
+mov dword [ref_0048c624], edx ; mov dword [0x48c624], edx
+mov edx, dword [esp + 0xc]
+mov dword [ref_0048c620], edx ; mov dword [0x48c620], edx
+mov edx, dword [esp + 0x10]
+mov dword [ref_0048c618], edx ; mov dword [0x48c618], edx
+mov edx, dword [esp + 0x14]
+mov dword [ref_0048c62c], edx ; mov dword [0x48c62c], edx
+movsx edx, word [eax + 4]
+mov ecx, dword [esp + 8]
+sub ecx, edx
+mov dword [ref_0048c608], ecx ; mov dword [0x48c608], ecx
+movsx edx, word [eax + 6]
+mov ecx, dword [esp + 0xc]
+sub ecx, edx
+mov dword [ref_0048c60c], ecx ; mov dword [0x48c60c], ecx
+movsx ecx, word [eax]
+mov edx, dword [ref_0048c608] ; mov edx, dword [0x48c608]
+add edx, ecx
+mov dword [ref_0048c610], edx ; mov dword [0x48c610], edx
+movsx eax, word [eax + 2]
+mov edx, dword [ref_0048c60c] ; mov edx, dword [0x48c60c]
+add eax, edx
+mov dword [ref_0048c614], eax ; mov dword [0x48c614], eax
+mov eax, dword [esp + 0x18]
+mov dword [ref_0048c61c], eax ; mov dword [0x48c61c], eax
+mov eax, dword [esp + 0x1c]
+mov dword [ref_0048c628], eax ; mov dword [0x48c628], eax
+ret
+
+fcn_0044ecb6:
+push ebx
+push esi
+push edi
+push ebp
+cmp dword [ref_004762bc], 0 ; cmp dword [0x4762bc], 0
+je near loc_0044ee13 ; je 0x44ee13
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov ecx, dword [ref_004762c0] ; mov ecx, dword [0x4762c0]
+test ecx, ecx
+je short loc_0044ecfa ; je 0x44ecfa
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0044ecfa:
+mov eax, dword [ref_004762bc] ; mov eax, dword [0x4762bc]
+movsx edx, word [eax + 2]
+push edx
+movsx eax, word [eax]
+push eax
+mov esi, dword [ref_0048c60c] ; mov esi, dword [0x48c60c]
+push esi
+mov edi, dword [ref_0048c608] ; mov edi, dword [0x48c608]
+push edi
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov dword [ref_004762c0], eax ; mov dword [0x4762c0], eax
+mov ebp, dword [ref_0048c620] ; mov ebp, dword [0x48c620]
+push ebp
+mov eax, dword [ref_0048c624] ; mov eax, dword [0x48c624]
+push eax
+mov edx, dword [ref_004762bc] ; mov edx, dword [0x4762bc]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+mov ebx, dword [ref_0048c628] ; mov ebx, dword [0x48c628]
+test ebx, ebx
+je short loc_0044ed65 ; je 0x44ed65
+push 1
+push 3
+push ebx
+mov ebp, dword [ref_0048c61c] ; mov ebp, dword [0x48c61c]
+push ebp
+jmp short loc_0044ed71 ; jmp 0x44ed71
+
+loc_0044ed65:
+push 1
+push 2
+push ebx
+mov esi, dword [ref_0048c61c] ; mov esi, dword [0x48c61c]
+push esi
+
+loc_0044ed71:
+push 0x14
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+push 4
+mov eax, dword [ref_004762bc] ; mov eax, dword [0x4762bc]
+movsx edx, word [eax + 2]
+sar edx, 1
+add edx, dword [ref_0048c60c] ; add edx, dword [0x48c60c]
+add edx, dword [ref_0048c62c] ; add edx, dword [0x48c62c]
+push edx
+movsx eax, word [eax]
+sar eax, 1
+add eax, dword [ref_0048c608] ; add eax, dword [0x48c608]
+add eax, dword [ref_0048c618] ; add eax, dword [0x48c618]
+push eax
+mov ebp, dword [esp + 0x20]
+push ebp
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push ref_0048c608 ; push 0x48c608
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0048c608 ; push 0x48c608
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [ref_0048c60c] ; mov ebx, dword [0x48c60c]
+push ebx
+mov esi, dword [ref_0048c608] ; mov esi, dword [0x48c608]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+push ref_0048c608 ; push 0x48c608
+call fcn_00402250 ; call 0x402250
+add esp, 4
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov dword [ref_004762c4], eax ; mov dword [0x4762c4], eax
+
+loc_0044ee13:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044ee18:
+push ebx
+push esi
+push edi
+push ebp
+cmp dword [ref_004762c4], 0 ; cmp dword [0x4762c4], 0
+je near loc_0044ef2a ; je 0x44ef2a
+test byte [esp + 0x14], 1
+je short loc_0044ee3f ; je 0x44ee3f
+call fcn_00454493 ; call 0x454493
+xor ebp, ebp
+mov dword [ref_004762c4], ebp ; mov dword [0x4762c4], ebp
+jmp short loc_0044ee83 ; jmp 0x44ee83
+
+loc_0044ee3f:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov ecx, dword [ref_004762c4] ; mov ecx, dword [0x4762c4]
+sub eax, ecx
+cmp eax, 0x7d0
+jb short loc_0044ee5f ; jb 0x44ee5f
+xor esi, esi
+mov dword [ref_004762c4], esi ; mov dword [0x4762c4], esi
+jmp short loc_0044ee63 ; jmp 0x44ee63
+
+loc_0044ee5f:
+test ecx, ecx
+jne short loc_0044ee76 ; jne 0x44ee76
+
+loc_0044ee63:
+cmp byte [ref_0049715b], 0 ; cmp byte [0x49715b], 0
+je short loc_0044ee76 ; je 0x44ee76
+call fcn_004544b9 ; call 0x4544b9
+mov dword [ref_004762c4], eax ; mov dword [0x4762c4], eax
+
+loc_0044ee76:
+cmp dword [ref_004762c4], 0 ; cmp dword [0x4762c4], 0
+jne near loc_0044ef34 ; jne 0x44ef34
+
+loc_0044ee83:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048c60c] ; mov eax, dword [0x48c60c]
+push eax
+mov edx, dword [ref_0048c608] ; mov edx, dword [0x48c608]
+push edx
+mov ecx, dword [ref_004762c0] ; mov ecx, dword [0x4762c0]
+push ecx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov esi, dword [ref_004762c0] ; mov esi, dword [0x4762c0]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor edi, edi
+mov dword [ref_004762c0], edi ; mov dword [0x4762c0], edi
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push edi
+push eax
+call dword [edx + 0x80] ; ucall
+test byte [esp + 0x14], 2
+jne short loc_0044ef2a ; jne 0x44ef2a
+push ref_0048c608 ; push 0x48c608
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0048c608 ; push 0x48c608
+mov ebp, dword [ref_0048a0e0] ; mov ebp, dword [0x48a0e0]
+push ebp
+mov ecx, dword [ref_0048c60c] ; mov ecx, dword [0x48c60c]
+push ecx
+mov ebx, dword [ref_0048c608] ; mov ebx, dword [0x48c608]
+push ebx
+push eax
+call dword [edx + 0x1c] ; ucall
+push ref_0048c608 ; push 0x48c608
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_0044ef2a:
+mov eax, 1
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0044ef34:
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044ef3b:
+mov eax, dword [ref_004762c4] ; mov eax, dword [0x4762c4]
+ret
+
+fcn_0044ef41:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov ebx, dword [esp + 0x2c]
+mov edx, 1
+cmp ebx, dword [ref_004762c8] ; cmp ebx, dword [0x4762c8]
+je near loc_0044f228 ; je 0x44f228
+mov dword [ref_004762c8], ebx ; mov dword [0x4762c8], ebx
+test byte [esp + 0x25], 0x80
+je short loc_0044ef74 ; je 0x44ef74
+xor edx, edx
+and dword [esp + 0x24], 0x7fff
+
+loc_0044ef74:
+imul eax, dword [esp + 0x24], 0x68
+cmp byte [eax + ref_00496b9b], 0 ; cmp byte [eax + 0x496b9b], 0
+jne near loc_0044f228 ; jne 0x44f228
+cmp byte [eax + ref_00496b9f], 0 ; cmp byte [eax + 0x496b9f], 0
+jne near loc_0044f228 ; jne 0x44f228
+cmp byte [eax + ref_00496b9e], 0 ; cmp byte [eax + 0x496b9e], 0
+jne near loc_0044f228 ; jne 0x44f228
+test edx, edx
+je short loc_0044efc5 ; je 0x44efc5
+push 0
+xor edx, edx
+mov dx, word [eax + ref_00496b72] ; mov dx, word [eax + 0x496b72]
+push edx
+mov ax, word [eax + ref_00496b70] ; mov ax, word [eax + 0x496b70]
+and eax, 0xffff
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+
+loc_0044efc5:
+push 1
+push 2
+push 0
+push 0x101010
+push 0x10
+call fcn_0044f9d8 ; call 0x44f9d8
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+push 0xdc
+push 0x1b8
+push 0x28
+push 0
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov edi, eax
+push 0x82
+push 0xdc
+mov eax, dword [ref_0048bad8] ; mov eax, dword [0x48bad8]
+add eax, 0x54
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+push 0x82
+push 0xaa
+imul eax, dword [esp + 0x2c], 0x34
+mov ecx, dword [eax + ref_00498eb0] ; mov ecx, dword [eax + 0x498eb0]
+mov edx, dword [esp + 0x30]
+inc edx
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+test ebx, ebx
+je near loc_0044f157 ; je 0x44f157
+cmp byte [ebx], 0x23
+jne short loc_0044f088 ; jne 0x44f088
+mov esi, 5
+jmp short loc_0044f08a ; jmp 0x44f08a
+
+loc_0044f088:
+xor esi, esi
+
+loc_0044f08a:
+lea edx, [ebx + esi]
+cmp byte [edx], 0x40
+jne near loc_0044f140 ; jne 0x44f140
+xor eax, eax
+mov al, byte [edx + 1]
+lea ecx, [eax - 0x30]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+add eax, eax
+mov dl, byte [edx + 2]
+and edx, 0xff
+sub edx, 0x30
+add eax, edx
+push 0x82
+push 0xf0
+lea edx, [eax - 1]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+mov edx, eax
+shl edx, 2
+mov eax, dword [ref_0048bad4] ; mov eax, dword [0x48bad4]
+add eax, 0xc
+add eax, edx
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_00456418 ; call 0x456418
+add esp, 0x10
+cmp esi, 5
+jne short loc_0044f157 ; jne 0x44f157
+xor eax, eax
+mov al, byte [ebx + 1]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 3
+mov ecx, eax
+shl ecx, 2
+add ecx, eax
+xor eax, eax
+mov al, byte [ebx + 2]
+sub eax, 0x30
+imul eax, eax, 0x64
+add ecx, eax
+xor eax, eax
+mov al, byte [ebx + 3]
+lea edx, [eax - 0x30]
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, eax
+add ecx, eax
+xor eax, eax
+mov al, byte [ebx + 4]
+sub eax, 0x30
+add eax, ecx
+push eax
+call fcn_0045441a ; call 0x45441a
+add esp, 4
+jmp short loc_0044f157 ; jmp 0x44f157
+
+loc_0044f140:
+push 5
+push 0x82
+push 0xc8
+push ebx
+push 0
+call fcn_0044fabc ; call 0x44fabc
+add esp, 0x14
+
+loc_0044f157:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+xor eax, eax
+mov dword [esp], eax
+mov dword [esp + 4], 0x28
+mov dword [esp + 8], 0x1b8
+mov dword [esp + 0xc], 0x104
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+push 0x28
+push 0
+push eax
+call dword [edx + 0x1c] ; ucall
+push 0x3e8
+call fcn_004544f6 ; call 0x4544f6
+add esp, 4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0xdc
+push 0x1b8
+push 0
+push 0
+mov ebp, dword [esp + 0x14]
+push ebp
+mov eax, dword [esp + 0x14]
+push eax
+push edi
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x10]
+push ebx
+mov esi, dword [esp + 0x10]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0044f228:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044f230:
+push ebx
+push esi
+push edi
+push ebp
+mov esi, dword [esp + 0x14]
+mov edx, dword [esp + 0x18]
+imul eax, esi, 0x68
+cmp edx, 0x64
+jle short loc_0044f262 ; jle 0x44f262
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ebp, dword [edx + eax*8 + ref_0048084a] ; mov ebp, dword [edx + eax*8 + 0x48084a]
+push ebp
+jmp short loc_0044f2b2 ; jmp 0x44f2b2
+
+loc_0044f262:
+cmp edx, 0x32
+jle short loc_0044f292 ; jle 0x44f292
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edi, dword [ebx + eax*4 + ref_0048084a] ; mov edi, dword [ebx + eax*4 + 0x48084a]
+push edi
+jmp short loc_0044f2b2 ; jmp 0x44f2b2
+
+loc_0044f292:
+test edx, edx
+je short loc_0044f2bd ; je 0x44f2bd
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_00480852] ; mov ecx, dword [edx + eax*8 + 0x480852]
+push ecx
+
+loc_0044f2b2:
+push 0
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044f2bd:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044f2c2:
+push ebx
+push esi
+push edi
+push ebp
+mov esi, dword [esp + 0x14]
+mov edx, dword [esp + 0x18]
+imul eax, esi, 0x68
+cmp edx, 6
+jle short loc_0044f2f4 ; jle 0x44f2f4
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ebp, dword [edx + eax*8 + ref_00480856] ; mov ebp, dword [edx + eax*8 + 0x480856]
+push ebp
+jmp short loc_0044f344 ; jmp 0x44f344
+
+loc_0044f2f4:
+cmp edx, 3
+jle short loc_0044f324 ; jle 0x44f324
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edi, dword [ebx + eax*4 + ref_00480856] ; mov edi, dword [ebx + eax*4 + 0x480856]
+push edi
+jmp short loc_0044f344 ; jmp 0x44f344
+
+loc_0044f324:
+test edx, edx
+je short loc_0044f34f ; je 0x44f34f
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_0048085e] ; mov ecx, dword [edx + eax*8 + 0x48085e]
+push ecx
+
+loc_0044f344:
+push 2
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044f34f:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044f354:
+push ebx
+push esi
+push edi
+push ebp
+mov esi, dword [esp + 0x14]
+mov ebx, dword [esp + 0x18]
+imul eax, dword [ref_004990e8], 0x2328 ; imul eax, dword [0x4990e8], 0x2328
+imul edx, esi, 0x68
+cmp ebx, eax
+jl short loc_0044f396 ; jl 0x44f396
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ebp, dword [edx + eax*8 + ref_00480862] ; mov ebp, dword [edx + eax*8 + 0x480862]
+push ebp
+jmp near loc_0044f41d ; jmp 0x44f41d
+
+loc_0044f396:
+mov ecx, dword [ref_004990e8] ; mov ecx, dword [0x4990e8]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+shl eax, 3
+sub eax, ecx
+shl eax, 4
+add eax, ecx
+shl eax, 3
+cmp ebx, eax
+jl short loc_0044f3e3 ; jl 0x44f3e3
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edi, dword [ebx + eax*4 + ref_00480862] ; mov edi, dword [ebx + eax*4 + 0x480862]
+push edi
+jmp short loc_0044f41d ; jmp 0x44f41d
+
+loc_0044f3e3:
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+shl eax, 3
+add eax, ecx
+shl eax, 4
+mov ecx, eax
+shl eax, 2
+add eax, ecx
+cmp ebx, eax
+jl short loc_0044f428 ; jl 0x44f428
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_0048086a] ; mov ecx, dword [edx + eax*8 + 0x48086a]
+push ecx
+
+loc_0044f41d:
+push 3
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044f428:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044f42d:
+push ebx
+push esi
+push edi
+push ebp
+mov esi, dword [esp + 0x14]
+mov ebx, dword [esp + 0x18]
+imul eax, dword [ref_004990e8], 0x2328 ; imul eax, dword [0x4990e8], 0x2328
+imul edx, esi, 0x68
+cmp ebx, eax
+jl short loc_0044f46c ; jl 0x44f46c
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ebp, dword [edx + eax*8 + ref_0048086e] ; mov ebp, dword [edx + eax*8 + 0x48086e]
+push ebp
+jmp short loc_0044f4dd ; jmp 0x44f4dd
+
+loc_0044f46c:
+mov ecx, dword [ref_004990e8] ; mov ecx, dword [0x4990e8]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+shl eax, 3
+sub eax, ecx
+shl eax, 4
+add eax, ecx
+shl eax, 3
+cmp ebx, eax
+jl short loc_0044f4b9 ; jl 0x44f4b9
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edi, dword [ebx + eax*4 + ref_0048086e] ; mov edi, dword [ebx + eax*4 + 0x48086e]
+push edi
+jmp short loc_0044f4dd ; jmp 0x44f4dd
+
+loc_0044f4b9:
+test ebx, ebx
+jle short loc_0044f4e8 ; jle 0x44f4e8
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_00480876] ; mov ecx, dword [edx + eax*8 + 0x480876]
+push ecx
+
+loc_0044f4dd:
+push 2
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044f4e8:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044f4ed:
+push ebx
+push edi
+push ebp
+xor ebx, ebx
+mov edx, dword [esp + 0x10]
+push edx
+call fcn_0040d2d3 ; call 0x40d2d3
+add esp, 4
+cmp eax, dword [esp + 0x14]
+jne short loc_0044f561 ; jne 0x44f561
+mov edx, dword [ref_004990e8] ; mov edx, dword [0x4990e8]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+sub eax, edx
+shl eax, 4
+add eax, edx
+shl eax, 3
+cmp eax, dword [esp + 0x18]
+jg short loc_0044f561 ; jg 0x44f561
+call fcn_00456f2d ; call 0x456f2d
+test al, 1
+je short loc_0044f561 ; je 0x44f561
+mov edi, dword [esp + 0x10]
+imul eax, edi, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ebp, dword [edx + eax*8 + ref_00480892] ; mov ebp, dword [edx + eax*8 + 0x480892]
+push ebp
+push 1
+push edi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+mov ebx, 1
+
+loc_0044f561:
+mov eax, ebx
+pop ebp
+pop edi
+pop ebx
+ret
+
+fcn_0044f567:
+push ebx
+push esi
+push edi
+push ebp
+mov esi, dword [esp + 0x14]
+mov ebx, dword [esp + 0x18]
+imul eax, dword [ref_004990e8], 0x2328 ; imul eax, dword [0x4990e8], 0x2328
+imul edx, esi, 0x68
+cmp ebx, eax
+jl short loc_0044f5a6 ; jl 0x44f5a6
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ebp, dword [edx + eax*8 + ref_0048087a] ; mov ebp, dword [edx + eax*8 + 0x48087a]
+push ebp
+jmp short loc_0044f617 ; jmp 0x44f617
+
+loc_0044f5a6:
+mov ecx, dword [ref_004990e8] ; mov ecx, dword [0x4990e8]
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+shl eax, 3
+sub eax, ecx
+shl eax, 4
+add eax, ecx
+shl eax, 3
+cmp ebx, eax
+jl short loc_0044f5f3 ; jl 0x44f5f3
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov ebx, eax
+shl ebx, 3
+add ebx, eax
+call fcn_00456f2d ; call 0x456f2d
+and eax, 1
+mov edi, dword [ebx + eax*4 + ref_0048087a] ; mov edi, dword [ebx + eax*4 + 0x48087a]
+push edi
+jmp short loc_0044f617 ; jmp 0x44f617
+
+loc_0044f5f3:
+test ebx, ebx
+jle short loc_0044f622 ; jle 0x44f622
+mov dl, byte [edx + ref_00496b7b] ; mov dl, byte [edx + 0x496b7b]
+and edx, 0xff
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_00480882] ; mov ecx, dword [edx + eax*8 + 0x480882]
+push ecx
+
+loc_0044f617:
+push 3
+push esi
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044f622:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044f627:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x14]
+mov esi, 1
+xor edi, edi
+mov ebx, dword [ref_00498e84] ; mov ebx, dword [0x498e84]
+
+loc_0044f63c:
+add ebx, 0x34
+cmp esi, dword [ref_00498e98] ; cmp esi, dword [0x498e98]
+jg short loc_0044f66a ; jg 0x44f66a
+lea eax, [ebx + 4]
+push eax
+push ebp
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_0044f667 ; jne 0x44f667
+mov al, byte [ebx + 0x19]
+mov edx, dword [ref_0049910c] ; mov edx, dword [0x49910c]
+inc edx
+cmp eax, edx
+jne short loc_0044f667 ; jne 0x44f667
+inc edi
+
+loc_0044f667:
+inc esi
+jmp short loc_0044f63c ; jmp 0x44f63c
+
+loc_0044f66a:
+cmp edi, 3
+jl near loc_0044f6e7 ; jl 0x44f6e7
+mov ecx, dword [esp + 0x18]
+test ecx, ecx
+je short loc_0044f6b8 ; je 0x44f6b8
+call fcn_00456f2d ; call 0x456f2d
+mov edx, eax
+mov ebx, 3
+sar edx, 0x1f
+idiv ebx
+test edx, edx
+jne short loc_0044f6e7 ; jne 0x44f6e7
+mov ebp, dword [ref_0049910c] ; mov ebp, dword [0x49910c]
+imul eax, ebp, 0x68
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov ecx, dword [edx + eax*8 + ref_0048088e] ; mov ecx, dword [edx + eax*8 + 0x48088e]
+push ecx
+push 0
+push ebp
+jmp short loc_0044f6df ; jmp 0x44f6df
+
+loc_0044f6b8:
+mov ebx, dword [ref_0049910c] ; mov ebx, dword [0x49910c]
+imul eax, ebx, 0x68
+xor edx, edx
+mov dl, byte [eax + ref_00496b7b] ; mov dl, byte [eax + 0x496b7b]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+mov edx, eax
+mov esi, dword [edx + eax*8 + ref_0048088a] ; mov esi, dword [edx + eax*8 + 0x48088a]
+push esi
+push ecx
+push ebx
+
+loc_0044f6df:
+call fcn_0044ef41 ; call 0x44ef41
+add esp, 0xc
+
+loc_0044f6e7:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+ref_0044f6ec:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000200
+dd 0x000000c8
+
+ref_0044f6fc:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000200
+dd 0x000000c8
+
+fcn_0044f70c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+mov ebx, dword [esp + 0x24]
+mov esi, 0x2710
+mov ebp, esi
+mov edx, 0xffffd8f0
+mov dword [esp + 8], edx
+mov edi, edx
+xor ecx, ecx
+mov dword [esp + 4], ecx
+xor edx, edx
+
+loc_0044f731:
+cmp edx, dword [ebx + 0xc]
+jge short loc_0044f77f ; jge 0x44f77f
+mov eax, dword [ebx]
+
+loc_0044f738:
+cmp eax, dword [ebx + 8]
+jge short loc_0044f774 ; jge 0x44f774
+mov ecx, dword [esp + 4]
+add ecx, eax
+add ecx, ecx
+mov dword [esp], ecx
+mov ecx, dword [esp + 0x20]
+add ecx, dword [esp]
+cmp word [ecx], 0
+je short loc_0044f771 ; je 0x44f771
+cmp esi, eax
+jle short loc_0044f75b ; jle 0x44f75b
+mov esi, eax
+
+loc_0044f75b:
+cmp ebp, edx
+jle short loc_0044f761 ; jle 0x44f761
+mov ebp, edx
+
+loc_0044f761:
+cmp eax, dword [esp + 8]
+jle short loc_0044f76b ; jle 0x44f76b
+mov dword [esp + 8], eax
+
+loc_0044f76b:
+cmp edi, edx
+jge short loc_0044f771 ; jge 0x44f771
+mov edi, edx
+
+loc_0044f771:
+inc eax
+jmp short loc_0044f738 ; jmp 0x44f738
+
+loc_0044f774:
+add dword [esp + 4], 0x200
+inc edx
+jmp short loc_0044f731 ; jmp 0x44f731
+
+loc_0044f77f:
+cmp esi, 0x2710
+jne short loc_0044f7a8 ; jne 0x44f7a8
+mov eax, dword [esp + 0x28]
+mov dword [eax], 0
+mov dword [eax + 4], 0
+mov dword [eax + 8], 0
+mov dword [eax + 0xc], 0
+jmp short loc_0044f7bf ; jmp 0x44f7bf
+
+loc_0044f7a8:
+mov eax, dword [esp + 0x28]
+mov dword [eax], esi
+mov dword [eax + 4], ebp
+mov eax, dword [esp + 8]
+mov edx, dword [esp + 0x28]
+mov dword [edx + 8], eax
+mov dword [edx + 0xc], edi
+
+loc_0044f7bf:
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0044f7c7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebp, dword [esp + 0x18]
+mov edi, dword [esp + 0x1c]
+mov esi, dword [esp + 0x20]
+mov ebx, dword [esp + 0x24]
+mov eax, dword [ref_004762d4] ; mov eax, dword [0x4762d4]
+add eax, dword [ref_004762dc] ; add eax, dword [0x4762dc]
+test byte [ref_004762d8], 6 ; test byte [0x4762d8], 6
+je short loc_0044f7f3 ; je 0x44f7f3
+inc eax
+
+loc_0044f7f3:
+mov dword [esp], eax
+
+loc_0044f7f6:
+mov dh, byte [ebx]
+test dh, dh
+je short loc_0044f826 ; je 0x44f826
+test dh, 0x80
+je short loc_0044f813 ; je 0x44f813
+push 2
+push ebx
+push esi
+push edi
+push ebp
+call dword [cs:__imp__TextOutA@20] ; ucall: call dword cs:[0x4622c4]
+add ebx, 2
+jmp short loc_0044f821 ; jmp 0x44f821
+
+loc_0044f813:
+push 1
+push ebx
+push esi
+push edi
+push ebp
+call dword [cs:__imp__TextOutA@20] ; ucall: call dword cs:[0x4622c4]
+inc ebx
+
+loc_0044f821:
+add esi, dword [esp]
+jmp short loc_0044f7f6 ; jmp 0x44f7f6
+
+loc_0044f826:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0044f82e:
+db 0x53
+db 0x56
+dd 0xec835557
+dd 0x24448b0c
+dd 0x08408b24
+dd 0x24244c8b
+dd 0xd029118b
+dd 0x24448940
+dd 0x0c418b08
+dd 0x8d04412b
+dd 0x748b0178
+dd 0x048d0824
+dd 0x00c83d32
+dd 0x0b7e0000
+dd 0x0000c8b8
+dd 0x89d02900
+dd 0x8b082444
+dd 0x0f082444
+dd 0xc001c7af
+dd 0x7706e850
+dd 0xc4830000
+dd 0x89c68904
+dd 0x8b042444
+dd 0x8b242444
+dd 0xe0c10c40
+dd 0x244c8b09
+dd 0x8d118b24
+dd 0xc901100c
+dd 0x20244c03
+dd 0x6c3bed31
+dd 0x257d0824
+dd 0xc031cb89
+dd 0x177df839
+dd 0x66138b66
+dd 0xc7661689
+dd 0x83000003
+dd 0xeb8102c6
+dd 0x00000400
+dd 0x83e5eb40
+dd 0xeb4502c1
+dd 0x24448bd5
+dd 0x04408b24
+dd 0x8b09e0c1
+dd 0x0324244c
+dd 0x8bc00101
+dd 0x0120245c
+dd 0x24748bc3
+dd 0x3bed3104
+dd 0x7d08246c
+dd 0x3f048d1d
+dd 0x50240489
+dd 0xede85356
+dd 0x83000074
+dd 0xc3810cc4
+dd 0x00000400
+dd 0x45243403
+dd 0x448bddeb
+dd 0x38032424
+dd 0x0878894f
+dd 0x0304408b
+dd 0x48082444
+dd 0x24244c8b
+dd 0x8b0c4189
+dd 0x56042474
+dd 0x0074e4e8
+dd 0x04c48300
+dd 0xfffe8ae9
+db 0xff
+
+fcn_0044f935:
+push edi
+mov dword [ref_0048a06c], 7 ; mov dword [0x48a06c], 7
+mov dword [ref_0048a0d0], 0x840 ; mov dword [0x48a0d0], 0x840
+mov dword [ref_0048a074], 0x200 ; mov dword [0x48a074], 0x200
+mov dword [ref_0048a070], 0xc8 ; mov dword [0x48a070], 0xc8
+mov eax, dword [ref_0048a0d8] ; mov eax, dword [0x48a0d8]
+mov edx, dword [eax]
+push 0
+push ref_004762cc ; push 0x4762cc
+push ref_0048a068 ; push 0x48a068
+push eax
+call dword [edx + 0x18] ; ucall
+mov eax, dword [ref_004762cc] ; mov eax, dword [0x4762cc]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x32000
+push 0
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov eax, dword [ref_004762cc] ; mov eax, dword [0x4762cc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+pop edi
+ret
+
+fcn_0044f9b3:
+push ebx
+mov edx, dword [ref_004762d0] ; mov edx, dword [0x4762d0]
+test edx, edx
+je short loc_0044f9c6 ; je 0x44f9c6
+push edx
+call dword [cs:__imp__DeleteObject@4] ; ucall: call dword cs:[0x462298]
+
+loc_0044f9c6:
+mov ebx, dword [ref_004762cc] ; mov ebx, dword [0x4762cc]
+test ebx, ebx
+je short loc_0044f9d6 ; je 0x44f9d6
+mov edx, dword [ebx]
+push ebx
+call dword [edx + 8] ; ucall
+
+loc_0044f9d6:
+pop ebx
+ret
+
+fcn_0044f9d8:
+push ebx
+mov edx, dword [esp + 0xc]
+mov ecx, dword [esp + 0x10]
+mov eax, edx
+and eax, 0xff
+shl eax, 0x10
+mov ebx, edx
+and ebx, 0xff00
+or ebx, eax
+mov eax, edx
+and eax, 0xff0000
+shr eax, 0x10
+or ebx, eax
+mov dword [ref_004762e0], ebx ; mov dword [0x4762e0], ebx
+mov eax, ecx
+and eax, 0xff
+shl eax, 0x10
+mov ebx, ecx
+and ebx, 0xff00
+or ebx, eax
+mov eax, ecx
+and eax, 0xff0000
+shr eax, 0x10
+or ebx, eax
+mov dword [ref_004762e4], ebx ; mov dword [0x4762e4], ebx
+mov eax, dword [esp + 0x14]
+mov dword [ref_004762d8], eax ; mov dword [0x4762d8], eax
+mov eax, dword [esp + 0x18]
+mov dword [ref_004762dc], eax ; mov dword [0x4762dc], eax
+test byte [esp + 0x14], 2
+je short loc_0044fa4d ; je 0x44fa4d
+mov ebx, 0x2bc
+jmp short loc_0044fa52 ; jmp 0x44fa52
+
+loc_0044fa4d:
+mov ebx, 0x190
+
+loc_0044fa52:
+mov edx, dword [ref_004762d0] ; mov edx, dword [0x4762d0]
+test edx, edx
+je short loc_0044fa64 ; je 0x44fa64
+push edx
+call dword [cs:__imp__DeleteObject@4] ; ucall: call dword cs:[0x462298]
+
+loc_0044fa64:
+mov eax, dword [esp + 8]
+mov dword [ref_004762d4], eax ; mov dword [0x4762d4], eax
+push ref_004660a0 ; push 0x4660a0
+push 0
+push 0
+push 0
+push 0
+push 0x88
+push 0
+push 0
+push 0
+push ebx
+push 0
+push 0
+push 0
+neg eax
+push eax
+call dword [cs:__imp__CreateFontA@56] ; ucall: call dword cs:[0x46228c]
+mov dword [ref_004762d0], eax ; mov dword [0x4762d0], eax
+pop ebx
+ret
+
+endloc_0044fa9d:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_0044faa0: ; may contain a jump table
+dd loc_0044ff21
+dd loc_0044ff2a
+dd loc_0044ff2a
+dd loc_0044ff2a
+dd loc_0044ff35
+dd loc_0044ff42
+dd loc_0044ff4b
+
+fcn_0044fabc:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x90
+mov ebx, dword [esp + 0xa8]
+mov ebp, dword [esp + 0xb4]
+lea edi, [esp + 0x6c]
+mov esi, ref_0044f6ec ; mov esi, 0x44f6ec
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+lea edi, [esp + 0x7c]
+mov esi, ref_0044f6fc ; mov esi, 0x44f6fc
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+test ebx, ebx
+je near loc_0045005a ; je 0x45005a
+mov ah, byte [ebx]
+test ah, ah
+je near loc_0045005a ; je 0x45005a
+cmp ah, 0x23
+jne short loc_0044fb59 ; jne 0x44fb59
+xor eax, eax
+mov al, byte [ebx + 1]
+lea esi, [eax - 0x30]
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 3
+add eax, esi
+shl eax, 3
+mov edx, eax
+shl edx, 2
+add edx, eax
+xor eax, eax
+mov al, byte [ebx + 2]
+sub eax, 0x30
+imul eax, eax, 0x64
+add edx, eax
+xor eax, eax
+mov al, byte [ebx + 3]
+lea esi, [eax - 0x30]
+mov eax, esi
+shl eax, 2
+add eax, esi
+add eax, eax
+add edx, eax
+xor eax, eax
+mov al, byte [ebx + 4]
+sub eax, 0x30
+add eax, edx
+push eax
+call fcn_0045441a ; call 0x45441a
+add esp, 4
+add ebx, 5
+
+loc_0044fb59:
+mov eax, dword [ref_004762cc] ; mov eax, dword [0x4762cc]
+mov esi, dword [eax]
+lea edx, [esp + 0x8c]
+push edx
+push eax
+call dword [esi + 0x44] ; ucall
+mov edx, dword [ref_004762d0] ; mov edx, dword [0x4762d0]
+push edx
+mov ecx, dword [esp + 0x90]
+push ecx
+call dword [cs:__imp__SelectObject@8] ; ucall: call dword cs:[0x4622b4]
+push 1
+mov esi, dword [esp + 0x90]
+push esi
+call dword [cs:__imp__SetBkMode@8] ; ucall: call dword cs:[0x4622b8]
+mov eax, dword [ref_004762dc] ; mov eax, dword [0x4762dc]
+dec eax
+push eax
+mov edi, dword [esp + 0x90]
+push edi
+call dword [cs:__imp__SetTextCharacterExtra@8] ; ucall: call dword cs:[0x4622bc]
+push 0x400
+lea eax, [esp + 0x80]
+push eax
+push ebx
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+push eax
+push ebx
+mov eax, dword [esp + 0x9c]
+push eax
+call dword [cs:__imp__DrawTextA@20] ; ucall: call dword cs:[0x4622e4]
+mov edx, dword [esp + 0x84]
+add edx, 0xa
+mov dword [esp + 0x84], edx
+mov ecx, dword [esp + 0x88]
+add ecx, 0xa
+mov dword [esp + 0x88], ecx
+cmp ebp, 3
+jne short loc_0044fc07 ; jne 0x44fc07
+mov dword [esp + 0x84], ecx
+mov dword [esp + 0x88], edx
+jmp short loc_0044fc31 ; jmp 0x44fc31
+
+loc_0044fc07:
+cmp ebp, 4
+je short loc_0044fc11 ; je 0x44fc11
+cmp ebp, 7
+jne short loc_0044fc31 ; jne 0x44fc31
+
+loc_0044fc11:
+mov eax, dword [esp + 0x84]
+sar eax, 1
+mov edx, 0x100
+sub edx, eax
+mov dword [esp + 0x7c], edx
+add eax, 0x100
+mov dword [esp + 0x84], eax
+
+loc_0044fc31:
+mov dh, byte [ref_004762d8] ; mov dh, byte [0x4762d8]
+test dh, 1
+je near loc_0044fccc ; je 0x44fccc
+mov esi, dword [ref_004762e4] ; mov esi, dword [0x4762e4]
+push esi
+mov edi, dword [esp + 0x90]
+push edi
+call dword [cs:__imp__SetTextColor@8] ; ucall: call dword cs:[0x4622c0]
+mov eax, 1
+mov dword [esp + 0x6c], eax
+mov dword [esp + 0x70], eax
+cmp ebp, 4
+jb short loc_0044fc71 ; jb 0x44fc71
+jbe short loc_0044fc8e ; jbe 0x44fc8e
+cmp ebp, 7
+je short loc_0044fc8e ; je 0x44fc8e
+jmp short loc_0044fcad ; jmp 0x44fcad
+
+loc_0044fc71:
+cmp ebp, 3
+jne short loc_0044fcad ; jne 0x44fcad
+push ebx
+push eax
+push eax
+mov edi, dword [esp + 0x98]
+push edi
+
+loc_0044fc81:
+call fcn_0044f7c7 ; call 0x44f7c7
+add esp, 0x10
+jmp near loc_0044fe09 ; jmp 0x44fe09
+
+loc_0044fc8e:
+push 1
+lea eax, [esp + 0x70]
+push eax
+push ebx
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+push eax
+push ebx
+mov ecx, dword [esp + 0x9c]
+push ecx
+jmp near loc_0044fe02 ; jmp 0x44fe02
+
+loc_0044fcad:
+push 0
+lea eax, [esp + 0x70]
+push eax
+push ebx
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+push eax
+push ebx
+mov esi, dword [esp + 0x9c]
+push esi
+jmp near loc_0044fe02 ; jmp 0x44fe02
+
+loc_0044fccc:
+test dh, 4
+je near loc_0044fe09 ; je 0x44fe09
+mov esi, dword [ref_004762e4] ; mov esi, dword [0x4762e4]
+push esi
+mov edi, dword [esp + 0x90]
+push edi
+call dword [cs:__imp__SetTextColor@8] ; ucall: call dword cs:[0x4622c0]
+cmp ebp, 3
+jne short loc_0044fd41 ; jne 0x44fd41
+push ebx
+push 0
+push 1
+mov edi, dword [esp + 0x98]
+push edi
+call fcn_0044f7c7 ; call 0x44f7c7
+add esp, 0x10
+push ebx
+push 2
+push 1
+mov eax, dword [esp + 0x98]
+push eax
+call fcn_0044f7c7 ; call 0x44f7c7
+add esp, 0x10
+push ebx
+push 1
+push 0
+mov edx, dword [esp + 0x98]
+push edx
+call fcn_0044f7c7 ; call 0x44f7c7
+add esp, 0x10
+push ebx
+push 1
+push 2
+mov ecx, dword [esp + 0x98]
+push ecx
+jmp near loc_0044fc81 ; jmp 0x44fc81
+
+loc_0044fd41:
+cmp ebp, 4
+je short loc_0044fd4b ; je 0x44fd4b
+cmp ebp, 7
+jne short loc_0044fd52 ; jne 0x44fd52
+
+loc_0044fd4b:
+mov esi, 1
+jmp short loc_0044fd54 ; jmp 0x44fd54
+
+loc_0044fd52:
+xor esi, esi
+
+loc_0044fd54:
+mov dword [esp + 0x6c], 1
+xor edx, edx
+mov dword [esp + 0x70], edx
+push esi
+lea eax, [esp + 0x70]
+push eax
+push ebx
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+push eax
+push ebx
+mov ecx, dword [esp + 0x9c]
+push ecx
+call dword [cs:__imp__DrawTextA@20] ; ucall: call dword cs:[0x4622e4]
+mov edi, 1
+mov dword [esp + 0x6c], edi
+mov dword [esp + 0x70], 2
+push esi
+lea eax, [esp + 0x70]
+push eax
+push ebx
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+push eax
+push ebx
+mov edx, dword [esp + 0x9c]
+push edx
+call dword [cs:__imp__DrawTextA@20] ; ucall: call dword cs:[0x4622e4]
+xor ecx, ecx
+mov dword [esp + 0x6c], ecx
+mov dword [esp + 0x70], edi
+push esi
+lea eax, [esp + 0x70]
+push eax
+push ebx
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+push eax
+push ebx
+mov eax, dword [esp + 0x9c]
+push eax
+call dword [cs:__imp__DrawTextA@20] ; ucall: call dword cs:[0x4622e4]
+mov dword [esp + 0x6c], 2
+mov dword [esp + 0x70], edi
+push esi
+lea eax, [esp + 0x70]
+push eax
+push ebx
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+push eax
+push ebx
+mov esi, dword [esp + 0x9c]
+push esi
+
+loc_0044fe02:
+call dword [cs:__imp__DrawTextA@20] ; ucall: call dword cs:[0x4622e4]
+
+loc_0044fe09:
+mov eax, dword [ref_004762e0] ; mov eax, dword [0x4762e0]
+push eax
+mov edx, dword [esp + 0x90]
+push edx
+call dword [cs:__imp__SetTextColor@8] ; ucall: call dword cs:[0x4622c0]
+test byte [ref_004762d8], 4 ; test byte [0x4762d8], 4
+je short loc_0044fe36 ; je 0x44fe36
+mov edi, 1
+mov dword [esp + 0x6c], edi
+mov dword [esp + 0x70], edi
+jmp short loc_0044fe40 ; jmp 0x44fe40
+
+loc_0044fe36:
+xor ecx, ecx
+mov dword [esp + 0x6c], ecx
+mov dword [esp + 0x70], ecx
+
+loc_0044fe40:
+cmp ebp, 4
+jb short loc_0044fe4e ; jb 0x44fe4e
+jbe short loc_0044fe70 ; jbe 0x44fe70
+cmp ebp, 7
+je short loc_0044fe70 ; je 0x44fe70
+jmp short loc_0044fe8c ; jmp 0x44fe8c
+
+loc_0044fe4e:
+cmp ebp, 3
+jne short loc_0044fe8c ; jne 0x44fe8c
+push ebx
+mov ebx, dword [esp + 0x74]
+push ebx
+mov esi, dword [esp + 0x74]
+push esi
+mov edi, dword [esp + 0x98]
+push edi
+call fcn_0044f7c7 ; call 0x44f7c7
+add esp, 0x10
+jmp short loc_0044fead ; jmp 0x44fead
+
+loc_0044fe70:
+push 1
+lea eax, [esp + 0x70]
+push eax
+push ebx
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+push eax
+push ebx
+mov edx, dword [esp + 0x9c]
+push edx
+jmp short loc_0044fea6 ; jmp 0x44fea6
+
+loc_0044fe8c:
+push 0
+lea eax, [esp + 0x70]
+push eax
+push ebx
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+push eax
+push ebx
+mov ecx, dword [esp + 0x9c]
+push ecx
+
+loc_0044fea6:
+call dword [cs:__imp__DrawTextA@20] ; ucall: call dword cs:[0x4622e4]
+
+loc_0044fead:
+mov eax, dword [ref_004762cc] ; mov eax, dword [0x4762cc]
+mov ebx, dword [eax]
+mov edx, dword [esp + 0x8c]
+push edx
+push eax
+call dword [ebx + 0x68] ; ucall
+mov dword [esp], 0x6c
+mov eax, dword [ref_004762cc] ; mov eax, dword [0x4762cc]
+mov ebx, dword [eax]
+push 0
+push 1
+lea edx, [esp + 8]
+push edx
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+lea eax, [esp + 0x6c]
+push eax
+lea eax, [esp + 0x80]
+push eax
+mov ebx, dword [esp + 0x2c]
+push ebx
+call fcn_0044f70c ; call 0x44f70c
+add esp, 0xc
+mov esi, dword [esp + 0x74]
+sub esi, dword [esp + 0x6c]
+inc esi
+mov ebx, dword [esp + 0x78]
+sub ebx, dword [esp + 0x70]
+inc ebx
+mov eax, dword [esp + 0x24]
+mov dword [ref_004762f0], eax ; mov dword [0x4762f0], eax
+lea eax, [ebp - 1]
+cmp eax, 6
+ja short loc_0044ff5d ; ja 0x44ff5d
+jmp dword [eax*4 + ref_0044faa0] ; ujmp: jmp dword [eax*4 + 0x44faa0]
+
+loc_0044ff21:
+sub dword [esp + 0xac], esi
+jmp short loc_0044ff5d ; jmp 0x44ff5d
+
+loc_0044ff2a:
+mov eax, esi
+sar eax, 1
+sub dword [esp + 0xac], eax
+
+loc_0044ff35:
+mov eax, ebx
+sar eax, 1
+sub dword [esp + 0xb0], eax
+jmp short loc_0044ff5d ; jmp 0x44ff5d
+
+loc_0044ff42:
+sub dword [esp + 0xac], esi
+jmp short loc_0044ff35 ; jmp 0x44ff35
+
+loc_0044ff4b:
+mov eax, esi
+sar eax, 1
+sub dword [esp + 0xac], eax
+sub dword [esp + 0xb0], ebx
+
+loc_0044ff5d:
+test byte [ref_004762d8], 8 ; test byte [0x4762d8], 8
+je short loc_0044ffcc ; je 0x44ffcc
+mov edx, dword [esp + 0xa4]
+test edx, edx
+jne short loc_0044ffa3 ; jne 0x44ffa3
+push ebx
+push esi
+mov ecx, dword [esp + 0x78]
+push ecx
+mov edi, dword [esp + 0x78]
+push edi
+mov ebp, dword [esp + 0xc0]
+push ebp
+mov eax, dword [esp + 0xc0]
+push eax
+push ref_004762e8 ; push 0x4762e8
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004564e6 ; call 0x4564e6
+jmp near loc_0045002c ; jmp 0x45002c
+
+loc_0044ffa3:
+push ebx
+push esi
+mov ecx, dword [esp + 0x78]
+push ecx
+mov edi, dword [esp + 0x78]
+push edi
+mov ebp, dword [esp + 0xc0]
+push ebp
+mov eax, dword [esp + 0xc0]
+push eax
+push ref_004762e8 ; push 0x4762e8
+push edx
+call fcn_00456356 ; call 0x456356
+jmp short loc_0045002c ; jmp 0x45002c
+
+loc_0044ffcc:
+mov eax, dword [esp + 0xa4]
+test eax, eax
+jne short loc_00450005 ; jne 0x450005
+push ebx
+push esi
+mov edx, dword [esp + 0x78]
+push edx
+mov ecx, dword [esp + 0x78]
+push ecx
+mov edi, dword [esp + 0xc0]
+push edi
+mov ebp, dword [esp + 0xc0]
+push ebp
+push ref_004762e8 ; push 0x4762e8
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456495 ; call 0x456495
+jmp short loc_0045002c ; jmp 0x45002c
+
+loc_00450005:
+push ebx
+push esi
+mov edx, dword [esp + 0x78]
+push edx
+mov ecx, dword [esp + 0x78]
+push ecx
+mov edi, dword [esp + 0xc0]
+push edi
+mov ebp, dword [esp + 0xc0]
+push ebp
+push ref_004762e8 ; push 0x4762e8
+push eax
+call fcn_00456328 ; call 0x456328
+
+loc_0045002c:
+add esp, 0x20
+push 0
+push ebx
+push esi
+mov ecx, dword [esp + 0x7c]
+push ecx
+mov ebx, dword [esp + 0x7c]
+push ebx
+push ref_004762e8 ; push 0x4762e8
+call fcn_004561be ; call 0x4561be
+add esp, 0x18
+mov eax, dword [ref_004762cc] ; mov eax, dword [0x4762cc]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+
+loc_0045005a:
+add esp, 0x90
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+ref_00450065:
+db 0x41
+db 0x3a
+db 0x5c
+db 0x00
+
+fcn_00450069:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+push ref_004660a8 ; push 0x4660a8
+push ebx
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_004500c5 ; jne 0x4500c5
+mov esi, dword [ebx + 0x14]
+mov eax, dword [ebx + 8]
+add eax, ebx
+add eax, 0x200
+mov dword [ebx + 0x14], eax
+mov eax, 1
+
+loc_00450098:
+cmp eax, dword [ebx + 4]
+jge short loc_004500c5 ; jge 0x4500c5
+mov edx, eax
+shl edx, 2
+sub edx, eax
+shl edx, 2
+lea ecx, [ebx + edx]
+mov ebp, dword [ecx + 0x14]
+lea edi, [eax - 1]
+mov edx, edi
+shl edx, 2
+sub edx, edi
+mov edi, dword [ebx + edx*4 + 0x14]
+add esi, edi
+mov dword [ecx + 0x14], esi
+mov esi, ebp
+inc eax
+jmp short loc_00450098 ; jmp 0x450098
+
+loc_004500c5:
+push ref_004660ac ; push 0x4660ac
+push ebx
+call fcn_00458370 ; call 0x458370
+add esp, 8
+test eax, eax
+jne short loc_00450115 ; jne 0x450115
+mov esi, dword [ebx + 0x14]
+mov eax, dword [ebx + 8]
+lea edx, [ebx + eax]
+mov dword [ebx + 0x14], edx
+mov eax, 1
+
+loc_004500e8:
+cmp eax, dword [ebx + 4]
+jge short loc_00450115 ; jge 0x450115
+mov edx, eax
+shl edx, 2
+sub edx, eax
+shl edx, 2
+lea ecx, [ebx + edx]
+mov ebp, dword [ecx + 0x14]
+lea edi, [eax - 1]
+mov edx, edi
+shl edx, 2
+sub edx, edi
+mov edi, dword [ebx + edx*4 + 0x14]
+add esi, edi
+mov dword [ecx + 0x14], esi
+mov esi, ebp
+inc eax
+jmp short loc_004500e8 ; jmp 0x4500e8
+
+loc_00450115:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045011a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x44
+mov eax, dword [ref_00450065] ; mov eax, dword [0x450065]
+mov dword [esp + 0x3c], eax
+xor edx, edx
+mov dword [esp + 0x40], edx
+xor ebp, ebp
+jmp short loc_00450142 ; jmp 0x450142
+
+loc_00450134:
+mov ecx, dword [esp + 0x40]
+inc ecx
+mov dword [esp + 0x40], ecx
+cmp ecx, 0x1a
+jge short loc_00450168 ; jge 0x450168
+
+loc_00450142:
+mov al, byte [esp + 0x40]
+add al, 0x41
+mov byte [esp + 0x3c], al
+lea eax, [esp + 0x3c]
+push eax
+call dword [cs:__imp__GetDriveTypeA@4] ; ucall: call dword cs:[0x462394]
+cmp eax, 2
+je short loc_00450134 ; je 0x450134
+mov al, byte [esp + 0x3c]
+mov byte [esp + ebp + 0x20], al
+inc ebp
+jmp short loc_00450134 ; jmp 0x450134
+
+loc_00450168:
+test ebp, ebp
+jne short loc_00450187 ; jne 0x450187
+push 0x10
+push ref_004660b0 ; push 0x4660b0
+push ref_004660b5 ; push 0x4660b5
+push ebp
+call dword [cs:__imp__MessageBoxA@16] ; ucall: call dword cs:[0x462308]
+
+loc_00450180:
+xor eax, eax
+jmp near loc_004502f6 ; jmp 0x4502f6
+
+loc_00450187:
+push ref_004660c4 ; push 0x4660c4
+push ref_004660c7 ; push 0x4660c7
+call fcn_004573bf ; call 0x4573bf
+add esp, 8
+test eax, eax
+jne near loc_00450234 ; jne 0x450234
+mov dword [esp + 0x40], eax
+
+loc_004501a5:
+xor ebx, ebx
+
+loc_004501a7:
+cmp ebx, ebp
+jge short loc_004501ff ; jge 0x4501ff
+cmp dword [esp + 0x40], 0
+jne short loc_004501ff ; jne 0x4501ff
+xor eax, eax
+mov al, byte [esp + ebx + 0x20]
+push eax
+push ref_004660d0 ; push 0x4660d0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push ref_004660c4 ; push 0x4660c4
+lea eax, [esp + 4]
+push eax
+call fcn_004573bf ; call 0x4573bf
+add esp, 8
+test eax, eax
+je short loc_004501fc ; je 0x4501fc
+mov dl, byte [esp + ebx + 0x20]
+mov byte [ref_00476374], dl ; mov byte [0x476374], dl
+push eax
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+mov dword [esp + 0x40], 1
+
+loc_004501fc:
+inc ebx
+jmp short loc_004501a7 ; jmp 0x4501a7
+
+loc_004501ff:
+mov eax, dword [esp + 0x40]
+test eax, eax
+jne short loc_00450224 ; jne 0x450224
+push 0x15
+push ref_004660b0 ; push 0x4660b0
+push ref_004660dd ; push 0x4660dd
+push eax
+call dword [cs:__imp__MessageBoxA@16] ; ucall: call dword cs:[0x462308]
+cmp eax, 4
+jne near loc_00450180 ; jne 0x450180
+
+loc_00450224:
+cmp dword [esp + 0x40], 0
+je near loc_004501a5 ; je 0x4501a5
+jmp near loc_004502f1 ; jmp 0x4502f1
+
+loc_00450234:
+push eax
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+xor esi, esi
+mov dword [esp + 0x40], esi
+
+loc_00450243:
+xor ebx, ebx
+
+loc_00450245:
+cmp ebx, ebp
+jge near loc_004502c1 ; jge 0x4502c1
+mov eax, dword [esp + 0x40]
+test eax, eax
+jne short loc_004502c1 ; jne 0x4502c1
+mov al, byte [esp + ebx + 0x20]
+push eax
+push ref_004660f0 ; push 0x4660f0
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push ref_004660c4 ; push 0x4660c4
+lea eax, [esp + 4]
+push eax
+call fcn_004573bf ; call 0x4573bf
+mov esi, eax
+add esp, 8
+test eax, eax
+je short loc_004502be ; je 0x4502be
+push 2
+push 0
+push eax
+call fcn_0045753a ; call 0x45753a
+add esp, 0xc
+push esi
+call fcn_00458532 ; call 0x458532
+mov edi, eax
+add esp, 4
+push esi
+call fcn_004578c5 ; call 0x4578c5
+add esp, 4
+cmp edi, 0x2625a00
+nop
+nop
+mov al, byte [esp + ebx + 0x20]
+mov byte [ref_00476374], al ; mov byte [0x476374], al
+mov dword [esp + 0x40], 1
+
+loc_004502be:
+inc ebx
+jmp short loc_00450245 ; jmp 0x450245
+
+loc_004502c1:
+mov edx, dword [esp + 0x40]
+test edx, edx
+jne short loc_004502e6 ; jne 0x4502e6
+push 0x15
+push ref_004660b0 ; push 0x4660b0
+push ref_004660fd ; push 0x4660fd
+push edx
+call dword [cs:__imp__MessageBoxA@16] ; ucall: call dword cs:[0x462308]
+cmp eax, 4
+jne near loc_00450180 ; jne 0x450180
+
+loc_004502e6:
+cmp dword [esp + 0x40], 0
+je near loc_00450243 ; je 0x450243
+
+loc_004502f1:
+mov eax, 1
+
+loc_004502f6:
+add esp, 0x44
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004502fe:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x30
+xor esi, esi
+cmp dword [ref_004762f4], 0xffffffff ; cmp dword [0x4762f4], 0xffffffff
+jne short loc_00450323 ; jne 0x450323
+push 0x80
+push esi
+push ref_004762f4 ; push 0x4762f4
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+
+loc_00450323:
+push 0
+push 0x80
+push 3
+push 0
+push 0
+push 0x80000000
+mov ecx, dword [esp + 0x5c]
+push ecx
+call dword [cs:__imp__CreateFileA@28] ; ucall: call dword cs:[0x462350]
+mov edi, eax
+cmp eax, 0xffffffff
+jne short loc_00450389 ; jne 0x450389
+mov ebx, dword [esp + 0x44]
+push ebx
+push ref_00476374 ; push 0x476374
+push ref_00466110 ; push 0x466110
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push 0x80
+push 3
+push 0
+push 0
+push 0x80000000
+lea eax, [esp + 0x18]
+push eax
+call dword [cs:__imp__CreateFileA@28] ; ucall: call dword cs:[0x462350]
+mov edi, eax
+cmp eax, 0xffffffff
+je short loc_004503fc ; je 0x4503fc
+
+loc_00450389:
+mov ebx, esi
+shl ebx, 3
+mov ebp, dword [ebx + ref_004762f4] ; mov ebp, dword [ebx + 0x4762f4]
+test ebp, ebp
+je short loc_0045039b ; je 0x45039b
+inc esi
+jmp short loc_00450389 ; jmp 0x450389
+
+loc_0045039b:
+mov dword [ebx + ref_004762f4], edi ; mov dword [ebx + 0x4762f4], edi
+push ebp
+lea eax, [esp + 0x2c]
+push eax
+push 4
+lea eax, [esp + 0x38]
+push eax
+push edi
+call dword [cs:__imp__ReadFile@20] ; ucall: call dword cs:[0x4623ec]
+push ebp
+push edi
+call dword [cs:__imp__GetFileSize@8] ; ucall: call dword cs:[0x4623a0]
+mov edx, dword [esp + 0x2c]
+mov ebp, eax
+sub ebp, edx
+push 0
+push 0
+push edx
+push edi
+call dword [cs:__imp__SetFilePointer@16] ; ucall: call dword cs:[0x462404]
+push ebp
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov dword [ebx + ref_004762f8], eax ; mov dword [ebx + 0x4762f8], eax
+push 0
+lea eax, [esp + 0x2c]
+push eax
+push ebp
+mov ebp, dword [ebx + ref_004762f8] ; mov ebp, dword [ebx + 0x4762f8]
+push ebp
+push edi
+call dword [cs:__imp__ReadFile@20] ; ucall: call dword cs:[0x4623ec]
+mov eax, esi
+
+loc_004503fc:
+add esp, 0x30
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00450404:
+push ebx
+push esi
+push edi
+mov ebx, dword [esp + 0x10]
+shl ebx, 3
+mov edx, dword [ebx + ref_004762f4] ; mov edx, dword [ebx + 0x4762f4]
+test edx, edx
+je short loc_0045043d ; je 0x45043d
+push edx
+call dword [cs:__imp__CloseHandle@4] ; ucall: call dword cs:[0x462348]
+mov esi, dword [ebx + ref_004762f8] ; mov esi, dword [ebx + 0x4762f8]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor edi, edi
+mov dword [ebx + ref_004762f4], edi ; mov dword [ebx + 0x4762f4], edi
+mov dword [ebx + ref_004762f8], edi ; mov dword [ebx + 0x4762f8], edi
+
+loc_0045043d:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00450441:
+push ebx
+push esi
+push edi
+sub esp, 0x14
+mov ebx, dword [esp + 0x2c]
+mov eax, dword [esp + 0x24]
+shl eax, 3
+mov esi, dword [eax + ref_004762f4] ; mov esi, dword [eax + 0x4762f4]
+test esi, esi
+jne short loc_00450463 ; jne 0x450463
+xor eax, eax
+jmp near loc_0045054e ; jmp 0x45054e
+
+loc_00450463:
+push 0
+push 0
+mov edi, dword [esp + 0x30]
+mov eax, dword [eax + ref_004762f8] ; mov eax, dword [eax + 0x4762f8]
+mov edx, dword [eax + edi*4]
+push edx
+push esi
+call dword [cs:__imp__SetFilePointer@16] ; ucall: call dword cs:[0x462404]
+push 0
+lea eax, [esp + 0x14]
+push eax
+push 0x10
+lea eax, [esp + 0xc]
+push eax
+push esi
+call dword [cs:__imp__ReadFile@20] ; ucall: call dword cs:[0x4623ec]
+test ebx, ebx
+jne short loc_004504a5 ; jne 0x4504a5
+mov ecx, dword [esp]
+push ecx
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov ebx, eax
+
+loc_004504a5:
+mov eax, dword [esp + 4]
+mov edi, dword [esp]
+cmp eax, edi
+jne short loc_004504c3 ; jne 0x4504c3
+push 0
+lea eax, [esp + 0x14]
+push eax
+push edi
+push ebx
+push esi
+call dword [cs:__imp__ReadFile@20] ; ucall: call dword cs:[0x4623ec]
+jmp short loc_004504f6 ; jmp 0x4504f6
+
+loc_004504c3:
+push eax
+call fcn_00456f80 ; call 0x456f80
+mov edi, eax
+add esp, 4
+push 0
+lea eax, [esp + 0x14]
+push eax
+mov eax, dword [esp + 0xc]
+push eax
+push edi
+push esi
+call dword [cs:__imp__ReadFile@20] ; ucall: call dword cs:[0x4623ec]
+push edi
+push ebx
+call fcn_00455040 ; call 0x455040
+add esp, 8
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_004504f6:
+mov ecx, dword [esp + 0xc]
+test ecx, ecx
+je short loc_0045050e ; je 0x45050e
+push ecx
+mov eax, dword [esp + 0xc]
+add eax, ebx
+push eax
+call fcn_00451801 ; call 0x451801
+add esp, 8
+
+loc_0045050e:
+mov edi, dword [esp + 0x30]
+test edi, edi
+je short loc_0045051b ; je 0x45051b
+mov eax, dword [esp]
+mov dword [edi], eax
+
+loc_0045051b:
+push 3
+push ref_004660a8 ; push 0x4660a8
+push ebx
+call fcn_00458599 ; call 0x458599
+add esp, 0xc
+test eax, eax
+je short loc_00450543 ; je 0x450543
+push 3
+push ref_004660ac ; push 0x4660ac
+push ebx
+call fcn_00458599 ; call 0x458599
+add esp, 0xc
+test eax, eax
+jne short loc_0045054c ; jne 0x45054c
+
+loc_00450543:
+push ebx
+call fcn_00450069 ; call 0x450069
+add esp, 4
+
+loc_0045054c:
+mov eax, ebx
+
+loc_0045054e:
+add esp, 0x14
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00450555:
+push ebx
+push esi
+push edi
+mov ebx, dword [esp + 0x10]
+xor edi, edi
+xor esi, esi
+mov si, word [ebx]
+add ebx, 2
+
+loc_00450566:
+dec esi
+cmp esi, 0xffffffff
+je short loc_00450596 ; je 0x450596
+xor eax, eax
+mov al, byte [ebx]
+inc ebx
+add edi, eax
+xor eax, eax
+mov al, byte [ebx]
+inc ebx
+test eax, eax
+jne short loc_00450581 ; jne 0x450581
+mov eax, 0x100
+
+loc_00450581:
+push eax
+push ebx
+lea eax, [edi + edi]
+add eax, ref_0048c630 ; add eax, 0x48c630
+push eax
+call fcn_0045520d ; call 0x45520d
+add esp, 0xc
+jmp short loc_00450566 ; jmp 0x450566
+
+loc_00450596:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045059a:
+push ebx
+push esi
+push edi
+sub esp, 0x10
+mov edi, dword [esp + 0x20]
+mov ecx, dword [esp + 0x24]
+xor eax, eax
+mov ax, word [ecx]
+mov dword [esp], eax
+xor edx, edx
+mov dword [esp + 4], edx
+add ecx, 2
+
+loc_004505b9:
+mov eax, dword [esp + 4]
+cmp eax, dword [esp]
+jge near loc_004506c0 ; jge 0x4506c0
+
+loc_004505c6:
+mov eax, edi
+mov dx, word [ecx]
+mov word [esp + 8], dx
+xor dl, dl
+and dh, 0xc0
+add ecx, 2
+cmp dx, 0xc000
+je near loc_0045068b ; je 0x45068b
+test byte [esp + 9], 0x80
+jne near loc_004506b1 ; jne 0x4506b1
+
+loc_004505ee:
+mov ebx, dword [esp + 8]
+dec ebx
+mov word [esp + 8], bx
+cmp bx, 0xffff
+je near loc_004506b1 ; je 0x4506b1
+mov dl, byte [ecx]
+mov byte [esp + 0xc], dl
+xor edx, edx
+mov dl, byte [esp + 0xc]
+add edx, edx
+inc ecx
+add eax, edx
+mov dl, byte [ecx]
+mov byte [esp + 0xc], dl
+inc ecx
+cmp dl, 0x80
+jae short loc_00450640 ; jae 0x450640
+movzx esi, dl
+add esi, esi
+xor edx, edx
+
+loc_00450626:
+cmp edx, esi
+jge short loc_004505ee ; jge 0x4505ee
+xor ebx, ebx
+mov bl, byte [ecx]
+mov bx, word [ebx*2 + ref_0048c630] ; mov bx, word [ebx*2 + 0x48c630]
+mov word [eax], bx
+add eax, 2
+inc ecx
+inc edx
+jmp short loc_00450626 ; jmp 0x450626
+
+loc_00450640:
+mov dl, 0
+mov bl, byte [esp + 0xc]
+sub dl, bl
+mov byte [esp + 0xc], dl
+xor edx, edx
+mov dl, byte [ecx]
+xor esi, esi
+mov si, word [edx*2 + ref_0048c630] ; mov si, word [edx*2 + 0x48c630]
+shl esi, 0x10
+inc ecx
+xor edx, edx
+mov dl, byte [ecx]
+mov dx, word [edx*2 + ref_0048c630] ; mov dx, word [edx*2 + 0x48c630]
+and edx, 0xffff
+inc ecx
+add esi, edx
+xor edx, edx
+
+loc_00450675:
+xor ebx, ebx
+mov bl, byte [esp + 0xc]
+cmp edx, ebx
+jge near loc_004505ee ; jge 0x4505ee
+mov dword [eax], esi
+add eax, 4
+inc edx
+jmp short loc_00450675 ; jmp 0x450675
+
+loc_0045068b:
+mov eax, 0x10000
+mov edx, dword [esp + 8]
+sub eax, edx
+mov word [esp + 8], ax
+xor edx, edx
+mov dx, ax
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 8
+add edi, eax
+jmp near loc_004505c6 ; jmp 0x4505c6
+
+loc_004506b1:
+add edi, 0x500
+inc dword [esp + 4]
+jmp near loc_004505b9 ; jmp 0x4505b9
+
+loc_004506c0:
+add esp, 0x10
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004506c7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+mov esi, dword [esp + 0x2c]
+xor eax, eax
+mov ax, word [esi]
+mov dword [esp], eax
+xor edx, edx
+mov dword [esp + 4], edx
+add esi, 2
+
+loc_004506e3:
+mov eax, dword [esp + 4]
+cmp eax, dword [esp]
+jge near loc_0045088c ; jge 0x45088c
+mov eax, dword [esp + 0x28]
+mov edx, dword [esp + 0x30]
+
+loc_004506f8:
+mov bx, word [esi]
+mov word [esp + 0xc], bx
+xor bl, bl
+and bh, 0xc0
+add esi, 2
+cmp bx, 0xc000
+je near loc_0045082e ; je 0x45082e
+test byte [esp + 0xd], 0x80
+jne near loc_00450872 ; jne 0x450872
+
+loc_0045071e:
+mov ebx, dword [esp + 0xc]
+dec ebx
+mov word [esp + 0xc], bx
+cmp bx, 0xffff
+je near loc_00450872 ; je 0x450872
+xor bh, bh
+mov bl, byte [esi]
+add ebx, ebx
+xor ecx, ecx
+mov cx, bx
+inc esi
+add eax, ecx
+add edx, ecx
+mov bh, byte [esi]
+inc esi
+cmp bh, 0x80
+jae short loc_0045077b ; jae 0x45077b
+movzx ebp, bh
+add ebp, ebp
+xor ecx, ecx
+
+loc_00450751:
+cmp ecx, ebp
+jge short loc_0045071e ; jge 0x45071e
+mov bl, byte [esi]
+inc esi
+test bl, bl
+je short loc_0045076c ; je 0x45076c
+and ebx, 0xff
+mov bx, word [ebx*2 + ref_0048c630] ; mov bx, word [ebx*2 + 0x48c630]
+jmp short loc_0045076f ; jmp 0x45076f
+
+loc_0045076c:
+mov bx, word [edx]
+
+loc_0045076f:
+mov word [eax], bx
+add eax, 2
+add edx, 2
+inc ecx
+jmp short loc_00450751 ; jmp 0x450751
+
+loc_0045077b:
+mov bl, 0
+sub bl, bh
+mov bh, bl
+mov bl, byte [esi]
+inc esi
+mov cl, byte [esi]
+mov byte [esp + 0x10], cl
+inc esi
+test bl, bl
+je short loc_004507e3 ; je 0x4507e3
+test cl, cl
+je short loc_004507e3 ; je 0x4507e3
+xor ecx, ecx
+mov cl, byte [esp + 0x10]
+mov cx, word [ecx*2 + ref_0048c630] ; mov cx, word [ecx*2 + 0x48c630]
+mov ebp, ecx
+and ebp, 0xffff
+shl ebp, 0x10
+xor ecx, ecx
+mov cl, bl
+mov cx, word [ecx*2 + ref_0048c630] ; mov cx, word [ecx*2 + 0x48c630]
+and ecx, 0xffff
+add ecx, ebp
+mov dword [esp + 8], ecx
+xor ecx, ecx
+
+loc_004507c6:
+movzx ebp, bh
+cmp ecx, ebp
+jge short loc_004507d9 ; jge 0x4507d9
+mov ebp, dword [esp + 8]
+mov dword [eax], ebp
+add eax, 4
+inc ecx
+jmp short loc_004507c6 ; jmp 0x4507c6
+
+loc_004507d9:
+shl ebp, 2
+add edx, ebp
+jmp near loc_0045071e ; jmp 0x45071e
+
+loc_004507e3:
+xor ecx, ecx
+
+loc_004507e5:
+movzx ebp, bh
+cmp ecx, ebp
+jge near loc_0045071e ; jge 0x45071e
+test bl, bl
+je short loc_00450801 ; je 0x450801
+movzx ebp, bl
+mov di, word [ebp*2 + ref_0048c630] ; mov di, word [ebp*2 + 0x48c630]
+jmp short loc_00450804 ; jmp 0x450804
+
+loc_00450801:
+mov di, word [edx]
+
+loc_00450804:
+mov word [eax], di
+cmp byte [esp + 0x10], 0
+je short loc_0045081d ; je 0x45081d
+movzx ebp, byte [esp + 0x10]
+mov di, word [ebp*2 + ref_0048c630] ; mov di, word [ebp*2 + 0x48c630]
+jmp short loc_00450821 ; jmp 0x450821
+
+loc_0045081d:
+mov di, word [edx + 2]
+
+loc_00450821:
+mov word [eax + 2], di
+add eax, 4
+add edx, 4
+inc ecx
+jmp short loc_004507e5 ; jmp 0x4507e5
+
+loc_0045082e:
+mov eax, 0x10000
+mov edx, dword [esp + 0xc]
+sub eax, edx
+mov word [esp + 0xc], ax
+xor edx, edx
+mov dx, ax
+mov eax, dword [ref_0048c864] ; mov eax, dword [0x48c864]
+imul eax, edx
+mov ebx, dword [esp + 0x28]
+add ebx, eax
+mov dword [esp + 0x28], ebx
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 8
+mov edi, dword [esp + 0x30]
+add edi, eax
+mov dword [esp + 0x30], edi
+mov eax, ebx
+mov edx, edi
+jmp near loc_004506f8 ; jmp 0x4506f8
+
+loc_00450872:
+mov eax, dword [ref_0048c864] ; mov eax, dword [0x48c864]
+add dword [esp + 0x28], eax
+add dword [esp + 0x30], 0x500
+inc dword [esp + 4]
+jmp near loc_004506e3 ; jmp 0x4506e3
+
+loc_0045088c:
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00450894:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+mov ebp, dword [esp + 0x20]
+mov ecx, dword [esp + 0x24]
+xor eax, eax
+mov ax, word [ecx]
+mov dword [esp], eax
+mov edx, eax
+shl eax, 2
+add eax, edx
+shl eax, 8
+add ebp, eax
+xor eax, eax
+mov ax, word [ecx + 2]
+mov dword [esp], eax
+xor edi, edi
+add ecx, 4
+
+loc_004508c5:
+cmp edi, dword [esp]
+jge near loc_00450962 ; jge 0x450962
+mov eax, ebp
+mov dl, byte [ecx]
+mov byte [esp + 8], dl
+inc ecx
+
+loc_004508d7:
+mov dl, byte [esp + 8]
+dec dl
+mov byte [esp + 8], dl
+cmp dl, 0xff
+je near loc_00450956 ; je 0x450956
+mov dl, byte [ecx]
+mov byte [esp + 4], dl
+xor edx, edx
+mov dl, byte [esp + 4]
+add edx, edx
+inc ecx
+add eax, edx
+mov dl, byte [ecx]
+mov byte [esp + 4], dl
+inc ecx
+cmp dl, 0x80
+jae short loc_00450929 ; jae 0x450929
+xor edx, edx
+
+loc_00450909:
+xor ebx, ebx
+mov bl, byte [esp + 4]
+cmp edx, ebx
+jge short loc_004508d7 ; jge 0x4508d7
+xor ebx, ebx
+mov bl, byte [ecx]
+mov bx, word [ebx*2 + ref_0048c630] ; mov bx, word [ebx*2 + 0x48c630]
+mov word [eax], bx
+add eax, 2
+inc ecx
+inc edx
+jmp short loc_00450909 ; jmp 0x450909
+
+loc_00450929:
+mov dl, 0
+mov bh, byte [esp + 4]
+sub dl, bh
+mov byte [esp + 4], dl
+movzx esi, byte [ecx]
+mov si, word [esi*2 + ref_0048c630] ; mov si, word [esi*2 + 0x48c630]
+xor edx, edx
+inc ecx
+
+loc_00450943:
+xor ebx, ebx
+mov bl, byte [esp + 4]
+cmp edx, ebx
+jge short loc_004508d7 ; jge 0x4508d7
+mov word [eax], si
+add eax, 2
+inc edx
+jmp short loc_00450943 ; jmp 0x450943
+
+loc_00450956:
+add ebp, 0x500
+inc edi
+jmp near loc_004508c5 ; jmp 0x4508c5
+
+loc_00450962:
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045096a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov ebx, dword [esp + 0x28]
+xor edx, edx
+mov dx, word [ebx]
+mov dword [esp], edx
+imul edx, dword [ref_0048c864] ; imul edx, dword [0x48c864]
+add dword [esp + 0x24], edx
+mov ecx, dword [esp]
+mov edx, ecx
+shl edx, 2
+add edx, ecx
+shl edx, 8
+add dword [esp + 0x2c], edx
+xor edx, edx
+mov dx, word [ebx + 2]
+mov dword [esp], edx
+xor ebp, ebp
+mov dword [esp + 4], ebp
+add ebx, 4
+
+loc_004509ab:
+mov edx, dword [esp + 4]
+cmp edx, dword [esp]
+jge near loc_00450a95 ; jge 0x450a95
+mov esi, dword [esp + 0x24]
+mov edi, dword [esp + 0x2c]
+mov al, byte [ebx]
+mov byte [esp + 0xc], al
+inc ebx
+
+loc_004509c7:
+mov ah, byte [esp + 0xc]
+dec ah
+mov byte [esp + 0xc], ah
+cmp ah, 0xff
+je near loc_00450a7a ; je 0x450a7a
+xor ah, ah
+mov al, byte [ebx]
+add eax, eax
+xor edx, edx
+mov dx, ax
+inc ebx
+add esi, edx
+add edi, edx
+mov al, byte [ebx]
+inc ebx
+cmp al, 0x80
+jae short loc_00450a1d ; jae 0x450a1d
+xor edx, edx
+
+loc_004509f3:
+movzx ebp, al
+cmp edx, ebp
+jge short loc_004509c7 ; jge 0x4509c7
+mov ah, byte [ebx]
+inc ebx
+test ah, ah
+je short loc_00450a0e ; je 0x450a0e
+movzx ebp, ah
+mov cx, word [ebp*2 + ref_0048c630] ; mov cx, word [ebp*2 + 0x48c630]
+jmp short loc_00450a11 ; jmp 0x450a11
+
+loc_00450a0e:
+mov cx, word [edi]
+
+loc_00450a11:
+mov word [esi], cx
+add esi, 2
+add edi, 2
+inc edx
+jmp short loc_004509f3 ; jmp 0x4509f3
+
+loc_00450a1d:
+mov ah, 0
+sub ah, al
+mov al, ah
+mov ah, byte [ebx]
+inc ebx
+test ah, ah
+je short loc_00450a51 ; je 0x450a51
+xor ecx, ecx
+mov cl, ah
+mov cx, word [ecx*2 + ref_0048c630] ; mov cx, word [ecx*2 + 0x48c630]
+xor edx, edx
+movzx ebp, al
+
+loc_00450a3b:
+cmp edx, ebp
+jge short loc_00450a48 ; jge 0x450a48
+mov word [esi], cx
+add esi, 2
+inc edx
+jmp short loc_00450a3b ; jmp 0x450a3b
+
+loc_00450a48:
+add ebp, ebp
+add edi, ebp
+jmp near loc_004509c7 ; jmp 0x4509c7
+
+loc_00450a51:
+xor dh, dh
+mov dl, al
+add edx, eax
+mov dword [esp + 8], edx
+xor edx, edx
+mov dl, al
+push edx
+push edi
+push esi
+call fcn_00456dbb ; call 0x456dbb
+add esp, 0xc
+xor edx, edx
+mov dx, word [esp + 8]
+add esi, edx
+add edi, edx
+jmp near loc_004509c7 ; jmp 0x4509c7
+
+loc_00450a7a:
+mov edx, dword [ref_0048c864] ; mov edx, dword [0x48c864]
+add dword [esp + 0x24], edx
+add dword [esp + 0x2c], 0x500
+inc dword [esp + 4]
+jmp near loc_004509ab ; jmp 0x4509ab
+
+loc_00450a95:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00450a9d:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ecx, dword [esp + 0x1c]
+xor ebp, ebp
+
+loc_00450aaa:
+cmp ebp, dword [ref_0048c87c] ; cmp ebp, dword [0x48c87c]
+jge near loc_00450b32 ; jge 0x450b32
+mov eax, dword [esp + 0x18]
+xor edi, edi
+inc ecx
+
+loc_00450abd:
+cmp edi, dword [ref_0048c878] ; cmp edi, dword [0x48c878]
+jge short loc_00450b24 ; jge 0x450b24
+mov dl, byte [ecx]
+mov byte [esp], dl
+inc ecx
+cmp dl, 0x80
+jbe short loc_00450afb ; jbe 0x450afb
+mov dl, 0
+mov dh, byte [esp]
+sub dl, dh
+mov byte [esp], dl
+xor edx, edx
+
+loc_00450adc:
+xor ebx, ebx
+mov bl, byte [esp]
+cmp edx, ebx
+jge short loc_00450b1b ; jge 0x450b1b
+xor ebx, ebx
+mov bl, byte [ecx]
+mov bx, word [ebx*2 + ref_0048c630] ; mov bx, word [ebx*2 + 0x48c630]
+mov word [eax], bx
+add eax, 2
+inc ecx
+inc edx
+jmp short loc_00450adc ; jmp 0x450adc
+
+loc_00450afb:
+movzx esi, byte [ecx]
+mov si, word [esi*2 + ref_0048c630] ; mov si, word [esi*2 + 0x48c630]
+xor edx, edx
+inc ecx
+
+loc_00450b09:
+xor ebx, ebx
+mov bl, byte [esp]
+cmp edx, ebx
+jge short loc_00450b1b ; jge 0x450b1b
+mov word [eax], si
+add eax, 2
+inc edx
+jmp short loc_00450b09 ; jmp 0x450b09
+
+loc_00450b1b:
+xor edx, edx
+mov dl, byte [esp]
+add edi, edx
+jmp short loc_00450abd ; jmp 0x450abd
+
+loc_00450b24:
+add dword [esp + 0x18], 0x500
+inc ebp
+jmp near loc_00450aaa ; jmp 0x450aaa
+
+loc_00450b32:
+add esp, 4
+pop ebp
+
+loc_00450b36:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00450b3a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+mov esi, dword [esp + 0x24]
+xor edx, edx
+mov dword [esp], edx
+
+loc_00450b4a:
+mov eax, dword [esp]
+cmp eax, dword [ref_0048c87c] ; cmp eax, dword [0x48c87c]
+jge near loc_00450962 ; jge 0x450962
+mov ebx, dword [esp + 0x20]
+mov edi, dword [esp + 0x28]
+xor ebp, ebp
+inc esi
+
+loc_00450b64:
+cmp ebp, dword [ref_0048c878] ; cmp ebp, dword [0x48c878]
+jge near loc_00450c1c ; jge 0x450c1c
+mov al, byte [esi]
+mov byte [esp + 8], al
+inc esi
+cmp al, 0x80
+jbe short loc_00450bbd ; jbe 0x450bbd
+mov al, 0
+mov dl, byte [esp + 8]
+sub al, dl
+mov byte [esp + 8], al
+xor eax, eax
+
+loc_00450b89:
+xor edx, edx
+mov dl, byte [esp + 8]
+cmp eax, edx
+jge near loc_00450c0f ; jge 0x450c0f
+mov dl, byte [esi]
+inc esi
+test dl, dl
+je short loc_00450bae ; je 0x450bae
+and edx, 0xff
+mov dx, word [edx*2 + ref_0048c630] ; mov dx, word [edx*2 + 0x48c630]
+jmp short loc_00450bb1 ; jmp 0x450bb1
+
+loc_00450bae:
+mov dx, word [edi]
+
+loc_00450bb1:
+mov word [ebx], dx
+add ebx, 2
+add edi, 2
+inc eax
+jmp short loc_00450b89 ; jmp 0x450b89
+
+loc_00450bbd:
+mov dl, byte [esi]
+inc esi
+test dl, dl
+je short loc_00450beb ; je 0x450beb
+xor ecx, ecx
+mov cl, dl
+mov cx, word [ecx*2 + ref_0048c630] ; mov cx, word [ecx*2 + 0x48c630]
+xor eax, eax
+
+loc_00450bd2:
+xor edx, edx
+mov dl, byte [esp + 8]
+cmp eax, edx
+jge short loc_00450be5 ; jge 0x450be5
+mov word [ebx], cx
+add ebx, 2
+inc eax
+jmp short loc_00450bd2 ; jmp 0x450bd2
+
+loc_00450be5:
+add edx, edx
+add edi, edx
+jmp short loc_00450c0f ; jmp 0x450c0f
+
+loc_00450beb:
+xor ah, ah
+add eax, eax
+mov dword [esp + 4], eax
+xor eax, eax
+mov al, byte [esp + 8]
+push eax
+push edi
+push ebx
+call fcn_00456dbb ; call 0x456dbb
+add esp, 0xc
+xor eax, eax
+mov ax, word [esp + 4]
+add ebx, eax
+add edi, eax
+
+loc_00450c0f:
+xor eax, eax
+mov al, byte [esp + 8]
+add ebp, eax
+jmp near loc_00450b64 ; jmp 0x450b64
+
+loc_00450c1c:
+mov eax, dword [ref_0048c864] ; mov eax, dword [0x48c864]
+add dword [esp + 0x20], eax
+add dword [esp + 0x28], 0x500
+inc dword [esp]
+jmp near loc_00450b4a ; jmp 0x450b4a
+
+fcn_00450c35:
+push ebx
+push esi
+push edi
+mov edi, dword [esp + 0x10]
+mov edx, dword [esp + 0x14]
+xor esi, esi
+
+loc_00450c42:
+cmp esi, dword [ref_0048c87c] ; cmp esi, dword [0x48c87c]
+jge near loc_00450b36 ; jge 0x450b36
+mov eax, edi
+xor ecx, ecx
+
+loc_00450c52:
+cmp ecx, dword [ref_0048c878] ; cmp ecx, dword [0x48c878]
+jge short loc_00450c70 ; jge 0x450c70
+xor ebx, ebx
+mov bl, byte [edx]
+mov bx, word [ebx*2 + ref_0048c630] ; mov bx, word [ebx*2 + 0x48c630]
+mov word [eax], bx
+add eax, 2
+inc edx
+inc ecx
+jmp short loc_00450c52 ; jmp 0x450c52
+
+loc_00450c70:
+add edi, 0x500
+inc esi
+jmp short loc_00450c42 ; jmp 0x450c42
+
+fcn_00450c79:
+push ebx
+push esi
+push edi
+mov ecx, dword [esp + 0x14]
+xor edi, edi
+
+loc_00450c82:
+cmp edi, dword [ref_0048c87c] ; cmp edi, dword [0x48c87c]
+jge near loc_00450b36 ; jge 0x450b36
+mov eax, dword [esp + 0x10]
+mov edx, dword [esp + 0x18]
+xor esi, esi
+
+loc_00450c98:
+cmp esi, dword [ref_0048c878] ; cmp esi, dword [0x48c878]
+jge short loc_00450cc6 ; jge 0x450cc6
+mov bl, byte [ecx]
+inc ecx
+test bl, bl
+je short loc_00450cb7 ; je 0x450cb7
+and ebx, 0xff
+mov bx, word [ebx*2 + ref_0048c630] ; mov bx, word [ebx*2 + 0x48c630]
+jmp short loc_00450cba ; jmp 0x450cba
+
+loc_00450cb7:
+mov bx, word [edx]
+
+loc_00450cba:
+mov word [eax], bx
+add eax, 2
+add edx, 2
+inc esi
+jmp short loc_00450c98 ; jmp 0x450c98
+
+loc_00450cc6:
+mov eax, dword [ref_0048c864] ; mov eax, dword [0x48c864]
+add dword [esp + 0x10], eax
+add dword [esp + 0x18], 0x500
+inc edi
+jmp short loc_00450c82 ; jmp 0x450c82
+
+fcn_00450cda:
+mov eax, dword [esp + 4]
+mov dword [ref_0048c840], eax ; mov dword [0x48c840], eax
+mov eax, dword [esp + 8]
+mov dword [ref_0048c854], eax ; mov dword [0x48c854], eax
+ret
+
+fcn_00450ced:
+push ebx
+push esi
+push edi
+mov eax, dword [esp + 0x10]
+mov edi, dword [esp + 0x14]
+mov esi, dword [esp + 0x18]
+mov ebx, dword [esp + 0x1c]
+cmp word [eax + 4], 0xaf12
+je short loc_00450d0e ; je 0x450d0e
+
+loc_00450d08:
+xor eax, eax
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00450d0e:
+xor edx, edx
+mov dx, word [eax + 6]
+mov dword [ref_0048c86c], edx ; mov dword [0x48c86c], edx
+xor edx, edx
+mov dx, word [eax + 8]
+mov dword [ref_0048c878], edx ; mov dword [0x48c878], edx
+xor edx, edx
+mov dx, word [eax + 0xa]
+mov dword [ref_0048c87c], edx ; mov dword [0x48c87c], edx
+mov dword [ref_0048c830], edi ; mov dword [0x48c830], edi
+mov dword [ref_0048c834], esi ; mov dword [0x48c834], esi
+mov edx, dword [ref_0048c878] ; mov edx, dword [0x48c878]
+lea ecx, [edi + edx]
+mov dword [ref_0048c838], ecx ; mov dword [0x48c838], ecx
+mov edx, dword [ref_0048c87c] ; mov edx, dword [0x48c87c]
+lea ecx, [esi + edx]
+mov dword [ref_0048c83c], ecx ; mov dword [0x48c83c], ecx
+mov edx, esi
+shl edx, 2
+lea ecx, [esi + edx]
+shl ecx, 8
+lea edx, [edi + edi]
+add ecx, edx
+mov dword [ref_0048c84c], ecx ; mov dword [0x48c84c], ecx
+mov edx, dword [eax + 0x10]
+mov dword [ref_0048c870], edx ; mov dword [0x48c870], edx
+add eax, 0x80
+mov dword [ref_0048c858], eax ; mov dword [0x48c858], eax
+mov dword [ref_00476378], eax ; mov dword [0x476378], eax
+mov al, bl
+and al, 1
+mov byte [ref_0048c882], al ; mov byte [0x48c882], al
+mov al, bl
+and al, 2
+mov byte [ref_0048c880], al ; mov byte [0x48c880], al
+mov al, bl
+and al, 4
+mov byte [ref_0048c883], al ; mov byte [0x48c883], al
+mov eax, ebx
+sar eax, 3
+and eax, 1
+mov byte [ref_0048c881], al ; mov byte [0x48c881], al
+test al, al
+je short loc_00450dbe ; je 0x450dbe
+xor dl, dl
+mov byte [ref_0048c882], dl ; mov byte [0x48c882], dl
+
+loc_00450dbe:
+mov eax, ebx
+sar eax, 8
+and eax, 0xff
+mov dword [ref_0048c844], eax ; mov dword [0x48c844], eax
+mov eax, ebx
+sar eax, 0x10
+and eax, 0xff
+mov dword [ref_0048c85c], eax ; mov dword [0x48c85c], eax
+je short loc_00450e41 ; je 0x450e41
+cmp byte [ref_0048c881], 0 ; cmp byte [0x48c881], 0
+jne short loc_00450df0 ; jne 0x450df0
+cmp byte [ref_0048c882], 0 ; cmp byte [0x48c882], 0
+jne short loc_00450dfd ; jne 0x450dfd
+
+loc_00450df0:
+xor ebx, ebx
+mov dword [ref_0048c85c], ebx ; mov dword [0x48c85c], ebx
+jmp near loc_00450d08 ; jmp 0x450d08
+
+loc_00450dfd:
+push 0x5e880
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov dword [ref_0048c868], eax ; mov dword [0x48c868], eax
+push 0x5e880
+push 0
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+lea edx, [esi - 0x28]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 3
+mov edx, eax
+shl eax, 2
+add eax, edx
+add eax, edi
+add eax, eax
+mov dword [ref_0048c860], eax ; mov dword [0x48c860], eax
+
+loc_00450e41:
+test ebx, 0x80000000
+je short loc_00450e9c ; je 0x450e9c
+mov dword [ref_0048c864], 0x370 ; mov dword [0x48c864], 0x370
+mov byte [ref_0048c881], 2 ; mov byte [0x48c881], 2
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+add eax, 0xc800
+push eax
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+push edx
+call fcn_004556e8 ; call 0x4556e8
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp short loc_00450ecc ; jmp 0x450ecc
+
+loc_00450e9c:
+cmp byte [ref_0048c882], 0 ; cmp byte [0x48c882], 0
+je short loc_00450eb1 ; je 0x450eb1
+mov eax, dword [ref_0048a060] ; mov eax, dword [0x48a060]
+mov dword [ref_0048c864], eax ; mov dword [0x48c864], eax
+jmp short loc_00450ebb ; jmp 0x450ebb
+
+loc_00450eb1:
+mov dword [ref_0048c864], 0x500 ; mov dword [0x48c864], 0x500
+
+loc_00450ebb:
+imul esi, dword [ref_0048c864] ; imul esi, dword [0x48c864]
+add edi, edi
+add esi, edi
+mov dword [ref_0048c848], esi ; mov dword [0x48c848], esi
+
+loc_00450ecc:
+xor ecx, ecx
+mov dword [ref_0048c874], ecx ; mov dword [0x48c874], ecx
+test bl, 0xf0
+je short loc_00450eef ; je 0x450eef
+mov edx, ebx
+sar edx, 4
+and edx, 0xf
+mov eax, edx
+shl eax, 2
+add eax, edx
+add eax, eax
+mov dword [ref_0048c870], eax ; mov dword [0x48c870], eax
+
+loc_00450eef:
+sar ebx, 0x18
+and ebx, 0x7f
+mov dword [ref_0048c850], ebx ; mov dword [0x48c850], ebx
+mov eax, 1
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00450f04:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+xor edi, edi
+cmp dword [ref_00476378], 0 ; cmp dword [0x476378], 0
+je short loc_00450f23 ; je 0x450f23
+mov eax, dword [ref_0048c874] ; mov eax, dword [0x48c874]
+cmp eax, dword [ref_0048c86c] ; cmp eax, dword [0x48c86c]
+jl short loc_00450f2a ; jl 0x450f2a
+
+loc_00450f23:
+xor eax, eax
+jmp near loc_00451447 ; jmp 0x451447
+
+loc_00450f2a:
+mov al, byte [ref_0048c881] ; mov al, byte [0x48c881]
+cmp al, 1
+jb short loc_00450f42 ; jb 0x450f42
+jbe short loc_00450fa4 ; jbe 0x450fa4
+cmp al, 2
+je near loc_00450fbb ; je 0x450fbb
+jmp near loc_00450fea ; jmp 0x450fea
+
+loc_00450f42:
+test al, al
+jne near loc_00450fea ; jne 0x450fea
+cmp byte [ref_0048c882], 0 ; cmp byte [0x48c882], 0
+je short loc_00450f73 ; je 0x450f73
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push edi
+push 1
+push ref_0048a068 ; push 0x48a068
+push edi
+push eax
+call dword [ebx + 0x64] ; ucall
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+add edi, dword [ref_0048c84c] ; add edi, dword [0x48c84c]
+
+loc_00450f73:
+push ref_0048c830 ; push 0x48c830
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+
+loc_00450f96:
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+add esi, dword [ref_0048c848] ; add esi, dword [0x48c848]
+jmp short loc_00450fea ; jmp 0x450fea
+
+loc_00450fa4:
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push edi
+push 1
+push ref_0048a068 ; push 0x48a068
+push edi
+push ebx
+call dword [eax + 0x64] ; ucall
+jmp short loc_00450f96 ; jmp 0x450f96
+
+loc_00450fbb:
+cmp byte [ref_0048c882], 0 ; cmp byte [0x48c882], 0
+je short loc_00450fe4 ; je 0x450fe4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push edi
+push 1
+push ref_0048a068 ; push 0x48a068
+push edi
+push eax
+call dword [ebx + 0x64] ; ucall
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+add edi, dword [ref_0048c84c] ; add edi, dword [0x48c84c]
+
+loc_00450fe4:
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+
+loc_00450fea:
+mov ebx, dword [ref_00476378] ; mov ebx, dword [0x476378]
+mov ebp, dword [ebx]
+lea eax, [ebx + ebp]
+mov dword [ref_00476378], eax ; mov dword [0x476378], eax
+cmp word [ebx + 4], 0xf1fa
+jne short loc_00450fea ; jne 0x450fea
+mov ax, word [ebx + 6]
+mov dword [esp + 4], eax
+xor ecx, ecx
+mov dword [esp], ecx
+add ebx, 0x10
+
+loc_00451012:
+movzx ebp, word [esp + 4]
+cmp ebp, dword [esp]
+jle near loc_00451102 ; jle 0x451102
+mov ebp, dword [ebx]
+sub ebp, 6
+mov ax, word [ebx + 4]
+add ebx, 6
+cmp byte [ref_0048c882], 0 ; cmp byte [0x48c882], 0
+je near loc_004510ad ; je 0x4510ad
+mov edx, eax
+cmp ax, 0xc
+jb short loc_0045105a ; jb 0x45105a
+jbe short loc_0045108f ; jbe 0x45108f
+cmp ax, 0xf
+jb near loc_004510f8 ; jb 0x4510f8
+jbe short loc_00451099 ; jbe 0x451099
+cmp ax, 0x10
+je short loc_004510a3 ; je 0x4510a3
+jmp near loc_004510f8 ; jmp 0x4510f8
+
+loc_0045105a:
+cmp ax, 4
+jb near loc_004510f8 ; jb 0x4510f8
+jbe short loc_00451071 ; jbe 0x451071
+cmp ax, 7
+je short loc_0045107f ; je 0x45107f
+jmp near loc_004510f8 ; jmp 0x4510f8
+
+loc_00451071:
+push ebx
+call fcn_00450555 ; call 0x450555
+add esp, 4
+jmp near loc_004510f8 ; jmp 0x4510f8
+
+loc_0045107f:
+push edi
+push ebx
+push esi
+call fcn_004506c7 ; call 0x4506c7
+
+loc_00451087:
+add esp, 0xc
+jmp near loc_004510f8 ; jmp 0x4510f8
+
+loc_0045108f:
+push edi
+push ebx
+push esi
+call fcn_0045096a ; call 0x45096a
+jmp short loc_00451087 ; jmp 0x451087
+
+loc_00451099:
+push edi
+push ebx
+push esi
+call fcn_00450b3a ; call 0x450b3a
+jmp short loc_00451087 ; jmp 0x451087
+
+loc_004510a3:
+push edi
+push ebx
+push esi
+call fcn_00450c79 ; call 0x450c79
+jmp short loc_00451087 ; jmp 0x451087
+
+loc_004510ad:
+cmp ax, 0xc
+jb short loc_004510c5 ; jb 0x4510c5
+jbe short loc_004510dc ; jbe 0x4510dc
+cmp ax, 0xf
+jb short loc_004510f8 ; jb 0x4510f8
+jbe short loc_004510e5 ; jbe 0x4510e5
+cmp ax, 0x10
+je short loc_004510ee ; je 0x4510ee
+jmp short loc_004510f8 ; jmp 0x4510f8
+
+loc_004510c5:
+cmp ax, 4
+jb short loc_004510f8 ; jb 0x4510f8
+jbe short loc_00451071 ; jbe 0x451071
+cmp ax, 7
+jne short loc_004510f8 ; jne 0x4510f8
+push ebx
+push esi
+call fcn_0045059a ; call 0x45059a
+jmp short loc_004510f5 ; jmp 0x4510f5
+
+loc_004510dc:
+push ebx
+push esi
+call fcn_00450894 ; call 0x450894
+jmp short loc_004510f5 ; jmp 0x4510f5
+
+loc_004510e5:
+push ebx
+push esi
+call fcn_00450a9d ; call 0x450a9d
+jmp short loc_004510f5 ; jmp 0x4510f5
+
+loc_004510ee:
+push ebx
+push esi
+call fcn_00450c35 ; call 0x450c35
+
+loc_004510f5:
+add esp, 8
+
+loc_004510f8:
+add ebx, ebp
+inc dword [esp]
+jmp near loc_00451012 ; jmp 0x451012
+
+loc_00451102:
+mov al, byte [ref_0048c881] ; mov al, byte [0x48c881]
+cmp al, 1
+jb short loc_00451113 ; jb 0x451113
+jbe short loc_00451151 ; jbe 0x451151
+cmp al, 2
+je short loc_00451164 ; je 0x451164
+jmp short loc_0045117d ; jmp 0x45117d
+
+loc_00451113:
+test al, al
+jne short loc_0045117d ; jne 0x45117d
+cmp byte [ref_0048c882], 0 ; cmp byte [0x48c882], 0
+je short loc_00451131 ; je 0x451131
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+
+loc_00451131:
+mov ebx, dword [ref_0048a0dc] ; mov ebx, dword [0x48a0dc]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+push ref_0048c830 ; push 0x48c830
+call fcn_00402250 ; call 0x402250
+add esp, 4
+jmp short loc_0045117d ; jmp 0x45117d
+
+loc_00451151:
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+jmp short loc_0045117d ; jmp 0x45117d
+
+loc_00451164:
+cmp byte [ref_0048c882], 0 ; cmp byte [0x48c882], 0
+je short loc_0045117d ; je 0x45117d
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+
+loc_0045117d:
+mov edx, dword [ref_0048c874] ; mov edx, dword [0x48c874]
+inc edx
+mov dword [ref_0048c874], edx ; mov dword [0x48c874], edx
+mov ecx, dword [ref_0048c86c] ; mov ecx, dword [0x48c86c]
+cmp edx, ecx
+jne short loc_004511dc ; jne 0x4511dc
+cmp byte [ref_0048c883], 0 ; cmp byte [0x48c883], 0
+je short loc_004511b1 ; je 0x4511b1
+xor esi, esi
+mov dword [ref_0048c874], esi ; mov dword [0x48c874], esi
+
+loc_004511a5:
+mov eax, dword [ref_0048c858] ; mov eax, dword [0x48c858]
+mov dword [ref_00476378], eax ; mov dword [0x476378], eax
+jmp short loc_004511dc ; jmp 0x4511dc
+
+loc_004511b1:
+mov esi, dword [ref_0048c844] ; mov esi, dword [0x48c844]
+test esi, esi
+je short loc_004511d7 ; je 0x4511d7
+lea ebp, [esi - 1]
+mov dword [ref_0048c844], ebp ; mov dword [0x48c844], ebp
+test ebp, ebp
+jne short loc_004511cd ; jne 0x4511cd
+mov dword [esp], ebp
+jmp short loc_004511e3 ; jmp 0x4511e3
+
+loc_004511cd:
+xor edx, ecx
+mov dword [ref_0048c874], edx ; mov dword [0x48c874], edx
+jmp short loc_004511a5 ; jmp 0x4511a5
+
+loc_004511d7:
+mov dword [esp], esi
+jmp short loc_004511e3 ; jmp 0x4511e3
+
+loc_004511dc:
+mov dword [esp], 1
+
+loc_004511e3:
+mov ebp, dword [ref_0048c85c] ; mov ebp, dword [0x48c85c]
+test ebp, ebp
+je near loc_00451376 ; je 0x451376
+cmp ebp, 0xff
+je short loc_00451205 ; je 0x451205
+cmp ebp, dword [ref_0048c874] ; cmp ebp, dword [0x48c874]
+jne near loc_00451376 ; jne 0x451376
+
+loc_00451205:
+push ref_0048c830 ; push 0x48c830
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push ebx
+call dword [eax + 0x64] ; ucall
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+add edi, dword [ref_0048c84c] ; add edi, dword [0x48c84c]
+cmp byte [ref_0048c881], 2 ; cmp byte [0x48c881], 2
+jne short loc_00451246 ; jne 0x451246
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+jmp short loc_00451268 ; jmp 0x451268
+
+loc_00451246:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+add esi, dword [ref_0048c848] ; add esi, dword [0x48c848]
+
+loc_00451268:
+mov ebp, dword [ref_0048c864] ; mov ebp, dword [0x48c864]
+push ebp
+mov eax, dword [ref_0048c87c] ; mov eax, dword [0x48c87c]
+push eax
+mov edx, dword [ref_0048c878] ; mov edx, dword [0x48c878]
+push edx
+mov eax, dword [ref_0048c868] ; mov eax, dword [0x48c868]
+add eax, dword [ref_0048c860] ; add eax, dword [0x48c860]
+push eax
+push edi
+push esi
+call fcn_00456b3e ; call 0x456b3e
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+cmp byte [ref_0048c881], 0 ; cmp byte [0x48c881], 0
+jne short loc_004512bb ; jne 0x4512bb
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+
+loc_004512bb:
+push 0
+push 0xffffffffffffffff
+call fcn_0040829d ; call 0x40829d
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+add edi, 0xc800
+cmp byte [ref_0048c881], 2 ; cmp byte [0x48c881], 2
+jne short loc_004512fa ; jne 0x4512fa
+mov esi, dword [ref_00474938] ; mov esi, dword [0x474938]
+jmp short loc_00451327 ; jmp 0x451327
+
+loc_004512fa:
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov eax, dword [ref_0048a060] ; mov eax, dword [0x48a060]
+mov ebx, eax
+shl ebx, 2
+add ebx, eax
+shl ebx, 3
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+add esi, ebx
+
+loc_00451327:
+mov ebx, dword [ref_0048c864] ; mov ebx, dword [0x48c864]
+push ebx
+mov ebp, dword [ref_0048c868] ; mov ebp, dword [0x48c868]
+push ebp
+push edi
+push esi
+call fcn_00456ba5 ; call 0x456ba5
+add esp, 0x10
+mov ebx, dword [ref_0048a0e0] ; mov ebx, dword [0x48a0e0]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+cmp byte [ref_0048c881], 0 ; cmp byte [0x48c881], 0
+jne short loc_00451369 ; jne 0x451369
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+
+loc_00451369:
+push ref_0048c830 ; push 0x48c830
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_00451376:
+mov eax, dword [ref_0048c850] ; mov eax, dword [0x48c850]
+test eax, eax
+je short loc_004513a1 ; je 0x4513a1
+cmp eax, dword [ref_0048c874] ; cmp eax, dword [0x48c874]
+jne short loc_004513a1 ; jne 0x4513a1
+mov ecx, dword [ref_0048c840] ; mov ecx, dword [0x48c840]
+test ecx, ecx
+je short loc_004513a1 ; je 0x4513a1
+mov ebx, dword [ref_0048c854] ; mov ebx, dword [0x48c854]
+push ebx
+push ecx
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_004513a1:
+cmp byte [ref_0048c881], 2 ; cmp byte [0x48c881], 2
+jne short loc_0045141a ; jne 0x45141a
+push ref_0048c830 ; push 0x48c830
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov ebx, dword [ref_0048a0dc] ; mov ebx, dword [0x48a0dc]
+mov eax, dword [ebx]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push ebx
+call dword [eax + 0x64] ; ucall
+mov eax, dword [ref_0048a060] ; mov eax, dword [0x48a060]
+mov ebx, eax
+shl ebx, 2
+add ebx, eax
+shl ebx, 3
+mov esi, dword [ref_0048a08c] ; mov esi, dword [0x48a08c]
+add esi, ebx
+mov edi, dword [ref_0048c874] ; mov edi, dword [0x48c874]
+push edi
+mov ebp, dword [ref_00474938] ; mov ebp, dword [0x474938]
+push ebp
+push esi
+call fcn_00455711 ; call 0x455711
+add esp, 0xc
+mov ebx, dword [ref_0048a0dc] ; mov ebx, dword [0x48a0dc]
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x80] ; ucall
+push ref_0048c830 ; push 0x48c830
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_0045141a:
+cmp dword [esp], 0
+jne short loc_00451444 ; jne 0x451444
+cmp dword [ref_0048c85c], 0 ; cmp dword [0x48c85c], 0
+je short loc_00451444 ; je 0x451444
+mov ecx, dword [ref_0048c868] ; mov ecx, dword [0x48c868]
+test ecx, ecx
+je short loc_00451444 ; je 0x451444
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor esi, esi
+mov dword [ref_0048c868], esi ; mov dword [0x48c868], esi
+
+loc_00451444:
+mov eax, dword [esp]
+
+loc_00451447:
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045144f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x20
+xor ebx, ebx
+mov edx, dword [esp + 0x40]
+push edx
+mov ecx, dword [esp + 0x40]
+push ecx
+mov esi, dword [esp + 0x40]
+push esi
+mov edi, dword [esp + 0x40]
+push edi
+call fcn_00450ced ; call 0x450ced
+add esp, 0x10
+test eax, eax
+je near loc_00451567 ; je 0x451567
+mov eax, dword [esp + 0x44]
+cmp eax, 0xffffffff
+je short loc_00451490 ; je 0x451490
+push eax
+call fcn_00454304 ; call 0x454304
+add esp, 4
+xor ebp, ebp
+
+loc_00451490:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov edi, eax
+call fcn_00450f04 ; call 0x450f04
+mov dword [esp + 0x1c], eax
+cmp dword [esp + 0x44], 0xffffffff
+je short loc_004514b7 ; je 0x4514b7
+test ebp, ebp
+jne short loc_004514b7 ; jne 0x4514b7
+call fcn_0045434f ; call 0x45434f
+mov ebp, 1
+
+loc_004514b7:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov esi, eax
+sub esi, edi
+push 1
+push 0
+push 0
+push 0
+lea eax, [esp + 0x10]
+push eax
+call dword [cs:__imp__PeekMessageA@20] ; ucall: call dword cs:[0x46230c]
+cmp byte [ref_0048c880], 0 ; cmp byte [0x48c880], 0
+je short loc_004514fd ; je 0x4514fd
+mov eax, dword [esp + 4]
+cmp eax, 0x202
+je short loc_004514f8 ; je 0x4514f8
+cmp eax, 0x205
+je short loc_004514f8 ; je 0x4514f8
+cmp eax, 0x101
+jne short loc_004514fd ; jne 0x4514fd
+
+loc_004514f8:
+mov ebx, 1
+
+loc_004514fd:
+cmp dword [esp + 4], 0x3b9
+jne short loc_00451513 ; jne 0x451513
+cmp dword [esp + 8], 1
+jne short loc_00451513 ; jne 0x451513
+call fcn_00454d2c ; call 0x454d2c
+
+loc_00451513:
+cmp esi, dword [ref_0048c870] ; cmp esi, dword [0x48c870]
+jae short loc_0045151f ; jae 0x45151f
+test ebx, ebx
+je short loc_004514b7 ; je 0x4514b7
+
+loc_0045151f:
+cmp dword [esp + 0x1c], 1
+jne short loc_0045152e ; jne 0x45152e
+test ebx, ebx
+je near loc_00451490 ; je 0x451490
+
+loc_0045152e:
+cmp dword [ref_0048c85c], 0 ; cmp dword [0x48c85c], 0
+je short loc_00451552 ; je 0x451552
+mov ebp, dword [ref_0048c868] ; mov ebp, dword [0x48c868]
+test ebp, ebp
+je short loc_00451552 ; je 0x451552
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+xor edx, edx
+mov dword [ref_0048c868], edx ; mov dword [0x48c868], edx
+
+loc_00451552:
+cmp byte [ref_0048c881], 2 ; cmp byte [0x48c881], 2
+jne short loc_00451565 ; jne 0x451565
+push 1
+call fcn_00409b18 ; call 0x409b18
+add esp, 4
+
+loc_00451565:
+mov eax, ebx
+
+loc_00451567:
+add esp, 0x20
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045156f:
+push ebx
+push esi
+sub esp, 0x50
+mov eax, dword [esp + 0x60]
+mov ebx, dword [esp + 0x68]
+cmp eax, 0x201
+jb short loc_004515a6 ; jb 0x4515a6
+jbe near loc_0045163c ; jbe 0x45163c
+cmp eax, 0x204
+jb near loc_00451662 ; jb 0x451662
+jbe near loc_0045163c ; jbe 0x45163c
+cmp eax, 0x401
+je short loc_004515b6 ; je 0x4515b6
+jmp near loc_00451662 ; jmp 0x451662
+
+loc_004515a6:
+cmp eax, 0x100
+je near loc_0045163c ; je 0x45163c
+jmp near loc_00451662 ; jmp 0x451662
+
+loc_004515b6:
+mov edx, dword [esp + 0x5c]
+push edx
+push ref_00466118 ; push 0x466118
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+mov eax, dword [ebx + 0xc]
+mov ecx, dword [ebx + 4]
+sub eax, ecx
+push eax
+mov eax, dword [ebx + 8]
+mov esi, dword [ebx]
+sub eax, esi
+push eax
+push ecx
+push esi
+push ref_0046612d ; push 0x46612d
+lea eax, [esp + 0x14]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x18
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+mov eax, dword [esp + 0x5c]
+push eax
+push 0
+push 0
+push ref_00466150 ; push 0x466150
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+mov byte [ref_0046cb02], 1 ; mov byte [0x46cb02], 1
+
+loc_00451632:
+xor eax, eax
+
+loc_00451634:
+add esp, 0x50
+pop esi
+pop ebx
+ret 0x10
+
+loc_0045163c:
+cmp byte [ref_0046cb02], 0 ; cmp byte [0x46cb02], 0
+je short loc_00451632 ; je 0x451632
+cmp byte [ref_0048c884], 0 ; cmp byte [0x48c884], 0
+je short loc_00451632 ; je 0x451632
+xor bl, bl
+mov byte [ref_0046cb02], bl ; mov byte [0x46cb02], bl
+push 1
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp short loc_00451632 ; jmp 0x451632
+
+loc_00451662:
+push ebx
+mov edx, dword [esp + 0x68]
+push edx
+push eax
+mov ecx, dword [esp + 0x68]
+push ecx
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp short loc_00451634 ; jmp 0x451634
+
+fcn_00451677:
+push ebx
+sub esp, 0x50
+call fcn_00453d28 ; call 0x453d28
+mov al, byte [esp + 0x60]
+mov byte [ref_0048c884], al ; mov byte [0x48c884], al
+xor ah, ah
+mov byte [ref_0046cb02], ah ; mov byte [0x46cb02], ah
+mov edx, dword [esp + 0x58]
+push edx
+push ref_0046616e ; push 0x46616e
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+je short loc_00451701 ; je 0x451701
+mov ecx, dword [esp + 0x58]
+push ecx
+push ref_00476374 ; push 0x476374
+push ref_00466189 ; push 0x466189
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+je short loc_00451701 ; je 0x451701
+push 1
+call fcn_00453b55 ; call 0x453b55
+add esp, 4
+xor eax, eax
+add esp, 0x50
+pop ebx
+ret
+
+loc_00451701:
+mov ebx, dword [esp + 0x5c]
+push ebx
+push fcn_0045156f ; push 0x45156f
+call fcn_004018e7 ; call 0x4018e7
+mov ebx, eax
+add esp, 8
+push 0
+push 0
+push 0
+push ref_004661a6 ; push 0x4661a6
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+push 0
+push 0
+push 0
+push ref_004661b4 ; push 0x4661b4
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+push 1
+call fcn_00453b55 ; call 0x453b55
+add esp, 4
+mov eax, ebx
+add esp, 0x50
+pop ebx
+ret
+
+fcn_0045174a:
+xor ah, ah
+mov byte [ref_0046cb02], ah ; mov byte [0x46cb02], ah
+push 0
+call fcn_00401966 ; call 0x401966
+add esp, 4
+ret
+
+fcn_0045175d:
+push esi
+sub esp, 0x20
+mov dword [esp], 0x20
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+mov ecx, esp
+push ecx
+push eax
+call dword [edx + 0x54] ; ucall
+cmp dword [esp + 0x10], 0x7c00
+jne short loc_00451792 ; jne 0x451792
+cmp dword [esp + 0x14], 0x3e0
+jne short loc_00451792 ; jne 0x451792
+xor esi, esi
+mov dword [ref_0047637c], esi ; mov dword [0x47637c], esi
+
+loc_00451792:
+cmp dword [esp + 0x10], 0xf800
+jne short loc_004517b0 ; jne 0x4517b0
+cmp dword [esp + 0x14], 0x7e0
+jne short loc_004517b0 ; jne 0x4517b0
+mov dword [ref_0047637c], 1 ; mov dword [0x47637c], 1
+
+loc_004517b0:
+cmp dword [esp + 0x10], 0x1f
+jne short loc_004517cb ; jne 0x4517cb
+cmp dword [esp + 0x14], 0x7e0
+jne short loc_004517cb ; jne 0x4517cb
+mov dword [ref_0047637c], 2 ; mov dword [0x47637c], 2
+
+loc_004517cb:
+cmp dword [esp + 0x10], 0xf00
+jne short loc_004517e9 ; jne 0x4517e9
+cmp dword [esp + 0x14], 0xf0
+jne short loc_004517e9 ; jne 0x4517e9
+mov dword [ref_0047637c], 3 ; mov dword [0x47637c], 3
+
+loc_004517e9:
+add esp, 0x20
+pop esi
+ret
+
+endloc_004517ee:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_004517f1: ; may contain a jump table
+dd loc_0045197d
+dd loc_00451832
+dd loc_00451883
+dd loc_00451907
+
+fcn_00451801:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+mov edi, dword [esp + 0x20]
+mov esi, dword [esp + 0x24]
+sar esi, 1
+mov eax, esi
+and eax, 1
+mov dword [esp + 8], eax
+sar esi, 1
+mov eax, dword [ref_0047637c] ; mov eax, dword [0x47637c]
+cmp eax, 3
+ja near loc_0045197d ; ja 0x45197d
+jmp dword [eax*4 + ref_004517f1] ; ujmp: jmp dword [eax*4 + 0x4517f1]
+
+loc_00451832:
+xor eax, eax
+
+loc_00451834:
+mov edx, eax
+shl edx, 2
+add edx, edi
+cmp eax, esi
+jge short loc_00451857 ; jge 0x451857
+mov ecx, dword [edx]
+lea ebx, [ecx + ecx]
+and ecx, 0x1f001f
+and ebx, 0xffc0ffc0
+or ecx, ebx
+mov dword [edx], ecx
+inc eax
+jmp short loc_00451834 ; jmp 0x451834
+
+loc_00451857:
+cmp dword [esp + 8], 0
+je near loc_0045197d ; je 0x45197d
+xor eax, eax
+mov ax, word [edx]
+lea ecx, [eax + eax]
+mov dword [esp], ecx
+and eax, 0x1f
+and ecx, 0xffc0
+mov dword [esp], ecx
+mov esi, dword [esp]
+or eax, esi
+jmp near loc_0045197a ; jmp 0x45197a
+
+loc_00451883:
+xor eax, eax
+
+loc_00451885:
+mov edx, eax
+shl edx, 2
+add edx, edi
+cmp eax, esi
+jge short loc_004518c7 ; jge 0x4518c7
+mov ecx, dword [edx]
+mov ebx, ecx
+and ebx, 0x7c007c00
+shr ebx, 0xa
+mov dword [esp], ebx
+mov ebx, ecx
+and ebx, 0x3e003e0
+add ebx, ebx
+mov dword [esp + 4], ebx
+mov ebx, ecx
+and ebx, 0x1f001f
+shl ebx, 0xb
+mov ecx, dword [esp]
+or ecx, dword [esp + 4]
+or ecx, ebx
+mov dword [edx], ecx
+inc eax
+jmp short loc_00451885 ; jmp 0x451885
+
+loc_004518c7:
+cmp dword [esp + 8], 0
+je near loc_0045197d ; je 0x45197d
+xor eax, eax
+mov ax, word [edx]
+mov ecx, eax
+and ecx, 0x7c00
+shr ecx, 0xa
+mov dword [esp], ecx
+mov ecx, eax
+and ecx, 0x3e0
+add ecx, ecx
+mov dword [esp + 4], ecx
+and eax, 0x1f
+shl eax, 0xb
+mov ebx, dword [esp]
+or ebx, dword [esp + 4]
+or eax, ebx
+jmp near loc_0045197a ; jmp 0x45197a
+
+loc_00451907:
+xor eax, eax
+
+loc_00451909:
+mov edx, eax
+shl edx, 2
+add edx, edi
+cmp eax, esi
+jge short loc_00451941 ; jge 0x451941
+mov ecx, dword [edx]
+mov ebx, ecx
+and ebx, 0x78007800
+shr ebx, 3
+mov ebp, ecx
+and ebp, 0x3c003c0
+shr ebp, 2
+mov dword [esp + 4], ebp
+and ecx, 0x1e001e
+shr ecx, 1
+or ebx, ebp
+or ecx, ebx
+mov dword [edx], ecx
+inc eax
+jmp short loc_00451909 ; jmp 0x451909
+
+loc_00451941:
+cmp dword [esp + 8], 0
+je short loc_0045197d ; je 0x45197d
+xor eax, eax
+mov ax, word [edx]
+mov ecx, eax
+and ecx, 0x7800
+shr ecx, 3
+mov dword [esp], ecx
+mov ecx, eax
+and ecx, 0x3c0
+shr ecx, 2
+mov dword [esp + 4], ecx
+mov ecx, eax
+and ecx, 0x1e
+shr ecx, 1
+mov eax, dword [esp]
+or eax, dword [esp + 4]
+or eax, ecx
+
+loc_0045197a:
+mov word [edx], ax
+
+loc_0045197d:
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00451985:
+push ebx
+push esi
+push edi
+xor ebx, ebx
+jmp short loc_00451996 ; jmp 0x451996
+
+loc_0045198c:
+inc ebx
+cmp ebx, 0x10
+jge near loc_00451a49 ; jge 0x451a49
+
+loc_00451996:
+movsx esi, byte [ebx + ref_00476380] ; movsx esi, byte [ebx + 0x476380]
+mov eax, dword [ref_0048a0d8] ; mov eax, dword [0x48a0d8]
+mov edx, dword [eax]
+push 0
+push 1
+push eax
+call dword [edx + 0x58] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edx, dword [ref_0048a060] ; mov edx, dword [0x48a060]
+mov eax, edx
+shl eax, 2
+add eax, edx
+shl eax, 3
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+lea edi, [edx + eax]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+add eax, 0xc800
+push esi
+push 0x1b8
+push 0x1b8
+mov edx, dword [ref_00474938] ; mov edx, dword [0x474938]
+push edx
+push eax
+push edi
+call fcn_004554fc ; call 0x4554fc
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0x1e
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+test eax, eax
+je near loc_0045198c ; je 0x45198c
+
+loc_00451a49:
+push 0x190
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00451a5a:
+mov eax, dword [esp + 4]
+imul eax, dword [esp + 8]
+add eax, eax
+add eax, 0xc
+push eax
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov edx, dword [esp + 4]
+mov word [eax], dx
+mov edx, dword [esp + 8]
+mov word [eax + 2], dx
+mov edx, dword [esp + 0xc]
+mov word [eax + 4], dx
+mov edx, dword [esp + 0x10]
+mov word [eax + 6], dx
+lea edx, [eax + 0xc]
+mov dword [eax + 8], edx
+ret
+
+fcn_00451a97:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov esi, dword [esp + 0x1c]
+mov ebx, dword [esp + 0x2c]
+imul ebx, dword [esp + 0x30]
+add ebx, ebx
+add ebx, 0xc
+mov ecx, dword [esp + 0x20]
+test ecx, ecx
+jne short loc_00451ac5 ; jne 0x451ac5
+push ebx
+call fcn_00456f80 ; call 0x456f80
+mov ebp, eax
+add esp, 4
+jmp short loc_00451ac7 ; jmp 0x451ac7
+
+loc_00451ac5:
+mov ebp, ecx
+
+loc_00451ac7:
+mov ebx, dword [esp + 0x2c]
+mov word [ebp], bx
+mov ebx, dword [esp + 0x30]
+mov word [ebp + 2], bx
+mov word [ebp + 4], 0
+mov word [ebp + 6], 0
+lea ebx, [ebp + 0xc]
+mov dword [ebp + 8], ebx
+movsx edi, word [esi]
+mov ebx, dword [esp + 0x28]
+imul ebx, edi
+add ebx, dword [esp + 0x24]
+add ebx, ebx
+add ebx, dword [esi + 8]
+mov esi, dword [ebp + 8]
+mov eax, dword [esp + 0x2c]
+add eax, eax
+mov dword [esp + 4], eax
+add edi, edi
+mov dword [esp], edi
+xor edi, edi
+
+loc_00451b10:
+cmp edi, dword [esp + 0x30]
+jge short loc_00451b2f ; jge 0x451b2f
+mov eax, dword [esp + 0x2c]
+push eax
+push ebx
+push esi
+call fcn_00456d8e ; call 0x456d8e
+add esp, 0xc
+add esi, dword [esp + 4]
+add ebx, dword [esp]
+inc edi
+jmp short loc_00451b10 ; jmp 0x451b10
+
+loc_00451b2f:
+mov eax, ebp
+jmp near loc_00451d46 ; jmp 0x451d46
+
+fcn_00451b36:
+push ebx
+push esi
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push 0x96000
+push 0
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+push ref_0046cadc ; push 0x46cadc
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [ref_0046cae0] ; mov ebx, dword [0x46cae0]
+push ebx
+mov esi, dword [ref_0046cadc] ; mov esi, dword [0x46cadc]
+push esi
+push eax
+call dword [edx + 0x1c] ; ucall
+pop esi
+pop ebx
+ret
+
+fcn_00451b9e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov eax, dword [esp + 0x1c]
+mov ebx, dword [eax]
+mov dword [ref_0048c888], ebx ; mov dword [0x48c888], ebx
+mov ebx, dword [eax + 8]
+mov dword [ref_0048c890], ebx ; mov dword [0x48c890], ebx
+mov ebx, dword [eax + 4]
+mov dword [ref_0048c88c], ebx ; mov dword [0x48c88c], ebx
+mov eax, dword [eax + 0xc]
+mov dword [ref_0048c894], eax ; mov dword [0x48c894], eax
+mov eax, dword [ref_0048c890] ; mov eax, dword [0x48c890]
+mov edx, dword [ref_0048c888] ; mov edx, dword [0x48c888]
+sub eax, edx
+mov dword [esp + 4], eax
+mov edi, dword [ref_0048c894] ; mov edi, dword [0x48c894]
+sub edi, ebx
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 7
+lea ebp, [edx + eax]
+lea ebx, [edi - 1]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 7
+lea ebx, [eax + ebp]
+mov dword [esp], ebx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+xor esi, esi
+mov eax, dword [esp + 4]
+dec eax
+add eax, ebp
+add eax, eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+add ebx, eax
+lea eax, [edi - 1]
+
+loc_00451c3a:
+cmp esi, eax
+jge short loc_00451c52 ; jge 0x451c52
+mov dx, word [ebx]
+mov word [esi*2 + ref_0048c898], dx ; mov word [esi*2 + 0x48c898], dx
+inc esi
+add ebx, 0x500
+jmp short loc_00451c3a ; jmp 0x451c3a
+
+loc_00451c52:
+mov eax, dword [esp + 4]
+add eax, eax
+push eax
+mov ebx, dword [esp + 4]
+add ebx, ebx
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+add eax, ebx
+push eax
+lea eax, [edi + edi]
+add eax, ref_0048c898 ; add eax, 0x48c898
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+xor esi, esi
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+sub ebx, 0x500
+add ebx, eax
+lea ebp, [edi - 1]
+
+loc_00451c8a:
+cmp esi, ebp
+jge short loc_00451cb1 ; jge 0x451cb1
+mov eax, dword [esp + 4]
+add eax, eax
+sub eax, 2
+push eax
+push ebx
+lea eax, [ebx + 0x502]
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+inc esi
+sub ebx, 0x500
+jmp short loc_00451c8a ; jmp 0x451c8a
+
+loc_00451cb1:
+push 0xfffffffffffffff0
+push 1
+mov ebx, dword [esp + 0xc]
+push ebx
+mov esi, dword [ref_0048c88c] ; mov esi, dword [0x48c88c]
+push esi
+mov edi, dword [ref_0048c888] ; mov edi, dword [0x48c888]
+push edi
+push ref_0046caec ; push 0x46caec
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+push 0xfffffffffffffff0
+push ebp
+push 1
+mov eax, dword [ref_0048c88c] ; mov eax, dword [0x48c88c]
+inc eax
+push eax
+mov ebp, dword [ref_0048c888] ; mov ebp, dword [0x48c888]
+push ebp
+push ref_0046caec ; push 0x46caec
+call fcn_004552e7 ; call 0x4552e7
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+push ref_0048c888 ; push 0x48c888
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0x10
+push ref_0048c888 ; push 0x48c888
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+mov ecx, dword [ref_0048c88c] ; mov ecx, dword [0x48c88c]
+push ecx
+mov esi, dword [ref_0048c888] ; mov esi, dword [0x48c888]
+push esi
+
+loc_00451d35:
+push eax
+call dword [ebx + 0x1c] ; ucall
+push ref_0048c888 ; push 0x48c888
+call fcn_00402250 ; call 0x402250
+add esp, 4
+
+loc_00451d46:
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00451d4e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov ebp, dword [ref_0048c890] ; mov ebp, dword [0x48c890]
+mov edx, dword [ref_0048c888] ; mov edx, dword [0x48c888]
+sub ebp, edx
+mov edi, dword [ref_0048c894] ; mov edi, dword [0x48c894]
+mov ecx, dword [ref_0048c88c] ; mov ecx, dword [0x48c88c]
+sub edi, ecx
+mov eax, ecx
+shl eax, 2
+add eax, ecx
+shl eax, 7
+lea ebx, [edx + eax]
+mov dword [esp + 4], ebx
+lea ebx, [edi - 1]
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+shl eax, 7
+mov ebx, dword [esp + 4]
+add ebx, eax
+mov dword [esp], ebx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+xor esi, esi
+mov eax, dword [esp + 4]
+add eax, eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+add eax, 0x502
+add ebx, eax
+
+loc_00451dc3:
+lea eax, [edi - 1]
+cmp esi, eax
+jge short loc_00451de8 ; jge 0x451de8
+lea eax, [ebp + ebp - 2]
+push eax
+push ebx
+lea eax, [ebx - 0x502]
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+inc esi
+add ebx, 0x500
+jmp short loc_00451dc3 ; jmp 0x451dc3
+
+loc_00451de8:
+xor esi, esi
+lea eax, [ebp - 1]
+add eax, dword [esp + 4]
+add eax, eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+add ebx, eax
+
+loc_00451dfb:
+lea eax, [edi - 1]
+cmp esi, eax
+jge short loc_00451e16 ; jge 0x451e16
+mov ax, word [esi*2 + ref_0048c898] ; mov ax, word [esi*2 + 0x48c898]
+mov word [ebx], ax
+inc esi
+add ebx, 0x500
+jmp short loc_00451dfb ; jmp 0x451dfb
+
+loc_00451e16:
+add ebp, ebp
+push ebp
+lea eax, [edi + edi]
+add eax, ref_0048c898 ; add eax, 0x48c898
+push eax
+mov eax, dword [esp + 8]
+add eax, eax
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+add eax, ebx
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+push ref_0048c888 ; push 0x48c888
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov ebx, dword [eax]
+push 0x10
+push ref_0048c888 ; push 0x48c888
+mov esi, dword [ref_0048a0e0] ; mov esi, dword [0x48a0e0]
+push esi
+mov edi, dword [ref_0048c88c] ; mov edi, dword [0x48c88c]
+push edi
+mov ebp, dword [ref_0048c888] ; mov ebp, dword [0x48c888]
+push ebp
+jmp near loc_00451d35 ; jmp 0x451d35
+
+fcn_00451e7e:
+push ebx
+mov ebx, dword [esp + 8]
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov eax, dword [ebx + 0xc]
+mov edx, dword [ebx + 4]
+sub eax, edx
+push eax
+mov eax, dword [ebx + 8]
+mov ecx, dword [ebx]
+sub eax, ecx
+push eax
+push edx
+push ecx
+push 0
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+mov ebx, eax
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00451edb:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov esi, dword [esp + 0x24]
+mov ebp, dword [esp + 0x28]
+mov ebx, dword [esp + 0x2c]
+mov edi, 1
+test esi, esi
+je near loc_00451f84 ; je 0x451f84
+test bh, 0x80
+je short loc_00451f08 ; je 0x451f08
+and ebx, 0x7fff
+xor edi, edi
+
+loc_00451f08:
+mov dword [esp], ebp
+mov dword [esp + 4], ebx
+movsx eax, word [esi]
+lea edx, [eax + ebp]
+mov dword [esp + 8], edx
+movsx eax, word [esi + 2]
+lea edx, [ebx + eax]
+mov dword [esp + 0xc], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+push ebx
+push ebp
+push esi
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 4]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+push ebx
+push ebp
+push eax
+call dword [edx + 0x1c] ; ucall
+test edi, edi
+je short loc_00451f84 ; je 0x451f84
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_00451f84:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00451f8c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov edx, dword [esp + 0x18]
+xor ebx, ebx
+mov esi, edx
+shr esi, 0x10
+mov ebp, edx
+shr ebp, 8
+and ebp, 0xff
+and edx, 0xff
+mov dword [esp], edx
+mov ecx, 0x7ce
+mov edi, 4
+
+loc_00451fbc:
+cmp ecx, esi
+jge short loc_00451fde ; jge 0x451fde
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv edi
+test edx, edx
+je short loc_00451fd5 ; je 0x451fd5
+add ebx, 0x16d
+jmp short loc_00451fdb ; jmp 0x451fdb
+
+loc_00451fd5:
+add ebx, 0x16e
+
+loc_00451fdb:
+inc ecx
+jmp short loc_00451fbc ; jmp 0x451fbc
+
+loc_00451fde:
+mov ecx, 1
+mov edi, 4
+
+loc_00451fe8:
+cmp ecx, ebp
+jge short loc_00452010 ; jge 0x452010
+cmp ecx, 2
+jne short loc_00452003 ; jne 0x452003
+mov eax, esi
+mov edx, esi
+sar edx, 0x1f
+idiv edi
+test edx, edx
+jne short loc_00452003 ; jne 0x452003
+add ebx, 0x1d
+jmp short loc_0045200d ; jmp 0x45200d
+
+loc_00452003:
+xor edx, edx
+mov dl, byte [ecx + ref_0047638f] ; mov dl, byte [ecx + 0x47638f]
+add ebx, edx
+
+loc_0045200d:
+inc ecx
+jmp short loc_00451fe8 ; jmp 0x451fe8
+
+loc_00452010:
+mov edx, dword [esp]
+dec edx
+lea eax, [ebx + edx]
+
+loc_00452017:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045201f:
+push ebx
+push esi
+push edi
+mov ebx, dword [esp + 0x10]
+mov ecx, 0x7ce
+mov esi, 1
+mov edx, 0x16d
+mov edi, 4
+
+loc_0045203a:
+cmp ebx, edx
+jl short loc_00452041 ; jl 0x452041
+sub ebx, edx
+inc ecx
+
+loc_00452041:
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv edi
+test edx, edx
+sete dl
+and edx, 0xff
+add edx, 0x16d
+cmp ebx, edx
+jge short loc_0045203a ; jge 0x45203a
+mov edx, 0x1f
+mov edi, 4
+
+loc_00452069:
+cmp ebx, edx
+jl short loc_00452070 ; jl 0x452070
+sub ebx, edx
+inc esi
+
+loc_00452070:
+cmp esi, 2
+jne short loc_00452089 ; jne 0x452089
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv edi
+test edx, edx
+jne short loc_00452089 ; jne 0x452089
+mov edx, 0x1d
+jmp short loc_00452091 ; jmp 0x452091
+
+loc_00452089:
+xor edx, edx
+mov dl, byte [esi + ref_0047638f] ; mov dl, byte [esi + 0x47638f]
+
+loc_00452091:
+cmp ebx, edx
+jge short loc_00452069 ; jge 0x452069
+shl ecx, 0x10
+mov eax, esi
+shl eax, 8
+add eax, ecx
+add eax, ebx
+inc eax
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004520a6:
+push ebx
+push esi
+push edi
+mov eax, dword [esp + 0x10]
+mov ebx, eax
+shr ebx, 0x10
+mov esi, eax
+shr esi, 8
+and esi, 0xff
+push eax
+call fcn_00451f8c ; call 0x451f8c
+add esp, 4
+lea ecx, [eax + 4]
+mov edi, 7
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv edi
+mov ecx, edx
+cmp esi, 2
+jne short loc_004520f7 ; jne 0x4520f7
+mov edi, 4
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv edi
+test edx, edx
+jne short loc_004520f7 ; jne 0x4520f7
+mov edx, 0x1d
+jmp short loc_004520ff ; jmp 0x4520ff
+
+loc_004520f7:
+xor edx, edx
+mov dl, byte [esi + ref_0047638f] ; mov dl, byte [esi + 0x47638f]
+
+loc_004520ff:
+mov ebx, dword [esp + 0x14]
+test ebx, ebx
+je short loc_00452109 ; je 0x452109
+mov dword [ebx], ecx
+
+loc_00452109:
+mov esi, dword [esp + 0x18]
+test esi, esi
+je short loc_00452113 ; je 0x452113
+mov dword [esi], edx
+
+loc_00452113:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00452117:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov esi, dword [esp + 0x18]
+xor ebp, ebp
+mov ebx, dword [esi]
+shr ebx, 0x10
+mov ecx, dword [esi]
+shr ecx, 8
+and ecx, 0xff
+mov edi, dword [esi]
+and edi, 0xff
+cmp ecx, 2
+jne short loc_0045215d ; jne 0x45215d
+mov dword [esp], 4
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv dword [esp]
+test edx, edx
+jne short loc_0045215d ; jne 0x45215d
+mov eax, 0x1d
+jmp short loc_00452165 ; jmp 0x452165
+
+loc_0045215d:
+xor eax, eax
+mov al, byte [ecx + ref_0047638f] ; mov al, byte [ecx + 0x47638f]
+
+loc_00452165:
+inc edi
+cmp edi, eax
+jle short loc_0045217c ; jle 0x45217c
+mov edi, 1
+mov ebp, edi
+add ecx, edi
+cmp ecx, 0xc
+jle short loc_0045217c ; jle 0x45217c
+mov ecx, edi
+add ebx, edi
+
+loc_0045217c:
+shl ebx, 0x10
+shl ecx, 8
+add ecx, ebx
+add ecx, edi
+mov dword [esi], ecx
+mov eax, ebp
+jmp near loc_00452017 ; jmp 0x452017
+
+fcn_0045218f:
+mov edx, dword [esp + 4]
+push edx
+call fcn_00451f8c ; call 0x451f8c
+add esp, 4
+add eax, dword [esp + 8]
+push eax
+call fcn_0045201f ; call 0x45201f
+add esp, 4
+ret
+
+fcn_004521aa:
+push ebx
+mov edx, dword [esp + 8]
+push edx
+call fcn_00451f8c ; call 0x451f8c
+mov ebx, eax
+add esp, 4
+mov ecx, dword [esp + 0xc]
+push ecx
+call fcn_00451f8c ; call 0x451f8c
+add esp, 4
+sub eax, ebx
+pop ebx
+ret
+
+fcn_004521cb:
+mov eax, dword [esp + 4]
+add eax, dword [esp + 8]
+test byte [esp + 9], 0xff
+je short loc_004521ef ; je 0x4521ef
+mov edx, eax
+and edx, 0xff00
+cmp edx, 0xc00
+jbe short loc_004521ef ; jbe 0x4521ef
+add eax, 0xf400
+
+loc_004521ef:
+ret
+
+fcn_004521f0:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov edi, dword [esp + 0x1c]
+and edi, 0xffff
+xor ebx, ebx
+jmp short loc_0045220f ; jmp 0x45220f
+
+loc_00452205:
+inc ebx
+cmp ebx, 0x18
+jge near loc_004523c1 ; jge 0x4523c1
+
+loc_0045220f:
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx ecx, word [ref_004991b8] ; movsx ecx, word [0x4991b8]
+add ecx, eax
+mov ebp, ecx
+shl ebp, 3
+add ebp, ecx
+shl ebp, 5
+mov esi, ebx
+shl esi, 2
+sub esi, ebx
+shl esi, 2
+lea eax, [esi + ebp]
+mov cl, byte [eax + ref_0047ff4b] ; mov cl, byte [eax + 0x47ff4b]
+cmp cl, 1
+jb short loc_00452254 ; jb 0x452254
+jbe short loc_00452278 ; jbe 0x452278
+cmp cl, 2
+je near loc_004522ce ; je 0x4522ce
+jmp near loc_00452387 ; jmp 0x452387
+
+loc_00452254:
+test cl, cl
+jne near loc_00452387 ; jne 0x452387
+xor edx, edx
+mov dl, byte [eax + ref_0047ff4c] ; mov dl, byte [eax + 0x47ff4c]
+mov ecx, edx
+shl ecx, 8
+xor edx, edx
+mov dl, byte [eax + ref_0047ff4d] ; mov dl, byte [eax + 0x47ff4d]
+add edx, ecx
+jmp near loc_00452387 ; jmp 0x452387
+
+loc_00452278:
+mov eax, dword [esp + 0x1c]
+push eax
+call fcn_00451f8c ; call 0x451f8c
+add esp, 4
+mov edi, dword [eax*4 + ref_0047639c] ; mov edi, dword [eax*4 + 0x47639c]
+and edi, 0xffff
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+add edx, eax
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 5
+xor edx, edx
+mov dl, byte [esi + eax + ref_0047ff4c] ; mov dl, byte [esi + eax + 0x47ff4c]
+shl edx, 8
+mov al, byte [esi + eax + ref_0047ff4d] ; mov al, byte [esi + eax + 0x47ff4d]
+and eax, 0xff
+
+loc_004522c7:
+add edx, eax
+jmp near loc_00452387 ; jmp 0x452387
+
+loc_004522ce:
+mov al, byte [eax + ref_0047ff4c] ; mov al, byte [eax + 0x47ff4c]
+and eax, 0xff
+shl eax, 8
+mov edx, dword [esp + 0x1c]
+xor dx, dx
+add edx, eax
+inc edx
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 4]
+push eax
+push edx
+call fcn_004520a6 ; call 0x4520a6
+add esp, 0xc
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+add edx, eax
+mov eax, edx
+shl eax, 3
+add eax, edx
+shl eax, 5
+mov al, byte [esi + eax + ref_0047ff4e] ; mov al, byte [esi + eax + 0x47ff4e]
+and eax, 0xff
+mov edx, dword [esp]
+cmp eax, edx
+jge short loc_0045232e ; jge 0x45232e
+mov eax, 7
+
+loc_0045232e:
+sub eax, edx
+movsx ecx, word [ref_004991b6] ; movsx ecx, word [0x4991b6]
+shl ecx, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+inc eax
+add ecx, edx
+mov esi, ecx
+shl esi, 3
+add esi, ecx
+shl esi, 5
+mov edx, ebx
+shl edx, 2
+sub edx, ebx
+shl edx, 2
+lea ecx, [esi + edx]
+xor edx, edx
+mov dl, byte [ecx + ref_0047ff4d] ; mov dl, byte [ecx + 0x47ff4d]
+lea esi, [edx - 1]
+mov edx, esi
+shl edx, 3
+sub edx, esi
+add eax, edx
+cmp eax, dword [esp + 4]
+jg short loc_00452385 ; jg 0x452385
+xor edx, edx
+mov dl, byte [ecx + ref_0047ff4c] ; mov dl, byte [ecx + 0x47ff4c]
+shl edx, 8
+jmp near loc_004522c7 ; jmp 0x4522c7
+
+loc_00452385:
+xor edx, edx
+
+loc_00452387:
+cmp edi, edx
+jne near loc_00452205 ; jne 0x452205
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx ecx, word [ref_004991b8] ; movsx ecx, word [0x4991b8]
+add ecx, eax
+mov esi, ecx
+shl esi, 3
+add esi, ecx
+shl esi, 5
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+test byte [esi + eax*4 + ref_0047ff4a], 0x80 ; test byte [esi + eax*4 + 0x47ff4a], 0x80
+jne near loc_00452205 ; jne 0x452205
+
+loc_004523c1:
+cmp ebx, 0x18
+jne short loc_004523cb ; jne 0x4523cb
+mov ebx, 0xffffffff
+
+loc_004523cb:
+mov eax, ebx
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004523d5:
+push ebx
+push esi
+sub esp, 4
+xor ebx, ebx
+push ebx
+lea eax, [esp + 4]
+push eax
+mov edx, dword [esp + 0x18]
+push edx
+call fcn_004520a6 ; call 0x4520a6
+add esp, 0xc
+cmp dword [esp], 0
+je short loc_00452437 ; je 0x452437
+mov esi, dword [esp + 0x10]
+push esi
+call fcn_004521f0 ; call 0x4521f0
+mov edx, eax
+add esp, 4
+cmp eax, 0xffffffff
+je short loc_0045243c ; je 0x45243c
+movsx ecx, word [ref_004991b6] ; movsx ecx, word [0x4991b6]
+shl ecx, 2
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+add ecx, eax
+mov eax, ecx
+shl eax, 3
+add ecx, eax
+shl ecx, 5
+mov eax, edx
+shl eax, 2
+sub eax, edx
+cmp byte [ecx + eax*4 + ref_0047ff4a], 0 ; cmp byte [ecx + eax*4 + 0x47ff4a], 0
+je short loc_0045243c ; je 0x45243c
+
+loc_00452437:
+mov ebx, 1
+
+loc_0045243c:
+mov eax, ebx
+add esp, 4
+pop esi
+pop ebx
+ret
+
+fcn_00452444:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x9c
+mov dword [esp + 0x94], 0xffffffff
+xor ebx, ebx
+mov ecx, dword [ref_00497160] ; mov ecx, dword [0x497160]
+push ecx
+call fcn_004521f0 ; call 0x4521f0
+mov edi, eax
+add esp, 4
+mov esi, eax
+cmp eax, 0xffffffff
+je near loc_00452788 ; je 0x452788
+movsx ebp, word [ref_004991b6] ; movsx ebp, word [0x4991b6]
+shl ebp, 2
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+add ebp, eax
+mov eax, ebp
+shl eax, 3
+add ebp, eax
+shl ebp, 5
+mov eax, edi
+shl eax, 2
+sub eax, edi
+cmp byte [ebp + eax*4 + ref_0047ff4f], 0 ; cmp byte [ebp + eax*4 + 0x47ff4f], 0
+je near loc_00452788 ; je 0x452788
+xor eax, eax
+mov al, byte [ref_0049715d] ; mov al, byte [0x49715d]
+mov dword [esp + 0x98], eax
+cmp al, 1
+jne short loc_004524c3 ; jne 0x4524c3
+xor cl, cl
+mov byte [ref_0049715d], cl ; mov byte [0x49715d], cl
+
+loc_004524c3:
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+movsx edi, word [ref_004991b6] ; movsx edi, word [0x4991b6]
+shl edi, 2
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+add edi, eax
+mov edx, edi
+shl edx, 3
+add edx, edi
+shl edx, 5
+mov ebp, esi
+shl ebp, 2
+sub ebp, esi
+shl ebp, 2
+lea eax, [edx + ebp]
+test byte [eax + ref_0047ff4f], 1 ; test byte [eax + 0x47ff4f], 1
+je short loc_00452553 ; je 0x452553
+push 0
+push 0
+mov ax, word [eax + ref_0047ff50] ; mov ax, word [eax + 0x47ff50]
+and eax, 0xffff
+push eax
+mov ebx, dword [ref_0048a0e4] ; mov ebx, dword [0x48a0e4]
+push ebx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov ebx, eax
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edi, word [ref_004991b8] ; movsx edi, word [0x4991b8]
+add edi, eax
+mov eax, edi
+shl eax, 3
+add eax, edi
+shl eax, 5
+mov ax, word [eax + ebp + ref_0047ff52] ; mov ax, word [eax + ebp + 0x47ff52]
+and eax, 0xffff
+mov dword [esp + 0x94], eax
+
+loc_00452553:
+movsx edx, word [ref_004991b6] ; movsx edx, word [0x4991b6]
+shl edx, 2
+movsx eax, word [ref_004991b8] ; movsx eax, word [0x4991b8]
+lea edi, [eax + edx]
+mov edx, edi
+shl edx, 3
+add edx, edi
+shl edx, 5
+mov eax, esi
+shl eax, 2
+sub eax, esi
+shl eax, 2
+add eax, edx
+test byte [eax + ref_0047ff4f], 4 ; test byte [eax + 0x47ff4f], 4
+je short loc_004525ee ; je 0x4525ee
+cmp byte [ref_0046cb06], 0 ; cmp byte [0x46cb06], 0
+jne short loc_004525ee ; jne 0x4525ee
+xor edi, edi
+mov di, word [eax + ref_0047ff54] ; mov di, word [eax + 0x47ff54]
+call fcn_00454edc ; call 0x454edc
+or di, 0x8000
+push edi
+call fcn_004549cf ; call 0x4549cf
+add esp, 4
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+lea edi, [edx + eax]
+mov ebp, edi
+shl ebp, 3
+add ebp, edi
+shl ebp, 5
+lea edi, [esi + 1]
+mov eax, edi
+shl eax, 2
+sub eax, edi
+cmp word [ebp + eax*4 + ref_0047ff54], 0 ; cmp word [ebp + eax*4 + 0x47ff54], 0
+je short loc_004525e7 ; je 0x4525e7
+mov byte [ref_0046cb06], 0x33 ; mov byte [0x46cb06], 0x33
+jmp short loc_004525ee ; jmp 0x4525ee
+
+loc_004525e7:
+mov byte [ref_0046cb06], 0x11 ; mov byte [0x46cb06], 0x11
+
+loc_004525ee:
+test ebx, ebx
+je short loc_00452612 ; je 0x452612
+mov edi, dword [esp + 0x94]
+push edi
+push 1
+push 0x28
+push 0
+push ebx
+call fcn_0045144f ; call 0x45144f
+add esp, 0x14
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_00452612:
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx edx, word [ref_004991b8] ; movsx edx, word [0x4991b8]
+lea ebx, [edx + eax]
+mov eax, ebx
+shl eax, 3
+add ebx, eax
+shl ebx, 5
+mov eax, esi
+shl eax, 2
+sub eax, esi
+test byte [ebx + eax*4 + ref_0047ff4f], 8 ; test byte [ebx + eax*4 + 0x47ff4f], 8
+je near loc_00452761 ; je 0x452761
+xor esi, esi
+
+loc_00452647:
+cmp esi, dword [ref_00499114] ; cmp esi, dword [0x499114]
+jge near loc_00452761 ; jge 0x452761
+imul ebx, esi, 0x68
+cmp byte [ebx + ref_00496b7d], 0 ; cmp byte [ebx + 0x496b7d], 0
+je near loc_0045275b ; je 0x45275b
+push esi
+call fcn_00441e12 ; call 0x441e12
+mov edi, eax
+add esp, 4
+mov ebp, eax
+test eax, eax
+je near loc_0045275b ; je 0x45275b
+push 0
+xor eax, eax
+mov ax, word [ebx + ref_00496b72] ; mov ax, word [ebx + 0x496b72]
+push eax
+xor eax, eax
+mov ax, word [ebx + ref_00496b70] ; mov ax, word [ebx + 0x496b70]
+push eax
+call fcn_0041d476 ; call 0x41d476
+add esp, 0xc
+mov eax, dword [ebx + ref_00496b68] ; mov eax, dword [ebx + 0x496b68]
+push eax
+lea eax, [esp + 0x84]
+push eax
+call fcn_00452946 ; call 0x452946
+add esp, 8
+movsx eax, word [ref_004991b6] ; movsx eax, word [0x4991b6]
+shl eax, 2
+movsx ebx, word [ref_004991b8] ; movsx ebx, word [0x4991b8]
+add ebx, eax
+mov eax, edi
+shl eax, 3
+cmp ebx, 5
+jb short loc_004526d3 ; jb 0x4526d3
+jbe short loc_004526ee ; jbe 0x4526ee
+cmp ebx, 6
+je short loc_00452704 ; je 0x452704
+jmp short loc_0045271a ; jmp 0x45271a
+
+loc_004526d3:
+cmp ebx, 4
+jne short loc_0045271a ; jne 0x45271a
+mov edi, dword [eax + ref_0047fdea] ; mov edi, dword [eax + 0x47fdea]
+push edi
+lea eax, [esp + 0x84]
+push eax
+push ref_004661c4 ; push 0x4661c4
+jmp short loc_0045272f ; jmp 0x45272f
+
+loc_004526ee:
+mov ecx, dword [eax + ref_0047fdea] ; mov ecx, dword [eax + 0x47fdea]
+push ecx
+lea eax, [esp + 0x84]
+push eax
+push ref_004661dd ; push 0x4661dd
+jmp short loc_0045272f ; jmp 0x45272f
+
+loc_00452704:
+mov edx, dword [eax + ref_0047fdea] ; mov edx, dword [eax + 0x47fdea]
+push edx
+lea eax, [esp + 0x84]
+push eax
+push ref_004661f2 ; push 0x4661f2
+jmp short loc_0045272f ; jmp 0x45272f
+
+loc_0045271a:
+mov ebx, dword [ebp*8 + ref_0047fdea] ; mov ebx, dword [ebp*8 + 0x47fdea]
+push ebx
+lea eax, [esp + 0x84]
+push eax
+push ref_00466203 ; push 0x466203
+
+loc_0045272f:
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+mov eax, esp
+push eax
+push ebp
+call fcn_00441f73 ; call 0x441f73
+add esp, 8
+xor eax, eax
+mov al, byte [ebp*8 + ref_0047fdef] ; mov al, byte [ebp*8 + 0x47fdef]
+push eax
+push esi
+call fcn_0044f230 ; call 0x44f230
+add esp, 8
+
+loc_0045275b:
+inc esi
+jmp near loc_00452647 ; jmp 0x452647
+
+loc_00452761:
+cmp dword [esp + 0x98], 1
+jne short loc_00452777 ; jne 0x452777
+mov al, byte [esp + 0x98]
+mov byte [ref_0049715d], al ; mov byte [0x49715d], al
+
+loc_00452777:
+xor eax, eax
+mov dword [ref_0048be18], eax ; mov dword [0x48be18], eax
+push 1
+call fcn_0041906a ; call 0x41906a
+add esp, 4
+
+loc_00452788:
+add esp, 0x9c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00452793:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x2c
+mov ebp, dword [esp + 0x40]
+xor ebx, ebx
+push 0xa
+lea eax, [esp + 4]
+push eax
+mov edx, dword [esp + 0x4c]
+push edx
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+mov eax, esp
+push eax
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+mov dword [esp + 0x28], eax
+mov ecx, eax
+
+loc_004527c5:
+lea edi, [ebx + 1]
+test ecx, ecx
+jle short loc_004527fc ; jle 0x4527fc
+mov esi, 3
+mov eax, ecx
+mov edx, ecx
+sar edx, 0x1f
+idiv esi
+test edx, edx
+jne short loc_004527ea ; jne 0x4527ea
+test ebx, ebx
+je short loc_004527ea ; je 0x4527ea
+mov eax, ebx
+mov ebx, edi
+mov byte [eax + ebp], 0x2c
+
+loc_004527ea:
+mov esi, dword [esp + 0x28]
+sub esi, ecx
+mov eax, ebx
+inc ebx
+mov dl, byte [esp + esi]
+mov byte [eax + ebp], dl
+dec ecx
+jmp short loc_004527c5 ; jmp 0x4527c5
+
+loc_004527fc:
+mov byte [ebx + ebp], 0
+add esp, 0x2c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00452808:
+push ebx
+push esi
+push edi
+push ebp
+mov edi, dword [esp + 0x14]
+mov ebx, dword [esp + 0x18]
+mov esi, dword [esp + 0x1c]
+cmp esi, edi
+je short loc_00452828 ; je 0x452828
+push 0x10
+push edi
+push esi
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+
+loc_00452828:
+mov eax, dword [edi]
+mov edx, dword [ebx]
+cmp eax, edx
+jle short loc_00452832 ; jle 0x452832
+mov dword [esi], edx
+
+loc_00452832:
+mov eax, dword [edi + 4]
+mov ecx, dword [ebx + 4]
+cmp eax, ecx
+jle short loc_0045283f ; jle 0x45283f
+mov dword [esi + 4], ecx
+
+loc_0045283f:
+mov eax, dword [edi + 8]
+mov ebp, dword [ebx + 8]
+cmp eax, ebp
+jge short loc_0045284c ; jge 0x45284c
+mov dword [esi + 8], ebp
+
+loc_0045284c:
+mov eax, dword [edi + 0xc]
+mov edx, dword [ebx + 0xc]
+cmp eax, edx
+jge short loc_00452859 ; jge 0x452859
+mov dword [esi + 0xc], edx
+
+loc_00452859:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045285e:
+push ebx
+push esi
+push edi
+sub esp, 0x1c
+mov edi, dword [esp + 0x2c]
+test edi, edi
+je short loc_004528b2 ; je 0x4528b2
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov esi, eax
+
+loc_00452875:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov ebx, eax
+sub ebx, esi
+push 1
+push 0
+push 0
+push 0
+lea eax, [esp + 0x10]
+push eax
+call dword [cs:__imp__PeekMessageA@20] ; ucall: call dword cs:[0x46230c]
+test eax, eax
+je short loc_004528ae ; je 0x4528ae
+cmp dword [esp + 4], 0x3b9
+jne short loc_004528ae ; jne 0x4528ae
+cmp dword [esp + 8], 1
+jne short loc_004528ae ; jne 0x4528ae
+call fcn_00454d2c ; call 0x454d2c
+
+loc_004528ae:
+cmp ebx, edi
+jb short loc_00452875 ; jb 0x452875
+
+loc_004528b2:
+add esp, 0x1c
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004528b9:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x1c
+mov ebp, dword [esp + 0x30]
+xor ebx, ebx
+test ebp, ebp
+jne short loc_004528d1 ; jne 0x4528d1
+xor eax, eax
+jmp near loc_0045293e ; jmp 0x45293e
+
+loc_004528d1:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov edi, eax
+
+loc_004528da:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov esi, eax
+sub esi, edi
+push 1
+push 0
+push 0
+push 0
+lea eax, [esp + 0x10]
+push eax
+call dword [cs:__imp__PeekMessageA@20] ; ucall: call dword cs:[0x46230c]
+test eax, eax
+je short loc_00452934 ; je 0x452934
+mov edx, dword [esp + 4]
+cmp edx, 0x202
+je short loc_00452919 ; je 0x452919
+cmp edx, 0x205
+je short loc_00452919 ; je 0x452919
+cmp edx, 0x101
+jne short loc_0045291e ; jne 0x45291e
+
+loc_00452919:
+mov ebx, 1
+
+loc_0045291e:
+cmp dword [esp + 4], 0x3b9
+jne short loc_00452934 ; jne 0x452934
+cmp dword [esp + 8], 1
+jne short loc_00452934 ; jne 0x452934
+call fcn_00454d2c ; call 0x454d2c
+
+loc_00452934:
+cmp esi, ebp
+jae short loc_0045293c ; jae 0x45293c
+test ebx, ebx
+je short loc_004528da ; je 0x4528da
+
+loc_0045293c:
+mov eax, ebx
+
+loc_0045293e:
+add esp, 0x1c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00452946:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x14]
+mov edi, dword [esp + 0x18]
+xor ebx, ebx
+xor esi, esi
+
+loc_00452956:
+push edi
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+lea edx, [esi + ebp]
+cmp ebx, eax
+jae short loc_00452976 ; jae 0x452976
+lea eax, [edi + ebx]
+mov cl, byte [eax]
+cmp cl, 0x20
+je short loc_00452973 ; je 0x452973
+mov byte [edx], cl
+inc esi
+
+loc_00452973:
+inc ebx
+jmp short loc_00452956 ; jmp 0x452956
+
+loc_00452976:
+mov byte [edx], 0
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045297e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x1c
+movsx esi, word [ref_0048cab8] ; movsx esi, word [0x48cab8]
+add esi, 0x6b
+movsx ebp, word [ref_0048cab6] ; movsx ebp, word [0x48cab6]
+add ebp, 0xb
+push ref_0048caac ; push 0x48caac
+call fcn_004584db ; call 0x4584db
+add esp, 4
+mov dword [esp + 0x18], eax
+fild dword [esp + 0x18]
+fild dword [ref_0048ca98] ; fild dword [0x48ca98]
+fdivp st1 ; fdivp st(1)
+fstp dword [esp + 0x10]
+test eax, eax
+je short loc_004529d3 ; je 0x4529d3
+fld dword [esp + 0x10]
+fmul dword [ref_00466218] ; fmul dword [0x466218]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x14]
+jmp short loc_004529db ; jmp 0x4529db
+
+loc_004529d3:
+mov dword [esp + 0x14], 0xffffffff
+
+loc_004529db:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [ebx + 0x64] ; ucall
+xor edi, edi
+push ref_0048caac ; push 0x48caac
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+lea ebx, [eax - 1]
+jmp short loc_00452a32 ; jmp 0x452a32
+
+loc_00452a05:
+push ebp
+push esi
+xor eax, eax
+mov al, byte [ebx + ref_0048caac] ; mov al, byte [ebx + 0x48caac]
+sub eax, 0x20
+push eax
+mov eax, dword [ref_0048caa8] ; mov eax, dword [0x48caa8]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456512 ; call 0x456512
+add esp, 0x14
+sub esi, 0xc
+dec ebx
+inc edi
+cmp edi, 9
+jge short loc_00452a64 ; jge 0x452a64
+
+loc_00452a32:
+test ebx, ebx
+jge short loc_00452a05 ; jge 0x452a05
+push 0x13
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+sub esi, eax
+sub esi, 2
+push esi
+push 0xb
+push 0xb
+push ebp
+add eax, 0xb
+push eax
+mov ecx, dword [ref_0048caa0] ; mov ecx, dword [0x48caa0]
+push ecx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+
+loc_00452a64:
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+add eax, 0x2a
+push eax
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+add eax, 0xa
+push eax
+push 1
+mov ecx, dword [ref_0048caa8] ; mov ecx, dword [0x48caa8]
+push ecx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_00456512 ; call 0x456512
+add esp, 0x14
+mov esi, dword [esp + 0x14]
+cmp esi, 0xffffffff
+je short loc_00452ad9 ; je 0x452ad9
+push 0xc
+mov al, byte [esi + ref_0047e725] ; mov al, byte [esi + 0x47e725]
+and eax, 0xff
+push eax
+push 0x2a
+push 0xa
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+add eax, 0x2a
+push eax
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+add eax, 0xa
+push eax
+mov edi, dword [ref_0048caa0] ; mov edi, dword [0x48caa0]
+push edi
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+
+loc_00452ad9:
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov ebx, dword [eax]
+push 0
+push eax
+call dword [ebx + 0x80] ; ucall
+cmp dword [esp + 0x30], 0
+je short loc_00452b2e ; je 0x452b2e
+movsx ebx, word [ref_0048cab8] ; movsx ebx, word [0x48cab8]
+lea eax, [ebx + 0xb]
+mov dword [esp], eax
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+lea esi, [eax + 0xb]
+mov dword [esp + 4], esi
+add ebx, 0x75
+mov dword [esp + 8], ebx
+add eax, 0x36
+mov dword [esp + 0xc], eax
+push 0
+lea eax, [esp + 4]
+push eax
+mov edx, dword [ref_0048a0d4] ; mov edx, dword [0x48a0d4]
+push edx
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00452b2e:
+add esp, 0x1c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00452b36:
+push ebx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+push eax
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+push eax
+push 0
+mov edx, dword [ref_0048caa8] ; mov edx, dword [0x48caa8]
+push edx
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_00456512 ; call 0x456512
+add esp, 0x14
+push 0xc0
+push 0x80
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+push eax
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+push eax
+mov ebx, dword [ref_0048caa0] ; mov ebx, dword [0x48caa0]
+push ebx
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+call fcn_0045297e ; call 0x45297e
+add esp, 4
+pop ebx
+ret
+
+endloc_00452bc9:
+db 0x90
+
+ref_00452bca: ; may contain a jump table
+dd loc_004530e9
+dd loc_00453116
+dd loc_00453145
+dd loc_00453189
+dd loc_00453156
+dd loc_00453189
+dd loc_00453189
+dd loc_00453189
+dd loc_00453189
+dd loc_00453189
+dd loc_00453189
+dd loc_00453189
+dd loc_00453189
+dd loc_00453189
+
+fcn_00452c02:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x6c
+mov esi, dword [esp + 0x80]
+mov ebx, dword [esp + 0x84]
+mov eax, dword [esp + 0x88]
+mov ecx, dword [esp + 0x8c]
+cmp ebx, 0x201
+jb short loc_00452c64 ; jb 0x452c64
+jbe near loc_00452d0e ; jbe 0x452d0e
+cmp ebx, 0x203
+jb near loc_00452fce ; jb 0x452fce
+jbe near loc_00452d0e ; jbe 0x452d0e
+cmp ebx, 0x205
+jb near loc_00453534 ; jb 0x453534
+jbe near loc_004534a3 ; jbe 0x4534a3
+cmp ebx, 0x401
+je short loc_00452c91 ; je 0x452c91
+jmp near loc_00453534 ; jmp 0x453534
+
+loc_00452c64:
+cmp ebx, 0x100
+jb short loc_00452c83 ; jb 0x452c83
+jbe near loc_00452e4b ; jbe 0x452e4b
+cmp ebx, 0x200
+je near loc_0045320b ; je 0x45320b
+jmp near loc_00453534 ; jmp 0x453534
+
+loc_00452c83:
+cmp ebx, 0xf
+je near loc_004534d6 ; je 0x4534d6
+jmp near loc_00453534 ; jmp 0x453534
+
+loc_00452c91:
+xor ah, ah
+mov byte [ref_0048cac2], ah ; mov byte [0x48cac2], ah
+mov byte [ref_0048caac], 0x30 ; mov byte [0x48caac], 0x30
+mov byte [ref_0048caad], ah ; mov byte [0x48caad], ah
+call fcn_00452b36 ; call 0x452b36
+push 0
+push 1
+push 0x1b
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+mov dword [esp + 0x50], eax
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+mov dword [esp + 0x54], eax
+mov eax, dword [esp + 0x50]
+add eax, 0x80
+mov dword [esp + 0x58], eax
+mov eax, dword [esp + 0x54]
+add eax, 0xc0
+mov dword [esp + 0x5c], eax
+
+loc_00452cf3:
+push 0
+lea eax, [esp + 0x54]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00452d02:
+xor eax, eax
+
+loc_00452d04:
+add esp, 0x6c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_00452d0e:
+xor eax, eax
+mov ax, cx
+movsx ebx, word [ref_0048cab8] ; movsx ebx, word [0x48cab8]
+sub eax, ebx
+mov ebx, eax
+mov eax, ecx
+shr eax, 0x10
+and eax, 0xffff
+and eax, 0xffff
+movsx edx, word [ref_0048cab6] ; movsx edx, word [0x48cab6]
+sub eax, edx
+mov edx, eax
+test ebx, ebx
+jl short loc_00452d02 ; jl 0x452d02
+cmp ebx, 0x80
+jg short loc_00452d02 ; jg 0x452d02
+test eax, eax
+jl short loc_00452d02 ; jl 0x452d02
+cmp eax, 0xc0
+jg short loc_00452d02 ; jg 0x452d02
+mov edi, eax
+shl edi, 7
+add edi, ebx
+mov eax, dword [ref_0048ca9c] ; mov eax, dword [0x48ca9c]
+mov al, byte [edi + eax]
+mov byte [ref_0048cac2], al ; mov byte [0x48cac2], al
+cmp al, 1
+jne short loc_00452d75 ; jne 0x452d75
+mov dword [ref_0048caba], ebx ; mov dword [0x48caba], ebx
+mov dword [ref_0048cabe], edx ; mov dword [0x48cabe], edx
+jmp short loc_00452d02 ; jmp 0x452d02
+
+loc_00452d75:
+cmp al, 0x10
+jne short loc_00452d8e ; jne 0x452d8e
+push ecx
+push 0
+push 0x200
+
+loc_00452d81:
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00452d02 ; jmp 0x452d02
+
+loc_00452d8e:
+push 0
+push ref_0048234a ; push 0x48234a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+xor eax, eax
+mov al, byte [ref_0048cac2] ; mov al, byte [0x48cac2]
+xor edx, edx
+mov dl, byte [eax*4 + ref_0047e6d8] ; mov dl, byte [eax*4 + 0x47e6d8]
+movsx ecx, word [ref_0048cab8] ; movsx ecx, word [0x48cab8]
+add ecx, edx
+mov dword [esp + 0x50], ecx
+xor edx, edx
+mov dl, byte [eax*4 + ref_0047e6d9] ; mov dl, byte [eax*4 + 0x47e6d9]
+movsx ecx, word [ref_0048cab6] ; movsx ecx, word [0x48cab6]
+add ecx, edx
+mov dword [esp + 0x54], ecx
+xor edx, edx
+mov dl, byte [eax*4 + ref_0047e6da] ; mov dl, byte [eax*4 + 0x47e6da]
+mov ecx, dword [esp + 0x50]
+add ecx, edx
+mov dword [esp + 0x58], ecx
+mov al, byte [eax*4 + ref_0047e6db] ; mov al, byte [eax*4 + 0x47e6db]
+and eax, 0xff
+mov edx, dword [esp + 0x54]
+add edx, eax
+mov dword [esp + 0x5c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov edi, dword [esp + 0x54]
+push edi
+mov ebp, dword [esp + 0x54]
+push ebp
+xor eax, eax
+mov al, byte [ref_0048cac2] ; mov al, byte [0x48cac2]
+push eax
+mov eax, dword [ref_0048caa8] ; mov eax, dword [0x48caa8]
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_00456512 ; call 0x456512
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+jmp near loc_00452cf3 ; jmp 0x452cf3
+
+loc_00452e4b:
+xor dl, dl
+mov byte [ref_0048cac2], dl ; mov byte [0x48cac2], dl
+cmp eax, 0x35
+jb short loc_00452ea4 ; jb 0x452ea4
+jbe near loc_00452f2b ; jbe 0x452f2b
+cmp eax, 0x39
+jb short loc_00452e90 ; jb 0x452e90
+jbe near loc_00452f4f ; jbe 0x452f4f
+cmp eax, 0x48
+jb short loc_00452e82 ; jb 0x452e82
+jbe near loc_00452f73 ; jbe 0x452f73
+cmp eax, 0x4d
+je near loc_00452f58 ; je 0x452f58
+jmp near loc_00452fa2 ; jmp 0x452fa2
+
+loc_00452e82:
+cmp eax, 0x43
+je near loc_00452f61 ; je 0x452f61
+jmp near loc_00452fa2 ; jmp 0x452fa2
+
+loc_00452e90:
+cmp eax, 0x37
+jb near loc_00452f34 ; jb 0x452f34
+jbe near loc_00452f3d ; jbe 0x452f3d
+jmp near loc_00452f46 ; jmp 0x452f46
+
+loc_00452ea4:
+cmp eax, 0x31
+jb short loc_00452eb4 ; jb 0x452eb4
+jbe short loc_00452ee3 ; jbe 0x452ee3
+cmp eax, 0x33
+jb short loc_00452eef ; jb 0x452eef
+jbe short loc_00452efb ; jbe 0x452efb
+jmp short loc_00452f07 ; jmp 0x452f07
+
+loc_00452eb4:
+cmp eax, 0xd
+jb short loc_00452ec9 ; jb 0x452ec9
+jbe near loc_00452f96 ; jbe 0x452f96
+cmp eax, 0x30
+je short loc_00452ed7 ; je 0x452ed7
+jmp near loc_00452fa2 ; jmp 0x452fa2
+
+loc_00452ec9:
+cmp eax, 8
+je near loc_00452f6a ; je 0x452f6a
+jmp near loc_00452fa2 ; jmp 0x452fa2
+
+loc_00452ed7:
+mov byte [ref_0048cac2], 5 ; mov byte [0x48cac2], 5
+jmp near loc_00452f0e ; jmp 0x452f0e
+
+loc_00452ee3:
+mov byte [ref_0048cac2], 0xd ; mov byte [0x48cac2], 0xd
+jmp near loc_00452f0e ; jmp 0x452f0e
+
+loc_00452eef:
+mov byte [ref_0048cac2], 0xe ; mov byte [0x48cac2], 0xe
+jmp near loc_00452f0e ; jmp 0x452f0e
+
+loc_00452efb:
+mov byte [ref_0048cac2], 0xf ; mov byte [0x48cac2], 0xf
+jmp near loc_00452f0e ; jmp 0x452f0e
+
+loc_00452f07:
+mov byte [ref_0048cac2], 0xa ; mov byte [0x48cac2], 0xa
+
+loc_00452f0e:
+push 0
+push ref_0048234a ; push 0x48234a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+
+loc_00452f1d:
+push 0
+push 0
+push 0x202
+jmp near loc_00452d81 ; jmp 0x452d81
+
+loc_00452f2b:
+mov byte [ref_0048cac2], 0xb ; mov byte [0x48cac2], 0xb
+jmp short loc_00452f0e ; jmp 0x452f0e
+
+loc_00452f34:
+mov byte [ref_0048cac2], 0xc ; mov byte [0x48cac2], 0xc
+jmp short loc_00452f0e ; jmp 0x452f0e
+
+loc_00452f3d:
+mov byte [ref_0048cac2], 7 ; mov byte [0x48cac2], 7
+jmp short loc_00452f0e ; jmp 0x452f0e
+
+loc_00452f46:
+mov byte [ref_0048cac2], 8 ; mov byte [0x48cac2], 8
+jmp short loc_00452f0e ; jmp 0x452f0e
+
+loc_00452f4f:
+mov byte [ref_0048cac2], 9 ; mov byte [0x48cac2], 9
+jmp short loc_00452f0e ; jmp 0x452f0e
+
+loc_00452f58:
+mov byte [ref_0048cac2], 2 ; mov byte [0x48cac2], 2
+jmp short loc_00452f0e ; jmp 0x452f0e
+
+loc_00452f61:
+mov byte [ref_0048cac2], 4 ; mov byte [0x48cac2], 4
+jmp short loc_00452f0e ; jmp 0x452f0e
+
+loc_00452f6a:
+mov byte [ref_0048cac2], 6 ; mov byte [0x48cac2], 6
+jmp short loc_00452f0e ; jmp 0x452f0e
+
+loc_00452f73:
+mov byte [ref_0048cac2], 0x10 ; mov byte [0x48cac2], 0x10
+movsx ebx, word [ref_0048cab8] ; movsx ebx, word [0x48cab8]
+add ebx, 0x40
+movsx edx, word [ref_0048cab6] ; movsx edx, word [0x48cab6]
+add edx, 0x2f
+shl edx, 0x10
+lea ecx, [edx + ebx]
+jmp short loc_00452fb9 ; jmp 0x452fb9
+
+loc_00452f96:
+mov byte [ref_0048cac2], 3 ; mov byte [0x48cac2], 3
+jmp near loc_00452f0e ; jmp 0x452f0e
+
+loc_00452fa2:
+mov ah, byte [ref_0048cac2] ; mov ah, byte [0x48cac2]
+test ah, ah
+je near loc_00452d02 ; je 0x452d02
+cmp ah, 0x10
+jne near loc_00452f0e ; jne 0x452f0e
+
+loc_00452fb9:
+push ecx
+push 0
+push 0x200
+push esi
+call dword [cs:__imp__PostMessageA@16] ; ucall: call dword cs:[0x462310]
+jmp near loc_00452f1d ; jmp 0x452f1d
+
+loc_00452fce:
+mov bl, byte [ref_0048cac2] ; mov bl, byte [0x48cac2]
+test bl, bl
+je near loc_00452d02 ; je 0x452d02
+cmp bl, 2
+jb near loc_0045310a ; jb 0x45310a
+cmp bl, 0x10
+jae near loc_0045310a ; jae 0x45310a
+xor eax, eax
+mov al, bl
+xor edx, edx
+mov dl, byte [eax*4 + ref_0047e6d8] ; mov dl, byte [eax*4 + 0x47e6d8]
+movsx ecx, word [ref_0048cab8] ; movsx ecx, word [0x48cab8]
+add ecx, edx
+mov dword [esp + 0x50], ecx
+xor edx, edx
+mov dl, byte [eax*4 + ref_0047e6d9] ; mov dl, byte [eax*4 + 0x47e6d9]
+movsx ecx, word [ref_0048cab6] ; movsx ecx, word [0x48cab6]
+add ecx, edx
+mov dword [esp + 0x54], ecx
+xor edx, edx
+mov dl, byte [eax*4 + ref_0047e6da] ; mov dl, byte [eax*4 + 0x47e6da]
+mov ecx, dword [esp + 0x50]
+add ecx, edx
+mov dword [esp + 0x58], ecx
+mov al, byte [eax*4 + ref_0047e6db] ; mov al, byte [eax*4 + 0x47e6db]
+and eax, 0xff
+mov edx, dword [esp + 0x54]
+add edx, eax
+mov dword [esp + 0x5c], edx
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+xor eax, eax
+mov al, byte [ref_0048cac2] ; mov al, byte [0x48cac2]
+xor edx, edx
+mov dl, byte [eax*4 + ref_0047e6db] ; mov dl, byte [eax*4 + 0x47e6db]
+push edx
+xor edx, edx
+mov dl, byte [eax*4 + ref_0047e6da] ; mov dl, byte [eax*4 + 0x47e6da]
+push edx
+xor edx, edx
+mov dl, byte [eax*4 + ref_0047e6d9] ; mov dl, byte [eax*4 + 0x47e6d9]
+push edx
+mov al, byte [eax*4 + ref_0047e6d8] ; mov al, byte [eax*4 + 0x47e6d8]
+and eax, 0xff
+push eax
+mov edx, dword [esp + 0x64]
+push edx
+mov ecx, dword [esp + 0x64]
+push ecx
+mov ebx, dword [ref_0048caa0] ; mov ebx, dword [0x48caa0]
+push ebx
+mov edi, dword [ref_0048a08c] ; mov edi, dword [0x48a08c]
+push edi
+call fcn_0045643d ; call 0x45643d
+add esp, 0x20
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+lea eax, [esp + 0x54]
+push eax
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+mov al, byte [ref_0048cac2] ; mov al, byte [0x48cac2]
+sub al, 2
+cmp al, 0xd
+ja near loc_0045310a ; ja 0x45310a
+and eax, 0xff
+jmp dword [eax*4 + ref_00452bca] ; ujmp: jmp dword [eax*4 + 0x452bca]
+
+loc_004530e9:
+push 0xa
+mov eax, ref_0048caac ; mov eax, 0x48caac
+push eax
+mov ebx, dword [ref_0048ca98] ; mov ebx, dword [0x48ca98]
+push ebx
+
+loc_004530f8:
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+
+loc_00453100:
+push 1
+call fcn_0045297e ; call 0x45297e
+
+loc_00453107:
+add esp, 4
+
+loc_0045310a:
+xor al, al
+mov byte [ref_0048cac2], al ; mov byte [0x48cac2], al
+jmp near loc_00452d02 ; jmp 0x452d02
+
+loc_00453116:
+push ref_0048caac ; push 0x48caac
+call fcn_004584db ; call 0x4584db
+mov ebx, eax
+add esp, 4
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push ebx
+call fcn_00401966 ; call 0x401966
+jmp short loc_00453107 ; jmp 0x453107
+
+loc_00453145:
+mov byte [ref_0048caac], 0x30 ; mov byte [0x48caac], 0x30
+xor ch, ch
+mov byte [ref_0048caad], ch ; mov byte [0x48caad], ch
+jmp short loc_00453100 ; jmp 0x453100
+
+loc_00453156:
+push ref_0048caac ; push 0x48caac
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+cmp eax, 1
+jle short loc_00453172 ; jle 0x453172
+xor dl, dl
+mov byte [eax + ref_0048caab], dl ; mov byte [eax + 0x48caab], dl
+jmp short loc_00453100 ; jmp 0x453100
+
+loc_00453172:
+jne short loc_0045310a ; jne 0x45310a
+cmp byte [ref_0048caac], 0x30 ; cmp byte [0x48caac], 0x30
+je short loc_0045310a ; je 0x45310a
+mov byte [ref_0048caac], 0x30 ; mov byte [0x48caac], 0x30
+jmp near loc_00453100 ; jmp 0x453100
+
+loc_00453189:
+push ref_0048caac ; push 0x48caac
+call fcn_0045825d ; call 0x45825d
+add esp, 4
+mov dword [esp + 0x68], eax
+cmp eax, 9
+jge near loc_0045310a ; jge 0x45310a
+cmp eax, 1
+jne short loc_004531c4 ; jne 0x4531c4
+cmp byte [ref_0048caac], 0x30 ; cmp byte [0x48caac], 0x30
+jne short loc_004531c4 ; jne 0x4531c4
+cmp byte [ref_0048cac2], 5 ; cmp byte [0x48cac2], 5
+je near loc_0045310a ; je 0x45310a
+xor ebp, ebp
+mov dword [esp + 0x68], ebp
+
+loc_004531c4:
+xor eax, eax
+mov al, byte [ref_0048cac2] ; mov al, byte [0x48cac2]
+mov dl, byte [eax + ref_0047e714] ; mov dl, byte [eax + 0x47e714]
+mov eax, dword [esp + 0x68]
+mov byte [eax + ref_0048caac], dl ; mov byte [eax + 0x48caac], dl
+xor bh, bh
+mov byte [eax + ref_0048caad], bh ; mov byte [eax + 0x48caad], bh
+push ref_0048caac ; push 0x48caac
+call fcn_004584db ; call 0x4584db
+add esp, 4
+mov edx, dword [ref_0048ca98] ; mov edx, dword [0x48ca98]
+cmp eax, edx
+jle near loc_00453100 ; jle 0x453100
+push 0xa
+push ref_0048caac ; push 0x48caac
+push edx
+jmp near loc_004530f8 ; jmp 0x4530f8
+
+loc_0045320b:
+mov dh, byte [ref_0048cac2] ; mov dh, byte [0x48cac2]
+cmp dh, 1
+jne near loc_00453394 ; jne 0x453394
+xor ebx, ebx
+mov bx, cx
+sub ebx, dword [ref_0048caba] ; sub ebx, dword [0x48caba]
+shr ecx, 0x10
+and ecx, 0xffff
+xor edx, edx
+mov dx, cx
+sub edx, dword [ref_0048cabe] ; sub edx, dword [0x48cabe]
+test ebx, ebx
+jge short loc_00453241 ; jge 0x453241
+xor ebx, ebx
+jmp short loc_0045324e ; jmp 0x45324e
+
+loc_00453241:
+cmp ebx, 0x200
+jle short loc_0045324e ; jle 0x45324e
+mov ebx, 0x200
+
+loc_0045324e:
+test edx, edx
+jge short loc_00453256 ; jge 0x453256
+xor edx, edx
+jmp short loc_00453263 ; jmp 0x453263
+
+loc_00453256:
+cmp edx, 0x120
+jle short loc_00453263 ; jle 0x453263
+mov edx, 0x120
+
+loc_00453263:
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+mov dword [esp + 0x50], eax
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+mov dword [esp + 0x54], eax
+mov eax, dword [esp + 0x50]
+add eax, 0x80
+mov dword [esp + 0x58], eax
+mov eax, dword [esp + 0x54]
+add eax, 0xc0
+mov dword [esp + 0x5c], eax
+mov word [ref_0048cab8], bx ; mov word [0x48cab8], bx
+mov word [ref_0048cab6], dx ; mov word [0x48cab6], dx
+movsx eax, bx
+mov dword [esp + 0x40], eax
+movsx eax, dx
+mov dword [esp + 0x44], eax
+mov eax, dword [esp + 0x40]
+add eax, 0x80
+mov dword [esp + 0x48], eax
+mov eax, dword [esp + 0x44]
+add eax, 0xc0
+mov dword [esp + 0x4c], eax
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+mov dword [ref_0046caf4], eax ; mov dword [0x46caf4], eax
+mov eax, dword [esp + 0x54]
+push eax
+mov edx, dword [esp + 0x54]
+push edx
+mov ecx, dword [ref_0048caa4] ; mov ecx, dword [0x48caa4]
+push ecx
+mov ebx, dword [ref_0048a08c] ; mov ebx, dword [0x48a08c]
+push ebx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+push 0xc0
+push 0x80
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+push eax
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+push eax
+mov edi, dword [ref_0048caa4] ; mov edi, dword [0x48caa4]
+push edi
+push ref_0046caec ; push 0x46caec
+call fcn_00451a97 ; call 0x451a97
+add esp, 0x18
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+push eax
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+push eax
+push 0
+mov ebp, dword [ref_0048caa8] ; mov ebp, dword [0x48caa8]
+push ebp
+mov eax, dword [ref_0048a08c] ; mov eax, dword [0x48a08c]
+push eax
+call fcn_00456512 ; call 0x456512
+add esp, 0x14
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+call fcn_0045297e ; call 0x45297e
+add esp, 4
+lea eax, [esp + 0x50]
+push eax
+lea eax, [esp + 0x44]
+push eax
+lea eax, [esp + 0x58]
+push eax
+call fcn_00452808 ; call 0x452808
+add esp, 0xc
+jmp near loc_00452cf3 ; jmp 0x452cf3
+
+loc_00453394:
+cmp dh, 0x10
+jne near loc_00452d02 ; jne 0x452d02
+xor eax, eax
+mov ax, cx
+movsx ebx, word [ref_0048cab8] ; movsx ebx, word [0x48cab8]
+sub eax, ebx
+mov ebx, eax
+shr ecx, 0x10
+and ecx, 0xffff
+xor eax, eax
+mov ax, cx
+movsx edx, word [ref_0048cab6] ; movsx edx, word [0x48cab6]
+sub eax, edx
+mov edx, eax
+test ebx, ebx
+jl near loc_00452d02 ; jl 0x452d02
+cmp ebx, 0x80
+jg near loc_00452d02 ; jg 0x452d02
+test eax, eax
+jl near loc_00452d02 ; jl 0x452d02
+cmp eax, 0xc0
+jg near loc_00452d02 ; jg 0x452d02
+shl edx, 7
+lea eax, [edx + ebx]
+mov edx, dword [ref_0048ca9c] ; mov edx, dword [0x48ca9c]
+cmp byte [edx + eax], 0x10
+jne near loc_00452d02 ; jne 0x452d02
+push 0
+mov eax, ref_00482352 ; mov eax, 0x482352
+push eax
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+sub ebx, 0xa
+test ebx, ebx
+jg short loc_00453437 ; jg 0x453437
+mov byte [ref_0048caac], 0x30 ; mov byte [0x48caac], 0x30
+xor al, al
+mov byte [ref_0048caad], al ; mov byte [0x48caad], al
+
+loc_00453428:
+push 1
+call fcn_0045297e ; call 0x45297e
+
+loc_0045342f:
+add esp, 4
+jmp near loc_00452d02 ; jmp 0x452d02
+
+loc_00453437:
+xor ecx, ecx
+mov dword [esp + 0x68], ecx
+jmp short loc_00453451 ; jmp 0x453451
+
+loc_0045343f:
+mov ebp, dword [esp + 0x68]
+inc ebp
+mov dword [esp + 0x68], ebp
+cmp ebp, 0x22
+jge near loc_00452d02 ; jge 0x452d02
+
+loc_00453451:
+mov eax, dword [esp + 0x68]
+mov al, byte [eax + ref_0047e725] ; mov al, byte [eax + 0x47e725]
+and eax, 0xff
+cmp ebx, eax
+jg short loc_0045343f ; jg 0x45343f
+mov eax, dword [esp + 0x68]
+mov dword [esp + 0x64], eax
+fild dword [esp + 0x64]
+fdiv dword [ref_0046621c] ; fdiv dword [0x46621c]
+fstp dword [esp + 0x60]
+fild dword [ref_0048ca98] ; fild dword [0x48ca98]
+fmul dword [esp + 0x60]
+call fcn_00457dbc ; call 0x457dbc
+fistp dword [esp + 0x68]
+push 0xa
+push ref_0048caac ; push 0x48caac
+mov edx, dword [esp + 0x70]
+push edx
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+jmp short loc_00453428 ; jmp 0x453428
+
+loc_004534a3:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push 1
+push 0x29
+call fcn_004021f8 ; call 0x4021f8
+add esp, 0xc
+push 0
+call fcn_00401966 ; call 0x401966
+jmp near loc_0045342f ; jmp 0x45342f
+
+loc_004534d6:
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov eax, dword [eax]
+push 0x10
+lea edx, [esp + 0xc]
+push edx
+mov edx, dword [ref_0048a0e0] ; mov edx, dword [0x48a0e0]
+push edx
+mov ecx, dword [esp + 0x18]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov edi, dword [ref_0048a0dc] ; mov edi, dword [0x48a0dc]
+push edi
+call dword [eax + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00452d02 ; jmp 0x452d02
+
+loc_00453534:
+push ecx
+push eax
+push ebx
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_00452d04 ; jmp 0x452d04
+
+fcn_00453544:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+call fcn_004024a1 ; call 0x4024a1
+mov esi, eax
+mov byte [ref_0046cb00], 1 ; mov byte [0x46cb00], 1
+cmp eax, 1
+jne short loc_00453568 ; jne 0x453568
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+
+loc_00453568:
+push 0
+push 0
+push 0x15
+mov edx, dword [ref_0048a05c] ; mov edx, dword [0x48a05c]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048caa8], eax ; mov dword [0x48caa8], eax
+push 0
+push 0
+push 0x16
+mov ecx, dword [ref_0048a05c] ; mov ecx, dword [0x48a05c]
+push ecx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048ca9c], eax ; mov dword [0x48ca9c], eax
+mov word [ref_0048cab8], 0x100 ; mov word [0x48cab8], 0x100
+mov word [ref_0048cab6], 0x90 ; mov word [0x48cab6], 0x90
+mov dword [esp], 0x100
+mov dword [esp + 4], 0x90
+mov dword [esp + 8], 0x180
+mov dword [esp + 0xc], 0x150
+mov eax, esp
+push eax
+call fcn_00451e7e ; call 0x451e7e
+add esp, 4
+mov dword [ref_0048caa4], eax ; mov dword [0x48caa4], eax
+push 0
+push 0
+push 0xc0
+push 0x80
+call fcn_00451a5a ; call 0x451a5a
+add esp, 0x10
+mov dword [ref_0048caa0], eax ; mov dword [0x48caa0], eax
+mov eax, dword [esp + 0x24]
+mov dword [ref_0048ca98], eax ; mov dword [0x48ca98], eax
+push 0
+push fcn_00452c02 ; push 0x452c02
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov ebx, eax
+movsx eax, word [ref_0048cab6] ; movsx eax, word [0x48cab6]
+push eax
+movsx eax, word [ref_0048cab8] ; movsx eax, word [0x48cab8]
+push eax
+mov edx, dword [ref_0048caa4] ; mov edx, dword [0x48caa4]
+push edx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov ecx, dword [ref_0048caa8] ; mov ecx, dword [0x48caa8]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov edi, dword [ref_0048ca9c] ; mov edi, dword [0x48ca9c]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebp, dword [ref_0048caa0] ; mov ebp, dword [0x48caa0]
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+cmp esi, 1
+jne short loc_0045366c ; jne 0x45366c
+push esi
+call fcn_00402460 ; call 0x402460
+add esp, 4
+
+loc_0045366c:
+xor dh, dh
+mov byte [ref_0046cb00], dh ; mov byte [0x46cb00], dh
+mov eax, ebx
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045367e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x40
+mov esi, dword [esp + 0x54]
+mov eax, dword [esp + 0x58]
+mov edx, dword [esp + 0x5c]
+mov ebx, dword [esp + 0x60]
+cmp eax, 0x200
+jb short loc_004536cb ; jb 0x4536cb
+jbe near loc_00453745 ; jbe 0x453745
+cmp eax, 0x205
+jb short loc_004536bb ; jb 0x4536bb
+jbe near loc_004539a2 ; jbe 0x4539a2
+cmp eax, 0x401
+je short loc_004536f6 ; je 0x4536f6
+jmp near loc_00453a22 ; jmp 0x453a22
+
+loc_004536bb:
+cmp eax, 0x202
+je near loc_00453892 ; je 0x453892
+jmp near loc_00453a22 ; jmp 0x453a22
+
+loc_004536cb:
+cmp eax, 0x100
+jb short loc_004536e8 ; jb 0x4536e8
+jbe near loc_00453948 ; jbe 0x453948
+cmp eax, 0x101
+je near loc_0045393a ; je 0x45393a
+jmp near loc_00453a22 ; jmp 0x453a22
+
+loc_004536e8:
+cmp eax, 0xf
+je near loc_004539ca ; je 0x4539ca
+jmp near loc_00453a22 ; jmp 0x453a22
+
+loc_004536f6:
+xor edx, edx
+mov dword [ref_0048cad8], edx ; mov dword [0x48cad8], edx
+xor edx, edx
+mov word [ref_0048cadc], dx ; mov word [0x48cadc], dx
+mov eax, dword [ref_0048cac8] ; mov eax, dword [0x48cac8]
+add eax, 0x16
+push eax
+mov eax, dword [ref_0048cac4] ; mov eax, dword [0x48cac4]
+add eax, 0x16
+push eax
+call dword [cs:__imp__SetCursorPos@8] ; ucall: call dword cs:[0x46231c]
+push 1
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+push ref_0048cac4 ; push 0x48cac4
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_00453739:
+xor eax, eax
+
+loc_0045373b:
+add esp, 0x40
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 0x10
+
+loc_00453745:
+xor edx, edx
+mov dx, bx
+sub edx, dword [ref_0048cac4] ; sub edx, dword [0x48cac4]
+mov eax, ebx
+shr eax, 0x10
+and eax, 0xffff
+xor ebx, ebx
+mov bx, ax
+sub ebx, dword [ref_0048cac8] ; sub ebx, dword [0x48cac8]
+test edx, edx
+jl near loc_00453827 ; jl 0x453827
+mov eax, dword [ref_0048cad4] ; mov eax, dword [0x48cad4]
+movsx ecx, word [eax + 0xc]
+cmp edx, ecx
+jge near loc_00453827 ; jge 0x453827
+test ebx, ebx
+jl near loc_00453827 ; jl 0x453827
+movsx eax, word [eax + 0xe]
+cmp ebx, eax
+jge near loc_00453827 ; jge 0x453827
+sar ecx, 1
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+lea ebx, [eax + 1]
+cmp ebx, dword [ref_0048cad8] ; cmp ebx, dword [0x48cad8]
+je short loc_00453739 ; je 0x453739
+push 0
+push ref_0048231a ; push 0x48231a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebp, dword [ref_0048cac8] ; mov ebp, dword [0x48cac8]
+push ebp
+mov eax, dword [ref_0048cac4] ; mov eax, dword [0x48cac4]
+push eax
+mov ecx, dword [ref_0048cad4] ; mov ecx, dword [0x48cad4]
+mov eax, ebx
+shl eax, 2
+sub eax, ebx
+shl eax, 2
+add ecx, 0xc
+add eax, ecx
+push eax
+mov edx, dword [ref_0048a08c] ; mov edx, dword [0x48a08c]
+push edx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048cac4 ; push 0x48cac4
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+
+loc_0045381c:
+mov dword [ref_0048cad8], ebx ; mov dword [0x48cad8], ebx
+jmp near loc_00453739 ; jmp 0x453739
+
+loc_00453827:
+cmp dword [ref_0048cad8], 0 ; cmp dword [0x48cad8], 0
+je near loc_00453739 ; je 0x453739
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov eax, dword [ref_0048cac8] ; mov eax, dword [0x48cac8]
+push eax
+mov edx, dword [ref_0048cac4] ; mov edx, dword [0x48cac4]
+push edx
+mov eax, dword [ref_0048cad4] ; mov eax, dword [0x48cad4]
+add eax, 0xc
+push eax
+mov ecx, dword [ref_0048a08c] ; mov ecx, dword [0x48a08c]
+push ecx
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048cac4 ; push 0x48cac4
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+xor ebx, ebx
+jmp short loc_0045381c ; jmp 0x45381c
+
+loc_00453892:
+cmp dword [ref_0048cad8], 0 ; cmp dword [0x48cad8], 0
+je near loc_00453739 ; je 0x453739
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ebx, dword [ref_0048cac8] ; mov ebx, dword [0x48cac8]
+push ebx
+mov edi, dword [ref_0048cac4] ; mov edi, dword [0x48cac4]
+push edi
+mov eax, dword [ref_0048cad4] ; mov eax, dword [0x48cad4]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push ref_0048cac4 ; push 0x48cac4
+push esi
+call dword [cs:__imp__InvalidateRect@12] ; ucall: call dword cs:[0x4622f8]
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+cmp dword [ref_0048cad8], 1 ; cmp dword [0x48cad8], 1
+jne short loc_00453923 ; jne 0x453923
+push 0
+push ref_0048232a ; push 0x48232a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+mov ebx, 1
+jmp short loc_00453934 ; jmp 0x453934
+
+loc_00453923:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+xor ebx, ebx
+
+loc_00453934:
+push ebx
+jmp near loc_004539bd ; jmp 0x4539bd
+
+loc_0045393a:
+xor ebx, ebx
+mov word [ref_0048cadc], bx ; mov word [0x48cadc], bx
+jmp near loc_00453739 ; jmp 0x453739
+
+loc_00453948:
+cmp edx, 0x11
+jne short loc_00453958 ; jne 0x453958
+mov word [ref_0048cadc], 0x1100 ; mov word [0x48cadc], 0x1100
+jmp short loc_0045395f ; jmp 0x45395f
+
+loc_00453958:
+or word [ref_0048cadc], dx ; or word [0x48cadc], dx
+
+loc_0045395f:
+xor edx, edx
+mov dx, word [ref_00497178] ; mov dx, word [0x497178]
+xor eax, eax
+mov ax, word [ref_0048cadc] ; mov ax, word [0x48cadc]
+cmp eax, edx
+jne short loc_00453991 ; jne 0x453991
+push 0
+push ref_0048232a ; push 0x48232a
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 1
+jmp short loc_004539bd ; jmp 0x4539bd
+
+loc_00453991:
+xor edx, edx
+mov dx, word [ref_0049717a] ; mov dx, word [0x49717a]
+cmp eax, edx
+jne near loc_00453739 ; jne 0x453739
+
+loc_004539a2:
+push 0
+push ref_00482332 ; push 0x482332
+call fcn_004542ce ; call 0x4542ce
+add esp, 8
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+push 0
+
+loc_004539bd:
+call fcn_00401966 ; call 0x401966
+add esp, 4
+jmp near loc_00453739 ; jmp 0x453739
+
+loc_004539ca:
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__BeginPaint@8] ; ucall: call dword cs:[0x4622cc]
+lea eax, [esp + 8]
+push eax
+call fcn_0040235d ; call 0x40235d
+add esp, 4
+mov eax, dword [ref_0048a0dc] ; mov eax, dword [0x48a0dc]
+mov edx, dword [eax]
+push 0x10
+lea ecx, [esp + 0xc]
+push ecx
+mov ecx, dword [ref_0048a0e0] ; mov ecx, dword [0x48a0e0]
+push ecx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov edi, dword [esp + 0x18]
+push edi
+push eax
+call dword [edx + 0x1c] ; ucall
+lea eax, [esp + 8]
+push eax
+call fcn_00402250 ; call 0x402250
+add esp, 4
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__EndPaint@8] ; ucall: call dword cs:[0x4622e8]
+jmp near loc_00453739 ; jmp 0x453739
+
+loc_00453a22:
+push ebx
+push edx
+push eax
+push esi
+call dword [cs:__imp__DefWindowProcA@16] ; ucall: call dword cs:[0x4622d8]
+jmp near loc_0045373b ; jmp 0x45373b
+
+fcn_00453a32:
+push ebx
+push esi
+push edi
+push ebp
+call fcn_004024a1 ; call 0x4024a1
+mov edi, eax
+cmp eax, 1
+jne short loc_00453a4c ; jne 0x453a4c
+push 0
+call fcn_00402460 ; call 0x402460
+add esp, 4
+
+loc_00453a4c:
+push 0
+push 0
+push 0x1b8
+mov edx, dword [ref_0048a0e4] ; mov edx, dword [0x48a0e4]
+push edx
+call fcn_00450441 ; call 0x450441
+add esp, 0x10
+mov dword [ref_0048cad4], eax ; mov dword [0x48cad4], eax
+movsx edx, word [eax + 0xc]
+sar edx, 1
+mov ebx, dword [esp + 0x14]
+sub ebx, edx
+mov dword [ref_0048cac4], ebx ; mov dword [0x48cac4], ebx
+movsx edx, word [eax + 0xe]
+sar edx, 1
+mov ebx, dword [esp + 0x18]
+sub ebx, edx
+mov dword [ref_0048cac8], ebx ; mov dword [0x48cac8], ebx
+movsx edx, word [eax + 0xc]
+mov ebx, dword [ref_0048cac4] ; mov ebx, dword [0x48cac4]
+add edx, ebx
+mov dword [ref_0048cacc], edx ; mov dword [0x48cacc], edx
+movsx edx, word [eax + 0xe]
+mov eax, dword [ref_0048cac8] ; mov eax, dword [0x48cac8]
+add eax, edx
+mov dword [ref_0048cad0], eax ; mov dword [0x48cad0], eax
+push ref_0048cac4 ; push 0x48cac4
+call fcn_00451e7e ; call 0x451e7e
+mov ebx, eax
+add esp, 4
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push 1
+push ref_0048a068 ; push 0x48a068
+push 0
+push eax
+call dword [edx + 0x64] ; ucall
+mov ecx, dword [ref_0048cac8] ; mov ecx, dword [0x48cac8]
+push ecx
+mov esi, dword [ref_0048cac4] ; mov esi, dword [0x48cac4]
+push esi
+mov eax, dword [ref_0048cad4] ; mov eax, dword [0x48cad4]
+add eax, 0xc
+push eax
+mov ebp, dword [ref_0048a08c] ; mov ebp, dword [0x48a08c]
+push ebp
+call fcn_004563f5 ; call 0x4563f5
+add esp, 0x10
+mov eax, dword [ref_0048a0e0] ; mov eax, dword [0x48a0e0]
+mov edx, dword [eax]
+push 0
+push eax
+call dword [edx + 0x80] ; ucall
+push 0
+push fcn_0045367e ; push 0x45367e
+call fcn_004018e7 ; call 0x4018e7
+add esp, 8
+mov esi, eax
+mov eax, dword [ref_0048cac8] ; mov eax, dword [0x48cac8]
+push eax
+mov edx, dword [ref_0048cac4] ; mov edx, dword [0x48cac4]
+push edx
+push ebx
+call fcn_00451edb ; call 0x451edb
+add esp, 0xc
+mov ecx, dword [ref_0048cad4] ; mov ecx, dword [0x48cad4]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+cmp edi, 1
+jne short loc_00453b4e ; jne 0x453b4e
+push edi
+call fcn_00402460 ; call 0x402460
+add esp, 4
+
+loc_00453b4e:
+mov eax, esi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00453b55:
+push ebx
+push esi
+push edi
+mov edx, dword [ref_0047e748] ; mov edx, dword [0x47e748]
+test edx, edx
+jne near loc_00453cec ; jne 0x453cec
+cmp byte [ref_0047e76c], 0 ; cmp byte [0x47e76c], 0
+jne near loc_00453cec ; jne 0x453cec
+push edx
+push ref_0047e748 ; push 0x47e748
+push edx
+call fcn_0046121c ; call 0x46121c
+test eax, eax
+je short loc_00453bad ; je 0x453bad
+push 0x10
+push ref_00466220 ; push 0x466220
+push ref_00466228 ; push 0x466228
+push 0
+call dword [cs:__imp__MessageBoxA@16] ; ucall: call dword cs:[0x462308]
+xor esi, esi
+mov dword [ref_0047e748], esi ; mov dword [0x47e748], esi
+
+loc_00453ba0:
+mov byte [ref_0047e76c], 1 ; mov byte [0x47e76c], 1
+xor eax, eax
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00453bad:
+mov eax, dword [ref_0047e748] ; mov eax, dword [0x47e748]
+mov edx, dword [eax]
+push 3
+mov ecx, dword [ref_0048a0d4] ; mov ecx, dword [0x48a0d4]
+push ecx
+push eax
+call dword [edx + 0x18] ; ucall
+test eax, eax
+je short loc_00453bef ; je 0x453bef
+push 0x10
+push ref_0046625a ; push 0x46625a
+push ref_00466260 ; push 0x466260
+push 0
+call dword [cs:__imp__MessageBoxA@16] ; ucall: call dword cs:[0x462308]
+mov eax, dword [ref_0047e748] ; mov eax, dword [0x47e748]
+mov edx, dword [eax]
+push eax
+call dword [edx + 8] ; ucall
+xor ebx, ebx
+mov dword [ref_0047e748], ebx ; mov dword [0x47e748], ebx
+jmp short loc_00453ba0 ; jmp 0x453ba0
+
+loc_00453bef:
+mov dword [ref_0048cb28], 0x14 ; mov dword [0x48cb28], 0x14
+mov dword [ref_0048cb2c], 1 ; mov dword [0x48cb2c], 1
+xor edi, edi
+mov dword [ref_0048cb30], eax ; mov dword [0x48cb30], eax
+mov dword [ref_0048cb34], eax ; mov dword [0x48cb34], eax
+mov dword [ref_0048cb38], eax ; mov dword [0x48cb38], eax
+mov eax, dword [ref_0047e748] ; mov eax, dword [0x47e748]
+mov edx, dword [eax]
+push edi
+push ref_0047e74c ; push 0x47e74c
+push ref_0048cb28 ; push 0x48cb28
+push eax
+call dword [edx + 0xc] ; ucall
+test eax, eax
+je short loc_00453c5a ; je 0x453c5a
+push 0x10
+push ref_0046625a ; push 0x46625a
+push ref_00466287 ; push 0x466287
+push edi
+call dword [cs:__imp__MessageBoxA@16] ; ucall: call dword cs:[0x462308]
+mov eax, dword [ref_0047e748] ; mov eax, dword [0x47e748]
+mov edx, dword [eax]
+push eax
+call dword [edx + 8] ; ucall
+xor ecx, ecx
+mov dword [ref_0047e748], ecx ; mov dword [0x47e748], ecx
+jmp near loc_00453ba0 ; jmp 0x453ba0
+
+loc_00453c5a:
+mov edx, 1
+mov word [ref_0048cb3c], dx ; mov word [0x48cb3c], dx
+mov ecx, edx
+mov word [ref_0048cb3e], dx ; mov word [0x48cb3e], dx
+mov edx, 0x5622
+mov dword [ref_0048cb40], edx ; mov dword [0x48cb40], edx
+mov dword [ref_0048cb44], edx ; mov dword [0x48cb44], edx
+mov word [ref_0048cb48], cx ; mov word [0x48cb48], cx
+mov word [ref_0048cb4a], 8 ; mov word [0x48cb4a], 8
+xor edi, edi
+mov word [ref_0048cb4c], di ; mov word [0x48cb4c], di
+mov eax, dword [ref_0047e74c] ; mov eax, dword [0x47e74c]
+mov edx, dword [eax]
+push ref_0048cb3c ; push 0x48cb3c
+push eax
+call dword [edx + 0x38] ; ucall
+test eax, eax
+je short loc_00453cec ; je 0x453cec
+push 0x10
+push ref_0046625a ; push 0x46625a
+push ref_004662b3 ; push 0x4662b3
+push 0
+call dword [cs:__imp__MessageBoxA@16] ; ucall: call dword cs:[0x462308]
+mov eax, dword [ref_0047e748] ; mov eax, dword [0x47e748]
+mov edx, dword [eax]
+push eax
+call dword [edx + 8] ; ucall
+xor eax, eax
+mov dword [ref_0047e748], eax ; mov dword [0x47e748], eax
+mov eax, dword [ref_0047e74c] ; mov eax, dword [0x47e74c]
+mov edx, dword [eax]
+push eax
+call dword [edx + 8] ; ucall
+xor edx, edx
+mov dword [ref_0047e74c], edx ; mov dword [0x47e74c], edx
+jmp near loc_00453ba0 ; jmp 0x453ba0
+
+loc_00453cec:
+mov ebx, dword [esp + 0x10]
+test ebx, ebx
+je short loc_00453cfb ; je 0x453cfb
+call fcn_004541e3 ; call 0x4541e3
+jmp short loc_00453d0b ; jmp 0x453d0b
+
+loc_00453cfb:
+push 0x40
+push ebx
+push ref_0048cae8 ; push 0x48cae8
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+
+loc_00453d0b:
+xor esi, esi
+mov dword [ref_0048cae4], esi ; mov dword [0x48cae4], esi
+mov dword [ref_0047e750], esi ; mov dword [0x47e750], esi
+mov dword [ref_0047e754], esi ; mov dword [0x47e754], esi
+mov eax, 1
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00453d28:
+push ebx
+push esi
+push edi
+push ebp
+xor esi, esi
+jmp short loc_00453d36 ; jmp 0x453d36
+
+loc_00453d30:
+inc esi
+cmp esi, 0x10
+jge short loc_00453d65 ; jge 0x453d65
+
+loc_00453d36:
+mov ebx, esi
+shl ebx, 2
+mov edx, dword [ebx + ref_0048cae8] ; mov edx, dword [ebx + 0x48cae8]
+test edx, edx
+je short loc_00453d30 ; je 0x453d30
+mov ebx, edx
+
+loc_00453d47:
+cmp dword [ebx], 0xffffffff
+je short loc_00453d30 ; je 0x453d30
+mov edi, dword [ebx + 4]
+test edi, edi
+je short loc_00453d30 ; je 0x453d30
+mov edx, dword [edi]
+push edi
+call dword [edx + 8] ; ucall
+mov dword [ebx + 4], 0
+add ebx, 8
+jmp short loc_00453d47 ; jmp 0x453d47
+
+loc_00453d65:
+xor ebp, ebp
+mov dword [ref_0048cae4], ebp ; mov dword [0x48cae4], ebp
+mov eax, dword [ref_0047e754] ; mov eax, dword [0x47e754]
+test eax, eax
+je short loc_00453d82 ; je 0x453d82
+mov edx, dword [eax]
+push eax
+call dword [edx + 8] ; ucall
+mov dword [ref_0047e754], ebp ; mov dword [0x47e754], ebp
+
+loc_00453d82:
+mov ecx, dword [ref_0047e750] ; mov ecx, dword [0x47e750]
+test ecx, ecx
+je short loc_00453d9a ; je 0x453d9a
+mov edx, dword [ecx]
+push ecx
+call dword [edx + 8] ; ucall
+xor ebx, ebx
+mov dword [ref_0047e750], ebx ; mov dword [0x47e750], ebx
+
+loc_00453d9a:
+mov esi, dword [ref_0047e74c] ; mov esi, dword [0x47e74c]
+test esi, esi
+je short loc_00453db2 ; je 0x453db2
+mov edx, dword [esi]
+push esi
+call dword [edx + 8] ; ucall
+xor edi, edi
+mov dword [ref_0047e74c], edi ; mov dword [0x47e74c], edi
+
+loc_00453db2:
+mov ebp, dword [ref_0047e748] ; mov ebp, dword [0x47e748]
+test ebp, ebp
+je short loc_00453dca ; je 0x453dca
+mov edx, dword [ebp]
+push ebp
+call dword [edx + 8] ; ucall
+xor eax, eax
+mov dword [ref_0047e748], eax ; mov dword [0x47e748], eax
+
+loc_00453dca:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00453dcf:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+mov esi, dword [esp + 0x28]
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_00453de7 ; je 0x453de7
+test esi, esi
+jne short loc_00453dee ; jne 0x453dee
+
+loc_00453de7:
+xor eax, eax
+jmp near loc_00453f64 ; jmp 0x453f64
+
+loc_00453dee:
+cmp byte [esi], 0x52
+jne short loc_00453de7 ; jne 0x453de7
+cmp byte [esi + 1], 0x49
+jne short loc_00453de7 ; jne 0x453de7
+mov dh, byte [esi + 2]
+cmp dh, 0x46
+jne short loc_00453de7 ; jne 0x453de7
+cmp dh, byte [esi + 3]
+jne short loc_00453de7 ; jne 0x453de7
+push 0x10
+lea eax, [esi + 0x14]
+push eax
+push ref_0048cb3c ; push 0x48cb3c
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+xor edx, edx
+mov word [ref_0048cb4c], dx ; mov word [0x48cb4c], dx
+mov ebx, dword [esi + 0x10]
+add ebx, 0x14
+
+loc_00453e28:
+lea eax, [esi + ebx]
+cmp byte [eax], 0x64
+jne short loc_00453e43 ; jne 0x453e43
+mov ch, byte [eax + 1]
+cmp ch, 0x61
+jne short loc_00453e43 ; jne 0x453e43
+cmp byte [eax + 2], 0x74
+jne short loc_00453e43 ; jne 0x453e43
+cmp ch, byte [eax + 3]
+je short loc_00453e50 ; je 0x453e50
+
+loc_00453e43:
+lea eax, [esi + ebx]
+mov edi, dword [eax + 4]
+add edi, 8
+add ebx, edi
+jmp short loc_00453e28 ; jmp 0x453e28
+
+loc_00453e50:
+mov edi, dword [eax + 4]
+mov dword [ref_0048cb28], 0x14 ; mov dword [0x48cb28], 0x14
+mov dword [ref_0048cb2c], 0xe2 ; mov dword [0x48cb2c], 0xe2
+mov dword [ref_0048cb30], edi ; mov dword [0x48cb30], edi
+xor eax, eax
+mov dword [ref_0048cb34], eax ; mov dword [0x48cb34], eax
+mov dword [ref_0048cb38], ref_0048cb3c ; mov dword [0x48cb38], 0x48cb3c
+mov eax, dword [ref_0047e748] ; mov eax, dword [0x47e748]
+mov edx, dword [eax]
+push 0
+lea ecx, [esp + 4]
+push ecx
+push ref_0048cb28 ; push 0x48cb28
+push eax
+call dword [edx + 0xc] ; ucall
+test eax, eax
+jne near loc_00453de7 ; jne 0x453de7
+mov eax, dword [esp]
+mov eax, dword [eax]
+push 0
+lea edx, [esp + 0x14]
+push edx
+lea edx, [esp + 0x10]
+push edx
+lea edx, [esp + 0x18]
+push edx
+lea edx, [esp + 0x14]
+push edx
+push edi
+push 0
+mov ecx, dword [esp + 0x1c]
+push ecx
+call dword [eax + 0x2c] ; ucall
+mov edx, eax
+cmp eax, 0x88780096
+jne short loc_00453f00 ; jne 0x453f00
+mov eax, dword [esp]
+mov eax, dword [eax]
+mov ebp, dword [esp]
+push ebp
+call dword [eax + 0x50] ; ucall
+mov eax, dword [esp]
+mov eax, dword [eax]
+push 0
+lea edx, [esp + 0x14]
+push edx
+lea edx, [esp + 0x10]
+push edx
+lea edx, [esp + 0x18]
+push edx
+lea edx, [esp + 0x14]
+push edx
+push edi
+push 0
+mov edx, dword [esp + 0x1c]
+push edx
+call dword [eax + 0x2c] ; ucall
+mov edx, eax
+
+loc_00453f00:
+test edx, edx
+jne near loc_00453de7 ; jne 0x453de7
+mov ecx, dword [esp + 0xc]
+push ecx
+add ebx, esi
+lea eax, [ebx + 8]
+push eax
+mov esi, dword [esp + 0xc]
+push esi
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov ebp, dword [esp + 0xc]
+cmp edi, ebp
+je short loc_00453f40 ; je 0x453f40
+mov eax, dword [esp + 0x10]
+push eax
+add ebx, ebp
+add ebx, 8
+push ebx
+mov ecx, dword [esp + 0x10]
+push ecx
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+
+loc_00453f40:
+mov eax, dword [esp]
+mov eax, dword [eax]
+mov ebx, dword [esp + 0x10]
+push ebx
+lea edx, [esp + 0xc]
+push edx
+mov esi, dword [esp + 0x14]
+push esi
+lea edx, [esp + 0x10]
+push edx
+mov edi, dword [esp + 0x10]
+push edi
+call dword [eax + 0x4c] ; ucall
+mov eax, dword [esp]
+
+loc_00453f64:
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00453f6c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov ebp, dword [esp + 0x24]
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_00453fc1 ; je 0x453fc1
+test ebp, ebp
+je short loc_00453fc1 ; je 0x453fc1
+push 0
+push 0
+mov ecx, dword [esp + 0x30]
+push ecx
+mov ebx, dword [ref_0048a058] ; mov ebx, dword [0x48a058]
+push ebx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+mov esi, eax
+cmp byte [eax], 0x52
+jne short loc_00453fb8 ; jne 0x453fb8
+cmp byte [ebx + 1], 0x49
+jne short loc_00453fb8 ; jne 0x453fb8
+mov dh, byte [ebx + 2]
+cmp dh, 0x46
+jne short loc_00453fb8 ; jne 0x453fb8
+cmp dh, byte [ebx + 3]
+je short loc_00453fc8 ; je 0x453fc8
+
+loc_00453fb8:
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_00453fc1:
+xor eax, eax
+jmp near loc_004540d0 ; jmp 0x4540d0
+
+loc_00453fc8:
+push 0x10
+lea eax, [ebx + 0x14]
+push eax
+push ref_0048cb3c ; push 0x48cb3c
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+xor edx, edx
+mov word [ref_0048cb4c], dx ; mov word [0x48cb4c], dx
+mov ebx, dword [ebx + 0x10]
+add ebx, 0x14
+
+loc_00453fea:
+lea eax, [esi + ebx]
+cmp byte [eax], 0x64
+jne short loc_00454005 ; jne 0x454005
+mov dl, byte [eax + 1]
+cmp dl, 0x61
+jne short loc_00454005 ; jne 0x454005
+cmp byte [eax + 2], 0x74
+jne short loc_00454005 ; jne 0x454005
+cmp dl, byte [eax + 3]
+je short loc_00454012 ; je 0x454012
+
+loc_00454005:
+lea eax, [esi + ebx]
+mov edi, dword [eax + 4]
+add edi, 8
+add ebx, edi
+jmp short loc_00453fea ; jmp 0x453fea
+
+loc_00454012:
+mov edi, dword [eax + 4]
+mov eax, dword [ebp]
+push 0
+lea edx, [esp + 0x10]
+push edx
+lea edx, [esp + 0xc]
+push edx
+lea edx, [esp + 0x14]
+push edx
+lea edx, [esp + 0x10]
+push edx
+push edi
+push 0
+push ebp
+call dword [eax + 0x2c] ; ucall
+mov edx, eax
+cmp eax, 0x88780096
+jne short loc_00454067 ; jne 0x454067
+mov eax, dword [ebp]
+push ebp
+call dword [eax + 0x50] ; ucall
+mov eax, dword [ebp]
+push 0
+lea edx, [esp + 0x10]
+push edx
+lea edx, [esp + 0xc]
+push edx
+lea edx, [esp + 0x14]
+push edx
+lea edx, [esp + 0x10]
+push edx
+push edi
+push 0
+push ebp
+call dword [eax + 0x2c] ; ucall
+mov edx, eax
+
+loc_00454067:
+test edx, edx
+jne near loc_00453fb8 ; jne 0x453fb8
+mov eax, dword [esp + 8]
+push eax
+add ebx, esi
+lea eax, [ebx + 8]
+push eax
+mov edx, dword [esp + 8]
+push edx
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov ecx, dword [esp + 8]
+cmp edi, ecx
+je short loc_004540a7 ; je 0x4540a7
+mov edi, dword [esp + 0xc]
+push edi
+add ebx, ecx
+add ebx, 8
+push ebx
+mov edx, dword [esp + 0xc]
+push edx
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+
+loc_004540a7:
+mov eax, dword [ebp]
+mov ecx, dword [esp + 0xc]
+push ecx
+lea edx, [esp + 8]
+push edx
+mov ebx, dword [esp + 0x10]
+push ebx
+lea edx, [esp + 0xc]
+push edx
+push ebp
+call dword [eax + 0x4c] ; ucall
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, 1
+
+loc_004540d0:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004540d8:
+push ebx
+push esi
+push edi
+mov ebx, dword [esp + 0x10]
+test ebx, ebx
+je short loc_00454150 ; je 0x454150
+cmp byte [ref_0049715b], 0 ; cmp byte [0x49715b], 0
+je short loc_00454150 ; je 0x454150
+mov eax, dword [ebx]
+push 0
+push ebx
+call dword [eax + 0x34] ; ucall
+mov eax, dword [ebx]
+mov edx, dword [esp + 0x18]
+push edx
+push 0
+push 0
+push ebx
+call dword [eax + 0x30] ; ucall
+cmp eax, 0x88780096
+jne short loc_0045412c ; jne 0x45412c
+mov ecx, dword [esp + 0x14]
+push ecx
+push ebx
+call fcn_00453f6c ; call 0x453f6c
+add esp, 8
+cmp eax, 1
+jne short loc_0045412c ; jne 0x45412c
+mov eax, dword [ebx]
+mov esi, dword [esp + 0x18]
+push esi
+push 0
+push 0
+push ebx
+call dword [eax + 0x30] ; ucall
+
+loc_0045412c:
+mov edx, dword [ebx]
+xor eax, eax
+mov al, byte [ref_0049715b] ; mov al, byte [0x49715b]
+mov edi, dword [eax*4 + ref_0047e758] ; mov edi, dword [eax*4 + 0x47e758]
+push edi
+push ebx
+call dword [edx + 0x3c] ; ucall
+mov eax, dword [esp + 0x14]
+mov dword [ref_0048cae0], eax ; mov dword [0x48cae0], eax
+mov dword [ref_0048cae4], ebx ; mov dword [0x48cae4], ebx
+
+loc_00454150:
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00454154:
+dd 0x24548b53
+db 0x08
+db 0x83
+db 0x3d
+dd ref_0047e748
+db 0x00
+dd 0xd2851274
+dd 0x028b0e74
+dd 0x4850ff52
+dd 0x1d89db31
+dd ref_0048cae4
+db 0x5b
+db 0xc3
+
+fcn_00454176:
+push ebx
+push esi
+push edi
+mov ebx, dword [esp + 0x10]
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_004541df ; je 0x4541df
+
+loc_00454186:
+mov ecx, dword [ebx]
+cmp ecx, 0xffffffff
+je short loc_004541bd ; je 0x4541bd
+push 0
+push 0
+push ecx
+mov edi, dword [ref_0048a058] ; mov edi, dword [0x48a058]
+push edi
+call fcn_00450441 ; call 0x450441
+mov esi, eax
+add esp, 0x10
+push eax
+call fcn_00453dcf ; call 0x453dcf
+add esp, 4
+mov dword [ebx + 4], eax
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+add ebx, 8
+jmp short loc_00454186 ; jmp 0x454186
+
+loc_004541bd:
+xor eax, eax
+jmp short loc_004541c7 ; jmp 0x4541c7
+
+loc_004541c1:
+inc eax
+cmp eax, 0x10
+jge short loc_004541df ; jge 0x4541df
+
+loc_004541c7:
+mov ebx, eax
+shl ebx, 2
+cmp dword [ebx + ref_0048cae8], 0 ; cmp dword [ebx + 0x48cae8], 0
+jne short loc_004541c1 ; jne 0x4541c1
+mov eax, dword [esp + 0x10]
+mov dword [ebx + ref_0048cae8], eax ; mov dword [ebx + 0x48cae8], eax
+
+loc_004541df:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004541e3:
+push ebx
+push esi
+push edi
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_004541df ; je 0x4541df
+xor edi, edi
+jmp short loc_004541f9 ; jmp 0x4541f9
+
+loc_004541f3:
+inc edi
+cmp edi, 0x10
+jge short loc_004541df ; jge 0x4541df
+
+loc_004541f9:
+mov ebx, edi
+shl ebx, 2
+mov ecx, dword [ebx + ref_0048cae8] ; mov ecx, dword [ebx + 0x48cae8]
+test ecx, ecx
+je short loc_004541f3 ; je 0x4541f3
+mov ebx, ecx
+
+loc_0045420a:
+mov esi, dword [ebx]
+cmp esi, 0xffffffff
+je short loc_004541f3 ; je 0x4541f3
+push 0
+push 0
+push esi
+mov eax, dword [ref_0048a058] ; mov eax, dword [0x48a058]
+push eax
+call fcn_00450441 ; call 0x450441
+mov esi, eax
+add esp, 0x10
+push eax
+call fcn_00453dcf ; call 0x453dcf
+add esp, 4
+mov dword [ebx + 4], eax
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+add ebx, 8
+jmp short loc_0045420a ; jmp 0x45420a
+
+fcn_00454240:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov esi, dword [esp + 0x18]
+mov ebx, esi
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je near loc_004542c6 ; je 0x4542c6
+
+loc_0045425a:
+cmp dword [ebx], 0xffffffff
+je short loc_004542a7 ; je 0x4542a7
+mov edi, dword [ebx + 4]
+test edi, edi
+je short loc_004542a2 ; je 0x4542a2
+mov edx, dword [edi]
+mov ecx, esp
+push ecx
+push edi
+call dword [edx + 0x24] ; ucall
+test byte [esp], 1
+je short loc_0045427e ; je 0x45427e
+mov eax, dword [ebx + 4]
+mov edx, dword [eax]
+push eax
+call dword [edx + 0x48] ; ucall
+
+loc_0045427e:
+mov eax, dword [ebx + 4]
+mov edx, dword [eax]
+push eax
+call dword [edx + 8] ; ucall
+mov eax, dword [ebx + 4]
+mov ebp, dword [ref_0048cae4] ; mov ebp, dword [0x48cae4]
+cmp eax, ebp
+jne short loc_0045429b ; jne 0x45429b
+xor eax, ebp
+mov dword [ref_0048cae4], eax ; mov dword [0x48cae4], eax
+
+loc_0045429b:
+mov dword [ebx + 4], 0
+
+loc_004542a2:
+add ebx, 8
+jmp short loc_0045425a ; jmp 0x45425a
+
+loc_004542a7:
+xor eax, eax
+jmp short loc_004542b1 ; jmp 0x4542b1
+
+loc_004542ab:
+inc eax
+cmp eax, 0x10
+jge short loc_004542c6 ; jge 0x4542c6
+
+loc_004542b1:
+mov ebx, eax
+shl ebx, 2
+cmp esi, dword [ebx + ref_0048cae8] ; cmp esi, dword [ebx + 0x48cae8]
+jne short loc_004542ab ; jne 0x4542ab
+xor ecx, ecx
+mov dword [ebx + ref_0048cae8], ecx ; mov dword [ebx + 0x48cae8], ecx
+
+loc_004542c6:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004542ce:
+push ebx
+mov eax, dword [esp + 8]
+mov edx, dword [esp + 0xc]
+push edx
+mov ecx, dword [eax]
+push ecx
+mov ebx, dword [eax + 4]
+push ebx
+call fcn_004540d8 ; call 0x4540d8
+add esp, 0xc
+pop ebx
+ret
+
+fcn_004542e9:
+mov eax, dword [esp + 4]
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_00454303 ; je 0x454303
+mov ecx, dword [eax + 4]
+test ecx, ecx
+je short loc_00454303 ; je 0x454303
+mov edx, dword [ecx]
+push ecx
+call dword [edx + 0x48] ; ucall
+
+loc_00454303:
+ret
+
+fcn_00454304:
+push ebx
+call fcn_00454395 ; call 0x454395
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_0045434d ; je 0x45434d
+cmp byte [ref_0049715b], 0 ; cmp byte [0x49715b], 0
+je short loc_0045434d ; je 0x45434d
+push 0
+push 0
+mov ecx, dword [esp + 0x10]
+push ecx
+mov ebx, dword [ref_0048a058] ; mov ebx, dword [0x48a058]
+push ebx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push eax
+call fcn_00453dcf ; call 0x453dcf
+add esp, 4
+mov dword [ref_0047e754], eax ; mov dword [0x47e754], eax
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0045434d:
+pop ebx
+ret
+
+fcn_0045434f:
+push ebx
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_00454393 ; je 0x454393
+cmp byte [ref_0049715b], 0 ; cmp byte [0x49715b], 0
+je short loc_00454393 ; je 0x454393
+mov ecx, dword [ref_0047e754] ; mov ecx, dword [0x47e754]
+test ecx, ecx
+je short loc_00454393 ; je 0x454393
+mov edx, dword [ecx]
+push 0
+push 0
+push 0
+push ecx
+call dword [edx + 0x30] ; ucall
+mov eax, dword [ref_0047e754] ; mov eax, dword [0x47e754]
+mov edx, dword [eax]
+xor ecx, ecx
+mov cl, byte [ref_0049715b] ; mov cl, byte [0x49715b]
+mov ebx, dword [ecx*4 + ref_0047e758] ; mov ebx, dword [ecx*4 + 0x47e758]
+push ebx
+push eax
+call dword [edx + 0x3c] ; ucall
+
+loc_00454393:
+pop ebx
+ret
+
+fcn_00454395:
+push ebx
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_004543c2 ; je 0x4543c2
+mov ecx, dword [ref_0047e754] ; mov ecx, dword [0x47e754]
+test ecx, ecx
+je short loc_004543c2 ; je 0x4543c2
+mov edx, dword [ecx]
+push ecx
+call dword [edx + 0x48] ; ucall
+mov eax, dword [ref_0047e754] ; mov eax, dword [0x47e754]
+mov edx, dword [eax]
+push eax
+call dword [edx + 8] ; ucall
+xor ebx, ebx
+mov dword [ref_0047e754], ebx ; mov dword [0x47e754], ebx
+
+loc_004543c2:
+pop ebx
+ret
+
+fcn_004543c4:
+push ebx
+push esi
+sub esp, 4
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov esi, eax
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_00454414 ; je 0x454414
+cmp dword [ref_0048cae4], 0 ; cmp dword [0x48cae4], 0
+je short loc_00454414 ; je 0x454414
+cmp byte [ref_0049715b], 0 ; cmp byte [0x49715b], 0
+je short loc_00454414 ; je 0x454414
+
+loc_004543ed:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov ebx, eax
+sub ebx, esi
+mov eax, dword [ref_0048cae4] ; mov eax, dword [0x48cae4]
+mov edx, dword [eax]
+mov ecx, esp
+push ecx
+push eax
+call dword [edx + 0x24] ; ucall
+test byte [esp], 1
+je short loc_00454414 ; je 0x454414
+cmp ebx, 0x3e8
+jb short loc_004543ed ; jb 0x4543ed
+
+loc_00454414:
+add esp, 4
+pop esi
+pop ebx
+ret
+
+fcn_0045441a:
+push ebx
+push esi
+cmp dword [ref_0047e748], 0 ; cmp dword [0x47e748], 0
+je short loc_00454490 ; je 0x454490
+cmp byte [ref_0049715b], 0 ; cmp byte [0x49715b], 0
+je short loc_00454490 ; je 0x454490
+call fcn_00454493 ; call 0x454493
+push 0
+push 0
+mov ecx, dword [esp + 0x14]
+push ecx
+mov ebx, dword [ref_0048a054] ; mov ebx, dword [0x48a054]
+push ebx
+call fcn_00450441 ; call 0x450441
+mov ebx, eax
+add esp, 0x10
+push eax
+call fcn_00453dcf ; call 0x453dcf
+add esp, 4
+mov dword [ref_0047e750], eax ; mov dword [0x47e750], eax
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov eax, dword [ref_0047e750] ; mov eax, dword [0x47e750]
+mov edx, dword [eax]
+push 0
+push 0
+push 0
+push eax
+call dword [edx + 0x30] ; ucall
+mov eax, dword [ref_0047e750] ; mov eax, dword [0x47e750]
+mov ebx, dword [eax]
+xor edx, edx
+mov dl, byte [ref_0049715b] ; mov dl, byte [0x49715b]
+mov esi, dword [edx*4 + ref_0047e758] ; mov esi, dword [edx*4 + 0x47e758]
+push esi
+push eax
+call dword [ebx + 0x3c] ; ucall
+
+loc_00454490:
+pop esi
+pop ebx
+ret
+
+fcn_00454493:
+mov edx, dword [ref_0047e750] ; mov edx, dword [0x47e750]
+test edx, edx
+je short loc_004544b8 ; je 0x4544b8
+mov eax, edx
+mov edx, dword [edx]
+push eax
+call dword [edx + 0x48] ; ucall
+mov eax, dword [ref_0047e750] ; mov eax, dword [0x47e750]
+mov edx, dword [eax]
+push eax
+call dword [edx + 8] ; ucall
+xor ecx, ecx
+mov dword [ref_0047e750], ecx ; mov dword [0x47e750], ecx
+
+loc_004544b8:
+ret
+
+fcn_004544b9:
+push ebx
+sub esp, 4
+xor ebx, ebx
+mov edx, dword [ref_0047e750] ; mov edx, dword [0x47e750]
+test edx, edx
+je short loc_004544ef ; je 0x4544ef
+cmp byte [ref_0049715b], 0 ; cmp byte [0x49715b], 0
+je short loc_004544ef ; je 0x4544ef
+mov eax, edx
+mov edx, dword [edx]
+mov ecx, esp
+push ecx
+push eax
+call dword [edx + 0x24] ; ucall
+test byte [esp], 1
+je short loc_004544ea ; je 0x4544ea
+mov ebx, 1
+jmp short loc_004544ef ; jmp 0x4544ef
+
+loc_004544ea:
+call fcn_00454493 ; call 0x454493
+
+loc_004544ef:
+mov eax, ebx
+add esp, 4
+pop ebx
+ret
+
+fcn_004544f6:
+push ebx
+push esi
+sub esp, 0x20
+xor ebx, ebx
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+mov esi, eax
+cmp dword [ref_0047e750], 0 ; cmp dword [0x47e750], 0
+je near loc_0045458f ; je 0x45458f
+cmp byte [ref_0049715b], 0 ; cmp byte [0x49715b], 0
+je near loc_0045458f ; je 0x45458f
+
+loc_00454520:
+push 1
+push 0
+push 0
+push 0
+lea eax, [esp + 0x10]
+push eax
+call dword [cs:__imp__PeekMessageA@20] ; ucall: call dword cs:[0x46230c]
+test eax, eax
+je short loc_0045456f ; je 0x45456f
+mov ecx, dword [esp + 4]
+cmp ecx, 0x202
+je short loc_00454554 ; je 0x454554
+cmp ecx, 0x205
+je short loc_00454554 ; je 0x454554
+cmp ecx, 0x101
+jne short loc_00454559 ; jne 0x454559
+
+loc_00454554:
+mov ebx, 1
+
+loc_00454559:
+cmp dword [esp + 4], 0x3b9
+jne short loc_0045456f ; jne 0x45456f
+cmp dword [esp + 8], 1
+jne short loc_0045456f ; jne 0x45456f
+call fcn_00454d2c ; call 0x454d2c
+
+loc_0045456f:
+mov eax, dword [ref_0047e750] ; mov eax, dword [0x47e750]
+mov edx, dword [eax]
+lea ecx, [esp + 0x1c]
+push ecx
+push eax
+call dword [edx + 0x24] ; ucall
+test byte [esp + 0x1c], 1
+je short loc_0045458a ; je 0x45458a
+test ebx, ebx
+je short loc_00454520 ; je 0x454520
+
+loc_0045458a:
+call fcn_00454493 ; call 0x454493
+
+loc_0045458f:
+call dword [cs:__imp__timeGetTime@0] ; ucall: call dword cs:[0x46246c]
+sub eax, esi
+mov ecx, dword [esp + 0x2c]
+cmp eax, ecx
+jae short loc_004545b1 ; jae 0x4545b1
+test ebx, ebx
+jne short loc_004545b1 ; jne 0x4545b1
+mov edx, ecx
+sub edx, eax
+push edx
+call fcn_004528b9 ; call 0x4528b9
+add esp, 4
+
+loc_004545b1:
+add esp, 0x20
+pop esi
+pop ebx
+ret
+
+ref_004545b7:
+db 0x41
+db 0x3a
+db 0x00
+
+fcn_004545ba:
+push ebx
+push esi
+push edi
+sub esp, 0xa0
+lea edi, [esp + 0x9c]
+mov esi, ref_004545b7 ; mov esi, 0x4545b7
+db 0x66, 0xa5 ; movsw word es:[edi], word ptr [esi]
+movsb ; movsb byte es:[edi], byte ptr [esi]
+mov al, byte [ref_00476374] ; mov al, byte [0x476374]
+mov byte [esp + 0x9c], al
+lea eax, [esp + 0x9c]
+push eax
+push ref_004663e7 ; push 0x4663e7
+lea eax, [esp + 0x6c]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0
+push 0
+lea eax, [esp + 0x70]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne near loc_00454771 ; jne 0x454771
+push eax
+push eax
+push eax
+push ref_0046640a ; push 0x46640a
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+push 0
+push 0x28
+lea eax, [esp + 0x6c]
+push eax
+push ref_00466427 ; push 0x466427
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+lea eax, [esp + 0x64]
+push eax
+call fcn_004584db ; call 0x4584db
+add esp, 4
+cmp eax, 9
+jne near loc_00454767 ; jne 0x454767
+mov byte [ref_0047e770], 1 ; mov byte [0x47e770], 1
+xor ebx, ebx
+
+loc_00454655:
+call dword [cs:__imp__auxGetNumDevs@0] ; ucall: call dword cs:[0x46244c]
+cmp ebx, eax
+jae near loc_00454779 ; jae 0x454779
+push 0x30
+lea eax, [esp + 0x38]
+push eax
+push ebx
+call dword [cs:__imp__auxGetDevCapsA@12] ; ucall: call dword cs:[0x462448]
+cmp word [esp + 0x5c], 1
+jne near loc_00454761 ; jne 0x454761
+test byte [esp + 0x60], 1
+je near loc_00454761 ; je 0x454761
+mov dword [ref_0047e7df], ebx ; mov dword [0x47e7df], ebx
+push ref_0048cb78 ; push 0x48cb78
+push ebx
+call dword [cs:__imp__auxGetVolume@8] ; ucall: call dword cs:[0x462450]
+mov eax, dword [ref_0048cb78] ; mov eax, dword [0x48cb78]
+mov dword [ref_0047e807], eax ; mov dword [0x47e807], eax
+test byte [esp + 0x60], 2
+je near loc_00454736 ; je 0x454736
+mov edx, eax
+shr edx, 0x10
+and edx, 0xffff
+mov ebx, eax
+and ebx, 0xffff
+mov ecx, 0xa
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov ecx, eax
+mov edi, eax
+shl edi, 3
+sub edi, eax
+shl edi, 0x10
+mov esi, 0xa
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv esi
+mov edx, eax
+shl eax, 3
+sub eax, edx
+and eax, 0xffff
+add edi, eax
+mov dword [ref_0047e803], edi ; mov dword [0x47e803], edi
+mov ebx, ecx
+mov esi, ebx
+shl esi, 2
+add esi, ebx
+shl esi, 0x10
+mov ebx, edx
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+and eax, 0xffff
+add esi, eax
+mov dword [ref_0047e7ff], esi ; mov dword [0x47e7ff], esi
+shl ecx, 0x11
+add edx, edx
+and edx, 0xffff
+add ecx, edx
+mov dword [ref_0047e7fb], ecx ; mov dword [0x47e7fb], ecx
+jmp short loc_00454779 ; jmp 0x454779
+
+loc_00454736:
+mov ecx, 0xa
+xor edx, edx
+div ecx
+mov ebx, eax
+shl eax, 3
+sub eax, ebx
+mov dword [ref_0047e803], eax ; mov dword [0x47e803], eax
+mov eax, ebx
+shl eax, 2
+add eax, ebx
+mov dword [ref_0047e7ff], eax ; mov dword [0x47e7ff], eax
+add ebx, ebx
+mov dword [ref_0047e7fb], ebx ; mov dword [0x47e7fb], ebx
+jmp short loc_00454779 ; jmp 0x454779
+
+loc_00454761:
+inc ebx
+jmp near loc_00454655 ; jmp 0x454655
+
+loc_00454767:
+xor dl, dl
+mov byte [ref_0047e770], dl ; mov byte [0x47e770], dl
+jmp short loc_00454779 ; jmp 0x454779
+
+loc_00454771:
+xor ah, ah
+mov byte [ref_0047e770], ah ; mov byte [0x47e770], ah
+
+loc_00454779:
+push ref_00466447 ; push 0x466447
+call dword [cs:__imp__mciGetDeviceIDA@4] ; ucall: call dword cs:[0x462458]
+mov dword [ref_0047e7db], eax ; mov dword [0x47e7db], eax
+push 0x34
+lea edx, [esp + 4]
+push edx
+push eax
+call dword [cs:__imp__midiOutGetDevCapsA@12] ; ucall: call dword cs:[0x462460]
+push ref_0048cb7c ; push 0x48cb7c
+mov edx, dword [ref_0047e7db] ; mov edx, dword [0x47e7db]
+push edx
+call dword [cs:__imp__midiOutGetVolume@8] ; ucall: call dword cs:[0x462464]
+mov eax, dword [ref_0048cb7c] ; mov eax, dword [0x48cb7c]
+mov dword [ref_0047e7f3], eax ; mov dword [0x47e7f3], eax
+test byte [esp + 0x30], 2
+je near loc_00454855 ; je 0x454855
+mov edx, dword [ref_0048cb7c] ; mov edx, dword [0x48cb7c]
+shr edx, 0x10
+and edx, 0xffff
+mov ebx, dword [ref_0048cb7c] ; mov ebx, dword [0x48cb7c]
+and ebx, 0xffff
+mov ecx, 0xa
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov ecx, eax
+mov esi, eax
+shl esi, 3
+add esi, eax
+shl esi, 0x10
+mov edi, 0xa
+mov eax, ebx
+mov edx, ebx
+sar edx, 0x1f
+idiv edi
+mov edx, eax
+shl eax, 3
+add eax, edx
+and eax, 0xffff
+add esi, eax
+mov dword [ref_0047e7ef], esi ; mov dword [0x47e7ef], esi
+mov ebx, ecx
+shl ebx, 0x13
+mov eax, edx
+shl eax, 3
+and eax, 0xffff
+add ebx, eax
+mov dword [ref_0047e7eb], ebx ; mov dword [0x47e7eb], ebx
+mov eax, ecx
+shl eax, 2
+sub eax, ecx
+lea ecx, [eax + eax]
+shl ecx, 0x10
+mov eax, edx
+shl eax, 2
+sub eax, edx
+add eax, eax
+and eax, 0xffff
+add ecx, eax
+mov dword [ref_0047e7e7], ecx ; mov dword [0x47e7e7], ecx
+jmp near loc_004548e0 ; jmp 0x4548e0
+
+loc_00454855:
+xor ecx, ecx
+mov dword [esp + 0x90], ecx
+mov eax, dword [ref_0048cb7c] ; mov eax, dword [0x48cb7c]
+mov dword [esp + 0x8c], eax
+fild qword [esp + 0x8c]
+fst qword [esp + 0x8c]
+fmul qword [ref_00466458] ; fmul qword [0x466458]
+call fcn_00457dbc ; call 0x457dbc
+fistp qword [esp + 0x94]
+mov eax, dword [esp + 0x94]
+mov dword [ref_0047e7ef], eax ; mov dword [0x47e7ef], eax
+fld qword [esp + 0x8c]
+fmul qword [ref_00466460] ; fmul qword [0x466460]
+call fcn_00457dbc ; call 0x457dbc
+fistp qword [esp + 0x94]
+mov eax, dword [esp + 0x94]
+mov dword [ref_0047e7eb], eax ; mov dword [0x47e7eb], eax
+fld qword [esp + 0x8c]
+fmul qword [ref_00466468] ; fmul qword [0x466468]
+call fcn_00457dbc ; call 0x457dbc
+fistp qword [esp + 0x94]
+mov eax, dword [esp + 0x94]
+mov dword [ref_0047e7e7], eax ; mov dword [0x47e7e7], eax
+
+loc_004548e0:
+call fcn_0045497b ; call 0x45497b
+add esp, 0xa0
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004548ef:
+push ebx
+cmp byte [ref_0047e770], 0 ; cmp byte [0x47e770], 0
+jne short loc_00454906 ; jne 0x454906
+push 0
+push 0
+push 0
+push ref_00466470 ; push 0x466470
+jmp short loc_00454923 ; jmp 0x454923
+
+loc_00454906:
+push 0
+push 0
+push 0
+push ref_0046647f ; push 0x46647f
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+push 0
+push 0
+push 0
+push ref_00466491 ; push 0x466491
+
+loc_00454923:
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+mov edx, dword [ref_0048cb7c] ; mov edx, dword [0x48cb7c]
+push edx
+push ref_00466447 ; push 0x466447
+call dword [cs:__imp__mciGetDeviceIDA@4] ; ucall: call dword cs:[0x462458]
+push eax
+call dword [cs:__imp__midiOutSetVolume@8] ; ucall: call dword cs:[0x462468]
+cmp byte [ref_0047e770], 1 ; cmp byte [0x47e770], 1
+jne short loc_0045496b ; jne 0x45496b
+mov ecx, dword [ref_0047e7df] ; mov ecx, dword [0x47e7df]
+cmp ecx, 0xffff
+je short loc_0045496b ; je 0x45496b
+mov ebx, dword [ref_0048cb78] ; mov ebx, dword [0x48cb78]
+push ebx
+push ecx
+call dword [cs:__imp__auxSetVolume@8] ; ucall: call dword cs:[0x462454]
+
+loc_0045496b:
+xor dh, dh
+mov byte [ref_0046cb03], dh ; mov byte [0x46cb03], dh
+mov byte [ref_0046cb04], dh ; mov byte [0x46cb04], dh
+pop ebx
+ret
+
+fcn_0045497b:
+push ebx
+xor eax, eax
+mov al, byte [ref_0049715a] ; mov al, byte [0x49715a]
+mov edx, dword [eax*4 + ref_0047e7e3] ; mov edx, dword [eax*4 + 0x47e7e3]
+push edx
+push ref_00466447 ; push 0x466447
+call dword [cs:__imp__mciGetDeviceIDA@4] ; ucall: call dword cs:[0x462458]
+push eax
+call dword [cs:__imp__midiOutSetVolume@8] ; ucall: call dword cs:[0x462468]
+cmp byte [ref_0047e770], 1 ; cmp byte [0x47e770], 1
+jne short loc_004549cd ; jne 0x4549cd
+mov ecx, dword [ref_0047e7df] ; mov ecx, dword [0x47e7df]
+cmp ecx, 0xffff
+je short loc_004549cd ; je 0x4549cd
+xor eax, eax
+mov al, byte [ref_0049715a] ; mov al, byte [0x49715a]
+mov ebx, dword [eax*4 + ref_0047e7f7] ; mov ebx, dword [eax*4 + 0x47e7f7]
+push ebx
+push ecx
+call dword [cs:__imp__auxSetVolume@8] ; ucall: call dword cs:[0x462454]
+
+loc_004549cd:
+pop ebx
+ret
+
+fcn_004549cf:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x28
+xor esi, esi
+xor eax, eax
+cmp byte [ref_0046cb06], 0 ; cmp byte [0x46cb06], 0
+jne near loc_00454ac3 ; jne 0x454ac3
+test byte [esp + 0x3d], 0x80
+je short loc_004549fb ; je 0x4549fb
+and dword [esp + 0x3c], 0x7fff
+mov eax, 1
+
+loc_004549fb:
+cmp byte [ref_0049715a], 0 ; cmp byte [0x49715a], 0
+je near loc_00454ab8 ; je 0x454ab8
+test byte [ref_0047e772], 0x80 ; test byte [0x47e772], 0x80
+je short loc_00454a1f ; je 0x454a1f
+test eax, eax
+jne short loc_00454a1f ; jne 0x454a1f
+call fcn_00454b1a ; call 0x454b1a
+mov esi, 1
+
+loc_00454a1f:
+call fcn_00454acb ; call 0x454acb
+mov edi, 1
+mov ebx, dword [esp + 0x3c]
+shl ebx, 2
+mov ecx, dword [ebx + ref_0047e793] ; mov ecx, dword [ebx + 0x47e793]
+push ecx
+push ref_004664a4 ; push 0x4664a4
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+je short loc_00454a93 ; je 0x454a93
+mov ebp, dword [ebx + ref_0047e793] ; mov ebp, dword [ebx + 0x47e793]
+push ebp
+push ref_00476374 ; push 0x476374
+push ref_004664c0 ; push 0x4664c0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne short loc_00454ab8 ; jne 0x454ab8
+
+loc_00454a93:
+test edi, edi
+je short loc_00454ab8 ; je 0x454ab8
+mov eax, dword [ref_0048a0d4] ; mov eax, dword [0x48a0d4]
+push eax
+push 0
+push 0
+push ref_004664de ; push 0x4664de
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne short loc_00454ab8 ; jne 0x454ab8
+mov byte [ref_0046cb03], 1 ; mov byte [0x46cb03], 1
+
+loc_00454ab8:
+mov al, byte [esp + 0x3c]
+mov byte [ref_0047e772], al ; mov byte [0x47e772], al
+mov eax, esi
+
+loc_00454ac3:
+add esp, 0x28
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00454acb:
+cmp byte [ref_0046cb03], 0 ; cmp byte [0x46cb03], 0
+je short loc_00454ae6 ; je 0x454ae6
+push 0
+push 0
+push 0
+push ref_00466470 ; push 0x466470
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+
+loc_00454ae6:
+xor dl, dl
+mov byte [ref_0046cb03], dl ; mov byte [0x46cb03], dl
+mov byte [ref_0047e772], dl ; mov byte [0x47e772], dl
+ret
+
+fcn_00454af5:
+call fcn_00454f46 ; call 0x454f46
+cmp eax, 1
+jne short loc_00454b19 ; jne 0x454b19
+push 0
+push 0
+push 0
+push ref_0046647f ; push 0x46647f
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+xor ah, ah
+mov byte [ref_0046cb04], ah ; mov byte [0x46cb04], ah
+
+loc_00454b19:
+ret
+
+fcn_00454b1a:
+push ebx
+sub esp, 0x14
+cmp byte [ref_0047e770], 0 ; cmp byte [0x47e770], 0
+jne near loc_00454ba9 ; jne 0x454ba9
+call fcn_00454efa ; call 0x454efa
+cmp eax, 1
+jne short loc_00454b6c ; jne 0x454b6c
+push 0
+push 0x14
+lea eax, [esp + 8]
+push eax
+push ref_004664f5 ; push 0x4664f5
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+mov eax, esp
+push eax
+call fcn_004584db ; call 0x4584db
+add esp, 4
+mov edx, dword [ref_0047e7d7] ; mov edx, dword [0x47e7d7]
+mov dword [edx*4 + ref_0048cb50], eax ; mov dword [edx*4 + 0x48cb50], eax
+mov eax, edx
+mov dl, byte [ref_0047e772] ; mov dl, byte [0x47e772]
+jmp short loc_00454b98 ; jmp 0x454b98
+
+loc_00454b6c:
+mov dh, byte [ref_0047e771] ; mov dh, byte [0x47e771]
+inc dh
+mov byte [ref_0047e771], dh ; mov byte [0x47e771], dh
+mov bl, dh
+and bl, 7
+mov byte [ref_0047e771], bl ; mov byte [0x47e771], bl
+mov eax, dword [ref_0047e7d7] ; mov eax, dword [0x47e7d7]
+xor edx, edx
+mov dword [eax*4 + ref_0048cb50], edx ; mov dword [eax*4 + 0x48cb50], edx
+mov dl, bl
+or dl, 0x80
+
+loc_00454b98:
+mov byte [eax + ref_0048cb70], dl ; mov byte [eax + 0x48cb70], dl
+inc dword [ref_0047e7d7] ; inc dword [0x47e7d7]
+add esp, 0x14
+pop ebx
+ret
+
+loc_00454ba9:
+push 0
+push 0
+push 0
+push ref_00466509 ; push 0x466509
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne short loc_00454bc7 ; jne 0x454bc7
+xor dl, dl
+mov byte [ref_0046cb04], dl ; mov byte [0x46cb04], dl
+
+loc_00454bc7:
+add esp, 0x14
+pop ebx
+ret
+
+fcn_00454bcc:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x50
+xor ebx, ebx
+cmp byte [ref_0046cb06], 0 ; cmp byte [0x46cb06], 0
+jne near loc_00454d24 ; jne 0x454d24
+cmp byte [ref_0049715a], 0 ; cmp byte [0x49715a], 0
+je near loc_00454d24 ; je 0x454d24
+call fcn_00454acb ; call 0x454acb
+cmp byte [ref_0047e770], 0 ; cmp byte [0x47e770], 0
+jne near loc_00454cd9 ; jne 0x454cd9
+mov ecx, dword [ref_0047e7d7] ; mov ecx, dword [0x47e7d7]
+dec ecx
+mov dword [ref_0047e7d7], ecx ; mov dword [0x47e7d7], ecx
+mov bl, byte [ecx + ref_0048cb70] ; mov bl, byte [ecx + 0x48cb70]
+and ebx, 0xff
+mov edi, 1
+mov esi, ebx
+and esi, 0x7f
+shl esi, 2
+mov ebp, dword [esi + ref_0047e773] ; mov ebp, dword [esi + 0x47e773]
+push ebp
+push ref_004664a4 ; push 0x4664a4
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+je short loc_00454c8e ; je 0x454c8e
+mov eax, dword [esi + ref_0047e773] ; mov eax, dword [esi + 0x47e773]
+push eax
+push ref_00476374 ; push 0x476374
+push ref_004664c0 ; push 0x4664c0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne near loc_00454d1e ; jne 0x454d1e
+
+loc_00454c8e:
+test edi, edi
+je near loc_00454d1e ; je 0x454d1e
+mov eax, dword [ref_0047e7d7] ; mov eax, dword [0x47e7d7]
+mov edx, dword [eax*4 + ref_0048cb50] ; mov edx, dword [eax*4 + 0x48cb50]
+push edx
+push ref_00466516 ; push 0x466516
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov ecx, dword [ref_0048a0d4] ; mov ecx, dword [0x48a0d4]
+push ecx
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne short loc_00454d1e ; jne 0x454d1e
+mov byte [ref_0046cb03], 1 ; mov byte [0x46cb03], 1
+jmp short loc_00454d1e ; jmp 0x454d1e
+
+loc_00454cd9:
+mov edx, dword [ref_0048a0d4] ; mov edx, dword [0x48a0d4]
+push edx
+push ebx
+push ebx
+push ref_0046652e ; push 0x46652e
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne short loc_00454d1b ; jne 0x454d1b
+mov byte [ref_0046cb04], 1 ; mov byte [0x46cb04], 1
+push eax
+push 0x28
+lea eax, [esp + 8]
+push eax
+push ref_00466542 ; push 0x466542
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+mov eax, esp
+push eax
+call fcn_004584db ; call 0x4584db
+add esp, 4
+lea ebx, [eax - 2]
+
+loc_00454d1b:
+or bl, 0x80
+
+loc_00454d1e:
+mov byte [ref_0047e772], bl ; mov byte [0x47e772], bl
+
+loc_00454d24:
+add esp, 0x50
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00454d2c:
+push ebx
+cmp byte [ref_0047e770], 0 ; cmp byte [0x47e770], 0
+jne short loc_00454d5d ; jne 0x454d5d
+test byte [ref_0047e772], 0x80 ; test byte [0x47e772], 0x80
+je short loc_00454d4b ; je 0x454d4b
+push 0
+call fcn_00454d91 ; call 0x454d91
+add esp, 4
+pop ebx
+ret
+
+loc_00454d4b:
+mov ebx, dword [ref_0048a0d4] ; mov ebx, dword [0x48a0d4]
+push ebx
+push 0
+push 0
+push ref_004664de ; push 0x4664de
+jmp short loc_00454d88 ; jmp 0x454d88
+
+loc_00454d5d:
+test byte [ref_0047e772], 0x80 ; test byte [0x47e772], 0x80
+je short loc_00454d78 ; je 0x454d78
+mov ecx, dword [ref_0048a0d4] ; mov ecx, dword [0x48a0d4]
+push ecx
+push 0
+push 0
+push ref_0046655f ; push 0x46655f
+jmp short loc_00454d88 ; jmp 0x454d88
+
+loc_00454d78:
+mov edx, dword [ref_0048a0d4] ; mov edx, dword [0x48a0d4]
+push edx
+push 0
+push 0
+push ref_004664de ; push 0x4664de
+
+loc_00454d88:
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+pop ebx
+ret
+
+fcn_00454d91:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x3c
+cmp dword [esp + 0x50], 0
+je short loc_00454dac ; je 0x454dac
+mov al, byte [esp + 0x50]
+dec al
+mov byte [ref_0047e771], al ; mov byte [0x47e771], al
+jmp short loc_00454dc5 ; jmp 0x454dc5
+
+loc_00454dac:
+mov ah, byte [ref_0047e771] ; mov ah, byte [0x47e771]
+inc ah
+mov byte [ref_0047e771], ah ; mov byte [0x47e771], ah
+mov dl, ah
+and dl, 7
+mov byte [ref_0047e771], dl ; mov byte [0x47e771], dl
+
+loc_00454dc5:
+cmp byte [ref_0049715a], 0 ; cmp byte [0x49715a], 0
+je near loc_00454ec8 ; je 0x454ec8
+cmp byte [ref_0047e770], 0 ; cmp byte [0x47e770], 0
+jne near loc_00454e84 ; jne 0x454e84
+call fcn_00454acb ; call 0x454acb
+mov ebx, 1
+xor eax, eax
+mov al, byte [ref_0047e771] ; mov al, byte [0x47e771]
+mov esi, dword [eax*4 + ref_0047e773] ; mov esi, dword [eax*4 + 0x47e773]
+push esi
+push ref_004664a4 ; push 0x4664a4
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+je short loc_00454e5c ; je 0x454e5c
+xor eax, eax
+mov al, byte [ref_0047e771] ; mov al, byte [0x47e771]
+mov edi, dword [eax*4 + ref_0047e773] ; mov edi, dword [eax*4 + 0x47e773]
+push edi
+push ref_00476374 ; push 0x476374
+push ref_004664c0 ; push 0x4664c0
+lea eax, [esp + 0xc]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0x10
+push 0
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne short loc_00454ec8 ; jne 0x454ec8
+
+loc_00454e5c:
+test ebx, ebx
+je short loc_00454ec8 ; je 0x454ec8
+mov ebp, dword [ref_0048a0d4] ; mov ebp, dword [0x48a0d4]
+push ebp
+push 0
+push 0
+push ref_004664de ; push 0x4664de
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne short loc_00454ec8 ; jne 0x454ec8
+mov byte [ref_0046cb03], 1 ; mov byte [0x46cb03], 1
+jmp short loc_00454ec8 ; jmp 0x454ec8
+
+loc_00454e84:
+call fcn_00454af5 ; call 0x454af5
+xor eax, eax
+mov al, byte [ref_0047e771] ; mov al, byte [0x47e771]
+add eax, 2
+push eax
+push ref_0046657a ; push 0x46657a
+lea eax, [esp + 8]
+push eax
+call fcn_00457110 ; call 0x457110
+add esp, 0xc
+mov ecx, dword [ref_0048a0d4] ; mov ecx, dword [0x48a0d4]
+push ecx
+push 0
+push 0
+lea eax, [esp + 0xc]
+push eax
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne short loc_00454ec8 ; jne 0x454ec8
+mov byte [ref_0046cb04], 1 ; mov byte [0x46cb04], 1
+
+loc_00454ec8:
+mov al, byte [ref_0047e771] ; mov al, byte [0x47e771]
+or al, 0x80
+mov byte [ref_0047e772], al ; mov byte [0x47e772], al
+add esp, 0x3c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00454edc:
+cmp byte [ref_0047e770], 0 ; cmp byte [0x47e770], 0
+jne short loc_00454eec ; jne 0x454eec
+call fcn_00454acb ; call 0x454acb
+jmp short loc_00454ef1 ; jmp 0x454ef1
+
+loc_00454eec:
+call fcn_00454af5 ; call 0x454af5
+
+loc_00454ef1:
+xor edx, edx
+mov dword [ref_0047e7d7], edx ; mov dword [0x47e7d7], edx
+ret
+
+fcn_00454efa:
+push ebx
+sub esp, 0x14
+xor ebx, ebx
+cmp byte [ref_0046cb03], 0 ; cmp byte [0x46cb03], 0
+jne short loc_00454f10 ; jne 0x454f10
+xor eax, eax
+add esp, 0x14
+pop ebx
+ret
+
+loc_00454f10:
+push ebx
+push 0x14
+lea eax, [esp + 8]
+push eax
+push ref_00466596 ; push 0x466596
+
+loc_00454f1d:
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+push ref_004665a6 ; push 0x4665a6
+lea eax, [esp + 4]
+push eax
+call fcn_004585bc ; call 0x4585bc
+add esp, 8
+test eax, eax
+jne short loc_00454f3f ; jne 0x454f3f
+mov ebx, 1
+
+loc_00454f3f:
+mov eax, ebx
+add esp, 0x14
+pop ebx
+ret
+
+fcn_00454f46:
+push ebx
+sub esp, 0x14
+xor ebx, ebx
+push ebx
+push 0x14
+lea eax, [esp + 8]
+push eax
+push ref_004665ae ; push 0x4665ae
+jmp short loc_00454f1d ; jmp 0x454f1d
+
+fcn_00454f5b:
+push ebx
+sub esp, 0x28
+xor ebx, ebx
+cmp byte [ref_0049715a], 0 ; cmp byte [0x49715a], 0
+je short loc_00454fac ; je 0x454fac
+mov dl, byte [ref_0047e772] ; mov dl, byte [0x47e772]
+test dl, 0x80
+je short loc_00454fac ; je 0x454fac
+cmp byte [ref_0047e770], 0 ; cmp byte [0x47e770], 0
+jne short loc_00454f86 ; jne 0x454f86
+mov bl, dl
+and bl, 7
+inc ebx
+jmp short loc_00454fac ; jmp 0x454fac
+
+loc_00454f86:
+push ebx
+push 0x28
+lea eax, [esp + 8]
+push eax
+push ref_00466542 ; push 0x466542
+call dword [cs:__imp__mciSendStringA@16] ; ucall: call dword cs:[0x46245c]
+test eax, eax
+jne short loc_00454fac ; jne 0x454fac
+mov eax, esp
+push eax
+call fcn_004584db ; call 0x4584db
+add esp, 4
+lea ebx, [eax - 1]
+
+loc_00454fac:
+mov eax, ebx
+add esp, 0x28
+pop ebx
+ret
+
+endloc_00454fb3:
+db 0x00
+
+fcn_00454fb4:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov eax, dword [ebp + 8]
+mov ecx, dword [ebp + 0xc]
+neg ecx
+call fcn_00454fe1 ; call 0x454fe1
+shr ax, 0xc
+inc ax
+shr ax, 1
+and eax, 7
+movzx eax, byte [eax + ref_00482414] ; movzx eax, byte [eax + 0x482414]
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00454fe1:
+mov esi, eax
+or esi, ecx
+je short loc_0045502b ; je 0x45502b
+xor esi, esi
+cdq
+xor eax, edx
+sub eax, edx
+shld esi, edx, 1
+xchg eax, ecx
+cdq
+xor eax, edx
+sub eax, edx
+shld esi, edx, 1
+xchg eax, ecx
+xor edx, edx
+cmp eax, ecx
+pushfd
+jb short loc_00455005 ; jb 0x455005
+xchg eax, ecx
+
+loc_00455005:
+shld edx, eax, 0xb
+shl eax, 0xb
+div ecx
+mov ax, word [eax*2 + ref_0048242c] ; mov ax, word [eax*2 + 0x48242c]
+popfd
+jae short loc_00455020 ; jae 0x455020
+sub ax, 0x1000
+neg ax
+
+loc_00455020:
+shl ax, 2
+jmp dword [esi*4 + ref_0048241c] ; ujmp: jmp dword [esi*4 + 0x48241c]
+
+loc_0045502b:
+ret
+
+loc_0045502c:
+neg ax
+ret
+
+loc_00455030:
+neg ax
+add ax, 0x8000
+ret
+
+loc_00455038:
+add ax, 0x8000
+ret
+
+endloc_0045503d:
+db 0x00
+db 0x00
+db 0x00
+
+fcn_00455040:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov esi, ref_00483630 ; mov esi, 0x483630
+mov edi, ref_004847bc ; mov edi, 0x4847bc
+mov ecx, 0x463
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+xor edx, edx
+
+loc_00455060:
+call fcn_004551bb ; call 0x4551bb
+or bh, bh
+jne short loc_0045506e ; jne 0x45506e
+mov byte [edi], bl
+inc edi
+jmp short loc_00455060 ; jmp 0x455060
+
+loc_0045506e:
+mov eax, ecx
+push ecx
+shr eax, 3
+and ecx, 7
+mov eax, dword [esi + eax]
+shr eax, cl
+mov ebp, eax
+and ebp, 0xff
+mov cl, byte [ebp + ref_00483530] ; mov cl, byte [ebp + 0x483530]
+mov dh, byte [ebp + ref_00483430] ; mov dh, byte [ebp + 0x483430]
+shr eax, cl
+mov dl, al
+shl dl, 2
+shr dx, 2
+add cl, 6
+mov eax, ecx
+and eax, 0xff
+pop ecx
+add ecx, eax
+cmp dx, 0xfff
+je short loc_004550c6 ; je 0x4550c6
+mov ebp, ecx
+sub ebx, 0xfd
+push esi
+lea esi, [edi - 1]
+sub esi, edx
+mov ecx, ebx
+rep movsb ; rep movsb byte es:[edi], byte ptr [esi]
+pop esi
+mov ecx, ebp
+jmp short loc_00455060 ; jmp 0x455060
+
+loc_004550c6:
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_004550cc:
+mov edx, 0x141
+xor ebp, ebp
+xor ecx, ecx
+
+loc_004550d5:
+mov cx, word [ebp + ref_004856c4] ; mov cx, word [ebp + 0x4856c4]
+test word [ecx + ref_004847bc], 1 ; test word [ecx + 0x4847bc], 1
+je short loc_004550ee ; je 0x4550ee
+mov ebx, ebp
+call fcn_0045511b ; call 0x45511b
+
+loc_004550ee:
+add ebp, 2
+dec edx
+jne short loc_004550d5 ; jne 0x4550d5
+xor ebx, ebx
+
+loc_004550f6:
+shr word [ebx + ref_004847bc], 1 ; shr word [ebx + 0x4847bc], 1
+add ebx, 2
+cmp ebx, 0x502
+jb short loc_004550f6 ; jb 0x4550f6
+ret
+
+fcn_00455109:
+cmp word [ref_00484cbc], 0x8000 ; cmp word [0x484cbc], 0x8000
+jne short fcn_0045511b ; jne 0x45511b
+push ebx
+call fcn_004550cc ; call 0x4550cc
+pop ebx
+
+fcn_0045511b:
+mov bx, word [ebx + ref_004856c4] ; mov bx, word [ebx + 0x4856c4]
+
+loc_00455122:
+inc word [ebx + ref_004847bc] ; inc word [ebx + 0x4847bc]
+mov ax, word [ebx + ref_004847bc] ; mov ax, word [ebx + 0x4847bc]
+cmp ax, word [ebx + ref_004847be] ; cmp ax, word [ebx + 0x4847be]
+jbe short loc_004551aa ; jbe 0x4551aa
+lea edi, [ebx + ref_004847be] ; lea edi, [ebx + 0x4847be]
+mov ecx, 0x282
+dec ax
+repe scasw ; repe scasw ax, word es:[edi]
+sub edi, ref_004847c0 ; sub edi, 0x4847c0
+inc ax
+xchg word [edi + ref_004847bc], ax ; xchg word [edi + 0x4847bc], ax
+mov word [ebx + ref_004847bc], ax ; mov word [ebx + 0x4847bc], ax
+mov ax, word [ebx + ref_00484cc0] ; mov ax, word [ebx + 0x484cc0]
+mov cx, word [edi + ref_00484cc0] ; mov cx, word [edi + 0x484cc0]
+mov word [ecx + ref_004851c2], bx ; mov word [ecx + 0x4851c2], bx
+cmp cx, 0x502
+jae short loc_00455182 ; jae 0x455182
+mov word [ecx + ref_004851c4], bx ; mov word [ecx + 0x4851c4], bx
+
+loc_00455182:
+xchg ax, cx
+mov word [ecx + ref_004851c2], di ; mov word [ecx + 0x4851c2], di
+cmp cx, 0x502
+jae short loc_00455199 ; jae 0x455199
+mov word [ecx + ref_004851c4], di ; mov word [ecx + 0x4851c4], di
+
+loc_00455199:
+mov word [ebx + ref_00484cc0], ax ; mov word [ebx + 0x484cc0], ax
+mov word [edi + ref_00484cc0], cx ; mov word [edi + 0x484cc0], cx
+mov bx, di
+
+loc_004551aa:
+mov bx, word [ebx + ref_004851c2] ; mov bx, word [ebx + 0x4851c2]
+or bx, bx
+jne near loc_00455122 ; jne 0x455122
+ret
+
+fcn_004551bb:
+mov ebx, 0x500
+
+loc_004551c0:
+mov bx, word [ebx + ref_00484cc0] ; mov bx, word [ebx + 0x484cc0]
+cmp bx, 0x502
+jae short loc_004551da ; jae 0x4551da
+bt dword [esi], ecx
+inc ecx
+jae short loc_004551c0 ; jae 0x4551c0
+add bx, 2
+jmp short loc_004551c0 ; jmp 0x4551c0
+
+loc_004551da:
+sub ebx, 0x502
+push ebx
+push ecx
+push edi
+call fcn_00455109 ; call 0x455109
+pop edi
+pop ecx
+pop ebx
+shr bx, 1
+ret
+
+endloc_004551ef:
+db 0x00
+
+fcn_004551f0:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov eax, dword [ebp + 8]
+mov ecx, dword [ref_0047637c] ; mov ecx, dword [0x47637c]
+call dword [ecx*4 + ref_00485948] ; ucall: call dword [ecx*4 + 0x485948]
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_0045520d:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov esi, dword [ebp + 0xc]
+mov edi, dword [ebp + 8]
+mov ecx, dword [ebp + 0x10]
+mov ebp, dword [ref_0047637c] ; mov ebp, dword [0x47637c]
+
+loc_00455223:
+mov eax, dword [esi]
+bswap eax
+shr eax, 8
+call dword [ebp*4 + ref_00485948] ; ucall: call dword [ebp*4 + 0x485948]
+db 0x66, 0xab ; stosw word es:[edi], ax
+add esi, 3
+loop loc_00455223 ; loop 0x455223
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_0045523e:
+shld ebx, eax, 0x1d
+and ebx, 0x1f
+shld edx, eax, 0x1a
+and edx, 0x3e0
+shr eax, 9
+and eax, 0x7c00
+or eax, edx
+or eax, ebx
+ret
+
+fcn_0045525c:
+shld ebx, eax, 0x1d
+and ebx, 0x1f
+shld edx, eax, 0x1b
+and edx, 0x7e0
+shr eax, 8
+and eax, 0xf800
+or eax, edx
+or eax, ebx
+ret
+
+fcn_0045527a:
+shrd ebx, eax, 0x18
+and ebx, 0xf800
+shld edx, eax, 0x1b
+and edx, 0x7e0
+shr eax, 0x13
+and eax, 0x1f
+or eax, edx
+or eax, ebx
+ret
+
+fcn_00455299:
+shld ebx, eax, 0x1c
+and ebx, 0xf
+shld edx, eax, 0x18
+and edx, 0xf0
+shr eax, 0xc
+and eax, 0xf00
+or eax, edx
+or eax, ebx
+ret
+
+fcn_004552b7:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov ecx, dword [ebp + 0x10]
+mov ebx, dword [ebp + 0x14]
+shl ebx, 5
+add ebx, ref_00485d68 ; add ebx, 0x485d68
+shr ecx, 1
+mov eax, dword [ref_0047637c] ; mov eax, dword [0x47637c]
+call dword [eax*4 + ref_00485958] ; ucall: call dword [eax*4 + 0x485958]
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_004552e7:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+movzx ebx, word [edi]
+mov eax, ebx
+mov edi, dword [edi + 8]
+mul dword [ebp + 0x10]
+add eax, dword [ebp + 0xc]
+lea edi, [edi + eax*2]
+mov esi, edi
+sub ebx, dword [ebp + 0x14]
+add ebx, ebx
+mov dword [ebp + 0xc], ebx
+mov ebx, dword [ebp + 0x1c]
+shl ebx, 5
+add ebx, ref_00485d68 ; add ebx, 0x485d68
+
+loc_00455318:
+mov ecx, dword [ebp + 0x14]
+mov eax, dword [ref_0047637c] ; mov eax, dword [0x47637c]
+call dword [eax*4 + ref_00485958] ; ucall: call dword [eax*4 + 0x485958]
+add esi, dword [ebp + 0xc]
+mov edi, esi
+dec dword [ebp + 0x18]
+jne short loc_00455318 ; jne 0x455318
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00455337:
+db 0x66, 0xad ; lodsw ax, word [esi]
+shrd edx, eax, 0x10
+and eax, 0x1f
+mov dl, byte [ebx + eax]
+shld eax, edx, 0xb
+and eax, 0x1f
+mov dh, byte [ebx + eax]
+shld eax, edx, 6
+and eax, 0x1f
+mov al, byte [ebx + eax]
+shl dx, 3
+shld ax, dx, 5
+mov dh, dl
+shld ax, dx, 5
+db 0x66, 0xab ; stosw word es:[edi], ax
+loop fcn_00455337 ; loop 0x455337
+ret
+
+fcn_0045536c:
+db 0x66, 0xad ; lodsw ax, word [esi]
+shrd edx, eax, 0x10
+and eax, 0x1f
+mov dl, byte [ebx + eax]
+shld eax, edx, 0xa
+and eax, 0x1f
+mov dh, byte [ebx + eax]
+shld eax, edx, 5
+and eax, 0x1f
+mov al, byte [ebx + eax]
+shl dx, 3
+shld ax, dx, 6
+mov dh, dl
+shld ax, dx, 5
+db 0x66, 0xab ; stosw word es:[edi], ax
+loop fcn_0045536c ; loop 0x45536c
+ret
+
+fcn_004553a1:
+push ebx
+sar ebx, 1
+
+loc_004553a4:
+db 0x66, 0xad ; lodsw ax, word [esi]
+shrd edx, eax, 0x10
+and eax, 0xf
+mov dl, byte [ebx + eax]
+shld eax, edx, 0xc
+and eax, 0xf
+mov dh, byte [ebx + eax]
+shld eax, edx, 8
+and eax, 0xf
+mov al, byte [ebx + eax]
+shl dx, 4
+shld ax, dx, 4
+mov dh, dl
+shld ax, dx, 4
+db 0x66, 0xab ; stosw word es:[edi], ax
+loop loc_004553a4 ; loop 0x4553a4
+pop ebx
+ret
+
+fcn_004553da:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov ecx, dword [ebp + 0x10]
+shr ecx, 1
+mov eax, dword [ref_0047637c] ; mov eax, dword [0x47637c]
+call dword [eax*4 + ref_00485968] ; ucall: call dword [eax*4 + 0x485968]
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_004553fe:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+movzx ebx, word [edi]
+mov eax, ebx
+mov edi, dword [edi + 8]
+mul dword [ebp + 0x10]
+add eax, dword [ebp + 0xc]
+lea edi, [edi + eax*2]
+mov esi, edi
+sub ebx, dword [ebp + 0x14]
+add ebx, ebx
+mov dword [ebp + 0xc], ebx
+
+loc_00455423:
+mov ecx, dword [ebp + 0x14]
+mov eax, dword [ref_0047637c] ; mov eax, dword [0x47637c]
+call dword [eax*4 + ref_00485968] ; ucall: call dword [eax*4 + 0x485968]
+add esi, dword [ebp + 0xc]
+mov edi, esi
+dec dword [ebp + 0x18]
+jne short loc_00455423 ; jne 0x455423
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00455442:
+db 0x66, 0xad ; lodsw ax, word [esi]
+or ax, ax
+je short loc_0045547a ; je 0x45547a
+shrd edx, eax, 0x10
+and eax, 0x1f
+shld ebx, edx, 0xb
+and ebx, 0x1f
+add eax, ebx
+shld ebx, edx, 6
+and ebx, 0x1f
+add eax, ebx
+add eax, 0x10
+shr eax, 2
+shrd bx, ax, 5
+shrd bx, ax, 5
+shrd bx, ax, 6
+mov word [edi], bx
+
+loc_0045547a:
+add edi, 2
+loop fcn_00455442 ; loop 0x455442
+ret
+
+fcn_00455480:
+db 0x66, 0xad ; lodsw ax, word [esi]
+or ax, ax
+je short loc_004554b8 ; je 0x4554b8
+shrd edx, eax, 0x10
+and eax, 0x1f
+shld ebx, edx, 0xa
+and ebx, 0x1f
+add eax, ebx
+shld ebx, edx, 5
+and ebx, 0x1f
+add eax, ebx
+add eax, 0x10
+shr eax, 2
+shrd bx, ax, 6
+shrd bx, ax, 5
+shrd bx, ax, 5
+mov word [edi], bx
+
+loc_004554b8:
+add edi, 2
+loop fcn_00455480 ; loop 0x455480
+ret
+
+fcn_004554be:
+db 0x66, 0xad ; lodsw ax, word [esi]
+or ax, ax
+je short loc_004554f6 ; je 0x4554f6
+shrd edx, eax, 0x10
+and eax, 0xf
+shld ebx, edx, 0xc
+and ebx, 0xf
+add eax, ebx
+shld ebx, edx, 8
+and ebx, 0xf
+add eax, ebx
+add eax, 8
+shr eax, 2
+shrd bx, ax, 4
+shrd bx, ax, 4
+shrd bx, ax, 8
+mov word [edi], bx
+
+loc_004554f6:
+add edi, 2
+loop fcn_004554be ; loop 0x4554be
+ret
+
+fcn_004554fc:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov edx, dword [ebp + 0x10]
+mov ebx, dword [ebp + 0x1c]
+shl ebx, 5
+add ebx, ref_00485d68 ; add ebx, 0x485d68
+
+loc_00455518:
+push esi
+push edi
+mov ecx, dword [ebp + 0x14]
+
+loc_0045551d:
+cmp word [edx], 0xffff
+je short loc_00455543 ; je 0x455543
+add esi, 2
+add edi, 2
+
+loc_00455529:
+add edx, 2
+loop loc_0045551d ; loop 0x45551d
+pop edi
+pop esi
+add esi, 0x500
+add edi, dword [ref_0048a060] ; add edi, dword [0x48a060]
+dec dword [ebp + 0x18]
+jne short loc_00455518 ; jne 0x455518
+jmp short loc_0045555a ; jmp 0x45555a
+
+loc_00455543:
+push edx
+push ecx
+mov ecx, 1
+mov eax, dword [ref_0047637c] ; mov eax, dword [0x47637c]
+call dword [eax*4 + ref_00485958] ; ucall: call dword [eax*4 + 0x485958]
+pop ecx
+pop edx
+jmp short loc_00455529 ; jmp 0x455529
+
+loc_0045555a:
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00455560:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov ebx, dword [ref_0047637c] ; mov ebx, dword [0x47637c]
+movzx edx, word [ebx*2 + ref_00486188] ; movzx edx, word [ebx*2 + 0x486188]
+movzx ebx, word [ebx*2 + ref_00486190] ; movzx ebx, word [ebx*2 + 0x486190]
+
+loc_00455583:
+push edi
+mov ecx, dword [ebp + 0x10]
+shr ecx, 1
+
+loc_00455589:
+lodsd ; lodsd eax, dword [esi]
+cmp ax, 0x2711
+je short loc_004555a9 ; je 0x4555a9
+cmp ax, 0x2712
+je short loc_004555b4 ; je 0x4555b4
+
+loc_00455596:
+add edi, 4
+loop loc_00455589 ; loop 0x455589
+pop edi
+add edi, 0x500
+dec dword [ebp + 0x14]
+jne short loc_00455583 ; jne 0x455583
+jmp short loc_004555bf ; jmp 0x4555bf
+
+loc_004555a9:
+mov dword [esi - 4], 0
+or dword [edi], edx
+jmp short loc_00455596 ; jmp 0x455596
+
+loc_004555b4:
+mov dword [esi - 4], 0
+or dword [edi], ebx
+jmp short loc_00455596 ; jmp 0x455596
+
+loc_004555bf:
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_004555c5:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov esi, dword [ebp + 8]
+add esi, dword [esi + 8]
+mov edi, esi
+mov ecx, 0x100
+mov eax, dword [ref_0047637c] ; mov eax, dword [0x47637c]
+call dword [eax*4 + ref_00485978] ; ucall: call dword [eax*4 + 0x485978]
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_004555eb:
+db 0x66, 0xad ; lodsw ax, word [esi]
+shrd edx, eax, 0x10
+and eax, 0x1f
+shld ebx, edx, 0xb
+and ebx, 0x1f
+add eax, ebx
+shld ebx, edx, 6
+and ebx, 0x1f
+add eax, ebx
+add eax, 0x28
+shr eax, 2
+mov dx, 0x1f
+shrd bx, dx, 5
+shrd bx, ax, 5
+shrd bx, ax, 6
+mov word [edi], bx
+add edi, 2
+loop fcn_004555eb ; loop 0x4555eb
+ret
+
+fcn_00455628:
+db 0x66, 0xad ; lodsw ax, word [esi]
+shrd edx, eax, 0x10
+and eax, 0x1f
+shld ebx, edx, 0xa
+and ebx, 0x1f
+add eax, ebx
+shld ebx, edx, 5
+and ebx, 0x1f
+add eax, ebx
+add eax, 0x1f
+shr eax, 2
+and eax, 0x1f
+add al, byte [eax + ref_00486168] ; add al, byte [eax + 0x486168]
+mov dx, 0x1f
+shrd bx, dx, 6
+shrd bx, ax, 5
+shrd bx, ax, 5
+mov word [edi], bx
+add edi, 2
+loop fcn_00455628 ; loop 0x455628
+ret
+
+fcn_0045566e:
+db 0x66, 0xad ; lodsw ax, word [esi]
+shrd edx, eax, 0x10
+and eax, 0x1f
+shld ebx, edx, 0xa
+and ebx, 0x1f
+add eax, ebx
+shld ebx, edx, 5
+and ebx, 0x1f
+add eax, ebx
+add eax, 0x28
+shr eax, 2
+shrd bx, ax, 6
+shrd bx, ax, 5
+mov ax, 0x1f
+shrd bx, ax, 5
+mov word [edi], bx
+add edi, 2
+loop fcn_0045566e ; loop 0x45566e
+ret
+
+fcn_004556ab:
+db 0x66, 0xad ; lodsw ax, word [esi]
+shrd edx, eax, 0x10
+and eax, 0xf
+shld ebx, edx, 0xc
+and ebx, 0xf
+add eax, ebx
+shld ebx, edx, 8
+and ebx, 0xf
+add eax, ebx
+add eax, 0x14
+shr eax, 2
+mov dx, 0x1f
+shrd bx, dx, 4
+shrd bx, ax, 4
+shrd bx, ax, 8
+mov word [edi], bx
+add edi, 2
+loop fcn_004556ab ; loop 0x4556ab
+ret
+
+fcn_004556e8:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov ebx, 0x1b8
+mov edx, 0x190
+
+loc_004556ff:
+mov ecx, 0xdc
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+add esi, edx
+dec ebx
+jne short loc_004556ff ; jne 0x4556ff
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00455711:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov ebx, dword [ebp + 0x10]
+mov ebp, dword [ref_0048a060] ; mov ebp, dword [0x48a060]
+sub ebp, 0x370
+mov bl, byte [ebx + ref_00486198] ; mov bl, byte [ebx + 0x486198]
+or bl, bl
+je short loc_00455762 ; je 0x455762
+shl ebx, 5
+add ebx, ref_00485d68 ; add ebx, 0x485d68
+mov ecx, 0x1b8
+
+loc_00455745:
+push ecx
+mov ecx, 0x1b8
+mov eax, dword [ref_0047637c] ; mov eax, dword [0x47637c]
+call dword [eax*4 + ref_00485958] ; ucall: call dword [eax*4 + 0x485958]
+pop ecx
+add edi, ebp
+loop loc_00455745 ; loop 0x455745
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+loc_00455762:
+mov ebx, 0x1b8
+
+loc_00455767:
+mov ecx, 0xdc
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+add edi, ebp
+dec ebx
+jne short loc_00455767 ; jne 0x455767
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+endloc_00455779:
+db 0x00
+db 0x00
+db 0x00
+
+fcn_0045577c:
+push ebp
+mov ebp, esp
+mov eax, dword [ebp + 8]
+mov dword [ref_004861b8], eax ; mov dword [0x4861b8], eax
+mov eax, dword [ebp + 0xc]
+mov dword [ref_004861bc], eax ; mov dword [0x4861bc], eax
+mov eax, dword [ebp + 0x10]
+mov dword [ref_004861c0], eax ; mov dword [0x4861c0], eax
+mov eax, dword [ebp + 0x14]
+mov dword [ref_004861c4], eax ; mov dword [0x4861c4], eax
+pop ebp
+ret
+
+fcn_004557a1:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov eax, dword [ebp + 8]
+mov dword [ref_004861cc], eax ; mov dword [0x4861cc], eax
+mov eax, dword [ebp + 0xc]
+mov dword [ref_004861c8], eax ; mov dword [0x4861c8], eax
+mov ebp, dword [ebp + 0x10]
+mov dword [ref_004861ec], 0x7fff ; mov dword [0x4861ec], 0x7fff
+xor ebx, ebx
+mov edx, 0x1f0000
+mov esi, dword [ebp]
+mov edi, dword [ebp + 4]
+mov ecx, 0x200000
+call fcn_0045596a ; call 0x45596a
+mov ebx, 0x1f0000
+mov edx, 0x1f001f
+mov esi, dword [ebp + 4]
+mov edi, dword [ebp + 8]
+mov ecx, 0x20
+call fcn_0045596a ; call 0x45596a
+mov ebx, 0x1f001f
+mov edx, 0x1f
+mov esi, dword [ebp + 8]
+mov edi, dword [ebp + 0xc]
+mov ecx, 0xffe00000
+call fcn_0045596a ; call 0x45596a
+mov ebx, 0x1f
+xor edx, edx
+mov esi, dword [ebp + 0xc]
+mov edi, dword [ebp]
+mov ecx, 0xffe0
+call fcn_0045596a ; call 0x45596a
+mov esi, dword [ref_004861ec] ; mov esi, dword [0x4861ec]
+cmp esi, 0x7fff
+je near loc_00455964 ; je 0x455964
+mov edi, esi
+mov eax, esi
+shl edi, 0xa
+shl eax, 8
+add edi, eax
+add edi, dword [ref_004861cc] ; add edi, dword [0x4861cc]
+shl esi, 2
+
+loc_0045584e:
+mov ebx, dword [esi + ref_004861f0] ; mov ebx, dword [esi + 0x4861f0]
+mov ecx, dword [esi + ref_00486970] ; mov ecx, dword [esi + 0x486970]
+cmp ebx, 0x7fff0000
+je near loc_00455964 ; je 0x455964
+sar ebx, 0x10
+sar ecx, 0x10
+mov ebp, ecx
+sub ebp, ebx
+je near loc_0045593b ; je 0x45593b
+cmp ecx, dword [ref_004861b8] ; cmp ecx, dword [0x4861b8]
+jle near loc_0045593b ; jle 0x45593b
+cmp ebx, dword [ref_004861c0] ; cmp ebx, dword [0x4861c0]
+jge near loc_0045593b ; jge 0x45593b
+mov eax, dword [esi + ref_00487ff0] ; mov eax, dword [esi + 0x487ff0]
+sub eax, dword [esi + ref_004870f0] ; sub eax, dword [esi + 0x4870f0]
+cdq
+idiv ebp
+mov dword [ref_004861dc], eax ; mov dword [0x4861dc], eax
+mov eax, dword [esi + ref_00488770] ; mov eax, dword [esi + 0x488770]
+sub eax, dword [esi + ref_00487870] ; sub eax, dword [esi + 0x487870]
+cdq
+idiv ebp
+mov dword [ref_004861e0], eax ; mov dword [0x4861e0], eax
+cmp ebx, dword [ref_004861b8] ; cmp ebx, dword [0x4861b8]
+jge short loc_004558e9 ; jge 0x4558e9
+mov eax, dword [ref_004861b8] ; mov eax, dword [0x4861b8]
+sub eax, ebx
+mov ebx, eax
+sub ebp, ebx
+imul dword [ref_004861dc] ; imul dword [0x4861dc]
+add dword [esi + ref_004870f0], eax ; add dword [esi + 0x4870f0], eax
+mov eax, ebx
+imul dword [ref_004861e0] ; imul dword [0x4861e0]
+add dword [esi + ref_00487870], eax ; add dword [esi + 0x487870], eax
+mov ebx, dword [ref_004861b8] ; mov ebx, dword [0x4861b8]
+
+loc_004558e9:
+sub ecx, dword [ref_004861c0] ; sub ecx, dword [0x4861c0]
+jle short loc_004558f3 ; jle 0x4558f3
+sub ebp, ecx
+
+loc_004558f3:
+mov edx, dword [ref_004861c8] ; mov edx, dword [0x4861c8]
+push edi
+lea edi, [edi + ebx*2]
+mov ecx, dword [esi + ref_004870f0] ; mov ecx, dword [esi + 0x4870f0]
+mov ebx, dword [esi + ref_00487870] ; mov ebx, dword [esi + 0x487870]
+push esi
+
+loc_0045590a:
+shld eax, ecx, 0x10
+shld esi, ebx, 0x15
+and eax, 0x1f
+and esi, 0x3e0
+add esi, eax
+mov al, byte [edx + esi]
+mov ax, word [eax*2 + ref_0048b6b4] ; mov ax, word [eax*2 + 0x48b6b4]
+db 0x66, 0xab ; stosw word es:[edi], ax
+add ecx, dword [ref_004861dc] ; add ecx, dword [0x4861dc]
+add ebx, dword [ref_004861e0] ; add ebx, dword [0x4861e0]
+dec ebp
+jne short loc_0045590a ; jne 0x45590a
+pop esi
+pop edi
+
+loc_0045593b:
+mov dword [esi + ref_004861f0], 0x7fff0000 ; mov dword [esi + 0x4861f0], 0x7fff0000
+mov dword [esi + ref_00486970], 0x80000000 ; mov dword [esi + 0x486970], 0x80000000
+add edi, 0x500
+add esi, 4
+cmp esi, 0x780
+jb near loc_0045584e ; jb 0x45584e
+
+loc_00455964:
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_0045596a:
+push ebp
+mov bp, di
+sub bp, si
+je near loc_00455af1 ; je 0x455af1
+jg short loc_0045597d ; jg 0x45597d
+mov ebx, edx
+xchg edi, esi
+
+loc_0045597d:
+cmp di, word [ref_004861bc] ; cmp di, word [0x4861bc]
+jle near loc_00455af1 ; jle 0x455af1
+cmp si, word [ref_004861c4] ; cmp si, word [0x4861c4]
+jge near loc_00455af1 ; jge 0x455af1
+mov ax, si
+cmp ax, word [ref_004861ec] ; cmp ax, word [0x4861ec]
+jge short loc_004559b8 ; jge 0x4559b8
+cmp ax, word [ref_004861bc] ; cmp ax, word [0x4861bc]
+jge short loc_004559b2 ; jge 0x4559b2
+mov ax, word [ref_004861bc] ; mov ax, word [0x4861bc]
+
+loc_004559b2:
+mov word [ref_004861ec], ax ; mov word [0x4861ec], ax
+
+loc_004559b8:
+mov eax, ebx
+and eax, 0xffff0000
+mov dword [ref_004861d0], eax ; mov dword [0x4861d0], eax
+shl ebx, 0x10
+mov dword [ref_004861d4], ebx ; mov dword [0x4861d4], ebx
+movsx ebp, bp
+mov eax, ecx
+and eax, 0xffff0000
+cdq
+idiv ebp
+cdq
+mov word [ref_004861d0], dx ; mov word [0x4861d0], dx
+mov dword [ref_004861dc], eax ; mov dword [0x4861dc], eax
+shrd eax, ecx, 0x10
+and eax, 0xffff0000
+cdq
+idiv ebp
+cdq
+mov word [ref_004861d4], dx ; mov word [0x4861d4], dx
+mov dword [ref_004861e0], eax ; mov dword [0x4861e0], eax
+or ebp, ebp
+pushfd
+jns short loc_00455a07 ; jns 0x455a07
+neg ebp
+
+loc_00455a07:
+mov eax, edi
+mov ebx, esi
+and eax, 0xffff0000
+and ebx, 0xffff0000
+mov dword [ref_004861d8], ebx ; mov dword [0x4861d8], ebx
+sub eax, ebx
+cdq
+idiv ebp
+mov dword [ref_004861e4], eax ; mov dword [0x4861e4], eax
+cmp si, word [ref_004861bc] ; cmp si, word [0x4861bc]
+jge short loc_00455a69 ; jge 0x455a69
+mov eax, dword [ref_004861bc] ; mov eax, dword [0x4861bc]
+sub ax, si
+mov esi, eax
+sub ebp, esi
+imul dword [ref_004861dc] ; imul dword [0x4861dc]
+add dword [ref_004861d0], eax ; add dword [0x4861d0], eax
+mov eax, esi
+imul dword [ref_004861e0] ; imul dword [0x4861e0]
+add dword [ref_004861d4], eax ; add dword [0x4861d4], eax
+mov eax, esi
+imul dword [ref_004861e4] ; imul dword [0x4861e4]
+add dword [ref_004861d8], eax ; add dword [0x4861d8], eax
+mov esi, dword [ref_004861bc] ; mov esi, dword [0x4861bc]
+
+loc_00455a69:
+sub di, word [ref_004861c4] ; sub di, word [0x4861c4]
+jle short loc_00455a77 ; jle 0x455a77
+movzx edi, di
+sub ebp, edi
+
+loc_00455a77:
+mov dword [ref_004861e8], ebp ; mov dword [0x4861e8], ebp
+mov eax, dword [ref_004861d0] ; mov eax, dword [0x4861d0]
+mov ebx, dword [ref_004861dc] ; mov ebx, dword [0x4861dc]
+mov ecx, dword [ref_004861d4] ; mov ecx, dword [0x4861d4]
+mov edx, dword [ref_004861e0] ; mov edx, dword [0x4861e0]
+mov edi, dword [ref_004861d8] ; mov edi, dword [0x4861d8]
+mov ebp, dword [ref_004861e4] ; mov ebp, dword [0x4861e4]
+and esi, 0xffff
+shl esi, 2
+popfd
+js short loc_00455af3 ; js 0x455af3
+
+loc_00455aac:
+cmp edi, dword [esi + ref_004861f0] ; cmp edi, dword [esi + 0x4861f0]
+jge short loc_00455ac6 ; jge 0x455ac6
+mov dword [esi + ref_004861f0], edi ; mov dword [esi + 0x4861f0], edi
+mov dword [esi + ref_00487ff0], eax ; mov dword [esi + 0x487ff0], eax
+mov dword [esi + ref_00488770], ecx ; mov dword [esi + 0x488770], ecx
+
+loc_00455ac6:
+cmp edi, dword [esi + ref_00486970] ; cmp edi, dword [esi + 0x486970]
+jle short loc_00455ae0 ; jle 0x455ae0
+mov dword [esi + ref_00486970], edi ; mov dword [esi + 0x486970], edi
+mov dword [esi + ref_00487ff0], eax ; mov dword [esi + 0x487ff0], eax
+mov dword [esi + ref_00488770], ecx ; mov dword [esi + 0x488770], ecx
+
+loc_00455ae0:
+add eax, ebx
+add ecx, edx
+add edi, ebp
+add esi, 4
+dec dword [ref_004861e8] ; dec dword [0x4861e8]
+jne short loc_00455aac ; jne 0x455aac
+
+loc_00455af1:
+pop ebp
+ret
+
+loc_00455af3:
+cmp edi, dword [esi + ref_004861f0] ; cmp edi, dword [esi + 0x4861f0]
+jge short loc_00455b0d ; jge 0x455b0d
+mov dword [esi + ref_004861f0], edi ; mov dword [esi + 0x4861f0], edi
+mov dword [esi + ref_004870f0], eax ; mov dword [esi + 0x4870f0], eax
+mov dword [esi + ref_00487870], ecx ; mov dword [esi + 0x487870], ecx
+
+loc_00455b0d:
+cmp edi, dword [esi + ref_00486970] ; cmp edi, dword [esi + 0x486970]
+jle short loc_00455b27 ; jle 0x455b27
+mov dword [esi + ref_00486970], edi ; mov dword [esi + 0x486970], edi
+mov dword [esi + ref_004870f0], eax ; mov dword [esi + 0x4870f0], eax
+mov dword [esi + ref_00487870], ecx ; mov dword [esi + 0x487870], ecx
+
+loc_00455b27:
+add eax, ebx
+add ecx, edx
+add edi, ebp
+add esi, 4
+dec dword [ref_004861e8] ; dec dword [0x4861e8]
+jne short loc_00455af3 ; jne 0x455af3
+pop ebp
+ret
+
+fcn_00455b3a:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+push ebx
+push ecx
+push esi
+push edi
+mov ebx, 1
+mov esi, dword [ebp + 0x14]
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x18], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x1c], eax
+mov eax, dword [ebp + 0x18]
+cmp eax, dword [ebp + 8]
+jge near loc_00455c47 ; jge 0x455c47
+movzx edx, word [esi]
+add eax, edx
+jle near loc_00455c47 ; jle 0x455c47
+mov eax, dword [ebp + 0x1c]
+cmp eax, dword [ebp + 0xc]
+jge near loc_00455c47 ; jge 0x455c47
+movzx edx, word [esi + 2]
+add eax, edx
+jle near loc_00455c47 ; jle 0x455c47
+mov dword [ebp - 4], 0
+mov dword [ebp - 8], 0
+movzx eax, word [esi]
+mov dword [ebp - 0xc], eax
+mov ax, word [esi + 2]
+mov dword [ebp - 0x10], eax
+xor eax, eax
+cmp dword [ebp + 0x18], eax
+jge short loc_00455bb6 ; jge 0x455bb6
+xchg dword [ebp + 0x18], eax
+sub dword [ebp - 4], eax
+add dword [ebp - 0xc], eax
+jmp short loc_00455bc4 ; jmp 0x455bc4
+
+loc_00455bb6:
+mov eax, dword [ebp - 0xc]
+add eax, dword [ebp + 0x18]
+sub eax, dword [ebp + 8]
+jle short loc_00455bc4 ; jle 0x455bc4
+sub dword [ebp - 0xc], eax
+
+loc_00455bc4:
+xor eax, eax
+cmp dword [ebp + 0x1c], eax
+jge short loc_00455bd6 ; jge 0x455bd6
+xchg dword [ebp + 0x1c], eax
+sub dword [ebp - 8], eax
+add dword [ebp - 0x10], eax
+jmp short loc_00455be4 ; jmp 0x455be4
+
+loc_00455bd6:
+mov eax, dword [ebp - 0x10]
+add eax, dword [ebp + 0x1c]
+sub eax, dword [ebp + 0xc]
+jle short loc_00455be4 ; jle 0x455be4
+sub dword [ebp - 0x10], eax
+
+loc_00455be4:
+movzx eax, word [esi]
+mov ebx, eax
+mul dword [ebp - 8]
+add eax, dword [ebp - 4]
+mov esi, dword [esi + 8]
+lea esi, [esi + eax*2]
+sub ebx, dword [ebp - 0xc]
+add ebx, ebx
+mov dword [ebp - 4], ebx
+mov eax, dword [ebp + 8]
+sub eax, dword [ebp - 0xc]
+add eax, eax
+mov dword [ebp - 8], eax
+mov edi, dword [ebp + 0x1c]
+imul edi, dword [ebp + 8]
+add edi, dword [ebp + 0x18]
+add edi, edi
+add edi, dword [ebp + 0x10]
+mov eax, dword [ebp - 0xc]
+mov ebx, dword [ebp - 0x10]
+mov edx, dword [ebp - 4]
+mov ebp, dword [ebp - 8]
+or eax, eax
+je short loc_00455c47 ; je 0x455c47
+
+loc_00455c27:
+mov ecx, eax
+test edi, 3
+je short loc_00455c34 ; je 0x455c34
+db 0x66, 0xa5 ; movsw word es:[edi], word ptr [esi]
+dec ecx
+
+loc_00455c34:
+shr ecx, 1
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+adc ecx, 0
+db 0xf3, 0x66, 0xa5 ; rep movsw word es:[edi], word ptr [esi]
+add esi, edx
+add edi, ebp
+dec ebx
+jne short loc_00455c27 ; jne 0x455c27
+xor ebx, ebx
+
+loc_00455c47:
+mov eax, ebx
+pop edi
+pop esi
+pop ecx
+pop ebx
+add esp, 0x10
+pop ebp
+ret
+
+fcn_00455c52:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+push ebx
+push ecx
+push esi
+push edi
+mov ebx, 1
+mov esi, dword [ebp + 0x14]
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x18], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x1c], eax
+cmp dword [ebp + 0x20], 1
+je near loc_00455d12 ; je 0x455d12
+mov eax, dword [ebp + 0x18]
+cmp eax, dword [ebp + 8]
+jge near loc_00455e19 ; jge 0x455e19
+movzx edx, word [esi]
+add eax, edx
+jle near loc_00455e19 ; jle 0x455e19
+mov eax, dword [ebp + 0x1c]
+cmp eax, dword [ebp + 0xc]
+jge near loc_00455e19 ; jge 0x455e19
+movzx edx, word [esi + 2]
+add eax, edx
+jle near loc_00455e19 ; jle 0x455e19
+mov dword [ebp - 4], 0
+mov dword [ebp - 8], 0
+movzx eax, word [esi]
+mov dword [ebp - 0xc], eax
+mov ax, word [esi + 2]
+mov dword [ebp - 0x10], eax
+xor eax, eax
+cmp dword [ebp + 0x18], eax
+jge short loc_00455cd8 ; jge 0x455cd8
+xchg dword [ebp + 0x18], eax
+sub dword [ebp - 4], eax
+add dword [ebp - 0xc], eax
+jmp short loc_00455ce6 ; jmp 0x455ce6
+
+loc_00455cd8:
+mov eax, dword [ebp - 0xc]
+add eax, dword [ebp + 0x18]
+sub eax, dword [ebp + 8]
+jle short loc_00455ce6 ; jle 0x455ce6
+sub dword [ebp - 0xc], eax
+
+loc_00455ce6:
+xor eax, eax
+cmp dword [ebp + 0x1c], eax
+jge short loc_00455cfb ; jge 0x455cfb
+xchg dword [ebp + 0x1c], eax
+sub dword [ebp - 8], eax
+add dword [ebp - 0x10], eax
+jmp near loc_00455dc4 ; jmp 0x455dc4
+
+loc_00455cfb:
+mov eax, dword [ebp - 0x10]
+add eax, dword [ebp + 0x1c]
+sub eax, dword [ebp + 0xc]
+jle near loc_00455dc4 ; jle 0x455dc4
+sub dword [ebp - 0x10], eax
+jmp near loc_00455dc4 ; jmp 0x455dc4
+
+loc_00455d12:
+mov eax, dword [ebp + 0x18]
+cmp eax, dword [ref_004861c0] ; cmp eax, dword [0x4861c0]
+jge near loc_00455e19 ; jge 0x455e19
+movzx edx, word [esi]
+add eax, edx
+cmp eax, dword [ref_004861b8] ; cmp eax, dword [0x4861b8]
+jle near loc_00455e19 ; jle 0x455e19
+mov eax, dword [ebp + 0x1c]
+cmp eax, dword [ref_004861c4] ; cmp eax, dword [0x4861c4]
+jge near loc_00455e19 ; jge 0x455e19
+movzx edx, word [esi + 2]
+add eax, edx
+cmp eax, dword [ref_004861bc] ; cmp eax, dword [0x4861bc]
+jle near loc_00455e19 ; jle 0x455e19
+mov dword [ebp - 4], 0
+mov dword [ebp - 8], 0
+movzx eax, word [esi]
+mov dword [ebp - 0xc], eax
+mov ax, word [esi + 2]
+mov dword [ebp - 0x10], eax
+mov eax, dword [ref_004861b8] ; mov eax, dword [0x4861b8]
+cmp dword [ebp + 0x18], eax
+jge short loc_00455d88 ; jge 0x455d88
+mov edx, dword [ebp + 0x18]
+mov dword [ebp + 0x18], eax
+sub eax, edx
+add dword [ebp - 4], eax
+sub dword [ebp - 0xc], eax
+jmp short loc_00455d99 ; jmp 0x455d99
+
+loc_00455d88:
+mov eax, dword [ebp - 0xc]
+add eax, dword [ebp + 0x18]
+sub eax, dword [ref_004861c0] ; sub eax, dword [0x4861c0]
+jle short loc_00455d99 ; jle 0x455d99
+sub dword [ebp - 0xc], eax
+
+loc_00455d99:
+mov eax, dword [ref_004861bc] ; mov eax, dword [0x4861bc]
+cmp dword [ebp + 0x1c], eax
+jge short loc_00455db3 ; jge 0x455db3
+mov edx, dword [ebp + 0x1c]
+mov dword [ebp + 0x1c], eax
+sub eax, edx
+add dword [ebp - 8], eax
+sub dword [ebp - 0x10], eax
+jmp short loc_00455dc4 ; jmp 0x455dc4
+
+loc_00455db3:
+mov eax, dword [ebp - 0x10]
+add eax, dword [ebp + 0x1c]
+sub eax, dword [ref_004861c4] ; sub eax, dword [0x4861c4]
+jle short loc_00455dc4 ; jle 0x455dc4
+sub dword [ebp - 0x10], eax
+
+loc_00455dc4:
+movzx eax, word [esi]
+mov ebx, eax
+mul dword [ebp - 8]
+add eax, dword [ebp - 4]
+mov esi, dword [esi + 8]
+lea esi, [esi + eax*2]
+sub ebx, dword [ebp - 0xc]
+add ebx, ebx
+mov dword [ebp - 4], ebx
+mov eax, dword [ebp + 8]
+sub eax, dword [ebp - 0xc]
+add eax, eax
+mov dword [ebp - 8], eax
+mov edi, dword [ebp + 0x1c]
+imul edi, dword [ebp + 8]
+add edi, dword [ebp + 0x18]
+add edi, edi
+add edi, dword [ebp + 0x10]
+mov edx, dword [ebp - 0xc]
+mov ebx, dword [ebp - 0x10]
+
+loc_00455dfd:
+mov ecx, edx
+
+loc_00455dff:
+db 0x66, 0xad ; lodsw ax, word [esi]
+or ax, ax
+je short loc_00455e09 ; je 0x455e09
+mov word [edi], ax
+
+loc_00455e09:
+add edi, 2
+loop loc_00455dff ; loop 0x455dff
+add esi, dword [ebp - 4]
+add edi, dword [ebp - 8]
+dec ebx
+jne short loc_00455dfd ; jne 0x455dfd
+xor ebx, ebx
+
+loc_00455e19:
+mov eax, ebx
+pop edi
+pop esi
+pop ecx
+pop ebx
+add esp, 0x10
+pop ebp
+ret
+
+fcn_00455e24:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 0xc]
+mov esi, dword [ebp + 0x10]
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x14], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x18], eax
+test dword [ebp + 0x2c], 1
+jne near loc_00455edc ; jne 0x455edc
+mov eax, dword [ebp + 0x14]
+mov ebx, eax
+cmp eax, 0x280
+jge near loc_00455fd3 ; jge 0x455fd3
+mov edx, dword [ebp + 0x24]
+add eax, edx
+jle near loc_00455fd3 ; jle 0x455fd3
+lea eax, [ebx + edx]
+cmp eax, 0x280
+jle short loc_00455e7b ; jle 0x455e7b
+sub eax, 0x280
+sub dword [ebp + 0x24], eax
+jmp short loc_00455e8e ; jmp 0x455e8e
+
+loc_00455e7b:
+cmp eax, edx
+jge short loc_00455e8e ; jge 0x455e8e
+mov dword [ebp + 0x24], eax
+sub edx, eax
+add dword [ebp + 0x1c], edx
+mov dword [ebp + 0x14], 0
+
+loc_00455e8e:
+mov eax, dword [ebp + 0x18]
+mov ebx, eax
+cmp eax, 0x1e0
+jge near loc_00455fd3 ; jge 0x455fd3
+mov edx, dword [ebp + 0x28]
+add eax, edx
+jle near loc_00455fd3 ; jle 0x455fd3
+lea eax, [ebx + edx]
+cmp eax, 0x1e0
+jle short loc_00455ec0 ; jle 0x455ec0
+sub eax, 0x1e0
+sub dword [ebp + 0x28], eax
+jmp near loc_00455f80 ; jmp 0x455f80
+
+loc_00455ec0:
+cmp eax, edx
+jge near loc_00455f80 ; jge 0x455f80
+mov dword [ebp + 0x28], eax
+sub edx, eax
+add dword [ebp + 0x20], edx
+mov dword [ebp + 0x18], 0
+jmp near loc_00455f80 ; jmp 0x455f80
+
+loc_00455edc:
+mov eax, dword [ebp + 0x14]
+mov ebx, eax
+cmp eax, dword [ref_004861c0] ; cmp eax, dword [0x4861c0]
+jge near loc_00455fd3 ; jge 0x455fd3
+mov edx, dword [ebp + 0x24]
+add eax, edx
+cmp eax, dword [ref_004861b8] ; cmp eax, dword [0x4861b8]
+jle near loc_00455fd3 ; jle 0x455fd3
+lea eax, [ebx + edx]
+cmp eax, dword [ref_004861c0] ; cmp eax, dword [0x4861c0]
+jle short loc_00455f14 ; jle 0x455f14
+sub eax, dword [ref_004861c0] ; sub eax, dword [0x4861c0]
+sub dword [ebp + 0x24], eax
+jmp short loc_00455f2e ; jmp 0x455f2e
+
+loc_00455f14:
+sub eax, dword [ref_004861b8] ; sub eax, dword [0x4861b8]
+cmp eax, edx
+jge short loc_00455f2e ; jge 0x455f2e
+mov dword [ebp + 0x24], eax
+sub edx, eax
+add dword [ebp + 0x1c], edx
+mov eax, dword [ref_004861b8] ; mov eax, dword [0x4861b8]
+mov dword [ebp + 0x14], eax
+
+loc_00455f2e:
+mov eax, dword [ebp + 0x18]
+mov ebx, eax
+cmp eax, dword [ref_004861c4] ; cmp eax, dword [0x4861c4]
+jge near loc_00455fd3 ; jge 0x455fd3
+mov edx, dword [ebp + 0x28]
+add eax, edx
+cmp eax, dword [ref_004861bc] ; cmp eax, dword [0x4861bc]
+jle near loc_00455fd3 ; jle 0x455fd3
+lea eax, [ebx + edx]
+cmp eax, dword [ref_004861c4] ; cmp eax, dword [0x4861c4]
+jle short loc_00455f66 ; jle 0x455f66
+sub eax, dword [ref_004861c4] ; sub eax, dword [0x4861c4]
+sub dword [ebp + 0x28], eax
+jmp short loc_00455f80 ; jmp 0x455f80
+
+loc_00455f66:
+sub eax, dword [ref_004861bc] ; sub eax, dword [0x4861bc]
+cmp eax, edx
+jge short loc_00455f80 ; jge 0x455f80
+mov dword [ebp + 0x28], eax
+sub edx, eax
+add dword [ebp + 0x20], edx
+mov eax, dword [ref_004861bc] ; mov eax, dword [0x4861bc]
+mov dword [ebp + 0x18], eax
+
+loc_00455f80:
+movzx edx, word [esi]
+mov ebx, edx
+imul ebx, dword [ebp + 0x20]
+add ebx, dword [ebp + 0x1c]
+mov esi, dword [esi + 8]
+lea esi, [esi + ebx*2]
+mov eax, dword [ebp + 8]
+mov ebx, eax
+imul ebx, dword [ebp + 0x18]
+add ebx, dword [ebp + 0x14]
+lea edi, [edi + ebx*2]
+mov ecx, dword [ebp + 0x24]
+jecxz loc_00455fd3 ; jecxz 0x455fd3
+mov ebx, dword [ebp + 0x28]
+mov ebp, eax
+sub ebp, ecx
+add ebp, ebp
+sub edx, ecx
+add edx, edx
+mov eax, ecx
+
+loc_00455fb5:
+mov ecx, eax
+test edi, 3
+je short loc_00455fc2 ; je 0x455fc2
+db 0x66, 0xa5 ; movsw word es:[edi], word ptr [esi]
+dec ecx
+
+loc_00455fc2:
+shr ecx, 1
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+adc ecx, 0
+db 0xf3, 0x66, 0xa5 ; rep movsw word es:[edi], word ptr [esi]
+add esi, edx
+add edi, ebp
+dec ebx
+jne short loc_00455fb5 ; jne 0x455fb5
+
+loc_00455fd3:
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00455fd9:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 0xc]
+mov esi, dword [ebp + 0x10]
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x14], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x18], eax
+test dword [ebp + 0x2c], 1
+jne near loc_00456091 ; jne 0x456091
+mov eax, dword [ebp + 0x14]
+mov ebx, eax
+cmp eax, 0x280
+jge near loc_0045617a ; jge 0x45617a
+mov edx, dword [ebp + 0x24]
+add eax, edx
+jle near loc_0045617a ; jle 0x45617a
+lea eax, [ebx + edx]
+cmp eax, 0x280
+jle short loc_00456030 ; jle 0x456030
+sub eax, 0x280
+sub dword [ebp + 0x24], eax
+jmp short loc_00456043 ; jmp 0x456043
+
+loc_00456030:
+cmp eax, edx
+jge short loc_00456043 ; jge 0x456043
+mov dword [ebp + 0x24], eax
+sub edx, eax
+add dword [ebp + 0x1c], edx
+mov dword [ebp + 0x14], 0
+
+loc_00456043:
+mov eax, dword [ebp + 0x18]
+mov ebx, eax
+cmp eax, 0x1e0
+jge near loc_0045617a ; jge 0x45617a
+mov edx, dword [ebp + 0x28]
+add eax, edx
+jle near loc_0045617a ; jle 0x45617a
+lea eax, [ebx + edx]
+cmp eax, 0x1e0
+jle short loc_00456075 ; jle 0x456075
+sub eax, 0x1e0
+sub dword [ebp + 0x28], eax
+jmp near loc_00456131 ; jmp 0x456131
+
+loc_00456075:
+cmp eax, edx
+jge near loc_00456131 ; jge 0x456131
+mov dword [ebp + 0x28], eax
+sub edx, eax
+add dword [ebp + 0x20], edx
+mov dword [ebp + 0x18], 0
+jmp near loc_00456131 ; jmp 0x456131
+
+loc_00456091:
+mov eax, dword [ebp + 0x14]
+mov ebx, eax
+cmp eax, dword [ref_004861c0] ; cmp eax, dword [0x4861c0]
+jge near loc_0045617a ; jge 0x45617a
+mov edx, dword [ebp + 0x24]
+add eax, edx
+cmp eax, dword [ref_004861b8] ; cmp eax, dword [0x4861b8]
+jle near loc_0045617a ; jle 0x45617a
+lea eax, [ebx + edx]
+cmp eax, dword [ref_004861c0] ; cmp eax, dword [0x4861c0]
+jle short loc_004560c9 ; jle 0x4560c9
+sub eax, dword [ref_004861c0] ; sub eax, dword [0x4861c0]
+sub dword [ebp + 0x24], eax
+jmp short loc_004560e3 ; jmp 0x4560e3
+
+loc_004560c9:
+sub eax, dword [ref_004861b8] ; sub eax, dword [0x4861b8]
+cmp eax, edx
+jge short loc_004560e3 ; jge 0x4560e3
+mov dword [ebp + 0x24], eax
+sub edx, eax
+add dword [ebp + 0x1c], edx
+mov eax, dword [ref_004861b8] ; mov eax, dword [0x4861b8]
+mov dword [ebp + 0x14], eax
+
+loc_004560e3:
+mov eax, dword [ebp + 0x18]
+mov ebx, eax
+cmp eax, dword [ref_004861c4] ; cmp eax, dword [0x4861c4]
+jge near loc_0045617a ; jge 0x45617a
+mov edx, dword [ebp + 0x28]
+add eax, edx
+cmp eax, dword [ref_004861bc] ; cmp eax, dword [0x4861bc]
+jle short loc_0045617a ; jle 0x45617a
+lea eax, [ebx + edx]
+cmp eax, dword [ref_004861c4] ; cmp eax, dword [0x4861c4]
+jle short loc_00456117 ; jle 0x456117
+sub eax, dword [ref_004861c4] ; sub eax, dword [0x4861c4]
+sub dword [ebp + 0x28], eax
+jmp short loc_00456131 ; jmp 0x456131
+
+loc_00456117:
+sub eax, dword [ref_004861bc] ; sub eax, dword [0x4861bc]
+cmp eax, edx
+jge short loc_00456131 ; jge 0x456131
+mov dword [ebp + 0x28], eax
+sub edx, eax
+add dword [ebp + 0x20], edx
+mov eax, dword [ref_004861bc] ; mov eax, dword [0x4861bc]
+mov dword [ebp + 0x18], eax
+
+loc_00456131:
+movzx edx, word [esi]
+mov ebx, edx
+imul ebx, dword [ebp + 0x20]
+add ebx, dword [ebp + 0x1c]
+mov esi, dword [esi + 8]
+lea esi, [esi + ebx*2]
+mov eax, dword [ebp + 8]
+mov ebx, eax
+imul ebx, dword [ebp + 0x18]
+add ebx, dword [ebp + 0x14]
+lea edi, [edi + ebx*2]
+mov ecx, dword [ebp + 0x24]
+mov ebx, dword [ebp + 0x28]
+mov ebp, eax
+sub ebp, ecx
+add ebp, ebp
+sub edx, ecx
+add edx, edx
+
+loc_00456162:
+push ecx
+
+loc_00456163:
+db 0x66, 0xad ; lodsw ax, word [esi]
+or ax, ax
+je short loc_0045616d ; je 0x45616d
+mov word [edi], ax
+
+loc_0045616d:
+add edi, 2
+loop loc_00456163 ; loop 0x456163
+pop ecx
+add esi, edx
+add edi, ebp
+dec ebx
+jne short loc_00456162 ; jne 0x456162
+
+loc_0045617a:
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00456180:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov ebx, dword [ebp + 0xc]
+mov edx, dword [ebp + 0x10]
+mov ebp, 0x500
+sub ebp, edx
+shr ebp, 2
+shr edx, 2
+mov eax, 0x1e0
+
+loc_004561a2:
+mov ecx, ebp
+lea esi, [ebx + edx*4]
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+mov ecx, edx
+mov esi, ebx
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+add ebx, 0x500
+dec eax
+jne short loc_004561a2 ; jne 0x4561a2
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_004561be:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+push dword [ebp + 0x1c]
+call fcn_004551f0 ; call 0x4551f0
+add esp, 4
+mov bx, ax
+shl eax, 0x10
+mov ax, bx
+mov edi, dword [ebp + 8]
+movzx edx, word [edi]
+mov ecx, edx
+imul ecx, dword [ebp + 0x10]
+add ecx, dword [ebp + 0xc]
+mov edi, dword [edi + 8]
+lea edi, [edi + ecx*2]
+mov esi, dword [ebp + 0x14]
+mov ebx, dword [ebp + 0x18]
+sub edx, esi
+add edx, edx
+
+loc_004561f8:
+mov ecx, esi
+shr ecx, 1
+rep stosd ; rep stosd dword es:[edi], eax
+adc ecx, 0
+db 0xf3, 0x66, 0xab ; rep stosw word es:[edi], ax
+add edi, edx
+dec ebx
+jne short loc_004561f8 ; jne 0x4561f8
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_0045620f:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+push dword [ebp + 0x1c]
+call fcn_004551f0 ; call 0x4551f0
+add esp, 4
+mov bx, ax
+shl eax, 0x10
+mov ax, bx
+mov edi, dword [ebp + 8]
+movzx edx, word [edi]
+mov ecx, edx
+imul ecx, dword [ebp + 0x10]
+add ecx, dword [ebp + 0xc]
+mov edi, dword [edi + 8]
+lea edi, [edi + ecx*2]
+mov esi, dword [ebp + 0x14]
+mov ebx, dword [ebp + 0x18]
+add edx, edx
+mov ecx, esi
+shr ecx, 1
+push edi
+rep stosd ; rep stosd dword es:[edi], eax
+adc ecx, 0
+db 0xf3, 0x66, 0xab ; rep stosw word es:[edi], ax
+pop edi
+add edi, edx
+dec ebx
+lea ecx, [esi - 1]
+add ecx, ecx
+
+loc_0045625d:
+cmp ebx, 1
+je short loc_0045626e ; je 0x45626e
+mov word [edi], ax
+mov word [edi + ecx], ax
+add edi, edx
+dec ebx
+jmp short loc_0045625d ; jmp 0x45625d
+
+loc_0045626e:
+mov ecx, esi
+shr ecx, 1
+rep stosd ; rep stosd dword es:[edi], eax
+adc ecx, 0
+db 0xf3, 0x66, 0xab ; rep stosw word es:[edi], ax
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00456280:
+push ebp
+mov ebp, esp
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+mov edx, dword [ebp + 8]
+push dword [edx + 8]
+movzx eax, word [edx + 2]
+push eax
+movzx eax, word [edx]
+push eax
+call fcn_00455b3a ; call 0x455b3a
+add esp, 0x18
+pop ebp
+ret
+
+fcn_004562a5:
+push ebp
+mov ebp, esp
+push 0
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+mov edx, dword [ebp + 8]
+push dword [edx + 8]
+movzx eax, word [edx + 2]
+push eax
+movzx eax, word [edx]
+push eax
+call fcn_00455c52 ; call 0x455c52
+add esp, 0x1c
+pop ebp
+ret
+
+fcn_004562cc:
+push ebp
+mov ebp, esp
+push 0
+push dword [ebp + 0x24]
+push dword [ebp + 0x20]
+push dword [ebp + 0x1c]
+push dword [ebp + 0x18]
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+mov edx, dword [ebp + 8]
+push dword [edx + 8]
+movzx eax, word [edx]
+push eax
+call fcn_00455e24 ; call 0x455e24
+add esp, 0x28
+pop ebp
+ret
+
+fcn_004562fa:
+push ebp
+mov ebp, esp
+push 1
+push dword [ebp + 0x24]
+push dword [ebp + 0x20]
+push dword [ebp + 0x1c]
+push dword [ebp + 0x18]
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+mov edx, dword [ebp + 8]
+push dword [edx + 8]
+movzx eax, word [edx]
+push eax
+call fcn_00455e24 ; call 0x455e24
+add esp, 0x28
+pop ebp
+ret
+
+fcn_00456328:
+push ebp
+mov ebp, esp
+push 0
+push dword [ebp + 0x24]
+push dword [ebp + 0x20]
+push dword [ebp + 0x1c]
+push dword [ebp + 0x18]
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+mov edx, dword [ebp + 8]
+push dword [edx + 8]
+movzx eax, word [edx]
+push eax
+call fcn_00455fd9 ; call 0x455fd9
+add esp, 0x28
+pop ebp
+ret
+
+fcn_00456356:
+push ebp
+mov ebp, esp
+push 1
+push dword [ebp + 0x24]
+push dword [ebp + 0x20]
+push dword [ebp + 0x1c]
+push dword [ebp + 0x18]
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+mov edx, dword [ebp + 8]
+push dword [edx + 8]
+movzx eax, word [edx]
+push eax
+call fcn_00455fd9 ; call 0x455fd9
+add esp, 0x28
+pop ebp
+ret
+
+fcn_00456384:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+push dword [ebp + 0x18]
+call fcn_004551f0 ; call 0x4551f0
+add esp, 4
+mov dword [ebp + 0x18], eax
+mov esi, dword [ebp + 0xc]
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x10], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x14], eax
+mov edi, dword [ebp + 8]
+movzx eax, word [edi]
+mov ebx, eax
+mul dword [ebp + 0x14]
+add eax, dword [ebp + 0x10]
+mov edi, dword [edi + 8]
+lea edi, [edi + eax*2]
+movzx edx, word [esi]
+sub ebx, edx
+add ebx, ebx
+mov dword [ebp + 0x10], ebx
+movzx ebx, word [esi + 2]
+mov dword [ebp + 0x14], ebx
+mov bx, word [ebp + 0x18]
+mov esi, dword [esi + 8]
+
+loc_004563d6:
+mov ecx, edx
+
+loc_004563d8:
+db 0x66, 0xad ; lodsw ax, word [esi]
+or ax, ax
+je short loc_004563e2 ; je 0x4563e2
+mov word [edi], bx
+
+loc_004563e2:
+add edi, 2
+loop loc_004563d8 ; loop 0x4563d8
+add edi, dword [ebp + 0x10]
+dec dword [ebp + 0x14]
+jne short loc_004563d6 ; jne 0x4563d6
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_004563f5:
+push ebp
+mov ebp, esp
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+push dword [ebp + 8]
+push 0x1e0
+push 0x280
+call fcn_00455b3a ; call 0x455b3a
+add esp, 0x18
+pop ebp
+ret
+
+fcn_00456418:
+push ebp
+mov ebp, esp
+push 0
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+push dword [ebp + 8]
+push 0x1e0
+push 0x280
+call fcn_00455c52 ; call 0x455c52
+add esp, 0x1c
+pop ebp
+ret
+
+fcn_0045643d:
+push ebp
+mov ebp, esp
+push 0
+push dword [ebp + 0x24]
+push dword [ebp + 0x20]
+push dword [ebp + 0x1c]
+push dword [ebp + 0x18]
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+push dword [ebp + 8]
+push 0x280
+call fcn_00455e24 ; call 0x455e24
+add esp, 0x28
+pop ebp
+ret
+
+fcn_00456469:
+push ebp
+mov ebp, esp
+push 1
+push dword [ebp + 0x24]
+push dword [ebp + 0x20]
+push dword [ebp + 0x1c]
+push dword [ebp + 0x18]
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+push dword [ebp + 8]
+push 0x280
+call fcn_00455e24 ; call 0x455e24
+add esp, 0x28
+pop ebp
+ret
+
+fcn_00456495:
+push ebp
+mov ebp, esp
+push 0
+push dword [ebp + 0x24]
+push dword [ebp + 0x20]
+push dword [ebp + 0x1c]
+push dword [ebp + 0x18]
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+push dword [ebp + 8]
+push 0x280
+call fcn_00455fd9 ; call 0x455fd9
+add esp, 0x28
+pop ebp
+ret
+
+fcn_004564c1:
+push ebp
+mov ebp, esp
+push 1
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+push dword [ebp + 8]
+push 0x1e0
+push 0x280
+call fcn_00455c52 ; call 0x455c52
+add esp, 0x1c
+pop ebp
+ret
+
+fcn_004564e6:
+push ebp
+mov ebp, esp
+push 1
+push dword [ebp + 0x24]
+push dword [ebp + 0x20]
+push dword [ebp + 0x1c]
+push dword [ebp + 0x18]
+push dword [ebp + 0x14]
+push dword [ebp + 0x10]
+push dword [ebp + 0xc]
+push dword [ebp + 8]
+push 0x280
+call fcn_00455fd9 ; call 0x455fd9
+add esp, 0x28
+pop ebp
+ret
+
+fcn_00456512:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+push ebx
+push ecx
+push esi
+push edi
+mov ebx, 1
+mov eax, dword [ebp + 0x10]
+lea esi, [eax*4]
+lea esi, [esi + eax*8]
+mov eax, dword [ebp + 0xc]
+lea esi, [esi + eax + 0xc]
+mov edx, dword [eax + 8]
+add edx, eax
+mov dword [ebp + 0x10], edx
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x14], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x18], eax
+mov eax, dword [ebp + 0x14]
+cmp eax, 0x280
+jge near loc_00456633 ; jge 0x456633
+movzx edx, word [esi]
+add eax, edx
+jle near loc_00456633 ; jle 0x456633
+mov eax, dword [ebp + 0x18]
+cmp eax, 0x1e0
+jge near loc_00456633 ; jge 0x456633
+movzx edx, word [esi + 2]
+add eax, edx
+jle near loc_00456633 ; jle 0x456633
+mov dword [ebp - 4], 0
+mov dword [ebp - 8], 0
+movzx eax, word [esi]
+mov dword [ebp - 0xc], eax
+mov ax, word [esi + 2]
+mov dword [ebp - 0x10], eax
+xor eax, eax
+cmp dword [ebp + 0x14], eax
+jge short loc_004565ab ; jge 0x4565ab
+xchg dword [ebp + 0x14], eax
+sub dword [ebp - 4], eax
+add dword [ebp - 0xc], eax
+jmp short loc_004565bb ; jmp 0x4565bb
+
+loc_004565ab:
+mov eax, dword [ebp - 0xc]
+add eax, dword [ebp + 0x14]
+sub eax, 0x280
+jle short loc_004565bb ; jle 0x4565bb
+sub dword [ebp - 0xc], eax
+
+loc_004565bb:
+xor eax, eax
+cmp dword [ebp + 0x18], eax
+jge short loc_004565cd ; jge 0x4565cd
+xchg dword [ebp + 0x18], eax
+sub dword [ebp - 8], eax
+add dword [ebp - 0x10], eax
+jmp short loc_004565dd ; jmp 0x4565dd
+
+loc_004565cd:
+mov eax, dword [ebp - 0x10]
+add eax, dword [ebp + 0x18]
+sub eax, 0x1e0
+jle short loc_004565dd ; jle 0x4565dd
+sub dword [ebp - 0x10], eax
+
+loc_004565dd:
+movzx eax, word [esi]
+mov ebx, eax
+mul dword [ebp - 8]
+add eax, dword [ebp - 4]
+mov esi, dword [esi + 8]
+add esi, eax
+sub ebx, dword [ebp - 0xc]
+mov dword [ebp - 4], ebx
+mov eax, 0x280
+sub eax, dword [ebp - 0xc]
+add eax, eax
+mov dword [ebp - 8], eax
+mov edi, dword [ebp + 0x18]
+imul edi, edi, 0x280
+add edi, dword [ebp + 0x14]
+add edi, edi
+add edi, dword [ebp + 8]
+mov ebx, dword [ebp - 0x10]
+mov edx, dword [ebp + 0x10]
+
+loc_00456617:
+mov ecx, dword [ebp - 0xc]
+
+loc_0045661a:
+lodsb ; lodsb al, byte [esi]
+and eax, 0xff
+mov ax, word [edx + eax*2]
+db 0x66, 0xab ; stosw word es:[edi], ax
+loop loc_0045661a ; loop 0x45661a
+add esi, dword [ebp - 4]
+add edi, dword [ebp - 8]
+dec ebx
+jne short loc_00456617 ; jne 0x456617
+xor ebx, ebx
+
+loc_00456633:
+mov eax, ebx
+pop edi
+pop esi
+pop ecx
+pop ebx
+add esp, 0x10
+pop ebp
+ret
+
+fcn_0045663e:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+push ebx
+push ecx
+push esi
+push edi
+mov ebx, 1
+mov eax, dword [ebp + 0x10]
+lea esi, [eax*4]
+lea esi, [esi + eax*8]
+mov eax, dword [ebp + 0xc]
+lea esi, [esi + eax + 0xc]
+mov edx, dword [eax + 8]
+add edx, eax
+mov dword [ebp + 0x10], edx
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x14], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x18], eax
+mov eax, dword [ebp + 0x14]
+cmp eax, 0x280
+jge near loc_00456765 ; jge 0x456765
+movzx edx, word [esi]
+add eax, edx
+jle near loc_00456765 ; jle 0x456765
+mov eax, dword [ebp + 0x18]
+cmp eax, 0x1e0
+jge near loc_00456765 ; jge 0x456765
+movzx edx, word [esi + 2]
+add eax, edx
+jle near loc_00456765 ; jle 0x456765
+mov dword [ebp - 4], 0
+mov dword [ebp - 8], 0
+movzx eax, word [esi]
+mov dword [ebp - 0xc], eax
+mov ax, word [esi + 2]
+mov dword [ebp - 0x10], eax
+xor eax, eax
+cmp dword [ebp + 0x14], eax
+jge short loc_004566d7 ; jge 0x4566d7
+xchg dword [ebp + 0x14], eax
+sub dword [ebp - 4], eax
+add dword [ebp - 0xc], eax
+jmp short loc_004566e7 ; jmp 0x4566e7
+
+loc_004566d7:
+mov eax, dword [ebp - 0xc]
+add eax, dword [ebp + 0x14]
+sub eax, 0x280
+jle short loc_004566e7 ; jle 0x4566e7
+sub dword [ebp - 0xc], eax
+
+loc_004566e7:
+xor eax, eax
+cmp dword [ebp + 0x18], eax
+jge short loc_004566f9 ; jge 0x4566f9
+xchg dword [ebp + 0x18], eax
+sub dword [ebp - 8], eax
+add dword [ebp - 0x10], eax
+jmp short loc_00456709 ; jmp 0x456709
+
+loc_004566f9:
+mov eax, dword [ebp - 0x10]
+add eax, dword [ebp + 0x18]
+sub eax, 0x1e0
+jle short loc_00456709 ; jle 0x456709
+sub dword [ebp - 0x10], eax
+
+loc_00456709:
+movzx eax, word [esi]
+mov ebx, eax
+mul dword [ebp - 8]
+add eax, dword [ebp - 4]
+mov esi, dword [esi + 8]
+add esi, eax
+sub ebx, dword [ebp - 0xc]
+mov dword [ebp - 4], ebx
+mov eax, 0x280
+sub eax, dword [ebp - 0xc]
+add eax, eax
+mov dword [ebp - 8], eax
+mov edi, dword [ebp + 0x18]
+imul edi, edi, 0x280
+add edi, dword [ebp + 0x14]
+add edi, edi
+add edi, dword [ebp + 8]
+mov ebx, dword [ebp - 0x10]
+mov edx, dword [ebp + 0x10]
+
+loc_00456743:
+mov ecx, dword [ebp - 0xc]
+
+loc_00456746:
+lodsb ; lodsb al, byte [esi]
+and eax, 0xff
+je short loc_00456755 ; je 0x456755
+mov ax, word [edx + eax*2]
+mov word [edi], ax
+
+loc_00456755:
+add edi, 2
+loop loc_00456746 ; loop 0x456746
+add esi, dword [ebp - 4]
+add edi, dword [ebp - 8]
+dec ebx
+jne short loc_00456743 ; jne 0x456743
+xor ebx, ebx
+
+loc_00456765:
+mov eax, ebx
+pop edi
+pop esi
+pop ecx
+pop ebx
+add esp, 0x10
+pop ebp
+ret
+
+fcn_00456770:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+push ebx
+push ecx
+push esi
+push edi
+mov ebx, 1
+mov eax, dword [ebp + 0x10]
+lea esi, [eax*4]
+lea esi, [esi + eax*8]
+mov eax, dword [ebp + 0xc]
+lea esi, [esi + eax + 0xc]
+mov edx, dword [eax + 8]
+add edx, eax
+mov dword [ebp + 0x10], edx
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x14], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x18], eax
+mov eax, dword [ebp + 0x14]
+cmp eax, dword [ref_004861c0] ; cmp eax, dword [0x4861c0]
+jge near loc_004568b7 ; jge 0x4568b7
+movzx edx, word [esi]
+add eax, edx
+cmp eax, dword [ref_004861b8] ; cmp eax, dword [0x4861b8]
+jle near loc_004568b7 ; jle 0x4568b7
+mov eax, dword [ebp + 0x18]
+cmp eax, dword [ref_004861c4] ; cmp eax, dword [0x4861c4]
+jge near loc_004568b7 ; jge 0x4568b7
+movzx edx, word [esi + 2]
+add eax, edx
+cmp eax, dword [ref_004861bc] ; cmp eax, dword [0x4861bc]
+jle near loc_004568b7 ; jle 0x4568b7
+mov dword [ebp - 4], 0
+mov dword [ebp - 8], 0
+movzx eax, word [esi]
+mov dword [ebp - 0xc], eax
+mov ax, word [esi + 2]
+mov dword [ebp - 0x10], eax
+mov eax, dword [ref_004861b8] ; mov eax, dword [0x4861b8]
+cmp dword [ebp + 0x14], eax
+jge short loc_0045681f ; jge 0x45681f
+mov edx, dword [ebp + 0x14]
+mov dword [ebp + 0x14], eax
+sub eax, edx
+add dword [ebp - 4], eax
+sub dword [ebp - 0xc], eax
+jmp short loc_00456830 ; jmp 0x456830
+
+loc_0045681f:
+mov eax, dword [ebp - 0xc]
+add eax, dword [ebp + 0x14]
+sub eax, dword [ref_004861c0] ; sub eax, dword [0x4861c0]
+jle short loc_00456830 ; jle 0x456830
+sub dword [ebp - 0xc], eax
+
+loc_00456830:
+mov eax, dword [ref_004861bc] ; mov eax, dword [0x4861bc]
+cmp dword [ebp + 0x18], eax
+jge short loc_0045684a ; jge 0x45684a
+mov edx, dword [ebp + 0x18]
+mov dword [ebp + 0x18], eax
+sub eax, edx
+add dword [ebp - 8], eax
+sub dword [ebp - 0x10], eax
+jmp short loc_0045685b ; jmp 0x45685b
+
+loc_0045684a:
+mov eax, dword [ebp - 0x10]
+add eax, dword [ebp + 0x18]
+sub eax, dword [ref_004861c4] ; sub eax, dword [0x4861c4]
+jle short loc_0045685b ; jle 0x45685b
+sub dword [ebp - 0x10], eax
+
+loc_0045685b:
+movzx eax, word [esi]
+mov ebx, eax
+mul dword [ebp - 8]
+add eax, dword [ebp - 4]
+mov esi, dword [esi + 8]
+add esi, eax
+sub ebx, dword [ebp - 0xc]
+mov dword [ebp - 4], ebx
+mov eax, 0x280
+sub eax, dword [ebp - 0xc]
+add eax, eax
+mov dword [ebp - 8], eax
+mov edi, dword [ebp + 0x18]
+imul edi, edi, 0x280
+add edi, dword [ebp + 0x14]
+add edi, edi
+add edi, dword [ebp + 8]
+mov ebx, dword [ebp - 0x10]
+mov edx, dword [ebp + 0x10]
+
+loc_00456895:
+mov ecx, dword [ebp - 0xc]
+
+loc_00456898:
+lodsb ; lodsb al, byte [esi]
+and eax, 0xff
+je short loc_004568a7 ; je 0x4568a7
+mov ax, word [edx + eax*2]
+mov word [edi], ax
+
+loc_004568a7:
+add edi, 2
+loop loc_00456898 ; loop 0x456898
+add esi, dword [ebp - 4]
+add edi, dword [ebp - 8]
+dec ebx
+jne short loc_00456895 ; jne 0x456895
+xor ebx, ebx
+
+loc_004568b7:
+mov eax, ebx
+pop edi
+pop esi
+pop ecx
+pop ebx
+add esp, 0x10
+pop ebp
+ret
+
+fcn_004568c2:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+push ebx
+push ecx
+push esi
+push edi
+mov ebx, 1
+mov eax, dword [ebp + 0x10]
+lea esi, [eax*4]
+lea esi, [esi + eax*8]
+mov eax, dword [ebp + 0xc]
+lea esi, [esi + eax + 0xc]
+mov edx, dword [eax + 8]
+add edx, eax
+mov dword [ebp + 0x10], edx
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x14], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x18], eax
+mov eax, dword [ebp + 0x14]
+cmp eax, 0x280
+jge near loc_00456a11 ; jge 0x456a11
+movzx edx, word [esi]
+imul edx, dword [ebp + 0x1c]
+shr edx, 0x10
+mov dword [ebp - 0xc], edx
+add eax, edx
+jle near loc_00456a11 ; jle 0x456a11
+mov eax, dword [ebp + 0x18]
+cmp eax, 0x1e0
+jge near loc_00456a11 ; jge 0x456a11
+movzx edx, word [esi + 2]
+imul edx, dword [ebp + 0x1c]
+shr edx, 0x10
+mov dword [ebp - 0x10], edx
+add eax, edx
+jle near loc_00456a11 ; jle 0x456a11
+mov dword [ebp - 4], 0
+mov dword [ebp - 8], 0
+xor eax, eax
+cmp dword [ebp + 0x14], eax
+jge short loc_00456962 ; jge 0x456962
+xchg dword [ebp + 0x14], eax
+sub dword [ebp - 4], eax
+add dword [ebp - 0xc], eax
+jmp short loc_00456972 ; jmp 0x456972
+
+loc_00456962:
+mov eax, dword [ebp - 0xc]
+add eax, dword [ebp + 0x14]
+sub eax, 0x280
+jle short loc_00456972 ; jle 0x456972
+sub dword [ebp - 0xc], eax
+
+loc_00456972:
+xor eax, eax
+cmp dword [ebp + 0x18], eax
+jge short loc_00456984 ; jge 0x456984
+xchg dword [ebp + 0x18], eax
+sub dword [ebp - 8], eax
+add dword [ebp - 0x10], eax
+jmp short loc_00456994 ; jmp 0x456994
+
+loc_00456984:
+mov eax, dword [ebp - 0x10]
+add eax, dword [ebp + 0x18]
+sub eax, 0x1e0
+jle short loc_00456994 ; jle 0x456994
+sub dword [ebp - 0x10], eax
+
+loc_00456994:
+xor eax, eax
+mov edx, 1
+div dword [ebp + 0x1c]
+mov dword [ebp + 0x1c], eax
+mul dword [ebp - 4]
+shr eax, 0x10
+movzx ebx, word [esi]
+mov dword [ebp - 4], ebx
+mov esi, dword [esi + 8]
+add esi, eax
+shl dword [ebp - 8], 0x10
+mov edi, dword [ebp + 0x18]
+imul edi, edi, 0x280
+add edi, dword [ebp + 0x14]
+add edi, edi
+add edi, dword [ebp + 8]
+mov edx, dword [ebp + 0x10]
+
+loc_004569ca:
+push esi
+push edi
+mov eax, dword [ebp - 8]
+shr eax, 0x10
+imul eax, dword [ebp - 4]
+add esi, eax
+xor ebx, ebx
+mov ecx, dword [ebp - 0xc]
+
+loc_004569dd:
+shld eax, ebx, 0x10
+and eax, 0xff
+mov al, byte [esi + eax]
+or al, al
+je short loc_004569f4 ; je 0x4569f4
+mov ax, word [edx + eax*2]
+mov word [edi], ax
+
+loc_004569f4:
+add edi, 2
+add ebx, dword [ebp + 0x1c]
+loop loc_004569dd ; loop 0x4569dd
+pop edi
+pop esi
+add edi, 0x500
+mov eax, dword [ebp + 0x1c]
+add dword [ebp - 8], eax
+dec dword [ebp - 0x10]
+jne short loc_004569ca ; jne 0x4569ca
+xor ebx, ebx
+
+loc_00456a11:
+mov eax, ebx
+pop edi
+pop esi
+pop ecx
+pop ebx
+add esp, 0x10
+pop ebp
+ret
+
+fcn_00456a1c:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+push ebx
+push ecx
+push esi
+push edi
+mov esi, dword [ebp + 0xc]
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x10], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x14], eax
+mov eax, dword [ebp + 0x10]
+cmp eax, 0x1b8
+jge near loc_00456b35 ; jge 0x456b35
+movzx edx, word [esi]
+add eax, edx
+cmp eax, 0
+jle near loc_00456b35 ; jle 0x456b35
+mov eax, dword [ebp + 0x14]
+cmp eax, 0x1b8
+jge near loc_00456b35 ; jge 0x456b35
+movzx edx, word [esi + 2]
+add eax, edx
+cmp eax, 0
+jle near loc_00456b35 ; jle 0x456b35
+mov dword [ebp - 4], 0
+mov dword [ebp - 8], 0
+movzx eax, word [esi]
+mov dword [ebp - 0xc], eax
+mov ax, word [esi + 2]
+mov dword [ebp - 0x10], eax
+mov eax, 0
+cmp dword [ebp + 0x10], eax
+jge short loc_00456aa5 ; jge 0x456aa5
+mov edx, dword [ebp + 0x10]
+mov dword [ebp + 0x10], eax
+sub eax, edx
+add dword [ebp - 4], eax
+sub dword [ebp - 0xc], eax
+jmp short loc_00456ab5 ; jmp 0x456ab5
+
+loc_00456aa5:
+mov eax, dword [ebp - 0xc]
+add eax, dword [ebp + 0x10]
+sub eax, 0x1b8
+jle short loc_00456ab5 ; jle 0x456ab5
+sub dword [ebp - 0xc], eax
+
+loc_00456ab5:
+mov eax, 0
+cmp dword [ebp + 0x14], eax
+jge short loc_00456acf ; jge 0x456acf
+mov edx, dword [ebp + 0x14]
+mov dword [ebp + 0x14], eax
+sub eax, edx
+add dword [ebp - 8], eax
+sub dword [ebp - 0x10], eax
+jmp short loc_00456adf ; jmp 0x456adf
+
+loc_00456acf:
+mov eax, dword [ebp - 0x10]
+add eax, dword [ebp + 0x14]
+sub eax, 0x1b8
+jle short loc_00456adf ; jle 0x456adf
+sub dword [ebp - 0x10], eax
+
+loc_00456adf:
+movzx eax, word [esi]
+mov ebx, eax
+mul dword [ebp - 8]
+add eax, dword [ebp - 4]
+mov esi, dword [esi + 8]
+add esi, eax
+sub ebx, dword [ebp - 0xc]
+mov dword [ebp - 4], ebx
+mov eax, 0x1b8
+sub eax, dword [ebp - 0xc]
+add eax, eax
+mov dword [ebp - 8], eax
+mov edi, dword [ebp + 0x14]
+imul edi, edi, 0x1b8
+add edi, dword [ebp + 0x10]
+add edi, edi
+add edi, dword [ebp + 8]
+mov ebx, dword [ebp - 0x10]
+mov edx, dword [ebp + 0x18]
+
+loc_00456b19:
+mov ecx, dword [ebp - 0xc]
+
+loc_00456b1c:
+lodsb ; lodsb al, byte [esi]
+and eax, 0xff
+je short loc_00456b27 ; je 0x456b27
+mov word [edi], dx
+
+loc_00456b27:
+add edi, 2
+loop loc_00456b1c ; loop 0x456b1c
+add esi, dword [ebp - 4]
+add edi, dword [ebp - 8]
+dec ebx
+jne short loc_00456b19 ; jne 0x456b19
+
+loc_00456b35:
+pop edi
+pop esi
+pop ecx
+pop ebx
+add esp, 0x10
+pop ebp
+ret
+
+fcn_00456b3e:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edx, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov edi, dword [ebp + 0x10]
+mov ecx, dword [ebp + 0x14]
+mov ebx, dword [ebp + 0x18]
+mov ebp, dword [ebp + 0x1c]
+shr ecx, 1
+test edx, 2
+je short loc_00456b6b ; je 0x456b6b
+sub edx, 2
+sub esi, 2
+sub edi, 2
+inc ecx
+
+loc_00456b6b:
+push ebx
+push ecx
+push edx
+push esi
+push edi
+
+loc_00456b70:
+mov eax, dword [edx]
+mov ebx, dword [esi]
+sub ax, bx
+xor bx, bx
+sub eax, ebx
+mov dword [edi], eax
+add edx, 4
+add esi, 4
+add edi, 4
+loop loc_00456b70 ; loop 0x456b70
+pop edi
+pop esi
+pop edx
+pop ecx
+pop ebx
+add edx, ebp
+add esi, 0x500
+add edi, 0x370
+dec ebx
+jne short loc_00456b6b ; jne 0x456b6b
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00456ba5:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov edx, dword [ebp + 0x10]
+mov ebp, dword [ebp + 0x14]
+mov ebx, 0x1b8
+
+loc_00456bbd:
+push edi
+push esi
+mov ecx, 0xdc
+
+loc_00456bc4:
+mov eax, dword [edx]
+or eax, eax
+jne short loc_00456bd2 ; jne 0x456bd2
+movsd ; movsd dword es:[edi], dword ptr [esi]
+add edx, 4
+loop loc_00456bc4 ; loop 0x456bc4
+jmp short loc_00456bf7 ; jmp 0x456bf7
+
+loc_00456bd2:
+or ax, ax
+jne short loc_00456bdd ; jne 0x456bdd
+mov ax, word [esi]
+mov word [edi], ax
+
+loc_00456bdd:
+test eax, 0xffff0000
+jne short loc_00456bec ; jne 0x456bec
+mov ax, word [esi + 2]
+mov word [edi + 2], ax
+
+loc_00456bec:
+add esi, 4
+add edi, 4
+add edx, 4
+loop loc_00456bc4 ; loop 0x456bc4
+
+loc_00456bf7:
+pop esi
+pop edi
+add edi, ebp
+add esi, 0x500
+dec ebx
+jne short loc_00456bbd ; jne 0x456bbd
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00456c0a:
+push ebp
+mov ebp, esp
+push ebx
+push ecx
+push esi
+push edi
+mov esi, dword [ebp + 8]
+mov ecx, dword [ebp + 0xc]
+mov ebx, dword [ebp + 0x10]
+mov edx, dword [ebp + 0x14]
+
+loc_00456c1d:
+dec ecx
+js short loc_00456c2d ; js 0x456c2d
+db 0x66, 0xad ; lodsw ax, word [esi]
+cmp ax, bx
+jne short loc_00456c1d ; jne 0x456c1d
+mov word [esi - 2], dx
+jmp short loc_00456c1d ; jmp 0x456c1d
+
+loc_00456c2d:
+pop edi
+pop esi
+pop ecx
+pop ebx
+pop ebp
+ret
+
+fcn_00456c33:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+push ebx
+push ecx
+push esi
+push edi
+mov esi, dword [ebp + 0xc]
+movsx eax, word [esi + 4]
+sub dword [ebp + 0x10], eax
+movsx eax, word [esi + 6]
+sub dword [ebp + 0x14], eax
+mov eax, dword [ebp + 0x10]
+cmp eax, dword [ref_004861c0] ; cmp eax, dword [0x4861c0]
+jge near loc_00456d85 ; jge 0x456d85
+movzx edx, word [esi]
+add eax, edx
+cmp eax, dword [ref_004861b8] ; cmp eax, dword [0x4861b8]
+jle near loc_00456d85 ; jle 0x456d85
+mov eax, dword [ebp + 0x14]
+cmp eax, dword [ref_004861c4] ; cmp eax, dword [0x4861c4]
+jge near loc_00456d85 ; jge 0x456d85
+movzx edx, word [esi + 2]
+add eax, edx
+cmp eax, dword [ref_004861bc] ; cmp eax, dword [0x4861bc]
+jle near loc_00456d85 ; jle 0x456d85
+mov dword [ebp - 4], 0
+mov dword [ebp - 8], 0
+movzx eax, word [esi]
+mov dword [ebp - 0xc], eax
+mov ax, word [esi + 2]
+mov dword [ebp - 0x10], eax
+mov eax, dword [ref_004861b8] ; mov eax, dword [0x4861b8]
+cmp dword [ebp + 0x10], eax
+jge short loc_00456cc4 ; jge 0x456cc4
+mov edx, dword [ebp + 0x10]
+mov dword [ebp + 0x10], eax
+sub eax, edx
+add dword [ebp - 4], eax
+sub dword [ebp - 0xc], eax
+jmp short loc_00456cd5 ; jmp 0x456cd5
+
+loc_00456cc4:
+mov eax, dword [ebp - 0xc]
+add eax, dword [ebp + 0x10]
+sub eax, dword [ref_004861c0] ; sub eax, dword [0x4861c0]
+jle short loc_00456cd5 ; jle 0x456cd5
+sub dword [ebp - 0xc], eax
+
+loc_00456cd5:
+mov eax, dword [ref_004861bc] ; mov eax, dword [0x4861bc]
+cmp dword [ebp + 0x14], eax
+jge short loc_00456cef ; jge 0x456cef
+mov edx, dword [ebp + 0x14]
+mov dword [ebp + 0x14], eax
+sub eax, edx
+add dword [ebp - 8], eax
+sub dword [ebp - 0x10], eax
+jmp short loc_00456d00 ; jmp 0x456d00
+
+loc_00456cef:
+mov eax, dword [ebp - 0x10]
+add eax, dword [ebp + 0x14]
+sub eax, dword [ref_004861c4] ; sub eax, dword [0x4861c4]
+jle short loc_00456d00 ; jle 0x456d00
+sub dword [ebp - 0x10], eax
+
+loc_00456d00:
+movzx eax, word [esi]
+mov ebx, eax
+mul dword [ebp - 8]
+add eax, dword [ebp - 4]
+mov esi, dword [esi + 8]
+add esi, eax
+sub ebx, dword [ebp - 0xc]
+mov dword [ebp - 4], ebx
+mov eax, 0x280
+sub eax, dword [ebp - 0xc]
+add eax, eax
+mov dword [ebp - 8], eax
+mov edi, dword [ebp + 0x14]
+imul edi, edi, 0x280
+add edi, dword [ebp + 0x10]
+add edi, edi
+add edi, dword [ebp + 8]
+mov ebx, dword [ebp - 0x10]
+mov edx, dword [ebp + 0x18]
+shl edx, 2
+add edx, dword [ref_0047637c] ; add edx, dword [0x47637c]
+mov dx, word [edx*2 + ref_00488ef0] ; mov dx, word [edx*2 + 0x488ef0]
+
+loc_00456d4b:
+mov ecx, dword [ebp - 0xc]
+shr ecx, 1
+jecxz loc_00456d68 ; jecxz 0x456d68
+
+loc_00456d52:
+db 0x66, 0xad ; lodsw ax, word [esi]
+or al, al
+je short loc_00456d63 ; je 0x456d63
+or word [edi], dx
+or ah, ah
+je short loc_00456d63 ; je 0x456d63
+or word [edi + 2], dx
+
+loc_00456d63:
+add edi, 4
+loop loc_00456d52 ; loop 0x456d52
+
+loc_00456d68:
+test dword [ebp - 0xc], 1
+je short loc_00456d7c ; je 0x456d7c
+lodsb ; lodsb al, byte [esi]
+or al, al
+je short loc_00456d79 ; je 0x456d79
+or word [edi], dx
+
+loc_00456d79:
+add edi, 2
+
+loc_00456d7c:
+add esi, dword [ebp - 4]
+add edi, dword [ebp - 8]
+dec ebx
+jne short loc_00456d4b ; jne 0x456d4b
+
+loc_00456d85:
+pop edi
+pop esi
+pop ecx
+pop ebx
+add esp, 0x10
+pop ebp
+ret
+
+fcn_00456d8e:
+push ebp
+mov ebp, esp
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov ecx, dword [ebp + 0x10]
+jecxz loc_00456db6 ; jecxz 0x456db6
+test esi, 3
+je short loc_00456dac ; je 0x456dac
+db 0x66, 0xa5 ; movsw word es:[edi], word ptr [esi]
+dec ecx
+je short loc_00456db6 ; je 0x456db6
+
+loc_00456dac:
+shr ecx, 1
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+adc ecx, 0
+db 0xf3, 0x66, 0xa5 ; rep movsw word es:[edi], word ptr [esi]
+
+loc_00456db6:
+pop edi
+pop esi
+pop ecx
+pop ebp
+ret
+
+fcn_00456dbb:
+push ebp
+mov ebp, esp
+push ecx
+push esi
+push edi
+mov edi, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov ecx, dword [ebp + 0x10]
+jecxz loc_00456de3 ; jecxz 0x456de3
+test edi, 3
+je short loc_00456dd9 ; je 0x456dd9
+db 0x66, 0xa5 ; movsw word es:[edi], word ptr [esi]
+dec ecx
+je short loc_00456de3 ; je 0x456de3
+
+loc_00456dd9:
+shr ecx, 1
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+adc ecx, 0
+db 0xf3, 0x66, 0xa5 ; rep movsw word es:[edi], word ptr [esi]
+
+loc_00456de3:
+pop edi
+pop esi
+pop ecx
+pop ebp
+ret
+
+fcn_00456de8:
+push esi
+push edi
+mov ecx, dword [esp + 0x14]
+mov esi, dword [esp + 0x10]
+mov edi, dword [esp + 0xc]
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov eax, edi
+pop edi
+pop esi
+ret
+
+fcn_00456e11:
+mov edx, dword [esp + 4]
+push edx
+call fcn_00456e1f ; call 0x456e1f
+add esp, 4
+ret
+
+fcn_00456e1f:
+push ebx
+push esi
+push edi
+mov edi, dword [esp + 0x10]
+test edi, edi
+je near loc_00456f1f ; je 0x456f1f
+call dword [ref_00488f68] ; ucall: call dword [0x488f68]
+mov esi, dword [ref_004991bc] ; mov esi, dword [0x4991bc]
+test esi, esi
+je short loc_00456e7e ; je 0x456e7e
+cmp esi, edi
+ja short loc_00456e4e ; ja 0x456e4e
+mov eax, dword [esi]
+add eax, esi
+cmp eax, edi
+ja near loc_00456ed9 ; ja 0x456ed9
+
+loc_00456e4e:
+mov eax, esi
+mov esi, dword [esi + 4]
+test esi, esi
+je short loc_00456e67 ; je 0x456e67
+cmp esi, edi
+ja short loc_00456e67 ; ja 0x456e67
+mov edx, dword [esi]
+add edx, esi
+cmp edx, edi
+ja near loc_00456ed9 ; ja 0x456ed9
+
+loc_00456e67:
+mov esi, dword [eax + 8]
+test esi, esi
+je short loc_00456e7e ; je 0x456e7e
+cmp esi, edi
+ja short loc_00456e7e ; ja 0x456e7e
+mov eax, dword [esi]
+add eax, esi
+cmp eax, edi
+ja near loc_00456ed9 ; ja 0x456ed9
+
+loc_00456e7e:
+mov esi, dword [ref_00488f04] ; mov esi, dword [0x488f04]
+test esi, esi
+je short loc_00456ebc ; je 0x456ebc
+cmp esi, edi
+ja short loc_00456e94 ; ja 0x456e94
+mov eax, dword [esi]
+add eax, esi
+cmp eax, edi
+ja short loc_00456ed9 ; ja 0x456ed9
+
+loc_00456e94:
+mov eax, esi
+mov esi, dword [esi + 4]
+test esi, esi
+je short loc_00456ea9 ; je 0x456ea9
+cmp esi, edi
+ja short loc_00456ea9 ; ja 0x456ea9
+mov edx, dword [esi]
+add edx, esi
+cmp edx, edi
+ja short loc_00456ed9 ; ja 0x456ed9
+
+loc_00456ea9:
+mov esi, dword [eax + 8]
+test esi, esi
+je short loc_00456ebc ; je 0x456ebc
+cmp esi, edi
+ja short loc_00456ebc ; ja 0x456ebc
+mov eax, dword [esi]
+add eax, esi
+cmp eax, edi
+ja short loc_00456ed9 ; ja 0x456ed9
+
+loc_00456ebc:
+mov esi, dword [ref_00488f00] ; mov esi, dword [0x488f00]
+jmp short loc_00456ed3 ; jmp 0x456ed3
+
+loc_00456ec4:
+cmp esi, edi
+ja short loc_00456ed0 ; ja 0x456ed0
+mov eax, dword [esi]
+add eax, esi
+cmp eax, edi
+ja short loc_00456ed9 ; ja 0x456ed9
+
+loc_00456ed0:
+mov esi, dword [esi + 8]
+
+loc_00456ed3:
+test esi, esi
+jne short loc_00456ec4 ; jne 0x456ec4
+jmp short loc_00456f19 ; jmp 0x456f19
+
+loc_00456ed9:
+mov eax, ref_00488f00 ; mov eax, 0x488f00
+mov edx, ds
+and edx, 0xffff
+mov ebx, esi
+mov eax, edi
+call fcn_004589b0 ; call 0x4589b0
+mov edx, dword [ref_00488f04] ; mov edx, dword [0x488f04]
+mov dword [ref_004991bc], esi ; mov dword [0x4991bc], esi
+cmp esi, edx
+jae short loc_00456f11 ; jae 0x456f11
+mov ebx, dword [ref_00488f08] ; mov ebx, dword [0x488f08]
+mov eax, dword [esi + 0x14]
+cmp eax, ebx
+jbe short loc_00456f11 ; jbe 0x456f11
+mov dword [ref_00488f08], eax ; mov dword [0x488f08], eax
+
+loc_00456f11:
+xor ah, ah
+mov byte [ref_004991d0], ah ; mov byte [0x4991d0], ah
+
+loc_00456f19:
+call dword [ref_00488f70] ; ucall: call dword [0x488f70]
+
+loc_00456f1f:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00456f23:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+add eax, 0xc
+ret
+
+fcn_00456f2d:
+call fcn_00456f23 ; call 0x456f23
+test eax, eax
+jne short loc_00456f37 ; jne 0x456f37
+ret
+
+loc_00456f37:
+imul edx, dword [eax], 0x41c64e6d
+add edx, 0x3039
+mov dword [eax], edx
+mov eax, edx
+shr eax, 0x10
+and eax, 0x7fff
+ret
+
+fcn_00456f50:
+call fcn_00456f23 ; call 0x456f23
+test eax, eax
+je short loc_00456f5f ; je 0x456f5f
+mov edx, dword [esp + 4]
+mov dword [eax], edx
+
+loc_00456f5f:
+ret
+
+fcn_00456f60:
+mov ecx, dword [esp + 0xc]
+mov edx, dword [esp + 8]
+mov eax, dword [esp + 4]
+push eax
+mov dh, dl
+shl edx, 8
+mov dl, dh
+shl edx, 8
+mov dl, dh
+call fcn_00458ae0 ; call 0x458ae0
+pop eax
+ret
+
+fcn_00456f80:
+mov edx, dword [esp + 4]
+push edx
+call fcn_00456f8e ; call 0x456f8e
+add esp, 4
+ret
+
+fcn_00456f8e:
+push ebx
+push esi
+push edi
+push es
+push fs
+push gs
+push ebp
+sub esp, 0xc
+mov ebp, dword [esp + 0x2c]
+test ebp, ebp
+je short loc_00456fa7 ; je 0x456fa7
+cmp ebp, 0xffffffd4
+jbe short loc_00456fae ; jbe 0x456fae
+
+loc_00456fa7:
+xor eax, eax
+jmp near loc_0045708f ; jmp 0x45708f
+
+loc_00456fae:
+lea eax, [ebp + 0xb]
+and al, 0xf8
+mov dword [esp + 4], eax
+cmp eax, 0x10
+jae short loc_00456fc4 ; jae 0x456fc4
+mov dword [esp + 4], 0x10
+
+loc_00456fc4:
+call dword [ref_00488f68] ; ucall: call dword [0x488f68]
+xor ecx, ecx
+xor ah, ah
+mov dword [esp], ecx
+mov byte [esp + 8], ah
+
+loc_00456fd5:
+mov eax, dword [esp + 4]
+cmp eax, dword [ref_00488f08] ; cmp eax, dword [0x488f08]
+jbe short loc_00456ff9 ; jbe 0x456ff9
+mov esi, dword [ref_00488f04] ; mov esi, dword [0x488f04]
+test esi, esi
+jne short loc_00457007 ; jne 0x457007
+mov dword [ref_00488f08], esi ; mov dword [0x488f08], esi
+mov esi, dword [ref_00488f00] ; mov esi, dword [0x488f00]
+jmp short loc_00457007 ; jmp 0x457007
+
+loc_00456ff9:
+xor edi, edi
+mov esi, dword [ref_00488f00] ; mov esi, dword [0x488f00]
+mov dword [ref_00488f08], edi ; mov dword [0x488f08], edi
+
+loc_00457007:
+test esi, esi
+je short loc_00457048 ; je 0x457048
+mov edi, dword [esi + 0x14]
+mov dword [ref_00488f04], esi ; mov dword [0x488f04], esi
+cmp edi, ebp
+jb short loc_00457035 ; jb 0x457035
+mov eax, ref_00488f00 ; mov eax, 0x488f00
+mov edx, ds
+and edx, 0xffff
+mov ebx, esi
+mov eax, ebp
+call fcn_00458900 ; call 0x458900
+mov dword [esp], eax
+test eax, eax
+jne short loc_0045707e ; jne 0x45707e
+
+loc_00457035:
+cmp edi, dword [ref_00488f08] ; cmp edi, dword [0x488f08]
+jbe short loc_00457043 ; jbe 0x457043
+mov dword [ref_00488f08], edi ; mov dword [0x488f08], edi
+
+loc_00457043:
+mov esi, dword [esi + 8]
+jmp short loc_00457007 ; jmp 0x457007
+
+loc_00457048:
+cmp byte [esp + 8], 0
+jne short loc_0045705c ; jne 0x45705c
+push ebp
+call fcn_00458c90 ; call 0x458c90
+add esp, 4
+test eax, eax
+jne short loc_00457074 ; jne 0x457074
+
+loc_0045705c:
+push ebp
+call fcn_00458cea ; call 0x458cea
+add esp, 4
+test eax, eax
+je short loc_0045707e ; je 0x45707e
+xor bl, bl
+mov byte [esp + 8], bl
+jmp near loc_00456fd5 ; jmp 0x456fd5
+
+loc_00457074:
+mov byte [esp + 8], 1
+jmp near loc_00456fd5 ; jmp 0x456fd5
+
+loc_0045707e:
+xor bh, bh
+mov byte [ref_004991d0], bh ; mov byte [0x4991d0], bh
+call dword [ref_00488f70] ; ucall: call dword [0x488f70]
+mov eax, dword [esp]
+
+loc_0045708f:
+add esp, 0xc
+pop ebp
+pop gs
+pop fs
+pop es
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045709c:
+jmp near loc_00458ced ; jmp 0x458ced
+
+endloc_004570a1:
+dd ref_00401003
+db 0x57
+db 0x41
+db 0x54
+dd 0x204d4f43
+dd 0x2b432f43
+dd 0x2032332b
+dd 0x2d6e7552
+dd 0x656d6954
+dd 0x73797320
+dd 0x2e6d6574
+dd 0x29632820
+dd 0x706f4320
+dd 0x67697279
+dd 0x62207468
+dd 0x41572079
+dd 0x4d4f4354
+dd 0x746e4920
+dd 0x616e7265
+dd 0x6e6f6974
+dd 0x43206c61
+dd 0x2e70726f
+dd 0x38393120
+dd 0x39312d38
+dd 0x202e3539
+dd 0x206c6c41
+dd 0x68676972
+dd 0x72207374
+dd 0x72657365
+dd 0x2e646576
+
+fcn_00457110:
+push ebx
+sub esp, 4
+lea eax, [esp + 0x14]
+mov dword [esp], eax
+mov eax, esp
+push eax
+mov edx, dword [esp + 0x14]
+push edx
+mov ebx, dword [esp + 0x14]
+push ebx
+call fcn_00458db5 ; call 0x458db5
+add esp, 0xc
+add esp, 4
+pop ebx
+ret
+
+fcn_00457135:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebx, dword [esp + 0x18]
+mov edx, dword [esp + 0x1c]
+mov ecx, 1
+xor ebp, ebp
+xor esi, esi
+xor edi, edi
+mov dword [esp], ebp
+test edx, edx
+je short loc_00457164 ; je 0x457164
+cmp ecx, dword [ref_00488f98] ; cmp ecx, dword [0x488f98]
+jne short loc_00457162 ; jne 0x457162
+mov dword [edx], ecx
+jmp short loc_00457164 ; jmp 0x457164
+
+loc_00457162:
+mov dword [edx], ebp
+
+loc_00457164:
+mov al, byte [ebx]
+cmp al, 0x72
+jb short loc_00457172 ; jb 0x457172
+jbe short loc_00457178 ; jbe 0x457178
+cmp al, 0x77
+je short loc_0045717e ; je 0x45717e
+jmp short loc_0045718a ; jmp 0x45718a
+
+loc_00457172:
+cmp al, 0x61
+je short loc_00457184 ; je 0x457184
+jmp short loc_0045718a ; jmp 0x45718a
+
+loc_00457178:
+or byte [esp], 1
+jmp short loc_0045719b ; jmp 0x45719b
+
+loc_0045717e:
+or byte [esp], 2
+jmp short loc_0045719b ; jmp 0x45719b
+
+loc_00457184:
+or byte [esp], 0x82
+jmp short loc_0045719b ; jmp 0x45719b
+
+loc_0045718a:
+push 9
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+xor ecx, ecx
+jmp near loc_0045724a ; jmp 0x45724a
+
+loc_0045719b:
+inc ebx
+mov al, byte [ebx]
+test al, al
+je near loc_00457233 ; je 0x457233
+test ecx, ecx
+je near loc_00457233 ; je 0x457233
+cmp al, 0x63
+jb short loc_004571c8 ; jb 0x4571c8
+jbe near loc_0045720a ; jbe 0x45720a
+cmp al, 0x6e
+jb short loc_0045719b ; jb 0x45719b
+jbe near loc_0045721f ; jbe 0x45721f
+cmp al, 0x74
+je short loc_004571ec ; je 0x4571ec
+jmp short loc_0045719b ; jmp 0x45719b
+
+loc_004571c8:
+cmp al, 0x2b
+jb short loc_0045719b ; jb 0x45719b
+jbe short loc_004571d4 ; jbe 0x4571d4
+cmp al, 0x62
+je short loc_004571f7 ; je 0x4571f7
+jmp short loc_0045719b ; jmp 0x45719b
+
+loc_004571d4:
+test ebp, ebp
+je short loc_004571dc ; je 0x4571dc
+
+loc_004571d8:
+xor ecx, ecx
+jmp short loc_0045719b ; jmp 0x45719b
+
+loc_004571dc:
+mov ah, byte [esp]
+or ah, 3
+mov ebp, 1
+mov byte [esp], ah
+jmp short loc_0045719b ; jmp 0x45719b
+
+loc_004571ec:
+test esi, esi
+jne short loc_004571d8 ; jne 0x4571d8
+mov esi, 1
+jmp short loc_0045719b ; jmp 0x45719b
+
+loc_004571f7:
+test esi, esi
+jne short loc_004571d8 ; jne 0x4571d8
+mov al, byte [esp]
+or al, 0x40
+mov esi, 1
+mov byte [esp], al
+jmp short loc_0045719b ; jmp 0x45719b
+
+loc_0045720a:
+test edi, edi
+jne short loc_004571d8 ; jne 0x4571d8
+mov ah, byte [edx]
+or ah, 1
+mov edi, 1
+mov byte [edx], ah
+jmp near loc_0045719b ; jmp 0x45719b
+
+loc_0045721f:
+test edi, edi
+jne short loc_004571d8 ; jne 0x4571d8
+mov al, byte [edx]
+and al, 0xfe
+mov edi, 1
+mov byte [edx], al
+jmp near loc_0045719b ; jmp 0x45719b
+
+loc_00457233:
+test esi, esi
+jne short loc_00457247 ; jne 0x457247
+cmp dword [ref_004891a5], 0x200 ; cmp dword [0x4891a5], 0x200
+jne short loc_00457247 ; jne 0x457247
+or byte [esp], 0x40
+
+loc_00457247:
+mov ecx, dword [esp]
+
+loc_0045724a:
+mov eax, ecx
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00457254:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x28]
+and byte [ebx + 0xc], 0xfc
+mov eax, dword [esp + 0x1c]
+mov edx, dword [ebx + 0xc]
+or edx, eax
+xor eax, eax
+mov al, byte [esp + 0x18]
+push eax
+mov dword [ebx + 0xc], edx
+call fcn_00458e22 ; call 0x458e22
+add esp, 4
+cmp al, 0x72
+jne short loc_004572ad ; jne 0x4572ad
+mov ch, byte [esp + 0x1c]
+xor eax, eax
+test ch, 2
+je short loc_0045728f ; je 0x45728f
+mov eax, 2
+
+loc_0045728f:
+test byte [esp + 0x1c], 0x40
+je short loc_0045729b ; je 0x45729b
+or ah, 2
+jmp short loc_0045729e ; jmp 0x45729e
+
+loc_0045729b:
+or ah, 1
+
+loc_0045729e:
+push 0
+mov edi, dword [esp + 0x28]
+push edi
+push eax
+mov ebp, dword [esp + 0x20]
+push ebp
+jmp short loc_004572e9 ; jmp 0x4572e9
+
+loc_004572ad:
+mov dl, byte [esp + 0x1c]
+test dl, 1
+setne al
+and eax, 0xff
+add eax, 0x21
+test dl, 0x80
+je short loc_004572c8 ; je 0x4572c8
+or al, 0x10
+jmp short loc_004572ca ; jmp 0x4572ca
+
+loc_004572c8:
+or al, 0x40
+
+loc_004572ca:
+test byte [esp + 0x1c], 0x40
+je short loc_004572d6 ; je 0x4572d6
+or ah, 2
+jmp short loc_004572d9 ; jmp 0x4572d9
+
+loc_004572d6:
+or ah, 1
+
+loc_004572d9:
+push 0x180
+mov ecx, dword [esp + 0x28]
+push ecx
+push eax
+mov esi, dword [esp + 0x20]
+push esi
+
+loc_004572e9:
+call fcn_00458e56 ; call 0x458e56
+add esp, 0x10
+mov dword [ebx + 0x10], eax
+cmp dword [ebx + 0x10], 0xffffffff
+jne short loc_0045730a ; jne 0x45730a
+push ebx
+call fcn_00459171 ; call 0x459171
+add esp, 4
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045730a:
+mov dword [ebx + 4], 0
+mov eax, dword [ebx + 8]
+mov dword [ebx + 0x14], 0
+mov dword [eax + 0xc], 0
+mov eax, dword [ebx + 8]
+mov edx, dword [esp + 0x20]
+mov dword [eax + 0x10], edx
+mov eax, dword [ebx + 8]
+mov dword [eax + 0x15], 0
+mov eax, dword [ebx + 8]
+mov dh, byte [esp + 0x1c]
+mov dword [eax + 8], 0
+test dh, 0x80
+je short loc_00457356 ; je 0x457356
+push 2
+push 0
+push ebx
+call fcn_0045753a ; call 0x45753a
+add esp, 0xc
+
+loc_00457356:
+push ebx
+call fcn_004591c6 ; call 0x4591c6
+add esp, 4
+mov eax, ebx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00457366:
+push ebx
+push esi
+push edi
+sub esp, 4
+mov eax, esp
+push eax
+mov edx, dword [esp + 0x1c]
+push edx
+call fcn_00457135 ; call 0x457135
+mov ebx, eax
+add esp, 8
+test eax, eax
+je short loc_004573b8 ; je 0x4573b8
+push 0
+call fcn_004590b9 ; call 0x4590b9
+add esp, 4
+mov edx, eax
+test eax, eax
+je short loc_004573b6 ; je 0x4573b6
+push eax
+mov ecx, dword [esp + 0x20]
+push ecx
+mov esi, dword [esp + 8]
+push esi
+mov edx, dword [esp + 0x24]
+xor eax, eax
+push ebx
+mov al, byte [edx]
+push eax
+mov edi, dword [esp + 0x28]
+push edi
+call fcn_00457254 ; call 0x457254
+add esp, 0x18
+mov edx, eax
+
+loc_004573b6:
+mov eax, edx
+
+loc_004573b8:
+add esp, 4
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004573bf:
+push ebx
+push 0
+mov edx, dword [esp + 0x10]
+push edx
+mov ebx, dword [esp + 0x10]
+push ebx
+call fcn_00457366 ; call 0x457366
+add esp, 0xc
+pop ebx
+ret
+
+fcn_004573d6:
+push ebx
+mov ebx, dword [esp + 8]
+call dword [ref_00488f60] ; ucall: call dword [0x488f60]
+mov eax, dword [ref_004991d4] ; mov eax, dword [0x4991d4]
+
+loc_004573e6:
+test eax, eax
+je short loc_00457410 ; je 0x457410
+mov edx, dword [eax + 4]
+cmp ebx, edx
+jne short loc_0045740c ; jne 0x45740c
+test byte [edx + 0xc], 3
+je short loc_00457402 ; je 0x457402
+push 1
+push edx
+call fcn_004579e8 ; call 0x4579e8
+add esp, 8
+
+loc_00457402:
+call dword [ref_00488f64] ; ucall: call dword [0x488f64]
+mov eax, ebx
+pop ebx
+ret
+
+loc_0045740c:
+mov eax, dword [eax]
+jmp short loc_004573e6 ; jmp 0x4573e6
+
+loc_00457410:
+mov edx, ref_004991d8 ; mov edx, 0x4991d8
+
+loc_00457415:
+mov eax, dword [edx]
+test eax, eax
+je short loc_00457437 ; je 0x457437
+cmp ebx, dword [eax + 4]
+jne short loc_00457433 ; jne 0x457433
+mov ecx, dword [eax]
+mov dword [edx], ecx
+mov edx, dword [ref_004991d4] ; mov edx, dword [0x4991d4]
+mov dword [ref_004991d4], eax ; mov dword [0x4991d4], eax
+mov dword [eax], edx
+jmp short loc_00457402 ; jmp 0x457402
+
+loc_00457433:
+mov edx, eax
+jmp short loc_00457415 ; jmp 0x457415
+
+loc_00457437:
+push 4
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+call dword [ref_00488f64] ; ucall: call dword [0x488f64]
+xor eax, eax
+pop ebx
+ret
+
+endloc_0045744b:
+db 0x53
+dd 0x83555756
+dd 0x748b04ec
+dd 0xe0892024
+dd 0x24548b50
+dd 0xd2e85220
+dd 0x83fffffc
+dd 0xc78908c4
+dd 0x840fc085
+dd 0xfffffddc
+dd 0x53105e8b
+db 0xff
+db 0x15
+dd ref_00488f50
+db 0x8b
+db 0x0d
+dd ref_004891b0
+dd 0x8504c483
+dd 0x530a74c9
+db 0xff
+db 0x15
+dd ref_004891b0
+db 0x83
+db 0xc4
+dd 0x3fe85604
+dd 0x83ffffff
+dd 0xc68904c4
+dd 0x2d74c085
+dd 0x810c708b
+dd 0x004000e6
+dd 0x70895000
+dd 0x8b006a0c
+dd 0x5508246c
+dd 0x2824748b
+dd 0x8a57c031
+dd 0x448b5006
+dd 0xe8502c24
+dd 0xfffffd8c
+dd 0x8918c483
+dd 0x15ff53c6
+dd ref_00488f54
+dd 0x8904c483
+dd 0xfd6ee9f0
+db 0xff
+db 0xff
+
+fcn_004574de:
+push ebx
+push esi
+push edi
+mov ebx, dword [esp + 0x10]
+mov eax, dword [esp + 0x14]
+cmp ebx, dword [eax + 4]
+jg short loc_00457519 ; jg 0x457519
+mov edx, dword [eax + 8]
+mov ecx, dword [eax]
+mov edx, dword [edx + 8]
+sub edx, ecx
+cmp ebx, edx
+jl short loc_00457519 ; jl 0x457519
+mov dl, byte [eax + 0xc]
+mov esi, dword [eax]
+mov edi, dword [eax + 4]
+and dl, 0xef
+add esi, ebx
+mov byte [eax + 0xc], dl
+sub edi, ebx
+mov dword [eax], esi
+mov dword [eax + 4], edi
+xor eax, eax
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00457519:
+mov eax, 1
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00457522:
+mov eax, dword [esp + 4]
+and byte [eax + 0xc], 0xef
+mov edx, dword [eax + 8]
+mov edx, dword [edx + 8]
+mov dword [eax + 4], 0
+mov dword [eax], edx
+ret
+
+fcn_0045753a:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+mov esi, dword [esp + 0x18]
+mov edi, dword [esp + 0x1c]
+mov edx, dword [ebx + 0x10]
+push edx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov ah, byte [ebx + 0xc]
+add esp, 4
+test ah, 6
+je near loc_004575dc ; je 0x4575dc
+test byte [ebx + 0xd], 0x10
+je short loc_0045759f ; je 0x45759f
+push ebx
+call fcn_004591f9 ; call 0x4591f9
+add esp, 4
+test eax, eax
+je short loc_004575b6 ; je 0x4575b6
+test edi, edi
+jne short loc_00457588 ; jne 0x457588
+test esi, esi
+jge short loc_00457588 ; jge 0x457588
+push 9
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+
+loc_00457588:
+mov esi, dword [ebx + 0x10]
+push esi
+
+loc_0045758c:
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+mov eax, 0xffffffff
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045759f:
+cmp edi, 1
+jne short loc_004575a7 ; jne 0x4575a7
+sub esi, dword [ebx + 4]
+
+loc_004575a7:
+mov eax, dword [ebx + 8]
+mov eax, dword [eax + 8]
+mov dword [ebx + 4], 0
+mov dword [ebx], eax
+
+loc_004575b6:
+push edi
+mov cl, byte [ebx + 0xc]
+push esi
+mov eax, dword [ebx + 0x10]
+and cl, 0xeb
+push eax
+mov byte [ebx + 0xc], cl
+call fcn_0045931e ; call 0x45931e
+add esp, 0xc
+cmp eax, 0xffffffff
+jne near loc_004576bc ; jne 0x4576bc
+mov ecx, dword [ebx + 0x10]
+push ecx
+jmp short loc_0045758c ; jmp 0x45758c
+
+loc_004575dc:
+cmp edi, 1
+jb short loc_004575f1 ; jb 0x4575f1
+jbe short loc_004575fa ; jbe 0x4575fa
+cmp edi, 2
+je near loc_0045767a ; je 0x45767a
+jmp near loc_004576a9 ; jmp 0x4576a9
+
+loc_004575f1:
+test edi, edi
+je short loc_0045763b ; je 0x45763b
+jmp near loc_004576a9 ; jmp 0x4576a9
+
+loc_004575fa:
+push ebx
+push esi
+mov ebp, dword [ebx + 4]
+call fcn_004574de ; call 0x4574de
+add esp, 8
+test eax, eax
+je near loc_004576bc ; je 0x4576bc
+push edi
+sub esi, ebp
+push esi
+mov edi, dword [ebx + 0x10]
+push edi
+call fcn_0045931e ; call 0x45931e
+add esp, 0xc
+cmp eax, 0xffffffff
+jne short loc_0045762d ; jne 0x45762d
+mov ebp, dword [ebx + 0x10]
+push ebp
+jmp near loc_0045758c ; jmp 0x45758c
+
+loc_0045762d:
+push ebx
+call fcn_00457522 ; call 0x457522
+add esp, 4
+jmp near loc_004576bc ; jmp 0x4576bc
+
+loc_0045763b:
+mov edx, dword [ebx + 0x10]
+push edx
+call fcn_004593a9 ; call 0x4593a9
+add esp, 4
+mov ecx, dword [ebx + 4]
+mov ebp, esi
+sub eax, ecx
+push ebx
+sub ebp, eax
+push ebp
+call fcn_004574de ; call 0x4574de
+add esp, 8
+test eax, eax
+je short loc_004576bc ; je 0x4576bc
+push edi
+push esi
+mov esi, dword [ebx + 0x10]
+push esi
+call fcn_0045931e ; call 0x45931e
+add esp, 0xc
+cmp eax, 0xffffffff
+jne short loc_0045762d ; jne 0x45762d
+mov edi, dword [ebx + 0x10]
+push edi
+jmp near loc_0045758c ; jmp 0x45758c
+
+loc_0045767a:
+mov dl, ah
+push edi
+mov ecx, dword [ebx + 0x10]
+and dl, 0xef
+mov eax, dword [ebx + 8]
+mov byte [ebx + 0xc], dl
+push esi
+mov eax, dword [eax + 8]
+mov dword [ebx + 4], 0
+push ecx
+mov dword [ebx], eax
+call fcn_0045931e ; call 0x45931e
+add esp, 0xc
+cmp eax, 0xffffffff
+jne short loc_004576bc ; jne 0x4576bc
+jmp near loc_00457588 ; jmp 0x457588
+
+loc_004576a9:
+push 9
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+mov eax, dword [ebx + 0x10]
+push eax
+jmp near loc_0045758c ; jmp 0x45758c
+
+loc_004576bc:
+mov edx, dword [ebx + 0x10]
+push edx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004576d0:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov esi, dword [esp + 0x20]
+mov ebx, dword [esp + 0x24]
+mov edx, dword [ebx + 0x10]
+push edx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov ah, byte [ebx + 0xc]
+add esp, 4
+test ah, 1
+jne short loc_00457716 ; jne 0x457716
+push 4
+call fcn_00458de7 ; call 0x458de7
+or byte [ebx + 0xc], 0x20
+add esp, 4
+mov edx, dword [ebx + 0x10]
+push edx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+xor eax, eax
+jmp near loc_004578bd ; jmp 0x4578bd
+
+loc_00457716:
+imul esi, dword [esp + 0x1c]
+test esi, esi
+jne short loc_00457733 ; jne 0x457733
+mov eax, dword [ebx + 0x10]
+push eax
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+mov eax, esi
+jmp near loc_004578bd ; jmp 0x4578bd
+
+loc_00457733:
+mov eax, dword [ebx + 8]
+cmp dword [eax + 8], 0
+jne short loc_00457745 ; jne 0x457745
+push ebx
+call fcn_0045940b ; call 0x45940b
+add esp, 4
+
+loc_00457745:
+xor ebp, ebp
+mov dl, byte [ebx + 0xc]
+mov dword [esp], ebp
+test dl, 0x40
+je near loc_00457838 ; je 0x457838
+mov ebp, esi
+
+loc_00457758:
+mov eax, dword [ebx + 4]
+test eax, eax
+je short loc_004577a4 ; je 0x4577a4
+mov edx, eax
+cmp eax, ebp
+jbe short loc_00457767 ; jbe 0x457767
+mov edx, ebp
+
+loc_00457767:
+mov edi, dword [esp + 0x18]
+mov ecx, edx
+mov esi, dword [ebx]
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+sub ebp, edx
+mov eax, dword [esp]
+lea esi, [edi + edx]
+mov ecx, dword [ebx]
+mov dword [esp + 0x18], esi
+mov edi, dword [ebx + 4]
+add ecx, edx
+add eax, edx
+sub edi, edx
+mov dword [ebx], ecx
+mov dword [esp], eax
+mov dword [ebx + 4], edi
+
+loc_004577a4:
+test ebp, ebp
+je near loc_004578a7 ; je 0x4578a7
+cmp ebp, dword [ebx + 0x14]
+jae short loc_004577b7 ; jae 0x4577b7
+test byte [ebx + 0xd], 4
+je short loc_00457822 ; je 0x457822
+
+loc_004577b7:
+mov eax, dword [ebx + 8]
+mov eax, dword [eax + 8]
+mov dword [ebx], eax
+mov edx, ebp
+mov al, byte [ebx + 0xd]
+mov dword [ebx + 4], 0
+test al, 4
+jne short loc_004577dc ; jne 0x4577dc
+cmp ebp, 0x200
+jbe short loc_004577dc ; jbe 0x4577dc
+xor dl, dl
+and dh, 0xfe
+
+loc_004577dc:
+push edx
+mov ecx, dword [esp + 0x1c]
+push ecx
+mov esi, dword [ebx + 0x10]
+push esi
+call fcn_0045949c ; call 0x45949c
+add esp, 0xc
+cmp eax, 0xffffffff
+jne short loc_004577fc ; jne 0x4577fc
+or byte [ebx + 0xc], 0x20
+jmp near loc_004578a7 ; jmp 0x4578a7
+
+loc_004577fc:
+test eax, eax
+jne short loc_00457809 ; jne 0x457809
+
+loc_00457800:
+or byte [ebx + 0xc], 0x10
+jmp near loc_004578a7 ; jmp 0x4578a7
+
+loc_00457809:
+mov edi, dword [esp + 0x18]
+mov edx, dword [esp]
+sub ebp, eax
+add edi, eax
+add edx, eax
+mov dword [esp + 0x18], edi
+mov dword [esp], edx
+jmp near loc_00457758 ; jmp 0x457758
+
+loc_00457822:
+push ebx
+call fcn_00459657 ; call 0x459657
+add esp, 4
+test eax, eax
+je near loc_004578a7 ; je 0x4578a7
+jmp near loc_00457758 ; jmp 0x457758
+
+loc_00457838:
+mov ebp, dword [esp + 0x18]
+add esi, ebp
+
+loc_0045783e:
+cmp dword [ebx + 4], 0
+jne short loc_00457851 ; jne 0x457851
+push ebx
+call fcn_00459657 ; call 0x459657
+add esp, 4
+test eax, eax
+je short loc_004578a7 ; je 0x4578a7
+
+loc_00457851:
+dec dword [ebx + 4]
+mov eax, dword [ebx]
+lea edx, [eax + 1]
+mov dword [ebx], edx
+mov al, byte [eax]
+and eax, 0xff
+cmp eax, 0xd
+jne short loc_0045788f ; jne 0x45788f
+cmp dword [ebx + 4], 0
+jne short loc_0045787a ; jne 0x45787a
+push ebx
+call fcn_00459657 ; call 0x459657
+add esp, 4
+test eax, eax
+je short loc_004578a7 ; je 0x4578a7
+
+loc_0045787a:
+mov ecx, dword [ebx + 4]
+mov eax, dword [ebx]
+dec ecx
+lea edx, [eax + 1]
+mov dword [ebx + 4], ecx
+mov dword [ebx], edx
+mov al, byte [eax]
+and eax, 0xff
+
+loc_0045788f:
+cmp eax, 0x1a
+je near loc_00457800 ; je 0x457800
+mov edi, dword [esp]
+mov byte [ebp], al
+inc edi
+inc ebp
+mov dword [esp], edi
+cmp ebp, esi
+jne short loc_0045783e ; jne 0x45783e
+
+loc_004578a7:
+mov ecx, dword [ebx + 0x10]
+push ecx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+xor edx, edx
+mov eax, dword [esp]
+div dword [esp + 0x1c]
+
+loc_004578bd:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004578c5:
+push ebx
+mov ebx, dword [esp + 8]
+call dword [ref_00488f60] ; ucall: call dword [0x488f60]
+mov eax, dword [ref_004991d4] ; mov eax, dword [0x4991d4]
+
+loc_004578d5:
+test eax, eax
+jne short loc_004578e6 ; jne 0x4578e6
+call dword [ref_00488f64] ; ucall: call dword [0x488f64]
+mov eax, 0xffffffff
+pop ebx
+ret
+
+loc_004578e6:
+cmp ebx, dword [eax + 4]
+je short loc_004578ef ; je 0x4578ef
+mov eax, dword [eax]
+jmp short loc_004578d5 ; jmp 0x4578d5
+
+loc_004578ef:
+call dword [ref_00488f64] ; ucall: call dword [0x488f64]
+push 1
+push ebx
+call fcn_00457902 ; call 0x457902
+add esp, 8
+pop ebx
+ret
+
+fcn_00457902:
+push ebx
+mov edx, dword [esp + 0xc]
+push edx
+mov ebx, dword [esp + 0xc]
+push ebx
+call fcn_004579e8 ; call 0x4579e8
+add esp, 8
+mov ecx, dword [esp + 8]
+push ecx
+mov ebx, eax
+call fcn_00459171 ; call 0x459171
+add esp, 4
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00457928:
+mov eax, dword [esp + 4]
+add eax, 0x30
+cmp eax, 0x39
+jle short loc_00457937 ; jle 0x457937
+add eax, 0x27
+
+loc_00457937:
+ret
+
+fcn_00457938:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+call fcn_00459718 ; call 0x459718
+mov ebp, eax
+shr ebp, 0x10
+mov edi, ebx
+or ebp, eax
+call fcn_0045983a ; call 0x45983a
+mov esi, eax
+push edi
+
+loc_00457956:
+mov al, byte [esi]
+mov byte [edi], al
+cmp al, 0
+je short loc_0045796e ; je 0x45796e
+mov al, byte [esi + 1]
+add esi, 2
+mov byte [edi + 1], al
+add edi, 2
+cmp al, 0
+jne short loc_00457956 ; jne 0x457956
+
+loc_0045796e:
+pop edi
+push es
+mov eax, ds
+mov es, eax
+sub ecx, ecx
+dec ecx
+xor eax, eax
+repne scasb ; repne scasb al, byte es:[edi]
+not ecx
+dec ecx
+pop es
+lea esi, [ebx + ecx]
+lea ebx, [esi + 4]
+mov byte [esi], 0x74
+mov edi, esi
+
+loc_0045798a:
+mov eax, ebp
+and eax, 0xf
+push eax
+shr ebp, 4
+call fcn_00457928 ; call 0x457928
+mov byte [ebx], al
+dec ebx
+add esp, 4
+cmp ebx, edi
+jne short loc_0045798a ; jne 0x45798a
+mov eax, dword [esp + 0x18]
+sar eax, 4
+and eax, 0xf
+push eax
+mov byte [esi + 5], 0x5f
+call fcn_00457928 ; call 0x457928
+add esp, 4
+mov byte [esi + 6], al
+mov eax, dword [esp + 0x18]
+and eax, 0xf
+push eax
+call fcn_00457928 ; call 0x457928
+mov byte [esi + 8], 0x2e
+mov byte [esi + 9], 0x74
+mov byte [esi + 0xa], 0x6d
+mov byte [esi + 0xb], 0x70
+mov byte [esi + 0xc], 0
+add esp, 4
+mov byte [esi + 7], al
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004579e8:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x114
+mov ebx, dword [esp + 0x128]
+cmp dword [ebx + 0xc], 0
+jne short loc_00457a09 ; jne 0x457a09
+mov eax, 0xffffffff
+jmp near loc_00457acf ; jmp 0x457acf
+
+loc_00457a09:
+mov ah, byte [ebx + 0xd]
+xor esi, esi
+test ah, 0x10
+je short loc_00457a1e ; je 0x457a1e
+push ebx
+call fcn_004591f9 ; call 0x4591f9
+add esp, 4
+mov esi, eax
+
+loc_00457a1e:
+mov ecx, dword [ebx + 0x10]
+push ecx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+add esp, 4
+push ebx
+call fcn_00458532 ; call 0x458532
+add esp, 4
+cmp eax, 0xffffffff
+je short loc_00457a48 ; je 0x457a48
+push 0
+push eax
+mov edi, dword [ebx + 0x10]
+push edi
+call fcn_0045931e ; call 0x45931e
+add esp, 0xc
+
+loc_00457a48:
+cmp dword [esp + 0x12c], 0
+je short loc_00457a60 ; je 0x457a60
+mov eax, dword [ebx + 0x10]
+push eax
+call fcn_00459908 ; call 0x459908
+add esp, 4
+or esi, eax
+
+loc_00457a60:
+test byte [ebx + 0xc], 8
+je short loc_00457a7f ; je 0x457a7f
+mov eax, dword [ebx + 8]
+mov edx, dword [eax + 8]
+push edx
+call fcn_00456e11 ; call 0x456e11
+mov eax, dword [ebx + 8]
+add esp, 4
+mov dword [eax + 8], 0
+
+loc_00457a7f:
+test byte [ebx + 0xd], 8
+je short loc_00457aa9 ; je 0x457aa9
+mov eax, dword [ebx + 8]
+mov al, byte [eax + 0x14]
+and eax, 0xff
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_00457938 ; call 0x457938
+add esp, 8
+mov eax, esp
+push eax
+call fcn_004599ad ; call 0x4599ad
+add esp, 4
+
+loc_00457aa9:
+mov ecx, dword [ebx + 0x10]
+push ecx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+cmp dword [esp + 0x12c], 0
+je short loc_00457acd ; je 0x457acd
+mov ebp, dword [ebx + 0x10]
+push ebp
+call dword [ref_00488f5c] ; ucall: call dword [0x488f5c]
+add esp, 4
+
+loc_00457acd:
+mov eax, esi
+
+loc_00457acf:
+add esp, 0x114
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00457ada:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov edi, dword [esp + 0x2c]
+mov ebx, dword [esp + 0x30]
+mov edx, dword [ebx + 0x10]
+push edx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov ah, byte [ebx + 0xc]
+add esp, 4
+test ah, 2
+jne short loc_00457b25 ; jne 0x457b25
+push 4
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+mov ah, byte [ebx + 0xc]
+mov edx, dword [ebx + 0x10]
+or ah, 0x20
+push edx
+mov byte [ebx + 0xc], ah
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+xor eax, eax
+jmp near loc_00457d08 ; jmp 0x457d08
+
+loc_00457b25:
+imul edi, dword [esp + 0x28]
+test edi, edi
+jne short loc_00457b42 ; jne 0x457b42
+mov eax, dword [ebx + 0x10]
+push eax
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+mov eax, edi
+jmp near loc_00457d08 ; jmp 0x457d08
+
+loc_00457b42:
+mov eax, dword [ebx + 8]
+cmp dword [eax + 8], 0
+jne short loc_00457b54 ; jne 0x457b54
+push ebx
+call fcn_0045940b ; call 0x45940b
+add esp, 4
+
+loc_00457b54:
+mov eax, dword [ebx + 0xc]
+mov dl, byte [ebx + 0xc]
+xor ebp, ebp
+and eax, 0x30
+and dl, 0xcf
+mov dword [esp + 8], ebp
+mov dword [esp], eax
+mov byte [ebx + 0xc], dl
+test dl, 0x40
+je near loc_00457c5a ; je 0x457c5a
+mov dword [esp + 0xc], edi
+
+loc_00457b79:
+cmp dword [ebx + 4], 0
+jne short loc_00457bc9 ; jne 0x457bc9
+mov eax, dword [esp + 0xc]
+cmp eax, dword [ebx + 0x14]
+jb short loc_00457bc9 ; jb 0x457bc9
+xor al, al
+and ah, 0xfe
+test eax, eax
+jne short loc_00457b95 ; jne 0x457b95
+mov eax, dword [esp + 0xc]
+
+loc_00457b95:
+push eax
+mov esi, dword [esp + 0x28]
+push esi
+mov edi, dword [ebx + 0x10]
+push edi
+call fcn_004599bb ; call 0x4599bb
+add esp, 0xc
+mov ebp, eax
+cmp eax, 0xffffffff
+je short loc_00457bc3 ; je 0x457bc3
+test eax, eax
+jne near loc_00457c27 ; jne 0x457c27
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov dword [eax + 4], 0xc
+
+loc_00457bc3:
+or byte [ebx + 0xc], 0x20
+jmp short loc_00457c27 ; jmp 0x457c27
+
+loc_00457bc9:
+mov ebp, dword [ebx + 0x14]
+mov esi, dword [ebx + 4]
+mov edi, dword [esp + 0xc]
+sub ebp, esi
+cmp ebp, edi
+jbe short loc_00457bdb ; jbe 0x457bdb
+mov ebp, edi
+
+loc_00457bdb:
+mov esi, dword [esp + 0x24]
+mov ecx, ebp
+mov edi, dword [ebx]
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov eax, dword [ebx]
+mov edx, dword [ebx + 4]
+mov ch, byte [ebx + 0xd]
+add eax, ebp
+add edx, ebp
+mov dword [ebx], eax
+or ch, 0x10
+mov dword [ebx + 4], edx
+mov byte [ebx + 0xd], ch
+mov eax, dword [ebx + 4]
+cmp eax, dword [ebx + 0x14]
+je short loc_00457c1e ; je 0x457c1e
+test byte [ebx + 0xd], 4
+je short loc_00457c27 ; je 0x457c27
+
+loc_00457c1e:
+push ebx
+call fcn_004591f9 ; call 0x4591f9
+add esp, 4
+
+loc_00457c27:
+mov eax, dword [esp + 0x24]
+mov edx, dword [esp + 8]
+mov ecx, dword [esp + 0xc]
+add eax, ebp
+add edx, ebp
+mov dword [esp + 0x24], eax
+mov dword [esp + 8], edx
+sub ecx, ebp
+mov dword [esp + 0xc], ecx
+je near loc_00457cda ; je 0x457cda
+test byte [ebx + 0xc], 0x20
+je near loc_00457b79 ; je 0x457b79
+jmp near loc_00457cda ; jmp 0x457cda
+
+loc_00457c5a:
+mov cl, byte [ebx + 0xd]
+xor esi, esi
+test cl, 4
+je short loc_00457c78 ; je 0x457c78
+mov ch, cl
+and ch, 0xfa
+mov al, ch
+mov byte [ebx + 0xd], ch
+or al, 1
+mov esi, 1
+mov byte [ebx + 0xd], al
+
+loc_00457c78:
+mov eax, dword [ebx + 8]
+mov ebp, dword [eax + 0xc]
+mov dword [esp + 4], ebp
+mov dword [eax + 0xc], 1
+mov ebp, dword [esp + 0x24]
+
+loc_00457c8d:
+xor eax, eax
+push ebx
+mov al, byte [ebp]
+push eax
+inc ebp
+call fcn_00459aab ; call 0x459aab
+mov dl, byte [ebx + 0xc]
+add esp, 8
+test dl, 0x30
+jne short loc_00457cb2 ; jne 0x457cb2
+mov ecx, dword [esp + 8]
+inc ecx
+mov dword [esp + 8], ecx
+cmp edi, ecx
+jne short loc_00457c8d ; jne 0x457c8d
+
+loc_00457cb2:
+mov eax, dword [ebx + 8]
+mov edi, dword [esp + 4]
+mov dword [eax + 0xc], edi
+test esi, esi
+je short loc_00457cda ; je 0x457cda
+mov dh, byte [ebx + 0xd]
+and dh, 0xfa
+mov cl, dh
+mov byte [ebx + 0xd], dh
+or cl, 4
+push ebx
+mov byte [ebx + 0xd], cl
+call fcn_004591f9 ; call 0x4591f9
+add esp, 4
+
+loc_00457cda:
+test byte [ebx + 0xc], 0x20
+je short loc_00457ce6 ; je 0x457ce6
+xor edi, edi
+mov dword [esp + 8], edi
+
+loc_00457ce6:
+mov eax, dword [esp]
+mov ebp, dword [ebx + 0xc]
+or ebp, eax
+mov eax, dword [ebx + 0x10]
+push eax
+mov dword [ebx + 0xc], ebp
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+xor edx, edx
+mov eax, dword [esp + 8]
+div dword [esp + 0x28]
+
+loc_00457d08:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00457d10:
+push ebx
+push esi
+push edi
+sub esp, 0x28
+mov edx, dword [esp + 0x38]
+mov edi, dword [esp + 0x40]
+mov esi, dword [esp + 0x3c]
+xor ah, ah
+lea ecx, [esp + 1]
+mov byte [esp], ah
+
+loc_00457d2b:
+lea ebx, [esp + 0x24]
+mov eax, edx
+mov dword [esp + 0x24], edi
+xor edx, edx
+div dword [ebx]
+mov dword [ebx], eax
+mov dl, byte [edx + ref_00488f0c] ; mov dl, byte [edx + 0x488f0c]
+mov byte [ecx], dl
+mov edx, dword [esp + 0x24]
+inc ecx
+test edx, edx
+jne short loc_00457d2b ; jne 0x457d2b
+
+loc_00457d4c:
+dec ecx
+mov dl, byte [ecx]
+mov byte [esi], dl
+inc esi
+test dl, dl
+jne short loc_00457d4c ; jne 0x457d4c
+mov eax, dword [esp + 0x3c]
+add esp, 0x28
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00457d61:
+push ebx
+push esi
+mov edx, dword [esp + 0xc]
+mov ebx, dword [esp + 0x10]
+mov ecx, dword [esp + 0x14]
+mov eax, ebx
+cmp ecx, 0xa
+jne short loc_00457d82 ; jne 0x457d82
+test edx, edx
+jge short loc_00457d82 ; jge 0x457d82
+neg edx
+lea eax, [ebx + 1]
+mov byte [ebx], 0x2d
+
+loc_00457d82:
+mov esi, dword [esp + 0x14]
+push esi
+push eax
+push edx
+call fcn_00457d10 ; call 0x457d10
+add esp, 0xc
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_00457d96:
+mov edx, dword [esp + 8]
+mov eax, dword [esp + 4]
+push eax
+
+loc_00457d9f:
+mov cl, byte [edx]
+mov byte [eax], cl
+cmp cl, 0
+je short loc_00457db9 ; je 0x457db9
+mov cl, byte [edx + 1]
+add edx, 2
+mov byte [eax + 1], cl
+add eax, 2
+cmp cl, 0
+jne short loc_00457d9f ; jne 0x457d9f
+
+loc_00457db9:
+pop eax
+ret
+
+endloc_00457dbb:
+db 0x00
+
+fcn_00457dbc:
+push eax
+wait
+fnstcw word [esp]
+wait
+push dword [esp]
+mov byte [esp + 1], 0x1f
+fldcw word [esp]
+frndint
+fldcw word [esp + 4]
+wait
+lea esp, [esp + 8]
+ret
+
+endloc_00457dd9:
+db 0x00
+
+fcn_00457dda:
+ret
+
+fcn_00457ddb:
+ret
+
+fcn_00457ddc:
+push ebx
+push esi
+push edi
+push es
+push fs
+push gs
+push ebp
+mov ebp, esp
+mov esi, dword [ebp + 0x28]
+mov edi, dword [ebp + 0x2c]
+push dword [ebp + 0x24]
+push dword [ebp + 0x20]
+call edi
+add esp, 8
+test eax, eax
+jle short loc_00457e1f ; jle 0x457e1f
+push esi
+push dword [ebp + 0x20]
+call edi
+add esp, 8
+test eax, eax
+jle short loc_00457e1a ; jle 0x457e1a
+push esi
+push dword [ebp + 0x24]
+call edi
+add esp, 8
+test eax, eax
+jg short loc_00457e39 ; jg 0x457e39
+
+loc_00457e16:
+mov eax, esi
+jmp short loc_00457e3c ; jmp 0x457e3c
+
+loc_00457e1a:
+mov eax, dword [ebp + 0x20]
+jmp short loc_00457e3c ; jmp 0x457e3c
+
+loc_00457e1f:
+push esi
+push dword [ebp + 0x20]
+call edi
+add esp, 8
+test eax, eax
+jge short loc_00457e1a ; jge 0x457e1a
+push esi
+push dword [ebp + 0x24]
+call edi
+add esp, 8
+test eax, eax
+jg short loc_00457e16 ; jg 0x457e16
+
+loc_00457e39:
+mov eax, dword [ebp + 0x24]
+
+loc_00457e3c:
+pop ebp
+
+loc_00457e3d:
+pop gs
+pop fs
+pop es
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00457e46:
+push es
+push ds
+pop es
+movzx edx, cl
+shr ecx, 2
+je short loc_00457e5c ; je 0x457e5c
+
+loc_00457e51:
+mov eax, dword [edi]
+xchg dword [esi], eax
+stosd ; stosd dword es:[edi], eax
+add esi, 4
+dec ecx
+jne short loc_00457e51 ; jne 0x457e51
+
+loc_00457e5c:
+and dl, 3
+je short loc_00457e6a ; je 0x457e6a
+
+loc_00457e61:
+mov al, byte [edi]
+xchg byte [esi], al
+stosb ; stosb byte es:[edi], al
+inc esi
+dec edx
+jne short loc_00457e61 ; jne 0x457e61
+
+loc_00457e6a:
+pop es
+ret
+
+fcn_00457e6c:
+push ebx
+push esi
+push edi
+push es
+push fs
+push gs
+enter 0x150, 0
+mov eax, dword [ebp + 0x20]
+mov dword [ebp - 4], eax
+mov eax, dword [ebp + 0x2c]
+mov dword [ebp - 0x28], eax
+mov eax, dword [ebp + 0x20]
+or eax, dword [ebp + 0x28]
+test al, 3
+je short loc_00457e95 ; je 0x457e95
+mov eax, 2
+jmp short loc_00457e9f ; jmp 0x457e9f
+
+loc_00457e95:
+cmp dword [ebp + 0x28], 4
+seta al
+movzx eax, al
+
+loc_00457e9f:
+mov dword [ebp - 0x2c], eax
+imul eax, dword [ebp + 0x28], 3
+mov dword [ebp - 0x48], eax
+mov eax, dword [ebp + 0x28]
+add eax, eax
+mov dword [ebp - 0x24], 0
+mov dword [ebp - 0x40], eax
+
+loc_00457eb8:
+cmp dword [ebp + 0x24], 1
+jbe near loc_00457f4d ; jbe 0x457f4d
+cmp dword [ebp + 0x24], 0x10
+jae near loc_00457f76 ; jae 0x457f76
+mov eax, dword [ebp - 0x48]
+mov dword [ebp - 0x20], eax
+mov eax, dword [ebp + 0x24]
+imul eax, dword [ebp + 0x28]
+mov ebx, dword [ebp - 4]
+add ebx, eax
+mov dword [ebp - 0x44], ebx
+jmp short loc_00457f47 ; jmp 0x457f47
+
+loc_00457ee3:
+mov eax, dword [ebp - 4]
+add eax, dword [ebp - 0x20]
+mov dword [ebp - 0x30], eax
+jmp short loc_00457f39 ; jmp 0x457f39
+
+loc_00457eee:
+mov dword [ebp - 0x18], eax
+jmp short loc_00457f1a ; jmp 0x457f1a
+
+loc_00457ef3:
+cmp dword [ebp - 0x2c], 0
+je short loc_00457f06 ; je 0x457f06
+mov ecx, dword [ebp + 0x28]
+mov esi, dword [ebp - 0x18]
+call fcn_00457e46 ; call 0x457e46
+jmp short loc_00457f14 ; jmp 0x457f14
+
+loc_00457f06:
+mov ebx, dword [ebp - 0x18]
+mov ecx, dword [ebp - 0x18]
+mov eax, dword [edi]
+mov ebx, dword [ebx]
+mov dword [ecx], eax
+mov dword [edi], ebx
+
+loc_00457f14:
+mov eax, dword [ebp - 0x20]
+sub dword [ebp - 0x18], eax
+
+loc_00457f1a:
+mov eax, dword [ebp - 0x18]
+cmp eax, dword [ebp - 4]
+jbe short loc_00457f33 ; jbe 0x457f33
+mov edi, eax
+push eax
+sub edi, dword [ebp - 0x20]
+push edi
+call dword [ebp - 0x28] ; ucall
+add esp, 8
+test eax, eax
+jg short loc_00457ef3 ; jg 0x457ef3
+
+loc_00457f33:
+mov eax, dword [ebp - 0x20]
+add dword [ebp - 0x30], eax
+
+loc_00457f39:
+mov eax, dword [ebp - 0x30]
+cmp eax, dword [ebp - 0x44]
+jb short loc_00457eee ; jb 0x457eee
+mov eax, dword [ebp - 0x40]
+sub dword [ebp - 0x20], eax
+
+loc_00457f47:
+cmp dword [ebp - 0x20], 0
+jg short loc_00457ee3 ; jg 0x457ee3
+
+loc_00457f4d:
+cmp dword [ebp - 0x24], 0
+je near loc_00458257 ; je 0x458257
+dec dword [ebp - 0x24]
+mov eax, dword [ebp - 0x24]
+mov ebx, dword [ebp + eax*4 - 0x150]
+mov eax, dword [ebp + eax*4 - 0xd0]
+mov dword [ebp - 4], ebx
+mov dword [ebp + 0x24], eax
+jmp near loc_00457eb8 ; jmp 0x457eb8
+
+loc_00457f76:
+mov eax, dword [ebp + 0x24]
+shr eax, 1
+imul eax, dword [ebp + 0x28]
+mov edi, dword [ebp - 4]
+add edi, eax
+cmp dword [ebp + 0x24], 0x1d
+jbe near loc_00458010 ; jbe 0x458010
+mov esi, dword [ebp + 0x24]
+dec esi
+imul esi, dword [ebp + 0x28]
+mov eax, dword [ebp - 4]
+mov dword [ebp - 0x3c], eax
+add esi, eax
+cmp dword [ebp + 0x24], 0x2a
+jbe short loc_00457ffe ; jbe 0x457ffe
+mov ebx, dword [ebp + 0x24]
+shr ebx, 3
+imul ebx, dword [ebp + 0x28]
+lea eax, [ebx + ebx]
+mov dword [ebp - 0x4c], eax
+mov eax, dword [ebp - 4]
+push dword [ebp - 0x28]
+add eax, dword [ebp - 0x4c]
+push eax
+mov eax, dword [ebp - 4]
+add eax, ebx
+push eax
+push dword [ebp - 4]
+call fcn_00457ddc ; call 0x457ddc
+add esp, 0x10
+mov dword [ebp - 0x3c], eax
+push dword [ebp - 0x28]
+lea eax, [edi + ebx]
+push eax
+push edi
+sub edi, ebx
+push edi
+call fcn_00457ddc ; call 0x457ddc
+add esp, 0x10
+mov edi, eax
+push dword [ebp - 0x28]
+mov eax, esi
+push esi
+sub eax, ebx
+push eax
+sub esi, dword [ebp - 0x4c]
+push esi
+call fcn_00457ddc ; call 0x457ddc
+add esp, 0x10
+mov esi, eax
+
+loc_00457ffe:
+push dword [ebp - 0x28]
+push esi
+push edi
+push dword [ebp - 0x3c]
+call fcn_00457ddc ; call 0x457ddc
+add esp, 0x10
+mov edi, eax
+
+loc_00458010:
+cmp dword [ebp - 0x2c], 0
+je short loc_00458037 ; je 0x458037
+mov eax, dword [ebp - 4]
+mov dword [ebp - 0x38], eax
+je short loc_0045802a ; je 0x45802a
+mov ecx, dword [ebp + 0x28]
+mov esi, eax
+call fcn_00457e46 ; call 0x457e46
+jmp short loc_00458042 ; jmp 0x458042
+
+loc_0045802a:
+mov ecx, dword [ebp - 4]
+mov ebx, dword [eax]
+mov eax, dword [edi]
+mov dword [ecx], eax
+mov dword [edi], ebx
+jmp short loc_00458042 ; jmp 0x458042
+
+loc_00458037:
+lea eax, [ebp - 0x50]
+mov dword [ebp - 0x38], eax
+mov eax, dword [edi]
+mov dword [ebp - 0x50], eax
+
+loc_00458042:
+mov eax, dword [ebp - 4]
+mov dword [ebp - 8], eax
+mov dword [ebp - 0x1c], eax
+mov eax, dword [ebp + 0x24]
+dec eax
+imul eax, dword [ebp + 0x28]
+mov ebx, dword [ebp - 4]
+add ebx, eax
+mov eax, dword [ebp + 0x24]
+mov dword [ebp - 0x14], ebx
+mov dword [ebp - 0xc], ebx
+mov dword [ebp - 0x10], eax
+
+loc_00458064:
+cmp dword [ebp - 0x10], 0
+je short loc_004580b7 ; je 0x4580b7
+push dword [ebp - 0x38]
+push dword [ebp - 8]
+call dword [ebp - 0x28] ; ucall
+add esp, 8
+test eax, eax
+jg short loc_004580b7 ; jg 0x4580b7
+jne short loc_004580ac ; jne 0x4580ac
+cmp dword [ebp - 0x2c], 0
+je short loc_00458092 ; je 0x458092
+mov ecx, dword [ebp + 0x28]
+mov edi, dword [ebp - 8]
+mov esi, dword [ebp - 0x1c]
+call fcn_00457e46 ; call 0x457e46
+jmp short loc_004580a6 ; jmp 0x4580a6
+
+loc_00458092:
+mov eax, dword [ebp - 8]
+mov ebx, dword [ebp - 0x1c]
+mov ecx, dword [ebp - 0x1c]
+mov eax, dword [eax]
+mov ebx, dword [ebx]
+mov dword [ecx], eax
+mov eax, dword [ebp - 8]
+mov dword [eax], ebx
+
+loc_004580a6:
+mov eax, dword [ebp + 0x28]
+add dword [ebp - 0x1c], eax
+
+loc_004580ac:
+mov eax, dword [ebp + 0x28]
+dec dword [ebp - 0x10]
+add dword [ebp - 8], eax
+jmp short loc_00458064 ; jmp 0x458064
+
+loc_004580b7:
+cmp dword [ebp - 0x10], 0
+je short loc_0045810a ; je 0x45810a
+push dword [ebp - 0x38]
+push dword [ebp - 0xc]
+call dword [ebp - 0x28] ; ucall
+add esp, 8
+test eax, eax
+jl short loc_0045810a ; jl 0x45810a
+jne short loc_004580ff ; jne 0x4580ff
+cmp dword [ebp - 0x2c], 0
+je short loc_004580e5 ; je 0x4580e5
+mov ecx, dword [ebp + 0x28]
+mov edi, dword [ebp - 0x14]
+mov esi, dword [ebp - 0xc]
+call fcn_00457e46 ; call 0x457e46
+jmp short loc_004580f9 ; jmp 0x4580f9
+
+loc_004580e5:
+mov eax, dword [ebp - 0x14]
+mov ebx, dword [ebp - 0xc]
+mov ecx, dword [ebp - 0xc]
+mov eax, dword [eax]
+mov ebx, dword [ebx]
+mov dword [ecx], eax
+mov eax, dword [ebp - 0x14]
+mov dword [eax], ebx
+
+loc_004580f9:
+mov eax, dword [ebp + 0x28]
+sub dword [ebp - 0x14], eax
+
+loc_004580ff:
+mov eax, dword [ebp + 0x28]
+dec dword [ebp - 0x10]
+sub dword [ebp - 0xc], eax
+jmp short loc_004580b7 ; jmp 0x4580b7
+
+loc_0045810a:
+cmp dword [ebp - 0x10], 0
+je short loc_00458150 ; je 0x458150
+cmp dword [ebp - 0x2c], 0
+je short loc_00458126 ; je 0x458126
+mov ecx, dword [ebp + 0x28]
+mov edi, dword [ebp - 0xc]
+mov esi, dword [ebp - 8]
+call fcn_00457e46 ; call 0x457e46
+jmp short loc_0045813a ; jmp 0x45813a
+
+loc_00458126:
+mov eax, dword [ebp - 0xc]
+mov ebx, dword [ebp - 8]
+mov ecx, dword [ebp - 8]
+mov eax, dword [eax]
+mov ebx, dword [ebx]
+mov dword [ecx], eax
+mov eax, dword [ebp - 0xc]
+mov dword [eax], ebx
+
+loc_0045813a:
+mov eax, dword [ebp + 0x28]
+add dword [ebp - 8], eax
+dec dword [ebp - 0x10]
+je short loc_00458150 ; je 0x458150
+dec dword [ebp - 0x10]
+sub dword [ebp - 0xc], eax
+jmp near loc_00458064 ; jmp 0x458064
+
+loc_00458150:
+mov eax, dword [ebp + 0x24]
+imul eax, dword [ebp + 0x28]
+mov ebx, dword [ebp - 4]
+mov ecx, dword [ebp - 0x1c]
+add ebx, eax
+mov eax, dword [ebp - 8]
+sub ecx, dword [ebp - 4]
+sub eax, dword [ebp - 0x1c]
+mov dword [ebp - 0x34], ebx
+cmp ecx, eax
+jl short loc_00458171 ; jl 0x458171
+mov ecx, eax
+
+loc_00458171:
+test ecx, ecx
+jbe short loc_004581a2 ; jbe 0x4581a2
+mov edi, dword [ebp - 8]
+mov esi, dword [ebp - 4]
+sub edi, ecx
+push es
+push ds
+pop es
+movzx edx, cl
+shr ecx, 2
+je short loc_00458193 ; je 0x458193
+
+loc_00458188:
+mov eax, dword [edi]
+xchg dword [esi], eax
+stosd ; stosd dword es:[edi], eax
+add esi, 4
+dec ecx
+jne short loc_00458188 ; jne 0x458188
+
+loc_00458193:
+and dl, 3
+je short loc_004581a1 ; je 0x4581a1
+
+loc_00458198:
+mov al, byte [edi]
+xchg byte [esi], al
+stosb ; stosb byte es:[edi], al
+inc esi
+dec edx
+jne short loc_00458198 ; jne 0x458198
+
+loc_004581a1:
+pop es
+
+loc_004581a2:
+mov ecx, dword [ebp - 0x34]
+mov eax, dword [ebp - 0x14]
+sub ecx, dword [ebp - 0x14]
+sub eax, dword [ebp - 0xc]
+sub ecx, dword [ebp + 0x28]
+cmp eax, ecx
+jae short loc_004581b7 ; jae 0x4581b7
+mov ecx, eax
+
+loc_004581b7:
+test ecx, ecx
+jbe short loc_004581e8 ; jbe 0x4581e8
+mov edi, dword [ebp - 0x34]
+mov esi, dword [ebp - 8]
+sub edi, ecx
+push es
+push ds
+pop es
+movzx edx, cl
+shr ecx, 2
+je short loc_004581d9 ; je 0x4581d9
+
+loc_004581ce:
+mov eax, dword [edi]
+xchg dword [esi], eax
+stosd ; stosd dword es:[edi], eax
+add esi, 4
+dec ecx
+jne short loc_004581ce ; jne 0x4581ce
+
+loc_004581d9:
+and dl, 3
+je short loc_004581e7 ; je 0x4581e7
+
+loc_004581de:
+mov al, byte [edi]
+xchg byte [esi], al
+stosb ; stosb byte es:[edi], al
+inc esi
+dec edx
+jne short loc_004581de ; jne 0x4581de
+
+loc_004581e7:
+pop es
+
+loc_004581e8:
+mov ebx, dword [ebp - 8]
+mov ecx, dword [ebp - 0x14]
+mov esi, dword [ebp - 0x34]
+mov edi, dword [ebp - 0x24]
+sub ebx, dword [ebp - 0x1c]
+sub ecx, dword [ebp - 0xc]
+shl edi, 2
+sub esi, ecx
+cmp ecx, ebx
+jb short loc_00458221 ; jb 0x458221
+mov eax, ecx
+xor edx, edx
+div dword [ebp + 0x28]
+xor edx, edx
+mov dword [edi + ebp - 0xd0], eax
+mov eax, ebx
+div dword [ebp + 0x28]
+mov dword [edi + ebp - 0x150], esi
+jmp short loc_0045824c ; jmp 0x45824c
+
+loc_00458221:
+cmp ebx, dword [ebp + 0x28]
+jbe near loc_00457f4d ; jbe 0x457f4d
+mov eax, dword [ebp - 4]
+xor edx, edx
+mov dword [edi + ebp - 0x150], eax
+mov eax, ebx
+div dword [ebp + 0x28]
+xor edx, edx
+mov dword [edi + ebp - 0xd0], eax
+mov eax, ecx
+div dword [ebp + 0x28]
+mov dword [ebp - 4], esi
+
+loc_0045824c:
+mov dword [ebp + 0x24], eax
+inc dword [ebp - 0x24]
+jmp near loc_00457eb8 ; jmp 0x457eb8
+
+loc_00458257:
+leave
+jmp near loc_00457e3d ; jmp 0x457e3d
+
+fcn_0045825d:
+push edi
+mov edi, dword [esp + 8]
+push es
+mov eax, ds
+mov es, eax
+sub ecx, ecx
+dec ecx
+xor eax, eax
+repne scasb ; repne scasb al, byte es:[edi]
+not ecx
+dec ecx
+pop es
+mov eax, ecx
+pop edi
+ret
+
+fcn_00458276:
+mov eax, dword [esp + 4]
+test eax, eax
+jge short loc_00458280 ; jge 0x458280
+neg eax
+
+loc_00458280:
+ret
+
+endloc_00458281:
+db 0x00
+db 0xf6
+db 0x44
+dd 0x74800b24
+dd 0x24448b23
+dd 0xffff2508
+dd 0x440b7fff
+dd 0x14740424
+dd 0x74ff036a
+dd 0x74ff0c24
+dd 0xaae80c24
+dd 0x83000019
+dd 0x0feb0cc4
+dd 0x042444dd
+dd 0xec83fad9
+dd 0x241cdd08
+dd 0xc35a589b
+
+fcn_004582bc:
+mov al, 3
+push ebp
+mov ebp, esp
+ftst
+sub esp, 0x10
+wait
+fnstsw [ebp - 8]
+wait
+xchg word [ebp - 8], ax
+sahf
+jae short loc_004582f4 ; jae 0x4582f4
+fstp qword [ebp - 0x10]
+mov eax, dword [ebp - 8]
+cmp al, 3
+je short loc_004582df ; je 0x4582df
+fstp qword [ebp - 0x10]
+
+loc_004582df:
+mov dword [ebp - 4], edx
+call fcn_00459c51 ; call 0x459c51
+push edx
+push eax
+fld qword [esp]
+mov edx, dword [ebp - 4]
+wait
+mov al, 1
+jmp short loc_004582f8 ; jmp 0x4582f8
+
+loc_004582f4:
+fsqrt
+mov al, 0
+
+loc_004582f8:
+mov esp, ebp
+pop ebp
+ret
+
+fcn_004582fc:
+push esi
+push edi
+mov esi, dword [esp + 0x10]
+mov edi, dword [esp + 0xc]
+push es
+push ds
+pop es
+push edi
+sub ecx, ecx
+dec ecx
+mov al, 0
+repne scasb ; repne scasb al, byte es:[edi]
+dec edi
+
+loc_00458312:
+mov al, byte [esi]
+mov byte [edi], al
+cmp al, 0
+je short loc_0045832a ; je 0x45832a
+mov al, byte [esi + 1]
+add esi, 2
+mov byte [edi + 1], al
+add edi, 2
+cmp al, 0
+jne short loc_00458312 ; jne 0x458312
+
+loc_0045832a:
+pop edi
+pop es
+mov eax, edi
+pop edi
+pop esi
+ret
+
+fcn_00458331:
+push ebx
+sub esp, 0x10
+mov ebx, dword [esp + 0x18]
+mov eax, esp
+push eax
+call dword [cs:__imp__GetLocalTime@4] ; ucall: call dword cs:[0x4623b0]
+mov al, byte [esp + 6]
+mov byte [ebx], al
+mov al, byte [esp + 2]
+mov byte [ebx + 1], al
+mov eax, dword [esp]
+mov word [ebx + 2], ax
+mov al, byte [esp + 4]
+mov byte [ebx + 4], al
+add esp, 0x10
+pop ebx
+ret
+
+endloc_00458363:
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+fcn_00458370:
+push edx
+mov eax, dword [esp + 8]
+mov edx, dword [esp + 0xc]
+push ebx
+push ecx
+mov ebx, eax
+cmp eax, edx
+je short loc_004583ed ; je 0x4583ed
+
+loc_00458381:
+mov eax, dword [ebx]
+mov ecx, dword [edx]
+cmp ecx, eax
+jne short loc_004583f3 ; jne 0x4583f3
+not ecx
+add eax, 0xfefefeff
+and eax, ecx
+and eax, 0x80808080
+jne short loc_004583ed ; jne 0x4583ed
+mov eax, dword [ebx + 4]
+mov ecx, dword [edx + 4]
+cmp ecx, eax
+jne short loc_004583f3 ; jne 0x4583f3
+not ecx
+add eax, 0xfefefeff
+and eax, ecx
+and eax, 0x80808080
+jne short loc_004583ed ; jne 0x4583ed
+mov eax, dword [ebx + 8]
+mov ecx, dword [edx + 8]
+cmp ecx, eax
+jne short loc_004583f3 ; jne 0x4583f3
+not ecx
+add eax, 0xfefefeff
+and eax, ecx
+and eax, 0x80808080
+jne short loc_004583ed ; jne 0x4583ed
+mov eax, dword [ebx + 0xc]
+mov ecx, dword [edx + 0xc]
+cmp ecx, eax
+jne short loc_004583f3 ; jne 0x4583f3
+add ebx, 0x10
+add edx, 0x10
+not ecx
+add eax, 0xfefefeff
+and eax, ecx
+and eax, 0x80808080
+je short loc_00458381 ; je 0x458381
+
+loc_004583ed:
+sub eax, eax
+pop ecx
+pop ebx
+pop edx
+ret
+
+loc_004583f3:
+cmp al, cl
+jne short loc_00458414 ; jne 0x458414
+cmp al, 0
+je short loc_004583ed ; je 0x4583ed
+cmp ah, ch
+jne short loc_00458414 ; jne 0x458414
+cmp ah, 0
+je short loc_004583ed ; je 0x4583ed
+shr eax, 0x10
+shr ecx, 0x10
+cmp al, cl
+jne short loc_00458414 ; jne 0x458414
+cmp al, 0
+je short loc_004583ed ; je 0x4583ed
+cmp ah, ch
+
+loc_00458414:
+sbb eax, eax
+or al, 1
+pop ecx
+pop ebx
+pop edx
+ret
+
+fcn_0045841c:
+test byte [ref_0048936c], 1 ; test byte [0x48936c], 1
+jne short loc_00458429 ; jne 0x458429
+fprem
+jmp short loc_0045842e ; jmp 0x45842e
+
+loc_00458429:
+call fcn_00460bde ; call 0x460bde
+
+loc_0045842e:
+fnstsw ax
+sahf
+jp short fcn_0045841c ; jp 0x45841c
+fstp st1 ; fstp st(1)
+ret
+
+endloc_00458436:
+db 0xdd
+db 0x44
+dd 0x44dd0c24
+dd 0xd9e80424
+dd 0x83ffffff
+dd 0x1cdd08ec
+dd 0x5a589b24
+db 0xc3
+db 0x00
+
+fcn_0045844e:
+fcos
+call fcn_00458462 ; call 0x458462
+jae short fcn_0045844e ; jae 0x45844e
+ret
+
+fcn_00458458:
+fsin
+call fcn_00458462 ; call 0x458462
+jae short fcn_00458458 ; jae 0x458458
+ret
+
+fcn_00458462:
+push ebp
+mov ebp, esp
+push eax
+wait
+fnstsw [ebp - 2]
+mov ah, byte [ebp - 1]
+or ah, 1
+sahf
+jnp short loc_0045848a ; jnp 0x45848a
+fld tword [ref_00488f3c] ; fld xword [0x488f3c]
+fxch st1 ; fxch st(1)
+
+loc_0045847b:
+fprem
+wait
+fnstsw [ebp - 2]
+mov ah, byte [ebp - 1]
+sahf
+jp short loc_0045847b ; jp 0x45847b
+fstp st1 ; fstp st(1)
+clc
+
+loc_0045848a:
+pop eax
+pop ebp
+ret
+
+endloc_0045848d:
+db 0xdd
+db 0x44
+db 0x24
+dd 0xffb8e804
+dd 0xec83ffff
+dd 0x241cdd08
+dd 0xc35a589b
+dd 0x042444dd
+dd 0xffffafe8
+dd 0x08ec83ff
+dd 0x9b241cdd
+db 0x58
+db 0x5a
+db 0xc3
+
+fcn_004584b3:
+test byte [ref_0048936c], 1 ; test byte [0x48936c], 1
+jne short loc_004584c0 ; jne 0x4584c0
+fptan
+jmp short loc_004584c5 ; jmp 0x4584c5
+
+loc_004584c0:
+call fcn_00459cfc ; call 0x459cfc
+
+loc_004584c5:
+fstp st0 ; fstp st(0)
+ret
+
+endloc_004584c8:
+dd 0x042444dd
+dd 0xffffe2e8
+dd 0x08ec83ff
+dd 0x9b241cdd
+db 0x58
+db 0x5a
+db 0xc3
+
+fcn_004584db:
+push ebx
+mov eax, dword [esp + 8]
+
+loc_004584e0:
+mov dl, byte [eax]
+inc dl
+and edx, 0xff
+test byte [edx + ref_00489370], 2 ; test byte [edx + 0x489370], 2
+je short loc_004584f6 ; je 0x4584f6
+inc eax
+jmp short loc_004584e0 ; jmp 0x4584e0
+
+loc_004584f6:
+mov cl, byte [eax]
+cmp cl, 0x2b
+je short loc_00458502 ; je 0x458502
+cmp cl, 0x2d
+jne short loc_00458503 ; jne 0x458503
+
+loc_00458502:
+inc eax
+
+loc_00458503:
+xor ebx, ebx
+
+loc_00458505:
+mov dl, byte [eax]
+inc dl
+and edx, 0xff
+test byte [edx + ref_00489370], 0x20 ; test byte [edx + 0x489370], 0x20
+je short loc_00458527 ; je 0x458527
+imul ebx, ebx, 0xa
+xor edx, edx
+mov dl, byte [eax]
+add ebx, edx
+inc eax
+sub ebx, 0x30
+jmp short loc_00458505 ; jmp 0x458505
+
+loc_00458527:
+cmp cl, 0x2d
+jne short loc_0045852e ; jne 0x45852e
+neg ebx
+
+loc_0045852e:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_00458532:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+test byte [ebx + 0xc], 0x80
+je short loc_0045854f ; je 0x45854f
+test byte [ebx + 0xd], 0x10
+je short loc_0045854f ; je 0x45854f
+push ebx
+call fcn_00459dad ; call 0x459dad
+add esp, 4
+
+loc_0045854f:
+mov edx, dword [ebx + 0x10]
+push edx
+call fcn_004593a9 ; call 0x4593a9
+mov esi, eax
+add esp, 4
+mov edi, eax
+cmp eax, 0xffffffff
+je short loc_00458592 ; je 0x458592
+mov ecx, dword [ebx + 0x10]
+push ecx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov ebp, dword [ebx + 4]
+add esp, 4
+test ebp, ebp
+je short loc_00458585 ; je 0x458585
+test byte [ebx + 0xd], 0x10
+je short loc_00458583 ; je 0x458583
+lea edi, [esi + ebp]
+jmp short loc_00458585 ; jmp 0x458585
+
+loc_00458583:
+sub edi, ebp
+
+loc_00458585:
+mov edx, dword [ebx + 0x10]
+push edx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+
+loc_00458592:
+mov eax, edi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00458599:
+push esi
+push edi
+mov ecx, dword [esp + 0x14]
+mov edi, dword [esp + 0x10]
+mov esi, dword [esp + 0xc]
+push es
+mov eax, ds
+mov es, eax
+xor eax, eax
+repe cmpsb ; repe cmpsb byte [esi], byte ptr es:[edi]
+je short loc_004585b7 ; je 0x4585b7
+sbb eax, eax
+sbb eax, 0xffffffff
+
+loc_004585b7:
+pop es
+pop edi
+pop esi
+ret
+
+endloc_004585bb:
+db 0x00
+
+fcn_004585bc:
+jmp near fcn_00459dc7 ; jmp 0x459dc7
+
+endloc_004585c1:
+db 0xff
+db 0x15
+dd ref_00488f4c
+db 0x05
+dd 0x000000da
+db 0xc3
+
+fcn_004585cd:
+mov eax, dword [ref_004991c4] ; mov eax, dword [0x4991c4]
+
+fcn_004585d2:
+ret
+
+fcn_004585d3:
+mov edx, dword [esp + 4]
+push edx
+call fcn_00459e49 ; call 0x459e49
+add esp, 4
+ret
+
+fcn_004585e1:
+mov edx, dword [esp + 4]
+push edx
+call fcn_00459f7f ; call 0x459f7f
+add esp, 4
+
+fcn_004585ee:
+ret
+
+fcn_004585ef:
+push ebx
+push esi
+push edi
+sub esp, 0x618
+mov edx, dword [esp + 0x62c]
+mov eax, dword [esp + 0x628]
+push edx
+mov dword [ref_004991c0], eax ; mov dword [0x4991c0], eax
+call fcn_0045a23d ; call 0x45a23d
+add esp, 4
+mov dword [ref_004991c4], eax ; mov dword [0x4991c4], eax
+test eax, eax
+jne short loc_00458634 ; jne 0x458634
+cmp dword [esp + 0x628], 0
+jne near loc_0045884f ; jne 0x45884f
+push 1
+call dword [cs:__imp__ExitProcess@4] ; ucall: call dword cs:[0x462364]
+
+loc_00458634:
+call fcn_00459fab ; call 0x459fab
+call dword [cs:__imp__GetEnvironmentStrings@0] ; ucall: call dword cs:[0x462398]
+xor ecx, ecx
+mov dword [ref_0048934d], eax ; mov dword [0x48934d], eax
+mov dword [ref_00499944], ecx ; mov dword [0x499944], ecx
+call dword [cs:__imp__GetVersion@0] ; ucall: call dword cs:[0x4623d0]
+mov edx, eax
+mov ebx, eax
+mov byte [ref_00489353], al ; mov byte [0x489353], al
+shr eax, 0x10
+and eax, 0xffff
+mov word [ref_00489355], ax ; mov word [0x489355], ax
+xor eax, eax
+mov ax, word [ref_00489355] ; mov ax, word [0x489355]
+and edx, 0xffff
+mov dword [ref_00489357], eax ; mov dword [0x489357], eax
+xor eax, eax
+sar edx, 8
+mov al, bl
+and edx, 0xff
+mov dword [ref_0048935b], eax ; mov dword [0x48935b], eax
+xor eax, eax
+mov byte [ref_00489354], dl ; mov byte [0x489354], dl
+mov al, dl
+mov edx, dword [ref_0048935b] ; mov edx, dword [0x48935b]
+push 0x104
+shl edx, 8
+mov dword [ref_0048935f], eax ; mov dword [0x48935f], eax
+or edx, eax
+lea eax, [esp + 0x414]
+push eax
+push 0
+mov dword [ref_00489363], edx ; mov dword [0x489363], edx
+call dword [cs:__imp__GetModuleFileNameA@12] ; ucall: call dword cs:[0x4623b4]
+lea eax, [esp + 0x410]
+push eax
+call fcn_0045a53f ; call 0x45a53f
+add esp, 4
+push 0x208
+mov dword [ref_00489314], eax ; mov dword [0x489314], eax
+lea eax, [esp + 0x20c]
+push eax
+push 0
+call fcn_0045a58a ; call 0x45a58a
+add esp, 0xc
+lea eax, [esp + 0x208]
+push eax
+call fcn_0045a62f ; call 0x45a62f
+add esp, 4
+mov dword [ref_00489320], eax ; mov dword [0x489320], eax
+call dword [cs:__imp__GetCommandLineA@0] ; ucall: call dword cs:[0x462378]
+push eax
+call fcn_0045a53f ; call 0x45a53f
+mov edx, eax
+mov bl, byte [eax]
+add esp, 4
+cmp bl, 0x22
+jne short loc_00458734 ; jne 0x458734
+
+loc_00458720:
+inc eax
+mov ch, byte [eax]
+cmp ch, 0x22
+je short loc_0045872c ; je 0x45872c
+test ch, ch
+jne short loc_00458720 ; jne 0x458720
+
+loc_0045872c:
+cmp byte [eax], 0
+je short loc_0045874f ; je 0x45874f
+
+loc_00458731:
+inc eax
+jmp short loc_0045874f ; jmp 0x45874f
+
+loc_00458734:
+mov dl, byte [eax]
+inc dl
+and edx, 0xff
+test byte [edx + ref_00489370], 2 ; test byte [edx + 0x489370], 2
+jne short loc_0045874f ; jne 0x45874f
+cmp byte [eax], 0
+je short loc_0045874f ; je 0x45874f
+inc eax
+jmp short loc_00458734 ; jmp 0x458734
+
+loc_0045874f:
+mov dl, byte [eax]
+inc dl
+and edx, 0xff
+test byte [edx + ref_00489370], 2 ; test byte [edx + 0x489370], 2
+jne short loc_00458731 ; jne 0x458731
+mov dword [ref_00489310], eax ; mov dword [0x489310], eax
+call dword [cs:__imp__GetCommandLineW@0] ; ucall: call dword cs:[0x46237c]
+test eax, eax
+je near loc_004587d9 ; je 0x4587d9
+push eax
+call fcn_0045a62f ; call 0x45a62f
+mov edx, eax
+mov bx, word [eax]
+add esp, 4
+cmp bx, 0x22
+jne short loc_004587a6 ; jne 0x4587a6
+
+loc_0045878a:
+add eax, 2
+mov si, word [eax]
+cmp si, 0x22
+je short loc_0045879b ; je 0x45879b
+test si, si
+jne short loc_0045878a ; jne 0x45878a
+
+loc_0045879b:
+cmp word [eax], 0
+je short loc_004587c4 ; je 0x4587c4
+
+loc_004587a1:
+add eax, 2
+jmp short loc_004587c4 ; jmp 0x4587c4
+
+loc_004587a6:
+mov dl, byte [eax]
+inc dl
+and edx, 0xff
+test byte [edx + ref_00489370], 2 ; test byte [edx + 0x489370], 2
+jne short loc_004587c4 ; jne 0x4587c4
+cmp word [eax], 0
+je short loc_004587c4 ; je 0x4587c4
+add eax, 2
+jmp short loc_004587a6 ; jmp 0x4587a6
+
+loc_004587c4:
+mov dl, byte [eax]
+inc dl
+and edx, 0xff
+test byte [edx + ref_00489370], 2 ; test byte [edx + 0x489370], 2
+je short loc_004587e6 ; je 0x4587e6
+jmp short loc_004587a1 ; jmp 0x4587a1
+
+loc_004587d9:
+push ref_0046c410 ; push 0x46c410
+call fcn_0045a62f ; call 0x45a62f
+add esp, 4
+
+loc_004587e6:
+mov esi, dword [esp + 0x628]
+mov dword [ref_0048931c], eax ; mov dword [0x48931c], eax
+test esi, esi
+je short loc_0045884a ; je 0x45884a
+push 0x104
+lea eax, [esp + 0x518]
+push eax
+mov edi, dword [esp + 0x638]
+push edi
+call dword [cs:__imp__GetModuleFileNameA@12] ; ucall: call dword cs:[0x4623b4]
+lea eax, [esp + 0x514]
+push eax
+call fcn_0045a53f ; call 0x45a53f
+add esp, 4
+push 0x208
+mov dword [ref_00489318], eax ; mov dword [0x489318], eax
+lea eax, [esp + 4]
+push eax
+push edi
+call fcn_0045a58a ; call 0x45a58a
+add esp, 0xc
+mov eax, esp
+push eax
+call fcn_0045a62f ; call 0x45a62f
+add esp, 4
+mov dword [ref_00489324], eax ; mov dword [0x489324], eax
+
+loc_0045884a:
+mov eax, 1
+
+loc_0045884f:
+add esp, 0x618
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00458859:
+push ebx
+push 0
+call dword [cs:__imp__GetModuleHandleA@4] ; ucall: call dword cs:[0x4623bc]
+push eax
+mov edx, dword [esp + 0x10]
+push edx
+push 0
+call fcn_004585ef ; call 0x4585ef
+add esp, 0xc
+push ref_00489330 ; push 0x489330
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+push eax
+call fcn_0045a666 ; call 0x45a666
+add esp, 8
+mov ebx, dword [esp + 8]
+push ebx
+call fcn_0045ab58 ; call 0x45ab58
+add esp, 4
+mov eax, 0x21
+call fcn_0045abd6 ; call 0x45abd6
+call dword [ref_00488f8c] ; ucall: call dword [0x488f8c]
+mov eax, 0xff
+call fcn_0045abd6 ; call 0x45abd6
+pop ebx
+ret
+
+loc_004588b0:
+cmp dword [ref_004991c0], 0 ; cmp dword [0x4991c0], 0
+je short loc_004588d4 ; je 0x4588d4
+cmp dword [ref_00488f94], 0 ; cmp dword [0x488f94], 0
+je short loc_004588eb ; je 0x4588eb
+push 0xff
+push 0
+call dword [ref_00488f94] ; ucall: call dword [0x488f94]
+add esp, 8
+jmp short loc_004588eb ; jmp 0x4588eb
+
+loc_004588d4:
+call fcn_0045aba4 ; call 0x45aba4
+mov edx, 0xf
+xor eax, eax
+call fcn_0045ac2a ; call 0x45ac2a
+call dword [ref_00488f88] ; ucall: call dword [0x488f88]
+
+loc_004588eb:
+mov ecx, dword [esp]
+push ecx
+call dword [cs:__imp__ExitProcess@4] ; ucall: call dword cs:[0x462364]
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+
+fcn_00458900:
+push esi
+push edi
+push ebp
+xor ebp, ebp
+test eax, eax
+je near loc_004589a7 ; je 0x4589a7
+lea ecx, [eax + 0xb]
+cmp ecx, eax
+jb near loc_004589a7 ; jb 0x4589a7
+mov edi, ebx
+and cl, 0xf8
+mov eax, dword [ebx + 0x14]
+cmp ecx, 0x10
+jae short loc_0045892a ; jae 0x45892a
+mov ecx, 0x10
+
+loc_0045892a:
+cmp ecx, eax
+ja near loc_004589a7 ; ja 0x4589a7
+mov ebx, dword [edi + 0x10]
+mov eax, dword [edi + 0xc]
+cmp ecx, ebx
+ja short loc_00458941 ; ja 0x458941
+mov eax, dword [edi + 0x28]
+xor ebx, ebx
+
+loc_00458941:
+lea esi, [edi + 0x20]
+
+loc_00458944:
+mov edx, dword [eax]
+cmp ecx, edx
+jbe short loc_0045895c ; jbe 0x45895c
+cmp edx, ebx
+jbe short loc_00458950 ; jbe 0x458950
+mov ebx, edx
+
+loc_00458950:
+mov eax, dword [eax + 8]
+cmp eax, esi
+jne short loc_00458944 ; jne 0x458944
+mov dword [edi + 0x14], ebx
+jmp short loc_004589a7 ; jmp 0x4589a7
+
+loc_0045895c:
+mov dword [edi + 0x10], ebx
+mov ebx, dword [edi + 0x18]
+inc ebx
+sub edx, ecx
+mov dword [edi + 0x18], ebx
+cmp edx, 0x10
+jb short loc_0045898b ; jb 0x45898b
+lea ebx, [eax + ecx]
+mov dword [edi + 0xc], ebx
+mov dword [ebx], edx
+mov dword [eax], ecx
+mov ecx, dword [eax + 4]
+mov dword [ebx + 4], ecx
+mov edx, dword [eax + 8]
+mov dword [ebx + 8], edx
+mov dword [ecx + 8], ebx
+mov dword [edx + 4], ebx
+jmp short loc_0045899d ; jmp 0x45899d
+
+loc_0045898b:
+dec dword [edi + 0x1c]
+mov edx, dword [eax + 4]
+mov dword [edi + 0xc], edx
+mov ebx, dword [eax + 8]
+mov dword [edx + 8], ebx
+mov dword [ebx + 4], edx
+
+loc_0045899d:
+mov dl, byte [eax]
+or dl, 1
+lea ebp, [eax + 4]
+mov byte [eax], dl
+
+loc_004589a7:
+mov eax, ebp
+pop ebp
+pop edi
+pop esi
+ret
+
+endloc_004589ad:
+db 0x8d
+db 0x40
+db 0x00
+
+fcn_004589b0:
+push esi
+push edi
+push ebp
+mov ecx, ebx
+test eax, eax
+je near loc_00458ada ; je 0x458ada
+lea ebx, [eax - 4]
+test byte [ebx], 1
+je near loc_00458ada ; je 0x458ada
+mov edx, dword [ebx]
+and dl, 0xfe
+lea eax, [ebx + edx]
+mov esi, ecx
+test byte [eax], 1
+jne short loc_004589fa ; jne 0x4589fa
+mov edi, dword [eax]
+add edx, edi
+mov dword [ebx], edx
+cmp eax, dword [ecx + 0xc]
+jne short loc_004589e6 ; jne 0x4589e6
+mov dword [ecx + 0xc], ebx
+
+loc_004589e6:
+mov edx, dword [eax + 4]
+mov eax, dword [eax + 8]
+mov dword [edx + 8], eax
+mov dword [eax + 4], edx
+dec dword [esi + 0x1c]
+jmp near loc_00458a8e ; jmp 0x458a8e
+
+loc_004589fa:
+mov dword [ebx], edx
+mov eax, dword [ecx + 0xc]
+cmp ebx, eax
+jae short loc_00458a19 ; jae 0x458a19
+cmp ebx, dword [eax + 4]
+ja near loc_00458a8e ; ja 0x458a8e
+mov eax, dword [ecx + 0x28]
+cmp ebx, eax
+jb near loc_00458a8e ; jb 0x458a8e
+jmp short loc_00458a32 ; jmp 0x458a32
+
+loc_00458a19:
+mov eax, dword [eax + 8]
+cmp ebx, eax
+jb near loc_00458a8e ; jb 0x458a8e
+lea eax, [ecx + 0x20]
+mov edx, dword [eax + 4]
+cmp ebx, edx
+ja near loc_00458a8e ; ja 0x458a8e
+
+loc_00458a32:
+mov edi, dword [esi + 0x1c]
+mov eax, dword [esi + 0x18]
+xor edx, edx
+lea ecx, [edi + 1]
+div ecx
+mov ecx, eax
+cmp eax, edi
+jae short loc_00458a6d ; jae 0x458a6d
+mov eax, dword [esi + 0x18]
+sub eax, edi
+add ecx, ecx
+cmp eax, edi
+ja short loc_00458a55 ; ja 0x458a55
+mov ecx, 0xffffffff
+
+loc_00458a55:
+mov eax, dword [ebx]
+add eax, ebx
+
+loc_00458a59:
+mov edx, dword [eax]
+test dl, 1
+je short loc_00458a8e ; je 0x458a8e
+cmp edx, 0xffffffff
+je short loc_00458a6d ; je 0x458a6d
+and dl, 0xfe
+add eax, edx
+dec ecx
+jne short loc_00458a59 ; jne 0x458a59
+
+loc_00458a6d:
+mov eax, dword [esi + 0xc]
+cmp ebx, eax
+jae short loc_00458a77 ; jae 0x458a77
+mov eax, dword [esi + 0x28]
+
+loc_00458a77:
+cmp ebx, eax
+jb short loc_00458a8e ; jb 0x458a8e
+mov eax, dword [eax + 8]
+cmp ebx, eax
+jb short loc_00458a8e ; jb 0x458a8e
+mov eax, dword [eax + 8]
+cmp ebx, eax
+jb short loc_00458a8e ; jb 0x458a8e
+mov eax, dword [eax + 8]
+jmp short loc_00458a77 ; jmp 0x458a77
+
+loc_00458a8e:
+mov edx, dword [eax + 4]
+mov edi, dword [edx]
+add edi, edx
+mov ecx, dword [ebx]
+cmp edi, ebx
+jne short loc_00458aad ; jne 0x458aad
+mov ebp, dword [edx]
+add ecx, ebp
+mov dword [edx], ecx
+cmp ebx, dword [esi + 0xc]
+jne short loc_00458aa9 ; jne 0x458aa9
+mov dword [esi + 0xc], edx
+
+loc_00458aa9:
+mov ebx, edx
+jmp short loc_00458abc ; jmp 0x458abc
+
+loc_00458aad:
+inc dword [esi + 0x1c]
+mov dword [ebx + 8], eax
+mov dword [ebx + 4], edx
+mov dword [edx + 8], ebx
+mov dword [eax + 4], ebx
+
+loc_00458abc:
+mov edx, dword [esi + 0x18]
+dec edx
+mov edi, dword [esi + 0xc]
+mov dword [esi + 0x18], edx
+cmp ebx, edi
+jae short loc_00458ad2 ; jae 0x458ad2
+cmp ecx, dword [esi + 0x10]
+jbe short loc_00458ad2 ; jbe 0x458ad2
+mov dword [esi + 0x10], ecx
+
+loc_00458ad2:
+cmp ecx, dword [esi + 0x14]
+jbe short loc_00458ada ; jbe 0x458ada
+mov dword [esi + 0x14], ecx
+
+loc_00458ada:
+pop ebp
+pop edi
+pop esi
+ret
+
+endloc_00458ade:
+db 0x00
+db 0x00
+
+fcn_00458ae0:
+or ecx, ecx
+je short loc_00458b10 ; je 0x458b10
+cmp byte [eax], dl
+
+loc_00458ae6:
+test al, 3
+je short loc_00458af3 ; je 0x458af3
+mov byte [eax], dl
+inc eax
+ror edx, 8
+dec ecx
+jne short loc_00458ae6 ; jne 0x458ae6
+
+loc_00458af3:
+push ecx
+shr ecx, 2
+call fcn_00458b17 ; call 0x458b17
+pop ecx
+and ecx, 3
+je short loc_00458b10 ; je 0x458b10
+mov byte [eax], dl
+dec ecx
+je short loc_00458b10 ; je 0x458b10
+mov byte [eax + 1], dh
+dec ecx
+je short loc_00458b10 ; je 0x458b10
+mov byte [eax + 2], dl
+
+loc_00458b10:
+ret
+
+endloc_00458b11:
+db 0x90
+db 0x90
+db 0x90
+db 0x90
+db 0x90
+db 0x90
+
+fcn_00458b17:
+or ecx, ecx
+je short loc_00458b82 ; je 0x458b82
+
+loc_00458b1b:
+test al, 0x1f
+je short loc_00458b27 ; je 0x458b27
+mov dword [eax], edx
+lea eax, [eax + 4]
+dec ecx
+jne short loc_00458b1b ; jne 0x458b1b
+
+loc_00458b27:
+push ecx
+shr ecx, 2
+je short loc_00458b67 ; je 0x458b67
+dec ecx
+je short loc_00458b59 ; je 0x458b59
+
+loc_00458b30:
+mov dword [eax], edx
+mov dword [eax + 4], edx
+dec ecx
+mov dword [eax + 8], edx
+mov dword [eax + 0xc], edx
+je short loc_00458b56 ; je 0x458b56
+cmp byte [eax + 0x20], dl
+mov dword [eax + 0x10], edx
+mov dword [eax + 0x14], edx
+dec ecx
+mov dword [eax + 0x18], edx
+mov dword [eax + 0x1c], edx
+lea eax, [eax + 0x20]
+jne short loc_00458b30 ; jne 0x458b30
+lea eax, [eax - 0x10]
+
+loc_00458b56:
+lea eax, [eax + 0x10]
+
+loc_00458b59:
+mov dword [eax], edx
+mov dword [eax + 4], edx
+mov dword [eax + 8], edx
+mov dword [eax + 0xc], edx
+lea eax, [eax + 0x10]
+
+loc_00458b67:
+pop ecx
+and ecx, 3
+je short loc_00458b82 ; je 0x458b82
+mov dword [eax], edx
+lea eax, [eax + 4]
+dec ecx
+je short loc_00458b82 ; je 0x458b82
+mov dword [eax], edx
+lea eax, [eax + 4]
+dec ecx
+je short loc_00458b82 ; je 0x458b82
+mov dword [eax], edx
+lea eax, [eax + 4]
+
+loc_00458b82:
+ret
+
+fcn_00458b83:
+push ebx
+mov edx, dword [esp + 8]
+mov eax, dword [ref_00488f00] ; mov eax, dword [0x488f00]
+xor ebx, ebx
+jmp short loc_00458b9a ; jmp 0x458b9a
+
+loc_00458b91:
+cmp edx, eax
+jb short loc_00458b9e ; jb 0x458b9e
+mov ebx, eax
+mov eax, dword [eax + 8]
+
+loc_00458b9a:
+test eax, eax
+jne short loc_00458b91 ; jne 0x458b91
+
+loc_00458b9e:
+mov dword [edx + 4], ebx
+mov dword [edx + 8], eax
+test ebx, ebx
+je short loc_00458bad ; je 0x458bad
+mov dword [ebx + 8], edx
+jmp short loc_00458bb3 ; jmp 0x458bb3
+
+loc_00458bad:
+mov dword [ref_00488f00], edx ; mov dword [0x488f00], edx
+
+loc_00458bb3:
+test eax, eax
+je short loc_00458bba ; je 0x458bba
+mov dword [eax + 4], edx
+
+loc_00458bba:
+lea ebx, [edx + 0x20]
+mov eax, dword [edx]
+add edx, 0x2c
+mov dword [edx - 0xc], 0
+mov dword [edx - 0x1c], 0
+mov dword [edx - 0x14], 0
+mov dword [edx - 0x10], 0
+mov dword [edx - 8], ebx
+mov dword [edx - 4], ebx
+sub eax, 0x2c
+mov dword [edx - 0x20], ebx
+mov dword [edx], eax
+mov dword [edx + eax], 0xffffffff
+mov eax, edx
+pop ebx
+ret
+
+fcn_00458bf7:
+push ebx
+push esi
+push edi
+cmp dword [ref_004894a8], 0 ; cmp dword [0x4894a8], 0
+jne short loc_00458c09 ; jne 0x458c09
+
+loc_00458c03:
+xor eax, eax
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00458c09:
+cmp dword [ref_0048930c], 0xfffffffe ; cmp dword [0x48930c], 0xfffffffe
+je short loc_00458c03 ; je 0x458c03
+lea eax, [esp + 0x10]
+push eax
+call fcn_00458ca3 ; call 0x458ca3
+add esp, 4
+test eax, eax
+je short loc_00458c8c ; je 0x458c8c
+push 0x40
+push 0x1000
+mov ecx, dword [esp + 0x18]
+push ecx
+push 0
+call dword [cs:__imp__VirtualAlloc@16] ; ucall: call dword cs:[0x462428]
+mov ebx, eax
+test eax, eax
+je short loc_00458c8c ; je 0x458c8c
+mov eax, dword [esp + 0x10]
+mov esi, dword [esp + 0x10]
+sub eax, 4
+cmp eax, esi
+ja short loc_00458c03 ; ja 0x458c03
+mov dword [esp + 0x10], eax
+cmp eax, 0x38
+jb short loc_00458c03 ; jb 0x458c03
+push ebx
+mov dword [ebx], eax
+call fcn_00458b83 ; call 0x458b83
+mov edx, eax
+add esp, 4
+mov eax, dword [eax]
+mov dword [esp + 0x10], eax
+or al, 1
+mov dword [edx], eax
+add edx, 4
+mov edi, dword [ebx + 0x18]
+mov dword [ebx + 0x14], 0
+inc edi
+push edx
+mov dword [ebx + 0x18], edi
+call fcn_00456e1f ; call 0x456e1f
+mov eax, 1
+add esp, 4
+
+loc_00458c8c:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00458c90:
+call fcn_0045acab ; call 0x45acab
+mov edx, dword [esp + 4]
+push edx
+call fcn_00458bf7 ; call 0x458bf7
+add esp, 4
+ret
+
+fcn_00458ca3:
+mov edx, dword [esp + 4]
+mov eax, dword [edx]
+add eax, 7
+and al, 0xf8
+test eax, eax
+jne short loc_00458cb3 ; jne 0x458cb3
+ret
+
+loc_00458cb3:
+mov dword [edx], eax
+add eax, 0x3c
+cmp eax, dword [edx]
+jae short loc_00458cbf ; jae 0x458cbf
+
+loc_00458cbc:
+xor eax, eax
+ret
+
+loc_00458cbf:
+mov ecx, dword [ref_004894ac] ; mov ecx, dword [0x4894ac]
+cmp eax, ecx
+jae short loc_00458ccd ; jae 0x458ccd
+mov eax, ecx
+and al, 0xfe
+
+loc_00458ccd:
+mov dword [edx], eax
+add eax, 0xfff
+cmp eax, dword [edx]
+jb short loc_00458cbc ; jb 0x458cbc
+xor al, al
+and ah, 0xf0
+mov dword [edx], eax
+test eax, eax
+setne al
+and eax, 0xff
+ret
+
+fcn_00458cea:
+xor eax, eax
+ret
+
+loc_00458ced:
+push ebx
+
+fcn_00458cee: ; not directly referenced
+push ebp
+mov ebp, esp
+sub esp, 8
+mov eax, 1
+call fcn_0045abd6 ; call 0x45abd6
+mov eax, dword [ref_004894b0] ; mov eax, dword [0x4894b0]
+add eax, 3
+and al, 0xfc
+sub esp, eax
+mov ebx, esp
+mov edx, dword [ref_004894b0] ; mov edx, dword [0x4894b0]
+push edx
+push 0
+push ebx
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov eax, dword [ref_004894b0] ; mov eax, dword [0x4894b0]
+push ebx
+mov dword [ebx + 0xf0], eax
+lea eax, [ebp - 8]
+push eax
+call fcn_00458859 ; call 0x458859
+mov ebx, dword [ref_00489334] ; mov ebx, dword [0x489334]
+add ebx, 3
+add esp, 8
+and bl, 0xfc
+call fcn_0045ada0 ; call 0x45ada0
+cmp ebx, eax
+jae short loc_00458d61 ; jae 0x458d61
+push ebx
+call fcn_0045aded ; call 0x45aded
+mov eax, dword [ref_00489334] ; mov eax, dword [0x489334]
+add eax, 3
+and al, 0xfc
+sub esp, eax
+mov eax, esp
+jmp short loc_00458d63 ; jmp 0x458d63
+
+loc_00458d61:
+xor eax, eax
+
+loc_00458d63:
+mov ebx, dword [ref_00489334] ; mov ebx, dword [0x489334]
+add eax, ebx
+mov dword [ref_00489338], eax ; mov dword [0x489338], eax
+call fcn_0045ae21 ; call 0x45ae21
+push 0xa
+mov ebx, dword [ref_00489310] ; mov ebx, dword [0x489310]
+push ebx
+push 0
+push 0
+call dword [cs:__imp__GetModuleHandleA@4] ; ucall: call dword cs:[0x4623bc]
+push eax
+call fcn_00401b9c ; call 0x401b9c
+push eax
+call fcn_0045ae23 ; call 0x45ae23
+add esp, 4
+mov esp, ebp
+pop ebp
+pop ebx
+ret
+
+endloc_00458d9d:
+db 0x00
+
+fcn_00458d9e:
+push ebx
+mov eax, dword [esp + 8]
+mov edx, dword [eax]
+lea ebx, [edx + 1]
+mov dword [eax], ebx
+mov bl, byte [esp + 0xc]
+mov byte [edx], bl
+inc dword [eax + 0x10]
+pop ebx
+ret
+
+fcn_00458db5:
+push ebx
+push fcn_00458d9e ; push 0x458d9e
+mov edx, dword [esp + 0x14]
+push edx
+mov ebx, dword [esp + 0x14]
+push ebx
+mov ecx, dword [esp + 0x14]
+push ecx
+call fcn_0045ae76 ; call 0x45ae76
+add esp, 0x10
+mov edx, dword [esp + 8]
+mov byte [edx + eax], 0
+pop ebx
+ret
+
+endloc_00458ddc:
+db 0xc7
+db 0x05
+dd ref_00488f98
+db 0x01
+db 0x00
+db 0x00
+db 0x00
+db 0xc3
+
+fcn_00458de7:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov edx, dword [esp + 4]
+mov dword [eax + 4], edx
+ret
+
+fcn_00458df5:
+push 0xd
+
+loc_00458df7:
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+ret
+
+fcn_00458e00:
+push 0xe
+jmp short loc_00458df7 ; jmp 0x458df7
+
+endloc_00458e04:
+dd 0xdce8096a
+dd 0xb8ffffff
+dd 0xffffffff
+dd 0xc304c483
+
+fcn_00458e14:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov edx, dword [esp + 4]
+mov dword [eax + 8], edx
+ret
+
+fcn_00458e22:
+mov eax, dword [esp + 4]
+cmp eax, 0x41
+jl short loc_00458e33 ; jl 0x458e33
+cmp eax, 0x5a
+jg short loc_00458e33 ; jg 0x458e33
+add eax, 0x20
+
+loc_00458e33:
+ret
+
+endloc_00458e34:
+dd 0x24448d53
+dd 0x04c08310
+dd 0x50fc408b
+dd 0x548b006a
+dd 0x8b521424
+dd 0x5314245c
+dd 0x000005e8
+dd 0x10c48300
+db 0x5b
+db 0xc3
+
+fcn_00458e56:
+push ebx
+sub esp, 4
+lea eax, [esp + 0x18]
+mov dword [esp], eax
+mov eax, esp
+push eax
+mov edx, dword [esp + 0x18]
+push edx
+mov ebx, dword [esp + 0x18]
+push ebx
+mov ecx, dword [esp + 0x18]
+push ecx
+call fcn_00458e80 ; call 0x458e80
+add esp, 0x10
+add esp, 4
+pop ebx
+ret
+
+fcn_00458e80:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x1c
+mov ebx, dword [esp + 0x3c]
+call fcn_00459e08 ; call 0x459e08
+test eax, eax
+je short loc_00458ea8 ; je 0x458ea8
+push 0xb
+
+loc_00458e96:
+call fcn_00458de7 ; call 0x458de7
+mov eax, 0xffffffff
+add esp, 4
+jmp near loc_004590b1 ; jmp 0x4590b1
+
+loc_00458ea8:
+lea eax, [esp + 0x14]
+push eax
+lea eax, [esp + 0x14]
+mov esi, dword [esp + 0x38]
+push eax
+and esi, 7
+push esi
+call fcn_0045bd69 ; call 0x45bd69
+add esp, 0xc
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [esp + 0x3c]
+or eax, esi
+push eax
+xor edi, edi
+call fcn_0045bda4 ; call 0x45bda4
+mov edx, 0x80
+add esp, 8
+mov ecx, 0xc
+mov ah, byte [esp + 0x34]
+mov dword [esp + 0x18], edx
+mov dword [esp], ecx
+mov dword [esp + 4], edi
+test ah, 0x80
+sete al
+and eax, 0xff
+mov dword [esp + 8], eax
+cmp dword [ref_004891b4], 0 ; cmp dword [0x4891b4], 0
+je short loc_00458f47 ; je 0x458f47
+push ref_0046c414 ; push 0x46c414
+mov edx, dword [esp + 0x34]
+push edx
+call fcn_00459dc7 ; call 0x459dc7
+add esp, 8
+test eax, eax
+jne short loc_00458f47 ; jne 0x458f47
+call fcn_0045a012 ; call 0x45a012
+push eax
+call dword [ref_00488f58] ; ucall: call dword [0x488f58]
+add esp, 4
+push 0xffffffffffffffff
+push eax
+push edi
+mov ebx, 0x2000
+mov ebp, eax
+call dword [ref_004891b4] ; ucall: call dword [0x4891b4]
+add esp, 0xc
+jmp near loc_0045905e ; jmp 0x45905e
+
+loc_00458f47:
+mov dl, byte [esp + 0x34]
+test dl, 0x20
+je near loc_00458fb9 ; je 0x458fb9
+mov ecx, dword [ebx]
+add ecx, 4
+mov dword [ebx], ecx
+mov eax, dword [ecx - 4]
+mov dword [esp + 0x14], eax
+mov dword [ebx], 0
+mov eax, dword [ref_004894d0] ; mov eax, dword [0x4894d0]
+mov edi, dword [esp + 0x14]
+not eax
+and edi, eax
+mov dword [esp + 0x14], edi
+test byte [esp + 0x15], 1
+je short loc_00458f8f ; je 0x458f8f
+test byte [esp + 0x14], 0x80
+jne short loc_00458f8f ; jne 0x458f8f
+mov dword [esp + 0x18], 1
+
+loc_00458f8f:
+test byte [esp + 0x35], 4
+je short loc_00458f9f ; je 0x458f9f
+mov ebp, 1
+mov eax, ebp
+jmp short loc_00458fc3 ; jmp 0x458fc3
+
+loc_00458f9f:
+test byte [esp + 0x34], 0x40
+je short loc_00458fb2 ; je 0x458fb2
+mov ebp, 2
+
+loc_00458fab:
+mov eax, 5
+jmp short loc_00458fc3 ; jmp 0x458fc3
+
+loc_00458fb2:
+mov ebp, 4
+jmp short loc_00458fbe ; jmp 0x458fbe
+
+loc_00458fb9:
+test dl, 0x40
+jne short loc_00458fab ; jne 0x458fab
+
+loc_00458fbe:
+mov eax, 3
+
+loc_00458fc3:
+push 0
+mov edx, dword [esp + 0x1c]
+push edx
+push eax
+lea eax, [esp + 0xc]
+push eax
+mov ebx, dword [esp + 0x1c]
+push ebx
+mov ecx, dword [esp + 0x24]
+push ecx
+mov edi, dword [esp + 0x48]
+push edi
+call dword [cs:__imp__CreateFileA@28] ; ucall: call dword cs:[0x462350]
+mov edi, eax
+cmp eax, 0xffffffff
+jne short loc_00459025 ; jne 0x459025
+test byte [esp + 0x34], 0x20
+je short loc_00459016 ; je 0x459016
+push 0
+mov eax, dword [esp + 0x1c]
+push eax
+push ebp
+push 0
+mov edx, dword [esp + 0x1c]
+push edx
+mov ebx, dword [esp + 0x24]
+push ebx
+mov ecx, dword [esp + 0x48]
+push ecx
+call dword [cs:__imp__CreateFileA@28] ; ucall: call dword cs:[0x462350]
+mov edi, eax
+
+loc_00459016:
+cmp edi, 0xffffffff
+jne short loc_00459025 ; jne 0x459025
+call fcn_0045be8f ; call 0x45be8f
+jmp near loc_004590b1 ; jmp 0x4590b1
+
+loc_00459025:
+push edi
+call dword [ref_00488f58] ; ucall: call dword [0x488f58]
+xor ebx, ebx
+mov edx, dword [ref_004894e8] ; mov edx, dword [0x4894e8]
+add esp, 4
+mov ebp, eax
+cmp eax, edx
+jb short loc_0045904c ; jb 0x45904c
+push edi
+call dword [cs:__imp__CloseHandle@4] ; ucall: call dword cs:[0x462348]
+push 5
+jmp near loc_00458e96 ; jmp 0x458e96
+
+loc_0045904c:
+push eax
+call fcn_0045bf21 ; call 0x45bf21
+add esp, 4
+test eax, eax
+je short loc_0045905e ; je 0x45905e
+mov ebx, 0x2000
+
+loc_0045905e:
+cmp esi, 2
+jne short loc_00459068 ; jne 0x459068
+or bl, 3
+jmp short loc_00459079 ; jmp 0x459079
+
+loc_00459068:
+test esi, esi
+jne short loc_00459071 ; jne 0x459071
+or bl, 1
+jmp short loc_00459079 ; jmp 0x459079
+
+loc_00459071:
+cmp esi, 1
+jne short loc_00459079 ; jne 0x459079
+or bl, 2
+
+loc_00459079:
+test byte [esp + 0x34], 0x10
+je short loc_00459083 ; je 0x459083
+or bl, 0x80
+
+loc_00459083:
+mov eax, ebx
+mov dl, byte [esp + 0x35]
+or al, 0x40
+test dl, 3
+je short loc_00459097 ; je 0x459097
+test dl, 2
+je short loc_004590a5 ; je 0x4590a5
+jmp short loc_004590a3 ; jmp 0x4590a3
+
+loc_00459097:
+cmp dword [ref_004891a5], 0x200 ; cmp dword [0x4891a5], 0x200
+jne short loc_004590a5 ; jne 0x4590a5
+
+loc_004590a3:
+mov ebx, eax
+
+loc_004590a5:
+push ebx
+push ebp
+call fcn_0045bef6 ; call 0x45bef6
+add esp, 8
+mov eax, ebp
+
+loc_004590b1:
+add esp, 0x1c
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004590b9:
+push ebx
+push esi
+push edi
+call dword [ref_00488f60] ; ucall: call dword [0x488f60]
+mov esi, dword [ref_004991d8] ; mov esi, dword [0x4991d8]
+test esi, esi
+je short loc_004590e5 ; je 0x4590e5
+mov ebx, dword [esi + 4]
+mov edi, dword [ebx + 0xc]
+mov eax, dword [esi]
+and edi, 0x4003
+mov dword [ref_004991d8], eax ; mov dword [0x4991d8], eax
+or di, 3
+jmp short loc_0045912c ; jmp 0x45912c
+
+loc_004590e5:
+mov ebx, ref_00488f9c ; mov ebx, 0x488f9c
+jmp short loc_0045910c ; jmp 0x45910c
+
+loc_004590ec:
+test byte [ebx + 0xc], 3
+jne short loc_00459109 ; jne 0x459109
+push 0x1d
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov esi, eax
+test eax, eax
+je short loc_0045915b ; je 0x45915b
+mov edi, 3
+jmp short loc_0045912c ; jmp 0x45912c
+
+loc_00459109:
+add ebx, 0x1a
+
+loc_0045910c:
+cmp ebx, ref_004891a4 ; cmp ebx, 0x4891a4
+jb short loc_004590ec ; jb 0x4590ec
+push 0x37
+mov edi, 0x4003
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov esi, eax
+test eax, eax
+je short loc_0045915b ; je 0x45915b
+lea ebx, [eax + 0x1d]
+
+loc_0045912c:
+push 0x1a
+push 0
+push ebx
+call fcn_00456f60 ; call 0x456f60
+mov dword [ebx + 0xc], edi
+mov eax, dword [ref_004991d4] ; mov eax, dword [0x4991d4]
+mov dword [esi + 4], ebx
+add esp, 0xc
+mov dword [ebx + 8], esi
+mov dword [ref_004991d4], esi ; mov dword [0x4991d4], esi
+mov dword [esi], eax
+call dword [ref_00488f64] ; ucall: call dword [0x488f64]
+mov eax, ebx
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045915b:
+push 5
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+call dword [ref_00488f64] ; ucall: call dword [0x488f64]
+xor eax, eax
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00459171:
+push ebx
+mov ebx, dword [esp + 8]
+mov edx, ref_004991d4 ; mov edx, 0x4991d4
+
+loc_0045917b:
+mov eax, dword [edx]
+test eax, eax
+je short loc_004591a6 ; je 0x4591a6
+mov ecx, dword [eax + 4]
+cmp ebx, ecx
+je short loc_0045918c ; je 0x45918c
+mov edx, eax
+jmp short loc_0045917b ; jmp 0x45917b
+
+loc_0045918c:
+mov cl, byte [ecx + 0xc]
+or cl, 3
+mov byte [ebx + 0xc], cl
+mov ebx, dword [eax]
+mov dword [edx], ebx
+mov edx, dword [ref_004991d8] ; mov edx, dword [0x4991d8]
+mov dword [ref_004991d8], eax ; mov dword [0x4991d8], eax
+mov dword [eax], edx
+
+loc_004591a6:
+pop ebx
+ret
+
+loc_004591a8:
+push ebx
+
+loc_004591a9:
+mov edx, dword [ref_004991d8] ; mov edx, dword [0x4991d8]
+test edx, edx
+je short loc_004591a6 ; je 0x4591a6
+push edx
+mov ebx, dword [edx]
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov dword [ref_004991d8], ebx ; mov dword [0x4991d8], ebx
+jmp short loc_004591a9 ; jmp 0x4591a9
+
+fcn_004591c6:
+push ebx
+mov ebx, dword [esp + 8]
+test byte [ebx + 0xd], 0x20
+jne short loc_004591f7 ; jne 0x4591f7
+mov edx, dword [ebx + 0x10]
+push edx
+call fcn_0045bf21 ; call 0x45bf21
+add esp, 4
+test eax, eax
+je short loc_004591f7 ; je 0x4591f7
+mov dl, byte [ebx + 0xd]
+or dl, 0x20
+mov byte [ebx + 0xd], dl
+test dl, 7
+jne short loc_004591f7 ; jne 0x4591f7
+mov cl, dl
+or cl, 2
+mov byte [ebx + 0xd], cl
+
+loc_004591f7:
+pop ebx
+ret
+
+fcn_004591f9:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebx, dword [esp + 0x18]
+mov edx, dword [ebx + 0x10]
+push edx
+xor edi, edi
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov ah, byte [ebx + 0xd]
+add esp, 4
+test ah, 0x10
+je near loc_0045929d ; je 0x45929d
+mov ch, ah
+and ch, 0xef
+mov al, byte [ebx + 0xc]
+mov byte [ebx + 0xd], ch
+test al, 2
+je near loc_004592d8 ; je 0x4592d8
+mov ebp, dword [ebx + 8]
+mov eax, dword [ebp + 8]
+test eax, eax
+je near loc_004592d8 ; je 0x4592d8
+mov ebp, eax
+mov esi, dword [ebx + 4]
+
+loc_00459245:
+test esi, esi
+je near loc_004592d8 ; je 0x4592d8
+test edi, edi
+jne near loc_004592d8 ; jne 0x4592d8
+push esi
+push ebp
+mov edx, dword [ebx + 0x10]
+push edx
+call fcn_004599bb ; call 0x4599bb
+add esp, 0xc
+mov dword [esp], eax
+cmp eax, 0xffffffff
+jne short loc_00459278 ; jne 0x459278
+mov dl, byte [ebx + 0xc]
+or dl, 0x20
+mov edi, eax
+mov byte [ebx + 0xc], dl
+jmp short loc_00459294 ; jmp 0x459294
+
+loc_00459278:
+test eax, eax
+jne short loc_00459294 ; jne 0x459294
+push 0xc
+call fcn_00458de7 ; call 0x458de7
+mov ah, byte [ebx + 0xc]
+mov edi, 0xffffffff
+or ah, 0x20
+add esp, 4
+mov byte [ebx + 0xc], ah
+
+loc_00459294:
+mov ecx, dword [esp]
+add ebp, ecx
+sub esi, ecx
+jmp short loc_00459245 ; jmp 0x459245
+
+loc_0045929d:
+mov eax, dword [ebx + 8]
+cmp dword [eax + 8], 0
+je short loc_004592d8 ; je 0x4592d8
+and byte [ebx + 0xc], 0xef
+test byte [ebx + 0xd], 0x20
+jne short loc_004592d8 ; jne 0x4592d8
+mov eax, dword [ebx + 4]
+test eax, eax
+je short loc_004592c8 ; je 0x4592c8
+push 1
+neg eax
+push eax
+mov esi, dword [ebx + 0x10]
+push esi
+call fcn_0045931e ; call 0x45931e
+add esp, 0xc
+
+loc_004592c8:
+cmp eax, 0xffffffff
+jne short loc_004592d8 ; jne 0x4592d8
+mov cl, byte [ebx + 0xc]
+or cl, 0x20
+mov edi, eax
+mov byte [ebx + 0xc], cl
+
+loc_004592d8:
+mov eax, dword [ebx + 8]
+mov eax, dword [eax + 8]
+mov dword [ebx + 4], 0
+mov dword [ebx], eax
+test edi, edi
+jne short loc_00459307 ; jne 0x459307
+mov eax, dword [ebx + 8]
+test byte [eax + 0x10], 1
+je short loc_00459307 ; je 0x459307
+mov edx, dword [ebx + 0x10]
+push edx
+call fcn_0045bf7e ; call 0x45bf7e
+add esp, 4
+cmp eax, 0xffffffff
+jne short loc_00459307 ; jne 0x459307
+mov edi, eax
+
+loc_00459307:
+mov ecx, dword [ebx + 0x10]
+push ecx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+mov eax, edi
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045931e:
+push ebx
+push esi
+push edi
+mov ebx, dword [esp + 0x10]
+test ebx, ebx
+jl short loc_00459331 ; jl 0x459331
+cmp ebx, dword [ref_004894e8] ; cmp ebx, dword [0x4894e8]
+jbe short loc_00459344 ; jbe 0x459344
+
+loc_00459331:
+push 4
+call fcn_00458de7 ; call 0x458de7
+mov eax, 0xffffffff
+add esp, 4
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00459344:
+push ebx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+add esp, 4
+push ebx
+call fcn_0045bea0 ; call 0x45bea0
+add esp, 4
+cmp dword [esp + 0x14], 0
+jle short loc_0045936f ; jle 0x45936f
+test al, 0x80
+jne short loc_0045936f ; jne 0x45936f
+or ah, 0x80
+push eax
+push ebx
+call fcn_0045bef6 ; call 0x45bef6
+add esp, 8
+
+loc_0045936f:
+mov eax, dword [ref_00489474] ; mov eax, dword [0x489474]
+mov esi, ebx
+mov eax, dword [eax + esi*4]
+mov esi, dword [esp + 0x18]
+push esi
+push 0
+mov edi, dword [esp + 0x1c]
+push edi
+push eax
+call dword [cs:__imp__SetFilePointer@16] ; ucall: call dword cs:[0x462404]
+push ebx
+mov esi, eax
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+cmp esi, 0xffffffff
+jne short loc_004593a3 ; jne 0x4593a3
+call fcn_0045be8f ; call 0x45be8f
+
+loc_004593a3:
+mov eax, esi
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004593a9:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+test esi, esi
+jl short loc_004593bb ; jl 0x4593bb
+cmp esi, dword [ref_004894e8] ; cmp esi, dword [0x4894e8]
+jbe short loc_004593cd ; jbe 0x4593cd
+
+loc_004593bb:
+push 4
+call fcn_00458de7 ; call 0x458de7
+mov eax, 0xffffffff
+add esp, 4
+pop esi
+pop ebx
+ret
+
+loc_004593cd:
+mov ebx, dword [ref_00489474] ; mov ebx, dword [0x489474]
+mov eax, esi
+push esi
+mov ebx, dword [ebx + eax*4]
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+add esp, 4
+push 1
+push 0
+push 0
+push ebx
+call dword [cs:__imp__SetFilePointer@16] ; ucall: call dword cs:[0x462404]
+push esi
+mov ebx, eax
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+cmp ebx, 0xffffffff
+jne short loc_00459406 ; jne 0x459406
+call fcn_0045be8f ; call 0x45be8f
+
+loc_00459406:
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_0045940b:
+push ebx
+push esi
+mov ebx, dword [esp + 0xc]
+push ebx
+call fcn_004591c6 ; call 0x4591c6
+mov edx, dword [ebx + 0x14]
+add esp, 4
+test edx, edx
+jne short loc_00459447 ; jne 0x459447
+mov ah, byte [ebx + 0xd]
+test ah, 2
+je short loc_00459432 ; je 0x459432
+mov dword [ebx + 0x14], 0x86
+jmp short loc_00459447 ; jmp 0x459447
+
+loc_00459432:
+test ah, 4
+je short loc_00459440 ; je 0x459440
+mov dword [ebx + 0x14], 1
+jmp short loc_00459447 ; jmp 0x459447
+
+loc_00459440:
+mov dword [ebx + 0x14], 0x1000
+
+loc_00459447:
+mov ecx, dword [ebx + 0x14]
+push ecx
+call fcn_00456f80 ; call 0x456f80
+mov edx, dword [ebx + 8]
+mov dword [edx + 8], eax
+mov eax, dword [ebx + 8]
+mov esi, dword [eax + 8]
+add esp, 4
+test esi, esi
+jne short loc_00459486 ; jne 0x459486
+mov cl, byte [ebx + 0xd]
+and cl, 0xf8
+mov byte [ebx + 0xd], cl
+mov ch, cl
+mov eax, dword [ebx + 8]
+or ch, 4
+lea edx, [ebx + 0x18]
+mov byte [ebx + 0xd], ch
+mov dword [eax + 8], edx
+mov dword [ebx + 0x14], 1
+jmp short loc_0045948a ; jmp 0x45948a
+
+loc_00459486:
+or byte [ebx + 0xc], 8
+
+loc_0045948a:
+mov eax, dword [ebx + 8]
+mov eax, dword [eax + 8]
+mov dword [ebx + 4], 0
+mov dword [ebx], eax
+pop esi
+pop ebx
+ret
+
+fcn_0045949c:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebx, dword [esp + 0x18]
+test ebx, ebx
+jl short loc_004594b3 ; jl 0x4594b3
+cmp ebx, dword [ref_004894e8] ; cmp ebx, dword [0x4894e8]
+jbe short loc_004594c7 ; jbe 0x4594c7
+
+loc_004594b3:
+push 4
+call fcn_00458de7 ; call 0x458de7
+mov eax, 0xffffffff
+add esp, 4
+jmp near loc_00459553 ; jmp 0x459553
+
+loc_004594c7:
+push ebx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov ecx, dword [ref_004891d4] ; mov ecx, dword [0x4891d4]
+add esp, 4
+test ecx, ecx
+je short loc_0045950d ; je 0x45950d
+push ebx
+call dword [ref_004891ac] ; ucall: call dword [0x4891ac]
+add esp, 4
+test eax, eax
+je short loc_0045950d ; je 0x45950d
+mov edx, dword [esp + 0x20]
+push edx
+mov ecx, dword [esp + 0x20]
+push ecx
+push eax
+call dword [ref_004891d4] ; ucall: call dword [0x4891d4]
+add esp, 0xc
+push ebx
+mov esi, eax
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+mov eax, esi
+jmp short loc_00459553 ; jmp 0x459553
+
+loc_0045950d:
+mov esi, dword [ref_00489474] ; mov esi, dword [0x489474]
+mov eax, ebx
+push 0
+mov esi, dword [esi + eax*4]
+lea eax, [esp + 4]
+push eax
+mov edi, dword [esp + 0x28]
+push edi
+mov ebp, dword [esp + 0x28]
+push ebp
+push esi
+call dword [cs:__imp__ReadFile@20] ; ucall: call dword cs:[0x4623ec]
+test eax, eax
+jne short loc_00459546 ; jne 0x459546
+push ebx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+call fcn_0045be8f ; call 0x45be8f
+jmp short loc_00459553 ; jmp 0x459553
+
+loc_00459546:
+push ebx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+mov eax, dword [esp]
+
+loc_00459553:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0045955b:
+db 0x53
+dd 0x8b555756
+dd 0x8b14245c
+dd 0xff521053
+db 0x15
+dd ref_00488f50
+db 0x8b
+db 0x43
+db 0x08
+dd 0x830c488b
+dd 0xf98304c4
+dd 0x85197401
+dd 0x8b0e74c9
+dd 0xbe57107b
+dd 0xffffffff
+dd 0x00008be9
+dd 0x0c40c700
+dd 0x00000001
+dd 0x010c43f6
+dd 0x046a1a75
+dd 0xfff846e8
+dd 0x0c538aff
+dd 0xffffffbe
+dd 0x20ca80ff
+dd 0x8804c483
+dd 0x20eb0c53
+dd 0x4d046b8b
+dd 0x85046b89
+dd 0x530d7ded
+dd 0x000063e8
+dd 0x04c48300
+dd 0x08ebc689
+dd 0xb60f038b
+dd 0x03894030
+dd 0x400c43f6
+dd 0xfe833a75
+dd 0x8b22750d
+dd 0x894a0453
+dd 0xd2850453
+dd 0xe8530d7d
+dd 0x00000038
+dd 0x8904c483
+dd 0x8b0aebc6
+dd 0x40108a03
+dd 0x89f2b60f
+dd 0x1afe8303
+dd 0x4b8a0e75
+dd 0x10c9800c
+dd 0xffffffbe
+dd 0x0c4b88ff
+dd 0x57107b8b
+db 0xff
+db 0x15
+dd ref_00488f54
+db 0x83
+db 0xc4
+dd 0x5df08904
+dd 0xc35b5e5f
+
+fcn_00459628:
+push ebx
+mov ebx, dword [esp + 8]
+push ebx
+call fcn_00459657 ; call 0x459657
+add esp, 4
+test eax, eax
+jne short loc_00459641 ; jne 0x459641
+mov eax, 0xffffffff
+pop ebx
+ret
+
+loc_00459641:
+mov edx, dword [ebx + 4]
+mov ecx, dword [ebx]
+dec edx
+inc ecx
+mov dword [ebx + 4], edx
+mov dword [ebx], ecx
+mov al, byte [ecx - 1]
+and eax, 0xff
+pop ebx
+ret
+
+fcn_00459657:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+mov eax, dword [ebx + 8]
+cmp dword [eax + 8], 0
+jne short loc_00459671 ; jne 0x459671
+push ebx
+call fcn_0045940b ; call 0x45940b
+add esp, 4
+
+loc_00459671:
+mov ah, byte [ebx + 0xd]
+test ah, 0x20
+je short loc_0045968b ; je 0x45968b
+test ah, 6
+je short loc_0045968b ; je 0x45968b
+push 0x2000
+call fcn_0045bfe8 ; call 0x45bfe8
+add esp, 4
+
+loc_0045968b:
+mov dh, byte [ebx + 0xc]
+and dh, 0xfb
+mov eax, dword [ebx + 8]
+mov byte [ebx + 0xc], dh
+mov eax, dword [eax + 8]
+mov dword [ebx], eax
+mov eax, dword [ebx + 0xc]
+and eax, 0x2400
+cmp eax, 0x2400
+jne short loc_004596ce ; jne 0x4596ce
+mov ecx, dword [ebx + 0x10]
+test ecx, ecx
+jne short loc_004596ce ; jne 0x4596ce
+mov dword [ebx + 4], ecx
+call fcn_0045c02b ; call 0x45c02b
+mov edx, eax
+cmp eax, 0xffffffff
+je short loc_004596f1 ; je 0x4596f1
+mov eax, dword [ebx]
+mov byte [eax], dl
+mov dword [ebx + 4], 1
+jmp short loc_00459710 ; jmp 0x459710
+
+loc_004596ce:
+test byte [ebx + 0xd], 4
+je short loc_004596db ; je 0x4596db
+mov eax, 1
+jmp short loc_004596de ; jmp 0x4596de
+
+loc_004596db:
+mov eax, dword [ebx + 0x14]
+
+loc_004596de:
+push eax
+mov esi, dword [ebx]
+push esi
+mov edi, dword [ebx + 0x10]
+push edi
+call fcn_0045949c ; call 0x45949c
+add esp, 0xc
+mov dword [ebx + 4], eax
+
+loc_004596f1:
+mov ebp, dword [ebx + 4]
+test ebp, ebp
+jg short loc_00459710 ; jg 0x459710
+jne short loc_00459700 ; jne 0x459700
+or byte [ebx + 0xc], 0x10
+jmp short loc_00459710 ; jmp 0x459710
+
+loc_00459700:
+mov ch, byte [ebx + 0xc]
+mov dword [ebx + 4], 0
+or ch, 0x20
+mov byte [ebx + 0xc], ch
+
+loc_00459710:
+mov eax, dword [ebx + 4]
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00459718:
+call dword [cs:__imp__GetCurrentProcessId@0] ; ucall: call dword cs:[0x462388]
+ret
+
+endloc_00459720:
+dd 0x55575653
+dd 0x0228ec81
+dd 0x15ff0000
+dd ref_00488f4c
+dd 0x3104688b
+dd 0x848d57ff
+dd 0x00011824
+dd 0xf5e85000
+dd 0x83ffffe1
+dd 0x026a08c4
+dd 0x1824848d
+dd 0x50000001
+dd 0x28fbe847
+dd 0xc4830000
+dd 0x74c08508
+db 0xd8
+db 0x68
+dd ref_0046c431
+db 0x8d
+db 0x84
+dd 0x00011824
+dd 0x50e85000
+dd 0x83ffffdc
+dd 0xc08508c4
+dd 0x04e81b75
+dd 0x83000029
+dd 0x0a740b38
+dd 0x0028fae8
+dd 0x06388300
+dd 0xc031ab75
+dd 0x00009ee9
+dd 0xdb315000
+dd 0xffe12ce8
+db 0xff
+db 0x8a
+db 0x1d
+dd ref_004891a4
+db 0x83
+dd 0x8d5304c4
+dd 0x50042444
+dd 0xffe18be8
+dd 0x08c483ff
+dd 0x8d50e089
+dd 0x01182484
+dd 0xe8500000
+dd 0x000028d3
+dd 0x8508c483
+dd 0x684875c0
+dd ref_0046c431
+dd 0x0424448d
+dd 0xdbe9e850
+dd 0xc689ffff
+dd 0x8508c483
+dd 0x8a2274c0
+dd 0xcc800d60
+dd 0x0d668808
+dd 0x5508468b
+db 0x88
+db 0x1d
+dd ref_004891a4
+db 0x88
+db 0x58
+dd 0xf5ede814
+dd 0xc483ffff
+dd 0xebf08904
+dd 0x2879e82e
+dd 0x38830000
+dd 0x7b840f0b
+dd 0x6affffff
+dd 0x24848d02
+dd 0x00000118
+dd 0x32e84350
+dd 0x83000028
+dd 0xc08508c4
+dd 0xff0b850f
+dd 0x73e9ffff
+dd 0x81ffffff
+dd 0x000228c4
+dd 0x5e5f5d00
+db 0x5b
+db 0xc3
+
+fcn_0045983a:
+push ebx
+push esi
+push edi
+cmp byte [ref_00489204], 0 ; cmp byte [0x489204], 0
+jne near loc_004598ff ; jne 0x4598ff
+mov ebx, ref_004891f0 ; mov ebx, 0x4891f0
+jmp short loc_00459892 ; jmp 0x459892
+
+loc_00459851:
+push edx
+call fcn_0045c0b4 ; call 0x45c0b4
+mov edx, eax
+add esp, 4
+test eax, eax
+je short loc_0045988f ; je 0x45988f
+mov edi, eax
+push es
+mov eax, ds
+mov es, eax
+sub ecx, ecx
+dec ecx
+xor eax, eax
+repne scasb ; repne scasb al, byte es:[edi]
+not ecx
+dec ecx
+pop es
+cmp ecx, 0x103
+ja short loc_0045988f ; ja 0x45988f
+push 0x103
+push edx
+push ref_00489204 ; push 0x489204
+call fcn_0045c10f ; call 0x45c10f
+add esp, 0xc
+jmp short loc_00459899 ; jmp 0x459899
+
+loc_0045988f:
+add ebx, 4
+
+loc_00459892:
+mov edx, dword [ebx]
+cmp byte [edx], 0
+jne short loc_00459851 ; jne 0x459851
+
+loc_00459899:
+cmp byte [ref_00489204], 0 ; cmp byte [0x489204], 0
+jne short loc_004598cf ; jne 0x4598cf
+push 0
+push 0
+call fcn_0045c1b1 ; call 0x45c1b1
+add esp, 8
+mov edi, ref_00489204 ; mov edi, 0x489204
+mov esi, eax
+push edi
+
+loc_004598b6:
+mov al, byte [esi]
+mov byte [edi], al
+cmp al, 0
+je short loc_004598ce ; je 0x4598ce
+mov al, byte [esi + 1]
+add esi, 2
+mov byte [edi + 1], al
+add edi, 2
+cmp al, 0
+jne short loc_004598b6 ; jne 0x4598b6
+
+loc_004598ce:
+pop edi
+
+loc_004598cf:
+mov edi, ref_00489204 ; mov edi, 0x489204
+push es
+mov eax, ds
+mov es, eax
+sub ecx, ecx
+dec ecx
+xor eax, eax
+repne scasb ; repne scasb al, byte es:[edi]
+not ecx
+dec ecx
+pop es
+lea edx, [ecx - 1]
+add edx, ref_00489204 ; add edx, 0x489204
+mov al, byte [edx]
+cmp al, 0x5c
+je short loc_004598ff ; je 0x4598ff
+cmp al, 0x2f
+je short loc_004598ff ; je 0x4598ff
+inc edx
+mov byte [edx], 0x5c
+inc edx
+mov byte [edx], 0
+
+loc_004598ff:
+mov eax, ref_00489204 ; mov eax, 0x489204
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00459908:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebx, dword [esp + 0x18]
+test ebx, ebx
+jl short loc_0045991f ; jl 0x45991f
+cmp ebx, dword [ref_004894e8] ; cmp ebx, dword [0x4894e8]
+jbe short loc_00459933 ; jbe 0x459933
+
+loc_0045991f:
+push 4
+call fcn_00458de7 ; call 0x458de7
+mov eax, 0xffffffff
+add esp, 4
+jmp near loc_004599a5 ; jmp 0x4599a5
+
+loc_00459933:
+mov eax, dword [ref_00489474] ; mov eax, dword [0x489474]
+mov esi, ebx
+mov ecx, dword [ref_004891b8] ; mov ecx, dword [0x4891b8]
+xor ebp, ebp
+mov eax, dword [eax + esi*4]
+xor edi, edi
+mov dword [esp], eax
+test ecx, ecx
+je short loc_00459974 ; je 0x459974
+push ebx
+call dword [ref_004891ac] ; ucall: call dword [0x4891ac]
+mov esi, eax
+add esp, 4
+test eax, eax
+je short loc_00459974 ; je 0x459974
+push ebx
+call dword [ref_004891b0] ; ucall: call dword [0x4891b0]
+add esp, 4
+push esi
+call dword [ref_004891b8] ; ucall: call dword [0x4891b8]
+add esp, 4
+jmp short loc_00459998 ; jmp 0x459998
+
+loc_00459974:
+test ebp, ebp
+jne short loc_00459998 ; jne 0x459998
+mov esi, dword [esp]
+push esi
+call dword [cs:__imp__CloseHandle@4] ; ucall: call dword cs:[0x462348]
+test eax, eax
+jne short loc_00459998 ; jne 0x459998
+push 4
+mov edi, 0xffffffff
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+jmp short loc_004599a3 ; jmp 0x4599a3
+
+loc_00459998:
+push 0
+push ebx
+call fcn_0045bef6 ; call 0x45bef6
+add esp, 8
+
+loc_004599a3:
+mov eax, edi
+
+loc_004599a5:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004599ad:
+mov edx, dword [esp + 4]
+push edx
+call fcn_0045c242 ; call 0x45c242
+add esp, 4
+ret
+
+fcn_004599bb:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebx, dword [esp + 0x18]
+test ebx, ebx
+jl short loc_004599d2 ; jl 0x4599d2
+cmp ebx, dword [ref_004894e8] ; cmp ebx, dword [0x4894e8]
+jbe short loc_004599e6 ; jbe 0x4599e6
+
+loc_004599d2:
+push 4
+call fcn_00458de7 ; call 0x458de7
+mov eax, 0xffffffff
+add esp, 4
+jmp near loc_00459aa3 ; jmp 0x459aa3
+
+loc_004599e6:
+mov esi, dword [ref_00489474] ; mov esi, dword [0x489474]
+mov eax, ebx
+push ebx
+mov esi, dword [esi + eax*4]
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+add esp, 4
+push ebx
+call fcn_0045bea0 ; call 0x45bea0
+add esp, 4
+test al, 0x80
+je short loc_00459a2f ; je 0x459a2f
+push 2
+push 0
+push 0
+push esi
+call dword [cs:__imp__SetFilePointer@16] ; ucall: call dword cs:[0x462404]
+cmp eax, 0xffffffff
+jne short loc_00459a2f ; jne 0x459a2f
+
+loc_00459a1b:
+push ebx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+call fcn_0045be8f ; call 0x45be8f
+jmp near loc_00459aa3 ; jmp 0x459aa3
+
+loc_00459a2f:
+cmp dword [ref_004891d8], 0 ; cmp dword [0x4891d8], 0
+je short loc_00459a6a ; je 0x459a6a
+push ebx
+call dword [ref_004891ac] ; ucall: call dword [0x4891ac]
+add esp, 4
+test eax, eax
+je short loc_00459a6a ; je 0x459a6a
+mov ecx, dword [esp + 0x20]
+push ecx
+mov esi, dword [esp + 0x20]
+push esi
+push eax
+call dword [ref_004891d8] ; ucall: call dword [0x4891d8]
+add esp, 0xc
+push ebx
+mov esi, eax
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+mov eax, esi
+jmp short loc_00459aa3 ; jmp 0x459aa3
+
+loc_00459a6a:
+push 0
+lea eax, [esp + 4]
+push eax
+mov edi, dword [esp + 0x28]
+push edi
+mov ebp, dword [esp + 0x28]
+push ebp
+push esi
+call dword [cs:__imp__WriteFile@20] ; ucall: call dword cs:[0x462440]
+test eax, eax
+je short loc_00459a1b ; je 0x459a1b
+cmp edi, dword [esp]
+je short loc_00459a96 ; je 0x459a96
+push 0xc
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+
+loc_00459a96:
+push ebx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+mov eax, dword [esp]
+
+loc_00459aa3:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00459aab:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x18]
+mov edx, dword [ebx + 0x10]
+push edx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov eax, dword [ebx + 8]
+mov ecx, dword [eax + 0xc]
+add esp, 4
+cmp ecx, 1
+je short loc_00459aed ; je 0x459aed
+test ecx, ecx
+je short loc_00459ae6 ; je 0x459ae6
+
+loc_00459acf:
+mov edi, dword [ebx + 0x10]
+push edi
+
+loc_00459ad3:
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+mov eax, 0xffffffff
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00459ae6:
+mov dword [eax + 0xc], 1
+
+loc_00459aed:
+test byte [ebx + 0xc], 2
+jne short loc_00459b0c ; jne 0x459b0c
+push 4
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+mov ch, byte [ebx + 0xc]
+mov eax, dword [ebx + 0x10]
+or ch, 0x20
+push eax
+mov byte [ebx + 0xc], ch
+jmp short loc_00459ad3 ; jmp 0x459ad3
+
+loc_00459b0c:
+mov eax, dword [ebx + 8]
+cmp dword [eax + 8], 0
+jne short loc_00459b1e ; jne 0x459b1e
+push ebx
+call fcn_0045940b ; call 0x45940b
+add esp, 4
+
+loc_00459b1e:
+mov eax, dword [esp + 0x14]
+mov esi, 0x400
+cmp eax, 0xa
+jne short loc_00459b70 ; jne 0x459b70
+mov dl, byte [ebx + 0xc]
+mov esi, 0x600
+test dl, 0x40
+jne short loc_00459b70 ; jne 0x459b70
+mov dh, byte [ebx + 0xd]
+or dh, 0x10
+mov eax, dword [ebx]
+mov byte [ebx + 0xd], dh
+mov byte [eax], 0xd
+mov edx, dword [ebx]
+inc edx
+mov ecx, dword [ebx + 4]
+mov dword [ebx], edx
+inc ecx
+mov edi, dword [ebx + 0x14]
+mov dword [ebx + 4], ecx
+cmp ecx, edi
+jne short loc_00459b70 ; jne 0x459b70
+push ebx
+call fcn_004591f9 ; call 0x4591f9
+add esp, 4
+test eax, eax
+je short loc_00459b70 ; je 0x459b70
+mov ebp, dword [ebx + 0x10]
+push ebp
+jmp near loc_00459ad3 ; jmp 0x459ad3
+
+loc_00459b70:
+mov cl, byte [ebx + 0xd]
+mov eax, dword [ebx]
+or cl, 0x10
+mov dl, byte [esp + 0x14]
+mov byte [ebx + 0xd], cl
+mov byte [eax], dl
+mov ebp, dword [ebx]
+inc ebp
+mov eax, dword [ebx + 4]
+mov dword [ebx], ebp
+inc eax
+mov edx, dword [ebx + 0xc]
+mov dword [ebx + 4], eax
+test esi, edx
+jne short loc_00459b99 ; jne 0x459b99
+cmp eax, dword [ebx + 0x14]
+jne short loc_00459baa ; jne 0x459baa
+
+loc_00459b99:
+push ebx
+call fcn_004591f9 ; call 0x4591f9
+add esp, 4
+test eax, eax
+jne near loc_00459acf ; jne 0x459acf
+
+loc_00459baa:
+mov esi, dword [ebx + 0x10]
+push esi
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+xor eax, eax
+mov al, byte [esp + 0x14]
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00459bc2:
+mov eax, dword [esp + 4]
+wait
+fnsave [eax]
+wait
+ret
+
+fcn_00459bcb:
+mov eax, dword [esp + 4]
+frstor [eax]
+wait
+ret
+
+fcn_00459bd3:
+push ebx
+cmp byte [ref_00488f35], 0 ; cmp byte [0x488f35], 0
+je short loc_00459bf3 ; je 0x459bf3
+mov edx, fcn_00459bc2 ; mov edx, 0x459bc2
+mov ebx, fcn_00459bcb ; mov ebx, 0x459bcb
+mov dword [ref_00489540], edx ; mov dword [0x489540], edx
+mov dword [ref_00489544], ebx ; mov dword [0x489544], ebx
+
+loc_00459bf3:
+xor eax, eax
+mov ax, word [ref_00489548] ; mov ax, word [0x489548]
+call fcn_0045c25a ; call 0x45c25a
+pop ebx
+ret
+
+endloc_00459c02:
+db 0x80
+db 0x3d
+dd ref_00488f35
+dd 0xc3c87500
+
+fcn_00459c0c:
+push ebx
+mov ah, byte [ref_00488f34] ; mov ah, byte [0x488f34]
+test ah, ah
+jne short loc_00459c4e ; jne 0x459c4e
+mov byte [ref_00488f35], ah ; mov byte [0x488f35], ah
+xor bh, bh
+sub eax, eax
+push eax
+fninit
+fnstcw word [esp]
+pop eax
+mov al, ah
+xor bl, bl
+cmp al, 3
+jne short loc_00459c39 ; jne 0x459c39
+call fcn_00459bd3 ; call 0x459bd3
+mov bh, al
+mov bl, al
+
+loc_00459c39:
+cmp byte [ref_00489348], 0 ; cmp byte [0x489348], 0
+jne short loc_00459c4e ; jne 0x459c4e
+mov byte [ref_00488f34], bh ; mov byte [0x488f34], bh
+mov byte [ref_00488f35], bl ; mov byte [0x488f35], bl
+
+loc_00459c4e:
+pop ebx
+ret
+
+fcn_00459c50:
+ret
+
+fcn_00459c51:
+push ebp
+mov ebp, esp
+push ebx
+sub esp, 0x10
+mov dl, byte [ebp + 0x10]
+cmp dl, 1
+jb short loc_00459c91 ; jb 0x459c91
+cmp dl, 3
+jbe short loc_00459c6c ; jbe 0x459c6c
+cmp dl, 4
+je short loc_00459c7d ; je 0x459c7d
+jmp short loc_00459c91 ; jmp 0x459c91
+
+loc_00459c6c:
+lea ebx, [ebp + 8]
+or dl, 0x40
+push ebx
+xor ebx, ebx
+mov bl, dl
+or bh, 0x20
+push ebx
+jmp short loc_00459cb3 ; jmp 0x459cb3
+
+loc_00459c7d:
+fldz
+fcomp qword [ebp + 8]
+fnstsw ax
+sahf
+jbe short loc_00459c91 ; jbe 0x459c91
+xor edx, edx
+mov dword [ebp - 0x14], edx
+mov dword [ebp - 0x10], edx
+jmp short loc_00459ccd ; jmp 0x459ccd
+
+loc_00459c91:
+xor ebx, ebx
+mov bl, dl
+mov ecx, ebx
+or ch, 0x81
+cmp dl, 6
+jne short loc_00459cae ; jne 0x459cae
+fldz
+fcomp qword [ebp + 8]
+fnstsw ax
+sahf
+jbe short loc_00459cae ; jbe 0x459cae
+or bh, 0x11
+mov ecx, ebx
+
+loc_00459cae:
+lea ebx, [ebp + 8]
+push ebx
+push ecx
+
+loc_00459cb3:
+call fcn_0045c281 ; call 0x45c281
+mov dword [ebp - 0xc], eax
+mov dword [ebp - 8], edx
+add esp, 8
+mov eax, dword [ebp - 0xc]
+mov dword [ebp - 0x14], eax
+mov eax, dword [ebp - 8]
+mov dword [ebp - 0x10], eax
+
+loc_00459ccd:
+mov ebx, dword [ebp - 0x14]
+mov dword [ebp - 0xc], ebx
+mov ebx, dword [ebp - 0x10]
+mov eax, dword [ebp - 0xc]
+mov edx, ebx
+lea esp, [ebp - 4]
+pop ebx
+pop ebp
+ret
+
+fcn_00459ce1:
+push ebx
+mov edx, fcn_0045c3b2 ; mov edx, 0x45c3b2
+mov ebx, fcn_0045c4cf ; mov ebx, 0x45c4cf
+mov dword [ref_004895a8], edx ; mov dword [0x4895a8], edx
+mov dword [ref_004895ac], ebx ; mov dword [0x4895ac], ebx
+pop ebx
+ret
+
+endloc_00459cfa:
+db 0x00
+db 0x00
+
+fcn_00459cfc:
+push eax
+sub esp, 0x14
+fstp tword [esp] ; fstp xword [esp]
+mov eax, dword [esp + 8]
+and eax, 0x7fff
+je near loc_00459da3 ; je 0x459da3
+cmp eax, 0x7fff
+je near loc_00459da3 ; je 0x459da3
+mov eax, dword [esp + 4]
+add eax, eax
+jae short loc_00459da3 ; jae 0x459da3
+fld tword [esp] ; fld xword [esp]
+fabs
+fcomp dword [ref_0048996c] ; fcomp dword [0x48996c]
+fnstsw ax
+sahf
+jae short loc_00459da3 ; jae 0x459da3
+fld tword [esp] ; fld xword [esp]
+fsincos
+fstp tword [esp] ; fstp xword [esp]
+fld tword [esp] ; fld xword [esp]
+mov eax, dword [esp + 4]
+add eax, eax
+xor eax, 0xe000000
+test eax, 0xe000000
+je short loc_00459d5b ; je 0x459d5b
+fdivp st1 ; fdivp st(1)
+fld1
+add esp, 0x14
+pop eax
+ret
+
+loc_00459d5b:
+shr eax, 0x1c
+cmp byte [eax + ref_00489958], ah ; cmp byte [eax + 0x489958], ah
+jne short loc_00459d6f ; jne 0x459d6f
+fdivp st1 ; fdivp st(1)
+fld1
+add esp, 0x14
+pop eax
+ret
+
+loc_00459d6f:
+wait
+wait
+fnstcw word [esp + 0x10]
+mov eax, dword [esp + 0x10]
+or eax, 0x33f
+mov dword [esp + 0xc], eax
+fldcw word [esp + 0xc]
+fmul dword [ref_00489968] ; fmul dword [0x489968]
+fxch st1 ; fxch st(1)
+fmul dword [ref_00489968] ; fmul dword [0x489968]
+fxch st1 ; fxch st(1)
+fldcw word [esp + 0x10]
+fdivp st1 ; fdivp st(1)
+fld1
+add esp, 0x14
+pop eax
+ret
+
+loc_00459da3:
+fld tword [esp] ; fld xword [esp]
+fptan
+add esp, 0x14
+pop eax
+ret
+
+fcn_00459dad:
+mov edx, dword [esp + 4]
+test edx, edx
+jne short loc_00459dbd ; jne 0x459dbd
+call fcn_0045bfdd ; call 0x45bfdd
+xor eax, eax
+ret
+
+loc_00459dbd:
+push edx
+call fcn_004591f9 ; call 0x4591f9
+add esp, 4
+ret
+
+fcn_00459dc7:
+push ebx
+mov ebx, dword [esp + 8]
+mov edx, dword [esp + 0xc]
+
+loc_00459dd0:
+mov al, byte [ebx]
+mov ah, byte [edx]
+cmp al, 0x41
+jb short loc_00459dde ; jb 0x459dde
+cmp al, 0x5a
+ja short loc_00459dde ; ja 0x459dde
+add al, 0x20
+
+loc_00459dde:
+cmp ah, 0x41
+jb short loc_00459deb ; jb 0x459deb
+cmp ah, 0x5a
+ja short loc_00459deb ; ja 0x459deb
+add ah, 0x20
+
+loc_00459deb:
+cmp al, ah
+jne short loc_00459df7 ; jne 0x459df7
+test ah, ah
+je short loc_00459df7 ; je 0x459df7
+inc ebx
+inc edx
+jmp short loc_00459dd0 ; jmp 0x459dd0
+
+loc_00459df7:
+xor edx, edx
+mov dl, al
+mov al, ah
+and eax, 0xff
+sub edx, eax
+mov eax, edx
+pop ebx
+ret
+
+fcn_00459e08:
+push ebx
+mov ecx, dword [ref_00489474] ; mov ecx, dword [0x489474]
+mov eax, dword [ref_00489478] ; mov eax, dword [0x489478]
+cmp eax, dword [ref_004894e8] ; cmp eax, dword [0x4894e8]
+jae short loc_00459e20 ; jae 0x459e20
+
+loc_00459e1c:
+xor eax, eax
+jmp short loc_00459e41 ; jmp 0x459e41
+
+loc_00459e20:
+mov ebx, dword [ref_00489478] ; mov ebx, dword [0x489478]
+mov edx, ecx
+xor eax, eax
+shl ebx, 2
+jmp short loc_00459e38 ; jmp 0x459e38
+
+loc_00459e2f:
+cmp dword [edx + eax], 0
+je short loc_00459e1c ; je 0x459e1c
+add eax, 4
+
+loc_00459e38:
+cmp eax, ebx
+jl short loc_00459e2f ; jl 0x459e2f
+mov eax, 1
+
+loc_00459e41:
+mov dword [ref_00489474], ecx ; mov dword [0x489474], ecx
+pop ebx
+ret
+
+fcn_00459e49:
+push ebx
+call dword [ref_00488f80] ; ucall: call dword [0x488f80]
+mov ecx, dword [ref_00489478] ; mov ecx, dword [0x489478]
+xor ebx, ebx
+xor eax, eax
+shl ecx, 2
+jmp short loc_00459e80 ; jmp 0x459e80
+
+loc_00459e5f:
+mov edx, dword [ref_00489474] ; mov edx, dword [0x489474]
+add edx, eax
+cmp dword [edx], 0
+jne short loc_00459e7c ; jne 0x459e7c
+mov eax, dword [esp + 8]
+mov dword [edx], eax
+call dword [ref_00488f84] ; ucall: call dword [0x488f84]
+mov eax, ebx
+pop ebx
+ret
+
+loc_00459e7c:
+add eax, 4
+inc ebx
+
+loc_00459e80:
+cmp eax, ecx
+jl short loc_00459e5f ; jl 0x459e5f
+mov eax, dword [ref_00489478] ; mov eax, dword [0x489478]
+inc eax
+shl eax, 2
+push eax
+mov edx, dword [ref_00489474] ; mov edx, dword [0x489474]
+push edx
+call fcn_0045c585 ; call 0x45c585
+mov edx, dword [ref_00489478] ; mov edx, dword [0x489478]
+mov ebx, dword [ref_00489478] ; mov ebx, dword [0x489478]
+add esp, 8
+mov dword [ref_00489474], eax ; mov dword [0x489474], eax
+shl edx, 2
+inc ebx
+add eax, edx
+mov edx, dword [esp + 8]
+mov dword [ref_00489478], ebx ; mov dword [0x489478], ebx
+mov dword [eax], edx
+call dword [ref_00488f84] ; ucall: call dword [0x488f84]
+mov eax, dword [ref_00489478] ; mov eax, dword [0x489478]
+dec eax
+pop ebx
+ret
+
+fcn_00459ece:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x14]
+mov esi, dword [esp + 0x18]
+test esi, esi
+jl near loc_00459f7a ; jl 0x459f7a
+call dword [ref_00488f80] ; ucall: call dword [0x488f80]
+cmp esi, 1
+jb short loc_00459ef6 ; jb 0x459ef6
+jbe short loc_00459eff ; jbe 0x459eff
+cmp esi, 2
+je short loc_00459f04 ; je 0x459f04
+jmp short loc_00459f0e ; jmp 0x459f0e
+
+loc_00459ef6:
+test esi, esi
+jne short loc_00459f0e ; jne 0x459f0e
+push ebp
+push 0xfffffffffffffff6
+jmp short loc_00459f07 ; jmp 0x459f07
+
+loc_00459eff:
+push ebp
+push 0xfffffffffffffff5
+jmp short loc_00459f07 ; jmp 0x459f07
+
+loc_00459f04:
+push ebp
+push 0xfffffffffffffff4
+
+loc_00459f07:
+call dword [cs:__imp__SetStdHandle@8] ; ucall: call dword cs:[0x46240c]
+
+loc_00459f0e:
+mov edi, esi
+mov edx, dword [ref_00489478] ; mov edx, dword [0x489478]
+shl edi, 2
+cmp esi, edx
+jge short loc_00459f27 ; jge 0x459f27
+mov eax, dword [ref_00489474] ; mov eax, dword [0x489474]
+mov dword [edi + eax], ebp
+jmp short loc_00459f74 ; jmp 0x459f74
+
+loc_00459f27:
+lea eax, [edi + 4]
+push eax
+mov ebx, dword [ref_00489474] ; mov ebx, dword [0x489474]
+push ebx
+call fcn_0045c585 ; call 0x45c585
+mov ebx, dword [ref_00489478] ; mov ebx, dword [0x489478]
+add esp, 8
+mov dword [ref_00489474], eax ; mov dword [0x489474], eax
+mov eax, ebx
+mov ecx, edi
+shl eax, 2
+jmp short loc_00459f5f ; jmp 0x459f5f
+
+loc_00459f4e:
+mov edx, dword [ref_00489474] ; mov edx, dword [0x489474]
+inc ebx
+mov dword [edx + eax], 0
+add eax, 4
+
+loc_00459f5f:
+cmp eax, ecx
+jl short loc_00459f4e ; jl 0x459f4e
+mov eax, dword [ref_00489474] ; mov eax, dword [0x489474]
+mov edx, esi
+inc esi
+mov dword [eax + edx*4], ebp
+mov dword [ref_00489478], esi ; mov dword [0x489478], esi
+
+loc_00459f74:
+call dword [ref_00488f84] ; ucall: call dword [0x488f84]
+
+loc_00459f7a:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00459f7f:
+call dword [ref_00488f80] ; ucall: call dword [0x488f80]
+mov edx, dword [esp + 4]
+test edx, edx
+jle short loc_00459fa4 ; jle 0x459fa4
+cmp edx, dword [ref_00489478] ; cmp edx, dword [0x489478]
+jge short loc_00459fa4 ; jge 0x459fa4
+mov eax, edx
+mov edx, dword [ref_00489474] ; mov edx, dword [0x489474]
+mov dword [edx + eax*4], 0
+
+loc_00459fa4:
+call dword [ref_00488f84] ; ucall: call dword [0x488f84]
+ret
+
+fcn_00459fab:
+push 0xfffffffffffffff6
+call dword [cs:__imp__GetStdHandle@4] ; ucall: call dword cs:[0x4623c8]
+mov edx, eax
+test eax, eax
+je short loc_00459fbf ; je 0x459fbf
+cmp eax, 0xffffffff
+jne short loc_00459fc4 ; jne 0x459fc4
+
+loc_00459fbf:
+call fcn_0045a012 ; call 0x45a012
+
+loc_00459fc4:
+push eax
+call fcn_00459e49 ; call 0x459e49
+add esp, 4
+push 0xfffffffffffffff5
+call dword [cs:__imp__GetStdHandle@4] ; ucall: call dword cs:[0x4623c8]
+mov edx, eax
+test eax, eax
+je short loc_00459fe1 ; je 0x459fe1
+cmp eax, 0xffffffff
+jne short loc_00459fe6 ; jne 0x459fe6
+
+loc_00459fe1:
+call fcn_0045a012 ; call 0x45a012
+
+loc_00459fe6:
+push eax
+call fcn_00459e49 ; call 0x459e49
+add esp, 4
+push 0xfffffffffffffff4
+call dword [cs:__imp__GetStdHandle@4] ; ucall: call dword cs:[0x4623c8]
+mov edx, eax
+test eax, eax
+je short loc_0045a003 ; je 0x45a003
+cmp eax, 0xffffffff
+jne short loc_0045a008 ; jne 0x45a008
+
+loc_0045a003:
+call fcn_0045a012 ; call 0x45a012
+
+loc_0045a008:
+push eax
+call fcn_00459e49 ; call 0x459e49
+add esp, 4
+ret
+
+fcn_0045a012:
+push 0
+push 0
+push 0
+push 0
+call dword [cs:__imp__CreateEventA@16] ; ucall: call dword cs:[0x46234c]
+mov edx, eax
+test eax, eax
+jne short loc_0045a034 ; jne 0x45a034
+mov edx, dword [ref_0048947c] ; mov edx, dword [0x48947c]
+inc edx
+mov dword [ref_0048947c], edx ; mov dword [0x48947c], edx
+
+loc_0045a034:
+mov eax, edx
+ret
+
+fcn_0045a037:
+ret
+
+fcn_0045a038:
+push ebx
+mov edx, dword [ref_0049933c] ; mov edx, dword [0x49933c]
+cmp edx, 0x40
+jge short loc_0045a062 ; jge 0x45a062
+mov eax, edx
+shl eax, 2
+mov ebx, ref_00499340 ; mov ebx, 0x499340
+sub eax, edx
+lea ecx, [edx + 1]
+shl eax, 3
+mov dword [ref_0049933c], ecx ; mov dword [0x49933c], ecx
+add ebx, eax
+mov eax, ebx
+pop ebx
+ret
+
+loc_0045a062:
+push 0x18
+push 1
+call fcn_0045c62e ; call 0x45c62e
+add esp, 8
+mov ebx, eax
+test eax, eax
+jne short loc_0045a083 ; jne 0x45a083
+push 1
+push ref_0046c438 ; push 0x46c438
+call fcn_0045c690 ; call 0x45c690
+add esp, 8
+
+loc_0045a083:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_0045a087:
+push ebx
+mov ebx, dword [esp + 8]
+cmp dword [ebx + 4], 0
+je short loc_0045a09c ; je 0x45a09c
+mov ecx, dword [ebx]
+push ecx
+call dword [cs:__imp__DeleteCriticalSection@4] ; ucall: call dword cs:[0x462358]
+
+loc_0045a09c:
+mov dword [ebx + 4], 0
+mov dword [ebx + 8], 0
+mov dword [ebx + 0xc], 0
+pop ebx
+ret
+
+fcn_0045a0b3:
+push ebx
+push esi
+push edi
+mov ebx, dword [esp + 0x10]
+call dword [cs:__imp__GetCurrentThreadId@0] ; ucall: call dword cs:[0x46238c]
+mov edx, dword [ebx + 8]
+mov esi, eax
+cmp eax, edx
+je short loc_0045a114 ; je 0x45a114
+cmp dword [ebx + 4], 0
+jne short loc_0045a107 ; jne 0x45a107
+push ref_0049930c ; push 0x49930c
+call fcn_0045a0b3 ; call 0x45a0b3
+mov edi, dword [ebx + 4]
+add esp, 4
+test edi, edi
+jne short loc_0045a0fa ; jne 0x45a0fa
+call fcn_0045a038 ; call 0x45a038
+push eax
+mov dword [ebx], eax
+call dword [cs:__imp__InitializeCriticalSection@4] ; ucall: call dword cs:[0x4623d4]
+mov dword [ebx + 4], 1
+
+loc_0045a0fa:
+push ref_0049930c ; push 0x49930c
+call fcn_0045a11b ; call 0x45a11b
+add esp, 4
+
+loc_0045a107:
+mov eax, dword [ebx]
+push eax
+call dword [cs:__imp__EnterCriticalSection@4] ; ucall: call dword cs:[0x462360]
+mov dword [ebx + 8], esi
+
+loc_0045a114:
+inc dword [ebx + 0xc]
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045a11b:
+push ebx
+push esi
+mov eax, dword [esp + 0xc]
+mov edx, dword [eax + 0xc]
+test edx, edx
+jbe short loc_0045a13f ; jbe 0x45a13f
+lea ebx, [edx - 1]
+mov dword [eax + 0xc], ebx
+test ebx, ebx
+jne short loc_0045a13f ; jne 0x45a13f
+mov esi, dword [eax]
+push esi
+mov dword [eax + 8], ebx
+call dword [cs:__imp__LeaveCriticalSection@4] ; ucall: call dword cs:[0x4623d8]
+
+loc_0045a13f:
+pop esi
+pop ebx
+ret
+
+fcn_0045a142:
+push ref_004991dc ; push 0x4991dc
+
+loc_0045a147:
+call fcn_0045a0b3 ; call 0x45a0b3
+add esp, 4
+ret
+
+fcn_0045a150:
+push ref_004991dc ; push 0x4991dc
+
+loc_0045a155:
+call fcn_0045a11b ; call 0x45a11b
+add esp, 4
+ret
+
+fcn_0045a15e:
+mov eax, dword [esp + 4]
+and eax, 0xf
+shl eax, 4
+add eax, ref_004991fc ; add eax, 0x4991fc
+push eax
+jmp short loc_0045a147 ; jmp 0x45a147
+
+fcn_0045a170:
+mov eax, dword [esp + 4]
+and eax, 0xf
+shl eax, 4
+add eax, ref_004991fc ; add eax, 0x4991fc
+push eax
+jmp short loc_0045a155 ; jmp 0x45a155
+
+fcn_0045a182:
+mov edx, dword [esp + 4]
+push edx
+call fcn_00459e49 ; call 0x459e49
+add esp, 4
+ret
+
+fcn_0045a190:
+mov eax, dword [esp + 4]
+and eax, 0xf
+shl eax, 4
+add eax, ref_004991fc ; add eax, 0x4991fc
+push eax
+call fcn_0045a087 ; call 0x45a087
+add esp, 4
+mov edx, dword [esp + 4]
+push edx
+call fcn_00459f7f ; call 0x459f7f
+add esp, 4
+ret
+
+fcn_0045a1b6:
+push ref_004992fc ; push 0x4992fc
+jmp short loc_0045a147 ; jmp 0x45a147
+
+fcn_0045a1bd:
+push ref_004992fc ; push 0x4992fc
+jmp short loc_0045a155 ; jmp 0x45a155
+
+fcn_0045a1c4:
+push ref_004991ec ; push 0x4991ec
+jmp near loc_0045a147 ; jmp 0x45a147
+
+fcn_0045a1ce:
+push ref_004991ec ; push 0x4991ec
+jmp short loc_0045a155 ; jmp 0x45a155
+
+fcn_0045a1d5:
+push ref_0049931c ; push 0x49931c
+jmp near loc_0045a147 ; jmp 0x45a147
+
+fcn_0045a1df:
+push ref_0049931c ; push 0x49931c
+jmp near loc_0045a155 ; jmp 0x45a155
+
+fcn_0045a1e9:
+push ref_0049932c ; push 0x49932c
+jmp near loc_0045a147 ; jmp 0x45a147
+
+fcn_0045a1f3:
+push ref_0049932c ; push 0x49932c
+jmp near loc_0045a155 ; jmp 0x45a155
+
+fcn_0045a1fd:
+push ebx
+push esi
+call dword [cs:__imp__GetLastError@0] ; ucall: call dword cs:[0x4623ac]
+mov edx, dword [ref_00488f48] ; mov edx, dword [0x488f48]
+push edx
+mov esi, eax
+call dword [cs:__imp__TlsGetValue@4] ; ucall: call dword cs:[0x46241c]
+mov ebx, eax
+test eax, eax
+jne short loc_0045a223 ; jne 0x45a223
+call fcn_0045c6be ; call 0x45c6be
+jmp short loc_0045a22e ; jmp 0x45a22e
+
+loc_0045a223:
+cmp byte [eax + 0x53], 0
+je short loc_0045a230 ; je 0x45a230
+call fcn_0045c6f5 ; call 0x45c6f5
+
+loc_0045a22e:
+mov ebx, eax
+
+loc_0045a230:
+push esi
+call dword [cs:__imp__SetLastError@4] ; ucall: call dword cs:[0x462408]
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_0045a23d:
+push ebx
+mov ebx, dword [esp + 8]
+test ebx, ebx
+jne short loc_0045a26d ; jne 0x45a26d
+mov edx, dword [ref_004894b0] ; mov edx, dword [0x4894b0]
+push edx
+push 1
+call fcn_0045c62e ; call 0x45c62e
+add esp, 8
+mov ebx, eax
+test eax, eax
+je short loc_0045a26d ; je 0x45a26d
+mov edx, dword [ref_004894b0] ; mov edx, dword [0x4894b0]
+mov byte [eax + 0x52], 1
+mov dword [eax + 0xf0], edx
+
+loc_0045a26d:
+push ebx
+call fcn_0045c8d7 ; call 0x45c8d7
+add esp, 4
+mov eax, ebx
+pop ebx
+ret
+
+fcn_0045a27a:
+call dword [cs:__imp__TlsAlloc@0] ; ucall: call dword cs:[0x462414]
+mov dx, word [ref_00489355] ; mov dx, word [0x489355]
+mov dword [ref_00488f48], eax ; mov dword [0x488f48], eax
+cmp dx, 0x8000
+jb short loc_0045a2bb ; jb 0x45a2bb
+cmp byte [ref_00489353], 4 ; cmp byte [0x489353], 4
+jae short loc_0045a2bb ; jae 0x45a2bb
+
+loc_0045a29d:
+mov edx, dword [ref_00488f48] ; mov edx, dword [0x488f48]
+cmp edx, 0xffffffff
+je short loc_0045a2bb ; je 0x45a2bb
+cmp edx, 2
+ja short loc_0045a2bb ; ja 0x45a2bb
+call dword [cs:__imp__TlsAlloc@0] ; ucall: call dword cs:[0x462414]
+mov dword [ref_00488f48], eax ; mov dword [0x488f48], eax
+jmp short loc_0045a29d ; jmp 0x45a29d
+
+loc_0045a2bb:
+cmp dword [ref_00488f48], 0xffffffff ; cmp dword [0x488f48], 0xffffffff
+setne al
+and eax, 0xff
+ret
+
+fcn_0045a2cb:
+push ebx
+push esi
+cmp dword [ref_00488f48], 0xffffffff ; cmp dword [0x488f48], 0xffffffff
+jne short loc_0045a2db ; jne 0x45a2db
+
+loc_0045a2d6:
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+loc_0045a2db:
+mov ebx, dword [esp + 0xc]
+push ebx
+call fcn_0045a23d ; call 0x45a23d
+mov ebx, eax
+add esp, 4
+test eax, eax
+je short loc_0045a321 ; je 0x45a321
+push eax
+mov ecx, dword [eax + 0xda]
+push ecx
+call fcn_0045c7ca ; call 0x45c7ca
+add esp, 8
+test eax, eax
+jne short loc_0045a30d ; jne 0x45a30d
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp short loc_0045a2d6 ; jmp 0x45a2d6
+
+loc_0045a30d:
+push ebx
+mov esi, dword [ref_00488f48] ; mov esi, dword [0x488f48]
+push esi
+call dword [cs:__imp__TlsSetValue@8] ; ucall: call dword cs:[0x462420]
+mov eax, 1
+
+loc_0045a321:
+pop esi
+pop ebx
+ret
+
+fcn_0045a324:
+push ebx
+push esi
+mov edx, dword [ref_00488f48] ; mov edx, dword [0x488f48]
+cmp edx, 0xffffffff
+je short loc_0045a375 ; je 0x45a375
+push edx
+call dword [cs:__imp__TlsGetValue@4] ; ucall: call dword cs:[0x46241c]
+test eax, eax
+je short loc_0045a375 ; je 0x45a375
+mov ecx, dword [eax + 0xda]
+push ecx
+mov ebx, dword [eax + 0xde]
+call fcn_0045c836 ; call 0x45c836
+add esp, 4
+push 0
+mov esi, dword [ref_00488f48] ; mov esi, dword [0x488f48]
+push esi
+call dword [cs:__imp__TlsSetValue@8] ; ucall: call dword cs:[0x462420]
+test ebx, ebx
+je short loc_0045a375 ; je 0x45a375
+cmp dword [esp + 0xc], 0
+je short loc_0045a375 ; je 0x45a375
+push ebx
+call dword [cs:__imp__CloseHandle@4] ; ucall: call dword cs:[0x462348]
+
+loc_0045a375:
+pop esi
+pop ebx
+ret
+
+fcn_0045a378:
+push 1
+call fcn_0045a324 ; call 0x45a324
+add esp, 4
+
+fcn_0045a382:
+mov edx, dword [ref_00488f48] ; mov edx, dword [0x488f48]
+cmp edx, 0xffffffff
+je short loc_0045a39f ; je 0x45a39f
+push edx
+call dword [cs:__imp__TlsFree@4] ; ucall: call dword cs:[0x462418]
+mov dword [ref_00488f48], 0xffffffff ; mov dword [0x488f48], 0xffffffff
+
+loc_0045a39f:
+ret
+
+fcn_0045a3a0:
+push ebx
+push esi
+push edi
+push ebp
+mov edx, fcn_0045a15e ; mov edx, 0x45a15e
+mov ebx, fcn_0045a170 ; mov ebx, 0x45a170
+mov ecx, fcn_0045a182 ; mov ecx, 0x45a182
+mov esi, fcn_0045a190 ; mov esi, 0x45a190
+mov edi, fcn_0045a142 ; mov edi, 0x45a142
+mov ebp, fcn_0045a150 ; mov ebp, 0x45a150
+mov eax, fcn_0045a1d5 ; mov eax, 0x45a1d5
+mov dword [ref_00488f50], edx ; mov dword [0x488f50], edx
+mov dword [ref_00488f54], ebx ; mov dword [0x488f54], ebx
+mov dword [ref_00488f58], ecx ; mov dword [0x488f58], ecx
+mov dword [ref_00488f5c], esi ; mov dword [0x488f5c], esi
+mov dword [ref_00488f60], edi ; mov dword [0x488f60], edi
+mov dword [ref_00488f64], ebp ; mov dword [0x488f64], ebp
+mov dword [ref_00488f78], eax ; mov dword [0x488f78], eax
+mov edx, fcn_0045a1df ; mov edx, 0x45a1df
+mov ebx, fcn_0045a0b3 ; mov ebx, 0x45a0b3
+mov ecx, fcn_0045a11b ; mov ecx, 0x45a11b
+mov esi, fcn_0045a087 ; mov esi, 0x45a087
+mov edi, fcn_0045a1b6 ; mov edi, 0x45a1b6
+mov ebp, fcn_0045a1c4 ; mov ebp, 0x45a1c4
+mov eax, fcn_0045a1bd ; mov eax, 0x45a1bd
+mov dword [ref_00488f7c], edx ; mov dword [0x488f7c], edx
+mov dword [ref_00489480], ebx ; mov dword [0x489480], ebx
+mov dword [ref_00489484], ecx ; mov dword [0x489484], ecx
+mov dword [ref_00489488], esi ; mov dword [0x489488], esi
+mov dword [ref_00488f68], edi ; mov dword [0x488f68], edi
+mov dword [ref_00488f6c], ebp ; mov dword [0x488f6c], ebp
+mov dword [ref_00488f70], eax ; mov dword [0x488f70], eax
+mov edx, fcn_0045a1ce ; mov edx, 0x45a1ce
+mov ebx, 1
+mov esi, fcn_0045a1f3 ; mov esi, 0x45a1f3
+mov dword [ref_00488f74], edx ; mov dword [0x488f74], edx
+call fcn_0045a038 ; call 0x45a038
+push eax
+mov edi, fcn_0045a378 ; mov edi, 0x45a378
+mov dword [ref_0049930c], eax ; mov dword [0x49930c], eax
+call dword [cs:__imp__InitializeCriticalSection@4] ; ucall: call dword cs:[0x4623d4]
+mov ecx, fcn_0045a1e9 ; mov ecx, 0x45a1e9
+mov ebp, dword [ref_004991c4] ; mov ebp, dword [0x4991c4]
+mov dword [ref_00499310], ebx ; mov dword [0x499310], ebx
+push ebp
+mov edx, dword [ebp + 0xda]
+mov dword [ref_00488f84], esi ; mov dword [0x488f84], esi
+push edx
+mov dword [ref_00488f88], edi ; mov dword [0x488f88], edi
+mov dword [ref_00488f80], ecx ; mov dword [0x488f80], ecx
+call fcn_0045c7ca ; call 0x45c7ca
+add esp, 8
+mov ebx, dword [ref_004991c4] ; mov ebx, dword [0x4991c4]
+push ebx
+mov ecx, dword [ref_00488f48] ; mov ecx, dword [0x488f48]
+push ecx
+mov esi, fcn_0045a1fd ; mov esi, 0x45a1fd
+call dword [cs:__imp__TlsSetValue@8] ; ucall: call dword cs:[0x462420]
+mov dword [ref_00488f4c], esi ; mov dword [0x488f4c], esi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045a4c0:
+push ebx
+push esi
+push ref_004991dc ; push 0x4991dc
+mov ebx, ref_004991fc ; mov ebx, 0x4991fc
+call dword [ref_00489488] ; ucall: call dword [0x489488]
+add esp, 4
+lea esi, [ebx + 0x100]
+
+loc_0045a4db:
+push ebx
+call dword [ref_00489488] ; ucall: call dword [0x489488]
+add ebx, 0x10
+add esp, 4
+cmp ebx, esi
+jne short loc_0045a4db ; jne 0x45a4db
+push ref_0049932c ; push 0x49932c
+call dword [ref_00489488] ; ucall: call dword [0x489488]
+add esp, 4
+call fcn_0045c901 ; call 0x45c901
+push ref_004992fc ; push 0x4992fc
+call dword [ref_00489488] ; ucall: call dword [0x489488]
+add esp, 4
+push ref_004991ec ; push 0x4991ec
+call dword [ref_00489488] ; ucall: call dword [0x489488]
+add esp, 4
+push ref_0049931c ; push 0x49931c
+call dword [ref_00489488] ; ucall: call dword [0x489488]
+add esp, 4
+push ref_0049930c ; push 0x49930c
+call dword [ref_00489488] ; ucall: call dword [0x489488]
+add esp, 4
+call fcn_0045a382 ; call 0x45a382
+pop esi
+pop ebx
+ret
+
+fcn_0045a53f:
+push ebx
+push esi
+push edi
+mov esi, dword [esp + 0x10]
+mov edi, esi
+push es
+mov eax, ds
+mov es, eax
+sub ecx, ecx
+dec ecx
+xor eax, eax
+repne scasb ; repne scasb al, byte es:[edi]
+not ecx
+dec ecx
+pop es
+lea ebx, [ecx + 1]
+push ebx
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov edx, eax
+test eax, eax
+je short loc_0045a584 ; je 0x45a584
+mov ecx, ebx
+mov edi, eax
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+
+loc_0045a584:
+mov eax, edx
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045a58a:
+push ebx
+push esi
+push edi
+mov edi, dword [esp + 0x14]
+call dword [cs:__imp__GetVersion@0] ; ucall: call dword cs:[0x4623d0]
+shr eax, 0x10
+and eax, 0xffff
+cmp ax, 0x8000
+jae short loc_0045a5bc ; jae 0x45a5bc
+mov esi, dword [esp + 0x18]
+push esi
+push edi
+mov edi, dword [esp + 0x18]
+push edi
+call dword [cs:__imp__GetModuleFileNameW@12] ; ucall: call dword cs:[0x4623b8]
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045a5bc:
+push 0x208
+call fcn_00456f80 ; call 0x456f80
+mov ebx, eax
+add esp, 4
+test eax, eax
+je short loc_0045a62b ; je 0x45a62b
+push 0x208
+push eax
+mov edx, dword [esp + 0x18]
+push edx
+call dword [cs:__imp__GetModuleFileNameA@12] ; ucall: call dword cs:[0x4623b4]
+test eax, eax
+jne short loc_0045a5f4 ; jne 0x45a5f4
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0045a5ee:
+xor eax, eax
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045a5f4:
+mov ecx, dword [esp + 0x18]
+push ecx
+push edi
+push 0xffffffffffffffff
+push ebx
+push 1
+push 1
+call dword [cs:__imp__MultiByteToWideChar@24] ; ucall: call dword cs:[0x4623e4]
+push ebx
+mov esi, eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+test esi, esi
+je short loc_0045a5ee ; je 0x45a5ee
+mov eax, dword [esp + 0x18]
+push edi
+mov word [edi + eax*2 - 2], 0
+call fcn_0045c9de ; call 0x45c9de
+add esp, 4
+
+loc_0045a62b:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045a62f:
+push ebx
+push esi
+push ebp
+mov ebp, esp
+push dword [ebp + 0x10]
+call fcn_0045c9de ; call 0x45c9de
+lea esi, [eax + 1]
+add esp, 4
+add esi, esi
+push esi
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov ebx, eax
+test eax, eax
+je short loc_0045a660 ; je 0x45a660
+push esi
+push dword [ebp + 0x10]
+push eax
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+
+loc_0045a660:
+mov eax, ebx
+pop ebp
+pop esi
+pop ebx
+ret
+
+fcn_0045a666:
+push ebx
+push esi
+sub esp, 0x20
+mov ebx, dword [esp + 0x2c]
+push 0x1c
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 0x24]
+push eax
+call dword [cs:__imp__VirtualQuery@12] ; ucall: call dword cs:[0x462430]
+mov edx, dword [esp]
+add edx, dword [esp + 0xc]
+mov cx, word [ref_00489355] ; mov cx, word [0x489355]
+mov eax, dword [esp + 4]
+cmp cx, 0x8000
+jae short loc_0045a6a2 ; jae 0x45a6a2
+add eax, 0x3000
+jmp short loc_0045a6b9 ; jmp 0x45a6b9
+
+loc_0045a6a2:
+jb short loc_0045a6b4 ; jb 0x45a6b4
+cmp byte [ref_00489353], 4 ; cmp byte [0x489353], 4
+jae short loc_0045a6b4 ; jae 0x45a6b4
+add eax, 0x12000
+jmp short loc_0045a6b9 ; jmp 0x45a6b9
+
+loc_0045a6b4:
+add eax, 0x13000
+
+loc_0045a6b9:
+test ebx, ebx
+je short loc_0045a6bf ; je 0x45a6bf
+mov dword [ebx], eax
+
+loc_0045a6bf:
+mov esi, dword [esp + 0x30]
+test esi, esi
+je short loc_0045a6c9 ; je 0x45a6c9
+mov dword [esi], edx
+
+loc_0045a6c9:
+add esp, 0x20
+pop esi
+pop ebx
+ret
+
+fcn_0045a6cf:
+push ebx
+push ref_0046c45c ; push 0x46c45c
+call dword [cs:__imp__LoadLibraryA@4] ; ucall: call dword cs:[0x4623dc]
+xor ebx, ebx
+test eax, eax
+je short loc_0045a6f9 ; je 0x45a6f9
+push ref_0046c467 ; push 0x46c467
+push eax
+call dword [cs:__imp__GetProcAddress@8] ; ucall: call dword cs:[0x4623c4]
+mov edx, eax
+test eax, eax
+je short loc_0045a6f9 ; je 0x45a6f9
+call edx
+mov ebx, eax
+
+loc_0045a6f9:
+test ebx, ebx
+setne al
+and eax, 0xff
+pop ebx
+ret
+
+fcn_0045a705:
+push ebx
+push esi
+mov edx, dword [esp + 0xc]
+mov eax, dword [esp + 0x10]
+xor ebx, ebx
+
+loc_0045a711:
+cmp byte [edx], 0
+je short loc_0045a719 ; je 0x45a719
+inc edx
+jmp short loc_0045a711 ; jmp 0x45a711
+
+loc_0045a719:
+lea esi, [edx + 9]
+
+loc_0045a71c:
+mov cl, byte [eax]
+mov byte [edx], cl
+test cl, cl
+je short loc_0045a736 ; je 0x45a736
+cmp cl, 0x30
+jne short loc_0045a731 ; jne 0x45a731
+cmp byte [eax + 1], 0x78
+jne short loc_0045a731 ; jne 0x45a731
+mov ebx, esi
+
+loc_0045a731:
+inc esi
+inc edx
+inc eax
+jmp short loc_0045a71c ; jmp 0x45a71c
+
+loc_0045a736:
+test ebx, ebx
+je short loc_0045a755 ; je 0x45a755
+mov eax, dword [esp + 0x14]
+
+loc_0045a73e:
+test eax, eax
+je short loc_0045a755 ; je 0x45a755
+mov edx, eax
+and edx, 0xf
+mov dl, byte [edx + ref_00489494] ; mov dl, byte [edx + 0x489494]
+shr eax, 4
+mov byte [ebx], dl
+dec ebx
+jmp short loc_0045a73e ; jmp 0x45a73e
+
+loc_0045a755:
+pop esi
+pop ebx
+ret
+
+fcn_0045a758:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x104
+mov esi, dword [esp + 0x118]
+mov ebx, dword [esi]
+mov esi, dword [esi + 4]
+call fcn_0045a6cf ; call 0x45a6cf
+test eax, eax
+jne short loc_0045a781 ; jne 0x45a781
+call fcn_0045ca9a ; call 0x45ca9a
+cmp eax, 0xffffffff
+jne short loc_0045a788 ; jne 0x45a788
+
+loc_0045a781:
+xor eax, eax
+jmp near loc_0045a961 ; jmp 0x45a961
+
+loc_0045a788:
+xor ah, ah
+mov byte [esp], ah
+mov eax, dword [ebx]
+cmp eax, 0xc0000090
+jb short loc_0045a7e3 ; jb 0x45a7e3
+jbe near loc_0045a87e ; jbe 0x45a87e
+cmp eax, 0xc0000093
+jb short loc_0045a7d6 ; jb 0x45a7d6
+jbe near loc_0045a870 ; jbe 0x45a870
+cmp eax, 0xc0000096
+jb short loc_0045a7c6 ; jb 0x45a7c6
+jbe near loc_0045a8d1 ; jbe 0x45a8d1
+cmp eax, 0xc00000fd
+je near loc_0045a8f2 ; je 0x45a8f2
+jmp near loc_0045a8fd ; jmp 0x45a8fd
+
+loc_0045a7c6:
+cmp eax, 0xc0000094
+je near loc_0045a8e7 ; je 0x45a8e7
+jmp near loc_0045a8fd ; jmp 0x45a8fd
+
+loc_0045a7d6:
+cmp eax, 0xc0000091
+jbe near loc_0045a862 ; jbe 0x45a862
+jmp short loc_0045a816 ; jmp 0x45a816
+
+loc_0045a7e3:
+cmp eax, 0xc000008d
+jb short loc_0045a7f5 ; jb 0x45a7f5
+jbe short loc_0045a838 ; jbe 0x45a838
+cmp eax, 0xc000008e
+jbe short loc_0045a846 ; jbe 0x45a846
+jmp short loc_0045a854 ; jmp 0x45a854
+
+loc_0045a7f5:
+cmp eax, 0xc0000005
+jb near loc_0045a8fd ; jb 0x45a8fd
+jbe near loc_0045a88c ; jbe 0x45a88c
+cmp eax, 0xc000001d
+je near loc_0045a8dc ; je 0x45a8dc
+jmp near loc_0045a8fd ; jmp 0x45a8fd
+
+loc_0045a816:
+test byte [esi + 0x21], 2
+je short loc_0045a82a ; je 0x45a82a
+mov eax, dword [ebx + 0xc]
+push eax
+push ref_0046c477 ; push 0x46c477
+jmp near loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a82a:
+mov ebp, dword [ebx + 0xc]
+push ebp
+push ref_0046c4c8 ; push 0x46c4c8
+jmp near loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a838:
+mov ebp, dword [ebx + 0xc]
+push ebp
+push ref_0046c51a ; push 0x46c51a
+jmp near loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a846:
+mov edi, dword [ebx + 0xc]
+push edi
+push ref_0046c56d ; push 0x46c56d
+jmp near loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a854:
+mov esi, dword [ebx + 0xc]
+push esi
+push ref_0046c5c0 ; push 0x46c5c0
+jmp near loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a862:
+mov edx, dword [ebx + 0xc]
+push edx
+push ref_0046c611 ; push 0x46c611
+jmp near loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a870:
+mov edi, dword [ebx + 0xc]
+push edi
+push ref_0046c65d ; push 0x46c65d
+jmp near loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a87e:
+mov ecx, dword [ebx + 0xc]
+push ecx
+push ref_0046c6aa ; push 0x46c6aa
+jmp near loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a88c:
+mov edx, dword [ebx + 0xc]
+push edx
+push ref_0046c6ff ; push 0x46c6ff
+lea eax, [esp + 8]
+push eax
+call fcn_0045a705 ; call 0x45a705
+add esp, 0xc
+mov ecx, dword [ebx + 0x18]
+push ecx
+push ref_0046c730 ; push 0x46c730
+lea eax, [esp + 8]
+push eax
+call fcn_0045a705 ; call 0x45a705
+mov esi, dword [ebx + 0x14]
+add esp, 0xc
+test esi, esi
+jne short loc_0045a8c8 ; jne 0x45a8c8
+push esi
+mov eax, ref_0046c758 ; mov eax, 0x46c758
+
+loc_0045a8c5:
+push eax
+jmp short loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a8c8:
+push 0
+mov eax, ref_0046c75f ; mov eax, 0x46c75f
+jmp short loc_0045a8c5 ; jmp 0x45a8c5
+
+loc_0045a8d1:
+mov ecx, dword [ebx + 0xc]
+push ecx
+push ref_0046c769 ; push 0x46c769
+jmp short loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a8dc:
+mov eax, dword [ebx + 0xc]
+push eax
+push ref_0046c7a7 ; push 0x46c7a7
+jmp short loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a8e7:
+mov esi, dword [ebx + 0xc]
+push esi
+push ref_0046c7e3 ; push 0x46c7e3
+jmp short loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a8f2:
+mov edx, dword [ebx + 0xc]
+push edx
+push ref_0046c825 ; push 0x46c825
+jmp short loc_0045a91b ; jmp 0x45a91b
+
+loc_0045a8fd:
+mov edi, dword [ebx]
+push edi
+push ref_0046c85e ; push 0x46c85e
+lea eax, [esp + 8]
+push eax
+call fcn_0045a705 ; call 0x45a705
+add esp, 0xc
+mov ebp, dword [ebx + 0xc]
+push ebp
+push ref_0046c88f ; push 0x46c88f
+
+loc_0045a91b:
+lea eax, [esp + 8]
+push eax
+call fcn_0045a705 ; call 0x45a705
+add esp, 0xc
+push 0
+lea eax, [esp + 0x104]
+push eax
+lea edi, [esp + 8]
+push es
+mov eax, ds
+mov es, eax
+sub ecx, ecx
+dec ecx
+xor eax, eax
+repne scasb ; repne scasb al, byte es:[edi]
+not ecx
+dec ecx
+pop es
+push ecx
+lea eax, [esp + 0xc]
+push eax
+mov eax, dword [ref_00489474] ; mov eax, dword [0x489474]
+mov edx, dword [eax + 8]
+push edx
+call dword [cs:__imp__WriteFile@20] ; ucall: call dword cs:[0x462440]
+mov eax, 1
+
+loc_0045a961:
+add esp, 0x104
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret 4
+
+endloc_0045a96e:
+db 0x90
+
+ref_0045a96f: ; may contain a jump table
+dd loc_0045a9d5
+dd loc_0045a9df
+dd loc_0045a9e9
+dd loc_0045aa07
+dd loc_0045a9f3
+dd loc_0045a9bb
+dd loc_0045a9fd
+
+fcn_0045a98b:
+push ebx
+push esi
+push edi
+sub esp, 8
+mov esi, dword [esp + 0x18]
+mov edi, dword [esp + 0x20]
+test byte [esi + 4], 6
+jne near loc_0045ab4c ; jne 0x45ab4c
+mov eax, dword [esi]
+add eax, 0x3fffff73
+cmp eax, 6
+ja near loc_0045aad9 ; ja 0x45aad9
+jmp dword [cs:eax*4 + ref_0045a96f] ; ujmp: jmp dword cs:[eax*4 + 0x45a96f]
+
+loc_0045a9bb:
+test byte [edi + 0x21], 2
+je short loc_0045a9cb ; je 0x45a9cb
+mov ebx, 0x8a
+jmp near loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045a9cb:
+mov ebx, 0x8b
+jmp near loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045a9d5:
+mov ebx, 0x82
+jmp near loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045a9df:
+mov ebx, 0x83
+jmp near loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045a9e9:
+mov ebx, 0x86
+jmp near loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045a9f3:
+mov ebx, 0x84
+jmp near loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045a9fd:
+mov ebx, 0x85
+jmp near loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045aa07:
+mov eax, dword [edi + 0x28]
+mov dx, word [eax]
+mov ebx, 0x81
+cmp dx, 0xfad9
+jne short loc_0045aa23 ; jne 0x45aa23
+mov ebx, 0x88
+jmp near loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045aa23:
+cmp dx, 0xf1d9
+jne short loc_0045aa34 ; jne 0x45aa34
+mov ebx, 0x8e
+jmp near loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045aa34:
+jne short loc_0045aa3d ; jne 0x45aa3d
+mov ebx, 0x8f
+jmp short loc_0045aa9a ; jmp 0x45aa9a
+
+loc_0045aa3d:
+mov dh, byte [eax]
+cmp dh, 0xdb
+je short loc_0045aa49 ; je 0x45aa49
+cmp dh, 0xdf
+jne short loc_0045aa59 ; jne 0x45aa59
+
+loc_0045aa49:
+mov cl, byte [eax + 1]
+and cl, 0x30
+cmp cl, 0x10
+jne short loc_0045aa59 ; jne 0x45aa59
+mov ebx, 0x8d
+
+loc_0045aa59:
+test byte [eax], 1
+jne short loc_0045aa95 ; jne 0x45aa95
+mov al, byte [eax + 1]
+and al, 0x30
+cmp al, 0x30
+jne short loc_0045aa95 ; jne 0x45aa95
+mov ecx, dword [edi + 0x20]
+and ecx, 0xffff
+mov eax, dword [edi + 0x24]
+shl ecx, 2
+and eax, 0xffff
+shr cx, 0xd
+and ecx, 0xffff
+add ecx, ecx
+shr eax, cl
+and eax, 1
+cmp eax, 1
+je near loc_0045a9df ; je 0x45a9df
+
+loc_0045aa95:
+cmp ebx, 0xffffffff
+je short loc_0045aad9 ; je 0x45aad9
+
+loc_0045aa9a:
+mov byte [ref_00499950], 1 ; mov byte [0x499950], 1
+call fcn_0045caa5 ; call 0x45caa5
+push ebx
+call fcn_0045cc59 ; call 0x45cc59
+add esp, 4
+cmp eax, 0xffffffff
+je near loc_0045ab2d ; je 0x45ab2d
+cmp byte [ref_00499950], 0 ; cmp byte [0x499950], 0
+je near loc_0045ab2d ; je 0x45ab2d
+mov bx, word [edi + 0x20]
+xor bl, bl
+and bh, 0x7f
+xor eax, eax
+mov word [edi + 0x20], bx
+jmp near loc_0045ab51 ; jmp 0x45ab51
+
+loc_0045aad9:
+cmp dword [ref_00489490], 0 ; cmp dword [0x489490], 0
+je short loc_0045ab2d ; je 0x45ab2d
+mov ebx, 1
+
+loc_0045aae7:
+mov ecx, dword [esi]
+push ecx
+push ebx
+call dword [ref_0048948c] ; ucall: call dword [0x48948c]
+add esp, 8
+test eax, eax
+je short loc_0045ab27 ; je 0x45ab27
+cmp eax, 1
+je short loc_0045ab2d ; je 0x45ab2d
+cmp eax, 2
+je short loc_0045ab2d ; je 0x45ab2d
+cmp eax, 3
+je short loc_0045ab2d ; je 0x45ab2d
+mov dl, 1
+push ebx
+mov byte [ref_00499950], dl ; mov byte [0x499950], dl
+call dword [ref_00489490] ; ucall: call dword [0x489490]
+mov dh, byte [ref_00499950] ; mov dh, byte [0x499950]
+add esp, 4
+test dh, dh
+je short loc_0045ab27 ; je 0x45ab27
+xor eax, eax
+jmp short loc_0045ab51 ; jmp 0x45ab51
+
+loc_0045ab27:
+inc ebx
+cmp ebx, 0xc
+jle short loc_0045aae7 ; jle 0x45aae7
+
+loc_0045ab2d:
+mov eax, esp
+push eax
+mov dword [esp + 4], esi
+mov dword [esp + 8], edi
+call dword [cs:__imp__UnhandledExceptionFilter@4] ; ucall: call dword cs:[0x462424]
+test eax, eax
+je short loc_0045ab4c ; je 0x45ab4c
+push 0xffffffffffffffff
+call dword [cs:__imp__ExitProcess@4] ; ucall: call dword cs:[0x462364]
+
+loc_0045ab4c:
+mov eax, 1
+
+loc_0045ab51:
+add esp, 8
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045ab58:
+push ebx
+mov ebx, dword [esp + 8]
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov dword [eax + 0x54], ebx
+xor eax, eax
+mov eax, dword [fs:eax]
+mov ebx, eax
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov eax, dword [eax + 0x54]
+mov dword [eax], ebx
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov eax, dword [eax + 0x54]
+mov dword [eax + 4], fcn_0045a98b ; mov dword [eax + 4], 0x45a98b
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov eax, dword [eax + 0x54]
+xor edx, edx
+mov dword [fs:edx], eax
+push fcn_0045a758 ; push 0x45a758
+call dword [cs:__imp__SetUnhandledExceptionFilter@4] ; ucall: call dword cs:[0x462410]
+pop ebx
+ret
+
+fcn_0045aba4:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov eax, dword [eax + 0x54]
+test eax, eax
+je short loc_0045abb8 ; je 0x45abb8
+mov eax, dword [eax]
+xor edx, edx
+mov dword [fs:edx], eax
+
+loc_0045abb8:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov dword [eax + 0x54], 0
+ret
+
+fcn_0045abc6:
+push es
+mov eax, dword [esp + 8]
+cmp dword [eax], 0
+je short loc_0045abd4 ; je 0x45abd4
+push ds
+pop es
+call dword [eax] ; ucall
+
+loc_0045abd4:
+pop es
+ret
+
+fcn_0045abd6:
+push ebx
+push esi
+push es
+sub esp, 4
+mov esi, ref_00489900 ; mov esi, 0x489900
+mov byte [esp], al
+
+loc_0045abe4:
+mov eax, ref_004898ca ; mov eax, 0x4898ca
+mov dl, byte [esp]
+mov ebx, esi
+
+loc_0045abee:
+cmp eax, ref_00489900 ; cmp eax, 0x489900
+jae short loc_0045ac0a ; jae 0x45ac0a
+cmp byte [eax], 2
+je short loc_0045ac05 ; je 0x45ac05
+mov cl, byte [eax + 1]
+cmp dl, cl
+jb short loc_0045ac05 ; jb 0x45ac05
+mov ebx, eax
+mov dl, cl
+
+loc_0045ac05:
+add eax, 6
+jmp short loc_0045abee ; jmp 0x45abee
+
+loc_0045ac0a:
+cmp ebx, ref_00489900 ; cmp ebx, 0x489900
+je short loc_0045ac23 ; je 0x45ac23
+lea eax, [ebx + 2]
+push eax
+call fcn_0045abc6 ; call 0x45abc6
+add esp, 4
+mov byte [ebx], 2
+jmp short loc_0045abe4 ; jmp 0x45abe4
+
+loc_0045ac23:
+add esp, 4
+pop es
+pop esi
+pop ebx
+ret
+
+fcn_0045ac2a:
+push ebx
+push esi
+push es
+sub esp, 8
+mov esi, ref_00489912 ; mov esi, 0x489912
+mov byte [esp + 4], al
+mov byte [esp], dl
+
+loc_0045ac3c:
+mov eax, ref_00489900 ; mov eax, 0x489900
+mov dl, byte [esp + 4]
+mov ebx, esi
+
+loc_0045ac47:
+cmp eax, ref_00489912 ; cmp eax, 0x489912
+jae short loc_0045ac63 ; jae 0x45ac63
+cmp byte [eax], 2
+je short loc_0045ac5e ; je 0x45ac5e
+mov cl, byte [eax + 1]
+cmp dl, cl
+ja short loc_0045ac5e ; ja 0x45ac5e
+mov ebx, eax
+mov dl, cl
+
+loc_0045ac5e:
+add eax, 6
+jmp short loc_0045ac47 ; jmp 0x45ac47
+
+loc_0045ac63:
+cmp ebx, ref_00489912 ; cmp ebx, 0x489912
+je short loc_0045ac84 ; je 0x45ac84
+mov al, byte [ebx + 1]
+cmp al, byte [esp]
+ja short loc_0045ac7f ; ja 0x45ac7f
+lea eax, [ebx + 2]
+push eax
+call fcn_0045abc6 ; call 0x45abc6
+add esp, 4
+
+loc_0045ac7f:
+mov byte [ebx], 2
+jmp short loc_0045ac3c ; jmp 0x45ac3c
+
+loc_0045ac84:
+add esp, 8
+pop es
+pop esi
+pop ebx
+ret
+
+endloc_0045ac8b:
+db 0x53
+db 0xff
+db 0x15
+dd ref_00488f68
+db 0x8b
+db 0x44
+dd 0x1d8b0824
+dd ref_004894a8
+db 0xa3
+dd ref_004894a8
+db 0xff
+db 0x15
+dd ref_00488f70
+db 0x89
+db 0xd8
+db 0x5b
+db 0xc3
+
+fcn_0045acab:
+push ebx
+push esi
+call dword [ref_00488f68] ; ucall: call dword [0x488f68]
+mov eax, dword [ref_00488f00] ; mov eax, dword [0x488f00]
+jmp near loc_0045ad6a ; jmp 0x45ad6a
+
+fcn_0045acbd:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+push 0x8000
+push 0
+push esi
+mov ebx, dword [esi + 8]
+call dword [cs:__imp__VirtualFree@12] ; ucall: call dword cs:[0x46242c]
+test eax, eax
+jne short loc_0045ace1 ; jne 0x45ace1
+mov eax, 0xffffffff
+pop esi
+pop ebx
+ret
+
+loc_0045ace1:
+cmp esi, dword [ref_00488f04] ; cmp esi, dword [0x488f04]
+jne short loc_0045ad05 ; jne 0x45ad05
+test ebx, ebx
+je short loc_0045acf5 ; je 0x45acf5
+mov dword [ref_00488f04], ebx ; mov dword [0x488f04], ebx
+jmp short loc_0045ad05 ; jmp 0x45ad05
+
+loc_0045acf5:
+mov eax, dword [ref_00488f00] ; mov eax, dword [0x488f00]
+mov dword [ref_00488f08], ebx ; mov dword [0x488f08], ebx
+mov dword [ref_00488f04], eax ; mov dword [0x488f04], eax
+
+loc_0045ad05:
+mov ecx, dword [ref_004991bc] ; mov ecx, dword [0x4991bc]
+cmp esi, ecx
+jne short loc_0045ad17 ; jne 0x45ad17
+xor esi, ecx
+mov dword [ref_004991bc], esi ; mov dword [0x4991bc], esi
+
+loc_0045ad17:
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+fcn_0045ad1c:
+push ebx
+push esi
+mov eax, dword [esp + 0xc]
+push eax
+mov esi, dword [eax + 4]
+mov ebx, dword [eax + 8]
+call fcn_0045acbd ; call 0x45acbd
+add esp, 4
+test eax, eax
+jne short loc_0045ad4b ; jne 0x45ad4b
+test esi, esi
+jne short loc_0045ad41 ; jne 0x45ad41
+mov dword [ref_00488f00], ebx ; mov dword [0x488f00], ebx
+jmp short loc_0045ad44 ; jmp 0x45ad44
+
+loc_0045ad41:
+mov dword [esi + 8], ebx
+
+loc_0045ad44:
+test ebx, ebx
+je short loc_0045ad4b ; je 0x45ad4b
+mov dword [ebx + 4], esi
+
+loc_0045ad4b:
+pop esi
+pop ebx
+ret
+
+loc_0045ad4e:
+mov ecx, dword [eax]
+mov edx, dword [eax + 0x24]
+sub ecx, 0x2c
+mov esi, dword [edx]
+mov ebx, dword [eax + 8]
+cmp ecx, esi
+jne short loc_0045ad68 ; jne 0x45ad68
+push eax
+call fcn_0045ad1c ; call 0x45ad1c
+add esp, 4
+
+loc_0045ad68:
+mov eax, ebx
+
+loc_0045ad6a:
+test eax, eax
+jne short loc_0045ad4e ; jne 0x45ad4e
+call dword [ref_00488f70] ; ucall: call dword [0x488f70]
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+endloc_0045ad79:
+db 0x53
+db 0xff
+db 0x15
+dd ref_00488f78
+dd 0x0824448b
+db 0x8b
+db 0x1d
+dd ref_004894b0
+db 0x01
+db 0xd8
+db 0xa3
+dd ref_004894b0
+db 0xe8
+db 0xf2
+db 0x1a
+dd 0x15ff0000
+dd ref_00488f7c
+dd 0xc35bd889
+
+fcn_0045ada0:
+push ebx
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov ebx, eax
+mov eax, esp
+sub eax, dword [ebx]
+pop ebx
+ret
+
+endloc_0045adaf:
+db 0x00
+
+fcn_0045adb0:
+ret
+
+endloc_0045adb1:
+db 0x87
+db 0x44
+db 0x24
+dd 0x0007e804
+dd 0x448b0000
+dd 0x04c20424
+db 0x00
+
+fcn_0045adc1:
+push eax
+cmp eax, esp
+jae short loc_0045ade0 ; jae 0x45ade0
+sub eax, esp
+neg eax
+push esi
+push eax
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov esi, eax
+pop eax
+cmp eax, dword [esi]
+pop esi
+jbe short loc_0045ade0 ; jbe 0x45ade0
+call fcn_0045aded ; call 0x45aded
+ret
+
+loc_0045ade0:
+pop eax
+push 1
+push ref_004894b4 ; push 0x4894b4
+call fcn_0045c690 ; call 0x45c690
+
+fcn_0045aded:
+push eax
+push ebx
+mov eax, dword [esp + 0xc]
+mov ebx, 0xfffffffc
+
+loc_0045adf8:
+mov dword [esp + ebx], ebx
+sub ebx, 0x1000
+sub eax, 0x1000
+jg short loc_0045adf8 ; jg 0x45adf8
+pop ebx
+pop eax
+ret 4
+
+endloc_0045ae0d:
+db 0x50
+db 0xe8
+db 0xda
+dd 0x50ffffff
+dd 0x0824448d
+dd 0x9424042b
+dd 0xff04408b
+db 0xe0
+
+fcn_0045ae21:
+ret
+
+fcn_0045ae22:
+ret
+
+fcn_0045ae23:
+call dword [ref_004894c8] ; ucall: call dword [0x4894c8]
+cmp byte [ref_004991c0], 0 ; cmp byte [0x4991c0], 0
+jne short loc_0045ae41 ; jne 0x45ae41
+mov edx, 0xff
+mov eax, 0x10
+call fcn_0045ac2a ; call 0x45ac2a
+
+loc_0045ae41:
+mov edx, dword [esp + 4]
+push edx
+call fcn_0045ae4f ; call 0x45ae4f
+add esp, 4
+ret
+
+fcn_0045ae4f:
+push ebx
+call dword [ref_004894c8] ; ucall: call dword [0x4894c8]
+call dword [ref_004894cc] ; ucall: call dword [0x4894cc]
+cmp dword [ref_004891ec], 0 ; cmp dword [0x4891ec], 0
+je short loc_0045ae6b ; je 0x45ae6b
+call dword [ref_004891ec] ; ucall: call dword [0x4891ec]
+
+loc_0045ae6b:
+mov ebx, dword [esp + 8]
+push ebx
+jmp near loc_004588b0 ; jmp 0x4588b0
+
+endloc_0045ae75:
+db 0x00
+
+fcn_0045ae76:
+push ebx
+push esi
+push edi
+push es
+push ebp
+sub esp, 0x74
+mov ebx, dword [esp + 0x94]
+mov edi, dword [esp + 0x98]
+mov ecx, 0x64
+mov ebp, dword [esp + 0x90]
+xor ah, ah
+xor edx, edx
+mov byte [esp + 0x70], ah
+mov word [esp + 0x1e], dx
+mov word [esp + 0x1c], cx
+mov eax, dword [esp + 0x8c]
+xor edx, edx
+mov dword [esp], eax
+mov dword [esp + 0x10], edx
+jmp short loc_0045af29 ; jmp 0x45af29
+
+loc_0045aebc:
+mov eax, dword [ebx]
+mov dword [esp + 0x60], eax
+mov eax, esp
+push eax
+lea eax, [esp + 0x64]
+push eax
+push esi
+call fcn_0045b1af ; call 0x45b1af
+add esp, 0xc
+mov ebp, eax
+mov eax, dword [esp + 0x60]
+mov dword [ebx], eax
+mov al, byte [ebp]
+mov byte [esp + 0x15], al
+inc ebp
+test al, al
+je near loc_0045b1a2 ; je 0x45b1a2
+cmp al, 0x6e
+jne near loc_0045afd4 ; jne 0x45afd4
+mov dl, byte [esp + 0x1e]
+test dl, 0x20
+je short loc_0045af5b ; je 0x45af5b
+test dl, 0x80
+je short loc_0045af14 ; je 0x45af14
+mov ecx, dword [ebx]
+add ecx, 8
+mov dword [ebx], ecx
+les esi, [ecx - 8]
+
+loc_0045af0b:
+mov eax, dword [esp + 0x10]
+mov dword [es:esi], eax
+jmp short loc_0045af29 ; jmp 0x45af29
+
+loc_0045af14:
+test dl, 0x40
+je short loc_0045af4f ; je 0x45af4f
+mov edx, dword [ebx]
+add edx, 4
+mov dword [ebx], edx
+mov esi, dword [edx - 4]
+
+loc_0045af23:
+mov eax, dword [esp + 0x10]
+mov dword [esi], eax
+
+loc_0045af29:
+mov dl, byte [ebp]
+test dl, dl
+je near loc_0045b1a2 ; je 0x45b1a2
+lea esi, [ebp + 1]
+cmp dl, 0x25
+je short loc_0045aebc ; je 0x45aebc
+xor eax, eax
+mov al, dl
+push eax
+lea eax, [esp + 4]
+push eax
+mov ebp, esi
+call edi
+add esp, 8
+jmp short loc_0045af29 ; jmp 0x45af29
+
+loc_0045af4f:
+mov eax, dword [ebx]
+add eax, 4
+mov dword [ebx], eax
+mov esi, dword [eax - 4]
+jmp short loc_0045af23 ; jmp 0x45af23
+
+loc_0045af5b:
+test dl, 0x10
+je short loc_0045af9d ; je 0x45af9d
+test dl, 0x80
+je short loc_0045af79 ; je 0x45af79
+mov esi, dword [ebx]
+add esi, 8
+mov dword [ebx], esi
+les esi, [esi - 8]
+mov eax, dword [esp + 0x10]
+mov word [es:esi], ax
+jmp short loc_0045af29 ; jmp 0x45af29
+
+loc_0045af79:
+test dl, 0x40
+je short loc_0045af91 ; je 0x45af91
+mov ecx, dword [ebx]
+add ecx, 4
+mov dword [ebx], ecx
+mov esi, dword [ecx - 4]
+
+loc_0045af88:
+mov eax, dword [esp + 0x10]
+mov word [esi], ax
+jmp short loc_0045af29 ; jmp 0x45af29
+
+loc_0045af91:
+mov edx, dword [ebx]
+add edx, 4
+mov dword [ebx], edx
+mov esi, dword [edx - 4]
+jmp short loc_0045af88 ; jmp 0x45af88
+
+loc_0045af9d:
+test dl, 0x80
+je short loc_0045afb1 ; je 0x45afb1
+mov eax, dword [ebx]
+add eax, 8
+mov dword [ebx], eax
+les esi, [eax - 8]
+jmp near loc_0045af0b ; jmp 0x45af0b
+
+loc_0045afb1:
+test dl, 0x40
+je short loc_0045afc5 ; je 0x45afc5
+mov esi, dword [ebx]
+add esi, 4
+mov dword [ebx], esi
+mov esi, dword [esi - 4]
+jmp near loc_0045af23 ; jmp 0x45af23
+
+loc_0045afc5:
+mov ecx, dword [ebx]
+add ecx, 4
+mov dword [ebx], ecx
+mov esi, dword [ecx - 4]
+jmp near loc_0045af23 ; jmp 0x45af23
+
+loc_0045afd4:
+mov eax, dword [ebx]
+mov dword [esp + 0x64], eax
+lea eax, [esp + 0x70]
+push eax
+lea eax, [esp + 4]
+push eax
+lea eax, [esp + 0x6c]
+push eax
+lea eax, [esp + 0x44]
+push eax
+call fcn_0045b61e ; call 0x45b61e
+add esp, 0x10
+mov esi, eax
+mov eax, dword [esp + 0x64]
+mov dword [ebx], eax
+mov dword [esp + 0x6c], edx
+mov eax, dword [esp + 0x20]
+mov ecx, dword [esp + 0x24]
+mov edx, dword [esp + 0x28]
+add eax, ecx
+mov ecx, dword [esp + 0x2c]
+add eax, edx
+mov edx, dword [esp + 0x30]
+add eax, ecx
+mov ecx, dword [esp + 0x34]
+add eax, edx
+mov edx, dword [esp + 4]
+add eax, ecx
+sub edx, eax
+mov al, byte [esp + 0x1e]
+mov dword [esp + 4], edx
+test al, 8
+jne short loc_0045b056 ; jne 0x45b056
+cmp byte [esp + 0x16], 0x20
+jne short loc_0045b056 ; jne 0x45b056
+
+loc_0045b03d:
+cmp dword [esp + 4], 0
+jle short loc_0045b056 ; jle 0x45b056
+push 0x20
+lea eax, [esp + 4]
+push eax
+call edi
+add esp, 8
+dec dword [esp + 4]
+jmp short loc_0045b03d ; jmp 0x45b03d
+
+loc_0045b056:
+lea eax, [esp + 0x38]
+mov dword [esp + 0x68], eax
+
+loc_0045b05e:
+cmp dword [esp + 0x20], 0
+jle short loc_0045b08c ; jle 0x45b08c
+mov edx, dword [esp + 0x68]
+xor eax, eax
+mov al, byte [edx]
+push eax
+lea eax, [esp + 4]
+push eax
+call edi
+add esp, 8
+mov eax, dword [esp + 0x68]
+mov edx, dword [esp + 0x20]
+inc eax
+dec edx
+mov dword [esp + 0x68], eax
+mov dword [esp + 0x20], edx
+jmp short loc_0045b05e ; jmp 0x45b05e
+
+loc_0045b08c:
+cmp dword [esp + 0x24], 0
+jle short loc_0045b0a5 ; jle 0x45b0a5
+push 0x30
+lea eax, [esp + 4]
+push eax
+call edi
+add esp, 8
+dec dword [esp + 0x24]
+jmp short loc_0045b08c ; jmp 0x45b08c
+
+loc_0045b0a5:
+mov cl, byte [esp + 0x15]
+cmp cl, 0x73
+jne short loc_0045b0f5 ; jne 0x45b0f5
+test byte [esp + 0x1e], 0x20
+je short loc_0045b0ce ; je 0x45b0ce
+
+loc_0045b0b5:
+push edi
+lea eax, [esp + 4]
+push eax
+xor eax, eax
+mov ax, word [esp + 0x74]
+push eax
+push esi
+call fcn_0045b5b2 ; call 0x45b5b2
+add esp, 0x10
+jmp short loc_0045b121 ; jmp 0x45b121
+
+loc_0045b0ce:
+mov es, word [esp + 0x6c]
+
+loc_0045b0d2:
+cmp dword [esp + 0x28], 0
+jle short loc_0045b121 ; jle 0x45b121
+xor eax, eax
+mov al, byte [es:esi]
+push eax
+lea eax, [esp + 4]
+push eax
+call edi
+add esp, 8
+mov edx, dword [esp + 0x28]
+dec edx
+inc esi
+mov dword [esp + 0x28], edx
+jmp short loc_0045b0d2 ; jmp 0x45b0d2
+
+loc_0045b0f5:
+cmp cl, 0x53
+je short loc_0045b0b5 ; je 0x45b0b5
+mov es, word [esp + 0x6c]
+
+loc_0045b0fe:
+cmp dword [esp + 0x28], 0
+jle short loc_0045b121 ; jle 0x45b121
+xor eax, eax
+mov al, byte [es:esi]
+push eax
+lea eax, [esp + 4]
+push eax
+call edi
+add esp, 8
+mov ecx, dword [esp + 0x28]
+dec ecx
+inc esi
+mov dword [esp + 0x28], ecx
+jmp short loc_0045b0fe ; jmp 0x45b0fe
+
+loc_0045b121:
+cmp dword [esp + 0x2c], 0
+jle short loc_0045b13a ; jle 0x45b13a
+push 0x30
+lea eax, [esp + 4]
+push eax
+call edi
+add esp, 8
+dec dword [esp + 0x2c]
+jmp short loc_0045b121 ; jmp 0x45b121
+
+loc_0045b13a:
+mov es, word [esp + 0x6c]
+
+loc_0045b13e:
+cmp dword [esp + 0x30], 0
+jle short loc_0045b161 ; jle 0x45b161
+xor eax, eax
+mov al, byte [es:esi]
+push eax
+lea eax, [esp + 4]
+push eax
+call edi
+add esp, 8
+mov ecx, dword [esp + 0x30]
+dec ecx
+inc esi
+mov dword [esp + 0x30], ecx
+jmp short loc_0045b13e ; jmp 0x45b13e
+
+loc_0045b161:
+cmp dword [esp + 0x34], 0
+jle short loc_0045b17a ; jle 0x45b17a
+push 0x30
+lea eax, [esp + 4]
+push eax
+call edi
+add esp, 8
+dec dword [esp + 0x34]
+jmp short loc_0045b161 ; jmp 0x45b161
+
+loc_0045b17a:
+test byte [esp + 0x1e], 8
+je near loc_0045af29 ; je 0x45af29
+
+loc_0045b185:
+cmp dword [esp + 4], 0
+jle near loc_0045af29 ; jle 0x45af29
+push 0x20
+lea eax, [esp + 4]
+push eax
+call edi
+add esp, 8
+dec dword [esp + 4]
+jmp short loc_0045b185 ; jmp 0x45b185
+
+loc_0045b1a2:
+mov eax, dword [esp + 0x10]
+add esp, 0x74
+
+loc_0045b1a9:
+pop ebp
+pop es
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045b1af:
+push ebx
+push esi
+push edi
+mov eax, dword [esp + 0x10]
+mov esi, dword [esp + 0x14]
+mov ebx, dword [esp + 0x18]
+push ebx
+push eax
+mov byte [ebx + 0x16], 0x20
+call fcn_0045b30b ; call 0x45b30b
+mov dword [ebx + 4], 0
+mov cl, byte [eax]
+add esp, 8
+cmp cl, 0x2a
+jne short loc_0045b1fe ; jne 0x45b1fe
+mov edx, dword [esi]
+add edx, 4
+mov dword [esi], edx
+mov edx, dword [edx - 4]
+mov dword [ebx + 4], edx
+test edx, edx
+jge short loc_0045b1fb ; jge 0x45b1fb
+mov edi, edx
+mov ch, byte [ebx + 0x1e]
+neg edi
+or ch, 8
+mov dword [ebx + 4], edi
+mov byte [ebx + 0x1e], ch
+
+loc_0045b1fb:
+inc eax
+jmp short loc_0045b21d ; jmp 0x45b21d
+
+loc_0045b1fe:
+mov dl, byte [eax]
+cmp dl, 0x30
+jb short loc_0045b21d ; jb 0x45b21d
+cmp dl, 0x39
+ja short loc_0045b21d ; ja 0x45b21d
+imul ecx, dword [ebx + 4], 0xa
+xor edx, edx
+mov dl, byte [eax]
+sub edx, 0x30
+add ecx, edx
+inc eax
+mov dword [ebx + 4], ecx
+jmp short loc_0045b1fe ; jmp 0x45b1fe
+
+loc_0045b21d:
+mov dword [ebx + 8], 0xffffffff
+cmp byte [eax], 0x2e
+jne short loc_0045b27a ; jne 0x45b27a
+inc eax
+mov dword [ebx + 8], 0
+cmp byte [eax], 0x2a
+jne short loc_0045b251 ; jne 0x45b251
+mov edx, dword [esi]
+add edx, 4
+mov dword [esi], edx
+mov edx, dword [edx - 4]
+mov dword [ebx + 8], edx
+test edx, edx
+jge short loc_0045b24e ; jge 0x45b24e
+mov dword [ebx + 8], 0xffffffff
+
+loc_0045b24e:
+inc eax
+jmp short loc_0045b270 ; jmp 0x45b270
+
+loc_0045b251:
+mov dl, byte [eax]
+cmp dl, 0x30
+jb short loc_0045b270 ; jb 0x45b270
+cmp dl, 0x39
+ja short loc_0045b270 ; ja 0x45b270
+imul ecx, dword [ebx + 8], 0xa
+xor edx, edx
+mov dl, byte [eax]
+sub edx, 0x30
+add ecx, edx
+inc eax
+mov dword [ebx + 8], ecx
+jmp short loc_0045b251 ; jmp 0x45b251
+
+loc_0045b270:
+cmp dword [ebx + 8], 0xffffffff
+je short loc_0045b27a ; je 0x45b27a
+mov byte [ebx + 0x16], 0x20
+
+loc_0045b27a:
+mov dl, byte [eax]
+lea ecx, [eax + 1]
+cmp dl, 0x4e
+jb short loc_0045b2a3 ; jb 0x45b2a3
+jbe near loc_0045b301 ; jbe 0x45b301
+cmp dl, 0x6c
+jb short loc_0045b29a ; jb 0x45b29a
+jbe short loc_0045b2bc ; jbe 0x45b2bc
+cmp dl, 0x77
+je short loc_0045b2bc ; je 0x45b2bc
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045b29a:
+cmp dl, 0x68
+je short loc_0045b2ca ; je 0x45b2ca
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045b2a3:
+cmp dl, 0x49
+jb short loc_0045b2b3 ; jb 0x45b2b3
+jbe short loc_0045b2d0 ; jbe 0x45b2d0
+cmp dl, 0x4c
+je short loc_0045b2ec ; je 0x45b2ec
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045b2b3:
+cmp dl, 0x46
+je short loc_0045b2fb ; je 0x45b2fb
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045b2bc:
+mov cl, byte [ebx + 0x1e]
+or cl, 0x20
+inc eax
+mov byte [ebx + 0x1e], cl
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045b2ca:
+or byte [ebx + 0x1e], 0x10
+jmp short loc_0045b305 ; jmp 0x45b305
+
+loc_0045b2d0:
+cmp byte [eax + 1], 0x36
+jne short loc_0045b307 ; jne 0x45b307
+cmp byte [eax + 2], 0x34
+jne short loc_0045b307 ; jne 0x45b307
+mov ch, byte [ebx + 0x1f]
+or ch, 1
+add eax, 3
+mov byte [ebx + 0x1f], ch
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045b2ec:
+mov dl, byte [ebx + 0x1f]
+or dl, 1
+mov eax, ecx
+mov byte [ebx + 0x1f], dl
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045b2fb:
+or byte [ebx + 0x1e], 0x80
+jmp short loc_0045b305 ; jmp 0x45b305
+
+loc_0045b301:
+or byte [ebx + 0x1e], 0x40
+
+loc_0045b305:
+mov eax, ecx
+
+loc_0045b307:
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045b30b:
+push ebx
+mov edx, dword [esp + 8]
+mov eax, dword [esp + 0xc]
+mov word [eax + 0x1e], 0
+
+loc_0045b31a:
+mov bl, byte [edx]
+cmp bl, 0x2d
+jne short loc_0045b327 ; jne 0x45b327
+or byte [eax + 0x1e], 8
+jmp short loc_0045b369 ; jmp 0x45b369
+
+loc_0045b327:
+cmp bl, 0x23
+jne short loc_0045b332 ; jne 0x45b332
+or byte [eax + 0x1e], 1
+jmp short loc_0045b369 ; jmp 0x45b369
+
+loc_0045b332:
+cmp bl, 0x2b
+jne short loc_0045b34a ; jne 0x45b34a
+mov ch, byte [eax + 0x1e]
+or ch, 4
+mov bl, ch
+mov byte [eax + 0x1e], ch
+and bl, 0xfd
+mov byte [eax + 0x1e], bl
+jmp short loc_0045b369 ; jmp 0x45b369
+
+loc_0045b34a:
+cmp bl, 0x20
+jne short loc_0045b361 ; jne 0x45b361
+mov bh, byte [eax + 0x1e]
+test bh, 4
+jne short loc_0045b369 ; jne 0x45b369
+mov cl, bh
+or cl, 2
+mov byte [eax + 0x1e], cl
+jmp short loc_0045b369 ; jmp 0x45b369
+
+loc_0045b361:
+cmp bl, 0x30
+jne short loc_0045b36c ; jne 0x45b36c
+mov byte [eax + 0x16], bl
+
+loc_0045b369:
+inc edx
+jmp short loc_0045b31a ; jmp 0x45b31a
+
+loc_0045b36c:
+mov eax, edx
+pop ebx
+ret
+
+fcn_0045b370:
+push ebx
+push esi
+push es
+mov ebx, dword [esp + 0x10]
+mov esi, dword [esp + 0x18]
+mov es, word [esp + 0x14]
+xor eax, eax
+
+loc_0045b381:
+mov edx, ebx
+mov cl, byte [es:edx]
+inc ebx
+test cl, cl
+je short loc_0045b392 ; je 0x45b392
+cmp eax, esi
+je short loc_0045b392 ; je 0x45b392
+inc eax
+jmp short loc_0045b381 ; jmp 0x45b381
+
+loc_0045b392:
+pop es
+pop esi
+pop ebx
+ret
+
+fcn_0045b396:
+push ebx
+push esi
+push edi
+push es
+sub esp, 4
+mov edi, dword [esp + 0x20]
+les ebx, [esp + 0x18]
+xor esi, esi
+cmp edi, 0xffffffff
+jne short loc_0045b3d8 ; jne 0x45b3d8
+
+loc_0045b3ac:
+mov cx, word [es:ebx]
+test cx, cx
+je short loc_0045b3d4 ; je 0x45b3d4
+xor eax, eax
+mov ax, cx
+push eax
+lea eax, [esp + 4]
+push eax
+add ebx, 2
+call fcn_0045ce30 ; call 0x45ce30
+add esp, 8
+cmp eax, 0xffffffff
+je short loc_0045b3ac ; je 0x45b3ac
+add esi, eax
+jmp short loc_0045b3ac ; jmp 0x45b3ac
+
+loc_0045b3d4:
+mov eax, esi
+jmp short loc_0045b40a ; jmp 0x45b40a
+
+loc_0045b3d8:
+mov dx, word [es:ebx]
+test dx, dx
+je short loc_0045b404 ; je 0x45b404
+cmp esi, edi
+jg short loc_0045b404 ; jg 0x45b404
+xor eax, eax
+mov ax, dx
+push eax
+lea eax, [esp + 4]
+push eax
+add ebx, 2
+call fcn_0045ce30 ; call 0x45ce30
+add esp, 8
+cmp eax, 0xffffffff
+je short loc_0045b3d8 ; je 0x45b3d8
+add esi, eax
+jmp short loc_0045b3d8 ; jmp 0x45b3d8
+
+loc_0045b404:
+cmp esi, edi
+jle short loc_0045b3d4 ; jle 0x45b3d4
+mov eax, edi
+
+loc_0045b40a:
+add esp, 4
+pop es
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045b412:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x18]
+push 0x10
+push ebp
+mov edx, dword [esp + 0x1c]
+push edx
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+mov edi, ebp
+push es
+mov eax, ds
+mov es, eax
+sub ecx, ecx
+dec ecx
+xor eax, eax
+repne scasb ; repne scasb al, byte es:[edi]
+not ecx
+dec ecx
+pop es
+mov eax, dword [esp + 0x1c]
+mov esi, ebp
+dec eax
+lea edx, [ecx + ebp]
+lea ebx, [eax + ebp]
+jmp short loc_0045b452 ; jmp 0x45b452
+
+loc_0045b44b:
+dec edx
+mov cl, byte [edx]
+dec eax
+mov byte [ebx], cl
+dec ebx
+
+loc_0045b452:
+cmp edx, esi
+jne short loc_0045b44b ; jne 0x45b44b
+lea edx, [eax + ebp]
+
+loc_0045b459:
+test eax, eax
+jl short loc_0045b464 ; jl 0x45b464
+dec eax
+mov byte [edx], 0x30
+dec edx
+jmp short loc_0045b459 ; jmp 0x45b459
+
+loc_0045b464:
+add ebp, dword [esp + 0x1c]
+mov byte [ebp], 0
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045b471:
+push ebx
+push esi
+push edi
+sub esp, 4
+mov ebx, dword [esp + 0x14]
+mov eax, dword [esp + 0x18]
+mov esi, dword [esp + 0x1c]
+mov dword [esp], eax
+test eax, eax
+jge short loc_0045b495 ; jge 0x45b495
+mov edx, eax
+mov byte [ebx], 0x2d
+neg edx
+inc ebx
+mov dword [esp], edx
+
+loc_0045b495:
+cmp dword [esi + 8], 0xffffffff
+jne short loc_0045b4a2 ; jne 0x45b4a2
+mov dword [esi + 8], 4
+
+loc_0045b4a2:
+push 0xa
+xor eax, eax
+push ebx
+mov ax, word [esp + 0xa]
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+mov ecx, ebx
+
+loc_0045b4b7:
+mov ah, byte [ebx]
+lea edx, [ebx + 1]
+test ah, ah
+je short loc_0045b4c4 ; je 0x45b4c4
+mov ebx, edx
+jmp short loc_0045b4b7 ; jmp 0x45b4b7
+
+loc_0045b4c4:
+cmp dword [esi + 8], 0
+je short loc_0045b4f6 ; je 0x45b4f6
+mov byte [ebx], 0x2e
+xor eax, eax
+mov ebx, edx
+jmp short loc_0045b4ee ; jmp 0x45b4ee
+
+loc_0045b4d3:
+xor edx, edx
+mov word [esp + 2], dx
+mov edi, dword [esp]
+imul edx, edi, 0xa
+mov dword [esp], edx
+mov dl, byte [esp + 2]
+add dl, 0x30
+inc eax
+mov byte [ebx], dl
+inc ebx
+
+loc_0045b4ee:
+cmp eax, dword [esi + 8]
+jl short loc_0045b4d3 ; jl 0x45b4d3
+mov byte [ebx], 0
+
+loc_0045b4f6:
+test byte [esp + 1], 0x80
+je short loc_0045b54d ; je 0x45b54d
+
+loc_0045b4fd:
+cmp ebx, ecx
+jne short loc_0045b533 ; jne 0x45b533
+lea ebx, [ecx + 1]
+mov byte [ecx], 0x31
+
+loc_0045b507:
+mov dl, byte [ebx]
+lea eax, [ebx + 1]
+cmp dl, 0x30
+jne short loc_0045b515 ; jne 0x45b515
+mov ebx, eax
+jmp short loc_0045b507 ; jmp 0x45b507
+
+loc_0045b515:
+cmp dl, 0x2e
+jne short loc_0045b52a ; jne 0x45b52a
+mov byte [ebx], 0x30
+lea ebx, [eax + 1]
+mov byte [eax], dl
+
+loc_0045b522:
+cmp byte [ebx], 0x30
+jne short loc_0045b52a ; jne 0x45b52a
+inc ebx
+jmp short loc_0045b522 ; jmp 0x45b522
+
+loc_0045b52a:
+mov byte [ebx], 0x30
+inc ebx
+mov byte [ebx], 0
+jmp short loc_0045b54d ; jmp 0x45b54d
+
+loc_0045b533:
+dec ebx
+cmp byte [ebx], 0x2e
+jne short loc_0045b53a ; jne 0x45b53a
+dec ebx
+
+loc_0045b53a:
+mov al, byte [ebx]
+cmp al, 0x39
+je short loc_0045b548 ; je 0x45b548
+mov ah, al
+inc ah
+mov byte [ebx], ah
+jmp short loc_0045b54d ; jmp 0x45b54d
+
+loc_0045b548:
+mov byte [ebx], 0x30
+jmp short loc_0045b4fd ; jmp 0x45b4fd
+
+loc_0045b54d:
+add esp, 4
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045b554:
+push ebx
+mov edx, dword [esp + 0x10]
+push edx
+mov ebx, dword [esp + 0x10]
+push ebx
+mov ecx, dword [esp + 0x10]
+push ecx
+call dword [ref_004895a8] ; ucall: call dword [0x4895a8]
+add esp, 0xc
+pop ebx
+ret
+
+fcn_0045b56f:
+push ebx
+push esi
+push edi
+push ebp
+mov eax, dword [esp + 0x14]
+test byte [eax + 0x1e], 8
+jne short loc_0045b5ad ; jne 0x45b5ad
+cmp byte [eax + 0x16], 0x30
+jne short loc_0045b5ad ; jne 0x45b5ad
+mov edx, dword [eax + 4]
+mov ebx, dword [eax + 0x20]
+mov ecx, dword [eax + 0x24]
+sub edx, ebx
+mov esi, dword [eax + 0x28]
+sub edx, ecx
+mov edi, dword [eax + 0x2c]
+sub edx, esi
+mov ebp, dword [eax + 0x30]
+sub edx, edi
+mov ebx, dword [eax + 0x34]
+sub edx, ebp
+sub edx, ebx
+test edx, edx
+jle short loc_0045b5ad ; jle 0x45b5ad
+add ecx, edx
+mov dword [eax + 0x24], ecx
+
+loc_0045b5ad:
+pop ebp
+pop edi
+pop esi
+
+loc_0045b5b0:
+pop ebx
+ret
+
+fcn_0045b5b2:
+push ebx
+push esi
+push edi
+push es
+push ebp
+sub esp, 4
+mov ebp, dword [esp + 0x1c]
+mov ebx, dword [esp + 0x24]
+mov es, word [esp + 0x20]
+
+loc_0045b5c6:
+cmp dword [ebx + 0x28], 0
+jle short loc_0045b616 ; jle 0x45b616
+xor eax, eax
+mov ax, word [es:ebp]
+push eax
+lea eax, [esp + 4]
+push eax
+add ebp, 2
+call fcn_0045ce30 ; call 0x45ce30
+add esp, 8
+mov edi, eax
+cmp eax, 0xffffffff
+je short loc_0045b5c6 ; je 0x45b5c6
+cmp eax, dword [ebx + 0x28]
+jg short loc_0045b60f ; jg 0x45b60f
+mov esi, esp
+
+loc_0045b5f2:
+dec edi
+cmp edi, 0xffffffff
+je short loc_0045b5c6 ; je 0x45b5c6
+xor eax, eax
+mov al, byte [esi]
+push eax
+push ebx
+call dword [esp + 0x30] ; ucall
+mov eax, dword [ebx + 0x28]
+inc esi
+dec eax
+add esp, 8
+mov dword [ebx + 0x28], eax
+jmp short loc_0045b5f2 ; jmp 0x45b5f2
+
+loc_0045b60f:
+mov dword [ebx + 0x28], 0
+
+loc_0045b616:
+add esp, 4
+jmp near loc_0045b1a9 ; jmp 0x45b1a9
+
+fcn_0045b61e:
+push ebx
+push esi
+push edi
+push es
+push ebp
+sub esp, 0x10
+mov esi, dword [esp + 0x28]
+mov edx, dword [esp + 0x2c]
+mov ebx, dword [esp + 0x30]
+mov dword [ebx + 0x20], 0
+mov dword [ebx + 0x24], 0
+mov dword [ebx + 0x28], 0
+mov dword [ebx + 0x2c], 0
+mov word [esp + 0xc], ds
+mov dword [ebx + 0x30], 0
+mov edi, esi
+mov al, byte [ebx + 0x15]
+mov dword [ebx + 0x34], 0
+cmp al, 0x69
+jb short loc_0045b682 ; jb 0x45b682
+jbe near loc_0045b6ef ; jbe 0x45b6ef
+cmp al, 0x75
+jb short loc_0045b67e ; jb 0x45b67e
+jbe short loc_0045b695 ; jbe 0x45b695
+cmp al, 0x78
+
+loc_0045b677:
+je short loc_0045b695 ; je 0x45b695
+jmp near loc_0045b7b8 ; jmp 0x45b7b8
+
+loc_0045b67e:
+cmp al, 0x6f
+jmp short loc_0045b677 ; jmp 0x45b677
+
+loc_0045b682:
+cmp al, 0x58
+jb near loc_0045b7b8 ; jb 0x45b7b8
+jbe short loc_0045b695 ; jbe 0x45b695
+cmp al, 0x64
+je short loc_0045b6ef ; je 0x45b6ef
+jmp near loc_0045b7b8 ; jmp 0x45b7b8
+
+loc_0045b695:
+test byte [ebx + 0x1f], 1
+je short loc_0045b6bb ; je 0x45b6bb
+mov ebp, dword [edx]
+add ebp, 4
+mov dword [edx], ebp
+mov eax, dword [ebp - 4]
+mov dword [esp], eax
+mov eax, dword [edx]
+add eax, 4
+mov dword [edx], eax
+mov eax, dword [eax - 4]
+
+loc_0045b6b2:
+mov dword [esp + 4], eax
+jmp near loc_0045b7b8 ; jmp 0x45b7b8
+
+loc_0045b6bb:
+test byte [ebx + 0x1e], 0x20
+je short loc_0045b6d0 ; je 0x45b6d0
+mov ecx, dword [edx]
+add ecx, 4
+mov dword [edx], ecx
+mov ecx, dword [ecx - 4]
+jmp near loc_0045b7b8 ; jmp 0x45b7b8
+
+loc_0045b6d0:
+mov eax, dword [edx]
+add eax, 4
+mov dword [edx], eax
+mov ecx, dword [eax - 4]
+test byte [ebx + 0x1e], 0x10
+je near loc_0045b7b8 ; je 0x45b7b8
+and ecx, 0xffff
+jmp near loc_0045b7b8 ; jmp 0x45b7b8
+
+loc_0045b6ef:
+test byte [ebx + 0x1f], 1
+je short loc_0045b712 ; je 0x45b712
+mov eax, dword [edx]
+add eax, 4
+mov dword [edx], eax
+mov eax, dword [eax - 4]
+mov dword [esp], eax
+mov ebp, dword [edx]
+add ebp, 4
+mov dword [edx], ebp
+mov eax, dword [ebp - 4]
+mov dword [esp + 4], eax
+jmp short loc_0045b738 ; jmp 0x45b738
+
+loc_0045b712:
+test byte [ebx + 0x1e], 0x20
+je short loc_0045b724 ; je 0x45b724
+mov ebp, dword [edx]
+add ebp, 4
+mov dword [edx], ebp
+mov ecx, dword [ebp - 4]
+jmp short loc_0045b738 ; jmp 0x45b738
+
+loc_0045b724:
+mov ecx, dword [edx]
+add ecx, 4
+mov dword [edx], ecx
+mov al, byte [ebx + 0x1e]
+mov ecx, dword [ecx - 4]
+test al, 0x10
+je short loc_0045b738 ; je 0x45b738
+movsx ecx, cx
+
+loc_0045b738:
+xor eax, eax
+test byte [ebx + 0x1f], 1
+je short loc_0045b749 ; je 0x45b749
+test byte [esp + 7], 0x80
+je short loc_0045b74d ; je 0x45b74d
+jmp short loc_0045b751 ; jmp 0x45b751
+
+loc_0045b749:
+test ecx, ecx
+jl short loc_0045b751 ; jl 0x45b751
+
+loc_0045b74d:
+test eax, eax
+je short loc_0045b78f ; je 0x45b78f
+
+loc_0045b751:
+mov eax, dword [ebx + 0x20]
+lea ebp, [eax + 1]
+mov dword [ebx + 0x20], ebp
+mov byte [esi + eax], 0x2d
+test byte [ebx + 0x1f], 1
+je short loc_0045b78b ; je 0x45b78b
+mov eax, dword [esp]
+mov ebp, dword [esp + 4]
+not eax
+not ebp
+mov dword [esp], eax
+mov dword [esp + 4], ebp
+inc eax
+mov dword [esp], eax
+jne short loc_0045b784 ; jne 0x45b784
+lea eax, [ebp + 1]
+jmp near loc_0045b6b2 ; jmp 0x45b6b2
+
+loc_0045b784:
+mov eax, ebp
+jmp near loc_0045b6b2 ; jmp 0x45b6b2
+
+loc_0045b78b:
+neg ecx
+jmp short loc_0045b7b8 ; jmp 0x45b7b8
+
+loc_0045b78f:
+mov ah, byte [ebx + 0x1e]
+test ah, 4
+je short loc_0045b7a6 ; je 0x45b7a6
+mov eax, dword [ebx + 0x20]
+lea ebp, [eax + 1]
+mov dword [ebx + 0x20], ebp
+mov byte [esi + eax], 0x2b
+jmp short loc_0045b7b8 ; jmp 0x45b7b8
+
+loc_0045b7a6:
+test ah, 2
+je short loc_0045b7b8 ; je 0x45b7b8
+mov eax, dword [ebx + 0x20]
+lea ebp, [eax + 1]
+mov dword [ebx + 0x20], ebp
+mov byte [esi + eax], 0x20
+
+loc_0045b7b8:
+mov al, byte [ebx + 0x15]
+mov ebp, 0xa
+cmp al, 0x64
+jb short loc_0045b825 ; jb 0x45b825
+jbe near loc_0045b9ed ; jbe 0x45b9ed
+cmp al, 0x6f
+jb short loc_0045b806 ; jb 0x45b806
+jbe near loc_0045b9cd ; jbe 0x45b9cd
+cmp al, 0x73
+jb short loc_0045b7f9 ; jb 0x45b7f9
+jbe near loc_0045b8c3 ; jbe 0x45b8c3
+cmp al, 0x75
+jb near loc_0045bbe0 ; jb 0x45bbe0
+jbe near loc_0045b9ed ; jbe 0x45b9ed
+cmp al, 0x78
+je near loc_0045b98d ; je 0x45b98d
+jmp near loc_0045bbe0 ; jmp 0x45bbe0
+
+loc_0045b7f9:
+cmp al, 0x70
+
+loc_0045b7fb:
+je near loc_0045baaf ; je 0x45baaf
+jmp near loc_0045bbe0 ; jmp 0x45bbe0
+
+loc_0045b806:
+cmp al, 0x66
+jb near loc_0045b8a3 ; jb 0x45b8a3
+jbe short loc_0045b86d ; jbe 0x45b86d
+cmp al, 0x67
+jbe near loc_0045b8a3 ; jbe 0x45b8a3
+cmp al, 0x69
+je near loc_0045b9ed ; je 0x45b9ed
+jmp near loc_0045bbe0 ; jmp 0x45bbe0
+
+loc_0045b825:
+cmp al, 0x47
+jb short loc_0045b858 ; jb 0x45b858
+jbe near loc_0045b8a3 ; jbe 0x45b8a3
+cmp al, 0x53
+jb short loc_0045b854 ; jb 0x45b854
+jbe near loc_0045b8c3 ; jbe 0x45b8c3
+cmp al, 0x58
+jb near loc_0045bbe0 ; jb 0x45bbe0
+jbe near loc_0045b98d ; jbe 0x45b98d
+cmp al, 0x63
+je near loc_0045bb3d ; je 0x45bb3d
+jmp near loc_0045bbe0 ; jmp 0x45bbe0
+
+loc_0045b854:
+cmp al, 0x50
+jmp short loc_0045b7fb ; jmp 0x45b7fb
+
+loc_0045b858:
+cmp al, 0x45
+jb short loc_0045b860 ; jb 0x45b860
+jbe short loc_0045b8a3 ; jbe 0x45b8a3
+jmp short loc_0045b86d ; jmp 0x45b86d
+
+loc_0045b860:
+cmp al, 0x43
+je near loc_0045bbb2 ; je 0x45bbb2
+jmp near loc_0045bbe0 ; jmp 0x45bbe0
+
+loc_0045b86d:
+test byte [ebx + 0x1e], 0x10
+je short loc_0045b8a3 ; je 0x45b8a3
+mov ebp, dword [edx]
+add ebp, 4
+mov dword [edx], ebp
+push ebx
+mov ecx, dword [ebp - 4]
+push ecx
+push esi
+call fcn_0045b471 ; call 0x45b471
+add esp, 0xc
+mov eax, ds
+push 0xffffffffffffffff
+and eax, 0xffff
+push eax
+push esi
+call fcn_0045b370 ; call 0x45b370
+add esp, 0xc
+mov dword [ebx + 0x28], eax
+jmp near loc_0045bbf3 ; jmp 0x45bbf3
+
+loc_0045b8a3:
+push ebx
+push edx
+push esi
+call fcn_0045b554 ; call 0x45b554
+add esp, 0xc
+push ebx
+call fcn_0045b56f ; call 0x45b56f
+add esp, 4
+lea edi, [esi + 1]
+mov word [esp + 0xc], ds
+jmp near loc_0045bbf3 ; jmp 0x45bbf3
+
+loc_0045b8c3:
+mov byte [esi], 0
+mov ch, byte [ebx + 0x1e]
+test ch, 0x80
+je short loc_0045b8eb ; je 0x45b8eb
+mov esi, dword [edx]
+add esi, 8
+mov dword [edx], esi
+mov eax, dword [esi - 8]
+mov dx, word [esi - 4]
+test eax, eax
+jne short loc_0045b8e5 ; jne 0x45b8e5
+test dx, dx
+je short loc_0045b918 ; je 0x45b918
+
+loc_0045b8e5:
+mov dword [esp + 0xc], edx
+jmp short loc_0045b916 ; jmp 0x45b916
+
+loc_0045b8eb:
+test ch, 0x40
+je short loc_0045b904 ; je 0x45b904
+mov ecx, dword [edx]
+add ecx, 4
+mov dword [edx], ecx
+mov eax, dword [ecx - 4]
+test eax, eax
+je short loc_0045b918 ; je 0x45b918
+mov word [esp + 0xc], ds
+jmp short loc_0045b916 ; jmp 0x45b916
+
+loc_0045b904:
+mov eax, dword [edx]
+add eax, 4
+mov dword [edx], eax
+mov eax, dword [eax - 4]
+test eax, eax
+je short loc_0045b918 ; je 0x45b918
+mov word [esp + 0xc], ds
+
+loc_0045b916:
+mov edi, eax
+
+loc_0045b918:
+cmp byte [ebx + 0x15], 0x53
+jne short loc_0045b94c ; jne 0x45b94c
+test byte [ebx + 0x1e], 0x10
+je short loc_0045b938 ; je 0x45b938
+mov ecx, dword [ebx + 8]
+xor eax, eax
+push ecx
+mov ax, word [esp + 0x10]
+push eax
+push edi
+call fcn_0045b370 ; call 0x45b370
+jmp short loc_0045b96c ; jmp 0x45b96c
+
+loc_0045b938:
+mov edx, dword [ebx + 8]
+xor eax, eax
+push edx
+
+loc_0045b93e:
+mov ax, word [esp + 0x10]
+push eax
+push edi
+call fcn_0045b396 ; call 0x45b396
+jmp short loc_0045b96c ; jmp 0x45b96c
+
+loc_0045b94c:
+test byte [ebx + 0x1e], 0x20
+je short loc_0045b95a ; je 0x45b95a
+mov eax, dword [ebx + 8]
+push eax
+xor eax, eax
+jmp short loc_0045b93e ; jmp 0x45b93e
+
+loc_0045b95a:
+mov ebp, dword [ebx + 8]
+xor eax, eax
+push ebp
+mov ax, word [esp + 0x10]
+push eax
+push edi
+call fcn_0045b370 ; call 0x45b370
+
+loc_0045b96c:
+add esp, 0xc
+mov esi, dword [ebx + 8]
+mov dword [ebx + 0x28], eax
+test esi, esi
+jl near loc_0045bbf3 ; jl 0x45bbf3
+cmp eax, esi
+jle near loc_0045bbf3 ; jle 0x45bbf3
+mov dword [ebx + 0x28], esi
+jmp near loc_0045bbf3 ; jmp 0x45bbf3
+
+loc_0045b98d:
+test byte [ebx + 0x1e], 1
+je short loc_0045b9c8 ; je 0x45b9c8
+test byte [ebx + 0x1f], 1
+je short loc_0045b9a8 ; je 0x45b9a8
+cmp dword [esp], 0
+jne short loc_0045b9ac ; jne 0x45b9ac
+cmp dword [esp + 4], 0
+je short loc_0045b9c8 ; je 0x45b9c8
+jmp short loc_0045b9ac ; jmp 0x45b9ac
+
+loc_0045b9a8:
+test ecx, ecx
+je short loc_0045b9c8 ; je 0x45b9c8
+
+loc_0045b9ac:
+mov eax, dword [ebx + 0x20]
+lea edx, [eax + 1]
+mov dword [ebx + 0x20], edx
+mov byte [esi + eax], 0x30
+mov eax, dword [ebx + 0x20]
+lea edx, [eax + 1]
+mov dword [ebx + 0x20], edx
+mov dl, byte [ebx + 0x15]
+mov byte [esi + eax], dl
+
+loc_0045b9c8:
+mov ebp, 0x10
+
+loc_0045b9cd:
+cmp byte [ebx + 0x15], 0x6f
+jne short loc_0045b9ed ; jne 0x45b9ed
+mov ah, byte [ebx + 0x1e]
+mov ebp, 8
+test ah, 1
+je short loc_0045b9ed ; je 0x45b9ed
+mov eax, dword [ebx + 0x20]
+lea edx, [eax + 1]
+mov dword [ebx + 0x20], edx
+mov byte [esi + eax], 0x30
+
+loc_0045b9ed:
+mov eax, dword [ebx + 0x20]
+mov word [esp + 0xc], ds
+add eax, esi
+mov dl, byte [ebx + 0x1f]
+mov edi, eax
+test dl, 1
+je short loc_0045ba46 ; je 0x45ba46
+cmp dword [ebx + 8], 0
+jne short loc_0045ba1f ; jne 0x45ba1f
+cmp dword [esp], 0
+jne short loc_0045ba1f ; jne 0x45ba1f
+cmp dword [esp + 4], 0
+jne short loc_0045ba1f ; jne 0x45ba1f
+
+loc_0045ba13:
+mov es, word [esp + 0xc]
+mov byte [es:eax], 0
+xor eax, eax
+jmp short loc_0045ba84 ; jmp 0x45ba84
+
+loc_0045ba1f:
+mov eax, dword [ebx + 0x20]
+push ebp
+add eax, esi
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_0045ce67 ; call 0x45ce67
+mov cl, byte [ebx + 0x15]
+add esp, 0xc
+cmp cl, 0x58
+jne short loc_0045ba71 ; jne 0x45ba71
+push esi
+call fcn_0045bc01 ; call 0x45bc01
+add esp, 4
+jmp short loc_0045ba71 ; jmp 0x45ba71
+
+loc_0045ba46:
+cmp dword [ebx + 8], 0
+jne short loc_0045ba50 ; jne 0x45ba50
+test ecx, ecx
+je short loc_0045ba13 ; je 0x45ba13
+
+loc_0045ba50:
+mov eax, dword [ebx + 0x20]
+push ebp
+add eax, esi
+push eax
+push ecx
+call fcn_0045cf75 ; call 0x45cf75
+mov dh, byte [ebx + 0x15]
+add esp, 0xc
+cmp dh, 0x58
+jne short loc_0045ba71 ; jne 0x45ba71
+push esi
+call fcn_0045bc01 ; call 0x45bc01
+add esp, 4
+
+loc_0045ba71:
+xor eax, eax
+push 0xffffffffffffffff
+mov ax, word [esp + 0x10]
+push eax
+push edi
+call fcn_0045b370 ; call 0x45b370
+add esp, 0xc
+
+loc_0045ba84:
+mov edx, eax
+mov esi, dword [ebx + 8]
+mov dword [ebx + 0x28], eax
+cmp eax, esi
+jge short loc_0045ba97 ; jge 0x45ba97
+mov eax, esi
+sub eax, edx
+mov dword [ebx + 0x24], eax
+
+loc_0045ba97:
+cmp dword [ebx + 8], 0xffffffff
+jne near loc_0045bbf3 ; jne 0x45bbf3
+push ebx
+call fcn_0045b56f ; call 0x45b56f
+add esp, 4
+jmp near loc_0045bbf3 ; jmp 0x45bbf3
+
+loc_0045baaf:
+cmp dword [ebx + 4], 0
+jne short loc_0045bacb ; jne 0x45bacb
+test byte [ebx + 0x1e], 0x80
+je short loc_0045bac4 ; je 0x45bac4
+mov dword [ebx + 4], 0xd
+jmp short loc_0045bacb ; jmp 0x45bacb
+
+loc_0045bac4:
+mov dword [ebx + 4], 8
+
+loc_0045bacb:
+and byte [ebx + 0x1e], 0xf9
+mov ecx, dword [edx]
+add ecx, 4
+mov dword [edx], ecx
+mov eax, ecx
+mov ebp, dword [ecx - 4]
+test byte [ebx + 0x1e], 0x80
+je short loc_0045bb07 ; je 0x45bb07
+add eax, 4
+mov dword [edx], eax
+push 4
+mov eax, dword [eax - 4]
+push esi
+and eax, 0xffff
+push eax
+call fcn_0045b412 ; call 0x45b412
+add esp, 0xc
+push 8
+lea eax, [esi + 5]
+push eax
+push ebp
+mov byte [esi + 4], 0x3a
+jmp short loc_0045bb0b ; jmp 0x45bb0b
+
+loc_0045bb07:
+push 8
+push esi
+push ebp
+
+loc_0045bb0b:
+call fcn_0045b412 ; call 0x45b412
+add esp, 0xc
+cmp byte [ebx + 0x15], 0x50
+jne short loc_0045bb22 ; jne 0x45bb22
+push esi
+call fcn_0045bc01 ; call 0x45bc01
+add esp, 4
+
+loc_0045bb22:
+xor eax, eax
+push 0xffffffffffffffff
+mov ax, word [esp + 0x10]
+push eax
+push edi
+call fcn_0045b370 ; call 0x45b370
+add esp, 0xc
+
+loc_0045bb35:
+mov dword [ebx + 0x20], eax
+jmp near loc_0045bbf3 ; jmp 0x45bbf3
+
+loc_0045bb3d:
+mov ah, byte [ebx + 0x1e]
+mov dword [ebx + 0x20], 1
+test ah, 0x20
+je short loc_0045bba4 ; je 0x45bba4
+mov ecx, dword [edx]
+add ecx, 4
+mov dword [edx], ecx
+mov ax, word [ecx - 4]
+and eax, 0xffff
+push eax
+lea eax, [esp + 0xc]
+push eax
+call fcn_0045ce30 ; call 0x45ce30
+add esp, 8
+cmp eax, 0xffffffff
+je near loc_0045bbf3 ; je 0x45bbf3
+mov al, byte [esp + 8]
+mov ebp, dword [ref_00499958] ; mov ebp, dword [0x499958]
+mov byte [esi], al
+test ebp, ebp
+je short loc_0045bbf3 ; je 0x45bbf3
+xor eax, eax
+mov al, byte [esp + 8]
+mov al, byte [eax + ref_0049995d] ; mov al, byte [eax + 0x49995d]
+and al, 1
+and eax, 0xff
+je short loc_0045bbf3 ; je 0x45bbf3
+mov al, byte [esp + 9]
+mov byte [esi + 1], al
+inc dword [ebx + 0x20]
+jmp short loc_0045bbf3 ; jmp 0x45bbf3
+
+loc_0045bba4:
+mov ebx, dword [edx]
+add ebx, 4
+mov dword [edx], ebx
+mov al, byte [ebx - 4]
+mov byte [esi], al
+jmp short loc_0045bbf3 ; jmp 0x45bbf3
+
+loc_0045bbb2:
+mov eax, dword [edx]
+add eax, 4
+mov dword [edx], eax
+mov ax, word [eax - 4]
+and eax, 0xffff
+push eax
+push esi
+call fcn_0045ce30 ; call 0x45ce30
+add esp, 8
+mov edx, eax
+cmp eax, 0xffffffff
+jne near loc_0045bb35 ; jne 0x45bb35
+mov dword [ebx + 0x20], 0
+jmp short loc_0045bbf3 ; jmp 0x45bbf3
+
+loc_0045bbe0:
+mov dword [ebx + 4], 0
+mov al, byte [ebx + 0x15]
+mov byte [esi], al
+mov dword [ebx + 0x20], 1
+
+loc_0045bbf3:
+mov edx, dword [esp + 0xc]
+mov eax, edi
+add esp, 0x10
+jmp near loc_0045b1a9 ; jmp 0x45b1a9
+
+fcn_0045bc01:
+push ebx
+mov ebx, dword [esp + 8]
+
+loc_0045bc06:
+cmp byte [ebx], 0
+je near loc_0045b5b0 ; je 0x45b5b0
+xor eax, eax
+mov al, byte [ebx]
+push eax
+call fcn_0045d016 ; call 0x45d016
+add esp, 4
+mov byte [ebx], al
+inc ebx
+jmp short loc_0045bc06 ; jmp 0x45bc06
+
+fcn_0045bc21:
+push ebx
+push esi
+mov ah, byte [ref_00488fdd] ; mov ah, byte [0x488fdd]
+and ah, 0xf8
+mov dl, ah
+mov byte [ref_00488fdd], ah ; mov byte [0x488fdd], ah
+or dl, 4
+mov ebx, ref_00488f9c ; mov ebx, 0x488f9c
+mov byte [ref_00488fdd], dl ; mov byte [0x488fdd], dl
+jmp short loc_0045bca1 ; jmp 0x45bca1
+
+loc_0045bc44:
+push 0x1d
+call fcn_00456f8e ; call 0x456f8e
+mov esi, eax
+add esp, 4
+test eax, eax
+jne short loc_0045bc73 ; jne 0x45bc73
+push 0x1d
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov esi, eax
+test eax, eax
+jne short loc_0045bc73 ; jne 0x45bc73
+push 1
+push ref_0046c8b8 ; push 0x46c8b8
+call fcn_0045c690 ; call 0x45c690
+add esp, 8
+
+loc_0045bc73:
+mov eax, dword [ref_004991d4] ; mov eax, dword [0x4991d4]
+mov dword [esi + 4], ebx
+mov dword [esi], eax
+mov dword [ebx + 8], esi
+mov dword [esi + 8], 0
+mov eax, dword [ebx + 8]
+mov byte [eax + 0x14], 0
+mov eax, dword [ebx + 8]
+mov dword [ref_004991d4], esi ; mov dword [0x4991d4], esi
+add ebx, 0x1a
+mov dword [eax + 0xc], 0
+
+loc_0045bca1:
+mov edx, dword [ebx + 0xc]
+test edx, edx
+jne short loc_0045bc44 ; jne 0x45bc44
+mov dword [ref_004991d8], edx ; mov dword [0x4991d8], edx
+pop esi
+pop ebx
+ret
+
+fcn_0045bcb1:
+push 0
+call fcn_0045bccb ; call 0x45bccb
+add esp, 4
+jmp near loc_004591a8 ; jmp 0x4591a8
+
+endloc_0045bcc0:
+dd 0x04e8036a
+dd 0x83000000
+db 0xc4
+db 0x04
+db 0xc3
+
+fcn_0045bccb:
+push ebx
+push esi
+push edi
+mov edx, dword [esp + 0x10]
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, edx
+mov edi, ref_00488f9c ; mov edi, 0x488f9c
+add eax, eax
+xor ebx, ebx
+add edi, eax
+mov eax, dword [ref_004991d4] ; mov eax, dword [0x4991d4]
+jmp short loc_0045bd21 ; jmp 0x45bd21
+
+loc_0045bcf0:
+mov esi, dword [eax]
+mov eax, dword [eax + 4]
+mov cl, byte [eax + 0xd]
+mov edx, 1
+test cl, 0x40
+jne short loc_0045bd14 ; jne 0x45bd14
+test cl, 8
+jne short loc_0045bd14 ; jne 0x45bd14
+cmp eax, edi
+jb short loc_0045bd1f ; jb 0x45bd1f
+cmp eax, ref_00488fea ; cmp eax, 0x488fea
+jae short loc_0045bd14 ; jae 0x45bd14
+xor edx, edx
+
+loc_0045bd14:
+push edx
+push eax
+inc ebx
+call fcn_00457902 ; call 0x457902
+add esp, 8
+
+loc_0045bd1f:
+mov eax, esi
+
+loc_0045bd21:
+test eax, eax
+jne short loc_0045bcf0 ; jne 0x45bcf0
+mov eax, ebx
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0045bd2b:
+db 0x8b
+dd 0x8b082454
+dd 0xf60c2444
+dd 0x01042444
+dd 0x02c70e74
+dd 0x80000000
+dd 0x000100c7
+dd 0x0ceb0000
+dd 0x000002c7
+dd 0x00c7c000
+dd 0x00000080
+dd 0x042444f6
+dd 0x80037402
+dd 0x44f60208
+dd 0x74040424
+dd 0x04088003
+db 0xc3
+
+fcn_0045bd69:
+push ebx
+mov edx, dword [esp + 0xc]
+mov eax, dword [esp + 0x10]
+mov ebx, dword [esp + 8]
+cmp ebx, 2
+jne short loc_0045bd89 ; jne 0x45bd89
+mov dword [edx], 0xc0000000
+
+loc_0045bd81:
+mov dword [eax], 0x80
+pop ebx
+ret
+
+loc_0045bd89:
+cmp ebx, 1
+jne short loc_0045bd96 ; jne 0x45bd96
+mov dword [edx], 0x40000000
+jmp short loc_0045bd81 ; jmp 0x45bd81
+
+loc_0045bd96:
+mov dword [edx], 0x80000000
+mov dword [eax], 1
+pop ebx
+ret
+
+fcn_0045bda4:
+push ebx
+mov eax, dword [esp + 0xc]
+mov edx, dword [esp + 8]
+mov ebx, dword [esp + 8]
+and edx, 0x70
+and ebx, 7
+cmp edx, 0x20
+jb short loc_0045bdcc ; jb 0x45bdcc
+jbe short loc_0045bdf6 ; jbe 0x45bdf6
+cmp edx, 0x30
+jb short loc_0045be04 ; jb 0x45be04
+jbe short loc_0045bdee ; jbe 0x45bdee
+cmp edx, 0x40
+je short loc_0045bdfe ; je 0x45bdfe
+pop ebx
+ret
+
+loc_0045bdcc:
+test edx, edx
+jbe short loc_0045bdd7 ; jbe 0x45bdd7
+cmp edx, 0x10
+je short loc_0045bde6 ; je 0x45bde6
+pop ebx
+ret
+
+loc_0045bdd7:
+mov dword [eax], 1
+test ebx, ebx
+jne short loc_0045be04 ; jne 0x45be04
+or byte [eax], 2
+pop ebx
+ret
+
+loc_0045bde6:
+mov dword [eax], 0
+pop ebx
+ret
+
+loc_0045bdee:
+mov dword [eax], 2
+pop ebx
+ret
+
+loc_0045bdf6:
+mov dword [eax], 1
+pop ebx
+ret
+
+loc_0045bdfe:
+mov dword [eax], 3
+
+loc_0045be04:
+pop ebx
+ret
+
+endloc_0045be06:
+db 0x8b
+db 0x54
+dd 0xd2850824
+dd 0xc0310375
+dd 0x4c8b52c3
+dd 0xe8510824
+dd 0x00000004
+dd 0xc308c483
+
+fcn_0045be20:
+push ebx
+cmp dword [esp + 0xc], 0
+je short loc_0045be37 ; je 0x45be37
+mov ebx, dword [esp + 8]
+push ebx
+call fcn_0045be3d ; call 0x45be3d
+add esp, 4
+pop ebx
+ret
+
+loc_0045be37:
+mov eax, dword [esp + 8]
+pop ebx
+ret
+
+fcn_0045be3d:
+push ebx
+mov ebx, dword [esp + 8]
+push ebx
+call fcn_00458e14 ; call 0x458e14
+add esp, 4
+cmp ebx, 0x7b
+jne short loc_0045be54 ; jne 0x45be54
+push 1
+jmp short loc_0045be80 ; jmp 0x45be80
+
+loc_0045be54:
+cmp ebx, 0xce
+jne short loc_0045be60 ; jne 0x45be60
+push 9
+jmp short loc_0045be80 ; jmp 0x45be80
+
+loc_0045be60:
+cmp ebx, 0xb7
+jne short loc_0045be6c ; jne 0x45be6c
+push 7
+jmp short loc_0045be80 ; jmp 0x45be80
+
+loc_0045be6c:
+cmp ebx, 0x13
+jbe short loc_0045be76 ; jbe 0x45be76
+mov ebx, 0x13
+
+loc_0045be76:
+mov ebx, dword [ebx + ref_004894d1] ; mov ebx, dword [ebx + 0x4894d1]
+sar ebx, 0x18
+push ebx
+
+loc_0045be80:
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+mov eax, 0xffffffff
+pop ebx
+ret
+
+fcn_0045be8f:
+call dword [cs:__imp__GetLastError@0] ; ucall: call dword cs:[0x4623ac]
+push eax
+call fcn_0045be3d ; call 0x45be3d
+add esp, 4
+ret
+
+fcn_0045bea0:
+push ebx
+push esi
+mov ebx, dword [esp + 0xc]
+cmp ebx, dword [ref_004894e8] ; cmp ebx, dword [0x4894e8]
+jb short loc_0045beb3 ; jb 0x45beb3
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+loc_0045beb3:
+cmp ebx, 3
+jge short loc_0045beeb ; jge 0x45beeb
+mov esi, ebx
+mov eax, dword [ref_0048953c] ; mov eax, dword [0x48953c]
+shl esi, 2
+add eax, esi
+mov dl, byte [eax + 1]
+test dl, 0x40
+jne short loc_0045beeb ; jne 0x45beeb
+mov dh, dl
+or dh, 0x40
+push ebx
+mov byte [eax + 1], dh
+call fcn_0045bf21 ; call 0x45bf21
+add esp, 4
+test eax, eax
+je short loc_0045beeb ; je 0x45beeb
+mov eax, dword [ref_0048953c] ; mov eax, dword [0x48953c]
+or byte [esi + eax + 1], 0x20
+
+loc_0045beeb:
+mov eax, dword [ref_0048953c] ; mov eax, dword [0x48953c]
+mov eax, dword [eax + ebx*4]
+pop esi
+pop ebx
+ret
+
+fcn_0045bef6:
+push ebx
+mov ebx, dword [esp + 0xc]
+mov eax, dword [esp + 8]
+shl eax, 2
+test ebx, ebx
+je short loc_0045bf16 ; je 0x45bf16
+or bh, 0x40
+mov edx, ebx
+mov ebx, dword [ref_0048953c] ; mov ebx, dword [0x48953c]
+mov dword [ebx + eax], edx
+pop ebx
+ret
+
+loc_0045bf16:
+mov edx, dword [ref_0048953c] ; mov edx, dword [0x48953c]
+mov dword [edx + eax], ebx
+pop ebx
+ret
+
+fcn_0045bf21:
+push ebx
+mov ebx, dword [esp + 8]
+push ebx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov edx, dword [ref_004891ac] ; mov edx, dword [0x4891ac]
+add esp, 4
+test edx, edx
+je short loc_0045bf59 ; je 0x45bf59
+push ebx
+call dword [ref_004891ac] ; ucall: call dword [0x4891ac]
+add esp, 4
+test eax, eax
+je short loc_0045bf59 ; je 0x45bf59
+
+loc_0045bf48:
+push ebx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+mov eax, 1
+add esp, 4
+pop ebx
+ret
+
+loc_0045bf59:
+mov eax, dword [ref_00489474] ; mov eax, dword [0x489474]
+mov edx, ebx
+mov eax, dword [eax + edx*4]
+push eax
+call dword [cs:__imp__GetFileType@4] ; ucall: call dword cs:[0x4623a4]
+cmp eax, 2
+je short loc_0045bf48 ; je 0x45bf48
+push ebx
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+xor eax, eax
+pop ebx
+ret
+
+fcn_0045bf7e:
+push ebx
+push esi
+mov esi, dword [esp + 0xc]
+xor ebx, ebx
+test esi, esi
+jl short loc_0045bf92 ; jl 0x45bf92
+cmp esi, dword [ref_004894e8] ; cmp esi, dword [0x4894e8]
+jbe short loc_0045bfa4 ; jbe 0x45bfa4
+
+loc_0045bf92:
+push 4
+call fcn_00458de7 ; call 0x458de7
+mov eax, 0xffffffff
+add esp, 4
+pop esi
+pop ebx
+ret
+
+loc_0045bfa4:
+push esi
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov eax, dword [ref_00489474] ; mov eax, dword [0x489474]
+mov edx, esi
+add esp, 4
+mov eax, dword [eax + edx*4]
+push eax
+call dword [cs:__imp__FlushFileBuffers@4] ; ucall: call dword cs:[0x46236c]
+test eax, eax
+jne short loc_0045bfce ; jne 0x45bfce
+call fcn_0045be8f ; call 0x45be8f
+mov ebx, 0xffffffff
+
+loc_0045bfce:
+push esi
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_0045bfdd:
+push 0xffffffffffffffff
+call fcn_0045bfe8 ; call 0x45bfe8
+add esp, 4
+ret
+
+fcn_0045bfe8:
+push ebx
+push esi
+push edi
+mov edi, dword [esp + 0x10]
+call dword [ref_00488f60] ; ucall: call dword [0x488f60]
+mov ebx, dword [ref_004991d4] ; mov ebx, dword [0x4991d4]
+xor esi, esi
+jmp short loc_0045c01b ; jmp 0x45c01b
+
+loc_0045bfff:
+mov eax, dword [ebx + 4]
+test dword [eax + 0xc], edi
+je short loc_0045c019 ; je 0x45c019
+mov dl, byte [eax + 0xd]
+inc esi
+test dl, 0x10
+je short loc_0045c019 ; je 0x45c019
+push eax
+call fcn_004591f9 ; call 0x4591f9
+add esp, 4
+
+loc_0045c019:
+mov ebx, dword [ebx]
+
+loc_0045c01b:
+test ebx, ebx
+jne short loc_0045bfff ; jne 0x45bfff
+call dword [ref_00488f64] ; ucall: call dword [0x488f64]
+mov eax, esi
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045c02b:
+push ebx
+push esi
+mov esi, dword [ref_0048933c] ; mov esi, dword [0x48933c]
+call fcn_0045d137 ; call 0x45d137
+mov ebx, eax
+cmp eax, 0xffffffff
+je short loc_0045c04c ; je 0x45c04c
+test esi, esi
+jne short loc_0045c04c ; jne 0x45c04c
+push eax
+call fcn_0045d1c0 ; call 0x45d1c0
+add esp, 4
+
+loc_0045c04c:
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_0045c051:
+mov edx, dword [esp + 4]
+push edx
+call dword [cs:__imp__GetFileAttributesA@4] ; ucall: call dword cs:[0x46239c]
+cmp eax, 0xffffffff
+je near fcn_0045be8f ; je 0x45be8f
+test byte [esp + 8], 2
+je short loc_0045c07c ; je 0x45c07c
+test al, 1
+je short loc_0045c07c ; je 0x45c07c
+push 5
+call fcn_0045be3d ; call 0x45be3d
+add esp, 4
+ret
+
+loc_0045c07c:
+xor eax, eax
+ret
+
+fcn_0045c07f:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+add eax, 4
+ret
+
+endloc_0045c089:
+db 0xff
+db 0x15
+dd ref_00488f4c
+db 0x83
+db 0xc0
+db 0x08
+db 0xc3
+
+fcn_0045c093:
+push ebx
+mov edx, dword [esp + 0xc]
+push edx
+mov ebx, dword [esp + 0xc]
+push ebx
+call dword [cs:__imp__MoveFileA@8] ; ucall: call dword cs:[0x4623e0]
+test eax, eax
+jne short loc_0045c0b0 ; jne 0x45c0b0
+call fcn_0045be8f ; call 0x45be8f
+pop ebx
+ret
+
+loc_0045c0b0:
+xor eax, eax
+pop ebx
+ret
+
+fcn_0045c0b4:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [esp + 0x14]
+mov ebx, dword [ref_00499944] ; mov ebx, dword [0x499944]
+test ebx, ebx
+je short loc_0045c108 ; je 0x45c108
+test ebp, ebp
+je short loc_0045c108 ; je 0x45c108
+mov edi, ebp
+push es
+mov eax, ds
+mov es, eax
+sub ecx, ecx
+dec ecx
+xor eax, eax
+repne scasb ; repne scasb al, byte es:[edi]
+not ecx
+dec ecx
+pop es
+mov edi, ecx
+jmp short loc_0045c102 ; jmp 0x45c102
+
+loc_0045c0e0:
+push edi
+push ebp
+push esi
+call fcn_0045d226 ; call 0x45d226
+add esp, 0xc
+test eax, eax
+jne short loc_0045c0ff ; jne 0x45c0ff
+cmp byte [edi + esi], 0x3d
+jne short loc_0045c0ff ; jne 0x45c0ff
+lea eax, [edi + 1]
+add eax, esi
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045c0ff:
+add ebx, 4
+
+loc_0045c102:
+mov esi, dword [ebx]
+test esi, esi
+jne short loc_0045c0e0 ; jne 0x45c0e0
+
+loc_0045c108:
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045c10f:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebx, dword [esp + 0x18]
+mov esi, dword [esp + 0x1c]
+mov edi, dword [esp + 0x20]
+test ebx, ebx
+jne short loc_0045c14d ; jne 0x45c14d
+mov edi, 0x104
+push edi
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov ebp, eax
+test eax, eax
+jne short loc_0045c14b ; jne 0x45c14b
+push 5
+
+loc_0045c13c:
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+
+loc_0045c144:
+xor eax, eax
+jmp near loc_0045c1a9 ; jmp 0x45c1a9
+
+loc_0045c14b:
+mov ebx, eax
+
+loc_0045c14d:
+test esi, esi
+je short loc_0045c156 ; je 0x45c156
+cmp byte [esi], 0
+jne short loc_0045c162 ; jne 0x45c162
+
+loc_0045c156:
+push edi
+push ebx
+call fcn_0045c1b1 ; call 0x45c1b1
+add esp, 8
+jmp short loc_0045c1a9 ; jmp 0x45c1a9
+
+loc_0045c162:
+push ref_0046c8e8 ; push 0x46c8e8
+push esi
+call fcn_00459dc7 ; call 0x459dc7
+add esp, 8
+test eax, eax
+jne short loc_0045c18f ; jne 0x45c18f
+cmp edi, 4
+jae short loc_0045c186 ; jae 0x45c186
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+push 0xe
+jmp short loc_0045c13c ; jmp 0x45c13c
+
+loc_0045c186:
+mov eax, dword [ref_0046c8e8] ; mov eax, dword [0x46c8e8]
+mov dword [ebx], eax
+jmp short loc_0045c1a7 ; jmp 0x45c1a7
+
+loc_0045c18f:
+mov eax, esp
+push eax
+push ebx
+push edi
+push esi
+call dword [cs:__imp__GetFullPathNameA@16] ; ucall: call dword cs:[0x4623a8]
+test eax, eax
+jne short loc_0045c1a7 ; jne 0x45c1a7
+call fcn_0045be8f ; call 0x45be8f
+jmp short loc_0045c144 ; jmp 0x45c144
+
+loc_0045c1a7:
+mov eax, ebx
+
+loc_0045c1a9:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045c1b1:
+push ebx
+push esi
+push edi
+sub esp, 0x104
+mov ebx, dword [esp + 0x114]
+mov eax, esp
+push eax
+push 0x104
+call dword [cs:__imp__GetCurrentDirectoryA@8] ; ucall: call dword cs:[0x462384]
+mov esi, eax
+test eax, eax
+jne short loc_0045c1dd ; jne 0x45c1dd
+call fcn_0045be8f ; call 0x45be8f
+jmp short loc_0045c208 ; jmp 0x45c208
+
+loc_0045c1dd:
+test ebx, ebx
+jne short loc_0045c20c ; jne 0x45c20c
+mov ebx, dword [esp + 0x118]
+inc eax
+cmp eax, ebx
+jae short loc_0045c1ef ; jae 0x45c1ef
+mov eax, ebx
+
+loc_0045c1ef:
+push eax
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov ebx, eax
+test eax, eax
+jne short loc_0045c219 ; jne 0x45c219
+push 5
+
+loc_0045c200:
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+
+loc_0045c208:
+xor eax, eax
+jmp short loc_0045c238 ; jmp 0x45c238
+
+loc_0045c20c:
+cmp eax, dword [esp + 0x118]
+jbe short loc_0045c219 ; jbe 0x45c219
+push 0xe
+jmp short loc_0045c200 ; jmp 0x45c200
+
+loc_0045c219:
+lea ecx, [esi + 1]
+mov edi, ebx
+mov esi, esp
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov eax, ebx
+
+loc_0045c238:
+add esp, 0x104
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045c242:
+mov edx, dword [esp + 4]
+push edx
+call dword [cs:__imp__DeleteFileA@4] ; ucall: call dword cs:[0x46235c]
+test eax, eax
+je near fcn_0045be8f ; je 0x45be8f
+xor eax, eax
+ret
+
+ref_0045c259:
+db 0xc3
+
+fcn_0045c25a:
+push ax
+wait
+fninit
+fld1
+fldz
+fdivp st1 ; fdivp st(1)
+fld st0 ; fld st(0)
+fchs
+fcompp
+fnstsw ax
+mov al, 2
+sahf
+je short loc_0045c274 ; je 0x45c274
+mov al, 3
+
+loc_0045c274:
+wait
+fninit
+fldcw word [esp]
+xchg word [esp], ax
+pop ax
+ret
+
+fcn_0045c281:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+mov edx, dword [ebp + 0xc]
+push edx
+push edx
+mov ecx, dword [ebp + 8]
+push ecx
+call fcn_0045c2b4 ; call 0x45c2b4
+mov dword [ebp - 0x10], eax
+mov dword [ebp - 0xc], edx
+add esp, 0xc
+mov eax, dword [ebp - 0x10]
+mov dword [ebp - 8], eax
+mov eax, dword [ebp - 0xc]
+mov dword [ebp - 4], eax
+mov eax, dword [ebp - 8]
+mov edx, dword [ebp - 4]
+mov esp, ebp
+pop ebp
+ret
+
+fcn_0045c2b4:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+sub esp, 0x30
+mov edx, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+mov ecx, dword [ebp + 0x10]
+mov eax, dword [esi]
+mov dword [ebp - 0x30], eax
+mov eax, dword [esi + 4]
+mov dword [ebp - 0x2c], eax
+mov eax, dword [ecx]
+mov dword [ebp - 0x28], eax
+mov eax, dword [ecx + 4]
+mov dword [ebp - 0x24], eax
+test dl, 0x40
+je short loc_0045c2e7 ; je 0x45c2e7
+mov ebx, 1
+jmp short loc_0045c321 ; jmp 0x45c321
+
+loc_0045c2e7:
+test dl, 0x80
+je short loc_0045c2f3 ; je 0x45c2f3
+mov ebx, 2
+jmp short loc_0045c321 ; jmp 0x45c321
+
+loc_0045c2f3:
+test dh, 1
+je short loc_0045c2ff ; je 0x45c2ff
+mov ebx, 3
+jmp short loc_0045c321 ; jmp 0x45c321
+
+loc_0045c2ff:
+test dh, 8
+je short loc_0045c30b ; je 0x45c30b
+mov ebx, 4
+jmp short loc_0045c321 ; jmp 0x45c321
+
+loc_0045c30b:
+test dh, 2
+je short loc_0045c317 ; je 0x45c317
+mov ebx, 6
+jmp short loc_0045c321 ; jmp 0x45c321
+
+loc_0045c317:
+test dh, 4
+je short loc_0045c321 ; je 0x45c321
+mov ebx, 5
+
+loc_0045c321:
+mov eax, edx
+and eax, 0x1f
+mov eax, dword [eax*4 + ref_00489548] ; mov eax, dword [eax*4 + 0x489548]
+mov dword [ebp - 0x38], ebx
+mov dword [ebp - 0x34], eax
+test dh, 0x10
+je short loc_0045c345 ; je 0x45c345
+fld qword [ref_0046cad0] ; fld qword [0x46cad0]
+fchs
+fstp qword [ebp - 0x20]
+jmp short loc_0045c387 ; jmp 0x45c387
+
+loc_0045c345:
+test dh, 0x20
+je short loc_0045c354 ; je 0x45c354
+xor ecx, ecx
+mov dword [ebp - 0x20], ecx
+mov dword [ebp - 0x1c], ecx
+jmp short loc_0045c387 ; jmp 0x45c387
+
+loc_0045c354:
+test dh, 0x40
+je short loc_0045c368 ; je 0x45c368
+xor edx, edx
+mov ebx, 0x3ff00000
+mov dword [ebp - 0x20], edx
+mov dword [ebp - 0x1c], ebx
+jmp short loc_0045c387 ; jmp 0x45c387
+
+loc_0045c368:
+test dh, 0x80
+je short loc_0045c37c ; je 0x45c37c
+mov eax, dword [ref_0046cad0] ; mov eax, dword [0x46cad0]
+mov dword [ebp - 0x20], eax
+mov eax, dword [ref_0046cad4] ; mov eax, dword [0x46cad4]
+jmp short loc_0045c384 ; jmp 0x45c384
+
+loc_0045c37c:
+mov eax, dword [ecx]
+mov dword [ebp - 0x20], eax
+mov eax, dword [ecx + 4]
+
+loc_0045c384:
+mov dword [ebp - 0x1c], eax
+
+loc_0045c387:
+lea eax, [ebp - 0x38]
+push eax
+call fcn_0045d30e ; call 0x45d30e
+mov dword [ebp - 0x18], eax
+mov dword [ebp - 0x14], edx
+add esp, 4
+mov eax, dword [ebp - 0x18]
+mov dword [ebp - 0x10], eax
+mov eax, dword [ebp - 0x14]
+mov dword [ebp - 0xc], eax
+mov eax, dword [ebp - 0x10]
+mov edx, dword [ebp - 0xc]
+lea esp, [ebp - 8]
+pop esi
+pop ebx
+pop ebp
+ret
+
+fcn_0045c3b2:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+push edi
+sub esp, 0x40
+mov edi, dword [ebp + 8]
+mov edx, dword [ebp + 0xc]
+mov ebx, dword [ebp + 0x10]
+xor eax, eax
+mov al, byte [ebx + 0x15]
+mov dword [ebp - 0x40], eax
+and al, 0x5f
+mov esi, dword [ebx + 8]
+and eax, 0xff
+cmp eax, 0x47
+jne short loc_0045c3fe ; jne 0x45c3fe
+test esi, esi
+jne short loc_0045c3e4 ; jne 0x45c3e4
+mov esi, 1
+
+loc_0045c3e4:
+mov dword [ebp - 0x44], 4
+mov ecx, dword [ebp - 0x40]
+mov eax, 1
+sub ecx, 2
+mov dword [ebp - 0x48], eax
+mov dword [ebp - 0x40], ecx
+jmp short loc_0045c41d ; jmp 0x45c41d
+
+loc_0045c3fe:
+cmp eax, 0x45
+jne short loc_0045c410 ; jne 0x45c410
+mov ecx, 1
+mov dword [ebp - 0x44], ecx
+mov dword [ebp - 0x48], ecx
+jmp short loc_0045c41d ; jmp 0x45c41d
+
+loc_0045c410:
+mov ecx, 2
+xor eax, eax
+mov dword [ebp - 0x44], ecx
+mov dword [ebp - 0x48], eax
+
+loc_0045c41d:
+test byte [ebx + 0x1e], 1
+je short loc_0045c427 ; je 0x45c427
+or byte [ebp - 0x44], 0x10
+
+loc_0045c427:
+mov eax, dword [edx]
+add eax, 8
+mov dword [edx], eax
+mov edx, eax
+mov eax, dword [eax - 8]
+mov dword [ebp - 0x14], eax
+mov eax, dword [edx - 4]
+lea edx, [ebp - 0x20]
+mov dword [ebp - 0x10], eax
+lea eax, [ebp - 0x14]
+fld qword [eax]
+fstp tword [edx] ; fstp xword [edx]
+cmp esi, 0xffffffff
+jne short loc_0045c450 ; jne 0x45c450
+mov esi, 6
+
+loc_0045c450:
+lea eax, [edi + 1]
+push eax
+lea eax, [ebp - 0x4c]
+push eax
+lea eax, [ebp - 0x20]
+xor edx, edx
+push eax
+mov dword [ebp - 0x4c], esi
+mov dword [ebp - 0x3c], edx
+call fcn_0045d4b6 ; call 0x45d4b6
+mov eax, dword [ebp - 0x30]
+mov dword [ebx + 0x28], eax
+mov eax, dword [ebp - 0x2c]
+mov dword [ebx + 0x2c], eax
+mov eax, dword [ebp - 0x28]
+mov dword [ebx + 0x30], eax
+mov eax, dword [ebp - 0x24]
+mov dword [ebx + 0x34], eax
+mov ecx, dword [ebp - 0x38]
+add esp, 0xc
+test ecx, ecx
+jge short loc_0045c49a ; jge 0x45c49a
+mov eax, dword [ebx + 0x20]
+lea edx, [eax + 1]
+mov dword [ebx + 0x20], edx
+mov byte [edi + eax], 0x2d
+jmp short loc_0045c4c3 ; jmp 0x45c4c3
+
+loc_0045c49a:
+mov ch, byte [ebx + 0x1e]
+test ch, 4
+je short loc_0045c4b1 ; je 0x45c4b1
+mov eax, dword [ebx + 0x20]
+lea edx, [eax + 1]
+mov dword [ebx + 0x20], edx
+mov byte [edi + eax], 0x2b
+jmp short loc_0045c4c3 ; jmp 0x45c4c3
+
+loc_0045c4b1:
+test ch, 2
+je short loc_0045c4c3 ; je 0x45c4c3
+mov eax, dword [ebx + 0x20]
+lea edx, [eax + 1]
+mov dword [ebx + 0x20], edx
+mov byte [edi + eax], 0x20
+
+loc_0045c4c3:
+mov edx, ds
+mov eax, edi
+lea esp, [ebp - 0xc]
+pop edi
+pop esi
+pop ebx
+pop ebp
+ret
+
+fcn_0045c4cf:
+push ebp
+mov ebp, esp
+sub esp, 8
+push 0
+mov edx, dword [ebp + 8]
+push edx
+call fcn_0045e029 ; call 0x45e029
+mov dword [ebp - 8], eax
+mov dword [ebp - 4], edx
+add esp, 8
+mov eax, dword [ebp + 0xc]
+mov edx, dword [ebp - 8]
+mov dword [eax], edx
+mov edx, dword [ebp - 4]
+mov dword [eax + 4], edx
+mov esp, ebp
+pop ebp
+ret
+
+fcn_0045c4fb:
+push 1
+push ref_0046c958 ; push 0x46c958
+call fcn_0045c690 ; call 0x45c690
+add esp, 8
+ret
+
+fcn_0045c50b:
+push ebx
+sub esp, 0x10
+mov dword [esp + 8], 0xc0000000
+mov dword [esp + 0xc], 0x4150017e
+mov dword [esp], 0x80000000
+mov dword [esp + 4], 0x4147ffff
+cmp byte [ref_00488f35], 3 ; cmp byte [0x488f35], 3
+jb short loc_0045c580 ; jb 0x45c580
+mov eax, dword [esp + 8]
+mov edx, dword [esp + 0xc]
+mov ebx, dword [esp]
+mov ecx, dword [esp + 4]
+call fcn_0045e0b6 ; call 0x45e0b6
+mov ebx, dword [esp]
+mov ecx, dword [esp + 4]
+call fcn_0045e479 ; call 0x45e479
+mov ebx, eax
+mov ecx, edx
+mov eax, dword [esp + 8]
+mov edx, dword [esp + 0xc]
+call fcn_0045e2bc ; call 0x45e2bc
+mov ebx, 0xe2308c3a
+mov ecx, 0x3e45798e
+call fcn_0045e616 ; call 0x45e616
+jle short loc_0045c580 ; jle 0x45c580
+or byte [ref_0048936c], 1 ; or byte [0x48936c], 1
+
+loc_0045c580:
+add esp, 0x10
+pop ebx
+ret
+
+fcn_0045c585:
+push ebx
+mov edx, dword [esp + 0xc]
+push edx
+mov ebx, dword [esp + 0xc]
+push ebx
+call fcn_0045c59a ; call 0x45c59a
+add esp, 8
+pop ebx
+ret
+
+fcn_0045c59a:
+push ebx
+push esi
+push edi
+push ebp
+mov ebx, dword [esp + 0x14]
+mov edi, dword [esp + 0x18]
+test ebx, ebx
+jne short loc_0045c5b8 ; jne 0x45c5b8
+push edi
+call fcn_00456f8e ; call 0x456f8e
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045c5b8:
+test edi, edi
+jne short loc_0045c5cc ; jne 0x45c5cc
+push ebx
+call fcn_00456e1f ; call 0x456e1f
+add esp, 4
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045c5cc:
+push ebx
+call fcn_0045e64e ; call 0x45e64e
+add esp, 4
+push edi
+push ebx
+mov esi, eax
+call fcn_0045e829 ; call 0x45e829
+add esp, 8
+mov ebp, eax
+test eax, eax
+jne short loc_0045c627 ; jne 0x45c627
+push edi
+call fcn_00456f8e ; call 0x456f8e
+add esp, 4
+mov ebp, eax
+test eax, eax
+je short loc_0045c61d ; je 0x45c61d
+mov ecx, esi
+mov edi, eax
+mov esi, ebx
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+push ebx
+call fcn_00456e1f ; call 0x456e1f
+add esp, 4
+jmp short loc_0045c627 ; jmp 0x45c627
+
+loc_0045c61d:
+push esi
+push ebx
+call fcn_0045e829 ; call 0x45e829
+add esp, 8
+
+loc_0045c627:
+mov eax, ebp
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045c62e:
+push ebx
+mov ebx, dword [esp + 8]
+imul ebx, dword [esp + 0xc]
+push ebx
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+test eax, eax
+je short loc_0045c651 ; je 0x45c651
+push ebx
+push 0
+push eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+
+loc_0045c651:
+pop ebx
+ret
+
+fcn_0045c653:
+push ebx
+sub esp, 4
+mov eax, dword [esp + 0xc]
+xor ebx, ebx
+jmp short loc_0045c660 ; jmp 0x45c660
+
+loc_0045c65f:
+inc ebx
+
+loc_0045c660:
+mov edx, eax
+mov cl, byte [edx]
+inc eax
+test cl, cl
+jne short loc_0045c65f ; jne 0x45c65f
+push 0
+lea eax, [esp + 4]
+push eax
+push ebx
+mov edx, dword [esp + 0x18]
+mov eax, dword [ref_00489474] ; mov eax, dword [0x489474]
+push edx
+mov ebx, dword [eax + 8]
+push ebx
+call dword [cs:__imp__WriteFile@20] ; ucall: call dword cs:[0x462440]
+mov ecx, dword [esp + 0x10]
+push ecx
+jmp near loc_004588b0 ; jmp 0x4588b0
+
+fcn_0045c690:
+push ebx
+mov eax, ds
+and eax, 0xffff
+push eax
+mov edx, dword [esp + 0xc]
+push edx
+call fcn_0045e873 ; call 0x45e873
+add esp, 8
+test eax, eax
+jne short loc_0045c6bc ; jne 0x45c6bc
+mov ebx, dword [esp + 0xc]
+push ebx
+mov ecx, dword [esp + 0xc]
+push ecx
+call fcn_0045c653 ; call 0x45c653
+add esp, 8
+
+loc_0045c6bc:
+pop ebx
+ret
+
+fcn_0045c6be:
+push ebx
+xor ebx, ebx
+push ebx
+call fcn_0045a2cb ; call 0x45a2cb
+add esp, 4
+test eax, eax
+je short loc_0045c6de ; je 0x45c6de
+mov edx, dword [ref_00488f48] ; mov edx, dword [0x488f48]
+push edx
+call dword [cs:__imp__TlsGetValue@4] ; ucall: call dword cs:[0x46241c]
+mov ebx, eax
+
+loc_0045c6de:
+test ebx, ebx
+jne short loc_0045c6f1 ; jne 0x45c6f1
+push 1
+push ref_0046c97c ; push 0x46c97c
+call fcn_0045c690 ; call 0x45c690
+add esp, 8
+
+loc_0045c6f1:
+mov eax, ebx
+pop ebx
+ret
+
+fcn_0045c6f5:
+push ebx
+push esi
+push edi
+push ebp
+call dword [ref_00488f78] ; ucall: call dword [0x488f78]
+call dword [cs:__imp__GetCurrentThreadId@0] ; ucall: call dword cs:[0x46238c]
+mov ebx, dword [ref_00499954] ; mov ebx, dword [0x499954]
+mov ebp, eax
+jmp short loc_0045c717 ; jmp 0x45c717
+
+loc_0045c710:
+cmp ebp, dword [ebx + 4]
+je short loc_0045c71b ; je 0x45c71b
+mov ebx, dword [ebx]
+
+loc_0045c717:
+test ebx, ebx
+jne short loc_0045c710 ; jne 0x45c710
+
+loc_0045c71b:
+cmp dword [ebx + 0xc], 0
+je short loc_0045c74b ; je 0x45c74b
+mov edi, dword [ref_004894b0] ; mov edi, dword [0x4894b0]
+push edi
+mov ebp, dword [ebx + 8]
+push ebp
+call fcn_0045c585 ; call 0x45c585
+add esp, 8
+mov ebp, eax
+test eax, eax
+jne short loc_0045c799 ; jne 0x45c799
+push 1
+push ref_0046c9a1 ; push 0x46c9a1
+call fcn_0045c690 ; call 0x45c690
+add esp, 8
+jmp short loc_0045c799 ; jmp 0x45c799
+
+loc_0045c74b:
+mov esi, dword [ref_004894b0] ; mov esi, dword [0x4894b0]
+push esi
+push 1
+call fcn_0045c62e ; call 0x45c62e
+add esp, 8
+mov ebp, eax
+test eax, eax
+jne short loc_0045c771 ; jne 0x45c771
+push 1
+push ref_0046c9c9 ; push 0x46c9c9
+call fcn_0045c690 ; call 0x45c690
+add esp, 8
+
+loc_0045c771:
+mov esi, dword [ebx + 8]
+mov edi, ebp
+mov ecx, dword [esi + 0xf0]
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov dword [ebx + 0xc], 1
+
+loc_0045c799:
+mov dword [ebx + 8], ebp
+mov eax, dword [ref_004894b0] ; mov eax, dword [0x4894b0]
+push ebp
+mov dword [ebp + 0xf0], eax
+mov eax, dword [ref_00488f48] ; mov eax, dword [0x488f48]
+mov byte [ebp + 0x52], 1
+push eax
+mov byte [ebp + 0x53], 0
+call dword [cs:__imp__TlsSetValue@8] ; ucall: call dword cs:[0x462420]
+call dword [ref_00488f7c] ; ucall: call dword [0x488f7c]
+mov eax, ebp
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045c7ca:
+push ebx
+push esi
+push edi
+mov edi, dword [esp + 0x14]
+call dword [ref_00488f78] ; ucall: call dword [0x488f78]
+push 0x10
+mov esi, 1
+push esi
+call fcn_0045c62e ; call 0x45c62e
+mov ebx, eax
+add esp, 8
+test eax, eax
+je short loc_0045c828 ; je 0x45c828
+push edi
+call fcn_0045e8ca ; call 0x45e8ca
+add esp, 4
+test eax, eax
+je short loc_0045c807 ; je 0x45c807
+push ebx
+call fcn_00456e11 ; call 0x456e11
+xor esi, esi
+add esp, 4
+jmp short loc_0045c82a ; jmp 0x45c82a
+
+loc_0045c807:
+mov eax, dword [esp + 0x10]
+mov dword [ebx + 8], edi
+mov dword [ebx + 4], eax
+xor eax, eax
+mov al, byte [edi + 0x52]
+mov dword [ebx + 0xc], eax
+mov eax, dword [ref_00499954] ; mov eax, dword [0x499954]
+mov dword [ref_00499954], ebx ; mov dword [0x499954], ebx
+mov dword [ebx], eax
+jmp short loc_0045c82a ; jmp 0x45c82a
+
+loc_0045c828:
+xor esi, esi
+
+loc_0045c82a:
+call dword [ref_00488f7c] ; ucall: call dword [0x488f7c]
+mov eax, esi
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045c836:
+push ebx
+push esi
+push edi
+mov edi, dword [esp + 0x10]
+call dword [ref_00488f78] ; ucall: call dword [0x488f78]
+mov esi, ref_00499954 ; mov esi, 0x499954
+mov ebx, dword [ref_00499954] ; mov ebx, dword [0x499954]
+jmp short loc_0045c87a ; jmp 0x45c87a
+
+loc_0045c850:
+cmp edi, dword [ebx + 4]
+jne short loc_0045c876 ; jne 0x45c876
+cmp dword [ebx + 0xc], 0
+je short loc_0045c867 ; je 0x45c867
+mov edi, dword [ebx + 8]
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0045c867:
+mov edi, dword [ebx]
+push ebx
+mov dword [esi], edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+jmp short loc_0045c87e ; jmp 0x45c87e
+
+loc_0045c876:
+mov esi, ebx
+mov ebx, dword [ebx]
+
+loc_0045c87a:
+test ebx, ebx
+jne short loc_0045c850 ; jne 0x45c850
+
+loc_0045c87e:
+call dword [ref_00488f7c] ; ucall: call dword [0x488f7c]
+pop edi
+
+loc_0045c885:
+pop esi
+pop ebx
+ret
+
+fcn_0045c888:
+call dword [ref_00488f78] ; ucall: call dword [0x488f78]
+mov eax, dword [ref_00499954] ; mov eax, dword [0x499954]
+
+loc_0045c893:
+test eax, eax
+je short loc_0045c8a2 ; je 0x45c8a2
+mov edx, dword [eax + 8]
+mov byte [edx + 0x53], 1
+mov eax, dword [eax]
+jmp short loc_0045c893 ; jmp 0x45c893
+
+loc_0045c8a2:
+call dword [ref_00488f7c] ; ucall: call dword [0x488f7c]
+ret
+
+loc_0045c8a9:
+push ebx
+push esi
+mov ebx, dword [ref_00499954] ; mov ebx, dword [0x499954]
+
+loc_0045c8b1:
+test ebx, ebx
+je short loc_0045c885 ; je 0x45c885
+mov edx, dword [ebx + 0xc]
+mov esi, dword [ebx]
+test edx, edx
+je short loc_0045c8ca ; je 0x45c8ca
+mov ecx, dword [ebx + 8]
+push ecx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0045c8ca:
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov ebx, esi
+jmp short loc_0045c8b1 ; jmp 0x45c8b1
+
+fcn_0045c8d7:
+push ebx
+mov ebx, dword [esp + 8]
+test ebx, ebx
+je short loc_0045c8ff ; je 0x45c8ff
+push 0
+push ebx
+mov dword [ebx + 0xc], 1
+call fcn_0045a666 ; call 0x45a666
+add esp, 8
+call dword [cs:__imp__GetCurrentThreadId@0] ; ucall: call dword cs:[0x46238c]
+mov dword [ebx + 0xda], eax
+
+loc_0045c8ff:
+pop ebx
+ret
+
+fcn_0045c901:
+jmp near loc_0045c8a9 ; jmp 0x45c8a9
+
+fcn_0045c906:
+mov edx, dword [esp + 4]
+push edx
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+ret
+
+fcn_0045c914:
+push ebx
+push esi
+push edi
+push ebp
+cmp dword [ref_00499944], 0 ; cmp dword [0x499944], 0
+jne near loc_0045c9d9 ; jne 0x45c9d9
+mov ebp, dword [ref_0048934d] ; mov ebp, dword [0x48934d]
+xor esi, esi
+xor dl, dl
+mov eax, ebp
+
+loc_0045c931:
+cmp dl, byte [eax]
+je short loc_0045c947 ; je 0x45c947
+
+loc_0045c935:
+mov cl, byte [eax]
+lea ebx, [eax + 1]
+cmp dl, cl
+je short loc_0045c942 ; je 0x45c942
+mov eax, ebx
+jmp short loc_0045c935 ; jmp 0x45c935
+
+loc_0045c942:
+inc esi
+mov eax, ebx
+jmp short loc_0045c931 ; jmp 0x45c931
+
+loc_0045c947:
+sub eax, ebp
+jne short loc_0045c950 ; jne 0x45c950
+mov eax, 1
+
+loc_0045c950:
+push eax
+call fcn_0045c906 ; call 0x45c906
+mov edi, eax
+add esp, 4
+mov ebx, eax
+test eax, eax
+je near loc_0045c9d4 ; je 0x45c9d4
+mov eax, esi
+shl eax, 2
+add eax, 4
+add esi, eax
+push esi
+call fcn_0045c906 ; call 0x45c906
+add esp, 4
+test eax, eax
+je short loc_0045c9cb ; je 0x45c9cb
+mov dword [ref_00499944], eax ; mov dword [0x499944], eax
+xor esi, esi
+xor ecx, ecx
+mov eax, ebp
+
+loc_0045c987:
+cmp byte [eax], 0
+je short loc_0045c9a5 ; je 0x45c9a5
+mov edx, dword [ref_00499944] ; mov edx, dword [0x499944]
+mov dword [ecx + edx], ebx
+
+loc_0045c995:
+mov dl, byte [eax]
+inc eax
+mov byte [ebx], dl
+inc ebx
+test dl, dl
+jne short loc_0045c995 ; jne 0x45c995
+add ecx, 4
+inc esi
+jmp short loc_0045c987 ; jmp 0x45c987
+
+loc_0045c9a5:
+mov edx, dword [ref_00499944] ; mov edx, dword [0x499944]
+push esi
+mov dword [ecx + edx], 0
+add ecx, 4
+push 0
+add edx, ecx
+push edx
+mov dword [ref_00499940], edx ; mov dword [0x499940], edx
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+jmp short loc_0045c9d4 ; jmp 0x45c9d4
+
+loc_0045c9cb:
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0045c9d4:
+call fcn_0045e924 ; call 0x45e924
+
+loc_0045c9d9:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045c9de:
+push ebp
+mov ebp, esp
+mov eax, dword [ebp + 8]
+
+loc_0045c9e4:
+cmp word [eax], 0
+je short loc_0045c9ee ; je 0x45c9ee
+inc eax
+inc eax
+jmp short loc_0045c9e4 ; jmp 0x45c9e4
+
+loc_0045c9ee:
+sub eax, dword [ebp + 8]
+sar eax, 1
+pop ebp
+ret
+
+fcn_0045c9f5:
+mov eax, dword [esp + 4]
+cmp word [eax], 1
+jne short loc_0045ca1b ; jne 0x45ca1b
+cmp dword [eax + 4], 0
+je short loc_0045ca1b ; je 0x45ca1b
+mov ax, word [eax + 0xa]
+cmp ax, 0x10
+jb short loc_0045ca15 ; jb 0x45ca15
+cmp ax, 0x12
+jbe short loc_0045ca1b ; jbe 0x45ca1b
+
+loc_0045ca15:
+mov eax, 1
+ret
+
+loc_0045ca1b:
+xor eax, eax
+ret
+
+fcn_0045ca1e:
+push 0
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov edx, dword [ref_004895b0] ; mov edx, dword [0x4895b0]
+add esp, 4
+cmp edx, 0xffffffff
+jne short loc_0045ca57 ; jne 0x45ca57
+push 0
+push 0x80
+push 3
+push 0
+push 1
+push 0x80000000
+push ref_0046c9f4 ; push 0x46c9f4
+call dword [cs:__imp__CreateFileA@28] ; ucall: call dword cs:[0x462350]
+mov dword [ref_004895b0], eax ; mov dword [0x4895b0], eax
+
+loc_0045ca57:
+cmp dword [ref_004895b4], 0xffffffff ; cmp dword [0x4895b4], 0xffffffff
+jne short loc_0045ca83 ; jne 0x45ca83
+push 0
+push 0x80
+push 3
+push 0
+push 2
+push 0x40000000
+push ref_0046c9fb ; push 0x46c9fb
+call dword [cs:__imp__CreateFileA@28] ; ucall: call dword cs:[0x462350]
+mov dword [ref_004895b4], eax ; mov dword [0x4895b4], eax
+
+loc_0045ca83:
+push 0
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+ret
+
+fcn_0045ca8f:
+call fcn_0045ca1e ; call 0x45ca1e
+mov eax, dword [ref_004895b0] ; mov eax, dword [0x4895b0]
+ret
+
+fcn_0045ca9a:
+call fcn_0045ca1e ; call 0x45ca1e
+mov eax, dword [ref_004895b4] ; mov eax, dword [0x4895b4]
+ret
+
+fcn_0045caa5:
+fnclex
+ret
+
+fcn_0045caa8:
+push ebx
+push esi
+mov ebx, dword [esp + 0xc]
+cmp ebx, 7
+je short loc_0045cab8 ; je 0x45cab8
+cmp ebx, 4
+jne short loc_0045cad1 ; jne 0x45cad1
+
+loc_0045cab8:
+mov eax, ebx
+mov esi, dword [esp + 0x10]
+mov ebx, dword [ebx*8 + ref_004895b8] ; mov ebx, dword [ebx*8 + 0x4895b8]
+mov dword [eax*8 + ref_004895b8], esi ; mov dword [eax*8 + 0x4895b8], esi
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+loc_0045cad1:
+mov esi, ebx
+shl esi, 3
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov ebx, dword [esi + eax + 0x58]
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+add esi, eax
+mov eax, dword [esp + 0x10]
+mov dword [esi + 0x58], eax
+mov eax, ebx
+pop esi
+pop ebx
+ret
+
+fcn_0045caf4:
+push ebx
+mov ebx, dword [esp + 8]
+cmp ebx, 7
+je short loc_0045cb03 ; je 0x45cb03
+cmp ebx, 4
+jne short loc_0045cb0c ; jne 0x45cb0c
+
+loc_0045cb03:
+mov eax, dword [ebx*8 + ref_004895b8] ; mov eax, dword [ebx*8 + 0x4895b8]
+pop ebx
+ret
+
+loc_0045cb0c:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov eax, dword [eax + ebx*8 + 0x58]
+pop ebx
+ret
+
+fcn_0045cb18:
+push ebx
+mov ebx, dword [esp + 8]
+cmp ebx, 7
+je short loc_0045cb27 ; je 0x45cb27
+cmp ebx, 4
+jne short loc_0045cb30 ; jne 0x45cb30
+
+loc_0045cb27:
+mov eax, dword [ebx*8 + ref_004895bc] ; mov eax, dword [ebx*8 + 0x4895bc]
+pop ebx
+ret
+
+loc_0045cb30:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov eax, dword [eax + ebx*8 + 0x5c]
+pop ebx
+ret
+
+fcn_0045cb3c:
+mov edx, dword [esp + 4]
+push edx
+call fcn_0045cb18 ; call 0x45cb18
+add esp, 4
+cmp eax, dword [esp + 8]
+jne short loc_0045cb5d ; jne 0x45cb5d
+mov ecx, dword [esp + 4]
+push ecx
+call fcn_0045caf4 ; call 0x45caf4
+add esp, 4
+ret
+
+loc_0045cb5d:
+xor eax, eax
+ret
+
+fcn_0045cb60:
+push ebx
+mov eax, dword [esp + 8]
+test eax, eax
+jbe short loc_0045cb70 ; jbe 0x45cb70
+cmp eax, 1
+je short loc_0045cb8c ; je 0x45cb8c
+jmp short loc_0045cba0 ; jmp 0x45cba0
+
+loc_0045cb70:
+push 4
+call fcn_0045caf4 ; call 0x45caf4
+add esp, 4
+mov ebx, eax
+test eax, eax
+je short loc_0045cbb5 ; je 0x45cbb5
+push 4
+
+loc_0045cb82:
+call fcn_0045cd2a ; call 0x45cd2a
+add esp, 4
+jmp short loc_0045cba6 ; jmp 0x45cba6
+
+loc_0045cb8c:
+push 7
+call fcn_0045caf4 ; call 0x45caf4
+add esp, 4
+mov ebx, eax
+test eax, eax
+je short loc_0045cbb5 ; je 0x45cbb5
+push 7
+jmp short loc_0045cb82 ; jmp 0x45cb82
+
+loc_0045cba0:
+xor eax, eax
+pop ebx
+ret 4
+
+loc_0045cba6:
+cmp ebx, 2
+je short loc_0045cba0 ; je 0x45cba0
+cmp ebx, 3
+je short loc_0045cba0 ; je 0x45cba0
+mov eax, 1
+
+loc_0045cbb5:
+pop ebx
+ret 4
+
+fcn_0045cbb9:
+push ebx
+push 4
+call fcn_0045caf4 ; call 0x45caf4
+add esp, 4
+push 7
+mov ebx, eax
+call fcn_0045caf4 ; call 0x45caf4
+add esp, 4
+cmp ebx, 2
+je short loc_0045cbda ; je 0x45cbda
+cmp ebx, 3
+jne short loc_0045cbe4 ; jne 0x45cbe4
+
+loc_0045cbda:
+cmp eax, 2
+je short loc_0045cbeb ; je 0x45cbeb
+cmp eax, 3
+je short loc_0045cbeb ; je 0x45cbeb
+
+loc_0045cbe4:
+mov eax, 1
+pop ebx
+ret
+
+loc_0045cbeb:
+xor eax, eax
+pop ebx
+ret
+
+fcn_0045cbef:
+cmp byte [ref_00489620], 0 ; cmp byte [0x489620], 0
+jne short loc_0045cc11 ; jne 0x45cc11
+push 1
+push fcn_0045cb60 ; push 0x45cb60
+call dword [cs:__imp__SetConsoleCtrlHandler@8] ; ucall: call dword cs:[0x4623f0]
+test eax, eax
+je short loc_0045cc11 ; je 0x45cc11
+mov byte [ref_00489620], 1 ; mov byte [0x489620], 1
+
+loc_0045cc11:
+xor eax, eax
+mov al, byte [ref_00489620] ; mov al, byte [0x489620]
+ret
+
+fcn_0045cc19:
+cmp byte [ref_00489620], 0 ; cmp byte [0x489620], 0
+je short loc_0045cc3c ; je 0x45cc3c
+push 0
+push fcn_0045cb60 ; push 0x45cb60
+call dword [cs:__imp__SetConsoleCtrlHandler@8] ; ucall: call dword cs:[0x4623f0]
+test eax, eax
+je short loc_0045cc3c ; je 0x45cc3c
+xor dl, dl
+mov byte [ref_00489620], dl ; mov byte [0x489620], dl
+
+loc_0045cc3c:
+xor eax, eax
+mov al, byte [ref_00489620] ; mov al, byte [0x489620]
+test eax, eax
+sete al
+and eax, 0xff
+ret
+
+ref_0045cc4e:
+db 0x6a
+db 0x01
+dd 0x0000d5e8
+dd 0x04c48300
+db 0xc3
+
+fcn_0045cc59:
+push ebx
+push 2
+call fcn_0045caf4 ; call 0x45caf4
+add esp, 4
+mov ebx, eax
+cmp eax, 1
+je short loc_0045cc91 ; je 0x45cc91
+cmp eax, 2
+je short loc_0045cc91 ; je 0x45cc91
+cmp eax, 3
+je short loc_0045cc91 ; je 0x45cc91
+push 2
+push 2
+call fcn_0045caa8 ; call 0x45caa8
+add esp, 8
+mov edx, dword [esp + 8]
+push edx
+push 2
+call ebx
+add esp, 8
+xor eax, eax
+pop ebx
+ret
+
+loc_0045cc91:
+mov eax, 0xffffffff
+pop ebx
+ret
+
+endloc_0045cc98:
+dd 0x8b575653
+dd 0x8310245c
+dd 0x057c01fb
+dd 0x7e0cfb83
+dd 0xe8096a13
+dd 0xffffc137
+dd 0x000003b8
+dd 0x04c48300
+dd 0xc35b5e5f
+db 0xba
+dd ref_0045cc4e
+db 0x8b
+db 0x4c
+db 0x24
+db 0x14
+db 0x89
+db 0x15
+dd ref_00489734
+db 0x83
+dd 0x267402f9
+dd 0x7403f983
+dd 0x3de85321
+dd 0x83fffffe
+dd 0xc08504c4
+dd 0xfb831474
+dd 0x680f7502
+dd 0x0000009f
+dd 0x88e8006a
+dd 0x8300001d
+dd 0xe85308c4
+dd 0xfffffdf8
+dd 0x8b04c483
+dd 0x5714247c
+dd 0xe8c68953
+dd 0xfffffd9c
+dd 0xe808c483
+dd 0xfffffea5
+dd 0x0774c085
+dd 0xfffed2e8
+dd 0xe805ebff
+dd 0xfffffef5
+dd 0x5e5ff089
+db 0x5b
+db 0xc3
+
+fcn_0045cd2a:
+push ebx
+push esi
+mov ebx, dword [esp + 0xc]
+push ebx
+call fcn_0045caf4 ; call 0x45caf4
+add esp, 4
+mov esi, eax
+cmp ebx, 2
+jb short loc_0045cd49 ; jb 0x45cd49
+jbe short loc_0045cd50 ; jbe 0x45cd50
+cmp ebx, 0xc
+jbe short loc_0045cd6c ; jbe 0x45cd6c
+jmp short loc_0045cd9f ; jmp 0x45cd9f
+
+loc_0045cd49:
+cmp ebx, 1
+je short loc_0045cd62 ; je 0x45cd62
+jmp short loc_0045cd9f ; jmp 0x45cd9f
+
+loc_0045cd50:
+push 0x8c
+call fcn_0045cc59 ; call 0x45cc59
+add esp, 4
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+loc_0045cd62:
+cmp eax, 2
+jne short loc_0045cd6c ; jne 0x45cd6c
+call fcn_0045ea68 ; call 0x45ea68
+
+loc_0045cd6c:
+cmp esi, 1
+je short loc_0045cd8c ; je 0x45cd8c
+cmp esi, 2
+je short loc_0045cd8c ; je 0x45cd8c
+cmp esi, 3
+je short loc_0045cd8c ; je 0x45cd8c
+push 2
+push ebx
+call fcn_0045caa8 ; call 0x45caa8
+add esp, 8
+push ebx
+call esi
+add esp, 4
+
+loc_0045cd8c:
+call fcn_0045cbb9 ; call 0x45cbb9
+test eax, eax
+jne short loc_0045cda7 ; jne 0x45cda7
+call fcn_0045cc19 ; call 0x45cc19
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+loc_0045cd9f:
+mov eax, 0xffffffff
+pop esi
+pop ebx
+ret
+
+loc_0045cda7:
+xor eax, eax
+pop esi
+pop ebx
+ret
+
+fcn_0045cdac:
+push ebx
+push esi
+push edi
+push es
+mov ebx, 8
+
+loc_0045cdb5:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+lea esi, [eax + ebx]
+mov eax, ds
+mov es, eax
+lea edi, [esi + 0x58]
+lea esi, [ebx + ref_004895b8] ; lea esi, [ebx + 0x4895b8]
+add ebx, 8
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+cmp ebx, 0x68
+jne short loc_0045cdb5 ; jne 0x45cdb5
+mov edx, fcn_0045cb3c ; mov edx, 0x45cb3c
+mov ebx, fcn_0045cd2a ; mov ebx, 0x45cd2a
+mov dword [ref_0048948c], edx ; mov dword [0x48948c], edx
+mov dword [ref_00489490], ebx ; mov dword [0x489490], ebx
+pop es
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045cdf0:
+call fcn_0045cbb9 ; call 0x45cbb9
+test eax, eax
+je short loc_0045ce16 ; je 0x45ce16
+call fcn_0045cc19 ; call 0x45cc19
+push 2
+push 4
+call fcn_0045caa8 ; call 0x45caa8
+add esp, 8
+push 2
+push 7
+call fcn_0045caa8 ; call 0x45caa8
+add esp, 8
+
+loc_0045ce16:
+ret
+
+fcn_0045ce17:
+push ebx
+mov edx, fcn_0045cdac ; mov edx, 0x45cdac
+mov ebx, fcn_0045cdf0 ; mov ebx, 0x45cdf0
+mov dword [ref_00488f8c], edx ; mov dword [0x488f8c], edx
+mov dword [ref_00488f90], ebx ; mov dword [0x488f90], ebx
+pop ebx
+ret
+
+fcn_0045ce30:
+mov edx, dword [esp + 4]
+test edx, edx
+jne short loc_0045ce3b ; jne 0x45ce3b
+xor eax, eax
+ret
+
+loc_0045ce3b:
+push 0
+push 0
+push 2
+push edx
+push 1
+lea eax, [esp + 0x1c]
+push eax
+push 0x200
+mov ecx, dword [ref_00489738] ; mov ecx, dword [0x489738]
+push ecx
+call dword [cs:__imp__WideCharToMultiByte@32] ; ucall: call dword cs:[0x462438]
+test eax, eax
+je short loc_0045ce61 ; je 0x45ce61
+ret
+
+loc_0045ce61:
+mov eax, 0xffffffff
+ret
+
+fcn_0045ce67:
+push ebx
+push esi
+push edi
+push es
+push ebp
+sub esp, 0x40
+mov eax, dword [esp + 0x5c]
+lea edi, [esp + 0x34]
+mov esi, dword [esp + 0x58]
+mov dword [esp + 0x3c], eax
+mov eax, ds
+lea ebp, [esp + 1]
+mov es, eax
+xor edx, edx
+mov eax, dword [esp + 0x60]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+mov dword [esp + 0x2c], eax
+xor ah, ah
+mov dword [esp + 0x30], edx
+mov byte [esp], ah
+
+loc_0045ce9c:
+lea edi, [esp + 0x24]
+lea esi, [esp + 0x34]
+lea ebx, [esp + 0x2c]
+lea eax, [esp + 0x34]
+mov edx, dword [eax + 4]
+mov eax, dword [eax]
+mov ecx, dword [ebx + 4]
+mov ebx, dword [ebx]
+call fcn_0045ec77 ; call 0x45ec77
+mov dword [esi + 4], edx
+mov dword [esi], eax
+mov dword [edi + 4], ecx
+mov dword [edi], ebx
+mov ebx, dword [esp + 0x24]
+mov al, byte [ebx + ref_00489624] ; mov al, byte [ebx + 0x489624]
+mov byte [ebp], al
+mov ebx, dword [esp + 0x34]
+inc ebp
+test ebx, ebx
+jne short loc_0045ce9c ; jne 0x45ce9c
+cmp dword [esp + 0x38], 0
+jne short loc_0045ce9c ; jne 0x45ce9c
+
+loc_0045cee2:
+mov ebx, dword [esp + 0x3c]
+dec ebp
+lea esi, [ebx + 1]
+mov al, byte [ebp]
+mov dword [esp + 0x3c], esi
+mov byte [ebx], al
+test al, al
+jne short loc_0045cee2 ; jne 0x45cee2
+mov eax, dword [esp + 0x5c]
+add esp, 0x40
+pop ebp
+pop es
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0045cf04:
+dd 0x06575653
+dd 0x08ec8355
+dd 0x24245c8b
+dd 0xd88ce789
+dd 0x2024748b
+dd 0x4c8bc08e
+dd 0xda892824
+dd 0xf983a5a5
+dd 0xf634750a
+dd 0x80072444
+dd 0x03c62d74
+dd 0x01538d2d
+dd 0x8b24348b
+dd 0xf704247c
+dd 0x89d7f7d6
+dd 0x6e8d2434
+dd 0x247c8901
+dd 0x242c8904
+dd 0x0575ed85
+dd 0xeb01478d
+dd 0x89f88902
+dd 0x8b042444
+dd 0x5128244c
+dd 0x24448d52
+dd 0xfce85008
+dd 0x83fffffe
+dd 0xd8890cc4
+dd 0xeb08c483
+db 0x89
+
+fcn_0045cf75:
+push ebx
+push esi
+push edi
+sub esp, 0x28
+mov eax, dword [esp + 0x38]
+mov edi, dword [esp + 0x40]
+mov esi, dword [esp + 0x3c]
+xor dl, dl
+lea ecx, [esp + 1]
+mov byte [esp], dl
+
+loc_0045cf90:
+lea ebx, [esp + 0x24]
+mov dword [esp + 0x24], edi
+xor edx, edx
+div dword [ebx]
+mov dword [ebx], edx
+mov edx, dword [esp + 0x24]
+mov dl, byte [edx + ref_0048964c] ; mov dl, byte [edx + 0x48964c]
+mov byte [ecx], dl
+inc ecx
+test eax, eax
+jne short loc_0045cf90 ; jne 0x45cf90
+
+loc_0045cfaf:
+dec ecx
+mov al, byte [ecx]
+mov byte [esi], al
+inc esi
+test al, al
+jne short loc_0045cfaf ; jne 0x45cfaf
+mov eax, dword [esp + 0x3c]
+add esp, 0x28
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0045cfc4:
+dd 0x548b5653
+dd 0x5c8b0c24
+dd 0x4c8b1024
+dd 0xd8891424
+dd 0x750af983
+dd 0x7dd2850c
+dd 0x8ddaf708
+dd 0x03c60143
+dd 0x24748b2d
+dd 0x52505614
+dd 0xffff84e8
+dd 0x0cc483ff
+dd 0x5b5ed889
+dd 0x24448bc3
+db 0x04
+db 0x8a
+db 0x80
+dd ref_0049995d
+db 0x24
+dd 0x00ff2501
+db 0x00
+db 0x00
+db 0xc3
+
+fcn_0045d00b:
+push 0
+call fcn_0045eace ; call 0x45eace
+add esp, 4
+ret
+
+fcn_0045d016:
+mov eax, dword [esp + 4]
+cmp eax, 0x61
+jl short loc_0045d027 ; jl 0x45d027
+cmp eax, 0x7a
+jg short loc_0045d027 ; jg 0x45d027
+sub eax, 0x20
+
+loc_0045d027:
+ret
+
+fcn_0045d028:
+push ebx
+push esi
+sub esp, 0x18
+mov ebx, dword [esp + 0x24]
+mov eax, dword [ref_00489674] ; mov eax, dword [0x489674]
+cmp eax, 1
+jb short loc_0045d099 ; jb 0x45d099
+jbe short loc_0045d044 ; jbe 0x45d044
+cmp eax, 2
+je short loc_0045d07b ; je 0x45d07b
+jmp short loc_0045d099 ; jmp 0x45d099
+
+loc_0045d044:
+mov ebx, dword [ref_00499a68] ; mov ebx, dword [0x499a68]
+dec ebx
+mov ecx, dword [ref_00499a64] ; mov ecx, dword [0x499a64]
+mov dword [ref_00499a68], ebx ; mov dword [0x499a68], ebx
+test ecx, ecx
+je short loc_0045d067 ; je 0x45d067
+test ebx, ebx
+jne short loc_0045d071 ; jne 0x45d071
+mov dword [ref_00489674], ebx ; mov dword [0x489674], ebx
+jmp short loc_0045d071 ; jmp 0x45d071
+
+loc_0045d067:
+mov dword [ref_00489674], 2 ; mov dword [0x489674], 2
+
+loc_0045d071:
+mov eax, dword [ref_00499a64] ; mov eax, dword [0x499a64]
+jmp near loc_0045d131 ; jmp 0x45d131
+
+loc_0045d07b:
+cmp dword [ref_00499a68], 0 ; cmp dword [0x499a68], 0
+setne al
+and eax, 0xff
+mov dword [ref_00489674], eax ; mov dword [0x489674], eax
+mov eax, dword [ref_00499a60] ; mov eax, dword [0x499a60]
+jmp near loc_0045d131 ; jmp 0x45d131
+
+loc_0045d099:
+lea eax, [esp + 0x14]
+push eax
+push 1
+lea eax, [esp + 8]
+push eax
+push ebx
+call dword [cs:__imp__ReadConsoleInputA@16] ; ucall: call dword cs:[0x4623e8]
+test eax, eax
+je near loc_0045d12c ; je 0x45d12c
+mov eax, esp
+push eax
+call fcn_0045c9f5 ; call 0x45c9f5
+add esp, 4
+test eax, eax
+je short loc_0045d099 ; je 0x45d099
+xor eax, eax
+mov ax, word [esp + 8]
+dec eax
+mov dword [ref_00499a68], eax ; mov dword [0x499a68], eax
+xor eax, eax
+mov al, byte [esp + 0xe]
+mov dword [ref_00499a64], eax ; mov dword [0x499a64], eax
+test byte [esp + 0x11], 1
+jne short loc_0045d0ec ; jne 0x45d0ec
+cmp dword [ref_00499a64], 0 ; cmp dword [0x499a64], 0
+jne short loc_0045d110 ; jne 0x45d110
+
+loc_0045d0ec:
+mov esi, 2
+xor eax, eax
+xor ecx, ecx
+mov ax, word [esp + 0xc]
+mov dword [ref_00499a64], ecx ; mov dword [0x499a64], ecx
+mov dword [ref_00489674], esi ; mov dword [0x489674], esi
+mov dword [ref_00499a60], eax ; mov dword [0x499a60], eax
+jmp near loc_0045d071 ; jmp 0x45d071
+
+loc_0045d110:
+cmp dword [ref_00499a68], 0 ; cmp dword [0x499a68], 0
+je near loc_0045d071 ; je 0x45d071
+mov dword [ref_00489674], 1 ; mov dword [0x489674], 1
+jmp near loc_0045d071 ; jmp 0x45d071
+
+loc_0045d12c:
+mov eax, 0xffffffff
+
+loc_0045d131:
+add esp, 0x18
+pop esi
+pop ebx
+ret
+
+fcn_0045d137:
+push ebx
+push esi
+sub esp, 4
+mov eax, dword [ref_0048933c] ; mov eax, dword [0x48933c]
+test eax, eax
+je short loc_0045d14f ; je 0x45d14f
+xor esi, esi
+mov dword [ref_0048933c], esi ; mov dword [0x48933c], esi
+jmp short loc_0045d1ba ; jmp 0x45d1ba
+
+loc_0045d14f:
+cmp dword [ref_004891e0], 0 ; cmp dword [0x4891e0], 0
+je short loc_0045d170 ; je 0x45d170
+push eax
+call dword [ref_004891ac] ; ucall: call dword [0x4891ac]
+add esp, 4
+push eax
+call dword [ref_004891e0] ; ucall: call dword [0x4891e0]
+add esp, 4
+mov esi, eax
+jmp short loc_0045d1b8 ; jmp 0x45d1b8
+
+loc_0045d170:
+push eax
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+add esp, 4
+call fcn_0045ca8f ; call 0x45ca8f
+mov ebx, eax
+mov eax, esp
+push eax
+push ebx
+call dword [cs:__imp__GetConsoleMode@8] ; ucall: call dword cs:[0x462380]
+push 0
+push ebx
+call dword [cs:__imp__SetConsoleMode@8] ; ucall: call dword cs:[0x4623f4]
+push ebx
+call fcn_0045d028 ; call 0x45d028
+add esp, 4
+mov ecx, dword [esp]
+push ecx
+push ebx
+mov esi, eax
+call dword [cs:__imp__SetConsoleMode@8] ; ucall: call dword cs:[0x4623f4]
+push 0
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+
+loc_0045d1b8:
+mov eax, esi
+
+loc_0045d1ba:
+add esp, 4
+pop esi
+pop ebx
+ret
+
+fcn_0045d1c0:
+push ebx
+sub esp, 8
+mov ebx, dword [esp + 0x10]
+mov edx, dword [ref_004891e8] ; mov edx, dword [0x4891e8]
+mov byte [esp + 4], bl
+test edx, edx
+je short loc_0045d1ee ; je 0x45d1ee
+push 1
+call dword [ref_004891ac] ; ucall: call dword [0x4891ac]
+add esp, 4
+push ebx
+push eax
+call dword [ref_004891e8] ; ucall: call dword [0x4891e8]
+add esp, 8
+jmp short loc_0045d21f ; jmp 0x45d21f
+
+loc_0045d1ee:
+push 1
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+add esp, 4
+call fcn_0045ca9a ; call 0x45ca9a
+push 0
+lea edx, [esp + 4]
+push edx
+push 1
+lea edx, [esp + 0x10]
+push edx
+push eax
+call dword [cs:__imp__WriteConsoleA@20] ; ucall: call dword cs:[0x46243c]
+push 1
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+
+loc_0045d21f:
+mov eax, ebx
+add esp, 8
+pop ebx
+ret
+
+fcn_0045d226:
+push ebx
+push esi
+push edi
+push ebp
+mov esi, dword [esp + 0x14]
+mov ebx, dword [esp + 0x18]
+mov edi, dword [esp + 0x1c]
+xor ebp, ebp
+
+loc_0045d238:
+test edi, edi
+jbe short loc_0045d27f ; jbe 0x45d27f
+push esi
+call fcn_0045ed05 ; call 0x45ed05
+add esp, 4
+test eax, eax
+jne short loc_0045d27f ; jne 0x45d27f
+push ebx
+call fcn_0045ed05 ; call 0x45ed05
+add esp, 4
+test eax, eax
+jne short loc_0045d27f ; jne 0x45d27f
+push ebx
+push esi
+call fcn_0045ed41 ; call 0x45ed41
+add esp, 8
+mov ebp, eax
+test eax, eax
+jne short loc_0045d2b2 ; jne 0x45d2b2
+push esi
+call fcn_0045edbd ; call 0x45edbd
+add esp, 4
+push ebx
+dec edi
+mov esi, eax
+call fcn_0045edbd ; call 0x45edbd
+add esp, 4
+mov ebx, eax
+jmp short loc_0045d238 ; jmp 0x45d238
+
+loc_0045d27f:
+test edi, edi
+jbe short loc_0045d2b0 ; jbe 0x45d2b0
+push esi
+call fcn_0045ed05 ; call 0x45ed05
+add esp, 4
+test eax, eax
+jne short loc_0045d29d ; jne 0x45d29d
+push ebx
+call fcn_0045ed05 ; call 0x45ed05
+add esp, 4
+test eax, eax
+je short loc_0045d2b0 ; je 0x45d2b0
+
+loc_0045d29d:
+xor eax, eax
+mov bl, byte [ebx]
+mov al, byte [esi]
+and ebx, 0xff
+sub eax, ebx
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045d2b0:
+mov eax, ebp
+
+loc_0045d2b2:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0045d2b7:
+db 0x8b
+dd 0xa3042444
+dd ref_00489694
+db 0xc3
+
+fcn_0045d2c1:
+push ebp
+mov ebp, esp
+push ebx
+push 2
+call fcn_0045edf1 ; call 0x45edf1
+add esp, 4
+mov ebx, eax
+push eax
+mov eax, dword [ebp + 8]
+mov edx, dword [eax*4 + ref_00489678] ; mov edx, dword [eax*4 + 0x489678]
+push edx
+call fcn_0045ee11 ; call 0x45ee11
+add esp, 8
+push ebx
+push ref_0046ca89 ; push 0x46ca89
+call fcn_0045ee11 ; call 0x45ee11
+add esp, 8
+push ebx
+mov ecx, dword [ebp + 0xc]
+push ecx
+call fcn_0045ee11 ; call 0x45ee11
+add esp, 8
+push ebx
+push 0xa
+call fcn_00459aab ; call 0x459aab
+add esp, 8
+pop ebx
+pop ebp
+ret
+
+fcn_0045d30e:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+sub esp, 8
+mov ebx, dword [ebp + 8]
+push ebx
+call dword [ref_00489694] ; ucall: call dword [0x489694]
+add esp, 4
+test eax, eax
+jne short loc_0045d349 ; jne 0x45d349
+mov edx, dword [ebx + 4]
+push edx
+mov ecx, dword [ebx]
+push ecx
+call fcn_0045d2c1 ; call 0x45d2c1
+mov esi, dword [ebx]
+add esp, 8
+cmp esi, 1
+jne short loc_0045d344 ; jne 0x45d344
+call fcn_00458df5 ; call 0x458df5
+jmp short loc_0045d349 ; jmp 0x45d349
+
+loc_0045d344:
+call fcn_00458e00 ; call 0x458e00
+
+loc_0045d349:
+mov eax, dword [ebx + 0x18]
+mov dword [ebp - 0x10], eax
+mov eax, dword [ebx + 0x1c]
+mov dword [ebp - 0xc], eax
+mov eax, dword [ebp - 0x10]
+mov edx, dword [ebp - 0xc]
+lea esp, [ebp - 8]
+pop esi
+pop ebx
+pop ebp
+ret
+
+fcn_0045d362:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+push edi
+sub esp, 0xc
+mov edi, dword [ebp + 0xc]
+cmp edi, 0x2000
+jl short loc_0045d37b ; jl 0x45d37b
+mov edi, 0x2000
+
+loc_0045d37b:
+mov esi, ref_00489698 ; mov esi, 0x489698
+jmp short loc_0045d3b1 ; jmp 0x45d3b1
+
+loc_0045d382:
+test di, 1
+je short loc_0045d3ac ; je 0x45d3ac
+mov ax, word [esi + 8]
+mov word [ebp - 0x10], ax
+mov eax, dword [esi + 4]
+mov dword [ebp - 0x14], eax
+mov ebx, dword [ebp + 8]
+mov eax, dword [esi]
+lea edx, [ebp - 0x18]
+mov dword [ebp - 0x18], eax
+mov eax, ebx
+fld tword [eax] ; fld xword [eax]
+fld tword [edx] ; fld xword [edx]
+fmulp st1 ; fmulp st(1)
+fstp tword [ebx] ; fstp xword [ebx]
+
+loc_0045d3ac:
+sar edi, 1
+add esi, 0xa
+
+loc_0045d3b1:
+test edi, edi
+jg short loc_0045d382 ; jg 0x45d382
+jmp near loc_0045db4c ; jmp 0x45db4c
+
+fcn_0045d3ba:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+push edi
+sub esp, 0xc
+mov esi, dword [ebp + 8]
+mov ebx, dword [ebp + 0xc]
+test ebx, ebx
+je near loc_0045db4c ; je 0x45db4c
+push 0
+wait
+fnstcw word [esp]
+pop eax
+mov edi, eax
+or ah, 3
+and eax, 0xffff
+push eax
+fldcw word [esp]
+pop eax
+mov edx, 0x3fff
+xor ecx, ecx
+mov word [ebp - 0x10], dx
+mov edx, 0x80000000
+mov dword [ebp - 0x18], ecx
+mov dword [ebp - 0x14], edx
+test ebx, ebx
+jge short loc_0045d423 ; jge 0x45d423
+mov eax, ebx
+neg eax
+push eax
+lea eax, [ebp - 0x18]
+push eax
+mov ebx, esi
+call fcn_0045d362 ; call 0x45d362
+add esp, 8
+lea edx, [ebp - 0x18]
+mov eax, esi
+fld tword [eax] ; fld xword [eax]
+fld tword [edx] ; fld xword [edx]
+fdivp st1 ; fdivp st(1)
+fstp tword [ebx] ; fstp xword [ebx]
+jmp short loc_0045d43f ; jmp 0x45d43f
+
+loc_0045d423:
+push ebx
+lea eax, [ebp - 0x18]
+push eax
+call fcn_0045d362 ; call 0x45d362
+mov ebx, esi
+add esp, 8
+lea edx, [ebp - 0x18]
+mov eax, esi
+fld tword [eax] ; fld xword [eax]
+fld tword [edx] ; fld xword [edx]
+fmulp st1 ; fmulp st(1)
+fstp tword [ebx] ; fstp xword [ebx]
+
+loc_0045d43f:
+xor eax, eax
+mov ax, di
+
+loc_0045d444:
+push eax
+fldcw word [esp]
+pop eax
+jmp near loc_0045db4c ; jmp 0x45db4c
+
+fcn_0045d44e:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+mov ebx, dword [ebp + 0xc]
+cmp ebx, 0x1000
+jle short loc_0045d46f ; jle 0x45d46f
+push 0x1000
+mov ecx, dword [ebp + 8]
+push ecx
+sub ebx, 0x1000
+jmp short loc_0045d486 ; jmp 0x45d486
+
+loc_0045d46f:
+cmp ebx, 0xfffff000
+jge short loc_0045d48e ; jge 0x45d48e
+push 0xfffff000
+mov edx, dword [ebp + 8]
+push edx
+add ebx, 0x1000
+
+loc_0045d486:
+call fcn_0045d3ba ; call 0x45d3ba
+add esp, 8
+
+loc_0045d48e:
+push ebx
+mov esi, dword [ebp + 8]
+push esi
+call fcn_0045d3ba ; call 0x45d3ba
+add esp, 8
+pop esi
+pop ebx
+pop ebp
+ret
+
+endloc_0045d49f:
+db 0x8d
+db 0x40
+db 0x00
+
+ref_0045d4a2: ; may contain a jump table
+dd loc_0045d54c
+dd loc_0045d58b
+dd loc_0045d55d
+dd loc_0045d57b
+dd loc_0045d54c
+
+fcn_0045d4b6:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+push edi
+sub esp, 0x88
+mov ebx, dword [ebp + 8]
+mov esi, dword [ebp + 0xc]
+push 0
+wait
+fnstcw word [esp]
+pop eax
+mov dword [ebp - 0x14], eax
+or ah, 3
+and eax, 0xffff
+push eax
+fldcw word [esp]
+pop eax
+mov dword [esi + 0x14], 0
+mov ax, word [ebx + 8]
+mov word [ebp - 0x40], ax
+mov eax, dword [ebx + 4]
+mov dword [ebp - 0x44], eax
+mov eax, dword [ebx]
+mov dword [ebp - 0x48], eax
+test byte [ebp - 0x3f], 0x80
+je short loc_0045d506 ; je 0x45d506
+mov dword [esi + 0x14], 0xffffffff
+
+loc_0045d506:
+and byte [ebp - 0x3f], 0x7f
+mov dword [esi + 0x1c], 0
+mov dword [esi + 0x20], 0
+lea eax, [ebp - 0x48]
+mov dword [esi + 0x24], 0
+push eax
+mov dword [esi + 0x28], 0
+xor edi, edi
+mov dword [esi + 0x18], 0
+call fcn_0045eec4 ; call 0x45eec4
+add esp, 4
+cmp eax, 4
+ja near loc_0045d6be ; ja 0x45d6be
+jmp dword [cs:eax*4 + ref_0045d4a2] ; ujmp: jmp dword cs:[eax*4 + 0x45d4a2]
+
+loc_0045d54c:
+xor ecx, ecx
+mov dword [esi + 0x14], 0
+mov dword [ebp - 0x20], ecx
+jmp near loc_0045d6be ; jmp 0x45d6be
+
+loc_0045d55d:
+mov eax, dword [ebp + 0x10]
+mov byte [eax], 0x6e
+mov byte [eax + 1], 0x61
+mov byte [eax + 2], 0x6e
+
+loc_0045d56b:
+mov byte [eax + 3], 0
+mov dword [esi + 0x1c], 3
+jmp near loc_0045d94a ; jmp 0x45d94a
+
+loc_0045d57b:
+mov eax, dword [ebp + 0x10]
+mov byte [eax], 0x69
+mov byte [eax + 1], 0x6e
+mov byte [eax + 2], 0x66
+jmp short loc_0045d56b ; jmp 0x45d56b
+
+loc_0045d58b:
+xor eax, eax
+mov ax, word [ebp - 0x40]
+sub eax, 0x3ffe
+mov dword [ebp - 0x20], eax
+imul edx, eax, 0x7597
+mov ebx, 0x186a0
+mov eax, edx
+sar edx, 0x1f
+idiv ebx
+mov dword [ebp - 0x20], eax
+lea ecx, [eax - 4]
+mov dword [ebp - 0x20], ecx
+test ecx, ecx
+je near loc_0045d6be ; je 0x45d6be
+jge short loc_0045d5df ; jge 0x45d5df
+mov eax, ecx
+neg eax
+add eax, 3
+and al, 0xfc
+mov ebx, eax
+neg ebx
+mov dword [ebp - 0x20], eax
+mov eax, ebx
+neg eax
+push eax
+lea eax, [ebp - 0x48]
+push eax
+mov dword [ebp - 0x20], ebx
+jmp near loc_0045d6b6 ; jmp 0x45d6b6
+
+loc_0045d5df:
+mov edx, dword [ebp - 0x40]
+cmp dx, 0x4019
+jb short loc_0045d5f4 ; jb 0x45d5f4
+jne short loc_0045d5fe ; jne 0x45d5fe
+cmp dword [ebp - 0x44], 0xbebc2000
+jae short loc_0045d5fe ; jae 0x45d5fe
+
+loc_0045d5f4:
+xor edx, edx
+mov dword [ebp - 0x20], edx
+jmp near loc_0045d6be ; jmp 0x45d6be
+
+loc_0045d5fe:
+mov ecx, dword [ebp - 0x40]
+cmp cx, 0x4034
+jb short loc_0045d62c ; jb 0x45d62c
+jne near loc_0045d6a8 ; jne 0x45d6a8
+mov ecx, dword [ebp - 0x44]
+cmp ecx, 0x8e1bc9bf
+jb short loc_0045d62c ; jb 0x45d62c
+jne near loc_0045d6a8 ; jne 0x45d6a8
+cmp dword [ebp - 0x48], 0x4000000
+jae near loc_0045d6a8 ; jae 0x45d6a8
+
+loc_0045d62c:
+mov edx, 0x4019
+mov ebx, 0xbebc2000
+lea eax, [ebp - 0x48]
+xor ecx, ecx
+mov word [ebp - 0x34], dx
+mov dword [ebp - 0x38], ebx
+lea ebx, [ebp - 0x30]
+lea edx, [ebp - 0x3c]
+mov dword [ebp - 0x3c], ecx
+fld tword [eax] ; fld xword [eax]
+fld tword [edx] ; fld xword [edx]
+fdivp st1 ; fdivp st(1)
+fstp tword [ebx] ; fstp xword [ebx]
+lea eax, [ebp - 0x30]
+lea ebx, [ebp - 0x3c]
+fld tword [eax] ; fld xword [eax]
+push eax
+push eax
+wait
+fnstcw word [esp]
+pop eax
+push eax
+or ah, 0xc
+push eax
+fldcw word [esp]
+pop eax
+fistp dword [esp + 4]
+fldcw word [esp]
+pop eax
+pop eax
+lea edx, [ebp - 0x30]
+mov edi, eax
+push eax
+fild dword [esp]
+pop eax
+fstp tword [edx] ; fstp xword [edx]
+lea edx, [ebp - 0x3c]
+lea eax, [ebp - 0x30]
+fld tword [eax] ; fld xword [eax]
+fld tword [edx] ; fld xword [edx]
+fmulp st1 ; fmulp st(1)
+fstp tword [ebx] ; fstp xword [ebx]
+lea ebx, [ebp - 0x48]
+lea edx, [ebp - 0x3c]
+lea eax, [ebp - 0x48]
+fld tword [eax] ; fld xword [eax]
+fld tword [edx] ; fld xword [edx]
+fsubp st1 ; fsubp st(1)
+fstp tword [ebx] ; fstp xword [ebx]
+mov dword [ebp - 0x20], 8
+jmp short loc_0045d6be ; jmp 0x45d6be
+
+loc_0045d6a8:
+and byte [ebp - 0x20], 0xfc
+mov eax, dword [ebp - 0x20]
+neg eax
+push eax
+lea eax, [ebp - 0x48]
+push eax
+
+loc_0045d6b6:
+call fcn_0045d44e ; call 0x45d44e
+add esp, 8
+
+loc_0045d6be:
+test byte [esi + 8], 2
+je short loc_0045d6e0 ; je 0x45d6e0
+mov edx, dword [ebp - 0x20]
+mov eax, dword [esi]
+add eax, edx
+add eax, 0xa
+mov ebx, dword [esi + 4]
+mov dword [ebp - 0x18], eax
+test ebx, ebx
+jle short loc_0045d6e8 ; jle 0x45d6e8
+lea ecx, [eax + ebx]
+mov dword [ebp - 0x18], ecx
+jmp short loc_0045d6e8 ; jmp 0x45d6e8
+
+loc_0045d6e0:
+mov eax, dword [esi]
+add eax, 7
+mov dword [ebp - 0x18], eax
+
+loc_0045d6e8:
+mov bh, byte [esi + 8]
+mov eax, 0xf
+test bh, 0x20
+je short loc_0045d6fa ; je 0x45d6fa
+mov eax, 0x14
+
+loc_0045d6fa:
+test byte [esi + 8], 0x40
+je short loc_0045d702 ; je 0x45d702
+add eax, eax
+
+loc_0045d702:
+mov edx, dword [ebp - 0x18]
+add eax, 4
+cmp eax, edx
+jge short loc_0045d70f ; jge 0x45d70f
+mov dword [ebp - 0x18], eax
+
+loc_0045d70f:
+mov ch, 0x30
+xor al, al
+xor ebx, ebx
+mov byte [ebp - 0x94], ch
+mov byte [ebp - 0x93], al
+lea eax, [ebp - 0x93]
+mov dword [ebp - 0x24], ebx
+mov dword [ebp - 0x1c], eax
+
+loc_0045d72d:
+mov ecx, dword [ebp - 0x18]
+test ecx, ecx
+jle near loc_0045d823 ; jle 0x45d823
+lea eax, [ecx - 8]
+mov dword [ebp - 0x18], eax
+test edi, edi
+jne short loc_0045d7b7 ; jne 0x45d7b7
+test word [ebp - 0x40], 0x7fff
+je near loc_0045d823 ; je 0x45d823
+lea eax, [ebp - 0x48]
+fld tword [eax] ; fld xword [eax]
+push eax
+push eax
+wait
+fnstcw word [esp]
+pop eax
+push eax
+or ah, 0xc
+push eax
+fldcw word [esp]
+pop eax
+fistp dword [esp + 4]
+fldcw word [esp]
+pop eax
+pop eax
+mov edx, dword [ebp - 0x18]
+mov edi, eax
+test edx, edx
+jle short loc_0045d7b7 ; jle 0x45d7b7
+lea edx, [ebp - 0x54]
+lea ebx, [ebp - 0x48]
+push eax
+fild dword [esp]
+pop eax
+fstp tword [edx] ; fstp xword [edx]
+lea edx, [ebp - 0x54]
+lea eax, [ebp - 0x48]
+fld tword [eax] ; fld xword [eax]
+fld tword [edx] ; fld xword [edx]
+fsubp st1 ; fsubp st(1)
+fstp tword [ebx] ; fstp xword [ebx]
+mov ecx, 0x4019
+mov ebx, 0xbebc2000
+lea edx, [ebp - 0x54]
+lea eax, [ebp - 0x48]
+mov word [ebp - 0x4c], cx
+mov dword [ebp - 0x50], ebx
+xor ecx, ecx
+lea ebx, [ebp - 0x48]
+mov dword [ebp - 0x54], ecx
+fld tword [eax] ; fld xword [eax]
+fld tword [edx] ; fld xword [edx]
+fmulp st1 ; fmulp st(1)
+fstp tword [ebx] ; fstp xword [ebx]
+
+loc_0045d7b7:
+mov ebx, dword [ebp - 0x1c]
+mov eax, edi
+push ecx
+push edx
+call fcn_0045d7c5 ; call 0x45d7c5
+jmp short loc_0045d80a ; jmp 0x45d80a
+
+fcn_0045d7c5:
+mov ecx, 0x2710
+sub edx, edx
+cmp eax, ecx
+xchg eax, edx
+jb short loc_0045d7d4 ; jb 0x45d7d4
+xchg eax, edx
+div ecx
+
+loc_0045d7d4:
+push edx
+call fcn_0045d7db ; call 0x45d7db
+pop eax
+
+fcn_0045d7db:
+mov ecx, 0x64
+sub edx, edx
+cmp eax, ecx
+xchg eax, edx
+jb short loc_0045d7eb ; jb 0x45d7eb
+xchg eax, edx
+div cx
+
+loc_0045d7eb:
+push edx
+call fcn_0045d7f2 ; call 0x45d7f2
+pop eax
+
+fcn_0045d7f2:
+mov cl, 0xa
+cmp al, cl
+xchg ah, al
+jb short loc_0045d7fe ; jb 0x45d7fe
+xchg ah, al
+div cl
+
+loc_0045d7fe:
+add ah, 0x30
+add al, 0x30
+mov byte [ebx], al
+inc ebx
+mov byte [ebx], ah
+inc ebx
+ret
+
+loc_0045d80a:
+pop edx
+pop ecx
+mov al, 0
+mov byte [ebx], al
+mov eax, dword [ebp - 0x24]
+mov dword [ebp - 0x1c], ebx
+add eax, 8
+xor edi, edi
+mov dword [ebp - 0x24], eax
+jmp near loc_0045d72d ; jmp 0x45d72d
+
+loc_0045d823:
+mov edx, dword [ebp - 0x20]
+mov edi, dword [ebp - 0x24]
+add edx, 7
+lea eax, [ebp - 0x93]
+
+loc_0045d832:
+mov dword [ebp - 0x20], edx
+cmp byte [eax], 0x30
+jne short loc_0045d842 ; jne 0x45d842
+mov edx, dword [ebp - 0x20]
+dec edi
+dec edx
+inc eax
+jmp short loc_0045d832 ; jmp 0x45d832
+
+loc_0045d842:
+mov bl, byte [esi + 8]
+mov edx, dword [esi]
+test bl, 2
+je short loc_0045d85e ; je 0x45d85e
+mov ecx, dword [ebp - 0x20]
+mov ebx, dword [esi + 4]
+add ecx, ebx
+mov dword [ebp - 0x20], ecx
+lea ebx, [ecx + 1]
+add edx, ebx
+jmp short loc_0045d87b ; jmp 0x45d87b
+
+loc_0045d85e:
+test bl, 1
+je short loc_0045d87b ; je 0x45d87b
+mov ebx, dword [esi + 4]
+test ebx, ebx
+jle short loc_0045d86d ; jle 0x45d86d
+inc edx
+jmp short loc_0045d86f ; jmp 0x45d86f
+
+loc_0045d86d:
+add edx, ebx
+
+loc_0045d86f:
+mov ebx, dword [ebp - 0x20]
+mov ecx, dword [esi + 4]
+inc ebx
+sub ebx, ecx
+mov dword [ebp - 0x20], ebx
+
+loc_0045d87b:
+test edx, edx
+jl near loc_0045d8e7 ; jl 0x45d8e7
+cmp edx, edi
+jle short loc_0045d889 ; jle 0x45d889
+mov edx, edi
+
+loc_0045d889:
+mov cl, byte [esi + 8]
+mov ebx, 0xf
+test cl, 0x20
+je short loc_0045d89b ; je 0x45d89b
+mov ebx, 0x14
+
+loc_0045d89b:
+test byte [esi + 8], 0x40
+je short loc_0045d8a3 ; je 0x45d8a3
+add ebx, ebx
+
+loc_0045d8a3:
+cmp edx, ebx
+jle short loc_0045d8aa ; jle 0x45d8aa
+lea edx, [ebx + 1]
+
+loc_0045d8aa:
+mov byte [ebp - 0x10], 0x30
+cmp edi, edx
+jle short loc_0045d8bc ; jle 0x45d8bc
+cmp byte [edx + eax], 0x35
+jb short loc_0045d8bc ; jb 0x45d8bc
+mov byte [ebp - 0x10], 0x39
+
+loc_0045d8bc:
+mov ch, byte [ebp - 0x10]
+mov ebx, edx
+lea edi, [edx + eax]
+
+loc_0045d8c4:
+dec edi
+mov cl, byte [edi]
+dec ebx
+cmp cl, ch
+jne short loc_0045d8cf ; jne 0x45d8cf
+dec edx
+jmp short loc_0045d8c4 ; jmp 0x45d8c4
+
+loc_0045d8cf:
+cmp ch, 0x39
+jne short loc_0045d8da ; jne 0x45d8da
+mov ch, cl
+inc ch
+mov byte [edi], ch
+
+loc_0045d8da:
+test ebx, ebx
+jge short loc_0045d8e7 ; jge 0x45d8e7
+mov ebx, dword [ebp - 0x20]
+dec eax
+inc ebx
+inc edx
+mov dword [ebp - 0x20], ebx
+
+loc_0045d8e7:
+test edx, edx
+jg short loc_0045d906 ; jg 0x45d906
+mov edx, 1
+xor ecx, ecx
+mov al, 0x30
+mov dword [ebp - 0x20], ecx
+mov byte [ebp - 0x94], al
+lea eax, [ebp - 0x94]
+mov dword [esi + 0x14], ecx
+
+loc_0045d906:
+mov bl, byte [esi + 8]
+test bl, 2
+jne short loc_0045d925 ; jne 0x45d925
+test bl, 4
+je short loc_0045d937 ; je 0x45d937
+mov edi, dword [ebp - 0x20]
+cmp edi, 0xfffffffc
+jl short loc_0045d91f ; jl 0x45d91f
+cmp edi, dword [esi]
+jl short loc_0045d925 ; jl 0x45d925
+
+loc_0045d91f:
+test byte [esi + 8], 8
+je short loc_0045d937 ; je 0x45d937
+
+loc_0045d925:
+mov ecx, dword [ebp + 0x10]
+push ecx
+mov edi, dword [ebp - 0x20]
+push edi
+push edx
+push eax
+push esi
+call fcn_0045d955 ; call 0x45d955
+jmp short loc_0045d947 ; jmp 0x45d947
+
+loc_0045d937:
+mov edi, dword [ebp + 0x10]
+push edi
+mov ebx, dword [ebp - 0x20]
+push ebx
+push edx
+push eax
+push esi
+call fcn_0045db66 ; call 0x45db66
+
+loc_0045d947:
+add esp, 0x14
+
+loc_0045d94a:
+xor eax, eax
+mov ax, word [ebp - 0x14]
+jmp near loc_0045d444 ; jmp 0x45d444
+
+fcn_0045d955:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+push edi
+sub esp, 4
+mov edx, dword [ebp + 8]
+mov ecx, dword [ebp + 0x14]
+mov ebx, dword [edx]
+mov ah, byte [edx + 8]
+inc ecx
+mov dword [ebp - 0x10], ebx
+mov dword [ebp + 0x14], ecx
+xor ebx, ebx
+test ah, 4
+je short loc_0045d99b ; je 0x45d99b
+mov esi, dword [ebp + 0x10]
+cmp esi, dword [ebp - 0x10]
+jge short loc_0045d987 ; jge 0x45d987
+test ah, 0x10
+jne short loc_0045d987 ; jne 0x45d987
+mov dword [ebp - 0x10], esi
+
+loc_0045d987:
+mov esi, dword [ebp + 0x14]
+mov eax, dword [ebp - 0x10]
+sub eax, esi
+mov dword [ebp - 0x10], eax
+test eax, eax
+jge short loc_0045d99b ; jge 0x45d99b
+xor esi, esi
+mov dword [ebp - 0x10], esi
+
+loc_0045d99b:
+mov edi, dword [ebp + 0x14]
+test edi, edi
+jg near loc_0045da43 ; jg 0x45da43
+test byte [edx + 8], 8
+jne short loc_0045d9cf ; jne 0x45d9cf
+mov ecx, dword [ebp + 0x18]
+mov esi, ebx
+add esi, ecx
+mov byte [esi], 0x30
+mov esi, dword [ebp - 0x10]
+inc ebx
+test esi, esi
+jg short loc_0045d9c4 ; jg 0x45d9c4
+test byte [edx + 8], 0x10
+je short loc_0045d9cf ; je 0x45d9cf
+
+loc_0045d9c4:
+mov eax, dword [ebp + 0x18]
+mov edi, ebx
+add edi, eax
+inc ebx
+mov byte [edi], 0x2e
+
+loc_0045d9cf:
+mov esi, dword [ebp + 0x14]
+mov ecx, dword [ebp - 0x10]
+neg esi
+mov dword [edx + 0x1c], ebx
+cmp esi, ecx
+jle short loc_0045d9e8 ; jle 0x45d9e8
+mov esi, ecx
+mov dword [ebp + 0x14], ecx
+neg esi
+mov dword [ebp + 0x14], esi
+
+loc_0045d9e8:
+mov esi, dword [ebp + 0x14]
+mov eax, dword [ebp - 0x10]
+mov ecx, dword [ebp + 0x10]
+mov edi, esi
+mov dword [edx + 0x18], esi
+add eax, esi
+mov dword [edx + 0x20], esi
+neg edi
+mov dword [ebp - 0x10], eax
+mov dword [edx + 0x20], edi
+cmp eax, ecx
+jge short loc_0045da0a ; jge 0x45da0a
+mov dword [ebp + 0x10], eax
+
+loc_0045da0a:
+mov edi, dword [ebp + 0x18]
+mov ecx, dword [ebp + 0x10]
+mov esi, dword [ebp + 0xc]
+add edi, ebx
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov esi, dword [ebp + 0x10]
+mov edi, dword [ebp + 0x10]
+add ebx, esi
+mov dword [edx + 0x24], esi
+mov esi, dword [ebp - 0x10]
+sub esi, edi
+
+loc_0045da3b:
+mov dword [edx + 0x28], esi
+jmp near loc_0045db46 ; jmp 0x45db46
+
+loc_0045da43:
+mov esi, dword [ebp + 0x10]
+cmp esi, edi
+jge short loc_0045daa8 ; jge 0x45daa8
+mov edi, dword [ebp + 0x18]
+mov ecx, esi
+mov esi, dword [ebp + 0xc]
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov eax, dword [ebp + 0x10]
+mov esi, dword [ebp + 0x14]
+mov dword [edx + 0x1c], eax
+sub esi, eax
+mov cl, byte [edx + 8]
+mov dword [edx + 0x20], esi
+mov esi, dword [ebp + 0x14]
+add ebx, eax
+mov dword [edx + 0x18], esi
+test cl, 8
+jne short loc_0045daa3 ; jne 0x45daa3
+cmp dword [ebp - 0x10], 0
+jg short loc_0045da91 ; jg 0x45da91
+test cl, 0x10
+je short loc_0045daa3 ; je 0x45daa3
+
+loc_0045da91:
+mov eax, dword [ebp + 0x18]
+mov edi, ebx
+add edi, eax
+mov byte [edi], 0x2e
+inc ebx
+mov dword [edx + 0x24], 1
+
+loc_0045daa3:
+mov esi, dword [ebp - 0x10]
+jmp short loc_0045da3b ; jmp 0x45da3b
+
+loc_0045daa8:
+mov esi, dword [ebp + 0xc]
+mov ecx, edi
+mov edi, dword [ebp + 0x18]
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov esi, dword [ebp + 0x14]
+mov edi, dword [ebp + 0x10]
+mov ch, byte [edx + 8]
+add ebx, esi
+sub edi, esi
+mov dword [edx + 0x18], esi
+mov dword [ebp + 0x10], edi
+test ch, 8
+jne short loc_0045daf6 ; jne 0x45daf6
+cmp dword [ebp - 0x10], 0
+jg short loc_0045dae9 ; jg 0x45dae9
+test ch, 0x10
+je short loc_0045db05 ; je 0x45db05
+
+loc_0045dae9:
+mov ecx, dword [ebp + 0x18]
+mov edi, ebx
+add edi, ecx
+inc ebx
+mov byte [edi], 0x2e
+jmp short loc_0045db05 ; jmp 0x45db05
+
+loc_0045daf6:
+mov esi, dword [ebp + 0x18]
+cmp byte [esi], 0x30
+jne short loc_0045db05 ; jne 0x45db05
+mov dword [edx + 0x18], 0
+
+loc_0045db05:
+mov esi, dword [ebp - 0x10]
+cmp esi, dword [ebp + 0x10]
+jge short loc_0045db10 ; jge 0x45db10
+mov dword [ebp + 0x10], esi
+
+loc_0045db10:
+mov esi, dword [ebp + 0xc]
+mov eax, dword [ebp + 0x14]
+mov edi, dword [ebp + 0x18]
+mov ecx, dword [ebp + 0x10]
+add esi, eax
+add edi, ebx
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov ecx, dword [ebp + 0x10]
+mov esi, dword [ebp - 0x10]
+add ebx, ecx
+sub esi, ecx
+mov dword [edx + 0x1c], ebx
+mov dword [edx + 0x20], esi
+
+loc_0045db46:
+add ebx, dword [ebp + 0x18]
+
+loc_0045db49:
+mov byte [ebx], 0
+
+loc_0045db4c:
+lea esp, [ebp - 0xc]
+pop edi
+pop esi
+pop ebx
+pop ebp
+ret
+
+endloc_0045db54:
+db 0x8b
+db 0xc0
+
+ref_0045db56: ; may contain a jump table
+dd loc_0045dd31
+dd loc_0045dd41
+dd loc_0045dd4c
+dd loc_0045dd57
+
+fcn_0045db66:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+push edi
+sub esp, 8
+mov eax, dword [ebp + 8]
+mov eax, dword [eax]
+mov dword [ebp - 0x14], eax
+mov eax, dword [ebp + 8]
+mov edx, dword [eax + 4]
+test edx, edx
+jg short loc_0045db86 ; jg 0x45db86
+add dword [ebp - 0x14], edx
+jmp short loc_0045db94 ; jmp 0x45db94
+
+loc_0045db86:
+mov ebx, dword [ebp - 0x14]
+sub ebx, edx
+mov dword [ebp - 0x14], ebx
+lea ecx, [ebx + 1]
+mov dword [ebp - 0x14], ecx
+
+loc_0045db94:
+mov eax, dword [ebp + 8]
+mov dl, byte [eax + 8]
+xor ebx, ebx
+test dl, 4
+je short loc_0045dbbc ; je 0x45dbbc
+mov eax, dword [ebp + 0x10]
+cmp eax, dword [ebp - 0x14]
+jge short loc_0045dbac ; jge 0x45dbac
+mov dword [ebp - 0x14], eax
+
+loc_0045dbac:
+mov eax, dword [ebp - 0x14]
+dec eax
+mov dword [ebp - 0x14], eax
+test eax, eax
+jge short loc_0045dbbc ; jge 0x45dbbc
+xor ecx, ecx
+mov dword [ebp - 0x14], ecx
+
+loc_0045dbbc:
+mov eax, dword [ebp + 8]
+mov esi, dword [eax + 4]
+test esi, esi
+jg short loc_0045dbd3 ; jg 0x45dbd3
+mov ecx, dword [ebp + 0x18]
+mov eax, ebx
+add eax, ecx
+inc ebx
+mov byte [eax], 0x30
+jmp short loc_0045dc40 ; jmp 0x45dc40
+
+loc_0045dbd3:
+mov edi, dword [ebp + 0x10]
+mov dword [ebp - 0x10], esi
+cmp esi, edi
+jle short loc_0045dbe0 ; jle 0x45dbe0
+mov dword [ebp - 0x10], edi
+
+loc_0045dbe0:
+mov edi, dword [ebp + 0x18]
+mov ecx, dword [ebp - 0x10]
+mov esi, dword [ebp + 0xc]
+add edi, ebx
+mov edx, dword [ebp + 0xc]
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov eax, dword [ebp - 0x10]
+add edx, eax
+mov ecx, dword [ebp + 0x10]
+mov dword [ebp + 0xc], edx
+mov edx, dword [ebp + 8]
+add ebx, eax
+sub ecx, eax
+mov esi, dword [edx + 4]
+mov dword [ebp + 0x10], ecx
+cmp eax, esi
+jge short loc_0045dc40 ; jge 0x45dc40
+mov edi, dword [ebp - 0x10]
+mov eax, esi
+sub eax, edi
+push eax
+mov dword [ebp - 0x10], eax
+mov eax, dword [ebp + 0x18]
+push 0x30
+add eax, ebx
+push eax
+call fcn_00456f60 ; call 0x456f60
+mov edx, dword [ebp - 0x10]
+add esp, 0xc
+add ebx, edx
+
+loc_0045dc40:
+mov eax, dword [ebp + 8]
+mov dh, byte [eax + 8]
+mov dword [eax + 0x18], ebx
+test dh, 8
+jne short loc_0045dc64 ; jne 0x45dc64
+cmp dword [ebp - 0x14], 0
+jg short loc_0045dc59 ; jg 0x45dc59
+test dh, 0x10
+je short loc_0045dc64 ; je 0x45dc64
+
+loc_0045dc59:
+mov edi, dword [ebp + 0x18]
+mov eax, ebx
+add eax, edi
+inc ebx
+mov byte [eax], 0x2e
+
+loc_0045dc64:
+mov eax, dword [ebp + 8]
+mov edx, dword [eax + 4]
+test edx, edx
+jge short loc_0045dc8f ; jge 0x45dc8f
+mov ecx, edx
+neg ecx
+push ecx
+mov eax, dword [ebp + 0x18]
+mov dword [ebp - 0x10], edx
+push 0x30
+add eax, ebx
+mov esi, ecx
+push eax
+mov dword [ebp - 0x10], ecx
+mov edi, esi
+call fcn_00456f60 ; call 0x456f60
+add ebx, edi
+add esp, 0xc
+
+loc_0045dc8f:
+mov eax, dword [ebp - 0x14]
+test eax, eax
+jle short loc_0045dcda ; jle 0x45dcda
+cmp eax, dword [ebp + 0x10]
+jge short loc_0045dc9e ; jge 0x45dc9e
+mov dword [ebp + 0x10], eax
+
+loc_0045dc9e:
+mov ecx, dword [ebp + 0x10]
+test ecx, ecx
+je short loc_0045dcc6 ; je 0x45dcc6
+mov edi, dword [ebp + 0x18]
+mov esi, dword [ebp + 0xc]
+add edi, ebx
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+add ebx, dword [ebp + 0x10]
+
+loc_0045dcc6:
+mov eax, dword [ebp + 8]
+mov edi, dword [ebp + 0x10]
+mov dword [eax + 0x1c], ebx
+mov eax, dword [ebp - 0x14]
+mov edx, dword [ebp + 8]
+sub eax, edi
+mov dword [edx + 0x20], eax
+
+loc_0045dcda:
+mov eax, dword [ebp + 8]
+cmp dword [eax + 0xc], 0
+je short loc_0045dcf3 ; je 0x45dcf3
+mov ecx, dword [ebp + 0x18]
+mov eax, ebx
+mov edx, dword [ebp + 8]
+add eax, ecx
+mov dl, byte [edx + 0xc]
+inc ebx
+mov byte [eax], dl
+
+loc_0045dcf3:
+mov esi, dword [ebp + 0x14]
+lea eax, [ebx + 1]
+test esi, esi
+jl short loc_0045dd0a ; jl 0x45dd0a
+mov edx, ebx
+mov ebx, eax
+mov eax, dword [ebp + 0x18]
+mov byte [edx + eax], 0x2b
+jmp short loc_0045dd1c ; jmp 0x45dd1c
+
+loc_0045dd0a:
+mov edx, ebx
+mov edi, esi
+mov ebx, eax
+neg edi
+mov eax, dword [ebp + 0x18]
+mov dword [ebp + 0x14], edi
+mov byte [edx + eax], 0x2d
+
+loc_0045dd1c:
+mov ecx, dword [ebp + 8]
+mov ecx, dword [ecx + 0x10]
+cmp ecx, 3
+ja short loc_0045dd65 ; ja 0x45dd65
+mov eax, ecx
+jmp dword [cs:eax*4 + ref_0045db56] ; ujmp: jmp dword cs:[eax*4 + 0x45db56]
+
+loc_0045dd31:
+cmp dword [ebp + 0x14], 0x3e8
+jge short loc_0045dd60 ; jge 0x45dd60
+mov ecx, 3
+jmp short loc_0045dd65 ; jmp 0x45dd65
+
+loc_0045dd41:
+cmp dword [ebp + 0x14], 0xa
+jl short loc_0045dd4c ; jl 0x45dd4c
+mov ecx, 2
+
+loc_0045dd4c:
+cmp dword [ebp + 0x14], 0x64
+jl short loc_0045dd57 ; jl 0x45dd57
+mov ecx, 3
+
+loc_0045dd57:
+cmp dword [ebp + 0x14], 0x3e8
+jl short loc_0045dd65 ; jl 0x45dd65
+
+loc_0045dd60:
+mov ecx, 4
+
+loc_0045dd65:
+mov eax, dword [ebp + 8]
+mov dword [eax + 0x10], ecx
+cmp ecx, 4
+jl short loc_0045ddb6 ; jl 0x45ddb6
+xor eax, eax
+mov edx, dword [ebp + 0x14]
+mov dword [ebp - 0x10], eax
+cmp edx, 0x3e8
+jl short loc_0045dda6 ; jl 0x45dda6
+mov edi, 0x3e8
+mov eax, edx
+sar edx, 0x1f
+idiv edi
+mov dword [ebp - 0x10], eax
+mov edx, eax
+shl eax, 5
+sub eax, edx
+shl eax, 2
+add eax, edx
+mov esi, dword [ebp + 0x14]
+shl eax, 3
+sub esi, eax
+mov dword [ebp + 0x14], esi
+
+loc_0045dda6:
+mov edi, dword [ebp + 0x18]
+mov eax, ebx
+mov dl, byte [ebp - 0x10]
+add eax, edi
+add dl, 0x30
+inc ebx
+mov byte [eax], dl
+
+loc_0045ddb6:
+cmp ecx, 3
+jl short loc_0045ddfe ; jl 0x45ddfe
+xor eax, eax
+mov edx, dword [ebp + 0x14]
+mov dword [ebp - 0x10], eax
+cmp edx, 0x64
+jl short loc_0045ddee ; jl 0x45ddee
+mov edi, 0x64
+mov eax, edx
+sar edx, 0x1f
+idiv edi
+mov dword [ebp - 0x10], eax
+mov edx, eax
+shl eax, 2
+sub eax, edx
+shl eax, 3
+add eax, edx
+mov esi, dword [ebp + 0x14]
+shl eax, 2
+sub esi, eax
+mov dword [ebp + 0x14], esi
+
+loc_0045ddee:
+mov edi, dword [ebp + 0x18]
+mov eax, ebx
+mov dl, byte [ebp - 0x10]
+add eax, edi
+add dl, 0x30
+inc ebx
+mov byte [eax], dl
+
+loc_0045ddfe:
+cmp ecx, 2
+jl short loc_0045de40 ; jl 0x45de40
+xor eax, eax
+mov edx, dword [ebp + 0x14]
+mov dword [ebp - 0x10], eax
+cmp edx, 0xa
+jl short loc_0045de30 ; jl 0x45de30
+mov ecx, 0xa
+mov eax, edx
+sar edx, 0x1f
+idiv ecx
+mov dword [ebp - 0x10], eax
+mov edx, eax
+shl eax, 2
+add eax, edx
+mov ecx, dword [ebp + 0x14]
+add eax, eax
+sub ecx, eax
+mov dword [ebp + 0x14], ecx
+
+loc_0045de30:
+mov esi, dword [ebp + 0x18]
+mov eax, ebx
+mov dl, byte [ebp - 0x10]
+add eax, esi
+add dl, 0x30
+inc ebx
+mov byte [eax], dl
+
+loc_0045de40:
+mov edi, dword [ebp + 0x18]
+mov eax, ebx
+mov dl, byte [ebp + 0x14]
+add eax, edi
+add dl, 0x30
+inc ebx
+mov byte [eax], dl
+mov eax, dword [ebp + 8]
+mov edx, ebx
+mov eax, dword [eax + 0x1c]
+sub edx, eax
+mov eax, dword [ebp + 8]
+add ebx, edi
+mov dword [eax + 0x24], edx
+jmp near loc_0045db49 ; jmp 0x45db49
+
+fcn_0045de67:
+push ebp
+mov ebp, esp
+push ebx
+push esi
+push edi
+sub esp, 0x30
+mov eax, dword [ebp + 8]
+mov dword [ebp - 0x1c], eax
+
+loc_0045de76:
+mov dl, byte [eax]
+cmp dl, 0x20
+je short loc_0045de87 ; je 0x45de87
+cmp dl, 9
+jb short loc_0045de8a ; jb 0x45de8a
+cmp dl, 0xd
+ja short loc_0045de8a ; ja 0x45de8a
+
+loc_0045de87:
+inc eax
+jmp short loc_0045de76 ; jmp 0x45de76
+
+loc_0045de8a:
+xor dh, dh
+lea ebx, [eax + 1]
+mov byte [ebp - 0x10], dh
+cmp dl, 0x2b
+jne short loc_0045de9b ; jne 0x45de9b
+mov eax, ebx
+jmp short loc_0045dea7 ; jmp 0x45dea7
+
+loc_0045de9b:
+cmp dl, 0x2d
+jne short loc_0045dea7 ; jne 0x45dea7
+mov cl, 1
+mov eax, ebx
+mov byte [ebp - 0x10], cl
+
+loc_0045dea7:
+mov dh, 0x30
+xor ebx, ebx
+xor edi, edi
+
+loc_0045dead:
+mov dl, byte [eax]
+inc eax
+cmp dl, 0x2e
+jne short loc_0045dec7 ; jne 0x45dec7
+mov cl, byte [ebp - 0x10]
+test cl, 8
+jne short loc_0045deef ; jne 0x45deef
+mov ch, cl
+or ch, 8
+mov byte [ebp - 0x10], ch
+jmp short loc_0045dead ; jmp 0x45dead
+
+loc_0045dec7:
+cmp dl, 0x30
+jb short loc_0045deef ; jb 0x45deef
+cmp dl, 0x39
+ja short loc_0045deef ; ja 0x45deef
+test byte [ebp - 0x10], 8
+je short loc_0045ded8 ; je 0x45ded8
+inc edi
+
+loc_0045ded8:
+or dh, dl
+cmp dh, 0x30
+je short loc_0045dee9 ; je 0x45dee9
+cmp ebx, 0x13
+jge short loc_0045dee8 ; jge 0x45dee8
+mov byte [ebx + ebp - 0x3c], dl
+
+loc_0045dee8:
+inc ebx
+
+loc_0045dee9:
+or byte [ebp - 0x10], 4
+jmp short loc_0045dead ; jmp 0x45dead
+
+loc_0045deef:
+mov dh, byte [ebp - 0x10]
+xor esi, esi
+test dh, 4
+je near loc_0045df79 ; je 0x45df79
+cmp dl, 0x65
+je short loc_0045df0b ; je 0x45df0b
+cmp dl, 0x45
+jne near loc_0045df75 ; jne 0x45df75
+
+loc_0045df0b:
+lea edx, [eax - 1]
+mov cl, byte [eax]
+mov dword [ebp - 0x18], edx
+lea edx, [eax + 1]
+cmp cl, 0x2b
+jne short loc_0045df1f ; jne 0x45df1f
+mov eax, edx
+jmp short loc_0045df2f ; jmp 0x45df2f
+
+loc_0045df1f:
+cmp cl, 0x2d
+jne short loc_0045df2f ; jne 0x45df2f
+mov cl, byte [ebp - 0x10]
+or cl, 2
+mov eax, edx
+mov byte [ebp - 0x10], cl
+
+loc_0045df2f:
+and byte [ebp - 0x10], 0xfb
+
+loc_0045df33:
+mov dl, byte [eax]
+cmp dl, 0x30
+jb short loc_0045df62 ; jb 0x45df62
+cmp dl, 0x39
+ja short loc_0045df62 ; ja 0x45df62
+cmp esi, 0x3e8
+jge short loc_0045df56 ; jge 0x45df56
+imul esi, esi, 0xa
+mov dword [ebp - 0x14], esi
+movzx esi, dl
+add esi, dword [ebp - 0x14]
+sub esi, 0x30
+
+loc_0045df56:
+mov dl, byte [ebp - 0x10]
+or dl, 4
+inc eax
+mov byte [ebp - 0x10], dl
+jmp short loc_0045df33 ; jmp 0x45df33
+
+loc_0045df62:
+test byte [ebp - 0x10], 2
+je short loc_0045df6a ; je 0x45df6a
+neg esi
+
+loc_0045df6a:
+test byte [ebp - 0x10], 4
+jne short loc_0045df76 ; jne 0x45df76
+mov eax, dword [ebp - 0x18]
+jmp short loc_0045df76 ; jmp 0x45df76
+
+loc_0045df75:
+dec eax
+
+loc_0045df76:
+mov dword [ebp - 0x1c], eax
+
+loc_0045df79:
+mov ecx, dword [ebp + 0x10]
+test ecx, ecx
+je short loc_0045df85 ; je 0x45df85
+mov eax, dword [ebp - 0x1c]
+mov dword [ecx], eax
+
+loc_0045df85:
+sub esi, edi
+cmp ebx, 0x13
+jle short loc_0045df96 ; jle 0x45df96
+sub ebx, 0x13
+add esi, ebx
+mov ebx, 0x13
+
+loc_0045df96:
+test ebx, ebx
+jle short loc_0045dfa5 ; jle 0x45dfa5
+cmp byte [ebx + ebp - 0x3d], 0x30
+jne short loc_0045dfa5 ; jne 0x45dfa5
+inc esi
+dec ebx
+jmp short loc_0045df96 ; jmp 0x45df96
+
+loc_0045dfa5:
+test ebx, ebx
+jne short loc_0045dfbb ; jne 0x45dfbb
+mov eax, dword [ebp + 0xc]
+mov word [eax + 8], 0
+mov dword [eax + 4], ebx
+mov dword [eax], ebx
+xor eax, eax
+jmp short loc_0045e021 ; jmp 0x45e021
+
+loc_0045dfbb:
+xor al, al
+lea edx, [ebp - 0x28]
+mov byte [ebx + ebp - 0x3c], al
+lea eax, [ebp - 0x3c]
+call fcn_0045ef12 ; call 0x45ef12
+test esi, esi
+je short loc_0045dfdd ; je 0x45dfdd
+push esi
+lea eax, [ebp - 0x28]
+push eax
+call fcn_0045d44e ; call 0x45d44e
+add esp, 8
+
+loc_0045dfdd:
+test byte [ebp - 0x10], 1
+je short loc_0045dfe7 ; je 0x45dfe7
+or byte [ebp - 0x1f], 0x80
+
+loc_0045dfe7:
+mov edx, dword [ebp + 0xc]
+mov eax, dword [ebp - 0x20]
+mov word [edx + 8], ax
+mov eax, dword [ebp - 0x24]
+mov dword [edx + 4], eax
+mov eax, dword [ebp - 0x28]
+mov dword [edx], eax
+lea eax, [esi + ebx - 1]
+cmp eax, 0x134
+jle short loc_0045e00e ; jle 0x45e00e
+mov eax, 3
+jmp short loc_0045e021 ; jmp 0x45e021
+
+loc_0045e00e:
+cmp eax, 0xfffffecc
+jge short loc_0045e01c ; jge 0x45e01c
+mov eax, 2
+jmp short loc_0045e021 ; jmp 0x45e021
+
+loc_0045e01c:
+mov eax, 1
+
+loc_0045e021:
+lea esp, [ebp - 0xc]
+pop edi
+pop esi
+pop ebx
+pop ebp
+ret
+
+fcn_0045e029:
+push ebp
+mov ebp, esp
+push ebx
+sub esp, 0x14
+mov edx, dword [ebp + 0xc]
+push edx
+lea eax, [ebp - 0x18]
+push eax
+mov ebx, dword [ebp + 8]
+push ebx
+call fcn_0045de67 ; call 0x45de67
+add esp, 0xc
+test eax, eax
+jne short loc_0045e050 ; jne 0x45e050
+mov dword [ebp - 0xc], eax
+
+loc_0045e04b:
+mov dword [ebp - 8], eax
+jmp short loc_0045e0a9 ; jmp 0x45e0a9
+
+loc_0045e050:
+mov eax, dword [ebp - 0x10]
+and ah, 0x7f
+and eax, 0xffff
+cmp eax, 0x43ff
+jl short loc_0045e089 ; jl 0x45e089
+call fcn_00458e00 ; call 0x458e00
+test byte [ebp - 0xf], 0x80
+je short loc_0045e07a ; je 0x45e07a
+fld qword [ref_0046cad0] ; fld qword [0x46cad0]
+fchs
+fstp qword [ebp - 0xc]
+jmp short loc_0045e0a9 ; jmp 0x45e0a9
+
+loc_0045e07a:
+mov eax, dword [ref_0046cad0] ; mov eax, dword [0x46cad0]
+mov dword [ebp - 0xc], eax
+mov eax, dword [ref_0046cad4] ; mov eax, dword [0x46cad4]
+jmp short loc_0045e04b ; jmp 0x45e04b
+
+loc_0045e089:
+cmp eax, 0x3bcd
+jge short loc_0045e09f ; jge 0x45e09f
+call fcn_00458e00 ; call 0x458e00
+xor ecx, ecx
+mov dword [ebp - 0xc], ecx
+mov dword [ebp - 8], ecx
+jmp short loc_0045e0a9 ; jmp 0x45e0a9
+
+loc_0045e09f:
+lea edx, [ebp - 0xc]
+lea eax, [ebp - 0x18]
+fld tword [eax] ; fld xword [eax]
+fstp qword [edx]
+
+loc_0045e0a9:
+mov eax, dword [ebp - 0xc]
+mov edx, dword [ebp - 8]
+lea esp, [ebp - 4]
+pop ebx
+pop ebp
+ret
+
+endloc_0045e0b5:
+db 0x00
+
+fcn_0045e0b6:
+or ebx, ebx
+jne short loc_0045e0c5 ; jne 0x45e0c5
+add ecx, ecx
+jne short loc_0045e0c3 ; jne 0x45e0c3
+jmp near loc_0045efc7 ; jmp 0x45efc7
+
+loc_0045e0c3:
+rcr ecx, 1
+
+loc_0045e0c5:
+or eax, eax
+jne short loc_0045e0d0 ; jne 0x45e0d0
+add edx, edx
+jne short loc_0045e0ce ; jne 0x45e0ce
+ret
+
+loc_0045e0ce:
+rcr edx, 1
+
+loc_0045e0d0:
+cmp byte [ref_00488f35], 0 ; cmp byte [0x488f35], 0
+je short fcn_0045e109 ; je 0x45e109
+push edx
+push eax
+fld qword [esp]
+push ecx
+push ebx
+test byte [ref_0048936c], 1 ; test byte [0x48936c], 1
+je short loc_0045e0f0 ; je 0x45e0f0
+call fcn_0045f654 ; call 0x45f654
+jmp short loc_0045e0f6 ; jmp 0x45e0f6
+
+loc_0045e0f0:
+fdiv qword [esp]
+add esp, 8
+
+loc_0045e0f6:
+fstp qword [esp]
+wait
+pop eax
+pop edx
+cmp edx, 0x80000000
+jne short loc_0045e108 ; jne 0x45e108
+sub edx, edx
+mov eax, edx
+
+loc_0045e108:
+ret
+
+fcn_0045e109:
+push ebp
+mov ebp, esp
+push edi
+push esi
+mov edi, edx
+mov esi, ecx
+sar edi, 0x14
+sar ecx, 0x14
+and edi, 0x800007ff
+and ecx, 0x800007ff
+rol edi, 0x10
+rol ecx, 0x10
+add di, cx
+rol edi, 0x10
+rol ecx, 0x10
+and edx, 0xfffff
+and esi, 0xfffff
+or di, di
+je short loc_0045e14c ; je 0x45e14c
+or edx, 0x100000
+jmp short loc_0045e15a ; jmp 0x45e15a
+
+loc_0045e14c:
+add eax, eax
+adc edx, edx
+dec di
+test edx, 0x100000
+je short loc_0045e14c ; je 0x45e14c
+
+loc_0045e15a:
+or cx, cx
+je short loc_0045e167 ; je 0x45e167
+or esi, 0x100000
+jmp short loc_0045e175 ; jmp 0x45e175
+
+loc_0045e167:
+add ebx, ebx
+adc esi, esi
+dec cx
+test esi, 0x100000
+je short loc_0045e167 ; je 0x45e167
+
+loc_0045e175:
+sub di, cx
+add di, 0x3ff
+js short loc_0045e190 ; js 0x45e190
+cmp di, 0x7ff
+jb short loc_0045e190 ; jb 0x45e190
+mov eax, ecx
+pop esi
+pop edi
+pop ebp
+jmp near fcn_0045efd3 ; jmp 0x45efd3
+
+loc_0045e190:
+cmp di, 0xffcc
+jge short loc_0045e19e ; jge 0x45e19e
+pop esi
+pop edi
+pop ebp
+jmp near fcn_0045efb6 ; jmp 0x45efb6
+
+loc_0045e19e:
+push edi
+mov cl, 0xb
+shld edx, eax, cl
+shld eax, ebp, cl
+and eax, 0xfffff800
+shld esi, ebx, cl
+shld ebx, ebp, cl
+and ebx, 0xfffff800
+push esi
+push ebx
+mov ecx, esi
+mov edi, edx
+mov esi, eax
+sub eax, eax
+cmp ecx, edx
+ja short loc_0045e1c9 ; ja 0x45e1c9
+sub edx, ecx
+inc eax
+
+loc_0045e1c9:
+push eax
+mov eax, esi
+div ecx
+push eax
+xchg eax, ebx
+mul ebx
+xchg eax, ecx
+xchg ebx, edx
+mul edx
+add eax, ebx
+adc edx, 0
+mov ebx, dword [ebp - 0x14]
+test byte [ebp - 0x18], 1
+je short loc_0045e1ea ; je 0x45e1ea
+add eax, ebx
+adc edx, dword [ebp - 0x10]
+
+loc_0045e1ea:
+neg ecx
+sbb esi, eax
+sbb edi, edx
+je short loc_0045e204 ; je 0x45e204
+
+loc_0045e1f2:
+sub dword [ebp - 0x1c], 1
+sbb dword [ebp - 0x18], 0
+add ecx, ebx
+adc esi, dword [ebp - 0x10]
+adc edi, 0
+jne short loc_0045e1f2 ; jne 0x45e1f2
+
+loc_0045e204:
+mov edi, esi
+mov esi, ecx
+mov ecx, dword [ebp - 0x10]
+cmp ecx, edi
+ja short loc_0045e219 ; ja 0x45e219
+sub edi, ecx
+add dword [ebp - 0x1c], 1
+adc dword [ebp - 0x18], 0
+
+loc_0045e219:
+mov edx, edi
+mov eax, esi
+div ecx
+push eax
+or eax, eax
+je short loc_0045e250 ; je 0x45e250
+xchg eax, ebx
+mul ebx
+xchg eax, ecx
+xchg ebx, edx
+mul edx
+add eax, ebx
+adc edx, 0
+neg ecx
+sbb esi, eax
+sbb edi, edx
+je short loc_0045e250 ; je 0x45e250
+
+loc_0045e239:
+sub dword [ebp - 0x20], 1
+sbb dword [ebp - 0x1c], 0
+sbb dword [ebp - 0x18], 0
+add ecx, dword [ebp - 0x14]
+adc esi, dword [ebp - 0x10]
+adc edi, 0
+jne short loc_0045e239 ; jne 0x45e239
+
+loc_0045e250:
+pop eax
+pop edx
+pop ebx
+add esp, 8
+pop edi
+dec di
+shr ebx, 1
+jae short loc_0045e262 ; jae 0x45e262
+rcr edx, 1
+rcr eax, 1
+inc edi
+
+loc_0045e262:
+sub esi, esi
+mov cl, 0xb
+shrd eax, edx, cl
+rcr esi, 1
+shrd edx, esi, cl
+or edx, 0xfff00000
+add esi, esi
+adc eax, 0
+adc edx, 0
+adc edi, 0
+or di, di
+jg short loc_0045e2a1 ; jg 0x45e2a1
+jne short loc_0045e28a ; jne 0x45e28a
+mov cl, 1
+jmp short loc_0045e290 ; jmp 0x45e290
+
+loc_0045e28a:
+neg di
+mov cx, di
+
+loc_0045e290:
+and edx, 0x1fffff
+sub ebx, ebx
+shrd eax, edx, cl
+shrd edx, ebx, cl
+sub di, di
+
+loc_0045e2a1:
+and edx, 0xfffff
+mov esi, edi
+ror edi, 0xb
+add esi, esi
+rcr edi, 1
+and edi, 0xfff00000
+or edx, edi
+pop esi
+pop edi
+pop ebp
+ret
+
+fcn_0045e2bc:
+xor ecx, 0x80000000
+or ebx, ebx
+jne short loc_0045e2cc ; jne 0x45e2cc
+add ecx, ecx
+je short loc_0045e2d8 ; je 0x45e2d8
+rcr ecx, 1
+
+loc_0045e2cc:
+or eax, eax
+jne short loc_0045e2db ; jne 0x45e2db
+add edx, edx
+jne short loc_0045e2d9 ; jne 0x45e2d9
+mov edx, ecx
+mov eax, ebx
+
+loc_0045e2d8:
+ret
+
+loc_0045e2d9:
+rcr edx, 1
+
+loc_0045e2db:
+cmp byte [ref_00488f35], 0 ; cmp byte [0x488f35], 0
+je short loc_0045e305 ; je 0x45e305
+push edx
+push eax
+fld qword [esp]
+push ecx
+push ebx
+fadd qword [esp]
+
+loc_0045e2ee:
+fstp qword [esp + 8]
+add esp, 8
+wait
+pop eax
+pop edx
+cmp edx, 0x80000000
+jne short loc_0045e304 ; jne 0x45e304
+sub edx, edx
+mov eax, edx
+
+loc_0045e304:
+ret
+
+loc_0045e305:
+push ebp
+push edi
+push esi
+mov edi, edx
+mov esi, ecx
+sar edi, 0x14
+sar ecx, 0x14
+and edi, 0x800007ff
+and ecx, 0x800007ff
+mov ebp, ecx
+rol edi, 0x10
+rol ecx, 0x10
+add cx, di
+rol edi, 0x10
+rol ecx, 0x10
+and edx, 0xfffff
+and esi, 0xfffff
+or di, di
+je short loc_0045e346 ; je 0x45e346
+or edx, 0x100000
+
+loc_0045e346:
+or cx, cx
+je short loc_0045e351 ; je 0x45e351
+or esi, 0x100000
+
+loc_0045e351:
+add eax, eax
+adc edx, edx
+add ebx, ebx
+adc esi, esi
+sub cx, di
+je short loc_0045e38d ; je 0x45e38d
+jae short loc_0045e368 ; jae 0x45e368
+mov ebp, edi
+neg cx
+xchg eax, ebx
+xchg edx, esi
+
+loc_0045e368:
+cmp cx, 0x36
+jbe short loc_0045e38d ; jbe 0x45e38d
+mov edx, esi
+mov eax, ebx
+add ebp, ebp
+rcr edx, 1
+rcr eax, 1
+and edx, 0x800fffff
+ror ebp, 0xd
+and ebp, 0x7ff00000
+or edx, ebp
+pop esi
+pop edi
+pop ebp
+ret
+
+loc_0045e38d:
+or ecx, ecx
+jns short loc_0045e39e ; jns 0x45e39e
+neg esi
+neg ebx
+sbb esi, 0
+xor ebp, 0x80000000
+
+loc_0045e39e:
+sub edi, edi
+cmp cl, 0
+je short loc_0045e3c8 ; je 0x45e3c8
+push ebx
+sub ebx, ebx
+cmp cl, 0x20
+jb short loc_0045e3ba ; jb 0x45e3ba
+or eax, eax
+setne bl
+mov edi, ebx
+sub ebx, ebx
+mov eax, edx
+sub edx, edx
+
+loc_0045e3ba:
+shrd ebx, eax, cl
+or edi, ebx
+sub ebx, ebx
+shrd eax, edx, cl
+shrd edx, ebx, cl
+pop ebx
+
+loc_0045e3c8:
+add eax, ebx
+adc edx, esi
+jns short loc_0045e3f1 ; jns 0x45e3f1
+cmp cl, 0x35
+jb short loc_0045e3e4 ; jb 0x45e3e4
+test edi, 0x7fffffff
+setne bl
+shr ebx, 1
+adc eax, 0
+adc edx, 0
+
+loc_0045e3e4:
+neg edx
+neg eax
+sbb edx, 0
+xor ebp, 0x80000000
+
+loc_0045e3f1:
+mov ebx, eax
+or ebx, edx
+je short loc_0045e461 ; je 0x45e461
+or bp, bp
+je short loc_0045e465 ; je 0x45e465
+
+loc_0045e3fc:
+test edx, 0x7fe00000
+jne short loc_0045e40e ; jne 0x45e40e
+dec bp
+je short loc_0045e465 ; je 0x45e465
+add eax, eax
+adc edx, edx
+jmp short loc_0045e3fc ; jmp 0x45e3fc
+
+loc_0045e40e:
+test edx, 0x400000
+je short loc_0045e426 ; je 0x45e426
+shr edx, 1
+rcr eax, 1
+adc edi, 0
+inc bp
+cmp bp, 0x7ff
+je short loc_0045e46f ; je 0x45e46f
+
+loc_0045e426:
+shr edx, 1
+rcr eax, 1
+jae short loc_0045e450 ; jae 0x45e450
+or edi, edi
+setne bl
+or ebx, eax
+shr ebx, 1
+adc eax, 0
+adc edx, 0
+test edx, 0x200000
+je short loc_0045e450 ; je 0x45e450
+shr edx, 1
+rcr eax, 1
+inc bp
+cmp bp, 0x7ff
+je short loc_0045e46f ; je 0x45e46f
+
+loc_0045e450:
+and edx, 0xfffff
+mov ecx, ebp
+shl ebp, 0x15
+add ecx, ecx
+rcr ebp, 1
+or edx, ebp
+
+loc_0045e461:
+pop esi
+pop edi
+pop ebp
+ret
+
+loc_0045e465:
+add ebp, ebp
+rcr edx, 1
+rcr eax, 1
+pop esi
+pop edi
+pop ebp
+ret
+
+loc_0045e46f:
+mov eax, ebp
+pop esi
+pop edi
+pop ebp
+jmp near fcn_0045efd3 ; jmp 0x45efd3
+
+fcn_0045e479:
+or eax, eax
+jne short loc_0045e484 ; jne 0x45e484
+add edx, edx
+jne short loc_0045e482 ; jne 0x45e482
+ret
+
+loc_0045e482:
+rcr edx, 1
+
+loc_0045e484:
+or ebx, ebx
+jne short loc_0045e493 ; jne 0x45e493
+add ecx, ecx
+jne short loc_0045e491 ; jne 0x45e491
+sub eax, eax
+sub edx, edx
+ret
+
+loc_0045e491:
+rcr ecx, 1
+
+loc_0045e493:
+cmp byte [ref_00488f35], 0 ; cmp byte [0x488f35], 0
+je short loc_0045e4ab ; je 0x45e4ab
+push edx
+push eax
+fld qword [esp]
+push ecx
+push ebx
+fmul qword [esp]
+jmp near loc_0045e2ee ; jmp 0x45e2ee
+
+loc_0045e4ab:
+push ebp
+push edi
+push esi
+mov edi, edx
+mov esi, ecx
+sar edi, 0x14
+sar ecx, 0x14
+and edi, 0x800007ff
+and ecx, 0x800007ff
+rol edi, 0x10
+rol ecx, 0x10
+add cx, di
+rol edi, 0x10
+rol ecx, 0x10
+and edx, 0xfffff
+and esi, 0xfffff
+or di, di
+jne short loc_0045e4f4 ; jne 0x45e4f4
+inc di
+
+loc_0045e4e6:
+dec di
+add eax, eax
+adc edx, edx
+test edx, 0x100000
+je short loc_0045e4e6 ; je 0x45e4e6
+
+loc_0045e4f4:
+or edx, 0x100000
+or cx, cx
+jne short loc_0045e50f ; jne 0x45e50f
+inc cx
+
+loc_0045e501:
+dec cx
+add ebx, ebx
+adc esi, esi
+test esi, 0x100000
+je short loc_0045e501 ; je 0x45e501
+
+loc_0045e50f:
+or esi, 0x100000
+add cx, di
+sub cx, 0x3ff
+js short loc_0045e530 ; js 0x45e530
+cmp cx, 0x7ff
+jb short loc_0045e530 ; jb 0x45e530
+mov eax, ecx
+pop esi
+pop edi
+pop ebp
+jmp near fcn_0045efd3 ; jmp 0x45efd3
+
+loc_0045e530:
+cmp cx, 0xffcb
+jge short loc_0045e53e ; jge 0x45e53e
+pop esi
+pop edi
+pop ebp
+jmp near fcn_0045efb6 ; jmp 0x45efb6
+
+loc_0045e53e:
+push ecx
+mov cl, 0xb
+shld edx, eax, cl
+shld eax, ebp, cl
+and eax, 0xfffff800
+shld esi, ebx, cl
+shld ebx, ebp, cl
+and ebx, 0xfffff800
+sub ebp, ebp
+push esi
+push edx
+push eax
+mul ebx
+xchg eax, esi
+mov ecx, edx
+pop edx
+mul edx
+mov edi, edx
+add ecx, eax
+adc edi, ebp
+adc ebp, ebp
+pop eax
+xchg eax, ebx
+mul ebx
+add ecx, eax
+adc edi, edx
+adc ebp, 0
+mov eax, ebx
+pop edx
+mul edx
+add eax, edi
+adc edx, ebp
+sub ebx, ebx
+mov cl, 0xa
+shrd ebx, eax, cl
+shrd eax, edx, cl
+shrd edx, ebx, cl
+pop ecx
+
+loc_0045e58f:
+test edx, 0x200000
+je short loc_0045e5a8 ; je 0x45e5a8
+shr edx, 1
+rcr eax, 1
+rcr ebx, 1
+inc cx
+cmp cx, 0x7ff
+je short loc_0045e60c ; je 0x45e60c
+jmp short loc_0045e58f ; jmp 0x45e58f
+
+loc_0045e5a8:
+add ebx, ebx
+jae short loc_0045e5d6 ; jae 0x45e5d6
+jne short loc_0045e5bb ; jne 0x45e5bb
+or esi, esi
+setne bl
+shr ebx, 1
+jb short loc_0045e5bb ; jb 0x45e5bb
+mov esi, eax
+shr esi, 1
+
+loc_0045e5bb:
+adc eax, 0
+adc edx, 0
+test edx, 0x200000
+je short loc_0045e5d6 ; je 0x45e5d6
+shr edx, 1
+rcr eax, 1
+inc cx
+cmp cx, 0x7ff
+je short loc_0045e60c ; je 0x45e60c
+
+loc_0045e5d6:
+or cx, cx
+jg short loc_0045e5f1 ; jg 0x45e5f1
+jne short loc_0045e5e1 ; jne 0x45e5e1
+mov cl, 1
+jmp short loc_0045e5e6 ; jmp 0x45e5e6
+
+loc_0045e5e1:
+neg cx
+dec cx
+
+loc_0045e5e6:
+sub ebx, ebx
+shrd eax, edx, cl
+shrd edx, ebx, cl
+sub cx, cx
+
+loc_0045e5f1:
+and edx, 0xfffff
+mov esi, ecx
+ror ecx, 0xb
+add esi, esi
+rcr ecx, 1
+and ecx, 0xfff00000
+or edx, ecx
+pop esi
+pop edi
+pop ebp
+ret
+
+loc_0045e60c:
+mov eax, ecx
+pop esi
+pop edi
+pop ebp
+jmp near fcn_0045efd3 ; jmp 0x45efd3
+
+fcn_0045e616:
+push ebp
+test edx, 0x7ff00000
+jne short loc_0045e621 ; jne 0x45e621
+sub edx, edx
+
+loc_0045e621:
+test ecx, 0x7ff00000
+jne short loc_0045e62b ; jne 0x45e62b
+sub ecx, ecx
+
+loc_0045e62b:
+mov ebp, ecx
+xor ebp, edx
+mov ebp, 0
+js short loc_0045e642 ; js 0x45e642
+cmp edx, ecx
+jne short loc_0045e63c ; jne 0x45e63c
+cmp eax, ebx
+
+loc_0045e63c:
+je short loc_0045e64a ; je 0x45e64a
+rcr ecx, 1
+xor edx, ecx
+
+loc_0045e642:
+add edx, edx
+sbb ebp, 0
+add ebp, ebp
+inc ebp
+
+loc_0045e64a:
+mov eax, ebp
+pop ebp
+ret
+
+fcn_0045e64e:
+mov eax, dword [esp + 4]
+sub eax, 4
+mov eax, dword [eax]
+and al, 0xfe
+sub eax, 4
+ret
+
+endloc_0045e65d:
+db 0x53
+db 0x8b
+db 0x54
+dd 0x8b520c24
+dd 0x530c245c
+dd 0x0001bce8
+dd 0x08c48300
+db 0x5b
+db 0xc3
+
+fcn_0045e672:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+mov esi, dword [esp + 0x28]
+mov ebp, dword [esp + 0x30]
+mov eax, dword [esp + 0x2c]
+add eax, 0xb
+mov edx, dword [esp + 0x2c]
+and al, 0xf8
+cmp eax, edx
+jae short loc_0045e699 ; jae 0x45e699
+mov eax, 0xffffffff
+jmp short loc_0045e6a3 ; jmp 0x45e6a3
+
+loc_0045e699:
+cmp eax, 0x10
+jae short loc_0045e6a3 ; jae 0x45e6a3
+mov eax, 0x10
+
+loc_0045e6a3:
+lea edx, [esi - 4]
+mov dword [esp], edx
+mov edx, dword [edx]
+and dl, 0xfe
+cmp eax, edx
+jbe near loc_0045e7c0 ; jbe 0x45e7c0
+mov edi, dword [esp]
+sub eax, edx
+add edi, edx
+mov dword [ebp], eax
+
+loc_0045e6c0:
+mov eax, dword [edi]
+mov dword [esp + 0xc], eax
+cmp eax, 0xffffffff
+jne short loc_0045e6d5 ; jne 0x45e6d5
+mov eax, 2
+jmp near loc_0045e821 ; jmp 0x45e821
+
+loc_0045e6d5:
+test byte [esp + 0xc], 1
+jne near loc_0045e7b9 ; jne 0x45e7b9
+mov eax, dword [edi + 8]
+mov dword [esp + 4], eax
+mov eax, dword [edi + 4]
+mov edx, ds
+mov dword [esp + 8], eax
+mov eax, ref_00488f00 ; mov eax, 0x488f00
+cmp dx, word [esp + 0x24]
+jne short loc_0045e719 ; jne 0x45e719
+mov ebx, dword [ref_00488f00] ; mov ebx, dword [0x488f00]
+jmp short loc_0045e713 ; jmp 0x45e713
+
+loc_0045e704:
+cmp ebx, esi
+ja short loc_0045e710 ; ja 0x45e710
+mov eax, dword [ebx]
+add eax, ebx
+cmp eax, esi
+ja short loc_0045e719 ; ja 0x45e719
+
+loc_0045e710:
+mov ebx, dword [ebx + 8]
+
+loc_0045e713:
+cmp dword [ebx + 8], 0
+jne short loc_0045e704 ; jne 0x45e704
+
+loc_0045e719:
+mov ecx, dword [ebx + 0xc]
+cmp edi, ecx
+jne short loc_0045e726 ; jne 0x45e726
+mov eax, dword [ecx + 4]
+mov dword [ebx + 0xc], eax
+
+loc_0045e726:
+mov eax, dword [esp + 0xc]
+mov edx, dword [ebp]
+cmp eax, edx
+jb short loc_0045e738 ; jb 0x45e738
+sub eax, edx
+cmp eax, 0x10
+jae short loc_0045e774 ; jae 0x45e774
+
+loc_0045e738:
+mov eax, dword [esp + 8]
+mov edx, dword [esp + 4]
+mov dword [eax + 8], edx
+mov eax, edx
+mov edx, dword [esp + 8]
+mov dword [eax + 4], edx
+mov edx, dword [esp]
+mov eax, dword [esp + 0xc]
+add dword [edx], eax
+mov eax, dword [ebx + 0x1c]
+xor dh, dh
+dec eax
+mov byte [ref_004991d1], dh ; mov byte [0x4991d1], dh
+mov dword [ebx + 0x1c], eax
+mov eax, dword [esp + 0xc]
+mov edx, dword [ebp]
+cmp eax, edx
+jb short loc_0045e7ab ; jb 0x45e7ab
+jmp near loc_0045e81f ; jmp 0x45e81f
+
+loc_0045e774:
+add edi, edx
+mov dword [edi], eax
+mov eax, dword [esp + 8]
+mov dword [edi + 4], eax
+mov eax, dword [esp + 4]
+mov dword [edi + 8], eax
+mov eax, dword [esp + 8]
+mov dword [eax + 8], edi
+mov eax, dword [esp + 4]
+mov dword [eax + 4], edi
+mov edx, dword [esp]
+mov eax, dword [ebp]
+add dword [edx], eax
+xor dl, dl
+xor eax, eax
+mov byte [ref_004991d1], dl ; mov byte [0x4991d1], dl
+jmp near loc_0045e821 ; jmp 0x45e821
+
+loc_0045e7ab:
+mov ecx, edx
+sub ecx, eax
+add edi, eax
+mov dword [ebp], ecx
+jmp near loc_0045e6c0 ; jmp 0x45e6c0
+
+loc_0045e7b9:
+mov eax, 1
+jmp short loc_0045e821 ; jmp 0x45e821
+
+loc_0045e7c0:
+sub edx, eax
+cmp edx, 0x10
+jb short loc_0045e81f ; jb 0x45e81f
+mov ebp, dword [esp]
+mov edi, eax
+or dl, 1
+or di, 1
+lea ecx, [eax + ebp]
+mov dword [ebp], edi
+mov eax, ref_00488f00 ; mov eax, 0x488f00
+mov dword [ecx], edx
+mov edx, ds
+mov dword [esp], ecx
+cmp dx, word [esp + 0x24]
+jne short loc_0045e809 ; jne 0x45e809
+mov ebx, dword [ref_00488f00] ; mov ebx, dword [0x488f00]
+jmp short loc_0045e803 ; jmp 0x45e803
+
+loc_0045e7f4:
+cmp ebx, esi
+ja short loc_0045e800 ; ja 0x45e800
+mov eax, dword [ebx]
+add eax, ebx
+cmp eax, esi
+ja short loc_0045e809 ; ja 0x45e809
+
+loc_0045e800:
+mov ebx, dword [ebx + 8]
+
+loc_0045e803:
+cmp dword [ebx + 8], 0
+jne short loc_0045e7f4 ; jne 0x45e7f4
+
+loc_0045e809:
+mov eax, dword [esp]
+mov ebp, dword [ebx + 0x18]
+add eax, 4
+inc ebp
+push eax
+mov dword [ebx + 0x18], ebp
+call fcn_00456e1f ; call 0x456e1f
+add esp, 4
+
+loc_0045e81f:
+xor eax, eax
+
+loc_0045e821:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045e829:
+push ebx
+sub esp, 4
+call dword [ref_00488f68] ; ucall: call dword [0x488f68]
+mov eax, esp
+push eax
+mov edx, dword [esp + 0x14]
+push edx
+mov ebx, dword [esp + 0x14]
+push ebx
+mov eax, ref_00488f00 ; mov eax, 0x488f00
+mov edx, ds
+xor eax, eax
+mov ax, dx
+push eax
+call fcn_0045e672 ; call 0x45e672
+add esp, 0x10
+test eax, eax
+jne short loc_0045e866 ; jne 0x45e866
+call dword [ref_00488f70] ; ucall: call dword [0x488f70]
+mov eax, ebx
+add esp, 4
+pop ebx
+ret
+
+loc_0045e866:
+call dword [ref_00488f70] ; ucall: call dword [0x488f70]
+xor eax, eax
+add esp, 4
+pop ebx
+ret
+
+fcn_0045e873:
+cmp byte [ref_00489724], 0 ; cmp byte [0x489724], 0
+je short loc_0045e89b ; je 0x45e89b
+xor eax, eax
+mov ax, word [esp + 8]
+push eax
+mov edx, dword [esp + 8]
+push edx
+int3
+jmp short loc_0045e892 ; jmp 0x45e892
+
+endloc_0045e88c:
+dd 0x44495657
+db 0x45
+db 0x4f
+
+loc_0045e892:
+mov eax, 1
+add esp, 8
+ret
+
+loc_0045e89b:
+xor eax, eax
+ret
+
+fcn_0045e89e:
+xor eax, eax
+ret
+
+endloc_0045e8a1:
+db 0x53
+db 0x56
+db 0x8b
+dd 0x52182454
+dd 0x18245c8b
+dd 0x244c8b53
+dd 0x748b5118
+dd 0xff561824
+db 0x15
+dd ref_00489728
+db 0x83
+db 0xc4
+db 0x10
+db 0x5e
+db 0x5b
+db 0xc3
+
+fcn_0045e8c3:
+call dword [ref_0048972c] ; ucall: call dword [0x48972c]
+ret
+
+fcn_0045e8ca:
+mov edx, dword [esp + 4]
+push edx
+call dword [ref_00489730] ; ucall: call dword [0x489730]
+add esp, 4
+ret
+
+endloc_0045e8d9:
+db 0x53
+db 0x56
+db 0x8b
+dd 0x8b0c2444
+dd 0x8b10245c
+dd 0x85142454
+dd 0x8b1074c0
+db 0x08
+db 0x8b
+db 0x35
+dd ref_00489728
+db 0x89
+db 0x0d
+dd ref_00489728
+db 0x89
+db 0x30
+db 0x85
+dd 0x8b0f74db
+db 0x03
+db 0x8b
+db 0x0d
+dd ref_0048972c
+db 0xa3
+dd ref_0048972c
+dd 0xd2850b89
+dd 0x028b0f74
+db 0x8b
+db 0x1d
+dd ref_00489730
+db 0xa3
+dd ref_00489730
+db 0x89
+dd 0xc35b5e1a
+
+fcn_0045e924:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x10
+push ref_0046ca90 ; push 0x46ca90
+call fcn_0045c0b4 ; call 0x45c0b4
+add esp, 4
+mov ebx, eax
+test eax, eax
+je near loc_0045ea5a ; je 0x45ea5a
+
+loc_0045e942:
+cmp byte [ebx], 0
+je near loc_0045ea4d ; je 0x45ea4d
+mov dl, 0x3a
+mov esi, ebx
+
+loc_0045e94f:
+mov al, byte [esi]
+cmp al, dl
+je short loc_0045e967 ; je 0x45e967
+cmp al, 0
+je short loc_0045e965 ; je 0x45e965
+inc esi
+mov al, byte [esi]
+cmp al, dl
+je short loc_0045e967 ; je 0x45e967
+inc esi
+cmp al, 0
+jne short loc_0045e94f ; jne 0x45e94f
+
+loc_0045e965:
+sub esi, esi
+
+loc_0045e967:
+mov edi, esi
+sub esi, ebx
+push esi
+push ebx
+lea ebx, [esp + 8]
+push ebx
+call fcn_0045f8f7 ; call 0x45f8f7
+add esp, 0xc
+push 0x10
+push 0
+lea ebx, [esp + 8]
+xor dl, dl
+push ebx
+mov byte [esp + esi + 0xc], dl
+lea esi, [edi + 1]
+call fcn_0045fa9e ; call 0x45fa9e
+mov dl, 0x3a
+add esp, 0xc
+mov ebp, eax
+mov ebx, esi
+
+loc_0045e99a:
+mov al, byte [esi]
+cmp al, dl
+je short loc_0045e9b2 ; je 0x45e9b2
+cmp al, 0
+je short loc_0045e9b0 ; je 0x45e9b0
+inc esi
+mov al, byte [esi]
+cmp al, dl
+je short loc_0045e9b2 ; je 0x45e9b2
+inc esi
+cmp al, 0
+jne short loc_0045e99a ; jne 0x45e99a
+
+loc_0045e9b0:
+sub esi, esi
+
+loc_0045e9b2:
+mov edi, esi
+sub esi, ebx
+push esi
+push ebx
+lea ebx, [esp + 8]
+push ebx
+call fcn_0045f8f7 ; call 0x45f8f7
+add esp, 0xc
+push 0x10
+push 0
+lea ebx, [esp + 8]
+xor dh, dh
+push ebx
+mov byte [esp + esi + 0xc], dh
+lea esi, [edi + 1]
+call fcn_0045fa9e ; call 0x45fa9e
+mov dword [esp + 0x18], eax
+add esp, 0xc
+mov dl, 0x2a
+mov ebx, esi
+
+loc_0045e9e7:
+mov al, byte [esi]
+cmp al, dl
+je short loc_0045e9ff ; je 0x45e9ff
+cmp al, 0
+je short loc_0045e9fd ; je 0x45e9fd
+inc esi
+mov al, byte [esi]
+cmp al, dl
+je short loc_0045e9ff ; je 0x45e9ff
+inc esi
+cmp al, 0
+jne short loc_0045e9e7 ; jne 0x45e9e7
+
+loc_0045e9fd:
+sub esi, esi
+
+loc_0045e9ff:
+mov edi, esi
+sub esi, ebx
+push esi
+push ebx
+lea ebx, [esp + 8]
+push ebx
+call fcn_0045f8f7 ; call 0x45f8f7
+add esp, 0xc
+push 0x10
+xor bl, bl
+push 0
+mov byte [esp + esi + 8], bl
+lea ebx, [esp + 8]
+push ebx
+call fcn_0045fa9e ; call 0x45fa9e
+add esp, 0xc
+push ebp
+mov edx, dword [esp + 0x10]
+push edx
+mov ebx, eax
+call fcn_00459ece ; call 0x459ece
+add esp, 8
+push ebx
+push ebp
+lea esi, [edi + 1]
+call fcn_0045bef6 ; call 0x45bef6
+mov ebx, esi
+add esp, 8
+jmp near loc_0045e942 ; jmp 0x45e942
+
+loc_0045ea4d:
+push ref_0046ca9c ; push 0x46ca9c
+call fcn_0045faf7 ; call 0x45faf7
+add esp, 4
+
+loc_0045ea5a:
+add esp, 0x10
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0045ea62:
+db 0xff
+db 0x15
+dd ref_00489734
+
+fcn_0045ea68:
+push 0xff
+push ref_0046caac ; push 0x46caac
+call fcn_0045c690 ; call 0x45c690
+add esp, 8
+ret
+
+fcn_0045ea7b:
+push ebx
+push edi
+sub esp, 4
+xor edx, edx
+mov ah, byte [ref_00488f34] ; mov ah, byte [0x488f34]
+mov dword [esp], edx
+test ah, ah
+je short loc_0045eac2 ; je 0x45eac2
+mov edi, esp
+fnstcw word [ss:edi]
+wait
+cmp dword [esp + 0x14], 0
+je short loc_0045eac2 ; je 0x45eac2
+mov eax, dword [esp + 0x14]
+mov ebx, dword [esp]
+mov edi, dword [esp + 0x10]
+mov ecx, dword [esp + 0x14]
+not eax
+and edi, ecx
+and eax, ebx
+or eax, edi
+mov edi, esp
+mov dword [esp], eax
+fldcw word [ss:edi]
+wait
+mov edi, esp
+fnstcw word [ss:edi]
+wait
+
+loc_0045eac2:
+xor eax, eax
+mov ax, word [esp]
+add esp, 4
+pop edi
+pop ebx
+ret
+
+fcn_0045eace:
+push ebx
+push esi
+push ebp
+sub esp, 0x14
+mov esi, dword [esp + 0x24]
+cmp esi, 0xffffffff
+jne short loc_0045eaeb ; jne 0x45eaeb
+call dword [cs:__imp__GetACP@0] ; ucall: call dword cs:[0x462370]
+
+loc_0045eae4:
+mov esi, eax
+jmp near loc_0045eb7f ; jmp 0x45eb7f
+
+loc_0045eaeb:
+cmp esi, 0xfffffffe
+jne short loc_0045eaf9 ; jne 0x45eaf9
+call dword [cs:__imp__GetOEMCP@0] ; ucall: call dword cs:[0x4623c0]
+jmp short loc_0045eae4 ; jmp 0x45eae4
+
+loc_0045eaf9:
+cmp esi, 0xfffffffd
+jne short loc_0045eb27 ; jne 0x45eb27
+push 0x101
+push 0
+push ref_0049995c ; push 0x49995c
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor edx, edx
+xor eax, eax
+mov dword [ref_00499958], edx ; mov dword [0x499958], edx
+mov dword [ref_00489738], edx ; mov dword [0x489738], edx
+jmp near loc_0045ec1a ; jmp 0x45ec1a
+
+loc_0045eb27:
+cmp esi, 0xfffffffc
+jne short loc_0045eb7f ; jne 0x45eb7f
+push 0x101
+push 0
+push ref_0049995c ; push 0x49995c
+call fcn_00456f60 ; call 0x456f60
+mov eax, 0x81
+mov dl, 1
+add esp, 0xc
+
+loc_0045eb47:
+inc eax
+mov byte [eax + ref_0049995c], dl ; mov byte [eax + 0x49995c], dl
+cmp eax, 0x9f
+jle short loc_0045eb47 ; jle 0x45eb47
+mov eax, 0xe0
+mov dh, 1
+
+loc_0045eb5c:
+inc eax
+mov byte [eax + ref_0049995c], dh ; mov byte [eax + 0x49995c], dh
+cmp eax, 0xfc
+jle short loc_0045eb5c ; jle 0x45eb5c
+mov ebp, 1
+mov eax, 0x3a4
+mov dword [ref_00499958], ebp ; mov dword [0x499958], ebp
+jmp near loc_0045ec0b ; jmp 0x45ec0b
+
+loc_0045eb7f:
+test esi, esi
+jne short loc_0045eb88 ; jne 0x45eb88
+mov esi, 1
+
+loc_0045eb88:
+mov eax, esp
+push eax
+push esi
+call dword [cs:__imp__GetCPInfo@8] ; ucall: call dword cs:[0x462374]
+test eax, eax
+jne short loc_0045eba1 ; jne 0x45eba1
+mov eax, 1
+jmp near loc_0045ec1a ; jmp 0x45ec1a
+
+loc_0045eba1:
+push 0x101
+push 0
+push ref_0049995c ; push 0x49995c
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+xor ecx, ecx
+mov ah, byte [esp + 6]
+mov dword [ref_00499958], ecx ; mov dword [0x499958], ecx
+test ah, ah
+je short loc_0045ebcf ; je 0x45ebcf
+mov dword [ref_00499958], 1 ; mov dword [0x499958], 1
+
+loc_0045ebcf:
+xor edx, edx
+mov cl, 1
+jmp short loc_0045ebf1 ; jmp 0x45ebf1
+
+loc_0045ebd5:
+xor eax, eax
+mov al, byte [esp + edx + 6]
+jmp short loc_0045ebe4 ; jmp 0x45ebe4
+
+loc_0045ebdd:
+inc eax
+mov byte [eax + ref_0049995c], cl ; mov byte [eax + 0x49995c], cl
+
+loc_0045ebe4:
+xor ebx, ebx
+mov bl, byte [esp + edx + 7]
+cmp eax, ebx
+jle short loc_0045ebdd ; jle 0x45ebdd
+add edx, 2
+
+loc_0045ebf1:
+cmp byte [esp + edx + 6], 0
+jne short loc_0045ebd5 ; jne 0x45ebd5
+cmp byte [esp + edx + 7], 0
+jne short loc_0045ebd5 ; jne 0x45ebd5
+cmp esi, 1
+jne short loc_0045ec12 ; jne 0x45ec12
+call dword [cs:__imp__GetOEMCP@0] ; ucall: call dword cs:[0x4623c0]
+
+loc_0045ec0b:
+mov dword [ref_00489738], eax ; mov dword [0x489738], eax
+jmp short loc_0045ec18 ; jmp 0x45ec18
+
+loc_0045ec12:
+mov dword [ref_00489738], esi ; mov dword [0x489738], esi
+
+loc_0045ec18:
+xor eax, eax
+
+loc_0045ec1a:
+add esp, 0x14
+pop ebp
+pop esi
+pop ebx
+ret
+
+endloc_0045ec21:
+db 0x00
+db 0x09
+db 0xd2
+dd 0xc9091e78
+dd 0x48e80678
+dd 0xc3000000
+dd 0xdbf7d9f7
+dd 0xe800d983
+dd 0x0000003b
+dd 0xd8f7daf7
+dd 0xc300da83
+dd 0xd8f7daf7
+dd 0x0900da83
+dd 0xf71479c9
+dd 0x83dbf7d9
+dd 0x1ce800d9
+dd 0xf7000000
+dd 0x83dbf7d9
+dd 0xe8c300d9
+dd 0x0000000f
+dd 0xdbf7d9f7
+dd 0xf700d983
+dd 0x83d8f7da
+db 0xda
+db 0x00
+db 0xc3
+
+fcn_0045ec77:
+or ecx, ecx
+jne short loc_0045ec95 ; jne 0x45ec95
+dec ebx
+je short loc_0045ec94 ; je 0x45ec94
+inc ebx
+cmp ebx, edx
+ja short loc_0045ec8c ; ja 0x45ec8c
+mov ecx, eax
+mov eax, edx
+sub edx, edx
+div ebx
+xchg eax, ecx
+
+loc_0045ec8c:
+div ebx
+mov ebx, edx
+mov edx, ecx
+sub ecx, ecx
+
+loc_0045ec94:
+ret
+
+loc_0045ec95:
+cmp ecx, edx
+jb short loc_0045ecb5 ; jb 0x45ecb5
+jne short loc_0045ecad ; jne 0x45ecad
+cmp ebx, eax
+ja short loc_0045ecad ; ja 0x45ecad
+sub eax, ebx
+mov ebx, eax
+sub ecx, ecx
+sub edx, edx
+mov eax, 1
+ret
+
+loc_0045ecad:
+sub ecx, ecx
+sub ebx, ebx
+xchg eax, ebx
+xchg edx, ecx
+ret
+
+loc_0045ecb5:
+push ebp
+push esi
+push edi
+sub esi, esi
+mov edi, esi
+mov ebp, esi
+
+loc_0045ecbe:
+add ebx, ebx
+adc ecx, ecx
+jb short loc_0045ecd7 ; jb 0x45ecd7
+inc ebp
+cmp ecx, edx
+jb short loc_0045ecbe ; jb 0x45ecbe
+ja short loc_0045eccf ; ja 0x45eccf
+cmp ebx, eax
+jbe short loc_0045ecbe ; jbe 0x45ecbe
+
+loc_0045eccf:
+clc
+
+loc_0045ecd0:
+adc esi, esi
+adc edi, edi
+dec ebp
+js short loc_0045ecf9 ; js 0x45ecf9
+
+loc_0045ecd7:
+rcr ecx, 1
+rcr ebx, 1
+sub eax, ebx
+sbb edx, ecx
+cmc
+jb short loc_0045ecd0 ; jb 0x45ecd0
+
+loc_0045ece2:
+add esi, esi
+adc edi, edi
+dec ebp
+js short loc_0045ecf5 ; js 0x45ecf5
+shr ecx, 1
+rcr ebx, 1
+add eax, ebx
+adc edx, ecx
+jae short loc_0045ece2 ; jae 0x45ece2
+jmp short loc_0045ecd0 ; jmp 0x45ecd0
+
+loc_0045ecf5:
+add eax, ebx
+adc edx, ecx
+
+loc_0045ecf9:
+mov ebx, eax
+mov ecx, edx
+mov eax, esi
+mov edx, edi
+pop edi
+pop esi
+pop ebp
+ret
+
+fcn_0045ed05:
+mov eax, dword [esp + 4]
+cmp byte [eax], 0
+jne short loc_0045ed14 ; jne 0x45ed14
+mov eax, 1
+ret
+
+loc_0045ed14:
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_0045ed3e ; je 0x45ed3e
+xor edx, edx
+mov dl, byte [eax]
+mov dl, byte [edx + ref_0049995d] ; mov dl, byte [edx + 0x49995d]
+and dl, 1
+and edx, 0xff
+je short loc_0045ed3e ; je 0x45ed3e
+cmp byte [eax + 1], 0
+jne short loc_0045ed3e ; jne 0x45ed3e
+mov eax, 2
+ret
+
+loc_0045ed3e:
+xor eax, eax
+ret
+
+fcn_0045ed41:
+push ebx
+push esi
+sub esp, 8
+mov edx, dword [esp + 0x14]
+push edx
+lea eax, [esp + 8]
+push eax
+call fcn_0045fee1 ; call 0x45fee1
+add esp, 8
+mov ebx, dword [esp + 0x14]
+push ebx
+call fcn_0045ff1a ; call 0x45ff1a
+add esp, 4
+mov ecx, dword [esp + 0x18]
+xor dl, dl
+push ecx
+mov byte [esp + eax + 8], dl
+lea eax, [esp + 4]
+push eax
+call fcn_0045fee1 ; call 0x45fee1
+add esp, 8
+mov esi, dword [esp + 0x18]
+push esi
+call fcn_0045ff1a ; call 0x45ff1a
+add esp, 4
+xor dh, dh
+mov byte [esp + eax], dh
+lea eax, [esp + 4]
+push eax
+call fcn_0045ff46 ; call 0x45ff46
+add esp, 4
+mov eax, esp
+push eax
+call fcn_0045ff46 ; call 0x45ff46
+add esp, 4
+mov eax, esp
+push eax
+lea eax, [esp + 8]
+push eax
+call fcn_0045ffab ; call 0x45ffab
+add esp, 8
+add esp, 8
+pop esi
+pop ebx
+ret
+
+fcn_0045edbd:
+mov eax, dword [esp + 4]
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_0045ede9 ; je 0x45ede9
+xor edx, edx
+mov dl, byte [eax]
+mov dl, byte [edx + ref_0049995d] ; mov dl, byte [edx + 0x49995d]
+and dl, 1
+and edx, 0xff
+je short loc_0045ede9 ; je 0x45ede9
+cmp byte [eax + 1], 0
+je short loc_0045ede9 ; je 0x45ede9
+add eax, 2
+ret
+
+loc_0045ede9:
+inc eax
+ret
+
+endloc_0045edeb:
+db 0x00
+
+fcn_0045edec:
+jmp near loc_00460007 ; jmp 0x460007
+
+fcn_0045edf1:
+mov edx, dword [esp + 4]
+cmp edx, 3
+jbe short loc_0045edfd ; jbe 0x45edfd
+xor eax, eax
+ret
+
+loc_0045edfd:
+mov eax, edx
+shl eax, 2
+sub eax, edx
+shl eax, 2
+add eax, edx
+add eax, eax
+add eax, ref_00488f9c ; add eax, 0x488f9c
+ret
+
+fcn_0045ee11:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebx, dword [esp + 0x18]
+mov esi, dword [esp + 0x1c]
+mov edx, dword [esi + 0x10]
+push edx
+call dword [ref_00488f50] ; ucall: call dword [0x488f50]
+mov eax, dword [esi + 8]
+mov ecx, dword [eax + 8]
+add esp, 4
+test ecx, ecx
+jne short loc_0045ee40 ; jne 0x45ee40
+push esi
+call fcn_0045940b ; call 0x45940b
+add esp, 4
+
+loc_0045ee40:
+mov ah, byte [esi + 0xd]
+xor ebp, ebp
+test ah, 4
+je short loc_0045ee5f ; je 0x45ee5f
+mov dl, ah
+and dl, 0xf9
+mov byte [esi + 0xd], dl
+mov dh, dl
+or dh, 2
+mov ebp, 1
+mov byte [esi + 0xd], dh
+
+loc_0045ee5f:
+mov dword [esp], ebx
+xor edi, edi
+
+loc_0045ee64:
+xor eax, eax
+mov al, byte [ebx]
+test eax, eax
+je short loc_0045ee7e ; je 0x45ee7e
+push esi
+push eax
+inc ebx
+call fcn_00459aab ; call 0x459aab
+add esp, 8
+cmp eax, 0xffffffff
+jne short loc_0045ee64 ; jne 0x45ee64
+mov edi, eax
+
+loc_0045ee7e:
+test ebp, ebp
+je short loc_0045eea2 ; je 0x45eea2
+mov cl, byte [esi + 0xd]
+and cl, 0xf9
+mov byte [esi + 0xd], cl
+mov ch, cl
+or ch, 4
+mov byte [esi + 0xd], ch
+test edi, edi
+jne short loc_0045eea2 ; jne 0x45eea2
+push esi
+call fcn_004591f9 ; call 0x4591f9
+add esp, 4
+mov edi, eax
+
+loc_0045eea2:
+test edi, edi
+jne short loc_0045eead ; jne 0x45eead
+mov edi, dword [esp]
+sub ebx, edi
+mov edi, ebx
+
+loc_0045eead:
+mov ebp, dword [esi + 0x10]
+push ebp
+call dword [ref_00488f54] ; ucall: call dword [0x488f54]
+add esp, 4
+mov eax, edi
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045eec4:
+mov eax, dword [esp + 4]
+mov dx, word [eax + 8]
+and dh, 0x7f
+cmp dx, 0x7fff
+jne short loc_0045eef0 ; jne 0x45eef0
+cmp dword [eax + 4], 0x80000000
+jne short loc_0045eeea ; jne 0x45eeea
+cmp dword [eax], 0
+jne short loc_0045eeea ; jne 0x45eeea
+mov eax, 3
+ret
+
+loc_0045eeea:
+mov eax, 2
+ret
+
+loc_0045eef0:
+test word [eax + 8], 0x7fff
+jne short loc_0045ef0c ; jne 0x45ef0c
+cmp dword [eax + 4], 0
+jne short loc_0045ef06 ; jne 0x45ef06
+cmp dword [eax], 0
+jne short loc_0045ef06 ; jne 0x45ef06
+xor eax, eax
+ret
+
+loc_0045ef06:
+mov eax, 4
+ret
+
+loc_0045ef0c:
+mov eax, 1
+ret
+
+fcn_0045ef12:
+push ebp
+push esi
+push edi
+push ecx
+push ebx
+push edx
+mov esi, eax
+sub edx, edx
+sub ecx, ecx
+sub ebp, ebp
+sub eax, eax
+
+loc_0045ef22:
+mov al, byte [esi]
+cmp al, 0
+je short loc_0045ef57 ; je 0x45ef57
+mov edi, edx
+mov ebx, ecx
+mov eax, ebp
+add ebp, ebp
+adc ecx, ecx
+adc edx, edx
+add ebp, ebp
+adc ecx, ecx
+adc edx, edx
+add ebp, eax
+adc ecx, ebx
+adc edx, edi
+add ebp, ebp
+adc ecx, ecx
+adc edx, edx
+sub eax, eax
+mov al, byte [esi]
+and al, 0xf
+add ebp, eax
+adc ecx, 0
+adc edx, 0
+inc esi
+jmp short loc_0045ef22 ; jmp 0x45ef22
+
+loc_0045ef57:
+mov eax, ecx
+mov edi, 0x405e
+call fcn_0045ef74 ; call 0x45ef74
+pop ebp
+mov dword [ebp + 4], edx
+mov dword [ebp], eax
+mov word [ebp + 8], si
+pop ebx
+pop ecx
+pop edi
+pop esi
+pop ebp
+ret
+
+fcn_0045ef74:
+sub esi, esi
+or esi, eax
+or esi, edx
+or esi, ebp
+je short loc_0045efb4 ; je 0x45efb4
+or edx, edx
+jne short loc_0045ef8b ; jne 0x45ef8b
+mov edx, eax
+mov eax, ebp
+sub ebp, ebp
+sub edi, 0x20
+
+loc_0045ef8b:
+or edx, edx
+jne short loc_0045ef98 ; jne 0x45ef98
+mov edx, eax
+mov eax, ebp
+sub ebp, ebp
+sub edi, 0x20
+
+loc_0045ef98:
+or edx, edx
+js short loc_0045efa5 ; js 0x45efa5
+dec edi
+add ebp, ebp
+adc eax, eax
+adc edx, edx
+jmp short loc_0045ef98 ; jmp 0x45ef98
+
+loc_0045efa5:
+add ebp, ebp
+adc eax, 0
+adc edx, 0
+jae short loc_0045efb2 ; jae 0x45efb2
+rcr edx, 1
+inc edi
+
+loc_0045efb2:
+mov esi, edi
+
+loc_0045efb4:
+ret
+
+endloc_0045efb5:
+db 0x00
+
+fcn_0045efb6:
+sub edx, edx
+sub eax, eax
+ret
+
+endloc_0045efbb:
+db 0xb8
+dd 0x00000083
+dd 0x001045e8
+db 0x00
+db 0xeb
+db 0x1d
+
+loc_0045efc7:
+mov eax, 0x83
+call fcn_0046000a ; call 0x46000a
+jmp short loc_0045efe4 ; jmp 0x45efe4
+
+fcn_0045efd3:
+push eax
+call fcn_00458e00 ; call 0x458e00
+mov eax, 0x84
+call fcn_0046000a ; call 0x46000a
+pop eax
+
+loc_0045efe4:
+and eax, 0x80000000
+or eax, 0x7ff00000
+mov edx, eax
+sub eax, eax
+ret
+
+endloc_0045eff3:
+db 0xb8
+dd 0x00000083
+dd 0x00100de8
+dd 0x5011eb00
+dd 0xff9dfbe8
+dd 0x0084b8ff
+dd 0xfbe80000
+dd 0x5800000f
+dd 0x00000025
+dd 0x00000d80
+dd 0x00c37f80
+
+fcn_0045f01c:
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+fld tword [esp + 4] ; fld xword [esp + 4]
+
+loc_0045f024:
+mov eax, dword [esp + 8]
+add eax, eax
+jae near loc_0045f0b6 ; jae 0x45f0b6
+xor eax, 0xe000000
+test eax, 0xe000000
+je short loc_0045f03f ; je 0x45f03f
+fdivp st1 ; fdivp st(1)
+ret
+
+loc_0045f03f:
+shr eax, 0x1c
+cmp byte [eax + ref_00489970], 0 ; cmp byte [eax + 0x489970], 0
+jne short loc_0045f04e ; jne 0x45f04e
+fdivp st1 ; fdivp st(1)
+ret
+
+loc_0045f04e:
+mov eax, dword [esp + 0xc]
+and eax, 0x7fff
+je short loc_0045f0c0 ; je 0x45f0c0
+cmp eax, 0x7fff
+je short loc_0045f0c0 ; je 0x45f0c0
+fnstcw word [esp + 0x1c]
+mov eax, dword [esp + 0x1c]
+or eax, 0x33f
+and eax, 0xf3ff
+mov dword [esp + 0x20], eax
+fldcw word [esp + 0x20]
+mov eax, dword [esp + 0x18]
+and eax, 0x7fff
+cmp eax, 1
+je short loc_0045f09f ; je 0x45f09f
+fmul dword [ref_00489980] ; fmul dword [0x489980]
+fxch st1 ; fxch st(1)
+fmul dword [ref_00489980] ; fmul dword [0x489980]
+fxch st1 ; fxch st(1)
+fldcw word [esp + 0x1c]
+fdivp st1 ; fdivp st(1)
+ret
+
+loc_0045f09f:
+fmul dword [ref_00489984] ; fmul dword [0x489984]
+fxch st1 ; fxch st(1)
+fmul dword [ref_00489984] ; fmul dword [0x489984]
+fxch st1 ; fxch st(1)
+fldcw word [esp + 0x1c]
+fdivp st1 ; fdivp st(1)
+ret
+
+loc_0045f0b6:
+mov eax, dword [esp + 4]
+or eax, dword [esp + 8]
+jne short loc_0045f0c3 ; jne 0x45f0c3
+
+loc_0045f0c0:
+fdivp st1 ; fdivp st(1)
+ret
+
+loc_0045f0c3:
+mov eax, dword [esp + 0xc]
+and eax, 0x7fff
+jne short loc_0045f0c0 ; jne 0x45f0c0
+fnstcw word [esp + 0x1c]
+mov eax, dword [esp + 0x1c]
+or eax, 0x33f
+and eax, 0xf3ff
+mov dword [esp + 0x20], eax
+fldcw word [esp + 0x20]
+mov eax, dword [esp + 0x18]
+and eax, 0x7fff
+je short loc_0045f104 ; je 0x45f104
+cmp eax, 0x7fff
+je short loc_0045f12c ; je 0x45f12c
+mov eax, dword [esp + 0x14]
+add eax, eax
+jae short loc_0045f12c ; jae 0x45f12c
+jmp short loc_0045f10c ; jmp 0x45f10c
+
+loc_0045f104:
+mov eax, dword [esp + 0x14]
+add eax, eax
+jb short loc_0045f12c ; jb 0x45f12c
+
+loc_0045f10c:
+fxch st1 ; fxch st(1)
+fstp st0 ; fstp st(0)
+fld st0 ; fld st(0)
+fmul dword [ref_00489988] ; fmul dword [0x489988]
+fstp tword [esp + 4] ; fstp xword [esp + 4]
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+fxch st1 ; fxch st(1)
+wait
+fldcw word [esp + 0x1c]
+jmp near loc_0045f024 ; jmp 0x45f024
+
+loc_0045f12c:
+fldcw word [esp + 0x1c]
+fdivp st1 ; fdivp st(1)
+ret
+
+fcn_0045f133:
+sub esp, 0x2c
+jmp dword [eax*4 + ref_0048998c] ; ujmp: jmp dword [eax*4 + 0x48998c]
+
+loc_0045f13d:
+fdiv st0 ; fdiv st(0)
+add esp, 0x2c
+ret
+
+loc_0045f143:
+add esp, 0x2c
+int 6
+
+loc_0045f148:
+fdivr st0 ; fdivr st(0)
+add esp, 0x2c
+ret
+
+loc_0045f14e:
+add esp, 0x2c
+int 6
+
+loc_0045f153:
+fdiv st0 ; fdiv st(0)
+add esp, 0x2c
+ret
+
+loc_0045f159:
+fdivp st0 ; fdivp st(0)
+add esp, 0x2c
+ret
+
+loc_0045f15f:
+fdivr st0 ; fdivr st(0)
+add esp, 0x2c
+ret
+
+loc_0045f165:
+fdivrp st0 ; fdivrp st(0)
+add esp, 0x2c
+ret
+
+loc_0045f16b:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+fxch st1 ; fxch st(1)
+add esp, 0x2c
+ret
+
+loc_0045f187:
+add esp, 0x2c
+int 6
+
+loc_0045f18c:
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+fxch st1 ; fxch st(1)
+add esp, 0x2c
+ret
+
+loc_0045f1a2:
+add esp, 0x2c
+int 6
+
+loc_0045f1a7:
+fxch st1 ; fxch st(1)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+add esp, 0x2c
+ret
+
+loc_0045f1c3:
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+add esp, 0x2c
+ret
+
+loc_0045f1d3:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+add esp, 0x2c
+ret
+
+loc_0045f1e7:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+add esp, 0x2c
+ret
+
+loc_0045f1f7:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st1 ; fxch st(1)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st1 ; fxch st(1)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+fxch st2 ; fxch st(2)
+add esp, 0x2c
+ret
+
+loc_0045f217:
+add esp, 0x2c
+int 6
+
+loc_0045f21c:
+fstp tword [esp] ; fstp xword [esp]
+fxch st1 ; fxch st(1)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st1 ; fxch st(1)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+fxch st2 ; fxch st(2)
+add esp, 0x2c
+ret
+
+loc_0045f236:
+add esp, 0x2c
+int 6
+
+loc_0045f23b:
+fxch st2 ; fxch st(2)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st1 ; fxch st(1)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st1 ; fxch st(1)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+add esp, 0x2c
+ret
+
+loc_0045f25b:
+fstp tword [esp] ; fstp xword [esp]
+fxch st1 ; fxch st(1)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st1 ; fxch st(1)
+add esp, 0x2c
+ret
+
+loc_0045f26f:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st1 ; fxch st(1)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st1 ; fxch st(1)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+add esp, 0x2c
+ret
+
+loc_0045f287:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st1 ; fxch st(1)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st1 ; fxch st(1)
+add esp, 0x2c
+ret
+
+loc_0045f29b:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st2 ; fxch st(2)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st2 ; fxch st(2)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+fxch st3 ; fxch st(3)
+add esp, 0x2c
+ret
+
+loc_0045f2bb:
+add esp, 0x2c
+int 6
+
+loc_0045f2c0:
+fstp tword [esp] ; fstp xword [esp]
+fxch st2 ; fxch st(2)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st2 ; fxch st(2)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+fxch st3 ; fxch st(3)
+add esp, 0x2c
+ret
+
+loc_0045f2da:
+add esp, 0x2c
+int 6
+
+loc_0045f2df:
+fxch st3 ; fxch st(3)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st2 ; fxch st(2)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st2 ; fxch st(2)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+add esp, 0x2c
+ret
+
+loc_0045f2ff:
+fstp tword [esp] ; fstp xword [esp]
+fxch st2 ; fxch st(2)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st2 ; fxch st(2)
+add esp, 0x2c
+ret
+
+loc_0045f313:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st2 ; fxch st(2)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st2 ; fxch st(2)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+add esp, 0x2c
+ret
+
+loc_0045f32b:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st2 ; fxch st(2)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st2 ; fxch st(2)
+add esp, 0x2c
+ret
+
+loc_0045f33f:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st3 ; fxch st(3)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st3 ; fxch st(3)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+fxch st4 ; fxch st(4)
+add esp, 0x2c
+ret
+
+loc_0045f35f:
+add esp, 0x2c
+int 6
+
+loc_0045f364:
+fstp tword [esp] ; fstp xword [esp]
+fxch st3 ; fxch st(3)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st3 ; fxch st(3)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+fxch st4 ; fxch st(4)
+add esp, 0x2c
+ret
+
+loc_0045f37e:
+add esp, 0x2c
+int 6
+
+loc_0045f383:
+fxch st4 ; fxch st(4)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st3 ; fxch st(3)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st3 ; fxch st(3)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+add esp, 0x2c
+ret
+
+loc_0045f3a3:
+fstp tword [esp] ; fstp xword [esp]
+fxch st3 ; fxch st(3)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st3 ; fxch st(3)
+add esp, 0x2c
+ret
+
+loc_0045f3b7:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st3 ; fxch st(3)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st3 ; fxch st(3)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+add esp, 0x2c
+ret
+
+loc_0045f3cf:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st3 ; fxch st(3)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st3 ; fxch st(3)
+add esp, 0x2c
+ret
+
+loc_0045f3e3:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st4 ; fxch st(4)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st4 ; fxch st(4)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+fxch st5 ; fxch st(5)
+add esp, 0x2c
+ret
+
+loc_0045f403:
+add esp, 0x2c
+int 6
+
+loc_0045f408:
+fstp tword [esp] ; fstp xword [esp]
+fxch st4 ; fxch st(4)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st4 ; fxch st(4)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+fxch st5 ; fxch st(5)
+add esp, 0x2c
+ret
+
+loc_0045f422:
+add esp, 0x2c
+int 6
+
+loc_0045f427:
+fxch st5 ; fxch st(5)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st4 ; fxch st(4)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st4 ; fxch st(4)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+add esp, 0x2c
+ret
+
+loc_0045f447:
+fstp tword [esp] ; fstp xword [esp]
+fxch st4 ; fxch st(4)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st4 ; fxch st(4)
+add esp, 0x2c
+ret
+
+loc_0045f45b:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st4 ; fxch st(4)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st4 ; fxch st(4)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+add esp, 0x2c
+ret
+
+loc_0045f473:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st4 ; fxch st(4)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st4 ; fxch st(4)
+add esp, 0x2c
+ret
+
+loc_0045f487:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st5 ; fxch st(5)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st5 ; fxch st(5)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+fxch st6 ; fxch st(6)
+add esp, 0x2c
+ret
+
+loc_0045f4a7:
+add esp, 0x2c
+int 6
+
+loc_0045f4ac:
+fstp tword [esp] ; fstp xword [esp]
+fxch st5 ; fxch st(5)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st5 ; fxch st(5)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+fxch st6 ; fxch st(6)
+add esp, 0x2c
+ret
+
+loc_0045f4c6:
+add esp, 0x2c
+int 6
+
+loc_0045f4cb:
+fxch st6 ; fxch st(6)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st5 ; fxch st(5)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st5 ; fxch st(5)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+add esp, 0x2c
+ret
+
+loc_0045f4eb:
+fstp tword [esp] ; fstp xword [esp]
+fxch st5 ; fxch st(5)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st5 ; fxch st(5)
+add esp, 0x2c
+ret
+
+loc_0045f4ff:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st5 ; fxch st(5)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st5 ; fxch st(5)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+add esp, 0x2c
+ret
+
+loc_0045f517:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st5 ; fxch st(5)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st5 ; fxch st(5)
+add esp, 0x2c
+ret
+
+loc_0045f52b:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st6 ; fxch st(6)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st6 ; fxch st(6)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+fxch st7 ; fxch st(7)
+add esp, 0x2c
+ret
+
+loc_0045f54b:
+add esp, 0x2c
+int 6
+
+loc_0045f550:
+fstp tword [esp] ; fstp xword [esp]
+fxch st6 ; fxch st(6)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st6 ; fxch st(6)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+fxch st7 ; fxch st(7)
+add esp, 0x2c
+ret
+
+loc_0045f56a:
+add esp, 0x2c
+int 6
+
+loc_0045f56f:
+fxch st7 ; fxch st(7)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st6 ; fxch st(6)
+fld st0 ; fld st(0)
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0x20] ; fstp xword [esp + 0x20]
+call fcn_0045f01c ; call 0x45f01c
+fxch st6 ; fxch st(6)
+fld tword [esp + 0x20] ; fld xword [esp + 0x20]
+add esp, 0x2c
+ret
+
+loc_0045f58f:
+fstp tword [esp] ; fstp xword [esp]
+fxch st6 ; fxch st(6)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+fxch st6 ; fxch st(6)
+add esp, 0x2c
+ret
+
+loc_0045f5a3:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st6 ; fxch st(6)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st6 ; fxch st(6)
+fld tword [esp + 0xc] ; fld xword [esp + 0xc]
+add esp, 0x2c
+ret
+
+loc_0045f5bb:
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fxch st6 ; fxch st(6)
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+fxch st6 ; fxch st(6)
+add esp, 0x2c
+ret
+
+fcn_0045f5cf:
+sub esp, 0x2c
+fstp tword [esp] ; fstp xword [esp]
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+call fcn_0045f01c ; call 0x45f01c
+add esp, 0x2c
+ret
+
+fcn_0045f5e2:
+sub esp, 0x2c
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fstp tword [esp] ; fstp xword [esp]
+call fcn_0045f01c ; call 0x45f01c
+add esp, 0x2c
+ret
+
+endloc_0045f5f5:
+db 0x83
+db 0xec
+db 0x2c
+dd 0x0c247cdb
+dd 0xe8243cdb
+dd 0xfffffa18
+dd 0xc32cc483
+dd 0x24448b50
+dd 0x00002508
+dd 0x003d7f80
+dd 0x747f8000
+dd 0x25e0df33
+dd 0x00003800
+dd 0x44d90d74
+dd 0xa4e80824
+dd 0x58ffffff
+dd 0xd90004c2
+dd 0x0cec83c9
+dd 0xd9243cdb
+dd 0xe8142444
+dd 0xffffff8f
+dd 0xd9242cdb
+dd 0x0cc483c9
+dd 0x0004c258
+dd 0x082474d8
+dd 0x0004c258
+
+fcn_0045f654:
+push eax
+mov eax, dword [esp + 0xc]
+and eax, 0x7ff00000
+cmp eax, 0x7ff00000
+je short loc_0045f698 ; je 0x45f698
+fnstsw ax
+and eax, 0x3800
+je short loc_0045f67b ; je 0x45f67b
+fld qword [esp + 8]
+call fcn_0045f5cf ; call 0x45f5cf
+pop eax
+ret 8
+
+loc_0045f67b:
+fxch st1 ; fxch st(1)
+sub esp, 0xc
+fstp tword [esp] ; fstp xword [esp]
+fld qword [esp + 0x14]
+call fcn_0045f5cf ; call 0x45f5cf
+fld tword [esp] ; fld xword [esp]
+fxch st1 ; fxch st(1)
+add esp, 0xc
+pop eax
+ret 8
+
+loc_0045f698:
+fdiv qword [esp + 8]
+pop eax
+ret 8
+
+endloc_0045f6a0:
+dd 0x24448b50
+dd 0x00002508
+dd 0x003d7f80
+dd 0x747f8000
+dd 0x25e0df33
+dd 0x00003800
+dd 0x44d90d74
+dd 0x1fe80824
+dd 0x58ffffff
+dd 0xd90004c2
+dd 0x0cec83c9
+dd 0xd9243cdb
+dd 0xe8142444
+dd 0xffffff0a
+dd 0xd9242cdb
+dd 0x0cc483c9
+dd 0x0004c258
+dd 0x08247cd8
+dd 0x0004c258
+dd 0x24448b50
+dd 0x0000250c
+dd 0x003d7ff0
+dd 0x747ff000
+dd 0x25e0df33
+dd 0x00003800
+dd 0x44dd0d74
+dd 0xd3e80824
+dd 0x58fffffe
+dd 0xd90008c2
+dd 0x0cec83c9
+dd 0xdd243cdb
+dd 0xe8142444
+dd 0xfffffebe
+dd 0xd9242cdb
+dd 0x0cc483c9
+dd 0x0008c258
+dd 0x08247cdc
+dd 0x0008c258
+
+fcn_0045f738:
+push ebx
+push esi
+push edi
+push es
+push fs
+push gs
+
+fcn_0045f740:
+push ebp
+mov ebp, esp
+sub esp, 0x10
+mov esi, dword [ebp + 0x20]
+mov eax, dword [esi]
+mov dword [ebp - 4], eax
+mov eax, dword [esi + 4]
+mov dword [ebp - 8], eax
+mov eax, dword [esi + 0x10]
+mov edx, dword [ref_004991c0] ; mov edx, dword [0x4991c0]
+mov edi, dword [eax]
+test edx, edx
+jne short loc_0045f7a4 ; jne 0x45f7a4
+mov eax, dword [ref_004894b0] ; mov eax, dword [0x4894b0]
+add eax, 3
+and al, 0xfc
+sub esp, eax
+mov ebx, esp
+mov ecx, dword [ref_004894b0] ; mov ecx, dword [0x4894b0]
+push ecx
+push edx
+push ebx
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+mov eax, dword [ref_004894b0] ; mov eax, dword [0x4894b0]
+push ebx
+mov dword [ebx + 0xf0], eax
+call fcn_0045a2cb ; call 0x45a2cb
+add esp, 4
+test eax, eax
+jne short loc_0045f7a4 ; jne 0x45f7a4
+push edi
+call dword [cs:__imp__CloseHandle@4] ; ucall: call dword cs:[0x462348]
+jmp short loc_0045f7dc ; jmp 0x45f7dc
+
+loc_0045f7a4:
+call dword [ref_00488f4c] ; ucall: call dword [0x488f4c]
+mov dword [eax + 0xde], edi
+mov edi, dword [esi + 0xc]
+push edi
+call dword [cs:__imp__SetEvent@4] ; ucall: call dword cs:[0x462400]
+lea eax, [ebp - 0x10]
+push eax
+call fcn_0045ab58 ; call 0x45ab58
+add esp, 4
+call dword [ref_00488f8c] ; ucall: call dword [0x488f8c]
+mov eax, dword [ebp - 8]
+push eax
+call dword [ebp - 4] ; ucall
+add esp, 4
+call fcn_0045e8c3 ; call 0x45e8c3
+
+loc_0045f7dc:
+mov esp, ebp
+pop ebp
+pop gs
+pop fs
+pop es
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045f7e8:
+push ebx
+push esi
+push edi
+push es
+sub esp, 0x3c
+cmp dword [ref_00488f48], 0xffffffff ; cmp dword [0x488f48], 0xffffffff
+jne short loc_0045f80a ; jne 0x45f80a
+call fcn_0045a27a ; call 0x45a27a
+test eax, eax
+je near loc_0045f8c7 ; je 0x45f8c7
+call fcn_0045a3a0 ; call 0x45a3a0
+
+loc_0045f80a:
+mov eax, dword [esp + 0x54]
+add eax, 0xfff
+xor al, al
+and ah, 0xf0
+mov dword [esp + 0x54], eax
+mov eax, dword [esp + 0x50]
+mov dword [esp + 0x20], eax
+mov eax, dword [esp + 0x58]
+mov edi, esp
+mov dword [esp + 0x24], eax
+call dword [cs:__imp__GetCurrentThread@0] ; ucall: call dword cs:[0x462390]
+mov dword [esp + 0x28], eax
+mov eax, ds
+push 0x10
+mov es, eax
+lea eax, [esp + 0xc]
+mov esi, ref_0046cac4 ; mov esi, 0x46cac4
+push eax
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsd ; movsd dword es:[edi], dword ptr [esi]
+movsb ; movsb byte es:[edi], byte ptr [esi]
+call dword [cs:__imp__GetCurrentThreadId@0] ; ucall: call dword cs:[0x46238c]
+push eax
+call fcn_00457d61 ; call 0x457d61
+add esp, 0xc
+mov eax, esp
+push eax
+push 0
+push 0
+push 0
+call dword [cs:__imp__CreateEventA@16] ; ucall: call dword cs:[0x46234c]
+mov dword [esp + 0x2c], eax
+lea eax, [esp + 0x34]
+mov dword [esp + 0x30], eax
+lea eax, [esp + 0x38]
+push eax
+push 0
+lea eax, [esp + 0x28]
+push eax
+push fcn_0045f738 ; push 0x45f738
+mov ebx, dword [esp + 0x64]
+push ebx
+push 0
+call dword [cs:__imp__CreateThread@24] ; ucall: call dword cs:[0x462354]
+mov dword [esp + 0x34], eax
+test eax, eax
+jne short loc_0045f8a9 ; jne 0x45f8a9
+mov dword [esp + 0x38], 0xffffffff
+jmp short loc_0045f8b7 ; jmp 0x45f8b7
+
+loc_0045f8a9:
+push 0xffffffffffffffff
+mov ecx, dword [esp + 0x30]
+push ecx
+call dword [cs:__imp__WaitForSingleObject@8] ; ucall: call dword cs:[0x462434]
+
+loc_0045f8b7:
+mov edi, dword [esp + 0x2c]
+push edi
+call dword [cs:__imp__CloseHandle@4] ; ucall: call dword cs:[0x462348]
+mov eax, dword [esp + 0x34]
+
+loc_0045f8c7:
+add esp, 0x3c
+pop es
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045f8cf:
+call dword [ref_00488f90] ; ucall: call dword [0x488f90]
+call fcn_0045aba4 ; call 0x45aba4
+cmp dword [ref_004991c0], 0 ; cmp dword [0x4991c0], 0
+jne short loc_0045f8ed ; jne 0x45f8ed
+push 1
+call fcn_0045a324 ; call 0x45a324
+add esp, 4
+
+loc_0045f8ed:
+push 0
+call dword [cs:__imp__ExitThread@4] ; ucall: call dword cs:[0x462368]
+ret
+
+fcn_0045f8f7:
+push ebx
+push esi
+mov eax, dword [esp + 0xc]
+mov edx, dword [esp + 0x10]
+mov ebx, dword [esp + 0x14]
+mov esi, eax
+jmp short loc_0045f914 ; jmp 0x45f914
+
+loc_0045f909:
+mov cl, byte [edx]
+test cl, cl
+je short loc_0045f918 ; je 0x45f918
+inc edx
+dec ebx
+mov byte [eax], cl
+inc eax
+
+loc_0045f914:
+test ebx, ebx
+jne short loc_0045f909 ; jne 0x45f909
+
+loc_0045f918:
+test ebx, ebx
+je short loc_0045f923 ; je 0x45f923
+dec ebx
+mov byte [eax], 0
+inc eax
+jmp short loc_0045f918 ; jmp 0x45f918
+
+loc_0045f923:
+mov eax, esi
+pop esi
+pop ebx
+ret
+
+fcn_0045f928:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0xc
+mov edi, dword [esp + 0x28]
+mov edx, dword [esp + 0x24]
+test edx, edx
+je short loc_0045f941 ; je 0x45f941
+mov eax, dword [esp + 0x20]
+mov dword [edx], eax
+
+loc_0045f941:
+mov ebx, dword [esp + 0x20]
+
+loc_0045f945:
+mov al, byte [ebx]
+inc al
+and eax, 0xff
+test byte [eax + ref_00489370], 2 ; test byte [eax + 0x489370], 2
+je short loc_0045f95a ; je 0x45f95a
+inc ebx
+jmp short loc_0045f945 ; jmp 0x45f945
+
+loc_0045f95a:
+mov al, byte [ebx]
+mov byte [esp + 4], al
+cmp al, 0x2b
+je short loc_0045f968 ; je 0x45f968
+cmp al, 0x2d
+jne short loc_0045f969 ; jne 0x45f969
+
+loc_0045f968:
+inc ebx
+
+loc_0045f969:
+test edi, edi
+jne short loc_0045f997 ; jne 0x45f997
+cmp byte [ebx], 0x30
+jne short loc_0045f984 ; jne 0x45f984
+mov al, byte [ebx + 1]
+cmp al, 0x78
+je short loc_0045f97d ; je 0x45f97d
+cmp al, 0x58
+jne short loc_0045f984 ; jne 0x45f984
+
+loc_0045f97d:
+mov edi, 0x10
+jmp short loc_0045f9b7 ; jmp 0x45f9b7
+
+loc_0045f984:
+cmp byte [ebx], 0x30
+jne short loc_0045f990 ; jne 0x45f990
+mov edi, 8
+jmp short loc_0045f9cc ; jmp 0x45f9cc
+
+loc_0045f990:
+mov edi, 0xa
+jmp short loc_0045f9cc ; jmp 0x45f9cc
+
+loc_0045f997:
+cmp edi, 2
+jl short loc_0045f9a1 ; jl 0x45f9a1
+cmp edi, 0x24
+jle short loc_0045f9b2 ; jle 0x45f9b2
+
+loc_0045f9a1:
+push 0xd
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+xor eax, eax
+jmp near loc_0045fa7a ; jmp 0x45fa7a
+
+loc_0045f9b2:
+cmp edi, 0x10
+jne short loc_0045f9cc ; jne 0x45f9cc
+
+loc_0045f9b7:
+cmp byte [ebx], 0x30
+jne short loc_0045f9cc ; jne 0x45f9cc
+mov cl, byte [ebx + 1]
+cmp cl, 0x78
+je short loc_0045f9c9 ; je 0x45f9c9
+cmp cl, 0x58
+jne short loc_0045f9cc ; jne 0x45f9cc
+
+loc_0045f9c9:
+add ebx, 2
+
+loc_0045f9cc:
+mov dword [esp], ebx
+mov ebp, edi
+xor al, al
+xor esi, esi
+mov byte [esp + 8], al
+shl ebp, 2
+
+loc_0045f9dc:
+xor eax, eax
+mov al, byte [ebx]
+push eax
+call fcn_0045faa3 ; call 0x45faa3
+add esp, 4
+mov edx, eax
+cmp eax, edi
+jge short loc_0045fa0f ; jge 0x45fa0f
+cmp esi, dword [ebp + ref_00489734] ; cmp esi, dword [ebp + 0x489734]
+jbe short loc_0045f9fc ; jbe 0x45f9fc
+mov byte [esp + 8], 1
+
+loc_0045f9fc:
+mov eax, esi
+imul esi, edi
+add esi, edx
+cmp esi, eax
+jae short loc_0045fa0c ; jae 0x45fa0c
+mov byte [esp + 8], 1
+
+loc_0045fa0c:
+inc ebx
+jmp short loc_0045f9dc ; jmp 0x45f9dc
+
+loc_0045fa0f:
+cmp ebx, dword [esp]
+jne short loc_0045fa18 ; jne 0x45fa18
+mov ebx, dword [esp + 0x20]
+
+loc_0045fa18:
+mov ebp, dword [esp + 0x24]
+test ebp, ebp
+je short loc_0045fa23 ; je 0x45fa23
+mov dword [ebp], ebx
+
+loc_0045fa23:
+cmp dword [esp + 0x2c], 1
+jne short loc_0045fa3b ; jne 0x45fa3b
+cmp esi, 0x80000000
+jb short loc_0045fa3b ; jb 0x45fa3b
+jne short loc_0045fa42 ; jne 0x45fa42
+cmp byte [esp + 4], 0x2d
+jne short loc_0045fa42 ; jne 0x45fa42
+
+loc_0045fa3b:
+cmp byte [esp + 8], 0
+je short loc_0045fa6f ; je 0x45fa6f
+
+loc_0045fa42:
+push 0xe
+call fcn_00458de7 ; call 0x458de7
+add esp, 4
+cmp dword [esp + 0x2c], 0
+jne short loc_0045fa5a ; jne 0x45fa5a
+mov eax, 0xffffffff
+jmp short loc_0045fa7a ; jmp 0x45fa7a
+
+loc_0045fa5a:
+cmp byte [esp + 4], 0x2d
+jne short loc_0045fa68 ; jne 0x45fa68
+mov eax, 0x80000000
+jmp short loc_0045fa7a ; jmp 0x45fa7a
+
+loc_0045fa68:
+mov eax, 0x7fffffff
+jmp short loc_0045fa7a ; jmp 0x45fa7a
+
+loc_0045fa6f:
+cmp byte [esp + 4], 0x2d
+jne short loc_0045fa78 ; jne 0x45fa78
+neg esi
+
+loc_0045fa78:
+mov eax, esi
+
+loc_0045fa7a:
+add esp, 0xc
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_0045fa82:
+db 0x53
+db 0x6a
+db 0x00
+
+loc_0045fa85:
+mov edx, dword [esp + 0x14]
+push edx
+mov ebx, dword [esp + 0x14]
+push ebx
+mov ecx, dword [esp + 0x14]
+push ecx
+call fcn_0045f928 ; call 0x45f928
+add esp, 0x10
+pop ebx
+ret
+
+fcn_0045fa9e:
+push ebx
+push 1
+jmp short loc_0045fa85 ; jmp 0x45fa85
+
+fcn_0045faa3:
+mov al, byte [esp + 4]
+cmp al, 0x30
+jb short loc_0045fab8 ; jb 0x45fab8
+cmp al, 0x39
+ja short loc_0045fab8 ; ja 0x45fab8
+and eax, 0xff
+sub eax, 0x30
+ret
+
+loc_0045fab8:
+and eax, 0xff
+push eax
+call fcn_00458e22 ; call 0x458e22
+mov edx, eax
+add esp, 4
+cmp al, 0x61
+jb short loc_0045fad8 ; jb 0x45fad8
+cmp al, 0x69
+ja short loc_0045fad8 ; ja 0x45fad8
+xor eax, eax
+mov al, dl
+sub eax, 0x57
+ret
+
+loc_0045fad8:
+cmp al, 0x6a
+jb short loc_0045fae9 ; jb 0x45fae9
+cmp al, 0x72
+ja short loc_0045fae9 ; ja 0x45fae9
+
+loc_0045fae0:
+and eax, 0xff
+sub eax, 0x57
+ret
+
+loc_0045fae9:
+cmp al, 0x73
+jb short loc_0045faf1 ; jb 0x45faf1
+cmp al, 0x7a
+jbe short loc_0045fae0 ; jbe 0x45fae0
+
+loc_0045faf1:
+mov eax, 0x25
+ret
+
+fcn_0045faf7:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 0x14
+mov edx, 2
+push 0x3d
+mov ecx, dword [esp + 0x2c]
+mov ebx, 1
+push ecx
+mov dword [esp + 0xc], edx
+mov dword [esp + 8], ebx
+call fcn_00460015 ; call 0x460015
+mov ebp, eax
+add esp, 8
+test eax, eax
+jne short loc_0045fb2f ; jne 0x45fb2f
+
+loc_0045fb25:
+mov eax, 0xffffffff
+jmp near loc_0045fc72 ; jmp 0x45fc72
+
+loc_0045fb2f:
+mov esi, dword [esp + 0x28]
+cmp eax, esi
+je short loc_0045fb25 ; je 0x45fb25
+sub eax, esi
+mov dword [esp + 0x10], eax
+add eax, ebx
+push eax
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov ebx, eax
+mov dword [esp + 8], eax
+test eax, eax
+je short loc_0045fb25 ; je 0x45fb25
+mov ecx, dword [esp + 0x10]
+mov edi, eax
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+lea esi, [ebp + 1]
+mov eax, dword [esp + 0x10]
+push esi
+mov byte [ebx + eax], 0
+call fcn_00460084 ; call 0x460084
+mov ebp, eax
+add esp, 4
+test eax, eax
+je short loc_0045fbcc ; je 0x45fbcc
+inc eax
+push eax
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov edx, eax
+mov dword [esp + 0xc], eax
+test eax, eax
+jne short loc_0045fbac ; jne 0x45fbac
+
+loc_0045fb9c:
+push ebx
+call fcn_00456e11 ; call 0x456e11
+
+loc_0045fba2:
+mov eax, 0xffffffff
+jmp near loc_0045fc6f ; jmp 0x45fc6f
+
+loc_0045fbac:
+mov ecx, ebp
+mov edi, eax
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov byte [edx + ebp], 0
+jmp short loc_0045fbd0 ; jmp 0x45fbd0
+
+loc_0045fbcc:
+mov dword [esp + 0xc], eax
+
+loc_0045fbd0:
+mov eax, dword [esp + 0xc]
+push eax
+mov edx, dword [esp + 0xc]
+push edx
+call dword [cs:__imp__SetEnvironmentVariableA@8] ; ucall: call dword cs:[0x4623f8]
+mov ecx, dword [esp + 8]
+push ecx
+mov ebx, eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+mov esi, dword [esp + 0xc]
+push esi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+test ebx, ebx
+je near loc_0045fb25 ; je 0x45fb25
+mov edi, dword [esp + 0x28]
+push edi
+call fcn_0045fc7a ; call 0x45fc7a
+add esp, 4
+test eax, eax
+jne near loc_0045fb25 ; jne 0x45fb25
+cmp dword [ref_00499948], 0 ; cmp dword [0x499948], 0
+je short loc_0045fc72 ; je 0x45fc72
+push edi
+call fcn_00460084 ; call 0x460084
+add esp, 4
+lea esi, [eax + 1]
+mov eax, dword [esp + 4]
+imul eax, esi
+push eax
+call fcn_00456f80 ; call 0x456f80
+mov ebx, eax
+add esp, 4
+test eax, eax
+jne short loc_0045fc51 ; jne 0x45fc51
+push 5
+call fcn_0045be3d ; call 0x45be3d
+jmp near loc_0045fba2 ; jmp 0x45fba2
+
+loc_0045fc51:
+imul esi, dword [esp]
+push esi
+push edi
+push eax
+call fcn_004600ac ; call 0x4600ac
+add esp, 0xc
+cmp eax, 0xffffffff
+je near loc_0045fb9c ; je 0x45fb9c
+push ebx
+call fcn_0046028e ; call 0x46028e
+
+loc_0045fc6f:
+add esp, 4
+
+loc_0045fc72:
+add esp, 0x14
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045fc7a:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov edx, dword [esp + 0x1c]
+test edx, edx
+jne short loc_0045fc93 ; jne 0x45fc93
+
+loc_0045fc89:
+mov eax, 0xffffffff
+jmp near loc_0045fde2 ; jmp 0x45fde2
+
+loc_0045fc93:
+cmp byte [edx], 0
+je short loc_0045fca9 ; je 0x45fca9
+lea eax, [edx + 1]
+jmp short loc_0045fca3 ; jmp 0x45fca3
+
+loc_0045fc9d:
+cmp bh, 0x3d
+je short loc_0045fca9 ; je 0x45fca9
+inc eax
+
+loc_0045fca3:
+mov bh, byte [eax]
+test bh, bh
+jne short loc_0045fc9d ; jne 0x45fc9d
+
+loc_0045fca9:
+cmp byte [eax], 0
+je short loc_0045fc89 ; je 0x45fc89
+cmp byte [eax + 1], 0
+sete al
+mov ebx, dword [ref_00499944] ; mov ebx, dword [0x499944]
+movzx ebp, al
+test ebx, ebx
+jne short loc_0045fcf1 ; jne 0x45fcf1
+test ebp, ebp
+jne near loc_0045fde0 ; jne 0x45fde0
+push 9
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov ebx, eax
+test eax, eax
+je short loc_0045fc89 ; je 0x45fc89
+mov dword [ref_00499944], eax ; mov dword [0x499944], eax
+mov dword [eax], ebp
+add eax, 8
+mov dword [eax - 4], ebp
+mov dword [ref_00499940], eax ; mov dword [0x499940], eax
+jmp near loc_0045fdca ; jmp 0x45fdca
+
+loc_0045fcf1:
+push ebp
+mov ecx, dword [esp + 0x20]
+push ecx
+call fcn_0045fdea ; call 0x45fdea
+add esp, 8
+test ebp, ebp
+jne near loc_0045fde0 ; jne 0x45fde0
+test eax, eax
+jg near loc_0045fdc7 ; jg 0x45fdc7
+neg eax
+mov ebp, eax
+mov edx, dword [ref_00499940] ; mov edx, dword [0x499940]
+mov esi, ebp
+inc eax
+shl esi, 2
+mov dword [esp], eax
+lea eax, [esi + 8]
+mov edi, dword [esp]
+mov dword [esp + 4], eax
+add eax, edi
+test edx, edx
+jne short loc_0045fd84 ; jne 0x45fd84
+push eax
+call fcn_00456f80 ; call 0x456f80
+mov edx, eax
+add esp, 4
+mov ebx, eax
+test eax, eax
+je near loc_0045fc89 ; je 0x45fc89
+mov eax, dword [ref_00499944] ; mov eax, dword [0x499944]
+mov ecx, esi
+mov edi, edx
+mov esi, eax
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+mov esi, dword [esp]
+push esi
+mov eax, dword [esp + 8]
+push 0
+add eax, edx
+push eax
+mov dword [ref_00499940], eax ; mov dword [0x499940], eax
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+jmp short loc_0045fdb5 ; jmp 0x45fdb5
+
+loc_0045fd84:
+push eax
+push ebx
+call fcn_0045c585 ; call 0x45c585
+add esp, 8
+mov ebx, eax
+test eax, eax
+je near loc_0045fc89 ; je 0x45fc89
+push ebp
+mov ecx, dword [ref_00499940] ; mov ecx, dword [0x499940]
+mov esi, dword [esp + 8]
+push ecx
+add esi, eax
+push esi
+call fcn_004604f4 ; call 0x4604f4
+add esp, 0xc
+mov dword [ref_00499940], esi ; mov dword [0x499940], esi
+
+loc_0045fdb5:
+mov eax, ebp
+mov dword [ref_00499944], ebx ; mov dword [0x499944], ebx
+mov dword [ebx + eax*4 + 4], 0
+jmp short loc_0045fdca ; jmp 0x45fdca
+
+loc_0045fdc7:
+lea ebp, [eax - 1]
+
+loc_0045fdca:
+mov eax, ebp
+shl eax, 2
+add ebx, eax
+mov eax, dword [esp + 0x1c]
+mov dword [ebx], eax
+mov eax, dword [ref_00499940] ; mov eax, dword [0x499940]
+mov byte [eax + ebp], 0
+
+loc_0045fde0:
+xor eax, eax
+
+loc_0045fde2:
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045fdea:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [ref_00499944] ; mov ebp, dword [0x499944]
+jmp near loc_0045fec7 ; jmp 0x45fec7
+
+loc_0045fdf9:
+mov esi, dword [esp + 0x14]
+jmp near loc_0045febb ; jmp 0x45febb
+
+loc_0045fe02:
+xor eax, eax
+mov al, byte [ebx]
+push eax
+call fcn_0045d016 ; call 0x45d016
+mov edi, eax
+xor eax, eax
+add esp, 4
+mov al, byte [esi]
+push eax
+call fcn_0045d016 ; call 0x45d016
+add esp, 4
+cmp edi, eax
+jne near loc_0045fec4 ; jne 0x45fec4
+cmp byte [ebx], 0x3d
+jne near loc_0045feb9 ; jne 0x45feb9
+mov edx, dword [ref_00499944] ; mov edx, dword [0x499944]
+mov esi, ebp
+sub esi, edx
+mov ebx, dword [esp + 0x18]
+sar esi, 2
+test ebx, ebx
+je near loc_0045feb1 ; je 0x45feb1
+mov ebx, ebp
+mov edi, dword [ebp]
+jmp short loc_0045fe57 ; jmp 0x45fe57
+
+loc_0045fe4f:
+mov eax, dword [ebx + 4]
+mov dword [ebx], eax
+add ebx, 4
+
+loc_0045fe57:
+cmp dword [ebx], 0
+jne short loc_0045fe4f ; jne 0x45fe4f
+mov ebp, dword [ref_00499940] ; mov ebp, dword [0x499940]
+test ebp, ebp
+je short loc_0045feaa ; je 0x45feaa
+mov eax, ebp
+cmp byte [esi + eax], 0
+je short loc_0045fe77 ; je 0x45fe77
+push edi
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0045fe77:
+mov eax, dword [ref_00499944] ; mov eax, dword [0x499944]
+mov edi, ebx
+sub edi, eax
+sar edi, 2
+push edi
+mov edx, dword [ref_00499940] ; mov edx, dword [0x499940]
+push edx
+push ebx
+call fcn_004604f4 ; call 0x4604f4
+add esp, 0xc
+mov dword [ref_00499940], ebx ; mov dword [0x499940], ebx
+lea eax, [esi + ebx]
+jmp short loc_0045fea6 ; jmp 0x45fea6
+
+loc_0045fe9f:
+mov bl, byte [eax + 1]
+inc esi
+mov byte [eax], bl
+inc eax
+
+loc_0045fea6:
+cmp esi, edi
+jl short loc_0045fe9f ; jl 0x45fe9f
+
+loc_0045feaa:
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045feb1:
+lea eax, [esi + 1]
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_0045feb9:
+inc ebx
+inc esi
+
+loc_0045febb:
+cmp byte [esi], 0
+jne near loc_0045fe02 ; jne 0x45fe02
+
+loc_0045fec4:
+add ebp, 4
+
+loc_0045fec7:
+mov ebx, dword [ebp]
+test ebx, ebx
+jne near loc_0045fdf9 ; jne 0x45fdf9
+mov eax, dword [ref_00499944] ; mov eax, dword [0x499944]
+sub eax, ebp
+sar eax, 2
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_0045fee1:
+push ebx
+mov edx, dword [esp + 8]
+mov eax, dword [esp + 0xc]
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_0045ff14 ; je 0x45ff14
+xor ebx, ebx
+mov bl, byte [eax]
+mov bl, byte [ebx + ref_0049995d] ; mov bl, byte [ebx + 0x49995d]
+and bl, 1
+and ebx, 0xff
+je short loc_0045ff14 ; je 0x45ff14
+mov bl, byte [eax]
+mov byte [edx], bl
+mov al, byte [eax + 1]
+mov byte [edx + 1], al
+pop ebx
+ret
+
+loc_0045ff14:
+mov al, byte [eax]
+mov byte [edx], al
+pop ebx
+ret
+
+fcn_0045ff1a:
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_0045ff40 ; je 0x45ff40
+mov edx, dword [esp + 4]
+xor eax, eax
+mov al, byte [edx]
+mov al, byte [eax + ref_0049995d] ; mov al, byte [eax + 0x49995d]
+and al, 1
+and eax, 0xff
+je short loc_0045ff40 ; je 0x45ff40
+mov eax, 2
+ret
+
+loc_0045ff40:
+mov eax, 1
+ret
+
+fcn_0045ff46:
+push ebx
+sub esp, 4
+mov ebx, dword [esp + 0xc]
+
+loc_0045ff4e:
+push ebx
+call fcn_0045ed05 ; call 0x45ed05
+add esp, 4
+test eax, eax
+jne short loc_0045ffa2 ; jne 0x45ffa2
+push ebx
+call fcn_00460546 ; call 0x460546
+add esp, 4
+push eax
+call fcn_00460582 ; call 0x460582
+add esp, 4
+mov edx, esp
+push edx
+push eax
+call fcn_004605fd ; call 0x4605fd
+add esp, 8
+mov eax, esp
+push eax
+call fcn_0045ff1a ; call 0x45ff1a
+add esp, 4
+xor dl, dl
+mov byte [esp + eax], dl
+mov eax, esp
+push eax
+push ebx
+call fcn_0045fee1 ; call 0x45fee1
+add esp, 8
+push ebx
+call fcn_0045edbd ; call 0x45edbd
+add esp, 4
+mov ebx, eax
+jmp short loc_0045ff4e ; jmp 0x45ff4e
+
+loc_0045ffa2:
+mov eax, dword [esp + 0xc]
+add esp, 4
+pop ebx
+ret
+
+fcn_0045ffab:
+push ebx
+mov eax, dword [esp + 8]
+mov edx, dword [esp + 0xc]
+mov bl, byte [eax]
+cmp bl, byte [edx]
+jne short loc_0045fff9 ; jne 0x45fff9
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_0045ffe2 ; je 0x45ffe2
+xor ebx, ebx
+mov bl, byte [eax]
+mov bl, byte [ebx + ref_0049995d] ; mov bl, byte [ebx + 0x49995d]
+and bl, 1
+and ebx, 0xff
+je short loc_0045ffe2 ; je 0x45ffe2
+mov bl, byte [eax + 1]
+mov cl, byte [edx + 1]
+cmp bl, cl
+jne short loc_0045ffe6 ; jne 0x45ffe6
+
+loc_0045ffe2:
+xor eax, eax
+pop ebx
+ret
+
+loc_0045ffe6:
+mov al, bl
+and eax, 0xff
+mov dl, cl
+and edx, 0xff
+sub eax, edx
+pop ebx
+ret
+
+loc_0045fff9:
+xor ebx, ebx
+mov bl, byte [eax]
+xor eax, eax
+mov al, byte [edx]
+sub ebx, eax
+mov eax, ebx
+pop ebx
+ret
+
+loc_00460007:
+xor eax, eax
+ret
+
+fcn_0046000a:
+push eax
+call dword [ref_00489367] ; ucall: call dword [0x489367]
+add esp, 4
+ret
+
+fcn_00460015:
+push ebx
+sub esp, 4
+mov ebx, dword [esp + 0xc]
+mov eax, esp
+push eax
+mov edx, dword [esp + 0x14]
+push edx
+call fcn_004605fd ; call 0x4605fd
+add esp, 8
+mov eax, esp
+push eax
+call fcn_0045ff1a ; call 0x45ff1a
+add esp, 4
+xor dl, dl
+mov byte [esp + eax], dl
+
+loc_0046003d:
+push ebx
+call fcn_0045ed05 ; call 0x45ed05
+add esp, 4
+test eax, eax
+jne short loc_00460067 ; jne 0x460067
+mov eax, esp
+push eax
+push ebx
+call fcn_0045ffab ; call 0x45ffab
+add esp, 8
+test eax, eax
+je short loc_00460067 ; je 0x460067
+push ebx
+call fcn_0045edbd ; call 0x45edbd
+mov ebx, eax
+add esp, 4
+jmp short loc_0046003d ; jmp 0x46003d
+
+loc_00460067:
+push ebx
+call fcn_0045ed05 ; call 0x45ed05
+add esp, 4
+test eax, eax
+je short loc_0046007d ; je 0x46007d
+cmp dword [esp + 0x10], 0
+je short loc_0046007d ; je 0x46007d
+xor ebx, ebx
+
+loc_0046007d:
+mov eax, ebx
+add esp, 4
+pop ebx
+ret
+
+fcn_00460084:
+push ebx
+push esi
+mov ebx, dword [esp + 0xc]
+xor esi, esi
+
+loc_0046008c:
+push ebx
+call fcn_0045ed05 ; call 0x45ed05
+add esp, 4
+test eax, eax
+jne short loc_004600a7 ; jne 0x4600a7
+push ebx
+call fcn_0045edbd ; call 0x45edbd
+inc esi
+add esp, 4
+mov ebx, eax
+jmp short loc_0046008c ; jmp 0x46008c
+
+loc_004600a7:
+mov eax, esi
+pop esi
+pop ebx
+ret
+
+fcn_004600ac:
+push ebx
+push esi
+push edi
+push ebp
+mov edi, dword [esp + 0x14]
+mov ebx, dword [esp + 0x18]
+mov ebp, dword [esp + 0x1c]
+xor esi, esi
+test edi, edi
+je short loc_004600fa ; je 0x4600fa
+
+loc_004600c2:
+test ebp, ebp
+jbe short loc_0046011f ; jbe 0x46011f
+cmp byte [ebx], 0
+je short loc_004600e1 ; je 0x4600e1
+push 2
+push ebx
+push edi
+call fcn_0046061b ; call 0x46061b
+add esp, 0xc
+cmp eax, 0xffffffff
+jne short loc_004600e8 ; jne 0x4600e8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_004600e1:
+mov word [edi], 0
+jmp short loc_0046011f ; jmp 0x46011f
+
+loc_004600e8:
+push ebx
+dec ebp
+call fcn_0045edbd ; call 0x45edbd
+add edi, 2
+inc esi
+add esp, 4
+mov ebx, eax
+jmp short loc_004600c2 ; jmp 0x4600c2
+
+loc_004600fa:
+cmp byte [ebx], 0
+je short loc_0046011f ; je 0x46011f
+push 2
+push ebx
+push 0
+call fcn_0046061b ; call 0x46061b
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_00460121 ; je 0x460121
+push ebx
+call fcn_0045edbd ; call 0x45edbd
+inc esi
+add esp, 4
+mov ebx, eax
+jmp short loc_004600fa ; jmp 0x4600fa
+
+loc_0046011f:
+mov eax, esi
+
+loc_00460121:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+endloc_00460126:
+db 0x53
+db 0x56
+dd 0xec835557
+dd 0x247c8b14
+dd 0xba3d6a28
+dd 0x00000002
+dd 0x24548957
+dd 0x24548908
+dd 0x0575e80c
+dd 0xc6890000
+dd 0x8508c483
+dd 0xb80a75c0
+dd 0xffffffff
+dd 0x00012de9
+dd 0x74f83900
+dd 0x29c589f2
+dd 0x01fdd1fd
+dd 0x02458ded
+dd 0x6e12e850
+dd 0xc483ffff
+dd 0x89c38904
+dd 0x85082444
+dd 0x55d474c0
+dd 0x65e85057
+dd 0x83ffff6c
+dd 0xc6830cc4
+dd 0xc7665602
+dd 0x00002b04
+dd 0x10247489
+dd 0xffc845e8
+dd 0x04c483ff
+dd 0x4874c085
+dd 0x4489c001
+dd 0xc0831024
+dd 0xd1e85002
+dd 0x89ffff6d
+dd 0x04c483c6
+dd 0xc085c589
+dd 0xe8531075
+dd 0xffff6c51
+dd 0xffffffb8
+dd 0x00b9e9ff
+dd 0x448b0000
+dd 0x8b501024
+dd 0x52102454
+dd 0x6c0ee856
+dd 0xc483ffff
+dd 0x2474030c
+dd 0x06c76610
+dd 0x02eb0000
+dd 0x8b55ed31
+dd 0x510c244c
+dd 0x0004e9e8
+dd 0x08c48300
+dd 0x0824748b
+dd 0xe8c38956
+dd 0xffff6c0d
+dd 0x5504c483
+dd 0xff6c04e8
+dd 0x04c483ff
+dd 0x840fdb85
+dd 0xffffff37
+db 0x83
+db 0x3d
+dd ref_00499948
+db 0x00
+db 0x75
+dd 0x059de805
+dd 0xe8570000
+dd 0x00000062
+dd 0x8504c483
+dd 0x18850fc0
+dd 0x57ffffff
+dd 0xffc7a1e8
+dd 0x04c483ff
+dd 0x8b01708d
+dd 0xaf0f2404
+dd 0x31e850c6
+dd 0x89ffff6d
+dd 0x04c483c3
+dd 0x0c75c085
+dd 0xdee8056a
+dd 0xe9ffffbb
+dd 0xffffff5c
+dd 0x2474af0f
+dd 0x53575604
+dd 0x0005b0e8
+dd 0x0cc48300
+dd 0x0ffff883
+dd 0xffff3d84
+dd 0xf7e853ff
+dd 0x83fffff9
+dd 0xc48304c4
+dd 0x5e5f5d14
+db 0x5b
+db 0xc3
+
+fcn_0046028e:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 8
+mov edx, dword [esp + 0x1c]
+test edx, edx
+jne short loc_004602a7 ; jne 0x4602a7
+
+loc_0046029d:
+mov eax, 0xffffffff
+jmp near loc_004603ec ; jmp 0x4603ec
+
+loc_004602a7:
+cmp word [edx], 0
+je short loc_004602c4 ; je 0x4602c4
+mov eax, dword [esp + 0x1c]
+jmp short loc_004602b9 ; jmp 0x4602b9
+
+loc_004602b3:
+cmp bx, 0x3d
+je short loc_004602c4 ; je 0x4602c4
+
+loc_004602b9:
+add eax, 2
+mov bx, word [eax]
+test bx, bx
+jne short loc_004602b3 ; jne 0x4602b3
+
+loc_004602c4:
+cmp word [eax], 0
+je short loc_0046029d ; je 0x46029d
+cmp word [eax + 2], 0
+sete al
+mov ebx, dword [ref_00499948] ; mov ebx, dword [0x499948]
+movzx esi, al
+test ebx, ebx
+jne short loc_0046030e ; jne 0x46030e
+test esi, esi
+jne near loc_004603ea ; jne 0x4603ea
+push 9
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov ebx, eax
+test eax, eax
+je short loc_0046029d ; je 0x46029d
+mov dword [ref_00499948], eax ; mov dword [0x499948], eax
+mov dword [eax], esi
+add eax, 8
+mov dword [eax - 4], esi
+mov dword [ref_00499940], eax ; mov dword [0x499940], eax
+jmp near loc_004603d4 ; jmp 0x4603d4
+
+loc_0046030e:
+push esi
+mov ecx, dword [esp + 0x20]
+push ecx
+call fcn_004603f4 ; call 0x4603f4
+add esp, 8
+test esi, esi
+jne near loc_004603ea ; jne 0x4603ea
+test eax, eax
+jg near loc_004603d1 ; jg 0x4603d1
+neg eax
+mov esi, eax
+inc eax
+mov dword [esp + 4], eax
+mov eax, esi
+shl eax, 2
+mov dword [esp], eax
+lea ebp, [eax + 8]
+mov eax, dword [esp + 4]
+mov edi, dword [ref_00499940] ; mov edi, dword [0x499940]
+add eax, ebp
+test edi, edi
+jne short loc_00460392 ; jne 0x460392
+push eax
+call fcn_00456f80 ; call 0x456f80
+mov edi, eax
+add esp, 4
+mov ebx, eax
+test eax, eax
+je near loc_0046029d ; je 0x46029d
+mov ecx, dword [esp]
+push ecx
+mov eax, dword [ref_00499948] ; mov eax, dword [0x499948]
+push eax
+push edi
+call fcn_00456de8 ; call 0x456de8
+add esp, 0xc
+mov edx, dword [esp + 4]
+push edx
+push 0
+add edi, ebp
+push edi
+mov dword [ref_00499940], edi ; mov dword [0x499940], edi
+call fcn_00456f60 ; call 0x456f60
+add esp, 0xc
+jmp short loc_004603bf ; jmp 0x4603bf
+
+loc_00460392:
+push eax
+push ebx
+call fcn_0045c585 ; call 0x45c585
+add esp, 8
+mov ebx, eax
+test eax, eax
+je near loc_0046029d ; je 0x46029d
+push esi
+mov edx, dword [ref_00499940] ; mov edx, dword [0x499940]
+push edx
+add ebp, eax
+push ebp
+call fcn_004604f4 ; call 0x4604f4
+add esp, 0xc
+mov dword [ref_00499940], ebp ; mov dword [0x499940], ebp
+
+loc_004603bf:
+mov eax, esi
+mov dword [ref_00499948], ebx ; mov dword [0x499948], ebx
+mov dword [ebx + eax*4 + 4], 0
+jmp short loc_004603d4 ; jmp 0x4603d4
+
+loc_004603d1:
+lea esi, [eax - 1]
+
+loc_004603d4:
+mov eax, esi
+shl eax, 2
+add ebx, eax
+mov eax, dword [esp + 0x1c]
+mov dword [ebx], eax
+mov eax, dword [ref_00499940] ; mov eax, dword [0x499940]
+mov byte [esi + eax], 0
+
+loc_004603ea:
+xor eax, eax
+
+loc_004603ec:
+add esp, 8
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004603f4:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, dword [ref_00499948] ; mov ebp, dword [0x499948]
+jmp near loc_004604da ; jmp 0x4604da
+
+loc_00460403:
+mov esi, dword [esp + 0x14]
+jmp near loc_004604cd ; jmp 0x4604cd
+
+loc_0046040c:
+xor eax, eax
+mov ax, word [ebx]
+push eax
+call fcn_004608e2 ; call 0x4608e2
+mov edi, eax
+xor eax, eax
+add esp, 4
+mov ax, word [esi]
+push eax
+call fcn_004608e2 ; call 0x4608e2
+add esp, 4
+cmp di, ax
+jne near loc_004604d7 ; jne 0x4604d7
+cmp word [ebx], 0x3d
+jne near loc_004604c7 ; jne 0x4604c7
+mov edx, dword [ref_00499948] ; mov edx, dword [0x499948]
+mov esi, ebp
+sub esi, edx
+mov ebx, dword [esp + 0x18]
+sar esi, 2
+test ebx, ebx
+je near loc_004604bf ; je 0x4604bf
+mov ebx, ebp
+mov edx, dword [ebp]
+jmp short loc_00460465 ; jmp 0x460465
+
+loc_0046045d:
+mov eax, dword [ebx + 4]
+mov dword [ebx], eax
+add ebx, 4
+
+loc_00460465:
+cmp dword [ebx], 0
+jne short loc_0046045d ; jne 0x46045d
+mov edi, dword [ref_00499940] ; mov edi, dword [0x499940]
+test edi, edi
+je short loc_004604b8 ; je 0x4604b8
+mov eax, edi
+cmp byte [esi + eax], 0
+je short loc_00460485 ; je 0x460485
+push edx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_00460485:
+mov eax, dword [ref_00499948] ; mov eax, dword [0x499948]
+mov ebp, ebx
+sub ebp, eax
+sar ebp, 2
+push ebp
+mov edx, dword [ref_00499940] ; mov edx, dword [0x499940]
+push edx
+push ebx
+call fcn_004604f4 ; call 0x4604f4
+add esp, 0xc
+mov dword [ref_00499940], ebx ; mov dword [0x499940], ebx
+lea eax, [esi + ebx]
+jmp short loc_004604b4 ; jmp 0x4604b4
+
+loc_004604ad:
+mov bl, byte [eax + 1]
+inc esi
+mov byte [eax], bl
+inc eax
+
+loc_004604b4:
+cmp esi, ebp
+jl short loc_004604ad ; jl 0x4604ad
+
+loc_004604b8:
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_004604bf:
+lea eax, [esi + 1]
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_004604c7:
+add ebx, 2
+add esi, 2
+
+loc_004604cd:
+cmp word [esi], 0
+jne near loc_0046040c ; jne 0x46040c
+
+loc_004604d7:
+add ebp, 4
+
+loc_004604da:
+mov ebx, dword [ebp]
+test ebx, ebx
+jne near loc_00460403 ; jne 0x460403
+mov eax, dword [ref_00499948] ; mov eax, dword [0x499948]
+sub eax, ebp
+sar eax, 2
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004604f4:
+push esi
+push edi
+mov eax, dword [esp + 0xc]
+mov esi, dword [esp + 0x10]
+mov ecx, dword [esp + 0x14]
+cmp esi, eax
+je short loc_00460543 ; je 0x460543
+jae short loc_0046052f ; jae 0x46052f
+lea edx, [esi + ecx]
+cmp edx, eax
+jbe short loc_0046052f ; jbe 0x46052f
+lea edi, [eax + ecx]
+lea esi, [edx - 1]
+dec edi
+mov edx, ds
+push es
+mov es, edx
+std
+dec esi
+dec edi
+shr ecx, 1
+db 0x66, 0xf3, 0xa5 ; rep movsd dword es:[edi], dword ptr [esi]
+adc ecx, ecx
+inc esi
+inc edi
+db 0x66, 0xf3, 0xa4 ; rep movsb byte es:[edi], byte ptr [esi]
+pop es
+cld
+pop edi
+pop esi
+ret
+
+loc_0046052f:
+mov edx, ds
+mov edi, eax
+push es
+mov es, edx
+push ecx
+shr ecx, 2
+rep movsd ; rep movsd dword es:[edi], dword ptr [esi]
+pop ecx
+and ecx, 3
+rep movsb ; rep movsb byte es:[edi], byte ptr [esi]
+pop es
+
+loc_00460543:
+pop edi
+pop esi
+ret
+
+fcn_00460546:
+mov eax, dword [esp + 4]
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_0046057a ; je 0x46057a
+xor edx, edx
+mov dl, byte [eax]
+mov dl, byte [edx + ref_0049995d] ; mov dl, byte [edx + 0x49995d]
+and dl, 1
+and edx, 0xff
+je short loc_0046057a ; je 0x46057a
+xor edx, edx
+mov dl, byte [eax]
+shl edx, 8
+mov al, byte [eax + 1]
+and eax, 0xff
+or eax, edx
+ret
+
+loc_0046057a:
+mov al, byte [eax]
+and eax, 0xff
+ret
+
+fcn_00460582:
+push ebx
+push esi
+sub esp, 4
+mov eax, esp
+push eax
+mov edx, dword [esp + 0x14]
+push edx
+call fcn_004605fd ; call 0x4605fd
+add esp, 8
+mov eax, esp
+push eax
+call fcn_0045ff1a ; call 0x45ff1a
+add esp, 4
+xor dl, dl
+mov ebx, dword [ref_00489738] ; mov ebx, dword [0x489738]
+mov byte [esp + eax], dl
+cmp ebx, 0x3a4
+jne short loc_004605de ; jne 0x4605de
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_004605de ; je 0x4605de
+xor eax, eax
+mov al, byte [esp]
+mov al, byte [eax + ref_0049995d] ; mov al, byte [eax + 0x49995d]
+and al, 1
+and eax, 0xff
+je short loc_004605de ; je 0x4605de
+mov esi, dword [esp + 0x10]
+push esi
+call fcn_004608f9 ; call 0x4608f9
+jmp short loc_004605f4 ; jmp 0x4605f4
+
+loc_004605de:
+push 1
+lea eax, [esp + 4]
+push eax
+call dword [cs:__imp__CharUpperBuffA@8] ; ucall: call dword cs:[0x4622d0]
+mov eax, esp
+push eax
+call fcn_00460546 ; call 0x460546
+
+loc_004605f4:
+add esp, 4
+add esp, 4
+pop esi
+pop ebx
+ret
+
+fcn_004605fd:
+push ebx
+mov ebx, dword [esp + 8]
+mov eax, dword [esp + 0xc]
+test bh, 0xff
+je short loc_00460617 ; je 0x460617
+mov edx, ebx
+mov byte [eax + 1], bl
+shr edx, 8
+mov byte [eax], dl
+pop ebx
+ret
+
+loc_00460617:
+mov byte [eax], bl
+pop ebx
+ret
+
+fcn_0046061b:
+push ebx
+push esi
+push edi
+push ebp
+mov ebp, esp
+sub esp, 4
+mov esi, dword [ebp + 0x14]
+mov ebx, dword [ebp + 0x18]
+test ebx, ebx
+jne short loc_00460635 ; jne 0x460635
+
+loc_0046062e:
+xor eax, eax
+jmp near loc_004606b4 ; jmp 0x4606b4
+
+loc_00460635:
+cmp dword [ebp + 0x1c], 0
+jbe near loc_004606af ; jbe 0x4606af
+cmp byte [ebx], 0
+jne short loc_0046064f ; jne 0x46064f
+test esi, esi
+je short loc_0046062e ; je 0x46062e
+mov word [esi], 0
+jmp short loc_0046062e ; jmp 0x46062e
+
+loc_0046064f:
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_00460671 ; je 0x460671
+xor eax, eax
+mov al, byte [ebx]
+mov al, byte [eax + ref_0049995d] ; mov al, byte [eax + 0x49995d]
+and al, 1
+and eax, 0xff
+je short loc_00460671 ; je 0x460671
+cmp byte [ebx + 1], 0
+je short loc_004606af ; je 0x4606af
+
+loc_00460671:
+push ebx
+call fcn_0045ff1a ; call 0x45ff1a
+add esp, 4
+push 1
+lea edx, [ebp - 4]
+push edx
+mov edx, dword [ebp + 0x1c]
+mov edi, eax
+cmp eax, edx
+jbe short loc_0046068b ; jbe 0x46068b
+mov eax, edx
+
+loc_0046068b:
+push eax
+push ebx
+push 8
+mov ebx, dword [ref_00489738] ; mov ebx, dword [0x489738]
+push ebx
+call dword [cs:__imp__MultiByteToWideChar@24] ; ucall: call dword cs:[0x4623e4]
+test eax, eax
+je short loc_004606af ; je 0x4606af
+test esi, esi
+je short loc_004606ab ; je 0x4606ab
+mov eax, dword [ebp - 4]
+mov word [esi], ax
+
+loc_004606ab:
+mov eax, edi
+jmp short loc_004606b4 ; jmp 0x4606b4
+
+loc_004606af:
+mov eax, 0xffffffff
+
+loc_004606b4:
+mov esp, ebp
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004606bb:
+push ebx
+
+fcn_004606bc: ; not directly referenced
+push ebp
+mov ebp, esp
+mov edx, dword [ebp + 0xc]
+mov ebx, dword [ebp + 0x10]
+
+loc_004606c5:
+cmp bx, word [edx]
+jne short loc_004606cf ; jne 0x4606cf
+mov eax, edx
+pop ebp
+pop ebx
+ret
+
+loc_004606cf:
+mov eax, edx
+inc edx
+inc edx
+cmp word [eax], 0
+jne short loc_004606c5 ; jne 0x4606c5
+xor eax, eax
+pop ebp
+pop ebx
+ret
+
+fcn_004606de:
+push ebx
+push esi
+push edi
+push ebp
+cmp word [ref_00489355], 0x8000 ; cmp word [0x489355], 0x8000
+jae short loc_00460703 ; jae 0x460703
+mov edx, dword [esp + 0x18]
+push edx
+mov ebx, dword [esp + 0x18]
+push ebx
+call dword [cs:__imp__SetEnvironmentVariableW@8] ; ucall: call dword cs:[0x4623fc]
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00460703:
+mov edx, dword [esp + 0x14]
+push edx
+call fcn_0045c9de ; call 0x45c9de
+add eax, eax
+add esp, 4
+lea esi, [eax + 1]
+push esi
+call fcn_00456f80 ; call 0x456f80
+mov edi, eax
+add esp, 4
+mov ebp, eax
+test eax, eax
+je near loc_004607be ; je 0x4607be
+mov ebx, dword [esp + 0x18]
+test ebx, ebx
+je short loc_00460752 ; je 0x460752
+push ebx
+call fcn_0045c9de ; call 0x45c9de
+add eax, eax
+add esp, 4
+lea esi, [eax + 1]
+push esi
+call fcn_00456f80 ; call 0x456f80
+add esp, 4
+mov ebx, eax
+test eax, eax
+jne short loc_00460752 ; jne 0x460752
+push edi
+jmp short loc_00460774 ; jmp 0x460774
+
+loc_00460752:
+push esi
+mov edi, dword [esp + 0x18]
+push edi
+push ebp
+call fcn_00460821 ; call 0x460821
+add esp, 0xc
+cmp eax, 0xffffffff
+jne short loc_00460783 ; jne 0x460783
+push ebp
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+test ebx, ebx
+je short loc_0046077c ; je 0x46077c
+
+loc_00460773:
+push ebx
+
+loc_00460774:
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_0046077c:
+xor eax, eax
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+loc_00460783:
+test ebx, ebx
+je short loc_0046079b ; je 0x46079b
+push esi
+mov eax, dword [esp + 0x1c]
+push eax
+push ebx
+call fcn_00460821 ; call 0x460821
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_00460773 ; je 0x460773
+
+loc_0046079b:
+push ebx
+push ebp
+call dword [cs:__imp__SetEnvironmentVariableA@8] ; ucall: call dword cs:[0x4623f8]
+push ebp
+mov esi, eax
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+test ebx, ebx
+je short loc_004607bc ; je 0x4607bc
+push ebx
+call fcn_00456e11 ; call 0x456e11
+add esp, 4
+
+loc_004607bc:
+mov eax, esi
+
+loc_004607be:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004607c3:
+push ebx
+push esi
+push edi
+push ebp
+mov esi, dword [ref_00499944] ; mov esi, dword [0x499944]
+test esi, esi
+je short loc_0046081c ; je 0x46081c
+
+loc_004607d1:
+mov edi, dword [esi]
+add esi, 4
+test edi, edi
+je short loc_0046081c ; je 0x46081c
+push edi
+call fcn_00460084 ; call 0x460084
+lea ebp, [eax + 1]
+add esp, 4
+lea eax, [ebp + ebp]
+push eax
+call fcn_00456f80 ; call 0x456f80
+mov ebx, eax
+add esp, 4
+test eax, eax
+je short loc_004607d1 ; je 0x4607d1
+push ebp
+push edi
+push eax
+call fcn_004600ac ; call 0x4600ac
+add esp, 0xc
+cmp eax, 0xffffffff
+je short loc_00460814 ; je 0x460814
+push ebx
+call fcn_0046028e ; call 0x46028e
+
+loc_0046080f:
+add esp, 4
+jmp short loc_004607d1 ; jmp 0x4607d1
+
+loc_00460814:
+push ebx
+call fcn_00456e11 ; call 0x456e11
+jmp short loc_0046080f ; jmp 0x46080f
+
+loc_0046081c:
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_00460821:
+push ebx
+push esi
+push edi
+push ebp
+sub esp, 4
+mov ebx, dword [esp + 0x1c]
+mov edx, dword [esp + 0x18]
+xor ebp, ebp
+test edx, edx
+je near loc_004608b1 ; je 0x4608b1
+
+loc_0046083a:
+cmp dword [esp + 0x20], 0
+jbe near loc_004608d8 ; jbe 0x4608d8
+mov cx, word [ebx]
+test cx, cx
+je short loc_00460873 ; je 0x460873
+xor eax, eax
+mov ax, cx
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_0045ce30 ; call 0x45ce30
+mov edx, eax
+add esp, 8
+cmp eax, 0xffffffff
+je near loc_004608da ; je 0x4608da
+cmp eax, dword [esp + 0x20]
+ja short loc_004608d8 ; ja 0x4608d8
+jmp short loc_0046087c ; jmp 0x46087c
+
+loc_00460873:
+mov eax, dword [esp + 0x18]
+mov byte [eax], 0
+jmp short loc_004608d8 ; jmp 0x4608d8
+
+loc_0046087c:
+mov esi, esp
+mov edi, dword [esp + 0x18]
+mov ecx, eax
+push es
+mov eax, ds
+mov es, eax
+push edi
+mov eax, ecx
+shr ecx, 2
+repne movsd
+mov cl, al
+and cl, 3
+repne movsb ; repne movsb byte es:[edi], byte ptr [esi]
+pop edi
+pop es
+add ebx, 2
+add ebp, edx
+mov eax, dword [esp + 0x20]
+add edi, edx
+sub eax, edx
+mov dword [esp + 0x18], edi
+mov dword [esp + 0x20], eax
+jmp short loc_0046083a ; jmp 0x46083a
+
+loc_004608b1:
+mov dx, word [ebx]
+test dx, dx
+je short loc_004608d8 ; je 0x4608d8
+xor eax, eax
+mov ax, dx
+push eax
+lea eax, [esp + 4]
+push eax
+call fcn_0045ce30 ; call 0x45ce30
+add esp, 8
+cmp eax, 0xffffffff
+je short loc_004608da ; je 0x4608da
+add ebx, 2
+add ebp, eax
+jmp short loc_004608b1 ; jmp 0x4608b1
+
+loc_004608d8:
+mov eax, ebp
+
+loc_004608da:
+add esp, 4
+pop ebp
+pop edi
+pop esi
+pop ebx
+ret
+
+fcn_004608e2:
+push ebp
+mov ebp, esp
+mov eax, dword [ebp + 8]
+cmp ax, 0x61
+jb short loc_004608f7 ; jb 0x4608f7
+cmp ax, 0x7a
+ja short loc_004608f7 ; ja 0x4608f7
+sub eax, 0x20
+
+loc_004608f7:
+pop ebp
+ret
+
+fcn_004608f9:
+mov edx, dword [esp + 4]
+push edx
+call fcn_00460917 ; call 0x460917
+add esp, 4
+test eax, eax
+je short loc_00460912 ; je 0x460912
+mov eax, dword [esp + 4]
+sub eax, 0x21
+ret
+
+loc_00460912:
+mov eax, dword [esp + 4]
+ret
+
+fcn_00460917:
+push ebx
+mov ebx, dword [esp + 8]
+push ebx
+call fcn_0046095c ; call 0x46095c
+add esp, 4
+test eax, eax
+je short loc_00460944 ; je 0x460944
+cmp ebx, 0x8281
+jb short loc_00460940 ; jb 0x460940
+cmp ebx, 0x829a
+ja short loc_00460940 ; ja 0x460940
+mov eax, 1
+pop ebx
+ret
+
+loc_00460940:
+xor eax, eax
+pop ebx
+ret
+
+loc_00460944:
+mov al, bl
+inc al
+and eax, 0xff
+mov al, byte [eax + ref_00489370] ; mov al, byte [eax + 0x489370]
+and al, 0x80
+and eax, 0xff
+pop ebx
+ret
+
+fcn_0046095c:
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_0046099c ; je 0x46099c
+mov eax, dword [esp + 4]
+shr eax, 8
+and eax, 0xff
+mov al, byte [eax + ref_0049995d] ; mov al, byte [eax + 0x49995d]
+and al, 1
+and eax, 0xff
+je short loc_0046099c ; je 0x46099c
+mov eax, dword [esp + 4]
+and eax, 0xff
+push eax
+call fcn_0046099f ; call 0x46099f
+add esp, 4
+test eax, eax
+je short loc_0046099c ; je 0x46099c
+mov eax, 1
+ret
+
+loc_0046099c:
+xor eax, eax
+ret
+
+fcn_0046099f:
+cmp dword [ref_00499958], 0 ; cmp dword [0x499958], 0
+je short loc_004609d5 ; je 0x4609d5
+cmp dword [ref_00489738], 0x3a4 ; cmp dword [0x489738], 0x3a4
+je short loc_004609c1 ; je 0x4609c1
+cmp dword [esp + 4], 0
+je short loc_004609d5 ; je 0x4609d5
+mov eax, 1
+ret
+
+loc_004609c1:
+xor eax, eax
+mov al, byte [esp + 4]
+mov al, byte [eax + ref_004897c9] ; mov al, byte [eax + 0x4897c9]
+and al, 8
+and eax, 0xff
+ret
+
+loc_004609d5:
+xor eax, eax
+ret
+
+fcn_004609d8:
+push eax
+push ebx
+push ecx
+mov eax, dword [esp + 0x16]
+xor eax, 0x700
+test eax, 0x700
+jne near loc_00460b72 ; jne 0x460b72
+shr eax, 0xb
+and eax, 0xf
+cmp byte [eax + ref_00489914], 0 ; cmp byte [eax + 0x489914], 0
+je near loc_00460b72 ; je 0x460b72
+mov eax, dword [esp + 0x16]
+and eax, 0x7fff0000
+cmp eax, 0x7fff0000
+je near loc_00460b72 ; je 0x460b72
+mov eax, dword [esp + 0x2e]
+and eax, 0x7fff0000
+je near loc_00460b72 ; je 0x460b72
+cmp eax, 0x7fff0000
+je near loc_00460b72 ; je 0x460b72
+mov eax, dword [esp + 0x2c]
+add eax, eax
+jne near loc_00460b72 ; jne 0x460b72
+mov eax, dword [esp + 0x14]
+add eax, eax
+jne near loc_00460b72 ; jne 0x460b72
+mov eax, dword [esp + 0x18]
+and eax, 0x7fff
+add eax, 0x3f
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+sub ebx, eax
+ja short loc_00460ac0 ; ja 0x460ac0
+
+loc_00460a62:
+mov eax, dword [esp + 0x18]
+and eax, 0x7fff
+add eax, 0xa
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+sub ebx, eax
+js near loc_00460b72 ; js 0x460b72
+fld tword [esp + 0x28] ; fld xword [esp + 0x28]
+mov eax, dword [esp + 0x18]
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+mov ecx, ebx
+sub ebx, eax
+and ebx, 7
+or ebx, 4
+sub ecx, ebx
+mov ebx, eax
+and ebx, 0x8000
+or ecx, ebx
+mov dword [esp + 0x18], ecx
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+mov dword [esp + 0x18], eax
+fxch st1 ; fxch st(1)
+fprem
+fstp tword [esp + 0x28] ; fstp xword [esp + 0x28]
+fstp st0 ; fstp st(0)
+jmp short loc_00460a62 ; jmp 0x460a62
+
+loc_00460ac0:
+test edx, 2
+jne short loc_00460ad0 ; jne 0x460ad0
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+fstp tword [esp + 0x1c] ; fstp xword [esp + 0x1c]
+
+loc_00460ad0:
+fnstcw word [esp + 0x34]
+mov eax, dword [esp + 0x34]
+or eax, 0x33f
+mov dword [esp + 0x38], eax
+fldcw word [esp + 0x38]
+mov eax, dword [esp + 0x18]
+and eax, 0x7fff
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+sub ebx, eax
+and ebx, 0x3f
+or ebx, 0x20
+add ebx, 1
+mov ecx, ebx
+mov eax, dword [esp + 0x18]
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+and eax, 0x8000
+or ebx, eax
+mov dword [esp + 0x18], ebx
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+fabs
+fld tword [esp + 0x28] ; fld xword [esp + 0x28]
+fabs
+
+loc_00460b2a:
+fcom st1 ; fcom st(1)
+fnstsw ax
+and eax, 0x100
+jne short loc_00460b37 ; jne 0x460b37
+fsub st1 ; fsub st(1)
+
+loc_00460b37:
+fxch st1 ; fxch st(1)
+fmul qword [ref_00489944] ; fmul qword [0x489944]
+fxch st1 ; fxch st(1)
+sub ecx, 1
+jne short loc_00460b2a ; jne 0x460b2a
+mov ebx, dword [esp + 0x30]
+fstp tword [esp + 0x28] ; fstp xword [esp + 0x28]
+fstp st0 ; fstp st(0)
+fld tword [esp + 0x1c] ; fld xword [esp + 0x1c]
+fld tword [ref_0048994c] ; fld xword [0x48994c]
+fprem
+fstp st0 ; fstp st(0)
+fld tword [esp + 0x28] ; fld xword [esp + 0x28]
+fldcw word [esp + 0x34]
+and ebx, 0x8000
+je short loc_00460b7c ; je 0x460b7c
+fchs
+jmp short loc_00460b7c ; jmp 0x460b7c
+
+loc_00460b72:
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+fld tword [esp + 0x28] ; fld xword [esp + 0x28]
+fprem
+
+loc_00460b7c:
+test edx, 3
+je short loc_00460bda ; je 0x460bda
+fnstsw [esp + 0x3c]
+test edx, 1
+je short loc_00460baf ; je 0x460baf
+fnstcw word [esp + 0x34]
+mov eax, dword [esp + 0x34]
+or eax, 0x300
+mov dword [esp + 0x38], eax
+fldcw word [esp + 0x38]
+fmul qword [ref_00489934] ; fmul qword [0x489934]
+fldcw word [esp + 0x34]
+
+loc_00460baf:
+mov eax, dword [esp + 0x3c]
+fxch st1 ; fxch st(1)
+fstp st0 ; fstp st(0)
+fld tword [esp + 0x1c] ; fld xword [esp + 0x1c]
+fxch st1 ; fxch st(1)
+and eax, 0x4300
+sub esp, 0x1c
+fnstenv [esp]
+and dword [esp + 4], 0xbcff
+or dword [esp + 4], eax
+fldenv [esp]
+add esp, 0x1c
+
+loc_00460bda:
+pop ecx
+pop ebx
+pop eax
+ret
+
+fcn_00460bde:
+push edx
+sub esp, 0x30
+fstp tword [esp + 0x18] ; fstp xword [esp + 0x18]
+fstp tword [esp] ; fstp xword [esp]
+xor edx, edx
+mov eax, dword [esp + 6]
+test eax, 0x7fff0000
+je short loc_00460c00 ; je 0x460c00
+call fcn_004609d8 ; call 0x4609d8
+add esp, 0x30
+pop edx
+ret
+
+loc_00460c00:
+fld tword [esp] ; fld xword [esp]
+fld tword [esp + 0x18] ; fld xword [esp + 0x18]
+mov eax, dword [esp]
+or eax, dword [esp + 4]
+je short loc_00460c89 ; je 0x460c89
+fxch st1 ; fxch st(1)
+fstp tword [esp + 0xc] ; fstp xword [esp + 0xc]
+fld tword [esp] ; fld xword [esp]
+fxch st1 ; fxch st(1)
+or edx, 2
+fnstcw word [esp + 0x24]
+mov eax, dword [esp + 0x24]
+or eax, 0x33f
+mov dword [esp + 0x28], eax
+fldcw word [esp + 0x28]
+mov eax, dword [esp + 0x20]
+and eax, 0x7fff
+cmp eax, 0x7fbe
+ja short loc_00460c5b ; ja 0x460c5b
+or edx, 1
+fmul qword [ref_0048992c] ; fmul qword [0x48992c]
+fstp tword [esp + 0x18] ; fstp xword [esp + 0x18]
+fmul qword [ref_0048992c] ; fmul qword [0x48992c]
+fstp tword [esp] ; fstp xword [esp]
+jmp short loc_00460c7b ; jmp 0x460c7b
+
+loc_00460c5b:
+fnstcw word [esp + 0x24]
+mov eax, dword [esp + 0x24]
+or eax, 0x300
+mov dword [esp + 0x28], eax
+fldcw word [esp + 0x28]
+fstp st0 ; fstp st(0)
+fmul qword [ref_0048992c] ; fmul qword [0x48992c]
+fstp tword [esp] ; fstp xword [esp]
+
+loc_00460c7b:
+fldcw word [esp + 0x24]
+call fcn_004609d8 ; call 0x4609d8
+add esp, 0x30
+pop edx
+ret
+
+loc_00460c89:
+fprem
+add esp, 0x30
+pop edx
+ret
+
+fcn_00460c90:
+push eax
+push ebx
+push ecx
+mov eax, dword [esp + 0x16]
+xor eax, 0x700
+test eax, 0x700
+jne near loc_00460e2a ; jne 0x460e2a
+shr eax, 0xb
+and eax, 0xf
+cmp byte [eax + ref_00489914], 0 ; cmp byte [eax + 0x489914], 0
+je near loc_00460e2a ; je 0x460e2a
+mov eax, dword [esp + 0x16]
+and eax, 0x7fff0000
+cmp eax, 0x7fff0000
+je near loc_00460e2a ; je 0x460e2a
+mov eax, dword [esp + 0x2e]
+and eax, 0x7fff0000
+je near loc_00460e2a ; je 0x460e2a
+cmp eax, 0x7fff0000
+je near loc_00460e2a ; je 0x460e2a
+mov eax, dword [esp + 0x2c]
+add eax, eax
+jne near loc_00460e2a ; jne 0x460e2a
+mov eax, dword [esp + 0x14]
+add eax, eax
+jne near loc_00460e2a ; jne 0x460e2a
+mov eax, dword [esp + 0x18]
+and eax, 0x7fff
+add eax, 0x3f
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+sub ebx, eax
+ja short loc_00460d78 ; ja 0x460d78
+
+loc_00460d1a:
+mov eax, dword [esp + 0x18]
+and eax, 0x7fff
+add eax, 0xa
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+sub ebx, eax
+js near loc_00460e2a ; js 0x460e2a
+fld tword [esp + 0x28] ; fld xword [esp + 0x28]
+mov eax, dword [esp + 0x18]
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+mov ecx, ebx
+sub ebx, eax
+and ebx, 7
+or ebx, 4
+sub ecx, ebx
+mov ebx, eax
+and ebx, 0x8000
+or ecx, ebx
+mov dword [esp + 0x18], ecx
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+mov dword [esp + 0x18], eax
+fxch st1 ; fxch st(1)
+fprem
+fstp tword [esp + 0x28] ; fstp xword [esp + 0x28]
+fstp st0 ; fstp st(0)
+jmp short loc_00460d1a ; jmp 0x460d1a
+
+loc_00460d78:
+test ebx, 2
+jne short loc_00460d88 ; jne 0x460d88
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+fstp tword [esp + 0x1c] ; fstp xword [esp + 0x1c]
+
+loc_00460d88:
+fnstcw word [esp + 0x34]
+mov eax, dword [esp + 0x34]
+or eax, 0x33f
+mov dword [esp + 0x38], eax
+fldcw word [esp + 0x38]
+mov eax, dword [esp + 0x18]
+and eax, 0x7fff
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+sub ebx, eax
+and ebx, 0x3f
+or ebx, 0x20
+add ebx, 1
+mov ecx, ebx
+mov eax, dword [esp + 0x18]
+mov ebx, dword [esp + 0x30]
+and ebx, 0x7fff
+and eax, 0x8000
+or ebx, eax
+mov dword [esp + 0x18], ebx
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+fabs
+fld tword [esp + 0x28] ; fld xword [esp + 0x28]
+fabs
+
+loc_00460de2:
+fcom st1 ; fcom st(1)
+fnstsw ax
+and eax, 0x100
+jne short loc_00460def ; jne 0x460def
+fsub st1 ; fsub st(1)
+
+loc_00460def:
+fxch st1 ; fxch st(1)
+fmul qword [ref_00489944] ; fmul qword [0x489944]
+fxch st1 ; fxch st(1)
+sub ecx, 1
+jne short loc_00460de2 ; jne 0x460de2
+mov ebx, dword [esp + 0x30]
+fstp tword [esp + 0x28] ; fstp xword [esp + 0x28]
+fstp st0 ; fstp st(0)
+fld tword [esp + 0x1c] ; fld xword [esp + 0x1c]
+fld tword [ref_0048994c] ; fld xword [0x48994c]
+fprem1
+fstp st0 ; fstp st(0)
+fld tword [esp + 0x28] ; fld xword [esp + 0x28]
+fldcw word [esp + 0x34]
+and ebx, 0x8000
+je short loc_00460e34 ; je 0x460e34
+fchs
+jmp short loc_00460e34 ; jmp 0x460e34
+
+loc_00460e2a:
+fld tword [esp + 0x10] ; fld xword [esp + 0x10]
+fld tword [esp + 0x28] ; fld xword [esp + 0x28]
+fprem1
+
+loc_00460e34:
+test edx, 3
+je short loc_00460e92 ; je 0x460e92
+fnstsw [esp + 0x3c]
+test edx, 1
+je short loc_00460e67 ; je 0x460e67
+fnstcw word [esp + 0x34]
+mov eax, dword [esp + 0x34]
+or eax, 0x300
+mov dword [esp + 0x38], eax
+fldcw word [esp + 0x38]
+fmul qword [ref_00489934] ; fmul qword [0x489934]
+fldcw word [esp + 0x34]
+
+loc_00460e67:
+mov eax, dword [esp + 0x3c]
+fxch st1 ; fxch st(1)
+fstp st0 ; fstp st(0)
+fld tword [esp + 0x1c] ; fld xword [esp + 0x1c]
+fxch st1 ; fxch st(1)
+and eax, 0x4300
+sub esp, 0x1c
+fnstenv [esp]
+and dword [esp + 4], 0xbcff
+or dword [esp + 4], eax
+fldenv [esp]
+add esp, 0x1c
+
+loc_00460e92:
+pop ecx
+pop ebx
+pop eax
+ret
+
+endloc_00460e96:
+db 0x52
+db 0x83
+dd 0x7cdb30ec
+dd 0x3cdb1824
+dd 0x0000ba24
+dd 0x448b0000
+dd 0x00a90624
+dd 0x747fff00
+dd 0xfddae80a
+dd 0xc483ffff
+dd 0xdbc35a30
+dd 0x6cdb242c
+dd 0x048b1824
+dd 0x24440b24
+dd 0xd9797404
+dd 0x247cdbc9
+dd 0x242cdb0c
+dd 0xca83c9d9
+dd 0x247cd902
+dd 0x24448b24
+dd 0x033f0d24
+dd 0x44890000
+dd 0x6cd92824
+dd 0x448b2824
+dd 0xff252024
+dd 0x3d00007f
+dd 0x00007fbe
+dd 0xca831877
+db 0x01
+db 0xdc
+db 0x0d
+dd ref_0048992c
+db 0xdb
+dd 0xdc18247c
+db 0x0d
+dd ref_0048992c
+db 0xdb
+db 0x3c
+db 0x24
+dd 0x7cd920eb
+dd 0x448b2424
+dd 0x000d2424
+dd 0x89000003
+dd 0xd9282444
+dd 0xdd28246c
+db 0xd8
+db 0xdc
+db 0x0d
+dd ref_0048992c
+db 0xdb
+dd 0x6cd9243c
+dd 0x51e82424
+dd 0x83fffffd
+dd 0xc35a30c4
+dd 0xc483f8d9
+dd 0x00c35a30
+db 0xff
+db 0x25
+db 0x28
+db 0x24
+dd 0x25ff0046
+dd 0x004623bc
+db 0xff
+db 0x25
+db 0x7c
+db 0x23
+dd 0x25ff0046
+dd 0x00462378
+db 0xff
+db 0x25
+db 0xb4
+db 0x23
+dd 0x25ff0046
+dd 0x004623d0
+db 0xff
+db 0x25
+db 0x98
+db 0x23
+dd 0x25ff0046
+dd 0x00462364
+db 0xff
+db 0x25
+db 0xb0
+db 0x23
+dd 0x25ff0046
+dd 0x00462348
+db 0xff
+db 0x25
+db 0x04
+db 0x24
+dd 0x25ff0046
+dd 0x004623a0
+db 0xff
+db 0x25
+db 0xec
+db 0x23
+dd 0x25ff0046
+dd 0x00462350
+db 0xff
+db 0x25
+db 0x94
+db 0x23
+dd 0x25ff0046
+dd 0x004622c0
+db 0xff
+db 0x25
+db 0xe4
+db 0x22
+dd 0x25ff0046
+dd 0x004622bc
+db 0xff
+db 0x25
+db 0xb8
+db 0x22
+dd 0x25ff0046
+dd 0x0046228c
+db 0xff
+db 0x25
+db 0x98
+db 0x22
+dd 0x25ff0046
+dd 0x004622c4
+db 0xff
+db 0x25
+db 0xa0
+db 0x22
+dd 0x25ff0046
+dd 0x004622b0
+db 0xff
+db 0x25
+db 0x9c
+db 0x22
+dd 0x25ff0046
+dd 0x00462294
+db 0xff
+db 0x25
+db 0xa8
+db 0x22
+dd 0x25ff0046
+dd 0x004622ac
+db 0xff
+db 0x25
+db 0xb4
+db 0x22
+dd 0x25ff0046
+dd 0x00462290
+db 0xff
+db 0x25
+db 0xf4
+db 0x22
+dd 0x25ff0046
+dd 0x00462340
+db 0xff
+db 0x25
+db 0xfc
+db 0x22
+dd 0x25ff0046
+dd 0x00462324
+db 0xff
+db 0x25
+db 0xe8
+db 0x22
+dd 0x25ff0046
+dd 0x004622cc
+db 0xff
+db 0x25
+db 0xf8
+db 0x22
+dd 0x25ff0046
+dd 0x0046232c
+db 0xff
+db 0x25
+db 0xdc
+db 0x22
+dd 0x25ff0046
+dd 0x0046233c
+db 0xff
+db 0x25
+db 0x30
+db 0x23
+dd 0x25ff0046
+dd 0x004622d4
+db 0xff
+db 0x25
+db 0xf0
+db 0x22
+dd 0x25ff0046
+dd 0x00462318
+db 0xff
+db 0x25
+db 0xa4
+db 0x22
+dd 0x25ff0046
+dd 0x00462300
+db 0xff
+db 0x25
+db 0x04
+db 0x23
+dd 0x25ff0046
+dd 0x004622d8
+db 0xff
+db 0x25
+db 0x14
+db 0x23
+dd 0x25ff0046
+dd 0x00462320
+db 0xff
+db 0x25
+db 0xe0
+db 0x22
+dd 0x25ff0046
+dd 0x00462334
+db 0xff
+db 0x25
+db 0x0c
+db 0x23
+dd 0x25ff0046
+dd 0x00462338
+db 0xff
+db 0x25
+db 0x28
+db 0x23
+dd 0x25ff0046
+dd 0x004623cc
+db 0xff
+db 0x25
+db 0x08
+db 0x23
+dd 0x25ff0046
+dd 0x00462310
+db 0xff
+db 0x25
+db 0x1c
+db 0x23
+dd 0x25ff0046
+dd 0x004622ec
+db 0xff
+db 0x25
+db 0xfc
+db 0x23
+dd 0x25ff0046
+dd 0x004622d0
+db 0xff
+db 0x25
+db 0xf8
+db 0x23
+dd 0x25ff0046
+dd 0x00462368
+db 0xff
+db 0x25
+db 0x34
+db 0x24
+dd 0x25ff0046
+dd 0x00462354
+db 0xff
+db 0x25
+db 0x90
+db 0x23
+dd 0x25ff0046
+dd 0x00462400
+db 0xff
+db 0x25
+db 0x74
+db 0x23
+dd 0x25ff0046
+dd 0x004623c0
+db 0xff
+db 0x25
+db 0x70
+db 0x23
+dd 0x25ff0046
+dd 0x0046243c
+db 0xff
+db 0x25
+db 0xf4
+db 0x23
+dd 0x25ff0046
+dd 0x00462380
+db 0xff
+db 0x25
+db 0xe8
+db 0x23
+dd 0x25ff0046
+dd 0x00462438
+db 0xff
+db 0x25
+db 0xf0
+db 0x23
+dd 0x25ff0046
+dd 0x0046235c
+db 0xff
+db 0x25
+db 0x84
+db 0x23
+dd 0x25ff0046
+dd 0x004623a8
+db 0xff
+db 0x25
+db 0xe0
+db 0x23
+dd 0x25ff0046
+dd 0x0046239c
+db 0xff
+db 0x25
+db 0x6c
+db 0x23
+dd 0x25ff0046
+dd 0x004623a4
+db 0xff
+db 0x25
+db 0x2c
+db 0x24
+dd 0x25ff0046
+dd 0x00462410
+db 0xff
+db 0x25
+db 0x24
+db 0x24
+dd 0x25ff0046
+dd 0x004623c4
+db 0xff
+db 0x25
+db 0xdc
+db 0x23
+dd 0x25ff0046
+dd 0x00462430
+db 0xff
+db 0x25
+db 0xe4
+db 0x23
+dd 0x25ff0046
+dd 0x004623b8
+db 0xff
+db 0x25
+db 0x18
+db 0x24
+dd 0x25ff0046
+dd 0x00462420
+db 0xff
+db 0x25
+db 0x14
+db 0x24
+dd 0x25ff0046
+dd 0x00462408
+db 0xff
+db 0x25
+db 0x1c
+db 0x24
+dd 0x25ff0046
+dd 0x004623ac
+db 0xff
+db 0x25
+db 0xd8
+db 0x23
+dd 0x25ff0046
+dd 0x00462360
+db 0xff
+db 0x25
+db 0xd4
+db 0x23
+dd 0x25ff0046
+dd 0x0046238c
+db 0xff
+db 0x25
+db 0x58
+db 0x23
+dd 0x25ff0046
+dd 0x0046234c
+db 0xff
+db 0x25
+db 0xc8
+db 0x23
+dd 0x25ff0046
+dd 0x0046240c
+db 0xff
+db 0x25
+db 0x40
+db 0x24
+dd 0x25ff0046
+dd 0x00462388
+db 0xff
+db 0x25
+db 0x54
+db 0x24
+dd 0x25ff0046
+dd 0x00462468
+db 0xff
+db 0x25
+db 0x64
+db 0x24
+dd 0x25ff0046
+dd 0x00462460
+db 0xff
+db 0x25
+db 0x58
+db 0x24
+dd 0x25ff0046
+dd 0x00462450
+db 0xff
+db 0x25
+db 0x48
+db 0x24
+dd 0x25ff0046
+dd 0x0046244c
+db 0xff
+db 0x25
+db 0x6c
+db 0x24
+dd 0x25ff0046
+dd 0x00462470
+db 0xff
+db 0x25
+db 0x74
+db 0x24
+dd 0x25ff0046
+dd 0x0046245c
+
+fcn_0046121c:
+jmp dword [__imp__DirectSoundCreate@12] ; jmp dword [0x46247c]
+
+fcn_00461222:
+jmp dword [__imp__DirectDrawCreate@12] ; jmp dword [0x462484]
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+add byte [eax], al
+
+section .text
+
+endloc_00461400:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+section .data
+dd 0x00010101
+
+ref_00463004:
+db 'ERROR',0x00
+
+ref_0046300a:
+db 'DirectDraw Initial Error!',0x00
+
+ref_00463024:
+db 'DirectDraw SetMode Error!',0x00
+
+ref_0046303e:
+db 'data.mkf',0x00
+
+ref_00463047:
+db 'speaking.mkf',0x00
+
+ref_00463054:
+db 'panel.mkf',0x00
+
+ref_0046305e:
+db 'effect.mkf',0x00
+
+ref_00463069:
+db 'resume vfw',0x00
+
+ref_00463074:
+db 'resume mid',0x00
+
+ref_0046307f:
+db 'play cdtrack notify',0x00
+
+ref_00463093:
+db 'pause vfw',0x00
+
+ref_0046309d:
+db 'pause mid',0x00
+
+ref_004630a7:
+db 'stop cdtrack',0x00
+
+ref_004630b4:
+db 'RICH4_ICON',0x00
+
+ref_004630bf:
+db 'Rich4',0x00
+
+ref_004630c5:
+db 'START.AVI',0x00,0x00
+
+ref_004630d0:
+db 'V3.11',0x00,0x00,0x00
+
+ref_004630d8:
+db 'SAVE%d.DAT',0x00
+
+ref_004630e3:
+db 0x72
+db 0x62
+db 0x00
+
+ref_004630e6:
+db 0x77
+db 0x62
+db 0x00
+
+ref_004630e9:
+db 'AUTO',0x00
+
+ref_004630ee:
+db '%d/%d',0x00
+
+ref_004630f4:
+dd 0x48a447a4
+db 0x00
+
+ref_004630f9:
+db 0xa4
+db 0x54
+db 0xa4
+db 0x48
+db 0x00
+
+ref_004630fe:
+db 0xa5
+db 0x7c
+db 0xa4
+db 0x48
+db 0x00
+
+ref_00463103:
+db 0xa8
+dd 0x00e6a642
+
+ref_00463108:
+dd 0xaea8f7be
+db 0x00
+
+ref_0046310d:
+db 0xa8
+db 0x54
+db 0xa8
+db 0xae
+db 0x00
+
+ref_00463112:
+db 0xb5
+db 0x4c
+dd 0xc1b4adad
+db 0x00
+
+ref_00463119:
+db 0xa4
+db 0x47
+db 0xa6
+db 0x7e
+db 0x00
+
+ref_0046311e:
+db 0xa4
+db 0x40
+db 0xa6
+db 0x7e
+db 0x00
+
+ref_00463123:
+db 0xa4
+dd 0xa4d3adbb
+db 0xeb
+db 0x00
+
+ref_0046312a:
+db 0xa4
+db 0x54
+dd 0xeba4d3ad
+db 0x00
+
+ref_00463131:
+db 0xa4
+db 0x40
+db 0xad
+dd 0x00eba4d3
+
+ref_00463138:
+dd 0xb8c043b9
+dd 0xc6bc48a4
+db 0x00
+
+ref_00463141:
+db 0xc1
+db 0x60
+db 0x20
+dd 0xaa20eab8
+db 0xf7
+db 0x00
+
+ref_0046314a:
+db 0xa6
+db 0xe6
+dd 0xe8a469b6
+db 0xa6
+db 0xa1
+db 0x00
+
+ref_00463153:
+db 0xa4
+dd 0xc561a667
+dd 0x00adad76
+
+ref_0046315c:
+dd 0xb8c043b9
+dd 0xa1b6c9ae
+db 0x00
+
+ref_00463165:
+db 0xb3
+db 0xd3
+db 0xa7
+dd 0xa5f8b151
+db 0xf3
+db 0x00
+
+ref_0046316e:
+db 0x25
+db 0x64
+db 0x00
+
+ref_00463171:
+db 0xb5
+db 0x4c
+db 0xad
+db 0xad
+db 0x00
+
+ref_00463176:
+db 0xae
+db 0xa5
+dd 0xd3b3dfb3
+dd 0x4cb951a7
+dd 0x49a1f6c3
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00463187:
+db 'JUMP.MKF',0x00
+
+ref_00463190:
+dd 0x42c80000
+
+ref_00463194:
+dd 0x41200000
+
+ref_00463198:
+db 'END%02d.AVI',0x00
+
+ref_004631a4:
+db 'THANKS.AVI',0x00
+
+ref_004631af:
+db 'END.AVI',0x00
+
+ref_004631b7:
+db 'OVER.AVI',0x00
+
+ref_004631c0:
+db 'MAP.MKF',0x00
+
+ref_004631c8:
+db 'MAPDAT.MKF',0x00
+
+ref_004631d3:
+db '%d',0x00,0x00,0x00
+
+ref_004631d8:
+dd 0x3d800000
+
+ref_004631dc:
+dd 0x3e000000
+
+ref_004631e0:
+dd 0xeda67325
+dd 0xa4a44ab1
+dd 0xd9c10a0a
+dd 0x6425d1b3
+dd 0x49a1d1a4
+db 0x00
+
+ref_004631f5:
+db 0x25
+db 0x73
+db 0xae
+dd 0xa4a2a5f8
+dd 0xc10a0aa4
+dd 0x25d1b3d9
+dd 0xa1d1a464
+db 0x49
+db 0x00
+
+ref_0046320a:
+db 0x25
+db 0x73
+dd 0x63a8a4a7
+dd 0x0a0aa4a4
+dd 0xd1b3d9c1
+dd 0xd1a46425
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046321f:
+db 0x25
+dd 0xb0eda673
+dd 0x0aa4a47c
+dd 0xb3d9c10a
+dd 0xa46425d1
+dd 0x0049a1d1
+
+ref_00463234:
+dd 0x56a57325
+dd 0xa4a476af
+dd 0xd9c10a0a
+dd 0x6425d1b3
+dd 0x49a1d1a4
+dd 0x00000000
+
+ref_0046324c:
+dd 0x3e000000
+
+ref_00463250:
+dd 0xdcb3e7cb
+dd 0xe3a149a1
+dd 0x5db06fb5
+dd 0x5db06fb5
+dd 0x0a0a49a1
+dd 0xf6c1daa7
+dd 0xd9c14db5
+dd 0x41a170a4
+dd 0xb0a453a8
+dd 0xabaff2bb
+dd 0x0a0a4fa4
+dd 0x4facfda6
+dd 0x69a5daa7
+dd 0xfdc548a5
+dd 0x6cb741a7
+dd 0xeeb4a2a5
+dd 0x43a162a5
+db 0x00
+
+ref_00463295:
+db 0xa8
+db 0xfe
+db 0xa8
+dd 0xaee3a1fe
+dd 0xb5dfb3a5
+dd 0xa15db06f
+dd 0xa70a0a43
+dd 0xa64fabda
+dd 0xb041a7f6
+dd 0xbabdb75d
+dd 0x0a75ba75
+dd 0xa4d6bd0a
+dd 0xafa3a45d
+dd 0xa740bbe0
+dd 0xbfbaaa41
+dd 0x0043a1fa
+
+ref_004632cc:
+dd 0xeda2e7a2
+dd 0xf0a2e9a2
+dd 0xa3a42121
+dd 0xddac6ead
+dd 0x70a4daa7
+dd 0x0a0ae1b3
+dd 0x69a5daa7
+dd 0xfdc548a5
+dd 0xeba741a7
+dd 0xc6a8eab8
+dd 0x5ca562a5
+dd 0x49a1bfad
+db 0x00
+
+ref_004632fd:
+db 0x25
+db 0x73
+db 0xaa
+dd 0x0aada8fe
+dd 0xa86fb10a
+dd 0xa17325ec
+db 0x49
+db 0x00
+
+ref_0046330e:
+db 0xa8
+db 0xfe
+dd 0xfea8fea8
+dd 0xd1a4e3a1
+dd 0xe7bd78a9
+dd 0x6ea6d6ba
+dd 0xeca842b9
+dd 0xdaa70a0a
+dd 0xf6a64fab
+dd 0xd6ba41a7
+dd 0xaab050ac
+dd 0x0a0ad3b7
+dd 0xeab8eba7
+dd 0xbfad5ba5
+dd 0x51a7b6b6
+dd 0x52b642a1
+dd 0xa3a461a6
+dd 0xfabfcea5
+db 0xa1
+db 0x43
+db 0x00
+
+ref_00463353:
+db 0xa4
+dd 0xafd6ba6a
+dd 0xa8feaaab
+dd 0xb10a0aad
+dd 0x25eca86f
+dd 0x25cea473
+dd 0x0049a173
+
+ref_0046336c:
+dd 0x4fbc4fbc
+dd 0xe3a14fbc
+dd 0xfabfdfbd
+dd 0xdfbd49a1
+dd 0x49a1fabf
+db 0x00
+
+ref_00463381:
+db 0xb3
+db 0xe1
+db 0xa1
+dd 0xb1fabfe3
+dd 0xa146a4bc
+db 0x43
+db 0x00
+
+ref_0046338e:
+db 0xa6
+db 0xb3
+dd 0x70a4daa7
+dd 0x49b070a4
+dd 0x41a1abaf
+dd 0x41a760ae
+dd 0xc6a840a4
+dd 0xa8a64cb5
+db 0xa1
+db 0x43
+db 0x00
+
+ref_004633ab:
+db 0xa4
+dd 0xaf49b070
+dd 0xa8feaaab
+dd 0xbf0a0aad
+dd 0x25a2a5f2
+dd 0x0049a173
+
+ref_004633c0:
+dd 0xa2aba2ab
+dd 0x49a1a2ab
+dd 0x4fac75af
+dd 0x49b06ea6
+dd 0x49a1dab0
+db 0x00
+
+ref_004633d5:
+db 0xa4
+db 0x6a
+db 0xb0
+dd 0xaaabaf49
+dd 0x0aada8fe
+dd 0xa5f2bf0a
+dd 0xa540a4a2
+dd 0xa464a562
+dd 0x0049a1f9
+
+ref_004633f0:
+dd 0x70b9a2ab
+dd 0xc8a8f4b8
+dd 0x0a0ae3a1
+dd 0x4eb1daa7
+dd 0x7ab1cfa8
+dd 0x7db8a8b8
+dd 0x67a4baaa
+dd 0xf3a761a6
+dd 0x63c15ba5
+dd 0x43a161ba
+db 0x00
+
+ref_00463419:
+db 0xab
+db 0xa2
+db 0xa1
+dd 0xa1a2abe3
+dd 0xa750bbe3
+dd 0xa550a6da
+dd 0xa640a6cd
+dd 0x0a43a1ba
+dd 0xaddaa70a
+dd 0xb875aa6e
+dd 0xc37daff4
+dd 0xa941a761
+dd 0xb967b8d2
+dd 0xa4baaa4c
+dd 0xa161a667
+db 0x43
+db 0x00
+
+ref_0046344e:
+db 0xa8
+db 0xfe
+dd 0xfea8e3a1
+dd 0xb3a641a1
+dd 0xb5b467a4
+dd 0x5db0b3a6
+dd 0xdaa70a0a
+dd 0x4fac4eb4
+dd 0x61a667a4
+dd 0xbda4bda4
+dd 0x0a0a43a1
+dd 0xdaa7b3a6
+dd 0x41a162a6
+dd 0x51b741a7
+dd 0x68a66ead
+dd 0x67a4d6a4
+dd 0x4eb461a6
+dd 0x68a6b3a6
+dd 0x43a1d6a4
+db 0x00
+
+ref_00463495:
+db 0xbc
+db 0x4b
+db 0xbc
+dd 0xbc4bbc4b
+dd 0xa14fa14b
+dd 0xba41a74f
+dd 0xa146a447
+dd 0xb30a0a49
+dd 0xa8daa751
+dd 0xa157a46e
+dd 0xa741a741
+dd 0xa44ab3b9
+dd 0x0043a146
+
+ref_004634c0:
+dd 0xe3c57325
+dd 0x0a0a46c6
+dd 0x5cbb5ba5
+dd 0x68bc40a4
+dd 0xceabd0a9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004634d7:
+db 0xa4
+dd 0xc563b470
+dd 0xc6e3c55d
+dd 0xa90a0a46
+dd 0xa4b4b7ee
+dd 0xa968bc40
+dd 0xa1ceabd0
+db 0x49
+db 0x00
+
+ref_004634f2:
+db 0xa4
+db 0x67
+dd 0xbda461a6
+dd 0x46c6e3c5
+dd 0x6ab10a0a
+dd 0x67a4fba6
+dd 0x49a161a6
+dd 0x00000000
+
+ref_0046350c:
+dd 0x40000000
+
+ref_00463510:
+dd 0x40a00000
+
+ref_00463514:
+dd 0xe3c57325
+dd 0x0a0a46c6
+dd 0xeab8eba7
+dd 0xd1b1a2a5
+dd 0x000049a1
+dd 0x00000000
+
+ref_0046352c:
+dd 0x00000000
+dd 0x3fe00000
+
+ref_00463534:
+dd 0xb8c043b9
+dd 0xd7ab74b3
+db 0x00
+
+ref_0046353d:
+db 0xb0
+db 0xca
+db 0xb5
+dd 0xb54cb965
+db 0x7b
+db 0x00
+
+ref_00463546:
+db 0xad
+db 0xb5
+dd 0x00d6bc20
+
+ref_0046354c:
+dd 0xae20b5ad
+db 0xc4
+db 0x00
+
+ref_00463552:
+db 0xa6
+db 0xdb
+dd 0x73a6cab0
+db 0xc0
+db 0xc9
+db 0x00
+
+ref_0046355b:
+db 0xbc
+dd 0xa62020d6
+db 0xb1
+db 0x00
+
+ref_00463562:
+db 0xb5
+db 0xf8
+dd 0xa1b52020
+db 0x00
+
+ref_00463569:
+db 0xa4
+db 0xe9
+db 0xa1
+dd 0xbeeba442
+db 0xe4
+db 0x00
+
+ref_00463572:
+db 0xc1
+db 0x59
+dd 0x61a670a4
+db 0xb9
+db 0xcf
+db 0x00
+
+ref_0046357b:
+db 0xb2
+dd 0xb558a6d5
+dd 0x00b1ad65
+
+ref_00463584:
+dd 0xae20faa8
+db 0xf8
+db 0x00
+
+ref_0046358a:
+db 0xbd
+db 0x54
+dd 0x0077a920
+
+ref_00463590:
+dd 0xc1b4e9a4
+dd 0xefa7f3a7
+db 0x00
+
+ref_00463599:
+db 0xbc
+db 0xf6
+db 0xc1
+dd 0xa95db3e4
+db 0x77
+db 0x00
+
+ref_004635a2:
+db 0xb9
+db 0x43
+dd 0xa1bbb8c0
+db 0xa9
+db 0xfa
+db 0x00
+
+ref_004635ab:
+db 0xad
+dd 0xb973b7ab
+dd 0x00b8c043
+
+ref_004635b4:
+dd 0xe9bf7bbb
+dd 0xb0adeba7
+db 0x00
+
+ref_004635bd:
+db 0xb5
+db 0xb2
+db 0xa7
+dd 0xc043b9f4
+db 0xb8
+db 0x00
+
+ref_004635c6:
+db 0x31
+db 0x2e
+dd 0xdabb50ac
+dd 0xcab060c1
+db 0xad
+db 0xfb
+db 0x00
+
+ref_004635d3:
+db 0x32
+dd 0xa6abad2e
+dd 0xc4dca85e
+dd 0x00f6acd8
+
+ref_004635e0:
+dd 0xdab92e33
+dd 0xeca5dba4
+dd 0xe9b66ca8
+db 0x00
+
+ref_004635ed:
+db 0x34
+db 0x2e
+db 0xa5
+dd 0xacf7abb4
+dd 0xa84eb1b0
+db 0xd3
+db 0x00
+
+ref_004635fa:
+db 0x35
+db 0x2e
+dd 0x4caaa6b7
+dd 0xa1b1b7ad
+db 0xb5
+db 0x65
+db 0x00
+
+ref_00463607:
+db 0x36
+dd 0xbaf6ae2e
+dd 0xa5eba4a9
+dd 0x00c9ac40
+
+ref_00463614:
+dd 0xf6bc2e37
+dd 0xbaaaa1b1
+dd 0x5da94cae
+db 0x00
+
+ref_00463621:
+db 0x38
+db 0x2e
+db 0xba
+dd 0xac42a8a9
+dd 0xa4c5aa50
+db 0x55
+db 0x00
+
+ref_0046362e:
+db 0xb4
+db 0xe5
+dd 0x57a4d0bc
+db 0xb2
+db 0xbe
+db 0x00
+
+ref_00463637:
+db 0xb4
+dd 0xa5d0bce5
+dd 0x00beb26b
+
+ref_00463640:
+dd 0xd0bce5b4
+dd 0xbeb255a4
+db 0x00
+
+ref_00463649:
+db 0xb4
+db 0xe5
+db 0xbc
+dd 0xb2aaa5d0
+db 0xbe
+db 0x00
+
+ref_00463652:
+db 0xbd
+db 0x54
+dd 0xf5b077a9
+db 0xa6
+db 0xe6
+db 0x00
+
+ref_0046365b:
+db 0xa8
+dd 0xabf8aefa
+dd 0x004fa5fc
+
+ref_00463664:
+dd 0xabb4c1a4
+dd 0xb5b6efbf
+db 0x00
+
+ref_0046366d:
+db 0xa4
+db 0xc1
+db 0xb4
+dd 0xb5f8b5ab
+dd 0x00d5b2a1
+
+ref_00463678:
+dd 0x593c4fac
+dd 0x003e5345
+
+ref_00463680:
+dd 0x4e3c5fa7
+db 0x4f
+db 0x3e
+db 0x00
+
+ref_00463687:
+db 0xab
+dd 0xab69b665
+dd 0x004fa5fc
+
+ref_00463690:
+dd 0xdcbeefbf
+dd 0x6ca4ebbb
+db 0xbc
+db 0xc6
+db 0x00
+
+ref_0046369b:
+db 0xaa
+dd 0x00aba5d1
+
+ref_004636a0:
+dd 0xf6a9e6a5
+db 0x00
+
+ref_004636a5:
+db 0xa5
+db 0x64
+db 0xa4
+db 0xf9
+db 0x00
+
+ref_004636aa:
+db 0xb9
+db 0x44
+db 0xa8
+db 0xe3
+db 0x00
+
+ref_004636af:
+db 0xac
+dd 0x00dfb864
+
+ref_004636b4:
+dd 0xcfb961a6
+db 0x00
+
+ref_004636b9:
+db 0xa6
+db 0x61
+db 0xb9
+dd 0xa556a6cf
+dd 0xc2dbb1aa
+db 0xe0
+db 0x00
+
+ref_004636c6:
+db 0xa6
+db 0x61
+dd 0x56a6cfb9
+dd 0xdbb16ba5
+db 0xc2
+db 0xe0
+db 0x00
+
+ref_004636d3:
+db 0xb0
+dd 0x00deba55
+
+ref_004636d8:
+dd 0xceb274a8
+db 0x00
+
+ref_004636dd:
+db 'SAVE GAME',0x00
+
+ref_004636e7:
+db 'LOAD GAME',0x00
+
+ref_004636f1:
+db 0xbb
+db 0xb2
+db 0xa7
+dd 0xa9a1bb55
+db 0xfa
+db 0x00
+
+ref_004636fa:
+db 0xa6
+db 0x56
+dd 0xabb457a4
+db 0xad
+db 0xb6
+db 0x00
+
+ref_00463703:
+db 0xa6
+dd 0xb455a456
+dd 0x00b6adab
+
+ref_0046370c:
+dd 0xf4a7b2b5
+dd 0xa1a67bb5
+db 0x00
+
+ref_00463715:
+db 0xad
+db 0xec
+db 0xa9
+dd 0xa95db36c
+db 0x77
+db 0x00
+
+ref_0046371e:
+db 0xa4
+db 0x40
+db 0xa4
+db 0xeb
+db 0x00
+
+ref_00463723:
+db 0xa4
+dd 0x00eba447
+
+ref_00463728:
+dd 0xeba454a4
+db 0x00
+
+ref_0046372d:
+db 0xa5
+db 0x7c
+db 0xa4
+db 0xeb
+db 0x00
+
+ref_00463732:
+db 0xa4
+db 0xad
+db 0xa4
+db 0xeb
+db 0x00
+
+ref_00463737:
+db 0xa4
+dd 0x00eba4bb
+
+ref_0046373c:
+dd 0xeba443a4
+db 0x00
+
+ref_00463741:
+db 0xa4
+db 0x4b
+db 0xa4
+db 0xeb
+db 0x00
+
+ref_00463746:
+db 0xa4
+db 0x45
+db 0xa4
+db 0xeb
+db 0x00
+
+ref_0046374b:
+db 0xa4
+dd 0x00eba451
+
+ref_00463750:
+dd 0x40a451a4
+db 0xa4
+db 0xeb
+db 0x00
+
+ref_00463757:
+db 0xa4
+dd 0xa447a451
+db 0xeb
+db 0x00
+
+ref_0046375e:
+db 0xa8
+db 0x74
+dd 0x00ceb220
+
+ref_00463764:
+db 0x72
+db 0x62
+db 0x00
+
+ref_00463767:
+db 'RICH4.CFG',0x00
+
+ref_00463771:
+db 0x77
+db 0x62
+db 0x00
+
+ref_00463774:
+dd 0x43520000
+
+ref_00463778:
+dd 0x43820000
+
+ref_0046377c:
+db '%d',0x00,0x00
+
+ref_00463780:
+dd 0x437a0000
+
+ref_00463784:
+dd 0x47000000
+
+ref_00463788:
+db '%03d',0x00
+
+ref_0046378d:
+db '%02d',0x00
+
+ref_00463792:
+db '%04d',0x00
+
+ref_00463797:
+db 0xb1
+dd 0xa849c26f
+dd 0xc26425e9
+dd 0x00000049
+
+ref_004637a4:
+db 'FLYTW.AVI',0x00
+
+ref_004637ae:
+db 'FLYCHINA.AVI',0x00
+
+ref_004637bb:
+db 'FLYJP.AVI',0x00
+
+ref_004637c5:
+db 'FLYUS.AVI',0x00
+
+ref_004637cf:
+db 'JUMP.MKF',0x00
+
+ref_004637d8:
+db 'AIRPLANE.AVI',0x00,0x00,0x00,0x00
+
+ref_004637e8:
+dd 0xc1b450ac
+db 0xa4
+db 0xe9
+db 0x00
+
+ref_004637ef:
+db 0xac
+dd 0xa4c1b450
+db 0x40
+db 0x00
+
+ref_004637f6:
+db 0xac
+db 0x50
+dd 0x47a4c1b4
+db 0x00
+
+ref_004637fd:
+db 0xac
+db 0x50
+db 0xb4
+dd 0x0054a4c1
+
+ref_00463804:
+dd 0xc1b450ac
+db 0xa5
+db 0x7c
+db 0x00
+
+ref_0046380b:
+db 0xac
+dd 0xa4c1b450
+db 0xad
+db 0x00
+
+ref_00463812:
+db 0xac
+db 0x50
+dd 0xbba4c1b4
+db 0x00
+
+ref_00463819:
+db 0xaa
+db 0xc5
+db 0x20
+dd 0x0061a620
+
+ref_00463820:
+dd 0x2020ada5
+db 0xa9
+db 0xd0
+db 0x00
+
+ref_00463827:
+db 0xa9
+dd 0xe72020b1
+db 0x45
+db 0x00
+
+ref_0046382e:
+db 0xb0
+db 0xd3
+dd 0xf5b32020
+db 0x00
+
+ref_00463835:
+db 0xb0
+db 0xd3
+db 0xb7
+dd 0xbc6aa47e
+db 0xd3
+db 0x00
+
+ref_0046383e:
+db 0xbc
+db 0xaf
+dd 0x6aa4d1a4
+db 0xbc
+db 0xd3
+db 0x00
+
+ref_00463847:
+db 0xa4
+dd 0xb62020bd
+db 0xe9
+db 0x00
+
+ref_0046384e:
+db 0xae
+db 0xc8
+dd 0x5dc02020
+db 0x00
+
+ref_00463855:
+db 0xc1
+db 0xca
+db 0xaa
+dd 0xa4a4a4ab
+db 0xdf
+db 0x00
+
+ref_0046385e:
+db 0xa5
+db 0x5b
+dd 0xb8af6faa
+db 0x00
+
+ref_00463865:
+db 0xac
+db 0xe3
+db 0xa8
+dd 0x00d2a973
+
+ref_0046386c:
+dd 0xc5afafa2
+db 0x00
+
+ref_00463871:
+db 0xa4
+db 0x40
+db 0xaf
+db 0xc5
+db 0x00
+
+ref_00463876:
+db 0xa4
+db 0x47
+db 0xaf
+db 0xc5
+db 0x00
+
+ref_0046387b:
+db 0xa4
+dd 0x00c5af54
+
+ref_00463880:
+dd 0xc5af7ca5
+db 0x00
+
+ref_00463885:
+db 0xa4
+db 0xad
+db 0xaf
+db 0xc5
+db 0x00
+
+ref_0046388a:
+db 0xb9
+db 0x4c
+dd 0x4fb6f4b8
+db 0x00
+
+ref_00463891:
+db 0xa9
+db 0xd0
+db 0xaf
+dd 0x004fb6b2
+
+ref_00463898:
+dd 0x6faa5ba5
+db 0xb6
+db 0x4f
+db 0x00
+
+ref_0046389f:
+db 0xad
+dd 0xb6aea8d7
+db 0x4f
+db 0x00
+
+ref_004638a6:
+db 0xa9
+db 0xb1
+dd 0x4fb6b2af
+db 0x00
+
+ref_004638ad:
+db 0xa6
+db 0xed
+db 0xb1
+dd 0x004fb64a
+
+ref_004638b4:
+dd 0x43b9c8ae
+db 0xb6
+db 0x4f
+db 0x00
+
+ref_004638bb:
+db 0xab
+dd 0xb649c04f
+db 0x4f
+db 0x00
+
+ref_004638c2:
+db 0xb9
+db 0x71
+dd 0x4fb6a3b8
+db 0x00
+
+ref_004638c9:
+db 0xa4
+db 0x75
+db 0xb5
+dd 0x004fb67b
+
+ref_004638d0:
+dd 0x4fb6f4a4
+db 0x00
+
+ref_004638d5:
+db 0xb9
+db 0x71
+db 0xb6
+db 0x4f
+db 0x00
+
+ref_004638da:
+db 0xc1
+db 0xca
+dd 0x4fb6abaa
+db 0x00
+
+ref_004638e1:
+db 0xb8
+db 0xea
+db 0xaa
+db 0xf7
+db 0x00
+
+ref_004638e6:
+db 0xa6
+db 0x61
+db 0xb2
+db 0xa3
+db 0x00
+
+ref_004638eb:
+db 0xaa
+dd 0x00bcb2d1
+
+ref_004638f0:
+dd 0x4ca5e4a8
+db 0x00
+
+ref_004638f5:
+db 0xaa
+db 0xab
+db 0xbb
+dd 0xbcfcabf9
+dd 0x252020c6
+db 0x64
+db 0x00
+
+ref_00463902:
+db 0x25
+db 0x64
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00463907:
+db 0x25
+dd 0x00eba464
+
+ref_0046390c:
+dd 0xeac273b3
+db 0xa9
+db 0xb1
+db 0x00
+
+ref_00463913:
+db 0xa1
+dd 0x006425d1
+
+ref_00463918:
+dd 0xd1aa6cbe
+dd 0x0064253a
+
+ref_00463920:
+dd 0x20207bb2
+db 0xaa
+db 0xf7
+db 0x00
+
+ref_00463927:
+db 0xa6
+dd 0xb4202073
+db 0xda
+db 0x00
+
+ref_0046392e:
+db 0xc1
+db 0x60
+dd 0xa3b2eab8
+db 0x00
+
+ref_00463935:
+db 0xa4
+db 0x67
+db 0x20
+dd 0x0061a620
+
+ref_0046393c:
+dd 0x20205db3
+db 0xac
+db 0x49
+db 0x00
+
+ref_00463943:
+db 0xc1
+dd 0xadaba560
+db 0xc8
+db 0x00
+
+ref_0046394a:
+db 0xa6
+db 0xa8
+dd 0xbba52020
+db 0x00
+
+ref_00463951:
+db 0xb8
+db 0x67
+db 0xc0
+dd 0x0076c5e7
+
+ref_00463958:
+dd 0x202049c2
+db 0xa8
+db 0xf7
+db 0x00
+
+ref_0046395f:
+db 0xb6
+dd 0xb4202055
+db 0xda
+db 0x00
+
+ref_00463966:
+db 0xab
+db 0x4f
+dd 0xc1b449c0
+db 0x00
+
+ref_0046396d:
+db 0x25
+db 0x73
+db 0x0a
+dd 0xafc9a40a
+dd 0xa54fb6c5
+dd 0x64253ace
+dd 0x0a0ab8a4
+dd 0x5fa74fac
+dd 0xc5afc9a4
+db 0xa1
+db 0x48
+db 0x00
+
+ref_0046398b:
+db 0xb1
+dd 0xb2baaa7a
+dd 0xa4f7aa7b
+dd 0xa1aca8a3
+db 0x49
+db 0x00
+
+ref_0046399a:
+db 0x25
+db 0x73
+dd 0xddc40a0a
+dd 0x50bb7325
+dd 0x0a0a7325
+dd 0x49a5d0bd
+dd 0xb8a46425
+db 0x25
+db 0x73
+db 0x00
+
+ref_004639b3:
+db 0x25
+dd 0xa60a0a73
+dd 0xc461a6b9
+dd 0x0a7325dd
+dd 0xa5d0bd0a
+dd 0xa4642549
+dd 0x007325b8
+
+ref_004639cc:
+dd 0xabafbaa6
+dd 0x46c6e3c5
+dd 0xd1a50a0a
+dd 0xdfbd7325
+dd 0x732576c0
+db 0x00
+
+ref_004639e1:
+db 0x25
+db 0x73
+db 0x0a
+dd 0xa54fb60a
+dd 0x64253ace
+dd 0x0a0ab8a4
+dd 0x5fa74fac
+dd 0x55a452b6
+dd 0x61a6b9a6
+db 0xa1
+db 0x48
+db 0x00
+
+ref_004639ff:
+db 0xa5
+dd 0x25a7aef0
+dd 0x0ad1a464
+dd 0xa54fb60a
+dd 0xa46425ce
+dd 0x0049a1b8
+
+ref_00463a14:
+dd 0xbaaa7ab1
+dd 0x4fb6f8ae
+dd 0x42c3f7aa
+dd 0x0a0ab0ac
+dd 0x25786425
+dd 0x3dbfad64
+dd 0xb8a46425
+db 0x00
+
+ref_00463a31:
+db 0x25
+db 0x73
+db 0x0a
+dd 0xa8b3b80a
+dd 0x25f8aac6
+dd 0xbd0a0a73
+dd 0x2549a5d0
+dd 0x25b8a464
+db 0x73
+db 0x00
+
+ref_00463a4a:
+db 0x25
+db 0x73
+dd 0xd0bd0a0a
+dd 0xdcbeefbf
+dd 0x5ba5fdb1
+dd 0x61a65cbb
+db 0xc2
+db 0x49
+db 0x00
+
+ref_00463a5f:
+db 0xa4
+dd 0xa5cea5a3
+dd 0xa1eab058
+db 0x49
+db 0x00
+
+ref_00463a6a:
+db 0x25
+db 0x73
+dd 0xb0c00a0a
+dd 0x732544a5
+dd 0xd0bd0a0a
+dd 0x642549a5
+dd 0x7325b8a4
+db 0x00
+
+ref_00463a81:
+db 0xb1
+db 0x6f
+db 0xc2
+dd 0xa2e9a849
+dd 0xc2afa2b4
+db 0x49
+db 0x00
+
+ref_00463a8e:
+db 0xb1
+db 0x6f
+dd 0xe9a849c2
+dd 0xafa2b2a2
+db 0xc2
+db 0x49
+db 0x00
+
+ref_00463a9b:
+db 0xb1
+dd 0xa849c26f
+dd 0xa2b0a2e9
+dd 0x0049c2af
+
+ref_00463aa8:
+dd 0xeca86fb1
+dd 0x49a17325
+db 0x00
+
+ref_00463ab1:
+db 0xac
+db 0x49
+db 0xb1
+dd 0xa4b9b5cb
+dd 0x25a2a45e
+dd 0x00b8a464
+
+ref_00463ac0:
+dd 0xbdb070a4
+dd 0x6fb1bdb0
+dd 0x0a0a7325
+dd 0x7325b9b5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00463ad3:
+db 0xb1
+dd 0xa2eca86f
+dd 0xa2afa2b4
+dd 0xa849c2af
+dd 0x0049a1e9
+
+ref_00463ae4:
+dd 0xfaa8bdb0
+dd 0x0a0a7325
+dd 0x49c26425
+dd 0xe9a849c2
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00463af7:
+db 0xb9
+dd 0x25faa8dc
+dd 0xa1732573
+db 0x49
+db 0x00
+
+ref_00463b02:
+db 0xb1
+db 0x6a
+dd 0x6db773b5
+dd 0xc8bbdcb9
+dd 0x0a0ae6a6
+dd 0xdab46fb1
+dd 0xb8a46425
+dd 0xb9b50a0a
+dd 0x49a17325
+db 0x00
+
+ref_00463b21:
+db 0xb0
+db 0xc7
+db 0xaf
+dd 0x0a7325c1
+dd 0xa464250a
+dd 0xc54fabb8
+dd 0xa14fb640
+db 0x49
+db 0x00
+
+ref_00463b36:
+db 0xa8
+db 0xfa
+dd 0x4cb9aba8
+dd 0x4fb6f4b8
+dd 0x64250a0a
+dd 0x49a1b8a4
+db 0x00
+
+ref_00463b49:
+db 0xa8
+db 0xfa
+db 0xa8
+dd 0xbed5acab
+dd 0x250a0a6c
+dd 0xa1b8a464
+dd 0x00000049
+dd 0x00000000
+
+ref_00463b60:
+dd 0x9999999a
+dd 0x3fc99999
+
+ref_00463b68:
+dd 0x7db67325
+dd 0xb9a76fb5
+dd 0x49a1a8a6
+db 0x00
+
+ref_00463b75:
+db 0x25
+db 0x73
+db 0x0a
+dd 0xaa43a80a
+dd 0xbbe2b0d1
+dd 0x0a6425f9
+dd 0xa74fac0a
+dd 0xc17bbb5f
+dd 0xa5d1aaca
+dd 0x0048a1f7
+
+ref_00463b94:
+dd 0xdfb3a5ae
+dd 0xa8a67ab1
+dd 0xb0c0b0ac
+dd 0x49a144a5
+db 0x00
+
+ref_00463ba5:
+db 0xae
+db 0xa5
+db 0xb3
+dd 0xc07ab1df
+dd 0xb86fb1f2
+dd 0xc5e7c067
+dd 0x0049a176
+
+ref_00463bb8:
+dd 0xceabd0a9
+dd 0xcaab64ac
+dd 0x0a0aa4a4
+dd 0xaca64ba7
+dd 0x49a17325
+db 0x00
+
+ref_00463bcd:
+db 0xbb
+db 0x50
+db 0x25
+dd 0xb750a673
+dd 0x0aa4a4f9
+dd 0xa64ba70a
+dd 0xa17325ac
+db 0x49
+db 0x00
+
+ref_00463be2:
+db 0xa6
+db 0xba
+dd 0xe3c5abaf
+dd 0x0a0a46c6
+dd 0xaca64ba7
+dd 0x49a17325
+db 0x00
+
+ref_00463bf5:
+db 0x25
+db 0x73
+db 0xa6
+dd 0xa44ab1ed
+dd 0xa70a0aa4
+dd 0x25aca64b
+dd 0x0049a173
+
+ref_00463c08:
+dd 0xf8ae7325
+dd 0xa4a4a2a5
+dd 0x4ba70a0a
+dd 0x7325aca6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00463c1b:
+db 0x25
+dd 0xa8a4a773
+dd 0x0aa4a463
+dd 0xa64ba70a
+dd 0xa17325ac
+db 0x49
+db 0x00
+
+ref_00463c2e:
+db 0x25
+db 0x73
+dd 0x7cb0eda6
+dd 0x0a0aa4a4
+dd 0xaca64ba7
+dd 0x49a17325
+db 0x00
+
+ref_00463c41:
+db 0x25
+db 0x73
+db 0xa5
+dd 0xa476af56
+dd 0xa70a0aa4
+dd 0x25aca64b
+dd 0x0049a173
+
+ref_00463c54:
+dd 0xdab97325
+dd 0xa4a443b9
+dd 0x4ba70a0a
+dd 0x7325aca6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00463c67:
+db 0xa4
+dd 0xaf5db070
+dd 0xc6e3c5ab
+dd 0x250a0a46
+dd 0xa7eeb473
+dd 0xa540a44b
+dd 0x0049a162
+
+ref_00463c80:
+dd 0x5db06aa4
+dd 0xe3c5abaf
+dd 0x0a0a46c6
+dd 0x49a54ba7
+dd 0x49a17325
+db 0x00
+
+ref_00463c95:
+db 0xa4
+db 0x70
+db 0xbd
+dd 0xc5abaf61
+dd 0x0a46c6e3
+dd 0xa573250a
+dd 0x3549a55b
+dd 0xa148a230
+db 0x49
+db 0x00
+
+ref_00463cae:
+db 0xa4
+db 0x6a
+dd 0xabaf61bd
+dd 0x46c6e3c5
+dd 0x5ba50a0a
+dd 0x49a5bfad
+dd 0x49a17325
+dd 0x00000000
+
+ref_00463cc8:
+dd 0x9999999a
+dd 0x3fa99999
+
+ref_00463cd0:
+dd 0x33333333
+dd 0x3fd33333
+
+ref_00463cd8:
+dd 0xdeba55b0
+db 0x41
+db 0x49
+db 0x00
+
+ref_00463cdf:
+db 0xad
+dd 0xa92020d3
+db 0xca
+db 0x00
+
+ref_00463ce6:
+db 0xb8
+db 0xea
+dd 0x42b9f7aa
+dd 0xf1a4cea5
+db 0xa8
+db 0xd2
+db 0x00
+
+ref_00463cf3:
+db 0xa8
+dd 0xa5cea5cf
+dd 0x00f9a464
+
+ref_00463cfc:
+dd 0xcea5cfa8
+dd 0xe3a844b9
+db 0x00
+
+ref_00463d05:
+db 0xa8
+db 0xc4
+db 0xc4
+dd 0x005fc45f
+
+ref_00463d0c:
+dd 0x71b3b6b4
+db 0xa4
+db 0x48
+db 0x00
+
+ref_00463d13:
+db 0xa4
+dd 0xa6d1a66a
+db 0x6c
+db 0x00
+
+ref_00463d1a:
+db 0xb2
+db 0x7b
+db 0xaa
+db 0xf7
+db 0x00
+
+ref_00463d1f:
+db 0xa6
+dd 0x00dab473
+
+ref_00463d24:
+dd 0xbcb2d1aa
+db 0x00
+
+ref_00463d29:
+db 0xb8
+db 0xea
+db 0xaa
+db 0xf7
+db 0x00
+
+ref_00463d2e:
+db 0xbd
+db 0x54
+db 0xa9
+db 0x77
+db 0x00
+
+ref_00463d33:
+db 0xa8
+dd 0x00f8aefa
+
+ref_00463d38:
+dd 0x51eb851f
+dd 0x3fe51eb8
+
+ref_00463d40:
+dd 0x00000000
+dd 0x3ff80000
+
+ref_00463d48:
+dd 0x00000000
+dd 0x40040000
+
+ref_00463d50:
+dd 0x2020fea5
+db 0xb3
+db 0xa1
+db 0x00
+
+ref_00463d57:
+db 0xa6
+dd 0xb076a6ed
+db 0xcf
+db 0x00
+
+ref_00463d5e:
+db 0xb0
+db 0xd3
+dd 0xcfb07eb7
+db 0x00
+
+ref_00463d65:
+db 0xa9
+db 0xd0
+db 0x20
+dd 0x00ceab20
+
+ref_00463d6c:
+dd 0xeac273b3
+db 0xa9
+db 0xb1
+db 0x00
+
+ref_00463d73:
+db 0xa6
+dd 0xc2202061
+db 0x49
+db 0x00
+
+ref_00463d7a:
+db 0xb6
+db 0x7d
+dd 0xacaa6fb5
+db 0xaa
+db 0x70
+db 0x00
+
+ref_00463d83:
+db 0xbb
+dd 0xae2020f9
+db 0xe6
+db 0x00
+
+ref_00463d8a:
+db 0xa6
+db 0xac
+dd 0x4fb62020
+db 0x00
+
+ref_00463d91:
+db 0xaf
+db 0xb2
+db 0x20
+dd 0x00c1b420
+
+ref_00463d98:
+dd 0xa3b2eab8
+dd 0xe6b34db2
+db 0x00
+
+ref_00463da1:
+db 0xa6
+db 0x61
+db 0xb2
+dd 0xb34db2a3
+db 0xe6
+db 0x00
+
+ref_00463daa:
+db 0xaa
+db 0xd1
+dd 0x4db2bcb2
+db 0xb3
+db 0xe6
+db 0x00
+
+ref_00463db3:
+db 0xb2
+dd 0xaa20207b
+db 0xf7
+db 0x00
+
+ref_00463dba:
+db 0xa6
+db 0x73
+dd 0xdab42020
+db 0x00
+
+ref_00463dc1:
+db 0xb6
+db 0x55
+db 0x20
+dd 0x00dab420
+
+ref_00463dc8:
+dd 0xeab860c1
+db 0xb2
+db 0xa3
+db 0x00
+
+ref_00463dcf:
+db 0xaa
+dd 0xb22020d1
+db 0xbc
+db 0x00
+
+ref_00463dd6:
+db 0xc2
+db 0x49
+dd 0xf7a82020
+db 0x00
+
+ref_00463ddd:
+db 0xab
+db 0x4f
+db 0xc0
+dd 0x00c1b449
+
+ref_00463de4:
+dd 0x2020f8a5
+db 0xb7
+db 0x7e
+db 0x00
+
+ref_00463deb:
+db 0xa4
+dd 0xa6202067
+db 0x61
+db 0x00
+
+ref_00463df2:
+db 0xb3
+db 0x5d
+dd 0x49ac2020
+db 0x00
+
+ref_00463df9:
+db 0xaa
+db 0xd1
+db 0xb2
+dd 0xba57a6bc
+db 0xd9
+db 0x00
+
+ref_00463e02:
+db 0xab
+db 0xf9
+dd 0x69b1b3a6
+db 0xbc
+db 0xc6
+db 0x00
+
+ref_00463e0b:
+db 0xc1
+dd 0xaba52060
+dd 0x00f9bb20
+
+ref_00463e14:
+db '%02d/%d/%d',0x00
+
+ref_00463e1f:
+db 0xb5
+dd 0xb4adad4c
+db 0xc1
+db 0x00
+
+ref_00463e26:
+db 0x25
+db 0x64
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00463e2b:
+db 0xa1
+dd 0x006425d1
+
+ref_00463e30:
+dd 0xeac273b3
+db 0xa9
+db 0xb1
+db 0x00
+
+ref_00463e37:
+db '%02d/%d/%d',0x00
+
+ref_00463e42:
+db 0xb5
+db 0x4c
+dd 0xc1b4adad
+db 0x00
+
+ref_00463e49:
+db 0xaa
+db 0xc5
+db 0x20
+dd 0x0061a620
+
+ref_00463e50:
+dd 0xbaaa7ab1
+dd 0xf7aa7bb2
+dd 0xaca8a3a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00463e5f:
+db 0xae
+dd 0xb1dfb3a5
+dd 0xb1f2c07a
+dd 0xc067b86f
+dd 0xa176c5e7
+db 0x49
+db 0x00
+
+ref_00463e72:
+db 0xb9
+db 0x44
+dd 0xe6c4e3a8
+dd 0xa1ba77a4
+dd 0x4cb50a0a
+dd 0xcac16baa
+dd 0x49a152b6
+db 0x00
+
+ref_00463e89:
+db 0xa5
+db 0x64
+db 0xa4
+dd 0xa4e6c4f9
+dd 0x0aa1ba77
+dd 0xaa4cb50a
+dd 0xb6cac16b
+dd 0x0049a152
+
+ref_00463ea0:
+dd 0xe9bfd0bd
+dd 0xfdb14aa4
+dd 0x58a5e6bd
+dd 0x69b1baaa
+db 0xbc
+db 0xc6
+db 0x00
+
+ref_00463eb3:
+db 0xbd
+dd 0xa4e9bfd0
+dd 0xa9fdb14a
+dd 0xaae6bde7
+dd 0xaef9bbba
+dd 0xa10a0ae6
+dd 0xbbaba55d
+dd 0x2547a1f9
+dd 0xa1b8a464
+db 0x5e
+db 0x00
+
+ref_00463ed6:
+db 0xa1
+db 0xd1
+db 0x25
+db 0x64
+db 0x00
+
+ref_00463edb:
+db 0x25
+dd 0x0069b164
+
+ref_00463ee0:
+dd 0xb8a47325
+db 0x00
+
+ref_00463ee5:
+db 0xa6
+db 0xed
+db 0xa6
+dd 0xa6cea576
+db 0x61
+db 0x00
+
+ref_00463eee:
+db 0xb0
+db 0xd3
+dd 0xcea57eb7
+db 0xa6
+db 0x61
+db 0x00
+
+ref_00463ef7:
+db 0xba
+dd 0xf3a5204d
+db 0x00
+
+ref_00463efd:
+db 0xc1
+db 0xca
+db 0x20
+db 0xb6
+db 0x52
+db 0x00
+
+ref_00463f03:
+db 0xa4
+dd 0xc447a7bd
+dd 0xba77a4e6
+dd 0xbd0a0aa1
+dd 0xbafda5d0
+dd 0xa1f3a54d
+db 0x49
+db 0x00
+
+ref_00463f1a:
+db 0xaa
+db 0xd1
+dd 0x57a6bcb2
+db 0xba
+db 0xd9
+db 0x00
+
+ref_00463f23:
+db 0xab
+dd 0xb1b3a6f9
+dd 0x00c6bc69
+
+ref_00463f2c:
+dd 0xa52060c1
+dd 0xf9bb20ab
+db 0x00
+
+ref_00463f35:
+db 0xc3
+db 0xfe
+db 0xab
+dd 0x0047a1ac
+
+ref_00463f3c:
+dd 0xf9bbaba5
+db 0xa1
+db 0x47
+db 0x00
+
+ref_00463f43:
+db 0xbd
+dd 0xa1f9bbe6
+db 0x47
+db 0x00
+
+ref_00463f4a:
+db 0xb1
+db 0x69
+dd 0x47a1c6bc
+db 0x00
+
+ref_00463f51:
+db 0xa6
+db 0x61
+db 0xc2
+dd 0x0047a149
+
+ref_00463f58:
+dd 0xc5afa5b5
+db 0xa1
+db 0x47
+db 0x00
+
+ref_00463f5f:
+db 'EXIT',0x00
+
+ref_00463f64:
+db '%.2f',0x00
+
+ref_00463f69:
+db '%.1f',0x00
+
+ref_00463f6e:
+db '%.0f',0x00
+
+ref_00463f73:
+db '%+.2f',0x00
+
+ref_00463f79:
+db '%+.1f',0x00
+
+ref_00463f7f:
+db '%+.0f',0x00,0x00,0x00,0x00
+
+ref_00463f88:
+dd 0x42c80000
+
+ref_00463f8c:
+dd 0x40a00000
+
+ref_00463f90:
+dd 0x41700000
+
+ref_00463f94:
+dd 0x42480000
+
+ref_00463f98:
+dd 0x43160000
+
+ref_00463f9c:
+dd 0x00000000
+dd 0x3fe00000
+
+ref_00463fa4:
+dd 0x9999999a
+dd 0x3fb99999
+
+ref_00463fac:
+dd 0x9999999a
+dd 0x3fa99999
+
+ref_00463fb4:
+dd 0x47ae147b
+dd 0x3f847ae1
+
+ref_00463fbc:
+dd 0x461c3c00
+
+ref_00463fc0:
+dd 0x461c4000
+
+ref_00463fc4:
+dd 0x45800800
+
+ref_00463fc8:
+dd 0x44926000
+
+ref_00463fcc:
+dd 0x3f000000
+
+ref_00463fd0:
+dd 0x40000000
+
+ref_00463fd4:
+dd 0x41000000
+
+ref_00463fd8:
+dd 0x461c4000
+
+ref_00463fdc:
+dd 0x33333333
+dd 0x3feb3333
+
+ref_00463fe4:
+dd 0x40400000
+
+ref_00463fe8:
+dd 0xc1200000
+
+ref_00463fec:
+dd 0x41200000
+
+ref_00463ff0:
+dd 0x41700000
+
+ref_00463ff4:
+dd 0x43160000
+
+ref_00463ff8:
+dd 0x69b652b6
+db 0x00
+
+ref_00463ffd:
+db 0xbd
+db 0xe6
+db 0xa5
+db 0x58
+db 0x00
+
+ref_00464002:
+db 0xa4
+db 0x57
+dd 0xbda4aba5
+dd 0xeab871a5
+db 0xb0
+db 0x54
+db 0x00
+
+ref_0046400f:
+db 0xbc
+dd 0xa5b1b0c8
+dd 0x00f6a9e6
+
+ref_00464018:
+db '%d',0x00,0x00
+
+ref_0046401c:
+dd 0x42c80000
+
+ref_00464020:
+dd 0x461c4000
+
+ref_00464024:
+dd 0x4d12d84a
+dd 0x401921fb
+
+ref_0046402c:
+dd 0x4d12d84a
+dd 0x3ff921fb
+
+ref_00464034:
+dd 0x00000000
+dd 0x40560000
+
+ref_0046403c:
+dd 0x00000000
+dd 0x407f6000
+
+ref_00464044:
+dd 0x00000000
+dd 0x403d0000
+
+ref_0046404c:
+dd 0x00000000
+dd 0x4076d000
+
+ref_00464054:
+dd 0x00000000
+dd 0x3fd00000
+
+ref_0046405c:
+dd 0x3f000000
+dd 0x00000000
+
+ref_00464064:
+dd 0x33333333
+dd 0x3fd33333
+
+ref_0046406c:
+dd 0x33333333
+dd 0x3fe33333
+
+ref_00464074:
+dd 0x00000000
+dd 0x405b4000
+
+ref_0046407c:
+dd 0x42da0000
+
+ref_00464080:
+dd 0x43a20000
+
+ref_00464084:
+dd 0x40000000
+
+ref_00464088:
+dd 0xb1b0a6ba
+dd 0x6baa4cb5
+dd 0x69b652b6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464097:
+db 0xb6
+dd 0xb5b1b05e
+dd 0xbd6baa4c
+dd 0xa158a5e6
+db 0x49
+db 0x00
+
+ref_004640a6:
+db 0xab
+db 0xf9
+dd 0xd1aab3a6
+dd 0xedaac6bc
+db 0x00
+
+ref_004640b1:
+db 0xaa
+db 0xd1
+db 0x20
+dd 0xaa20f9bb
+db 0xed
+db 0x00
+
+ref_004640ba:
+db 0xaa
+db 0xd1
+dd 0x57a6bcb2
+db 0xba
+db 0xd9
+db 0x00
+
+ref_004640c3:
+db 0xa6
+dd 0xbbe6a5a8
+db 0xf9
+db 0x00
+
+ref_004640ca:
+db 0xba
+db 0xa6
+db 0xb6
+db 0x5e
+db 0x00
+
+ref_004640cf:
+db 0xa5
+dd 0xb6f6a9e6
+db 0x71
+db 0x00
+
+ref_004640d6:
+db 0xab
+db 0xf9
+dd 0xd1aab3a6
+db 0xbc
+db 0xc6
+db 0x00
+
+ref_004640df:
+db 0xa5
+dd 0xa6a1a7ad
+dd 0x00bba5a8
+
+ref_004640e8:
+dd 0xe9a4bba5
+dd 0xaba5f0a5
+db 0x00
+
+ref_004640f1:
+db 0xab
+db 0x4f
+db 0xaf
+dd 0xa5d1aa64
+db 0xf7
+db 0x00
+
+ref_004640fa:
+db 0xb2
+db 0xd6
+dd 0xd5ac6ebf
+db 0xbe
+db 0x6c
+db 0x00
+
+ref_00464103:
+db 0xa5
+dd 0xaceba4bb
+dd 0x006cbed5
+
+ref_0046410c:
+dd 0xa1a7ada5
+dd 0x6cbed5ac
+db 0x00
+
+ref_00464115:
+db 0xb8
+db 0x67
+db 0x20
+dd 0xaa20e7c0
+db 0xcc
+db 0x00
+
+ref_0046411e:
+db 0xba
+db 0xa6
+dd 0x5eb62020
+db 0x00
+
+ref_00464125:
+db 0xb6
+db 0x67
+db 0xa7
+dd 0x00f9bba1
+
+ref_0046412c:
+dd 0x5eb6a6ba
+db 0xb4
+db 0x54
+db 0x00
+
+ref_00464133:
+db 0xa4
+dd 0xbba1a7eb
+db 0xf9
+db 0x00
+
+ref_0046413a:
+db 0xbe
+db 0xfa
+dd 0xaab076a5
+db 0xbb
+db 0xf9
+db 0x00
+
+ref_00464143:
+db 0xbe
+dd 0xa776a5fa
+dd 0x00f9bb43
+
+ref_0046414c:
+dd 0x7ea662a5
+dd 0xd1aabaa4
+dd 0xaba8f9bb
+dd 0x75bdd5b6
+db 0xb9
+db 0xcf
+db 0x00
+
+ref_0046415f:
+db 0xab
+dd 0xa4d1aaf9
+dd 0x00d2a8f1
+
+ref_00464168:
+dd 0xaba557a4
+dd 0x71a5bda4
+dd 0xf5acc0a4
+db 0x00
+
+ref_00464175:
+db 0xa4
+db 0x48
+db 0xa6
+db 0x57
+db 0x00
+
+ref_0046417a:
+db 0xa4
+db 0xbd
+db 0xa5
+db 0x71
+db 0x00
+
+ref_0046417f:
+db 0xac
+dd 0xa72020f5
+db 0x51
+db 0x00
+
+ref_00464186:
+db 0x25
+db 0x73
+dd 0x52b60a0a
+dd 0x732569b6
+dd 0x69b16425
+dd 0x00000000
+dd 0x00000000
+
+ref_0046419c:
+dd 0x33333333
+dd 0x3ff33333
+
+ref_004641a4:
+dd 0x33333333
+dd 0x3feb3333
+
+ref_004641ac:
+dd 0x66666666
+dd 0x3fe66666
+
+ref_004641b4:
+dd 0x00000000
+dd 0x40040000
+
+ref_004641bc:
+dd 0x33333333
+dd 0x3fe33333
+
+ref_004641c4:
+dd 0x00000000
+dd 0x3fe00000
+
+ref_004641cc:
+dd 0x0a0a7325
+dd 0x58a5e6bd
+dd 0x64257325
+dd 0x000069b1
+
+ref_004641dc:
+dd 0x9999999a
+dd 0x3ff99999
+
+ref_004641e4:
+dd 0x41000000
+dd 0x00000000
+
+ref_004641ec:
+dd 0x00000000
+dd 0x3ff40000
+
+ref_004641f4:
+dd 0x40000000
+
+ref_004641f8:
+dd 0xc0000000
+
+ref_004641fc:
+dd 0x00000000
+dd 0x3fe00000
+
+ref_00464204:
+dd 0x33333333
+dd 0x3fe33333
+
+ref_0046420c:
+dd 0x33333333
+dd 0x3ff33333
+
+ref_00464214:
+dd 0xcccccccd
+dd 0x3ff4cccc
+
+ref_0046421c:
+dd 0x9999999a
+dd 0x3fd99999
+
+ref_00464224:
+dd 0x00000000
+dd 0x3ff80000
+
+ref_0046422c:
+dd 0x40400000
+dd 0x00000000
+
+ref_00464234:
+dd 0x9999999a
+dd 0x3ff19999
+
+ref_0046423c:
+dd 0x30303023
+dd 0xa4b3a630
+dd 0xa7f2bbb0
+dd 0x0ae0afda
+dd 0x41a7b0ac
+dd 0xc8b041aa
+dd 0xdcb6baaa
+db 0xa1
+db 0x48
+db 0x00
+
+ref_0046425b:
+db 0x23
+dd 0x31303030
+dd 0x44acd0bd
+dd 0x41a7efbf
+dd 0x6ead51b7
+dd 0xb449a70a
+dd 0xa5baaaab
+dd 0xa1f9a464
+db 0x43
+db 0x00
+
+ref_0046427a:
+db 0x23
+db 0x30
+dd 0xa9323030
+dd 0xa170baea
+dd 0x41a70a49
+dd 0x49c2baaa
+dd 0xa3a4c6bc
+dd 0x49a1aca8
+db 0x00
+
+ref_00464295:
+db 0x23
+db 0x30
+db 0x30
+dd 0xefb93330
+dd 0x5fb0a3a4
+dd 0xb10a49a1
+dd 0xa5baaa7a
+dd 0xc4f9a464
+dd 0xba77a4e6
+dd 0x0049a1a1
+
+ref_004642b4:
+dd 0x30303023
+dd 0xaa77c534
+dd 0xa655a4ef
+dd 0xa841a6b8
+dd 0x0049a1d3
+
+ref_004642c8:
+dd 0x30303023
+dd 0xaa77c535
+dd 0xc1faa5ef
+dd 0x44b90a7b
+dd 0xb1a9e3a8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004642df:
+db 0x23
+dd 0x36303030
+dd 0x6ead7ab1
+dd 0xabb449a7
+dd 0xbbb0a40a
+dd 0xa844b9f2
+dd 0x0048a1e3
+
+ref_004642f8:
+dd 0x30303023
+dd 0xa4efb937
+dd 0xa15fb0a3
+dd 0x7ab10a41
+dd 0x49c2baaa
+dd 0xa3a4e9a8
+dd 0x49a1f7b0
+db 0x00
+
+ref_00464315:
+db 0x23
+db 0x30
+db 0x30
+dd 0xdcab3830
+dd 0x70baeaa9
+dd 0x7ab149a1
+dd 0xb90abaaa
+dd 0xc4e3a844
+dd 0xba77a4e6
+dd 0x0049a1a1
+
+ref_00464334:
+dd 0x31303023
+dd 0xc1c2c130
+dd 0xc566b4c2
+dd 0x0049a155
+
+ref_00464344:
+dd 0x30303023
+dd 0xad6fb339
+dd 0xa844b9d3
+dd 0xad7cb7e3
+dd 0x7ea40afb
+dd 0x49a7e0af
+dd 0x49a1abb4
+dd 0x00000000
+
+ref_00464364:
+dd 0xcccccccd
+dd 0x3feccccc
+
+ref_0046436c:
+dd 0xcccccccd
+dd 0x3feccccc
+
+ref_00464374:
+db '$%d',0x00
+
+ref_00464378:
+dd 0xefaa77c5
+dd 0xc6a8b3b8
+dd 0xfaa5f8aa
+dd 0x0a0a7bc1
+dd 0x7ab165b0
+dd 0x49a17325
+dd 0x00000000
+
+ref_00464394:
+dd 0x31303023
+dd 0xc5a2ab31
+dd 0x0a49a16f
+dd 0xe9a840a4
+dd 0xe2a462a6
+dd 0xa70a41a1
+dd 0xb5e6b1c6
+dd 0xa161bd4c
+db 0x49
+db 0x00
+
+ref_004643b6:
+db 0x23
+db 0x30
+dd 0xa5323130
+dd 0xa46ead75
+dd 0xa464a440
+dd 0x0a41a1b8
+dd 0xb3a64eb4
+dd 0x6fb1f2c0
+dd 0xfabc6aa4
+dd 0xbebaaa0a
+dd 0xa17cb7f7
+db 0x49
+db 0x00
+
+ref_004643de:
+db 0x23
+db 0x30
+dd 0xbd333130
+dd 0xbfe9b0d0
+dd 0xaa7ab1ef
+dd 0xafa90aba
+dd 0xb9b842b9
+dd 0xe3a158bd
+db 0x00
+
+ref_004643f9:
+db 0x23
+db 0x30
+db 0x30
+dd 0xf4ab3431
+dd 0x49a1f4ab
+dd 0x7ab1acaf
+dd 0xfabca4a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046440f:
+db 0x23
+dd 0x35313030
+dd 0x69a5d3a4
+dd 0x46a4a4b1
+dd 0xb10a49a1
+dd 0xb2baaa7a
+dd 0xa4f7aa7b
+dd 0xa1aca8a3
+db 0xe3
+db 0x00
+
+ref_0046442e:
+db 0x23
+db 0x30
+dd 0xa4363130
+dd 0xa6b8a655
+dd 0xa7d3a841
+dd 0x0049a161
+
+ref_00464440:
+dd 0x31303023
+dd 0xa1d9b637
+dd 0x53a40a49
+dd 0x46a4eca8
+dd 0xeba443a8
+dd 0xa451a40a
+dd 0xbcb9b8ad
+dd 0x0a7ab3d6
+dd 0xfabc7db6
+dd 0xa1b6c9ae
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046446b:
+db 0x23
+dd 0x38313030
+dd 0x62a67bb2
+dd 0x57a4a8b0
+dd 0x7ab1b0ac
+dd 0xa57db60a
+dd 0xa46fb358
+dd 0xaac1b440
+dd 0xb9b80aba
+dd 0x44a158bd
+dd 0x43a144a1
+db 0x00
+
+ref_00464495:
+db 0x23
+db 0x30
+db 0x30
+dd 0xbba53931
+dd 0xf7a5eba4
+dd 0x6fb1baaa
+dd 0xac0a44a5
+dd 0xa144a14f
+dd 0xa144a144
+db 0x43
+db 0x00
+
+ref_004644b2:
+db 0x23
+db 0x30
+dd 0xae323330
+dd 0xb1dfb3a5
+dd 0xb157bf7a
+dd 0xd2a90a6f
+dd 0xfabcb3a6
+dd 0x49a1f7aa
+db 0x00
+
+ref_004644cd:
+db 0x23
+db 0x30
+db 0x30
+dd 0x4f533333
+dd 0xa1595252
+dd 0xbba50a49
+dd 0xf7a5eba4
+dd 0xb3a653a8
+dd 0xb10a48a4
+dd 0xa1fabc6f
+db 0xe3
+db 0x00
+
+ref_004644ee:
+db 0x23
+db 0x30
+dd 0xbc343330
+dd 0xb1f7aafa
+dd 0xbfd6b24e
+dd 0xeca80a6e
+dd 0xd3ad55a4
+dd 0x44a1eba4
+dd 0xa144a10a
+dd 0xa144a144
+db 0x43
+db 0x00
+
+ref_00464512:
+db 0x23
+db 0x30
+dd 0xa7353330
+dd 0xa4e6b1c6
+dd 0x0ab8a655
+dd 0xfabc6fb1
+dd 0x4eb4ccaa
+dd 0xb14fac0a
+dd 0x0049a17a
+
+ref_00464530:
+dd 0x33303023
+dd 0xb0e6a636
+dd 0xa76eadca
+dd 0xa1e1b3d6
+db 0x49
+db 0x00
+
+ref_00464542:
+db 0x23
+db 0x30
+dd 0xac303230
+dd 0xb3abbff9
+db 0xec
+db 0x00
+
+ref_0046454e:
+db 0x23
+db 0x30
+dd 0xa8313230
+dd 0xa4a9b646
+dd 0x00b5b4da
+
+ref_0046455c:
+dd 0x32303023
+dd 0xa4d4a732
+dd 0x00a6add3
+
+ref_00464568:
+dd 0x32303023
+dd 0xa4fabf33
+dd 0x0048a4d2
+
+ref_00464574:
+dd 0x32303023
+dd 0xa4fcaa34
+dd 0x0042a767
+
+ref_00464580:
+dd 0x32303023
+dd 0xa9efb235
+dd 0xa5bda4d4
+db 0x44
+db 0x00
+
+ref_0046458e:
+db 0x23
+db 0x30
+dd 0xae363230
+dd 0xc4bba563
+dd 0x00c3c25f
+
+ref_0046459c:
+dd 0x32303023
+dd 0xbf7dbf37
+db 0x7d
+db 0x00
+
+ref_004645a6:
+db 0x23
+db 0x30
+dd 0xaf383230
+dd 0x007dab51
+
+ref_004645b0:
+dd 0x32303023
+dd 0xa45dae39
+dd 0x00fcac70
+
+ref_004645bc:
+dd 0x33303023
+dd 0xa470a430
+dd 0x00a7a5a6
+
+ref_004645c8:
+dd 0x33303023
+dd 0xa8f7aa31
+dd 0x00a9a8a9
+
+ref_004645d4:
+db '%02d',0x00
+
+ref_004645d9:
+db 0xb2
+db 0xd6
+db 0xbf
+dd 0xaafabc6e
+dd 0x000000f7
+
+ref_004645e4:
+dd 0x33303023
+dd 0xa869b637
+dd 0xaa5dc5d3
+dd 0xa1ceab6b
+dd 0xb14eb441
+dd 0xb9a70a6f
+dd 0xd3b7fea5
+dd 0xbaaadaa7
+dd 0xdca5fcab
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046460b:
+db 0x23
+dd 0x38333030
+dd 0xefbfdaa7
+dd 0xc5b258a5
+dd 0xf8b158a6
+dd 0xbaaaf3a5
+dd 0x43a148a4
+db 0x00
+
+ref_00464625:
+db 0x23
+db 0x30
+db 0x30
+dd 0x41a73933
+dd 0x4da8d3a8
+dd 0x4ca577a9
+dd 0xbaaaccad
+dd 0x42b952a9
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046463f:
+db 0x23
+dd 0x30343030
+dd 0xe3a14bbc
+dd 0xeca8fcbd
+dd 0x46a441a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464653:
+db 0x23
+dd 0x31343030
+dd 0x46c6d1a4
+dd 0x61a646c6
+dd 0x46c646c6
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00464667:
+db 0x23
+dd 0x32343030
+dd 0x51b741a7
+dd 0xeab36ca5
+dd 0xabafbaa6
+dd 0xac0a41a1
+dd 0xb441a7b0
+dd 0xb6b3a45f
+dd 0x0048a1dc
+
+ref_00464688:
+dd 0x34303023
+dd 0xad41a733
+dd 0xafbaa66e
+dd 0xa8feaaab
+dd 0xbd62a6ad
+dd 0xa4ada8d6
+dd 0x0048a157
+
+ref_004646a4:
+dd 0x34303023
+dd 0xc6d1a434
+dd 0xa646c646
+dd 0xc646c661
+dd 0x00e3a146
+
+ref_004646b8:
+dd 0x34303023
+dd 0xa14bbc35
+dd 0xaf41a749
+dd 0xb7afa475
+dd 0x00e3a14f
+
+ref_004646cc:
+dd 0x34303023
+dd 0xb25db036
+dd 0xa6ccb3a3
+dd 0xa4baaa68
+db 0x48
+db 0x00
+
+ref_004646de:
+db 0x23
+db 0x30
+dd 0xa4373430
+dd 0xb361a667
+dd 0xaa68a6cc
+dd 0x0048a4ba
+
+ref_004646f0:
+dd 0x34303023
+dd 0xabd0a938
+dd 0xa6ccb3ce
+dd 0xa4baaa68
+db 0x48
+db 0x00
+
+ref_00464702:
+db 0x23
+db 0x30
+dd 0xb2393430
+dd 0xb3f7aa7b
+dd 0xaa68a6cc
+dd 0x0048a4ba
+
+ref_00464714:
+dd 0x35303023
+dd 0xb473a630
+dd 0xa6ccb3da
+dd 0xa4baaa68
+db 0x48
+db 0x00
+
+ref_00464726:
+db 0x23
+db 0x30
+dd 0xc2313530
+dd 0xb3e9a849
+dd 0xaa68a6cc
+dd 0x0048a4ba
+
+ref_00464738:
+dd 0x35303023
+dd 0xb8aba832
+dd 0xa4baaaf4
+db 0x48
+db 0x00
+
+ref_00464746:
+db 0x23
+db 0x30
+dd 0xc3333530
+dd 0xa8f7be4d
+dd 0xa4baaaae
+db 0x48
+db 0x00
+
+ref_00464756:
+db 0x23
+db 0x30
+dd 0xb6343530
+dd 0xa854a87d
+dd 0xa4baaaae
+db 0x48
+db 0x00
+
+ref_00464766:
+db 0x23
+db 0x30
+dd 0xaf353530
+dd 0xaafaa9ab
+dd 0xaaada8fe
+dd 0x0048a4ba
+
+ref_00464778:
+dd 0x35303023
+dd 0xa6d2a936
+dd 0xa56ba8b3
+db 0xcd
+db 0x00
+
+ref_00464786:
+db 0x23
+db 0x30
+dd 0xa9373530
+dd 0xa4b3a6d2
+dd 0x00cda56b
+
+ref_00464794:
+dd 0xe6bddcc5
+dd 0xb3a6d2a9
+dd 0xf9a464a5
+db 0x00
+
+ref_004647a1:
+db 0xa9
+db 0xe2
+db 0xa8
+dd 0xb952a9fa
+dd 0xb154a442
+db 0x69
+db 0x00
+
+ref_004647ae:
+db 0xa5
+db 0xdf
+dd 0xa4a7e8a8
+dd 0x54a463a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_004647bb:
+db 0xad
+dd 0xb061a6ec
+dd 0xa464afb1
+dd 0xa65ea640
+db 0x58
+db 0x00
+
+ref_004647ca:
+db 0xa6
+db 0x73
+dd 0xd2a94aa4
+dd 0x7bb2b3a6
+db 0xaa
+db 0xf7
+db 0x00
+
+ref_004647d7:
+db 0xb4
+dd 0xa561a64e
+dd 0xa95cbb5b
+dd 0x00ceabd0
+
+ref_004647e4:
+dd 0x40a46fb1
+dd 0x64a569b1
+db 0xa4
+db 0xf9
+db 0x00
+
+ref_004647ef:
+db 0xa6
+dd 0xc2e1ab56
+db 0xe0
+db 0x00
+
+ref_004647f6:
+db 0xc5
+db 0xdc
+dd 0xd2a9e6bd
+dd 0x44b9b3a6
+db 0xa8
+db 0xe3
+db 0x00
+
+ref_00464803:
+db 0xb4
+dd 0xa961a64e
+dd 0xa9a3b0ee
+dd 0x00ceabd0
+
+ref_00464810:
+dd 0x7cb0eda6
+dd 0x64accbc0
+dd 0xd1a454a4
+db 0x00
+
+ref_0046481d:
+db 0xa9
+db 0xe7
+db 0xbd
+dd 0xaeedb7e6
+dd 0xa667a4e6
+db 0x61
+db 0x00
+
+ref_0046482a:
+db '%s',0x0a,0x0a,0x00
+
+ref_0046482f:
+db 0xa1
+dd 0xa148a148
+dd 0x2e2e2e48
+db 0x00
+
+ref_00464839:
+db 0xb1
+db 0x6f
+db 0xa8
+dd 0xa17325ec
+db 0x49
+db 0x00
+
+ref_00464842:
+db '%s',0x0a,0x0a,'%s',0x00,0x00,0x00,0x00
+
+ref_0046484c:
+dd 0x37303023
+dd 0xaa77c535
+dd 0xc1faa5ef
+dd 0x6aa40a7b
+dd 0xceaf49b4
+dd 0xe6a6c8bb
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464867:
+db 0x23
+dd 0x36373030
+dd 0x6eadddbb
+dd 0xb0acdaa7
+dd 0xaa0a7ab1
+dd 0xb6c8b041
+dd 0x0048a1dc
+
+ref_00464880:
+dd 0x37303023
+dd 0xaa7ab137
+dd 0xb455b6ba
+dd 0xab42c3da
+dd 0xb0ac0ad7
+dd 0xcaa640a4
+dd 0xb8a455b8
+db 0xa1
+db 0x43
+db 0x00
+
+ref_0046489f:
+db 0x23
+dd 0x38373030
+dd 0xe9bfd0bd
+dd 0x7ab14aa4
+dd 0x55b66ead
+dd 0xaa0adab4
+dd 0xc3f7aaba
+dd 0x0049a142
+
+ref_004648bc:
+dd 0x37303023
+dd 0xaa7ab139
+dd 0xb455b6ba
+dd 0xc4e2a4da
+dd 0x77a40af2
+dd 0xb9a767b8
+dd 0x43a1a8a6
+db 0x00
+
+ref_004648d9:
+db 0x23
+db 0x30
+db 0x30
+dd 0xd0bd3038
+dd 0x54a4f3a9
+dd 0xeba4d3ad
+dd 0xc10abaa4
+dd 0xb64db2d9
+dd 0xa1dab455
+db 0x43
+db 0x00
+
+ref_004648f6:
+db 0x23
+db 0x30
+dd 0xab313830
+dd 0xbaeaa9dc
+dd 0x0a49a170
+dd 0x42c3f7aa
+dd 0x57b677a4
+dd 0xb30a4cb9
+dd 0xc369a55c
+dd 0xa1d7ab42
+db 0x43
+db 0x00
+
+ref_0046491a:
+db 0x23
+db 0x30
+dd 0xbd323830
+dd 0xa4e9bfd0
+dd 0xb97ab14a
+dd 0x0ac6b377
+dd 0xdab4d9c1
+dd 0xf7aabaaa
+dd 0x49a142c3
+db 0x00
+
+ref_00464939:
+db 0x23
+db 0x30
+db 0x30
+dd 0xdcab3338
+dd 0x70baeaa9
+dd 0xb10a49a1
+dd 0xb2baaa7a
+dd 0xa4f7aa7b
+dd 0xa1aca8a3
+db 0x43
+db 0x00
+
+ref_00464956:
+db 0x23
+db 0x30
+dd 0xb1343830
+dd 0xc1baaa7a
+dd 0xa4dab4d9
+dd 0x0af2c4e2
+dd 0xb9a777a4
+dd 0x43a1a8a6
+db 0x00
+
+ref_00464971:
+db 0x23
+db 0x30
+db 0x30
+dd 0xc2c13538
+dd 0x7ab1c2c1
+dd 0x66b4baaa
+dd 0x49a155c5
+db 0x00
+
+ref_00464985:
+db 0x23
+db 0x30
+db 0x30
+dd 0xb3b83638
+dd 0xf8aac6a8
+dd 0xdba6cbbf
+dd 0x7bc159bb
+dd 0xaaa3a40a
+dd 0xa6b3a6be
+dd 0xb1fcabf3
+dd 0x0048a1d0
+
+ref_004649a8:
+dd 0x38303023
+dd 0xbfd0bd37
+dd 0xb14aa4e9
+dd 0x0a6ead7a
+dd 0xe0c267b6
+dd 0xf7aabaaa
+dd 0xe3a142c3
+db 0x00
+
+ref_004649c5:
+db 0x23
+db 0x30
+db 0x30
+dd 0xe6a63838
+dd 0x7bb2ccb8
+dd 0x53a862a6
+dd 0xb30ab3a6
+dd 0xa6f2bb6f
+dd 0xaa7bb268
+dd 0x0043a1f7
+
+ref_004649e4:
+dd 0x38303023
+dd 0xbfd0bd39
+dd 0xb14aa4e9
+dd 0x0a6ead7a
+dd 0xdab4d9c1
+dd 0xf7aabaaa
+dd 0xe3a142c3
+db 0x00
+
+ref_00464a01:
+db 0x23
+db 0x30
+db 0x30
+dd 0xb3b83039
+dd 0xf8aac6a8
+dd 0x4fa77ab1
+dd 0xb1aa7db6
+dd 0x46a4baaf
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00464a1b:
+db 0x23
+dd 0x31393030
+dd 0xc6a8b3b8
+dd 0x43baf8aa
+dd 0x49a1aba8
+db 0x00
+
+ref_00464a2d:
+db 0xb1
+db 0x7a
+db 0xa6
+dd 0xa6c8bb56
+dd 0xb6c9ade6
+dd 0x0abaaa55
+dd 0xdab455b6
+dd 0x4eb159a7
+dd 0xc1b4eca8
+db 0xa1
+db 0x43
+db 0x00
+
+ref_00464a4b:
+db 0xbd
+dd 0xada3a4d0
+dd 0xb0d1a76e
+dd 0xa1e1b34f
+db 0x49
+db 0x00
+
+ref_00464a5a:
+db 0xb2
+db 0x7b
+dd 0xf7aa2020
+db 0x00
+
+ref_00464a61:
+db 0xa6
+db 0x73
+db 0x20
+dd 0x00dab420
+
+ref_00464a68:
+dd 0x202055b6
+db 0xb4
+db 0xda
+db 0x00
+
+ref_00464a6f:
+db 0x25
+dd 0x00eba464
+
+ref_00464a74:
+dd 0xd9c15ab6
+dd 0xe9a4dab4
+dd 0xd1a46425
+db 0x00
+
+ref_00464a81:
+db 0xa5
+db 0xd3
+db 0xbd
+dd 0xb455b6d0
+db 0xda
+db 0x00
+
+ref_00464a8a:
+db 0xc0
+db 0x76
+dd 0x55b6d9c1
+db 0xb4
+db 0xda
+db 0x00
+
+ref_00464a93:
+db 0xaf
+dd 0xbf4fa753
+dd 0x00eab8c4
+
+ref_00464a9c:
+dd 0xe0c267b6
+dd 0xf7aa7bb2
+db 0x00
+
+ref_00464aa5:
+db 0xc2
+db 0x6b
+db 0xc1
+dd 0xb6dab4d9
+db 0xb5
+db 0x00
+
+ref_00464aae:
+db 0xab
+db 0xc8
+dd 0x73a6e1a4
+dd 0x60c1dab4
+db 0xc3
+db 0x42
+db 0x00
+
+ref_00464abb:
+db 0xa5
+dd 0xbf65abd8
+dd 0xaaeab8c4
+dd 0x0042c3f7
+
+ref_00464ac8:
+dd 0x69a57ca9
+dd 0xeab8c4bf
+dd 0x42c3f7aa
+db 0x00
+
+ref_00464ad5:
+db 0xbb
+db 0xc8
+db 0xa6
+dd 0xb0c8bce6
+dd 0xb4f1a9b1
+dd 0xc10a0ada
+dd 0x25d1b3d9
+dd 0xa1d1a464
+db 0x49
+db 0x00
+
+ref_00464aee:
+db 0x25
+db 0x73
+dd 0x6ea67ab1
+db 0x00
+
+ref_00464af5:
+db 0x25
+db 0x73
+db 0x0a
+dd 0xc176c00a
+dd 0xa6c8bbd9
+dd 0xb455b6e6
+dd 0x250a0ada
+dd 0x00b8a464
+
+ref_00464b0c:
+dd 0x0a0a7325
+dd 0xc8bb56a6
+dd 0x55b6e6a6
+dd 0x0a0adab4
+dd 0xb8a46425
+dd 0x00000000
+
+ref_00464b24:
+dd 0x9999999a
+dd 0x3ff19999
+
+ref_00464b2c:
+dd 0xdab455b6
+dd 0xc1b4eca8
+dd 0x0a0ae9a4
+dd 0xeea86ab1
+dd 0xe6a6f5b0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464b43:
+db 0xb6
+dd 0xb455b65a
+dd 0xb4eca8da
+dd 0x0ae9a4c1
+dd 0xb3d9c10a
+dd 0xa4b0a2d1
+dd 0x0049a1d1
+
+ref_00464b5c:
+dd 0x55b65ab6
+dd 0xeca8dab4
+dd 0xe9a4c1b4
+dd 0xd9c10a0a
+dd 0xb1a2d1b3
+dd 0x49a1d1a4
+db 0x00
+
+ref_00464b75:
+db 0xbb
+db 0xc8
+db 0xa6
+dd 0xaaeab8e6
+dd 0xb3c7b7f7
+dd 0xa40a0ac6
+dd 0x25aca8a3
+dd 0x0ab8a464
+dd 0xb8d1a50a
+dd 0xaae7c067
+dd 0xb97325cc
+dd 0xa149a5d4
+db 0x49
+db 0x00
+
+ref_00464b9e:
+db 0xbb
+db 0xc8
+dd 0x67b8e6a6
+dd 0x76c5e7c0
+dd 0x44a5f6a9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464baf:
+db 0x25
+dd 0xb10a0a73
+dd 0xc0eea86a
+dd 0x25d9c176
+dd 0x0ab8a464
+dd 0xa6c8bb0a
+dd 0xa753afe6
+dd 0xb8c4bf4f
+dd 0x0049a1ea
+
+ref_00464bd0:
+dd 0x42080000
+
+ref_00464bd4:
+dd 0xe6a6c8bb
+dd 0xb1b0c8bc
+dd 0xdab4f1a9
+dd 0xd9c10a0a
+dd 0x6425d1b3
+dd 0x49a1d1a4
+db 0x00
+
+ref_00464bed:
+db 0xbb
+db 0xc8
+db 0xa6
+dd 0xb5daa9e6
+dd 0xa8b9a9b4
+dd 0xc10a0ad3
+dd 0x25d1b3d9
+dd 0xa1d1a464
+dd 0x00000049
+
+ref_00464c08:
+dd 0x42c80000
+dd 0x00000000
+
+ref_00464c10:
+dd 0x00000000
+dd 0x3ff80000
+
+ref_00464c18:
+dd 0x00000000
+dd 0x3fe00000
+
+ref_00464c20:
+dd 0x00000000
+dd 0x3fd00000
+
+ref_00464c28:
+dd 0x00000000
+dd 0xbfd00000
+
+ref_00464c30:
+dd 0x39303023
+dd 0xbff9ac36
+dd 0x00ecb3ab
+
+ref_00464c3c:
+dd 0x39303023
+dd 0xb646a837
+dd 0xb4daa4a9
+db 0xb5
+db 0x00
+
+ref_00464c4a:
+db 0x23
+db 0x30
+dd 0xa7383930
+dd 0xadd3a4d4
+db 0xa6
+db 0x00
+
+ref_00464c56:
+db 0x23
+db 0x30
+dd 0xbf393930
+dd 0xa4d2a4fa
+db 0x48
+db 0x00
+
+ref_00464c62:
+db 0x23
+db 0x30
+dd 0xaa303031
+dd 0xa767a4fc
+db 0x42
+db 0x00
+
+ref_00464c6e:
+db 0x23
+db 0x30
+dd 0xb2313031
+dd 0xa4d4a9ef
+dd 0x0044a5bd
+
+ref_00464c7c:
+dd 0x30313023
+dd 0xa563ae32
+dd 0xc25fc4bb
+db 0xc3
+db 0x00
+
+ref_00464c8a:
+db 0x23
+db 0x30
+dd 0xbf333031
+dd 0x007dbf7d
+
+ref_00464c94:
+dd 0x30313023
+dd 0xab51af34
+db 0x7d
+db 0x00
+
+ref_00464c9e:
+db 0x23
+db 0x30
+dd 0xae353031
+dd 0xac70a45d
+db 0xfc
+db 0x00
+
+ref_00464caa:
+db 0x23
+db 0x30
+dd 0xa4363031
+dd 0xa5a6a470
+db 0xa7
+db 0x00
+
+ref_00464cb6:
+db 0x23
+db 0x30
+dd 0xaa373031
+dd 0xa8a9a8f7
+db 0xa9
+db 0x00
+
+ref_00464cc2:
+db 0x23
+db 0x30
+dd 0xac303131
+dd 0xb3abbff9
+db 0xec
+db 0x00
+
+ref_00464cce:
+db 0x23
+db 0x30
+dd 0xa8313131
+dd 0xa4a9b646
+dd 0x00b5b4da
+
+ref_00464cdc:
+dd 0x31313023
+dd 0xa4d4a732
+dd 0x00a6add3
+
+ref_00464ce8:
+dd 0x31313023
+dd 0xa4fabf33
+dd 0x0048a4d2
+
+ref_00464cf4:
+dd 0x31313023
+dd 0xa4fcaa34
+dd 0x0042a767
+
+ref_00464d00:
+dd 0x31313023
+dd 0xa9efb235
+dd 0xa5bda4d4
+db 0x44
+db 0x00
+
+ref_00464d0e:
+db 0x23
+db 0x30
+dd 0xae363131
+dd 0xc4bba563
+dd 0x00c3c25f
+
+ref_00464d1c:
+dd 0x31313023
+dd 0xbf7dbf37
+db 0x7d
+db 0x00
+
+ref_00464d26:
+db 0x23
+db 0x30
+dd 0xaf383131
+dd 0x007dab51
+
+ref_00464d30:
+dd 0x31313023
+dd 0xa45dae39
+dd 0x00fcac70
+
+ref_00464d3c:
+dd 0x32313023
+dd 0xa470a430
+dd 0x00a7a5a6
+
+ref_00464d48:
+dd 0x32313023
+dd 0xa8f7aa31
+dd 0x00a9a8a9
+dd 0x00000000
+
+ref_00464d58:
+dd 0x9999999a
+dd 0x3fd99999
+
+ref_00464d60:
+dd 0x39303023
+dd 0xa655a632
+dd 0xa4c8abec
+dd 0xadafa8e1
+dd 0xa146a457
+dd 0x53a40a49
+dd 0x46a4eca8
+dd 0xeba443a8
+dd 0xe6a6c8bb
+dd 0xbab2b50a
+dd 0xa4baaae2
+dd 0xa16ca4e9
+db 0x43
+db 0x00
+
+ref_00464d92:
+db 0x23
+db 0x30
+dd 0xa4333930
+dd 0xaf49b46a
+dd 0xa6c8bbce
+dd 0x0a4eb1e6
+dd 0xdabedaae
+dd 0xbaaa7ab1
+dd 0xdab473a6
+dd 0xa50a41a1
+dd 0xa26fb55b
+dd 0xa2afa2b0
+dd 0xc0baaa48
+dd 0xa7f7aa78
+dd 0xa1a7ae51
+db 0x43
+db 0x00
+
+ref_00464dca:
+db 0x23
+db 0x30
+dd 0xa5353930
+dd 0xb4eba4bb
+dd 0xa4a1b164
+dd 0xacabaa48
+dd 0xa144a14f
+dd 0x0043a144
+
+ref_00464de4:
+dd 0xfabcf2c0
+dd 0x5da6ecad
+db 0xa1
+db 0x47
+db 0x00
+
+ref_00464def:
+db 0xa5
+dd 0xb7eba4bb
+dd 0xb77ea54e
+dd 0xa1a2a56c
+db 0x47
+db 0x00
+
+ref_00464dfe:
+db 0xa5
+db 0xbb
+dd 0x4eb7eba4
+dd 0xa7a47ea5
+dd 0x47a15db0
+db 0x00
+
+ref_00464e0d:
+db 0xa5
+db 0xbb
+db 0xa4
+dd 0xb7cbadeb
+dd 0xbcd1a4b0
+dd 0x0047a1c6
+
+ref_00464e1c:
+dd 0xd1a46425
+db 0x00
+
+ref_00464e21:
+db 0x23
+db 0x30
+db 0x31
+dd 0x4fa73830
+dd 0xdfa4c7a6
+dd 0x41a641a1
+dd 0x6faa5ba5
+dd 0x49a1e1b3
+db 0x00
+
+ref_00464e39:
+db 0x23
+db 0x30
+db 0x31
+dd 0xbba53930
+dd 0x61abeba4
+dd 0x4fac78ad
+dd 0x44a144a1
+db 0xa1
+db 0x43
+db 0x00
+
+ref_00464e4f:
+db 0xb2
+dd 0xa1f7aa7b
+db 0x47
+db 0x00
+
+ref_00464e56:
+db 0xa6
+db 0x73
+dd 0x47a1dab4
+db 0x00
+
+ref_00464e5d:
+db 0xc1
+db 0x60
+db 0xb8
+dd 0xa1a3b2ea
+db 0x47
+db 0x00
+
+ref_00464e66:
+db 0x23
+db 0x30
+dd 0xa8323231
+dd 0xa44ca5e4
+dd 0xadd9c148
+dd 0xf3a70a6e
+dd 0x4fa456a7
+dd 0x49a1e1b3
+dd 0x00000000
+dd 0x00000000
+
+ref_00464e88:
+dd 0x9999999a
+dd 0x3ff19999
+
+ref_00464e90:
+dd 0xa7ae51a7
+db 0xa1
+db 0x47
+db 0x00
+
+ref_00464e97:
+db 0xb6
+dd 0xa4dab455
+dd 0x000000a4
+
+ref_00464ea0:
+dd 0x9999999a
+dd 0x3fb99999
+
+ref_00464ea8:
+dd 0x4ab1eda6
+db 0xa4
+db 0xa4
+db 0x00
+
+ref_00464eaf:
+db 0xae
+dd 0xa4a2a5f8
+db 0xa4
+db 0x00
+
+ref_00464eb6:
+db 0xa7
+db 0xa4
+dd 0xa4a463a8
+db 0x00
+
+ref_00464ebd:
+db 0xa6
+db 0xed
+db 0xb0
+dd 0x00a4a47c
+
+ref_00464ec4:
+dd 0x76af56a5
+db 0xa4
+db 0xa4
+db 0x00
+
+ref_00464ecb:
+db 0xb9
+dd 0xa443b9da
+db 0xa4
+db 0x00
+
+ref_00464ed2:
+db 0xbd
+db 0xe6
+db 0xa4
+db 0xe8
+db 0x00
+
+ref_00464ed7:
+db 0x23
+dd 0x36333130
+dd 0xdfb3a5ae
+dd 0xabbff9ac
+dd 0xcac1ecb3
+dd 0xb9a66fb1
+dd 0x49a161a6
+db 0x00
+
+ref_00464ef1:
+db 0x23
+db 0x30
+db 0x31
+dd 0xa5ae3733
+dd 0x46a8dfb3
+dd 0xdaa4a9b6
+dd 0xcac1b5b4
+dd 0xb9a66fb1
+dd 0x49a161a6
+db 0x00
+
+ref_00464f0d:
+db 0x23
+db 0x30
+db 0x31
+dd 0xa5ae3833
+dd 0xd4a7dfb3
+dd 0xa6add3a4
+dd 0x6fb1cac1
+dd 0x61a6b9a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464f27:
+db 0x23
+dd 0x39333130
+dd 0xdfb3a5ae
+dd 0xd2a4fabf
+dd 0xcac148a4
+dd 0xb9a66fb1
+dd 0x49a161a6
+db 0x00
+
+ref_00464f41:
+db 0x23
+db 0x30
+db 0x31
+dd 0xa5ae3034
+dd 0xfcaadfb3
+dd 0x42a767a4
+dd 0x6fb1cac1
+dd 0x61a6b9a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464f5b:
+db 0x23
+dd 0x31343130
+dd 0xdfb3a5ae
+dd 0xd4a9efb2
+dd 0x44a5bda4
+dd 0x6fb1cac1
+dd 0x61a6b9a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464f77:
+db 0x23
+dd 0x32343130
+dd 0xdfb3a5ae
+dd 0xbba563ae
+dd 0xc3c25fc4
+dd 0x6fb1cac1
+dd 0x61a6b9a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464f93:
+db 0x23
+dd 0x33343130
+dd 0xdfb3a5ae
+dd 0x7dbf7dbf
+dd 0x6fb1cac1
+dd 0x61a6b9a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464fab:
+db 0x23
+dd 0x34343130
+dd 0xdfb3a5ae
+dd 0x7dab51af
+dd 0x6fb1cac1
+dd 0x61a6b9a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464fc3:
+db 0x23
+dd 0x35343130
+dd 0xdfb3a5ae
+dd 0x70a45dae
+dd 0xcac1fcac
+dd 0xb9a66fb1
+dd 0x49a161a6
+db 0x00
+
+ref_00464fdd:
+db 0x23
+db 0x30
+db 0x31
+dd 0xa5ae3634
+dd 0x70a4dfb3
+dd 0xa7a5a6a4
+dd 0x6fb1cac1
+dd 0x61a6b9a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00464ff7:
+db 0x23
+dd 0x37343130
+dd 0xdfb3a5ae
+dd 0xa9a8f7aa
+dd 0xcac1a9a8
+dd 0xb9a66fb1
+dd 0x49a161a6
+dd 0x00000000
+
+ref_00465014:
+dd 0x46fffe00
+
+ref_00465018:
+dd 0x33333333
+dd 0x3fd33333
+
+ref_00465020:
+dd 0x00000000
+dd 0x3fe00000
+
+ref_00465028:
+dd 0x40800000
+
+ref_0046502c:
+dd 0x40c00000
+
+ref_00465030:
+dd 0x37800000
+
+ref_00465034:
+dd 0x40400000
+
+ref_00465038:
+dd 0x33313023
+dd 0xb6bda431
+dd 0xbde7a97d
+dd 0xa667a4e6
+dd 0xb340a461
+dd 0x0043a142
+
+ref_00465050:
+dd 0xb8a46425
+db 0x00
+
+ref_00465055:
+db 0xa2
+db 0xde
+db 0xa2
+dd 0xa2e1a2cf
+db 0xe1
+db 0x00
+
+ref_0046505e:
+db 0xa9
+db 0xf1
+db 0xb1
+db 0xf3
+db 0x00
+
+ref_00465063:
+db 0x23
+dd 0x38343130
+dd 0x48a44cb5
+dd 0xf9bb58a5
+dd 0xc5ab41a1
+dd 0x79ac47a7
+dd 0x43a1d0bc
+db 0x00
+
+ref_0046507d:
+db 0x23
+db 0x30
+db 0x31
+dd 0xb3a93233
+dd 0x6425f9bb
+dd 0xbd0ab8a4
+dd 0xaa4eb7d0
+dd 0xbb58a5cc
+dd 0x0043a1f9
+
+ref_00465098:
+dd 0x33313023
+dd 0xa4642535
+dd 0xa5a8a6b8
+db 0xe6
+db 0x00
+
+ref_004650a6:
+db 0xbc
+db 0xd0
+dd 0x47a1f9bb
+dd 0x00000000
+
+ref_004650b0:
+dd 0x3f000000
+
+ref_004650b4:
+dd 0x32313023
+dd 0xc1c2c134
+dd 0xa141a7c2
+dd 0xaf41a749
+dd 0x0a4fac75
+dd 0xbaaadaa7
+dd 0xcda541a6
+dd 0xc0a5f7a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004650d7:
+db 0x23
+dd 0x35323130
+dd 0xfda5daa7
+dd 0x46a4aba8
+dd 0x6aa449a1
+dd 0xa40aa6ae
+dd 0xa877bc6a
+dd 0xa6e9a4d3
+dd 0xa1f8b341
+db 0x49
+db 0x00
+
+ref_004650fa:
+db 0x23
+db 0x30
+dd 0xa4333231
+dd 0xbf50b7d3
+dd 0xa146a445
+dd 0xa4daa749
+dd 0x77a90a40
+dd 0xf8b37cb7
+dd 0x41a7aab5
+dd 0x49a1baaa
+db 0x00
+
+ref_0046511d:
+db 0x23
+db 0x30
+db 0x31
+dd 0xfca83632
+dd 0x49c248a4
+dd 0xa7a4f4a4
+dd 0x41a1a6ae
+dd 0xb7b2a50a
+dd 0xace9b4ed
+dd 0xb377a475
+dd 0x0049a1f8
+
+ref_00465140:
+dd 0xc0c44fab
+dd 0xc6bc49c2
+db 0x00
+
+ref_00465149:
+db 0x25
+db 0x64
+db 0xc2
+db 0x49
+db 0x00
+
+ref_0046514e:
+db 0x23
+db 0x30
+dd 0xa9323030
+dd 0xa170baea
+dd 0x41a70a49
+dd 0x49c2baaa
+dd 0xa3a4c6bc
+dd 0x49a1aca8
+db 0x00
+
+ref_00465169:
+db 0xab
+db 0x4f
+db 0xc4
+dd 0x007325c0
+
+ref_00465170:
+dd 0x32313023
+dd 0xa67ab137
+dd 0xbd49a16e
+dd 0xb1ddb0d0
+dd 0xb46ead7a
+dd 0x0ad6bdc0
+dd 0x7ab2ecbf
+dd 0x7cb058a5
+dd 0xf2c4e2a4
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00465197:
+db 0x23
+dd 0x38323130
+dd 0x79b5d0bd
+dd 0x49a1e1ab
+db 0x00
+
+ref_004651a5:
+db 0x23
+db 0x30
+db 0x31
+dd 0xdda23932
+dd 0x49a1d9a2
+dd 0xbaaa7ab1
+dd 0xcda442aa
+dd 0x67b877a4
+dd 0xa569a50a
+dd 0xb058a548
+dd 0xa146a47c
+db 0x49
+db 0x00
+
+ref_004651ca:
+db 0x23
+db 0x30
+dd 0xad303331
+dd 0xad4fab6e
+dd 0xc5ada8ab
+dd 0xa1e1b3e9
+db 0x49
+db 0x00
+
+ref_004651de:
+db 0x23
+db 0x30
+dd 0xa9323030
+dd 0xa170baea
+dd 0x41a70a49
+dd 0x49c2baaa
+dd 0xa3a4c6bc
+dd 0x49a1aca8
+db 0x00
+
+ref_004651f9:
+db 0xab
+db 0x4f
+db 0xc4
+dd 0xbc49c2c0
+db 0xc6
+db 0x00
+
+ref_00465202:
+db 0x25
+db 0x64
+db 0xc2
+db 0x49
+db 0x00
+
+ref_00465207:
+db 0xab
+dd 0x25c0c44f
+dd 0x00000073
+
+ref_00465210:
+dd 0x0a0a7325
+dd 0x7ab165b0
+dd 0xeab058a5
+dd 0x43b9c8ae
+dd 0x002e2e2e
+
+ref_00465224:
+dd 0xbaaa7325
+dd 0x5dc0c8ae
+dd 0xd0bd0a0a
+dd 0xd3a869b6
+dd 0xa7aef0a5
+dd 0x002e2e2e
+
+ref_0046523c:
+dd 0xbaaa7325
+dd 0xabaacac1
+dd 0xdfa4a4a4
+dd 0x7ab10a0a
+dd 0xf8aebaaa
+dd 0xbfad4fb6
+dd 0xb0acc6bc
+dd 0x002e2e2e
+
+ref_0046525c:
+dd 0x0a0a7325
+dd 0xbaaa7ab1
+dd 0x4fabeba7
+dd 0xc6bcd1a4
+dd 0x2e2eb0ac
+db 0x2e
+db 0x00
+
+ref_00465272:
+db 0x25
+db 0x73
+dd 0xd0bd0a0a
+dd 0xd3a869b6
+dd 0xa7aef0a5
+dd 0x002e2e2e
+
+ref_00465284:
+dd 0xb8a46425
+db 0x00
+
+ref_00465289:
+db 0xbd
+db 0xd0
+db 0xbf
+dd 0xb3dcbeef
+dd 0xc349ac5d
+dd 0x004fa7fe
+
+ref_00465298:
+dd 0xefbfd0bd
+dd 0xfdb1dcbe
+dd 0x6fb57db6
+dd 0xe3a844b9
+db 0x00
+
+ref_004652a9:
+db 0x25
+db 0x73
+db 0xaa
+dd 0x0aada8fe
+dd 0xa956a60a
+dd 0xb9b3a6d2
+dd 0xa6e2a4ef
+dd 0x2e2e2eac
+db 0x00
+
+ref_004652c1:
+db 0x25
+db 0x73
+db 0xaa
+dd 0x0aada8fe
+dd 0xb165b00a
+dd 0x2e2e2e7a
+db 0x00
+
+ref_004652d1:
+db 0x25
+db 0x73
+db 0xaa
+dd 0x0aada8fe
+dd 0xb549a50a
+dd 0xad43a8b9
+dd 0x2e48a4d3
+db 0x2e
+db 0x2e
+db 0x00
+
+ref_004652e7:
+db 0x25
+dd 0xa8feaa73
+dd 0xb70a0aad
+dd 0x2ea2a56c
+dd 0x00002e2e
+
+ref_004652f8:
+dd 0x6fb16db7
+dd 0xbaaa7325
+dd 0x73250a0a
+db 0x00
+
+ref_00465305:
+db 0xa8
+db 0xcf
+db 0xa5
+dd 0x007325ce
+
+ref_0046530c:
+dd 0xbaaa7ab1
+dd 0xf7aa7bb2
+dd 0xaca8a3a4
+dd 0x000049a1
+
+ref_0046531c:
+dd 0x40000000
+
+ref_00465320:
+dd 0x40a00000
+
+ref_00465324:
+dd 0x40000000
+
+ref_00465328:
+dd 0x40a00000
+
+ref_0046532c:
+dd 0x0a0a7325
+dd 0xb3a45fb4
+dd 0xcda564a5
+dd 0x49a1c4ae
+db 0x00
+
+ref_0046533d:
+db 0x25
+db 0x73
+db 0x0a
+dd 0xbaf9b60a
+dd 0xa564a5d7
+dd 0xa1c4aecd
+db 0x49
+db 0x00
+
+ref_0046534e:
+db 0xac
+db 0x4f
+dd 0xf9b65fa7
+dd 0xb9b5d7ba
+dd 0x48a17325
+db 0x00
+
+ref_0046535d:
+db 0xbd
+db 0xd0
+db 0xbf
+dd 0xb6dcbeef
+dd 0xb9d7baf9
+dd 0x2e48b6ef
+db 0x2e
+db 0x2e
+db 0x00
+
+ref_0046536f:
+db 0xb6
+dd 0xb5d7baf9
+dd 0xa17325b9
+dd 0x00000049
+dd 0x00000000
+
+ref_00465380:
+dd 0x9999999a
+dd 0x3fc99999
+
+ref_00465388:
+dd 0x0a0a7325
+dd 0x5fa74fac
+dd 0xcea5cfa8
+dd 0x4fb64ba7
+dd 0x48a164a5
+db 0x00
+
+ref_0046539d:
+db 0x25
+db 0x73
+db 0x0a
+dd 0xb84ba70a
+dd 0xa564a56f
+dd 0xa1c4aecd
+db 0x49
+db 0x00
+
+ref_004653ae:
+db 0xb9
+db 0xef
+dd 0xcfa87325
+dd 0x7325cea5
+dd 0x000049a1
+
+ref_004653bc:
+dd 0x43480000
+
+ref_004653c0:
+dd 0xfaa8e2a9
+dd 0x0a0a7325
+dd 0xb8a46425
+dd 0xf7aa7cb5
+dd 0x000049a1
+dd 0x00000000
+
+ref_004653d8:
+dd 0x9999999a
+dd 0x3fc99999
+
+ref_004653e0:
+dd 0x6425d1a1
+db 0x00
+
+ref_004653e5:
+db 0xa8
+db 0xcf
+db 0xa5
+dd 0x007325ce
+
+ref_004653ec:
+dd 0x64b34cb5
+dd 0x73b7f4a5
+db 0xbb
+db 0x44
+db 0x00
+
+ref_004653f7:
+db 0xac
+dd 0xa4b2a946
+dd 0x0069a7bd
+
+ref_00465400:
+dd 0x7cb7c0aa
+dd 0x44bb73b7
+db 0x00
+
+ref_00465409:
+db 0xb8
+db 0xf4
+db 0xaa
+dd 0xbef8b370
+db 0xc9
+db 0x00
+
+ref_00465412:
+db 0xae
+db 0xf0
+dd 0xf8b348b6
+db 0xbe
+db 0xc9
+db 0x00
+
+ref_0046541b:
+db 0xb0
+dd 0xb767b85d
+dd 0x0044bb73
+
+ref_00465424:
+dd 0x34313023
+dd 0xa4bbba39
+dd 0xa57da5a4
+dd 0xb84cb5c7
+dd 0xc47db66f
+db 0xc0
+db 0x00
+
+ref_0046543a:
+db 0x23
+db 0x30
+dd 0xba303531
+dd 0xa5a4a4bb
+dd 0xa9c7a57d
+dd 0xa6f8aab5
+dd 0x25c1b444
+dd 0x00d1a464
+
+ref_00465454:
+dd 0x35313023
+dd 0xb0eda631
+dd 0xafa4a47c
+dd 0xb477b166
+dd 0xa565aba3
+dd 0x007cb058
+
+ref_0046546c:
+dd 0x35313023
+dd 0xb0eda632
+dd 0xafa4a47c
+dd 0xa977b166
+dd 0xa6f8aab5
+dd 0x257cb0ed
+dd 0x00d1a464
+
+ref_00465488:
+dd 0x35313023
+dd 0xac7ea533
+dd 0xa748a450
+dd 0xa6b4a5f0
+dd 0x0079b261
+
+ref_0046549c:
+dd 0x35313023
+dd 0xac7ea534
+dd 0xc3c7a950
+dd 0xc0a7c57e
+dd 0x0a7325bb
+dd 0xb4b752ba
+dd 0x76bfd8ab
+dd 0xc9b440a4
+db 0x00
+
+ref_004654bd:
+db 0x23
+db 0x30
+db 0x31
+dd 0x73253535
+dd 0x69a7bda4
+dd 0xf9bb61a6
+dd 0xa6bad5bd
+dd 0xafa2b2a2
+dd 0x000048a2
+dd 0x00000000
+
+ref_004654dc:
+dd 0xcccccccd
+dd 0x3ff4cccc
+
+ref_004654e4:
+dd 0x35313023
+dd 0xb6bda436
+dd 0xbde7a97d
+dd 0x0a7325e6
+dd 0xb3a6bda4
+dd 0x61a667a4
+dd 0x42b340a4
+db 0x00
+
+ref_00465501:
+db 0x23
+db 0x30
+db 0x31
+dd 0xbda43735
+dd 0xedaa7db6
+dd 0xc4b2adb4
+dd 0x6aa440a4
+dd 0x44a561a6
+dd 0xc073250a
+dd 0x256fb1f2
+dd 0xbcb8a464
+dd 0x0079c0fa
+
+ref_00465528:
+dd 0x35313023
+dd 0xb6bda438
+dd 0xa7c9b87d
+dd 0xa667a455
+dd 0xa4ccb361
+dd 0x0accaad6
+dd 0xf2c07325
+dd 0x64256fb1
+dd 0xc9b8b8a4
+db 0xa7
+db 0x55
+db 0x00
+
+ref_0046554f:
+db 0x23
+dd 0x39353130
+dd 0x7db6bda4
+dd 0xadb4edaa
+dd 0xaba5d1aa
+dd 0x40a4c4b2
+dd 0xe1a46aa4
+dd 0xc073250a
+dd 0x256fb1f2
+dd 0xbcb8a464
+dd 0x0079c0fa
+
+ref_00465578:
+dd 0x36313023
+dd 0xa6d2a930
+dd 0xc348a4b3
+dd 0xa9e6a5ba
+dd 0xb56fb1d2
+dd 0xa2b4a27c
+db 0x48
+db 0x00
+
+ref_00465592:
+db 0x25
+db 0x73
+dd 0xe6a5bac3
+dd 0xb8a46425
+dd 0x00000000
+dd 0x00000000
+
+ref_004655a4:
+dd 0x9999999a
+dd 0x3fa99999
+
+ref_004655ac:
+dd 0x36313023
+dd 0xa6d2a931
+dd 0xc348a4b3
+dd 0xa6e6a5ba
+dd 0xb5f9bb61
+dd 0xa2b4a27c
+dd 0x00000048
+dd 0x00000000
+
+ref_004655cc:
+dd 0x9999999a
+dd 0x3fa99999
+
+ref_004655d4:
+dd 0x36313023
+dd 0xa6d2a932
+dd 0xc348a4b3
+dd 0xc3e6a5ba
+dd 0xb5e6a5d2
+dd 0xa2b4a27c
+dd 0x00000048
+dd 0x00000000
+
+ref_004655f4:
+dd 0x9999999a
+dd 0x3fa99999
+
+ref_004655fc:
+dd 0x36313023
+dd 0xa9732533
+dd 0xbeceabd0
+dd 0x0aadb078
+dd 0xf9bb61a6
+dd 0x5eb655a4
+dd 0xafa2b2a2
+dd 0x000048a2
+
+ref_0046561c:
+dd 0x66666666
+dd 0x3fe66666
+
+ref_00465624:
+dd 0x36313023
+dd 0xa4732534
+dd 0xa542b340
+dd 0xa576a6c1
+dd 0xc3b5b4cb
+dd 0x0ab5ac7a
+dd 0xceabd0a9
+dd 0xf5a4a2a5
+db 0x00
+
+ref_00465645:
+db 0x23
+db 0x30
+db 0x31
+dd 0xa8bb3536
+dd 0x53af42ab
+dd 0xa60af8b3
+dd 0xa548a4e6
+dd 0xa4a7aef0
+dd 0xa65ea640
+db 0x58
+db 0x00
+
+ref_00465662:
+db 0x23
+db 0x30
+dd 0xa5363631
+dd 0xaa71b3e6
+dd 0x0aebb6fd
+dd 0xaea854a8
+dd 0xeea4b1b0
+dd 0x5ea640a4
+db 0xa6
+db 0x58
+db 0x00
+
+ref_0046567f:
+db 0x23
+dd 0x37363130
+dd 0x6ab17325
+dd 0x61a650af
+dd 0xd0a95fbe
+dd 0xcbadceab
+db 0xb6
+db 0xf2
+db 0x00
+
+ref_00465697:
+db 0x23
+dd 0x38363130
+dd 0x73a47325
+dd 0x7ac378ac
+dd 0x67a46fb5
+dd 0x79ac61a6
+db 0xa5
+db 0xa2
+db 0x00
+
+ref_004656af:
+db 0x23
+dd 0x39363130
+dd 0xc5af57b6
+dd 0xb7ade4bb
+dd 0xa7c549ab
+dd 0xa60a7325
+dd 0xa942b368
+dd 0xa8ceabd0
+dd 0x006cb7fc
+
+ref_004656d0:
+dd 0x37313023
+dd 0xb173c030
+dd 0xabb7adb2
+dd 0x25a7c549
+dd 0x52ba0a73
+dd 0xd0a9b4b7
+dd 0x40a4ceab
+db 0xb4
+db 0xc9
+db 0x00
+
+ref_004656ef:
+db 0x23
+dd 0x31373130
+dd 0xe6a6c8bb
+dd 0x49a7bdc0
+dd 0xeea4b1b0
+dd 0xdab4f1a9
+dd 0xb4a2b0a2
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_0046570b:
+db 0x23
+dd 0x32373130
+dd 0xe6a6c8bb
+dd 0x6fb55ba5
+dd 0xafa2b0a2
+dd 0x78c048a2
+dd 0xf5acf7aa
+db 0xa7
+db 0x51
+db 0x00
+
+ref_00465727:
+db 0x25
+dd 0xa86fb173
+dd 0xa46425ec
+dd 0x000000b8
+
+ref_00465734:
+dd 0x9999999a
+dd 0x3fb99999
+
+ref_0046573c:
+dd 0x37313023
+dd 0xa5d1aa33
+dd 0xb043a7ab
+dd 0xaea3a467
+dd 0xaeabadb6
+dd 0xbd59b1c0
+db 0x4c
+db 0x00
+
+ref_00465756:
+db 0x23
+db 0x30
+dd 0xaa343731
+dd 0xaeaba5d1
+dd 0xa6d5b6f0
+dd 0xa569ad70
+dd 0xa4b1adfe
+dd 0x00a6ba57
+
+ref_00465770:
+dd 0x37313023
+dd 0xa5d1aa35
+dd 0xb0c8bcab
+dd 0xa9e6a5b1
+dd 0xa2b0a2f6
+dd 0x00d1a4af
+
+ref_00465788:
+dd 0x37313023
+dd 0xaa732536
+dd 0xbcbcb2d1
+dd 0xa5b1b0c8
+dd 0xa2f6a9e6
+dd 0xa4afa2b0
+db 0xd1
+db 0x00
+
+ref_004657a2:
+db 0x23
+db 0x30
+dd 0x25373731
+dd 0xb2d1aa73
+dd 0xb4ecabbc
+dd 0xa557a45f
+dd 0xa9e6a5ab
+db 0xf6
+db 0x00
+
+ref_004657ba:
+db 0x23
+db 0x30
+dd 0x25383731
+dd 0xaa48b973
+dd 0xb657b66b
+dd 0x67b80a55
+dd 0xccaae7c0
+dd 0xa4a77325
+dd 0xb4a263a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_004657db:
+db 0x23
+dd 0x39373130
+dd 0x75a47325
+dd 0xc6b174bc
+dd 0xc3a6f1a9
+dd 0xbb0af4a4
+dd 0x31dab440
+dd 0x30303030
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_004657fb:
+db 0x23
+dd 0x30383130
+dd 0xfcae7325
+dd 0xeba77ea5
+dd 0xc00aeab8
+dd 0x3251a7f2
+dd 0x30303030
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_00465817:
+db 0x23
+dd 0x31383130
+dd 0xfcae7325
+dd 0xeba77ea5
+dd 0xc10aeab8
+dd 0x326cb7ab
+dd 0x30303030
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_00465833:
+db 0x23
+dd 0x32383130
+dd 0x48b97325
+dd 0x7db657b3
+dd 0x73a46fb5
+dd 0x61a659a9
+dd 0xb440bb0a
+dd 0x303031da
+dd 0xb8a43030
+db 0x00
+
+ref_00465855:
+db 0x23
+db 0x30
+db 0x31
+dd 0x73253338
+dd 0x79b373bb
+dd 0xb5adb8be
+dd 0x60aebda4
+dd 0xb440bb0a
+dd 0x303035da
+dd 0x00b8a430
+
+ref_00465874:
+dd 0x38313023
+dd 0xc0732534
+dd 0xbd51a7f2
+dd 0xa4aab0d5
+dd 0x00bfad40
+
+ref_00465888:
+dd 0x4fab7325
+dd 0x0a0af6a6
+dd 0xf7aafabc
+dd 0xbfad5ba5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046589b:
+db 0x25
+dd 0xaf40a773
+dd 0xbc0a0aa9
+dd 0xa7f7aafa
+dd 0xa16fbc40
+db 0x49
+db 0x00
+
+ref_004658ae:
+db 0x25
+db 0x73
+dd 0xa9af40a7
+dd 0x40bb0a0a
+dd 0x5ba5f7aa
+dd 0x49a1bfad
+db 0x00
+
+ref_004658c1:
+db 0x25
+db 0x73
+db 0xab
+dd 0x0af6a64f
+dd 0xa54ba70a
+dd 0xaa40bb49
+dd 0x0049a1f7
+
+ref_004658d4:
+dd 0x40a77325
+dd 0x0a0aa9af
+dd 0x60becbad
+dd 0xbfad5ba5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004658e7:
+db 0x25
+dd 0xa64fab73
+dd 0xb00a0af6
+dd 0xa64cb96b
+dd 0xa154a7b9
+db 0x49
+db 0x00
+
+ref_004658fa:
+db 0xab
+db 0x4f
+dd 0xc1b449c0
+dd 0x0a0aa1b6
+dd 0xeca86fb1
+dd 0xdfbd7ab2
+dd 0x0a0af7aa
+dd 0xb8a46425
+db 0x00
+
+ref_00465915:
+db 0x23
+db 0x30
+db 0x31
+dd 0x6ab13538
+dd 0xeea9eea8
+dd 0xd0a9a3b0
+dd 0x40a4ceab
+db 0xb4
+db 0xc9
+db 0x00
+
+ref_0046592b:
+db 0x23
+dd 0x36383130
+dd 0xeea86ab1
+dd 0xaca678bc
+dd 0x61a667a4
+dd 0x42b340a4
+db 0x00
+
+ref_00465941:
+db 0x23
+db 0x30
+db 0x31
+dd 0x48a43738
+dd 0x51b359c0
+dd 0xcea573b5
+dd 0x55b65fab
+dd 0xb8a46425
+db 0x00
+
+ref_00465959:
+db 0x23
+db 0x30
+db 0x31
+dd 0xe4a43838
+dd 0xf5b8bcb2
+dd 0xbb0abcb2
+dd 0xa9e6a6c8
+dd 0xa9b4b5da
+dd 0xa4d3a8b9
+dd 0xa4d3ad40
+db 0xeb
+db 0x00
+
+ref_0046597a:
+db 0x23
+db 0x30
+dd 0xab393831
+dd 0xbb4aa449
+dd 0xb9e6a6c8
+dd 0x0aa3b871
+dd 0xcea5bfae
+dd 0x4ca5e4a8
+dd 0x73a648a4
+dd 0x6425dab4
+dd 0x000048a2
+
+ref_004659a0:
+dd 0x42c80000
+
+ref_004659a4:
+dd 0x39313023
+dd 0xa4b5a430
+dd 0xa74facd1
+dd 0xa4cda541
+dd 0x56a60ae9
+dd 0x48a443a8
+dd 0xfaa8aca6
+dd 0x69b140a4
+dd 0xf9a464a5
+db 0x00
+
+ref_004659c9:
+db 0xa6
+db 0x56
+db 0x25
+dd 0xa4aca673
+dd 0xa569b140
+dd 0x00f9a464
+
+ref_004659d8:
+dd 0x39313023
+dd 0xad6ab131
+dd 0xb058a5a2
+dd 0xa55bc6ea
+dd 0xa46425fa
+db 0xd1
+db 0x00
+
+ref_004659ee:
+db 0x23
+db 0x30
+dd 0xb3323931
+dd 0xac7ea551
+dd 0xb848a450
+dd 0x255bac6a
+dd 0x00d1a464
+
+ref_00465a04:
+dd 0x39313023
+dd 0xb2d1aa33
+dd 0xac48b9bc
+dd 0xb3e6a5f9
+dd 0xa56cb7ce
+dd 0xb2d1aaa2
+dd 0xa26425bc
+dd 0x00000048
+
+ref_00465a24:
+dd 0x42c80000
+
+ref_00465a28:
+dd 0x39313023
+dd 0xbddcc534
+dd 0xa6d2a9e6
+dd 0xb2d1aab3
+dd 0xb244a8bc
+db 0x7b
+db 0x00
+
+ref_00465a3e:
+db 0x23
+db 0x30
+dd 0xbe353931
+dd 0xb3aea8f7
+dd 0xbfbdb051
+dd 0x00a2a5f2
+
+ref_00465a50:
+dd 0x39313023
+dd 0xa854a836
+dd 0xb9b2bcae
+dd 0xb175bd71
+dd 0xb7fea5ec
+db 0xb4
+db 0x00
+
+ref_00465a66:
+db 0x23
+db 0x30
+dd 0xb1373931
+dd 0xa469b6bc
+dd 0xb4beb7f4
+dd 0x25e5c24e
+dd 0x00d1a464
+
+ref_00465a7c:
+dd 0x39313023
+dd 0xbe4dc338
+dd 0xbaaea8f7
+dd 0xa6cbb64c
+dd 0x257cb0ed
+dd 0x00d1a464
+
+ref_00465a94:
+dd 0x39313023
+dd 0xa4e6a639
+dd 0xb6f4c248
+dd 0xb8a8b056
+dd 0xb440bbf4
+dd 0xa46425da
+db 0xb8
+db 0x00
+
+ref_00465aae:
+db 0x23
+db 0x30
+dd 0xc3303032
+dd 0xa8f7be4d
+dd 0xc0bca5ae
+dd 0xa577a6b9
+dd 0x0a55b4fe
+dd 0xdab440bb
+dd 0xb8a46425
+db 0x00
+
+ref_00465acd:
+db 0x23
+db 0x30
+db 0x32
+dd 0x54a83130
+dd 0x57b6aea8
+dd 0x40bb74b3
+dd 0x6425dab4
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_00465ae3:
+db 0x23
+dd 0x32303230
+dd 0xd2a9d0bd
+dd 0x48a4b3a6
+dd 0x6aa459a6
+dd 0xaa0a5cc0
+dd 0x254fb6e1
+dd 0x00b8a464
+
+ref_00465b00:
+dd 0x30323023
+dd 0xa5c3b633
+dd 0xa755a9e1
+dd 0xb440bba3
+dd 0xa46425da
+db 0xb8
+db 0x00
+
+ref_00465b16:
+db 0x23
+db 0x30
+dd 0xa7343032
+dd 0xa461ae41
+dd 0xb6afaa70
+dd 0xa46aa4c3
+dd 0x0a4bab70
+dd 0xdab440bb
+dd 0xb8a46425
+db 0x00
+
+ref_00465b35:
+db 0x23
+db 0x30
+db 0x32
+dd 0x62a63530
+dd 0xe4c3f4b8
+dd 0xeca8dfbe
+dd 0xb8a46425
+db 0x00
+
+ref_00465b49:
+db 0x23
+db 0x30
+db 0x32
+dd 0x62a63630
+dd 0xe4c3f4b8
+dd 0xeca8dfbe
+dd 0xb8a46425
+db 0x00
+
+ref_00465b5d:
+db 0x23
+db 0x30
+db 0x32
+dd 0x62a63730
+dd 0xe4c3f4b8
+dd 0xeca8dfbe
+dd 0xb8a46425
+db 0x00
+
+ref_00465b71:
+db 0x23
+db 0x30
+db 0x32
+dd 0xf2bf3830
+dd 0xfabfa2a5
+dd 0x6cb75da5
+dd 0x6425a2a5
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_00465b87:
+db 0x23
+dd 0x39303230
+dd 0xa2a5f2bf
+dd 0x5da5fabf
+dd 0xa2a56cb7
+dd 0xb8a46425
+db 0x00
+
+ref_00465b9d:
+db 0x23
+db 0x30
+db 0x32
+dd 0x4eb73031
+dd 0xf2c07ea5
+dd 0xf2bf6fb1
+dd 0x6425a3b2
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_00465bb3:
+db 0x23
+dd 0x31313230
+dd 0xcbad51b3
+dd 0x6cb77cb7
+dd 0x6425a2a5
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_00465bc7:
+db 0x23
+dd 0x32313230
+dd 0xbcb26fb5
+dd 0xfabca4a4
+dd 0xb8a46425
+db 0x00
+
+ref_00465bd9:
+db 0x23
+db 0x30
+db 0x32
+dd 0x6fb53331
+dd 0xa4a4bcb2
+dd 0x6425fabc
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_00465beb:
+db 0x23
+dd 0x34313230
+dd 0xbcb26fb5
+dd 0xfabca4a4
+dd 0xb8a46425
+db 0x00
+
+ref_00465bfd:
+db 0x23
+db 0x30
+db 0x32
+dd 0x49a53531
+dd 0x49c04fab
+dd 0x6425f7aa
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_00465c0f:
+db 0x23
+dd 0x36313230
+dd 0xfaa8e2bb
+dd 0x49c04fab
+dd 0x6425f7aa
+db 0xa4
+db 0xb8
+db 0x00
+
+ref_00465c23:
+db 0x23
+dd 0x37313230
+dd 0xe6bddcc5
+dd 0xb3a6d2a9
+dd 0xf9a464a5
+dd 0xe3a844b9
+db 0x00
+
+ref_00465c39:
+db 0x23
+db 0x30
+db 0x32
+dd 0x73b03831
+dd 0x6aa44bbe
+dd 0xb5c478be
+dd 0xa4a7bda7
+dd 0x642563a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00465c53:
+db 0x23
+dd 0x39313230
+dd 0xaac3bea8
+dd 0xc6a4b7ad
+dd 0x63a8a4a7
+dd 0xd1a46425
+db 0x00
+
+ref_00465c69:
+db 0x23
+db 0x30
+db 0x32
+dd 0xaba83032
+dd 0x72ac70a8
+dd 0xa4a77eab
+dd 0x642563a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00465c7f:
+db 0x23
+dd 0x31323230
+dd 0xe6bd63b3
+dd 0xc9b86aa4
+dd 0xa4a7aba9
+dd 0x642563a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00465c97:
+db 0x23
+dd 0x32323230
+dd 0x4bbe73b0
+dd 0x78be6aa4
+dd 0xbda7b5c4
+dd 0x63a8a4a7
+dd 0xd1a46425
+db 0x00
+
+ref_00465cb1:
+db 0x23
+db 0x30
+db 0x32
+dd 0x48b93332
+dd 0x45bb6baa
+dd 0xdca5b3b2
+dd 0xa4a7c2ab
+dd 0x642563a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00465ccb:
+db 0x23
+dd 0x34323230
+dd 0xb7ae79c2
+dd 0x7ca84fab
+dd 0xabaacab0
+dd 0x63a8a4a7
+dd 0xd1a46425
+db 0x00
+
+ref_00465ce5:
+db 0x23
+db 0x30
+db 0x32
+dd 0x73b53532
+dd 0xeab0e6bd
+dd 0xa4a75fc4
+dd 0x642563a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00465cfb:
+db 0x23
+dd 0x36323230
+dd 0x46c4a4bb
+dd 0xa8a6bca5
+dd 0xd6a47ea6
+dd 0xeba96ba4
+dd 0x6425d0a7
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00465d17:
+db 0x23
+dd 0x37323230
+dd 0xaac3bea8
+dd 0xc6a4b7ad
+dd 0x63a8a4a7
+dd 0xd1a46425
+db 0x00
+
+ref_00465d2d:
+db 0x23
+db 0x30
+db 0x32
+dd 0xaba83832
+dd 0x72ac70a8
+dd 0xa4a77eab
+dd 0x642563a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00465d43:
+db 0x23
+dd 0x39323230
+dd 0xf1a949ac
+dd 0xf0ae72ac
+dd 0x63a8a4a7
+dd 0xd1a46425
+db 0x00
+
+ref_00465d59:
+db 0x23
+db 0x30
+db 0x32
+dd 0x44ab3033
+dd 0xf9ab6baa
+dd 0x6abab3a6
+dd 0xa4a7f1b1
+dd 0x642563a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00465d73:
+db 0x23
+dd 0x31333230
+dd 0xb4a5debc
+dd 0xfbadb5c4
+dd 0x63a8a4a7
+dd 0xd1a46425
+db 0x00
+
+ref_00465d89:
+db 0x23
+db 0x30
+db 0x32
+dd 0x79c23233
+dd 0x4fabb7ae
+dd 0xcab07ca8
+dd 0xa4a7abaa
+dd 0x642563a8
+db 0xa4
+db 0xd1
+db 0x00
+
+ref_00465da3:
+db 0x23
+dd 0x33333230
+dd 0xe6bd73b5
+dd 0x61aeeab0
+dd 0x4bb1f7be
+dd 0x63a8a4a7
+dd 0xd1a46425
+dd 0x00000000
+
+ref_00465dc0:
+dd 0xb8c043b9
+dd 0x40a7debe
+db 0x00
+
+ref_00465dc9:
+db 0xa4
+db 0xe9
+db 0xa1
+dd 0xbeeba442
+db 0xe4
+db 0x00
+
+ref_00465dd2:
+db 0xa6
+db 0x61
+dd 0xeab8a3b2
+db 0xae
+db 0xc6
+db 0x00
+
+ref_00465ddb:
+db 0xa8
+dd 0xb84ca5e4
+dd 0x00c6aeea
+
+ref_00465de4:
+dd 0xf9bbabaa
+dd 0xc6bcfcab
+db 0x00
+
+ref_00465ded:
+db 0xaa
+db 0xd1
+db 0xb2
+dd 0xaeeab8bc
+db 0xc6
+db 0x00
+
+ref_00465df6:
+db 0xb8
+db 0xea
+dd 0xeab8f7aa
+db 0xae
+db 0xc6
+db 0x00
+
+ref_00465dff:
+db 'LOAD',0x00
+
+ref_00465e04:
+db 'SAVE',0x00
+
+ref_00465e09:
+db 0xa5
+db 0x64
+db 0xa4
+db 0xf9
+db 0x00
+
+ref_00465e0e:
+db 0xa5
+db 0xe6
+db 0xa9
+db 0xf6
+db 0x00
+
+ref_00465e13:
+db 0xa6
+dd 0x00cfb961
+
+ref_00465e18:
+dd 0xceb274a8
+db 0x00
+
+ref_00465e1d:
+db 0xaa
+db 0xd1
+db 0xa5
+db 0xab
+db 0x00
+
+ref_00465e22:
+db 0xab
+db 0x65
+db 0xb6
+db 0x69
+db 0x00
+
+ref_00465e27:
+db 0xac
+dd 0x00dfb864
+
+ref_00465e2c:
+dd 0xdeba55b0
+db 0x00
+
+ref_00465e31:
+db 0xb9
+db 0x44
+db 0xa8
+db 0xe3
+db 0x00
+
+ref_00465e36:
+db 0xbb
+db 0xa1
+db 0xa9
+db 0xfa
+db 0x00
+
+ref_00465e3b:
+db 0xa4
+dd 0xa571a5bd
+dd 0x007eb7f8
+
+ref_00465e44:
+dd 0x76a6eda6
+dd 0x61a6cea5
+db 0x00
+
+ref_00465e4d:
+db 0xb0
+db 0xd3
+db 0xb7
+dd 0xa6cea57e
+db 0x61
+db 0x00
+
+ref_00465e56:
+db 0xa4
+db 0x43
+dd 0xf0ae6db1
+db 0xb2
+db 0x79
+db 0x00
+
+ref_00465e5f:
+db 0xa4
+dd 0x00e9b6bd
+
+ref_00465e64:
+dd 0x5ac3f8a5
+dd 0x5fc4f5ab
+db 0x00
+
+ref_00465e6d:
+db 0xa6
+db 0xca
+db 0xb3
+dd 0xa5bda466
+db 0x71
+db 0x00
+
+ref_00465e76:
+db 0xa9
+db 0x52
+db 0xb9
+db 0x42
+db 0x00
+
+ref_00465e7b:
+db 0xb1
+dd 0xc251a46f
+db 0x49
+db 0x00
+
+ref_00465e82:
+db 0xb1
+db 0x6f
+dd 0x51a454a4
+db 0xc2
+db 0x49
+db 0x00
+
+ref_00465e8b:
+db 0xb1
+dd 0xa4ada46f
+dd 0x0049c251
+
+ref_00465e94:
+dd 0x71b1dfb3
+dd 0xb0add1a4
+db 0x00
+
+ref_00465e9d:
+db 0xb7
+db 0x73
+db 0xbb
+db 0x44
+db 0x00
+
+ref_00465ea2:
+db 0xba
+db 0xca
+db 0xba
+db 0xbb
+db 0x00
+
+ref_00465ea7:
+db 0xbb
+dd 0x00e6a6c8
+
+ref_00465eac:
+dd 0x7ab3d6bc
+db 0x00
+
+ref_00465eb1:
+db 0xc2
+db 0xe5
+db 0xb0
+db 0x7c
+db 0x00
+
+ref_00465eb6:
+db 0xc5
+db 0x5d
+dd 0xceab6baa
+db 0x00
+
+ref_00465ebd:
+db 0xa4
+db 0x5e
+db 0xa4
+db 0xa2
+db 0x00
+
+ref_00465ec2:
+db 0xa4
+db 0x67
+dd 0xbda461a6
+db 0x00
+
+ref_00465ec9:
+db 0xa4
+db 0x6a
+db 0xb0
+dd 0x00abaf49
+
+ref_00465ed0:
+dd 0x5db06aa4
+db 0xaf
+db 0xab
+db 0x00
+
+ref_00465ed7:
+db 0xa4
+dd 0xafd6ba6a
+db 0xab
+db 0x00
+
+ref_00465ede:
+db 0xa4
+db 0x6a
+dd 0xabaf61bd
+db 0x00
+
+ref_00465ee5:
+db 0xa4
+db 0x70
+db 0xb0
+dd 0x00abaf49
+
+ref_00465eec:
+dd 0x5db070a4
+db 0xaf
+db 0xab
+db 0x00
+
+ref_00465ef3:
+db 0xa4
+dd 0x00bdb070
+
+ref_00465ef8:
+dd 0xd6ba70a4
+db 0xaf
+db 0xab
+db 0x00
+
+ref_00465eff:
+db 0xa4
+dd 0xaf61bd70
+db 0xab
+db 0x00
+
+ref_00465f06:
+db 0xa4
+db 0xd1
+db 0xa8
+db 0xcf
+db 0x00
+
+ref_00465f0b:
+db 0xa6
+dd 0x00abafba
+
+ref_00465f10:
+dd 0x5daa79ac
+db 0x00
+
+ref_00465f15:
+db 0xb1
+db 0x6a
+db 0xb5
+db 0x73
+db 0x00
+
+ref_00465f1a:
+db 0xb4
+db 0x63
+db 0xa4
+db 0xfc
+db 0x00
+
+ref_00465f1f:
+db 0xb4
+dd 0x005dc563
+
+ref_00465f24:
+dd 0xd2bfa1b6
+db 0x00
+
+ref_00465f29:
+db 0xa4
+db 0xd1
+db 0xa8
+dd 0x0064a5cf
+
+ref_00465f30:
+dd 0x76af56a5
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00465f37:
+db 0xa6
+dd 0xa5f9b750
+db 0x64
+db 0x00
+
+ref_00465f3e:
+db 0xa7
+db 0x4b
+dd 0x64a54fb6
+db 0x00
+
+ref_00465f45:
+db 0xa7
+db 0x4b
+db 0xb8
+dd 0x0064a56f
+
+ref_00465f4c:
+dd 0x68b3a1a7
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00465f53:
+db 0xa7
+dd 0xa549b4a1
+db 0x64
+db 0x00
+
+ref_00465f5a:
+db 0xa7
+db 0xef
+dd 0x64a5d8ab
+db 0x00
+
+ref_00465f61:
+db 0xa9
+db 0xc7
+db 0xc3
+dd 0x0064a57e
+
+ref_00465f68:
+dd 0xe6bde7a9
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00465f6f:
+db 0xa9
+dd 0xa5a3b0ee
+db 0x64
+db 0x00
+
+ref_00465f76:
+db 0xac
+db 0x64
+dd 0x64a5caab
+db 0x00
+
+ref_00465f7d:
+db 0xac
+db 0x64
+db 0xb5
+dd 0x0064a57c
+
+ref_00465f84:
+dd 0x64a5f5ac
+db 0x00
+
+ref_00465f89:
+db 0xaf
+db 0x51
+db 0xc0
+dd 0x0064a574
+
+ref_00465f90:
+dd 0xabaf65b0
+db 0xb2
+db 0xc5
+db 0x00
+
+ref_00465f97:
+db 0xb0
+dd 0xa564afb1
+db 0x64
+db 0x00
+
+ref_00465f9e:
+db 0xb3
+db 0xb4
+dd 0x64a560ae
+db 0x00
+
+ref_00465fa5:
+db 0xb4
+db 0x5f
+db 0xa4
+dd 0x0064a5b3
+
+ref_00465fac:
+dd 0x5dc563b4
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00465fb3:
+db 0xb4
+dd 0xa561a6ab
+db 0x64
+db 0x00
+
+ref_00465fba:
+db 0xb4
+db 0xab
+dd 0x64a5ceab
+db 0x00
+
+ref_00465fc1:
+db 0xb6
+db 0xc2
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00465fc6:
+db 0xb6
+db 0xf9
+dd 0x64a5d7ba
+db 0x00
+
+ref_00465fcd:
+db 0xb7
+db 0x6d
+db 0xb9
+dd 0x0064a5dc
+
+ref_00465fd4:
+dd 0x43b9dab9
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00465fdb:
+db 0xba
+dd 0xa5f9bba6
+db 0x64
+db 0x00
+
+ref_00465fe2:
+db 0xbd
+db 0xd0
+dd 0xc5b2abaf
+db 0x00
+
+ref_00465fe9:
+db 0xc1
+db 0xca
+db 0xa6
+dd 0x0064a561
+
+ref_00465ff0:
+dd 0x56a6e0c2
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00465ff7:
+db 0xa4
+dd 0xa87bb575
+db 0xae
+db 0x00
+
+ref_00465ffe:
+db 0xa6
+db 0x61
+db 0xb9
+db 0x70
+db 0x00
+
+ref_00466003:
+db 0xa8
+dd 0x00aea854
+
+ref_00466008:
+dd 0xc9ae77a9
+dd 0x75bcb5ac
+db 0x00
+
+ref_00466011:
+db 0xad
+db 0xb8
+db 0xbc
+db 0x75
+db 0x00
+
+ref_00466016:
+db 0xae
+db 0xc9
+dd 0xf7befaa5
+db 0x00
+
+ref_0046601d:
+db 0xae
+db 0xd6
+db 0xa4
+dd 0xbcb8ad6c
+db 0x75
+db 0x00
+
+ref_00466026:
+db 0xb6
+db 0xc7
+dd 0xf7be65b0
+db 0x00
+
+ref_0046602d:
+db 0xb8
+db 0xf4
+db 0xbb
+db 0xd9
+db 0x00
+
+ref_00466032:
+db 0xbb
+db 0xbb
+dd 0xebbbb1b1
+db 0xa4
+db 0x6c
+db 0x00
+
+ref_0046603b:
+db 0xbe
+dd 0x00aea8f7
+
+ref_00466040:
+dd 0xb9bef7be
+dd 0x48a475a4
+db 0x00
+
+ref_00466049:
+db 0xbe
+db 0xf7
+db 0xbe
+dd 0xabbdabb9
+db 0xbd
+db 0x00
+
+ref_00466052:
+db 0xbe
+db 0xde
+dd 0xa1bb40a7
+db 0xa9
+db 0xfa
+db 0x00
+
+ref_0046605b:
+db 0xb9
+dd 0xb5b8c043
+dd 0x00b1ad65
+
+ref_00466064:
+dd 0xb8c043b9
+dd 0x4fa5fcab
+db 0x00
+
+ref_0046606d:
+db 0xa9
+db 0xd0
+db 0x20
+dd 0xb22061a6
+db 0xa3
+db 0x00
+
+ref_00466076:
+db 0xaf
+db 0x53
+dd 0x61a6edae
+db 0xc2
+db 0x49
+db 0x00
+
+ref_0046607f:
+db 0xaf
+dd 0xa4edae53
+dd 0x00abaa48
+
+ref_00466088:
+dd 0x202064a5
+db 0xa4
+db 0xf9
+db 0x00
+
+ref_0046608f:
+db 0xb9
+dd 0xa8202044
+db 0xe3
+db 0x00
+
+ref_00466096:
+db 'help.mkf',0x00,0x00
+
+ref_004660a0:
+dd 0xfaa9d3b2
+dd 0x0000e9c5
+
+ref_004660a8:
+db 'SPR',0x00
+
+ref_004660ac:
+db 'SMP',0x00
+
+ref_004660b0:
+dd 0x7ebbf9bf
+db 0x00
+
+ref_004660b5:
+db 0xa7
+db 0xe4
+db 0xa4
+dd 0xa5eca8a3
+dd 0xbed0bafa
+dd 0x0049a1f7
+
+ref_004660c4:
+db 0x72
+db 0x62
+db 0x00
+
+ref_004660c7:
+db 'DATA.MKF',0x00
+
+ref_004660d0:
+db '%c:DATA.MKF',0x00,0x00
+
+ref_004660dd:
+db 0xbd
+db 0xd0
+db 0xb4
+dd 0xa64aa4a1
+dd 0xa4cbb877
+dd 0xbafaa5f9
+dd 0x0049a1d0
+
+ref_004660f0:
+db '%c:OVER.AVI',0x00,0x00
+
+ref_004660fd:
+db 0xbd
+db 0xd0
+db 0xb4
+dd 0xb94aa4a1
+dd 0xa4b8c043
+dd 0xbafaa5f9
+dd 0x0049a1d0
+
+ref_00466110:
+db '%s%s',0x00,0x00,0x00,0x00
+
+ref_00466118:
+db 'window vfw handle %d',0x00
+
+ref_0046612d:
+db 'put vfw destination at %d %d %d %d',0x00
+
+ref_00466150:
+db 'play vfw window from 0 notify',0x00
+
+ref_0046616e:
+db 'open avivideo!%s alias vfw',0x00
+
+ref_00466189:
+db 'open avivideo!%s%s alias vfw',0x00
+
+ref_004661a6:
+db 'stop vfw wait',0x00
+
+ref_004661b4:
+db 'close vfw wait',0x00,0x00
+
+ref_004661c4:
+dd 0x65aac8bb
+dd 0x4da974a8
+dd 0xe9a4ada5
+dd 0x73250a0a
+dd 0xeca86fb1
+dd 0x49a17325
+db 0x00
+
+ref_004661dd:
+db 0xae
+db 0xa3
+db 0xc0
+dd 0xb84ab373
+dd 0x250a0a60
+dd 0xa86fb173
+dd 0xa17325ec
+db 0x49
+db 0x00
+
+ref_004661f2:
+db 0xb0
+db 0xa3
+dd 0x0a0a69a4
+dd 0x6fb17325
+dd 0x7325eca8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00466203:
+db 0xb8
+dd 0xb8cfbd74
+dd 0x250a0a60
+dd 0xa86fb173
+dd 0xa17325ec
+dd 0x00000049
+
+ref_00466218:
+dd 0x42040000
+
+ref_0046621c:
+dd 0x42040000
+
+ref_00466220:
+db 'WARNING',0x00
+
+ref_00466228:
+db 'DirectSound Initial Error or SoundCard Not Found!',0x00
+
+ref_0046625a:
+db 'ERROR',0x00
+
+ref_00466260:
+db 'DirectSound SetCooperativeLevel Error!',0x00
+
+ref_00466287:
+db 'DirectSound CreateSoundPrimaryBuffer Error!',0x00
+
+ref_004662b3:
+db 'DirectSound SetFormat Error!',0x00
+
+ref_004662d0:
+db 'RICH08.MID',0x00
+
+ref_004662db:
+db 'RICH16.MID',0x00
+
+ref_004662e6:
+db 'RICH17.MID',0x00
+
+ref_004662f1:
+db 'RICH18.MID',0x00
+
+ref_004662fc:
+db 'RICH19.MID',0x00
+
+ref_00466307:
+db 'RICH20.MID',0x00
+
+ref_00466312:
+db 'RICH21.MID',0x00
+
+ref_0046631d:
+db 'RICH22.MID',0x00
+
+ref_00466328:
+db 'MIDI01.MID',0x00
+
+ref_00466333:
+db 'MIDI02.MID',0x00
+
+ref_0046633e:
+db 'MIDI03.MID',0x00
+
+ref_00466349:
+db 'MIDI04.MID',0x00
+
+ref_00466354:
+db 'MIDI05.MID',0x00
+
+ref_0046635f:
+db 'MIDI06.MID',0x00
+
+ref_0046636a:
+db 'MIDI07.MID',0x00
+
+ref_00466375:
+db 'MIDI08.MID',0x00
+
+ref_00466380:
+db 'MIDI09.MID',0x00
+
+ref_0046638b:
+db 'MIDI10.MID',0x00
+
+ref_00466396:
+db 'MIDI11.MID',0x00
+
+ref_004663a1:
+db 'MIDI12.MID',0x00
+
+ref_004663ac:
+db 'MIDI13.MID',0x00
+
+ref_004663b7:
+db 'MIDI14-1.MID',0x00
+
+ref_004663c4:
+db 'MIDI14-2.MID',0x00
+
+ref_004663d1:
+db 'MIDI15.MID',0x00
+
+ref_004663dc:
+db 'MIDI16.MID',0x00
+
+ref_004663e7:
+db 'open cdaudio!%s alias cdtrack wait',0x00
+
+ref_0046640a:
+db 'set cdtrack time format tmsf',0x00
+
+ref_00466427:
+db 'status cdtrack number of tracks',0x00
+
+ref_00466447:
+db 'sequencer',0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+
+ref_00466458:
+dd 0xcccccccd
+dd 0x3feccccc
+
+ref_00466460:
+dd 0x9999999a
+dd 0x3fe99999
+
+ref_00466468:
+dd 0x33333333
+dd 0x3fe33333
+
+ref_00466470:
+db 'close mid wait',0x00
+
+ref_0046647f:
+db 'stop cdtrack wait',0x00
+
+ref_00466491:
+db 'close cdtrack wait',0x00
+
+ref_004664a4:
+db 'open sequencer!%s alias mid',0x00
+
+ref_004664c0:
+db 'open sequencer!%s%s alias mid',0x00
+
+ref_004664de:
+db 'play mid from 0 notify',0x00
+
+ref_004664f5:
+db 'status mid position',0x00
+
+ref_00466509:
+db 'stop cdtrack',0x00
+
+ref_00466516:
+db 'play mid from %d notify',0x00
+
+ref_0046652e:
+db 'play cdtrack notify',0x00
+
+ref_00466542:
+db 'status cdtrack current track',0x00
+
+ref_0046655f:
+db 'play cdtrack from 2 notify',0x00
+
+ref_0046657a:
+db 'play cdtrack from %d notify',0x00
+
+ref_00466596:
+db 'status mid mode',0x00
+
+ref_004665a6:
+db 'playing',0x00
+
+ref_004665ae:
+db 'status cdtrack mode',0x00,0x00,0x00
+
+ref_004665c4:
+dd 0xbf20f9ac
+dd 0xecb320ab
+db 0x00
+
+ref_004665cd:
+db 0xa8
+db 0x46
+db 0xb6
+dd 0xb4daa4a9
+db 0xb5
+db 0x00
+
+ref_004665d6:
+db 0xa7
+db 0xd4
+dd 0x20d3a420
+db 0xad
+db 0xa6
+db 0x00
+
+ref_004665df:
+db 0xbf
+dd 0xd2a420fa
+dd 0x0048a420
+
+ref_004665e8:
+dd 0xa420fcaa
+dd 0x42a72067
+db 0x00
+
+ref_004665f1:
+db 0xb2
+db 0xef
+db 0xa9
+dd 0xa5bda4d4
+db 0x44
+db 0x00
+
+ref_004665fa:
+db 0xae
+db 0x63
+dd 0x5fc4bba5
+db 0xc2
+db 0xc3
+db 0x00
+
+ref_00466603:
+db 0xbf
+dd 0xbf20207d
+db 0x7d
+db 0x00
+
+ref_0046660a:
+db 0xaf
+db 0x51
+dd 0x7dab2020
+db 0x00
+
+ref_00466611:
+db 0xae
+db 0x5d
+db 0x20
+dd 0xac2070a4
+db 0xfc
+db 0x00
+
+ref_0046661a:
+db 0xa4
+db 0x70
+dd 0x20a6a420
+db 0xa5
+db 0xa7
+db 0x00
+
+ref_00466623:
+db 0xaa
+dd 0xa9a820f7
+dd 0x00a9a820
+
+ref_0046662c:
+dd 0xbdb070a4
+db 0x00
+
+ref_00466631:
+db 0xb1
+db 0x6a
+db 0xb5
+db 0x73
+db 0x00
+
+ref_00466636:
+db 0xac
+db 0x79
+db 0xaa
+db 0x5d
+db 0x00
+
+ref_0046663b:
+db 0xb6
+dd 0x00d2bfa1
+
+ref_00466640:
+dd 0x5db070a4
+db 0xaf
+db 0xab
+db 0x00
+
+ref_00466647:
+db 0xa4
+dd 0xaf5db06a
+db 0xab
+db 0x00
+
+ref_0046664e:
+db 0xa4
+db 0x70
+dd 0xabafd6ba
+db 0x00
+
+ref_00466655:
+db 0xa4
+db 0x6a
+db 0xba
+dd 0x00abafd6
+
+ref_0046665c:
+dd 0x61bd70a4
+db 0xaf
+db 0xab
+db 0x00
+
+ref_00466663:
+db 0xa4
+dd 0xaf61bd6a
+db 0xab
+db 0x00
+
+ref_0046666a:
+db 0xa4
+db 0x70
+dd 0xabaf49b0
+db 0x00
+
+ref_00466671:
+db 0xa4
+db 0x6a
+db 0xb0
+dd 0x00abaf49
+
+ref_00466678:
+dd 0xcfa8d1a4
+db 0x00
+
+ref_0046667d:
+db 0xb4
+db 0x63
+db 0xc5
+db 0x5d
+db 0x00
+
+ref_00466682:
+db 0xb4
+db 0x63
+db 0xa4
+db 0xfc
+db 0x00
+
+ref_00466687:
+db 0xa4
+dd 0xa461a667
+db 0xbd
+db 0x00
+
+ref_0046668e:
+db 0xc2
+db 0xa7
+db 0xaa
+db 0xab
+db 0x00
+
+ref_00466693:
+db 0xc4
+dd 0x0063bd5f
+
+ref_00466698:
+dd 0xabafbaa6
+db 0x00
+
+ref_0046669d:
+db 0xb8
+db 0xf4
+db 0xbb
+db 0xd9
+db 0x00
+
+ref_004666a2:
+db 0xa6
+db 0x61
+db 0xb9
+db 0x70
+db 0x00
+
+ref_004666a7:
+db 0xa9
+dd 0xacc9ae77
+dd 0x0075bcb5
+
+ref_004666b0:
+db 0x42
+db 0x53
+db 0x00
+
+ref_004666b3:
+db 'TAB',0x00
+
+ref_004666b7:
+db 'ENTER',0x00
+
+ref_004666bd:
+db 'CTRL-',0x00
+
+ref_004666c3:
+db 'ESC',0x00
+
+ref_004666c7:
+db 'SPACE',0x00
+
+ref_004666cd:
+db 'PG UP',0x00
+
+ref_004666d3:
+db 'PG DN',0x00
+
+ref_004666d9:
+db 'END',0x00
+
+ref_004666dd:
+db 'HOME',0x00
+
+ref_004666e2:
+db 0xa1
+db 0xf6
+db 0x00
+
+ref_004666e5:
+db 0xa1
+db 0xf4
+db 0x00
+
+ref_004666e8:
+db 0xa1
+db 0xf7
+db 0x00
+
+ref_004666eb:
+db 0xa1
+db 0xf5
+db 0x00
+
+ref_004666ee:
+db 'INS',0x00
+
+ref_004666f2:
+db 0x30
+db 0x00
+
+ref_004666f4:
+db 0x31
+db 0x00
+
+ref_004666f6:
+db 0x32
+db 0x00
+
+ref_004666f8:
+db 0x33
+db 0x00
+
+ref_004666fa:
+db 0x34
+db 0x00
+
+ref_004666fc:
+db 0x35
+db 0x00
+
+ref_004666fe:
+db 0x36
+db 0x00
+
+ref_00466700:
+db 0x37
+db 0x00
+
+ref_00466702:
+db 0x38
+db 0x00
+
+ref_00466704:
+db 0x39
+db 0x00
+
+ref_00466706:
+db 0x41
+db 0x00
+
+ref_00466708:
+db 0x42
+db 0x00
+
+ref_0046670a:
+db 0x43
+db 0x00
+
+ref_0046670c:
+db 0x44
+db 0x00
+
+ref_0046670e:
+db 0x45
+db 0x00
+
+ref_00466710:
+db 0x46
+db 0x00
+
+ref_00466712:
+db 0x47
+db 0x00
+
+ref_00466714:
+db 0x48
+db 0x00
+
+ref_00466716:
+db 0x49
+db 0x00
+
+ref_00466718:
+db 0x4a
+db 0x00
+
+ref_0046671a:
+db 0x4b
+db 0x00
+
+ref_0046671c:
+db 0x4c
+db 0x00
+
+ref_0046671e:
+db 0x4d
+db 0x00
+
+ref_00466720:
+db 0x4e
+db 0x00
+
+ref_00466722:
+db 0x4f
+db 0x00
+
+ref_00466724:
+db 0x50
+db 0x00
+
+ref_00466726:
+db 0x51
+db 0x00
+
+ref_00466728:
+db 0x52
+db 0x00
+
+ref_0046672a:
+db 0x53
+db 0x00
+
+ref_0046672c:
+db 0x54
+db 0x00
+
+ref_0046672e:
+db 0x55
+db 0x00
+
+ref_00466730:
+db 0x56
+db 0x00
+
+ref_00466732:
+db 0x57
+db 0x00
+
+ref_00466734:
+db 0x58
+db 0x00
+
+ref_00466736:
+db 0x59
+db 0x00
+
+ref_00466738:
+db 0x5a
+db 0x00
+
+ref_0046673a:
+db 0x2a
+db 0x00
+
+ref_0046673c:
+db 0x2b
+db 0x00
+
+ref_0046673e:
+db 0x2d
+db 0x00
+
+ref_00466740:
+db 0x2f
+db 0x00
+
+ref_00466742:
+db 0x46
+db 0x31
+db 0x00
+
+ref_00466745:
+db 0x46
+db 0x32
+db 0x00
+
+ref_00466748:
+db 0x46
+db 0x33
+db 0x00
+
+ref_0046674b:
+db 0x46
+db 0x34
+db 0x00
+
+ref_0046674e:
+db 0x46
+db 0x35
+db 0x00
+
+ref_00466751:
+db 0x46
+db 0x36
+db 0x00
+
+ref_00466754:
+db 0x46
+db 0x37
+db 0x00
+
+ref_00466757:
+db 0x46
+db 0x38
+db 0x00
+
+ref_0046675a:
+db 0x46
+db 0x39
+db 0x00
+
+ref_0046675d:
+db 'F10',0x00
+
+ref_00466761:
+db 'F11',0x00
+
+ref_00466765:
+db 'F12',0x00
+
+ref_00466769:
+db 0x3b
+db 0x00
+
+ref_0046676b:
+db 0x3d
+db 0x00
+
+ref_0046676d:
+db 0x3c
+db 0x00
+
+ref_0046676f:
+db 0x3e
+db 0x00
+
+ref_00466771:
+db 0x3f
+db 0x00
+
+ref_00466773:
+db 0x7e
+db 0x00
+
+ref_00466775:
+db 0x5b
+db 0x00
+
+ref_00466777:
+db 0x5c
+db 0x00
+
+ref_00466779:
+db 0x5d
+db 0x00
+
+ref_0046677b:
+db 0x27
+db 0x00
+
+ref_0046677d:
+db 0xa4
+db 0xa4
+db 0xb0
+dd 0xb048abea
+db 0x55
+db 0x00
+
+ref_00466786:
+db 0xbb
+db 0x4f
+dd 0x48a457c6
+db 0xb9
+db 0xd8
+db 0x00
+
+ref_0046678f:
+db 0xa4
+dd 0xa674a66a
+dd 0x0066b3ca
+
+ref_00466798:
+dd 0xbf2078a5
+dd 0x71b9206e
+db 0x00
+
+ref_004667a1:
+db 0xa4
+db 0x6a
+db 0xa6
+dd 0xb0eab874
+db 0x54
+db 0x00
+
+ref_004667aa:
+db 0xa5
+db 0x78
+dd 0xecb657c6
+db 0xbd
+db 0xa6
+db 0x00
+
+ref_004667b3:
+db 0xb8
+dd 0xa8a9b6ce
+dd 0x00aea854
+
+ref_004667bc:
+dd 0x46aab7bb
+dd 0xb4c2bcaf
+db 0x00
+
+ref_004667c5:
+db 0xb2
+db 0xce
+db 0xa4
+dd 0xb057b640
+db 0xd3
+db 0x00
+
+ref_004667ce:
+db 0xbe
+db 0x5f
+dd 0x20b9a520
+db 0xa6
+db 0xe6
+db 0x00
+
+ref_004667d7:
+db 0xb5
+dd 0xb8ba20dc
+dd 0x0049b420
+
+ref_004667e0:
+dd 0xa62070c1
+dd 0xf8b32058
+db 0x00
+
+ref_004667e9:
+db 0xa4
+db 0x57
+db 0xae
+dd 0xa6c8bbfc
+db 0xe6
+db 0x00
+
+ref_004667f2:
+db 0xa4
+db 0xa4
+dd 0x48a4eab0
+db 0xb9
+db 0xd8
+db 0x00
+
+ref_004667fb:
+db 0xa4
+dd 0xa4b2a9fd
+dd 0xb3caa6ab
+db 0x66
+db 0x00
+
+ref_00466806:
+db 0xa4
+db 0xa4
+dd 0xdba5eab0
+db 0xaa
+db 0x6f
+db 0x00
+
+ref_0046680f:
+db 0xc1
+dd 0xac51b770
+dd 0x00dea7ec
+
+ref_00466818:
+dd 0x73b7bbb3
+dd 0x7eabb9ad
+db 0x00
+
+ref_00466821:
+db 0xaa
+db 0x46
+db 0xa4
+dd 0xb7eab9e8
+db 0x7e
+db 0x00
+
+ref_0046682a:
+db 0xb6
+db 0xd7
+dd 0xd2c3d7c2
+db 0xa8
+db 0xe9
+db 0x00
+
+ref_00466833:
+db 0xa4
+dd 0xa579bc6a
+dd 0x006faadb
+
+ref_0046683c:
+dd 0xb0abf8aa
+dd 0xf7be71b9
+db 0x00
+
+ref_00466845:
+db 0xaa
+db 0xf8
+db 0xa6
+dd 0xb3d8abbf
+db 0x5d
+db 0x00
+
+ref_0046684e:
+db 0xa4
+db 0x6a
+dd 0x6eb3b3b2
+db 0xa5
+db 0xf3
+db 0x00
+
+ref_00466857:
+db 0xb4
+dd 0xbb68a449
+dd 0x00e6a6c8
+
+ref_00466860:
+dd 0xaba454a4
+dd 0x52a9cda5
+db 0x00
+
+ref_00466869:
+db 0xa4
+db 0x54
+db 0xb6
+dd 0xb3caa656
+db 0x66
+db 0x00
+
+ref_00466872:
+db 0xa4
+db 0xe9
+dd 0xd8aba3b2
+db 0xb3
+db 0x5d
+db 0x00
+
+ref_0046687b:
+db 0xa2
+dd 0xa2d3a2e1
+dd 0x00cfa2d5
+
+ref_00466884:
+dd 0xd0a5d7c2
+dd 0xaea854a8
+db 0x00
+
+ref_0046688d:
+db 0xaa
+db 0x51
+db 0xa4
+dd 0xbe71b955
+db 0xf7
+db 0x00
+
+ref_00466896:
+db 0xa4
+db 0xe9
+dd 0xf7bedfa5
+db 0xb9
+db 0x71
+db 0x00
+
+ref_0046689f:
+db 0xa2
+dd 0xa2dda2e1
+dd 0x00e7a2dc
+
+ref_004668a8:
+dd 0xd9b554a4
+dd 0x7eb775a4
+db 0x00
+
+ref_004668b1:
+db 0xa5
+db 0xf4
+db 0xa4
+dd 0x00f3b0d1
+
+ref_004668b8:
+dd 0xa1b677bc
+dd 0xb1a9d1ae
+db 0x00
+
+ref_004668c1:
+db 0xaa
+db 0xe1
+db 0xba
+dd 0xa6c8bb58
+db 0xe6
+db 0x00
+
+ref_004668ca:
+db 0xb3
+db 0xec
+dd 0xc8a876aa
+dd 0xd8b948a4
+db 0x00
+
+ref_004668d5:
+db 0xc0
+db 0xf4
+db 0xb2
+dd 0xb3caa679
+db 0x66
+db 0x00
+
+ref_004668de:
+db 0xc1
+db 0x70
+dd 0xe8af58a6
+db 0xaa
+db 0xc5
+db 0x00
+
+ref_004668e7:
+db 0xba
+dd 0xa853afd6
+dd 0x00aea854
+
+ref_004668f0:
+dd 0xd0a2d7a2
+db 0xa2
+db 0xdb
+db 0x00
+
+ref_004668f7:
+db 0xbc
+dd 0xbb7ba677
+dd 0x00b9bef6
+
+ref_00466900:
+dd 0xecc9afbc
+dd 0xd4a9b9c3
+db 0x00
+
+ref_00466909:
+db 0xad
+db 0x7d
+db 0xa4
+dd 0x00a7a568
+
+ref_00466910:
+dd 0x66a469a5
+dd 0xd6bc69a5
+db 0x00
+
+ref_00466919:
+db 0xb3
+db 0xc1
+db 0xb7
+dd 0x00d2b3ed
+
+ref_00466920:
+dd 0xc6a8caa6
+dd 0xd6bc69a5
+db 0x00
+
+ref_00466929:
+db 0xa6
+db 0xe6
+db 0xac
+dd 0xa6c8bb50
+db 0xe6
+db 0x00
+
+ref_00466932:
+db 0xbb
+db 0xc8
+dd 0x4fab65aa
+db 0xc0
+db 0x49
+db 0x00
+
+ref_0046693b:
+db 0xa6
+dd 0xa67aa974
+dd 0x0066b3ca
+
+ref_00466944:
+dd 0x50acf5a4
+dd 0xc1a5beb2
+db 0x00
+
+ref_0046694d:
+db 0xb9
+db 0x6b
+db 0xa5
+dd 0xb771c4db
+db 0x7e
+db 0x00
+
+ref_00466956:
+db 0xac
+db 0x50
+dd 0x71b979b2
+db 0xb5
+db 0xf8
+db 0x00
+
+ref_0046695f:
+db 0xaa
+dd 0xac50acf7
+dd 0x00dea7ec
+
+ref_00466968:
+dd 0xfcae50ac
+dd 0x54b071b3
+db 0x00
+
+ref_00466971:
+db 0xbb
+db 0xc8
+db 0xaa
+dd 0xb9e8af65
+db 0x42
+db 0x00
+
+ref_0046697a:
+db 0xa4
+db 0xeb
+dd 0xc9ac40a5
+dd 0x43b9c8ae
+db 0x00
+
+ref_00466985:
+db 0xa6
+db 0x74
+db 0xa9
+dd 0xb261a67a
+db 0xa3
+db 0x00
+
+ref_0046698e:
+db 0xa4
+db 0xd3
+dd 0xe0afa7b6
+dd 0x4fa471b9
+db 0x00
+
+ref_00466999:
+db 0xbb
+db 0x45
+db 0xc4
+dd 0xbcc8bb5f
+db 0xd3
+db 0x00
+
+ref_004669a2:
+db 0xa8
+db 0x67
+dd 0xf0c37bae
+db 0xa7
+db 0xbd
+db 0x00
+
+ref_004669ab:
+db 0xab
+dd 0xb35fa56e
+dd 0x00f5b366
+
+ref_004669b4:
+dd 0x4caad6a4
+db 0xac
+db 0xa3
+db 0x00
+
+ref_004669bb:
+db 0xaa
+dd 0xacedb75a
+db 0xa3
+db 0x00
+
+ref_004669c2:
+db 0xb8
+db 0xbe
+dd 0xa3ac73a4
+db 0x00
+
+ref_004669c9:
+db 0xb7
+db 0x43
+db 0xa4
+dd 0x00a3ac73
+
+ref_004669d0:
+dd 0x73a4edab
+db 0xac
+db 0xa3
+db 0x00
+
+ref_004669d7:
+db 0xae
+dd 0xac73a4f5
+db 0xa3
+db 0x00
+
+ref_004669de:
+db 0xbf
+db 0xc5
+dd 0xa3ac73a4
+db 0x00
+
+ref_004669e5:
+db 0xb5
+db 0xd8
+db 0xa4
+dd 0x00a3ac73
+
+ref_004669ec:
+dd 0xbbbb70b3
+dd 0xccb4c8ab
+db 0x00
+
+ref_004669f5:
+db 0xb6
+db 0xc0
+db 0xaa
+dd 0xa6c8bbf7
+db 0xe6
+db 0x00
+
+ref_004669fe:
+db 0xaa
+db 0xce
+dd 0x4fab73c0
+db 0xc0
+db 0x49
+db 0x00
+
+ref_00466a07:
+db 0xad
+dd 0xa673c0b8
+dd 0x0066b3ca
+
+ref_00466a10:
+dd 0x73c070b9
+dd 0x6ca471b9
+db 0x00
+
+ref_00466a19:
+db 0xa8
+db 0xdc
+db 0xc3
+dd 0xbcf6acb9
+dd 0x007eb776
+
+ref_00466a24:
+dd 0xf2a4f8aa
+dd 0xbcaf48b6
+db 0xc2
+db 0xb4
+db 0x00
+
+ref_00466a2f:
+db 0xa8
+dd 0xa872b2b3
+dd 0x00aea854
+
+ref_00466a38:
+dd 0x73c0a3ae
+dd 0xb9ad4ab3
+db 0xab
+db 0x7e
+db 0x00
+
+ref_00466a43:
+db 0xa4
+dd 0xa973a4f5
+dd 0xc04faba5
+db 0x49
+db 0x00
+
+ref_00466a4e:
+db 0xa4
+db 0x54
+dd 0xcec2adb8
+dd 0x66b3caa6
+db 0x00
+
+ref_00466a59:
+db 0xa9
+db 0x6c
+db 0xaf
+dd 0xa5c6a4aa
+db 0xdb
+db 0x00
+
+ref_00466a62:
+db 0xc1
+db 0x6c
+dd 0xe8af73c0
+db 0xaa
+db 0xc5
+db 0x00
+
+ref_00466a6b:
+db 0xb0
+dd 0xbbc1b4b2
+dd 0x00e6a6c8
+
+ref_00466a74:
+dd 0xc1b4b2b0
+dd 0x66b3caa6
+db 0x00
+
+ref_00466a7d:
+db 0xa8
+db 0x67
+db 0xae
+dd 0xb66aa47b
+dd 0x00b1a9ba
+
+ref_00466a88:
+dd 0xd8b5a8bb
+dd 0xbab66aa4
+db 0xa9
+db 0xb1
+db 0x00
+
+ref_00466a93:
+db 0xb2
+dd 0xa440a4c4
+dd 0xa9bab66a
+db 0xb1
+db 0x00
+
+ref_00466a9e:
+db 0xaa
+db 0xf7
+dd 0x6aa4f7aa
+dd 0xb1a9bab6
+db 0x00
+
+ref_00466aa9:
+db 0xa5
+db 0x40
+db 0xac
+dd 0xb66aa4c9
+dd 0x00b1a9ba
+
+ref_00466ab4:
+dd 0x68a466a8
+db 0xa5
+db 0xa7
+db 0x00
+
+ref_00466abb:
+db 0xb7
+dd 0xb97dad52
+db 0x46
+db 0x00
+
+ref_00466ac2:
+db 0xa7
+db 0xa1
+dd 0x64a549b4
+db 0x00
+
+ref_00466ac9:
+db 0xa7
+db 0xa1
+db 0xb3
+dd 0x0064a568
+
+ref_00466ad0:
+dd 0x61a6cac1
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00466ad7:
+db 0xb4
+dd 0xa561a6ab
+db 0x64
+db 0x00
+
+ref_00466ade:
+db 0xb4
+db 0xab
+dd 0x64a5ceab
+db 0x00
+
+ref_00466ae5:
+db 0xc2
+db 0xe0
+db 0xa6
+dd 0x0064a556
+
+ref_00466aec:
+dd 0xd8abefa7
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00466af3:
+db 0xa9
+dd 0xa5e6bde7
+db 0x64
+db 0x00
+
+ref_00466afa:
+db 0xa4
+db 0xd1
+dd 0x64a5cfa8
+db 0x00
+
+ref_00466b01:
+db 0xb4
+db 0x63
+db 0xc5
+dd 0x0064a55d
+
+ref_00466b08:
+dd 0x7ec3c7a9
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00466b0f:
+db 0xa9
+dd 0xa5a3b0ee
+db 0x64
+db 0x00
+
+ref_00466b16:
+db 0xb7
+db 0x6d
+dd 0x64a5dcb9
+db 0x00
+
+ref_00466b1d:
+db 0xb0
+db 0xb1
+db 0xaf
+dd 0x0064a564
+
+ref_00466b24:
+dd 0x76af56a5
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00466b2b:
+db 0xb9
+dd 0xa543b9da
+db 0x64
+db 0x00
+
+ref_00466b32:
+db 0xb3
+db 0xb4
+dd 0x64a560ae
+db 0x00
+
+ref_00466b39:
+db 0xb4
+db 0x5f
+db 0xa4
+dd 0x0064a5b3
+
+ref_00466b40:
+dd 0xd7baf9b6
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00466b47:
+db 0xa7
+dd 0xa54fb64b
+db 0x64
+db 0x00
+
+ref_00466b4e:
+db 0xa7
+db 0x4b
+dd 0x64a56fb8
+db 0x00
+
+ref_00466b55:
+db 0xb0
+db 0x65
+db 0xaf
+dd 0x00c5b2ab
+
+ref_00466b5c:
+dd 0xabafd0bd
+db 0xb2
+db 0xc5
+db 0x00
+
+ref_00466b63:
+db 0xac
+dd 0x0064a5f5
+
+ref_00466b68:
+dd 0x64a5c2b6
+db 0x00
+
+ref_00466b6d:
+db 0xac
+db 0x64
+db 0xb5
+dd 0x0064a57c
+
+ref_00466b74:
+dd 0xf9bba6ba
+db 0xa5
+db 0x64
+db 0x00
+
+ref_00466b7b:
+db 0xac
+dd 0xa5caab64
+db 0x64
+db 0x00
+
+ref_00466b82:
+db 0xa6
+db 0x50
+dd 0x64a5f9b7
+db 0x00
+
+ref_00466b89:
+db 0xaf
+db 0x51
+db 0xc0
+dd 0x0064a574
+
+ref_00466b90:
+dd 0xb9bef7be
+dd 0xbdabbdab
+db 0x00
+
+ref_00466b99:
+db 0xbe
+db 0xf7
+db 0xa8
+db 0xae
+db 0x00
+
+ref_00466b9e:
+db 0xa8
+db 0x54
+db 0xa8
+db 0xae
+db 0x00
+
+ref_00466ba3:
+db 0xad
+dd 0x0075bcb8
+
+ref_00466ba8:
+dd 0xb1b1bbbb
+dd 0x6ca4ebbb
+db 0x00
+
+ref_00466bb1:
+db 0xbe
+db 0xf7
+db 0xbe
+dd 0xa475a4b9
+db 0x48
+db 0x00
+
+ref_00466bba:
+db 0xae
+db 0xc9
+dd 0xf7befaa5
+db 0x00
+
+ref_00466bc1:
+db 0xb6
+db 0xc7
+db 0xb0
+dd 0x00f7be65
+
+ref_00466bc8:
+dd 0x7bb575a4
+db 0xa8
+db 0xae
+db 0x00
+
+ref_00466bcf:
+db 0xae
+dd 0xad6ca4d6
+dd 0x0075bcb8
+
+ref_00466bd8:
+dd 0x35303123
+dd 0xa74fa730
+dd 0xa7aaa7d2
+dd 0x0049a1da
+
+ref_00466be8:
+dd 0x35303123
+dd 0xb945c231
+dd 0xc0edb742
+dd 0x0049a159
+
+ref_00466bf8:
+dd 0x35303123
+dd 0xae42b932
+dd 0xaea3a4f0
+dd 0x0049a174
+
+ref_00466c08:
+dd 0x35303123
+dd 0xbadaa733
+dd 0x0046a447
+
+ref_00466c14:
+dd 0x35303123
+dd 0xcbfcad34
+dd 0xa7deb3e7
+db 0x72
+db 0x00
+
+ref_00466c22:
+db 0x23
+db 0x31
+dd 0xa6353530
+dd 0xa4a3a4ba
+dd 0xaa48a446
+db 0xba
+db 0x00
+
+ref_00466c32:
+db 0x23
+db 0x31
+dd 0xb3363530
+dd 0xa74fac6f
+dd 0xb1b3c0da
+dd 0xa1baaa6f
+db 0x49
+db 0x00
+
+ref_00466c46:
+db 0x23
+db 0x31
+dd 0xa7373530
+dd 0xa54facda
+dd 0xad79b2fe
+dd 0x0049b4ba
+
+ref_00466c58:
+dd 0x35303123
+dd 0xc0c7c338
+dd 0xa770a459
+dd 0x00e3a151
+
+ref_00466c68:
+dd 0x35303123
+dd 0xa5d1a639
+dd 0xa7a3b3bb
+dd 0xa453a8d6
+dd 0x00e3a146
+
+ref_00466c7c:
+dd 0x36303123
+dd 0xa875af30
+dd 0xa47da853
+dd 0x0049a1df
+
+ref_00466c8c:
+dd 0x36303123
+dd 0xa5b3ae31
+dd 0xa1d5b068
+dd 0xa3a40a41
+dd 0xe4a7cea5
+dd 0xe3a146a4
+db 0x00
+
+ref_00466ca5:
+db 0x23
+db 0x31
+db 0x30
+dd 0x57a43236
+dd 0x4fabd2ab
+dd 0xe3a1f6a6
+db 0x00
+
+ref_00466cb5:
+db 0x23
+db 0x31
+db 0x30
+dd 0x43ad3336
+dd 0x4fab71bf
+db 0xa6
+db 0xf6
+db 0x00
+
+ref_00466cc3:
+db '#1064letitbe',0x00
+
+ref_00466cd0:
+dd 0x36303123
+dd 0xafdaa735
+dd 0xaad8a875
+dd 0xa4dba641
+db 0x76
+db 0x00
+
+ref_00466ce2:
+db 0x23
+db 0x31
+dd 0xa7363630
+dd 0xad4facda
+dd 0xa66aa4d3
+dd 0x0044a561
+
+ref_00466cf4:
+dd 0x36303123
+dd 0xaddaa737
+dd 0xc5d9ba6e
+dd 0xa440a451
+dd 0x0046a4e8
+
+ref_00466d08:
+dd 0x36303123
+dd 0xa753a538
+dd 0x0a41a1cc
+dd 0x4fb0daa7
+dd 0x41a7eda6
+db 0xa4
+db 0x46
+db 0x00
+
+ref_00466d1f:
+db 0x23
+dd 0x39363031
+dd 0xdaa7f1a9
+dd 0x68a558a5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00466d2f:
+db 0x23
+dd 0x30373031
+dd 0xa3a4daa7
+dd 0xb4a56ead
+dd 0x49a177b0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00466d43:
+db 0x23
+dd 0x31373031
+dd 0x6eada3a4
+dd 0xe3a16ea7
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00466d53:
+db 0x23
+dd 0x32373031
+dd 0x78be4fa7
+dd 0x49a146a4
+db 0x00
+
+ref_00466d61:
+db 0x23
+db 0x31
+db 0x30
+dd 0x40a43337
+dd 0x63b4f5b3
+dd 0xe3a1dab9
+db 0x00
+
+ref_00466d71:
+db 0x23
+db 0x31
+db 0x30
+dd 0xa2ab3437
+dd 0x49a1a2ab
+dd 0xa7d3b30a
+dd 0xac60c151
+dd 0x0a62a64f
+dd 0x71b8bfa5
+dd 0x40a4baaa
+dd 0x49a1e8a4
+db 0x00
+
+ref_00466d95:
+db 0x23
+db 0x31
+db 0x30
+dd 0xa3a43537
+dd 0x4fac4cb9
+dd 0xae42b90a
+dd 0xa474aef0
+dd 0xa149c246
+db 0xe3
+db 0x00
+
+ref_00466dae:
+db 0x23
+db 0x31
+dd 0xa7363730
+dd 0xa66eadda
+dd 0xa6b5b141
+dd 0xa179c041
+dd 0xc3a50a41
+dd 0xbdaab9a9
+dd 0x49a165ab
+db 0x00
+
+ref_00466dcd:
+db 0x23
+db 0x31
+db 0x30
+dd 0xfcaa3737
+dd 0x75afd4a9
+dd 0x49a144a5
+dd 0xc6daa70a
+dd 0xa7fcac67
+dd 0x0049a141
+
+ref_00466de8:
+dd 0x37303123
+dd 0xc150b738
+dd 0xa9fcaac2
+dd 0x0049a1d4
+
+ref_00466df8:
+dd 0x37303123
+dd 0xae42b939
+dd 0xa66ea6f0
+dd 0xb077a4d3
+dd 0x00e3a1d5
+
+ref_00466e0c:
+dd 0x38303123
+dd 0xa1484f30
+dd 0xa14f4ee3
+db 0x49
+db 0x00
+
+ref_00466e1a:
+db 0x23
+db 0x31
+dd 0xa4313830
+dd 0xaaeeb4f1
+dd 0xf3a70ace
+dd 0xdaa7fdc5
+dd 0x57ad68b5
+dd 0x49a149a1
+db 0x00
+
+ref_00466e35:
+db 0x23
+db 0x31
+db 0x30
+dd 0x48a43238
+dd 0xa3a4cda5
+dd 0x4eb770a6
+dd 0xa651a40a
+dd 0xa44ba4b3
+dd 0x00e3a145
+
+ref_00466e50:
+dd 0x38303123
+dd 0xa1fea833
+dd 0x4fa70ae3
+dd 0xaaa7d2a7
+dd 0xdab0daa7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00466e67:
+db 0x23
+dd 0x34383031
+dd 0x69a5daa7
+dd 0xbfa54fac
+dd 0xedb7bfa5
+dd 0xaa0aedb7
+dd 0xbfc8c1ba
+dd 0xa1e1b3fa
+db 0x49
+db 0x00
+
+ref_00466e86:
+db 0x23
+db 0x31
+dd 0xb6353830
+dd 0x0ae3a1e2
+dd 0x46a845bb
+dd 0xf0b6a8a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00466e9b:
+db 0x23
+dd 0x36383031
+dd 0xbaaadaa7
+dd 0xa6c5dfa4
+dd 0xad0a66af
+dd 0xa76fb56e
+dd 0xa146a440
+db 0xe3
+db 0x00
+
+ref_00466eb6:
+db 0x23
+db 0x31
+dd 0xa7373830
+dd 0xa77cb7da
+dd 0x0aa6a5e2
+dd 0x5ea6c8c1
+dd 0xbaaad3a8
+dd 0x49a149a1
+db 0x00
+
+ref_00466ed1:
+db 0x23
+db 0x31
+db 0x30
+dd 0x75af3838
+dd 0xa3a4cbb1
+dd 0x49a16fb1
+db 0x00
+
+ref_00466ee1:
+db 0x23
+db 0x31
+db 0x30
+dd 0xd3b83938
+dd 0xbaaa41a7
+dd 0xacd9c10a
+dd 0xb57cb74f
+dd 0xaa41a7b9
+dd 0x0049a1ba
+
+ref_00466efc:
+dd 0x39303123
+dd 0xa8c8c130
+dd 0xa146a4ec
+db 0x49
+db 0x00
+
+ref_00466f0a:
+db 0x23
+db 0x31
+dd 0xaf313930
+dd 0xabd9ace0
+dd 0xa1d9ac68
+db 0x43
+db 0x00
+
+ref_00466f1a:
+db 0x23
+db 0x31
+dd 0xa4323930
+dd 0xa761ae6a
+dd 0x0ab4a54f
+dd 0xc9b46fb3
+dd 0x6ca4d0a9
+dd 0xa5baaa0a
+dd 0xb34eb744
+dd 0x0049a1e1
+
+ref_00466f3c:
+dd 0x39303123
+dd 0xa769a533
+dd 0xacb4b24f
+dd 0xa1feadf5
+db 0xe3
+db 0x00
+
+ref_00466f4e:
+db 0x23
+db 0x31
+dd 0xb8343930
+dd 0xa77dbc72
+dd 0xa149a161
+db 0x49
+db 0x00
+
+ref_00466f5e:
+db 0x23
+db 0x31
+dd 0xa7353930
+dd 0xbbe7abda
+dd 0x0a7cb7f2
+dd 0x62a6e2ae
+dd 0xe2a441a7
+dd 0x48a157a4
+db 0x00
+
+ref_00466f79:
+db 0x23
+db 0x31
+db 0x30
+dd 0xd9c13639
+dd 0x58b4d1b3
+dd 0x48a1d1a4
+db 0x00
+
+ref_00466f89:
+db 0x23
+db 0x31
+db 0x30
+dd 0xdaa73739
+dd 0x53af6ead
+dd 0xddac4fa7
+dd 0x49a140c5
+db 0x00
+
+ref_00466f9d:
+db 0x23
+db 0x31
+db 0x30
+dd 0x49a93839
+dd 0x49a950c2
+dd 0xe3a150c2
+db 0x00
+
+ref_00466fad:
+db 0x23
+db 0x31
+db 0x30
+dd 0xdaa73939
+dd 0xa3a449ad
+dd 0x41a7cab0
+dd 0x49a149a1
+db 0x00
+
+ref_00466fc1:
+db 0x23
+db 0x31
+db 0x31
+dd 0xd6b23030
+dd 0xd7b2d8c2
+dd 0xaba8f3a9
+dd 0xe3a146a4
+db 0x00
+
+ref_00466fd5:
+db 0x23
+db 0x31
+db 0x31
+dd 0xdaa73130
+dd 0x49a5baaa
+dd 0xb20a58a5
+dd 0xb1f3a9d7
+dd 0xa6eca86f
+dd 0xa1f8b35e
+db 0x49
+db 0x00
+
+ref_00466ff2:
+db 0x23
+db 0x31
+dd 0xb3323031
+dd 0xbbe7ab6f
+dd 0xaf69a5f2
+dd 0xa148a1e0
+db 0x49
+db 0x00
+
+ref_00467006:
+db 0x23
+db 0x31
+dd 0xa7333031
+dd 0xaa6eadda
+dd 0xa673a446
+dd 0xa15fb041
+db 0x49
+db 0x00
+
+ref_0046701a:
+db 0x23
+db 0x31
+dd 0xa4343031
+dd 0xa44ea66a
+dd 0xa151a76a
+db 0x49
+db 0x00
+
+ref_0046702a:
+db 0x23
+db 0x31
+dd 0xa4353031
+dd 0xbdd3b85d
+dd 0xa7eca8fc
+dd 0xa146a4da
+db 0x49
+db 0x00
+
+ref_0046703e:
+db 0x23
+db 0x31
+dd 0xa4363031
+dd 0xbf50b7d3
+dd 0xa146a445
+db 0x49
+db 0x00
+
+ref_0046704e:
+db 0x23
+db 0x31
+dd 0xa4373031
+dd 0xa760a4d1
+dd 0xa15da4da
+db 0xe3
+db 0x00
+
+ref_0046705e:
+db 0x23
+db 0x31
+dd 0xad383031
+dd 0xb2efb9b1
+dd 0xa7eab97b
+dd 0x00e3a161
+
+ref_00467070:
+dd 0x30313123
+dd 0xa4b0ac39
+dd 0x0af2bbb0
+dd 0x6fb36ead
+dd 0xefb9cbbc
+dd 0x48a1daa7
+db 0x00
+
+ref_00467089:
+db 0x23
+db 0x31
+db 0x31
+dd 0xfabf3031
+dd 0x68a6daa7
+dd 0x4facbaaa
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046709b:
+db 0x23
+dd 0x31313131
+dd 0xc2c1c2c1
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004670a7:
+db 0x23
+dd 0x32313131
+dd 0xd3b3e1b2
+dd 0x4cb5f3a9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004670b7:
+db 0x23
+dd 0x33313131
+dd 0x49a17aab
+dd 0xc5aa6ec5
+dd 0x7eac70a6
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004670cb:
+db 0x23
+dd 0x34313131
+dd 0x77a4daa7
+dd 0xa70a67b8
+dd 0xa54cb5d4
+dd 0xa4d4a769
+dd 0x0049a146
+
+ref_004670e4:
+dd 0x31313123
+dd 0xb84fa735
+dd 0x4bc50af2
+dd 0xfbc2bda4
+dd 0xfabf6ead
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004670fb:
+db 0x23
+dd 0x36313131
+dd 0x40a4dea9
+dd 0x48a5f2a4
+dd 0xa40a51a7
+dd 0xa455a4d1
+dd 0xa4b0aca3
+dd 0x0049a15d
+
+ref_00467118:
+dd 0x31313123
+dd 0xac75af37
+dd 0xa4efb94f
+dd 0xa15fb0a3
+db 0x49
+db 0x00
+
+ref_0046712a:
+db 0x23
+db 0x31
+dd 0xac383131
+dd 0xa85fb0d9
+dd 0xedb70ad3
+dd 0x43b1d1a6
+dd 0x49a1bba5
+db 0x00
+
+ref_00467141:
+db 0x23
+db 0x31
+db 0x31
+dd 0xc8ad3931
+dd 0x79bc6fb1
+dd 0x49a1acaf
+db 0x00
+
+ref_00467151:
+db 0x23
+db 0x31
+db 0x31
+dd 0x67a43032
+dd 0xac0a61a6
+dd 0xa668a64f
+dd 0xb571af68
+dd 0x0049a1bd
+
+ref_00467168:
+dd 0x32313123
+dd 0xa4d0a931
+dd 0x53a80a6c
+dd 0x7cb748a4
+dd 0x68a6fbb6
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046717f:
+db 0x23
+dd 0x32323131
+dd 0x6ca467a7
+dd 0xb3a4f8b3
+dd 0xa654a40a
+dd 0xb1a3a47e
+dd 0x0049a1df
+
+ref_00467198:
+dd 0x32313123
+dd 0xa7f1a933
+dd 0xa5dba6da
+dd 0x00e3a1d1
+
+ref_004671a8:
+dd 0x32313123
+dd 0xa86ba834
+dd 0xb2b3a6e0
+dd 0xa3a40a5c
+dd 0x75bcb4bb
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004671bf:
+db 0x23
+dd 0x35323131
+dd 0x5a5a7a7a
+dd 0x49a30a5a
+dd 0x49a349a3
+db 0xa3
+db 0x49
+db 0x00
+
+ref_004671d3:
+db 0x23
+dd 0x36323131
+dd 0xe4a768a5
+dd 0x48a44fa7
+dd 0x49a149a1
+db 0x00
+
+ref_004671e5:
+db 0x23
+db 0x31
+db 0x31
+dd 0xcca43732
+dd 0xd7b242b9
+dd 0xc20af3a9
+dd 0xbbdaa7f7
+dd 0xa168a5b7
+db 0x49
+db 0x00
+
+ref_004671fe:
+db 0x23
+db 0x31
+dd 0xa7383231
+dd 0xac4fa456
+dd 0x0ab3a64f
+dd 0xf9bb4ea5
+dd 0x49a1baaa
+db 0x00
+
+ref_00467215:
+db 0x23
+db 0x31
+db 0x31
+dd 0x49b43932
+dd 0x70a651b6
+dd 0xb3b642af
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467227:
+db 0x23
+dd 0x30333131
+dd 0xe9a7caa6
+dd 0xb8bca3a4
+dd 0xb00a41a1
+dd 0xa5ddbced
+dd 0xa1d3b3b2
+db 0x49
+db 0x00
+
+ref_00467242:
+db 0x23
+db 0x31
+dd 0xa4313331
+dd 0xb05da9b5
+dd 0x0adab9b5
+dd 0x7cb75da4
+dd 0xe3a1baaf
+db 0x00
+
+ref_00467259:
+db 0x23
+db 0x31
+db 0x31
+dd 0xdaa73233
+dd 0xafa94fac
+dd 0x6ba442b9
+dd 0x49a1abaf
+db 0x00
+
+ref_0046726d:
+db 0x23
+db 0x31
+db 0x31
+dd 0xa3a43333
+dd 0xc0b9e0bf
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046727b:
+db 0x23
+dd 0x34333131
+dd 0xdab0d1a4
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467287:
+db 0x23
+dd 0x35333131
+dd 0xdaa7fdc5
+dd 0x46a4baa6
+dd 0x49a161a7
+db 0x00
+
+ref_00467299:
+db 0x23
+db 0x31
+db 0x31
+dd 0xdaa73633
+dd 0xfdb6baaa
+dd 0x72a7fdb6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004672ab:
+db 0x23
+dd 0x37333131
+dd 0x62a7d3ab
+dd 0x49a146a4
+db 0x00
+
+ref_004672b9:
+db 0x23
+db 0x31
+db 0x31
+dd 0xbbbe3833
+dd 0x46a4fcae
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004672c7:
+db 0x23
+dd 0x39333131
+dd 0xbdc2c8c1
+dd 0x49a146a4
+db 0x00
+
+ref_004672d5:
+db 0x23
+db 0x31
+db 0x31
+dd 0x5ab03034
+dd 0xb9a6b3a6
+dd 0x49a17ab2
+db 0x00
+
+ref_004672e5:
+db 0x23
+db 0x31
+db 0x31
+dd 0xa3a43134
+dd 0xb4a5e0af
+dd 0xdcb6e9a7
+dd 0x49a149a1
+db 0x00
+
+ref_004672f9:
+db 0x23
+db 0x31
+db 0x31
+dd 0xb0ac3234
+dd 0xf2bbb0a4
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00467307:
+db 0x23
+dd 0x33343131
+dd 0x5ea6dfbe
+dd 0xf8b140a4
+dd 0x49a152a9
+db 0x00
+
+ref_00467319:
+db 0x23
+db 0x31
+db 0x31
+dd 0x75af3434
+dd 0x42b9aba8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467327:
+db 0x23
+dd 0x35343131
+dd 0x49c06ea6
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467333:
+db 0x23
+dd 0x36343131
+dd 0x41a7e2ba
+dd 0x79a94bab
+dd 0x49c240a4
+dd 0xa70a41a1
+dd 0xa7d3a8d6
+dd 0x0049a161
+
+ref_00467350:
+dd 0x34313123
+dd 0xaba2ab37
+dd 0xa1a2aba2
+dd 0xd3b30a49
+dd 0x62a651a7
+dd 0x49a1e6b1
+db 0x00
+
+ref_00467369:
+db 0x23
+db 0x31
+db 0x31
+dd 0xa3a43834
+dd 0xbaa6c8a9
+dd 0xb40abaaa
+dd 0xa84cb94e
+dd 0x0049a1d3
+
+ref_00467380:
+dd 0x34313123
+dd 0xaed1a639
+dd 0xa7f2b851
+dd 0xa753a841
+dd 0x0049a1b9
+
+ref_00467394:
+dd 0x35313123
+dd 0xa7f1a930
+dd 0xa558a5da
+dd 0xa149a168
+dd 0x0049a149
+
+ref_004673a8:
+dd 0x35313123
+dd 0xa1fcad31
+dd 0xad75af49
+dd 0x0060becb
+
+ref_004673b8:
+dd 0x35313123
+dd 0x5a7a7a32
+dd 0x0a5a5a5a
+dd 0xe8a2e8a2
+db 0xa2
+db 0xe8
+db 0x00
+
+ref_004673cb:
+db 0x23
+dd 0x33353131
+dd 0x44b9f8c3
+dd 0xa70a4fac
+dd 0xa6d3a4da
+dd 0xa479beb3
+dd 0x0048a14f
+
+ref_004673e4:
+dd 0x35313123
+dd 0xa7f7c234
+dd 0xa4b7bbda
+dd 0xa149c240
+db 0x49
+db 0x00
+
+ref_004673f6:
+db 0x23
+db 0x31
+dd 0xa8353531
+dd 0xbdabbbd3
+dd 0xc178b4d0
+dd 0xc0aab96e
+dd 0x0049a179
+
+ref_0046740c:
+dd 0x35313123
+dd 0xa17aab36
+dd 0xaddaa7e3
+dd 0x0a4cb96e
+dd 0xa4a5d6a4
+dd 0xbaaaa4a5
+dd 0xa1accda5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046742b:
+db 0x23
+dd 0x37353131
+dd 0xfabfdaa7
+dd 0x48a4d2a4
+dd 0x7cb7a3a4
+dd 0xb34eb40a
+dd 0xa9f2bb6f
+dd 0xaaf3b1f1
+dd 0x0049a1ba
+
+ref_0046744c:
+dd 0x35313123
+dd 0xaed6ba38
+dd 0xa1d5b0f0
+db 0x49
+db 0x00
+
+ref_0046745a:
+db 0x23
+db 0x31
+dd 0xa4393531
+dd 0xb0d5b6ef
+dd 0x0049a1d5
+
+ref_00467468:
+dd 0x36313123
+dd 0xa675af30
+dd 0xa142b96e
+db 0x49
+db 0x00
+
+ref_00467476:
+db 0x23
+db 0x31
+dd 0xb1313631
+dd 0xab7cb7cc
+dd 0xa14fa9f6
+dd 0x0048a148
+
+ref_00467488:
+dd 0x36313123
+dd 0xbcb3a632
+dd 0xa146e576
+dd 0x0049a148
+
+ref_00467498:
+dd 0x36313123
+dd 0xbd46e533
+dd 0xa1cca6bc
+db 0x49
+db 0x00
+
+ref_004674a6:
+db 0x23
+db 0x31
+dd 0xb3343631
+dd 0xa15db067
+dd 0xb067b349
+dd 0x0049a15d
+
+ref_004674b8:
+dd 0x36313123
+dd 0xb346e535
+dd 0xa4bcbdbd
+dd 0xa16ea65d
+db 0x49
+db 0x00
+
+ref_004674ca:
+db 0x23
+db 0x31
+dd 0xa5363631
+dd 0xc1eeb45b
+dd 0x0049a1c8
+
+ref_004674d8:
+dd 0x36313123
+dd 0xaddaa737
+dd 0x0049a157
+
+ref_004674e4:
+dd 0x36313123
+dd 0xb075af38
+dd 0x00e3a149
+
+ref_004674f0:
+dd 0x36313123
+dd 0xa17aab39
+dd 0xa475afe3
+dd 0xa152a9ef
+db 0x49
+db 0x00
+
+ref_00467502:
+db 0x23
+db 0x31
+dd 0xa4303731
+dd 0xa7bda4d1
+dd 0xa64fab42
+dd 0x0049a1f6
+
+ref_00467514:
+dd 0x37313123
+dd 0xa477e931
+dd 0xe9b3a648
+dd 0xa1d6ba77
+db 0x49
+db 0x00
+
+ref_00467526:
+db 0x23
+db 0x31
+dd 0xa6323731
+dd 0xaef9ad6e
+dd 0xa162a661
+db 0x49
+db 0x00
+
+ref_00467536:
+db 0x23
+db 0x31
+dd 0xa4333731
+dd 0xa661ae6a
+dd 0x0aa2b6b3
+dd 0xa4a7d3a8
+dd 0x49a1e1b3
+db 0x00
+
+ref_0046754d:
+db 0x23
+db 0x31
+db 0x31
+dd 0xd3a83437
+dd 0xf9af77aa
+dd 0x49a1d5b0
+db 0x00
+
+ref_0046755d:
+db 0x23
+db 0x31
+db 0x31
+dd 0xd3bc3537
+dd 0xedad4aa5
+dd 0x6bc25fb0
+dd 0x49a1c6b1
+db 0x00
+
+ref_00467571:
+db 0x23
+db 0x31
+db 0x31
+dd 0x41a73637
+dd 0x7db661ae
+dd 0xb1a9c2b6
+dd 0x48a1dab0
+db 0x00
+
+ref_00467585:
+db 0x23
+db 0x31
+db 0x31
+dd 0xdead3737
+dd 0xdab050aa
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467593:
+db 0x23
+dd 0x38373131
+dd 0xe9b3fcad
+dd 0x72a7deb3
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004675a3:
+db 0x23
+dd 0x39373131
+dd 0x4dc24dc2
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004675af:
+db 0x23
+dd 0x30383131
+dd 0x49a1dab0
+dd 0x47ba7eb1
+dd 0x7abea8b8
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004675c3:
+db 0x23
+dd 0x31383131
+dd 0x4eb4ada6
+dd 0xaba86ea6
+dd 0xe3a1dab0
+db 0x00
+
+ref_004675d5:
+db 0x23
+db 0x31
+db 0x31
+dd 0xd1a43238
+dd 0x6bafbda4
+dd 0x48a477e9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004675e7:
+db 0x23
+dd 0x33383131
+dd 0x4ebff5a4
+dd 0x64bccbaf
+dd 0xb346e50a
+dd 0xa1f4babd
+db 0xe3
+db 0x00
+
+ref_004675fe:
+db 0x23
+db 0x31
+dd 0xb7343831
+dd 0xa4f7ab52
+dd 0xc47cb77e
+dd 0x0049a1b9
+
+ref_00467610:
+dd 0x38313123
+dd 0xacd6ba35
+dd 0xb7aab050
+dd 0x0049a1d3
+
+ref_00467620:
+dd 0x38313123
+dd 0xadd1a436
+dd 0xba45c2b0
+dd 0xa149a1d6
+db 0x49
+db 0x00
+
+ref_00467632:
+db 0x23
+db 0x31
+dd 0xb1373831
+dd 0xaa4eb76f
+dd 0xa440a4ba
+dd 0x0049a1d1
+
+ref_00467644:
+dd 0x38313123
+dd 0xa8b8ad38
+dd 0xbaeebed3
+dd 0x0049a1d7
+
+ref_00467654:
+dd 0x38313123
+dd 0xa64cb539
+dd 0xa8a7a46b
+dd 0x0049a161
+
+ref_00467664:
+dd 0x39313123
+dd 0xac75af30
+dd 0xa9a3a44f
+dd 0x00e3a1af
+
+ref_00467674:
+dd 0x39313123
+dd 0xb548a431
+dd 0xb0eebe4c
+dd 0xb4a3a45d
+dd 0x0049a149
+
+ref_00467688:
+dd 0x39313123
+dd 0xa668a632
+dd 0xb571af68
+dd 0x0049a1bd
+
+ref_00467698:
+dd 0x39313123
+dd 0xa4ebb633
+dd 0xb35fc1fa
+dd 0xb0a3a4a3
+dd 0x0049a1f7
+
+ref_004676ac:
+dd 0x39313123
+dd 0xbf6db734
+dd 0xa1dab0fa
+dd 0x0049a148
+
+ref_004676bc:
+dd 0x39313123
+dd 0xa1f3ad35
+dd 0xc26fb349
+dd 0x0afabf49
+dd 0x6ead5da4
+dd 0xdaa7f2b8
+dd 0xe3a1b3ae
+db 0x00
+
+ref_004676d9:
+db 0x23
+db 0x31
+db 0x31
+dd 0xe2ba3639
+dd 0xbda4bba5
+dd 0xe0bd44a5
+dd 0xbaaa41a7
+db 0x00
+
+ref_004676ed:
+db 0x23
+db 0x31
+db 0x31
+dd 0xbba53739
+dd 0x44a5bda4
+dd 0xac4eb40a
+dd 0xb7a3a44f
+dd 0xa149a551
+dd 0xe7ab0a41
+dd 0x48a1cbbc
+db 0x00
+
+ref_0046770d:
+db 0x23
+db 0x31
+db 0x31
+dd 0xa3a43839
+dd 0xa40a49a5
+dd 0xc04fac5d
+dd 0xaad3b8b3
+dd 0x0043a1ba
+
+ref_00467724:
+dd 0x39313123
+dd 0xa7ccbd39
+dd 0xa45da441
+dd 0x0ab1b4a3
+dd 0xbba5f2b8
+dd 0x44a5bda4
+dd 0xfabfaca6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467743:
+db 0x23
+dd 0x30303231
+dd 0x49a1a2ab
+dd 0x6eada3a4
+dd 0xbaaa52a9
+dd 0xa84eb40a
+dd 0xa1dab0d3
+db 0x49
+db 0x00
+
+ref_0046775e:
+db 0x23
+db 0x31
+dd 0xa7313032
+dd 0xb3d3a8d6
+dd 0xaaccb86f
+dd 0xa1b1aab1
+db 0x49
+db 0x00
+
+ref_00467772:
+db 0x23
+db 0x31
+dd 0xa7323032
+dd 0xa6ccad41
+dd 0xc16fb1b3
+dd 0xa16fc540
+db 0x49
+db 0x00
+
+ref_00467786:
+db 0x23
+db 0x31
+dd 0xa5333032
+dd 0xa5bda4bb
+dd 0xa7f2b844
+dd 0x0ab3a641
+dd 0xb3a460b2
+dd 0xebab6aa4
+dd 0x48a1dcb6
+db 0x00
+
+ref_004677a5:
+db 0x23
+db 0x31
+db 0x32
+dd 0xd9c13430
+dd 0xf1a9a3a4
+dd 0x58a5daa7
+dd 0x49a168a5
+db 0x00
+
+ref_004677b9:
+db 0x23
+db 0x31
+db 0x32
+dd 0xdaa73530
+dd 0xeda66ead
+dd 0xb559c00a
+dd 0xa966afa5
+dd 0xa149a1d0
+dd 0x0049a149
+
+ref_004677d4:
+dd 0x30323123
+dd 0xa4daa736
+dd 0xa174b5a3
+db 0xe3
+db 0x00
+
+ref_004677e2:
+db 0x23
+db 0x31
+dd 0xa7373032
+dd 0xc5cba74f
+dd 0xdaa70abc
+dd 0xe7a6baaa
+dd 0x49a141aa
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004677fb:
+db 0x23
+dd 0x38303231
+dd 0xf3a9d7b2
+dd 0xaba8d6aa
+dd 0x49a146a4
+db 0x00
+
+ref_0046780d:
+db 0x23
+db 0x31
+db 0x32
+dd 0x41a73930
+dd 0xa3b3ccad
+dd 0x4faca3a4
+dd 0xa4efb90a
+dd 0xa149a1e2
+db 0x49
+db 0x00
+
+ref_00467826:
+db 0x23
+db 0x31
+dd 0xa4303132
+dd 0xa677a940
+dd 0x0ad6bdb3
+dd 0xfab940a7
+dd 0x49a1d5b0
+db 0x00
+
+ref_0046783d:
+db 0x23
+db 0x31
+db 0x32
+dd 0xbba53131
+dd 0x44a5bda4
+dd 0xa44da80a
+dd 0xb1f1a9a3
+dd 0x0049a1f3
+
+ref_00467854:
+dd 0x31323123
+dd 0xb755b832
+dd 0x0a49a1b3
+dd 0x6aa4a4a4
+dd 0x46a4fabc
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046786b:
+db 0x23
+dd 0x33313231
+dd 0x6b63754c
+dd 0x0a49a179
+dd 0xf0ae42b9
+dd 0xf9bfa3a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467883:
+db 0x23
+dd 0x34313231
+dd 0xf1aaccb3
+dd 0xae42b90a
+dd 0xbfa3a4f0
+dd 0xa1c0b9f9
+db 0x49
+db 0x00
+
+ref_0046789a:
+db 0x23
+db 0x31
+dd 0xa5353132
+dd 0xa1ebab69
+dd 0xb156b241
+dd 0xc051af62
+dd 0xfda40a74
+dd 0x4ab34ba4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004678b7:
+db 0x23
+dd 0x36313231
+dd 0x4ba1b0ac
+dd 0xb0a4b0ac
+dd 0x48a1f2bb
+db 0x00
+
+ref_004678c9:
+db 0x23
+db 0x31
+db 0x32
+dd 0xc9b93731
+dd 0xb3a641a1
+dd 0xcbadf7b0
+dd 0x4ba1b0b7
+db 0x00
+
+ref_004678dd:
+db 0x23
+db 0x31
+db 0x32
+dd 0xa2ab3831
+dd 0xa2aba2ab
+dd 0xaf0a41a1
+dd 0xa94fac75
+dd 0xa142b9af
+db 0x49
+db 0x00
+
+ref_004678f6:
+db 0x23
+db 0x31
+dd 0xb3393132
+dd 0xb641a1e1
+dd 0xa462b169
+dd 0x0049a146
+
+ref_00467908:
+dd 0x32323123
+dd 0xbfa3a430
+dd 0xbfa3a4f9
+dd 0x0a41a1f9
+dd 0xf1a460c1
+dd 0xb3a653a8
+dd 0x4ba16ea6
+db 0x00
+
+ref_00467925:
+db 0x23
+db 0x31
+db 0x32
+dd 0xdab03132
+dd 0xdab0dab0
+dd 0xa50a4ba1
+dd 0xb5c6a840
+dd 0xa160b14c
+db 0x4b
+db 0x00
+
+ref_0046793e:
+db 0x23
+db 0x31
+dd 0xb9323232
+dd 0xb341a1c9
+dd 0xb6f2bb6f
+dd 0xa172a751
+db 0x49
+db 0x00
+
+ref_00467952:
+db 0x23
+db 0x31
+dd 0xa4333232
+dd 0xab4eb770
+dd 0x0a41a1e4
+dd 0x4eb770a4
+dd 0x49a1e4ab
+db 0x00
+
+ref_00467969:
+db 0x23
+db 0x31
+db 0x32
+dd 0xa2ab3432
+dd 0xa2aba2ab
+dd 0xab0a41a1
+dd 0xbc72b8dc
+dd 0xa161a77d
+db 0x49
+db 0x00
+
+ref_00467982:
+db 0x23
+db 0x31
+dd 0xab353232
+dd 0xa1a2aba2
+dd 0xb9afa941
+dd 0x0049a142
+
+ref_00467994:
+dd 0x32323123
+dd 0xa1f3ad36
+dd 0x6fb30a41
+dd 0xe8ade8ad
+dd 0xd3a66ea6
+dd 0x49a177a4
+db 0x00
+
+ref_004679ad:
+db 0x23
+db 0x31
+db 0x32
+dd 0xe1b33732
+dd 0x41a1e1b3
+dd 0xafdaa70a
+dd 0xa446a475
+dd 0xa15fb0a3
+db 0x49
+db 0x00
+
+ref_004679c6:
+db 0x23
+db 0x31
+dd 0xa8383232
+dd 0xa8fea8fe
+dd 0x0a41a1fe
+dd 0xd9c1daa7
+dd 0xe6a6a1ba
+dd 0xc0b9baaa
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004679e3:
+db 0x23
+dd 0x39323231
+dd 0x49a949a9
+dd 0x41a149a9
+dd 0xb7d6bd0a
+dd 0xa9d3a87c
+dd 0x0a41a14f
+dd 0x4fa575af
+dd 0xc1b448a4
+dd 0x49a1ddab
+db 0x00
+
+ref_00467a09:
+db 0x23
+db 0x31
+db 0x32
+dd 0x41a73033
+dd 0xb9b544a1
+dd 0xdaa744a1
+dd 0xb00a44a1
+dd 0xb550a14f
+dd 0x0049a1db
+
+ref_00467a24:
+dd 0x33323123
+dd 0xa7f1a931
+dd 0xa558a5da
+dd 0x0a49a168
+dd 0x4facdaa7
+dd 0x64b64cb5
+dd 0x49a1baaa
+db 0x00
+
+ref_00467a41:
+db 0x23
+db 0x31
+db 0x32
+dd 0xd9b63233
+dd 0x7dba41a1
+dd 0xbaaa47ab
+dd 0x68a440c5
+dd 0xa966a90a
+dd 0xad62a666
+dd 0xa1e0a8fe
+db 0x48
+db 0x00
+
+ref_00467a62:
+db 0x23
+db 0x31
+dd 0x5a333332
+dd 0x4ba15a5a
+db 0x00
+
+ref_00467a6d:
+db 0x23
+db 0x31
+db 0x32
+dd 0xb0ac3433
+dd 0xf2bbb0a4
+dd 0xdaa74fac
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00467a7f:
+db 0x23
+dd 0x35333231
+dd 0x4ba149a9
+dd 0xa9d7b20a
+dd 0xb1aba8f3
+dd 0xa146a4bc
+db 0x49
+db 0x00
+
+ref_00467a96:
+db 0x23
+db 0x31
+dd 0xa8363332
+dd 0xa8fea8fe
+dd 0x0a41a1fe
+dd 0xa8a65ca5
+dd 0x4eb457a6
+dd 0x49a1d5b0
+db 0x00
+
+ref_00467ab1:
+db 0x23
+db 0x31
+db 0x32
+dd 0x69a53733
+dd 0x4ba1ebab
+dd 0xaaccb30a
+dd 0xb0b3a6f1
+dd 0xa149adf7
+db 0x49
+db 0x00
+
+ref_00467aca:
+db 0x23
+db 0x31
+dd 0xaf383332
+dd 0xa1cda562
+dd 0xdaa70a41
+dd 0xa3a4beb0
+dd 0xb8a848ab
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467ae3:
+db 0x23
+dd 0x39333231
+dd 0xdfb369a5
+dd 0x50b669a5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467af3:
+db 0x23
+dd 0x30343231
+dd 0xafa96ea6
+dd 0xe1b3d6ba
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467b03:
+db 0x23
+dd 0x31343231
+dd 0xe3a1e2b6
+dd 0xdcabdaa7
+dd 0x4eb7a1ba
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467b17:
+db 0x23
+dd 0x32343231
+dd 0x59b275af
+dd 0xe3a147ba
+db 0x00
+
+ref_00467b25:
+db 0x23
+db 0x31
+db 0x32
+dd 0xa3a43334
+dd 0x41a7f2b8
+dd 0x46a46ea6
+dd 0x49a149a1
+db 0x00
+
+ref_00467b39:
+db 0x23
+db 0x31
+db 0x32
+dd 0x6ea63434
+dd 0xb0b7cbad
+dd 0xe3a1e1b3
+db 0x00
+
+ref_00467b49:
+db 0x23
+db 0x31
+db 0x32
+dd 0xdaa73534
+dd 0x70a44fac
+dd 0x43b149b4
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467b5b:
+db 0x23
+dd 0x36343231
+dd 0x49a17aab
+dd 0xeca8c8c1
+db 0xa4
+db 0x46
+db 0x00
+
+ref_00467b6b:
+db 0x23
+dd 0x37343231
+dd 0xf2bbe7ab
+dd 0xa6a3a40a
+dd 0xa4b9b568
+dd 0xa149c240
+db 0x48
+db 0x00
+
+ref_00467b82:
+db 0x23
+db 0x31
+dd 0xa4383432
+dd 0xb1d8b8d3
+dd 0xa146a469
+db 0x49
+db 0x00
+
+ref_00467b92:
+db 0x23
+db 0x31
+dd 0xc1393432
+dd 0xb3baaac8
+dd 0xb0a3a4a3
+dd 0xa1dfbdf7
+db 0x49
+db 0x00
+
+ref_00467ba6:
+db 0x23
+db 0x31
+dd 0xad303532
+dd 0x0a49a1fc
+dd 0x44a4fabf
+dd 0x7ea5ada8
+dd 0xabaaa7a4
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467bbf:
+db 0x23
+dd 0x31353231
+dd 0x51b74fa7
+dd 0x7cb7daa7
+dd 0xfabf49a5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467bd3:
+db 0x23
+dd 0x32353231
+dd 0xb8a655a4
+dd 0xb9b541a6
+dd 0xe3a141a7
+db 0x00
+
+ref_00467be5:
+db 0x23
+db 0x31
+db 0x32
+dd 0xd9ac3335
+dd 0xd3a85fb0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467bf3:
+db 0x23
+dd 0x34353231
+dd 0x56a455b8
+dd 0xd3bcaab0
+dd 0xa6ada50a
+dd 0xa15fb061
+dd 0x0049a149
+
+ref_00467c0c:
+dd 0x35323123
+dd 0xba60c135
+dd 0xa852b6e2
+dd 0xa146a4ec
+db 0x49
+db 0x00
+
+ref_00467c1e:
+db 0x23
+db 0x31
+dd 0xa6363532
+dd 0xb3ceb46e
+dd 0x0049a1e1
+
+ref_00467c2c:
+dd 0x35323123
+dd 0xa4b0ac37
+dd 0x0af2bbb0
+dd 0xdbb46ead
+dd 0xdaa774ad
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00467c43:
+db 0x23
+dd 0x38353231
+dd 0xdaa7f1a9
+dd 0x68a558a5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467c53:
+db 0x23
+dd 0x39353231
+dd 0x6eaddaa7
+dd 0x61ae5ea6
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467c63:
+db 0x23
+dd 0x30363231
+dd 0x49a349a3
+dd 0x49a349a3
+db 0xa3
+db 0x49
+db 0x00
+
+ref_00467c73:
+db 0x23
+dd 0x31363231
+dd 0xadb05dc5
+dd 0x49a149a1
+db 0x00
+
+ref_00467c81:
+db 0x23
+db 0x31
+db 0x32
+dd 0xccb33236
+dd 0xc20a6ea6
+dd 0xbbdaa7f7
+dd 0xaab7bbb7
+dd 0x00e3a1ba
+
+ref_00467c98:
+dd 0x36323123
+dd 0xae5ea633
+dd 0xa1d5b061
+db 0xe3
+db 0x00
+
+ref_00467ca6:
+db 0x23
+db 0x31
+dd 0xb6343632
+dd 0x0ae3a1e3
+dd 0xf2a440a4
+dd 0xa3a4a3b3
+dd 0xe3a1d1b3
+db 0x00
+
+ref_00467cbd:
+db 0x23
+db 0x31
+db 0x32
+dd 0xfdc53536
+dd 0xa60adaa7
+dd 0xa4b1aa41
+dd 0xa7b8a640
+dd 0x0049a161
+
+ref_00467cd4:
+dd 0x36323123
+dd 0xab7dba36
+dd 0x0049a147
+
+ref_00467ce0:
+dd 0x36323123
+dd 0xc0c5bb37
+dd 0xa146a4c5
+db 0x49
+db 0x00
+
+ref_00467cee:
+db 0x23
+db 0x31
+dd 0xab383632
+dd 0xa1a2aba2
+dd 0xb5a40a49
+dd 0x75afd1a4
+dd 0xb3bfaab0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467d07:
+db 0x23
+dd 0x39363231
+dd 0x69a5a3a4
+dd 0x49a1e0af
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467d17:
+db 0x23
+dd 0x30373231
+dd 0x60beaba8
+dd 0x49a142b9
+db 0x00
+
+ref_00467d25:
+db 0x23
+db 0x31
+db 0x32
+dd 0xd3a43137
+dd 0xd1b1a2a5
+dd 0x49a146a4
+db 0x00
+
+ref_00467d35:
+db 0x23
+db 0x31
+db 0x32
+dd 0x6aa43237
+dd 0xaca6d7c2
+dd 0x49a149a1
+db 0x00
+
+ref_00467d45:
+db 0x23
+db 0x31
+db 0x32
+dd 0xa2ab3337
+dd 0x4eb749a1
+dd 0xa7a47ea5
+db 0xb0
+db 0x5d
+db 0x00
+
+ref_00467d57:
+db 0x23
+dd 0x34373231
+dd 0x6fb37ea4
+dd 0xfabf49c2
+dd 0x48a1dab0
+db 0x00
+
+ref_00467d69:
+db 0x23
+db 0x31
+db 0x32
+dd 0xb0ac3537
+dd 0xf2bbb0a4
+dd 0x4fac7cb7
+dd 0x48a1daa7
+db 0x00
+
+ref_00467d7d:
+db 0x23
+db 0x31
+db 0x32
+dd 0xb3a63637
+dd 0xb3a653a8
+dd 0xf9bf64b7
+dd 0x48a1dab0
+db 0x00
+
+ref_00467d91:
+db 0x23
+db 0x31
+db 0x32
+dd 0xa3a43737
+dd 0xf2ba6ead
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467d9f:
+db 0x23
+dd 0x38373231
+dd 0x46a4baae
+dd 0xe2a740a4
+dd 0xbda64ea7
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467db3:
+db 0x23
+dd 0x39373231
+dd 0x68b5d3a4
+dd 0x46a4d6a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467dc3:
+db 0x23
+dd 0x30383231
+dd 0x4faca3a4
+dd 0xa40adaa7
+dd 0xa7b9b5a3
+dd 0xa1e1b341
+db 0x49
+db 0x00
+
+ref_00467dda:
+db 0x23
+db 0x31
+dd 0xaf313832
+dd 0xa6b3a675
+dd 0xb74eb4a8
+dd 0xa149a150
+db 0x49
+db 0x00
+
+ref_00467dee:
+db 0x23
+db 0x31
+dd 0xa7323832
+dd 0xa85da441
+dd 0xb8d5b8d3
+dd 0xb9ddacd5
+db 0xc0
+db 0x00
+
+ref_00467e02:
+db 0x23
+db 0x31
+dd 0xc5333832
+dd 0xa4efaa77
+dd 0xa861ae6a
+dd 0xa1b1aad3
+db 0x49
+db 0x00
+
+ref_00467e16:
+db 0x23
+db 0x31
+dd 0xac343832
+dd 0xbbb0a4b0
+dd 0x6ead0af2
+dd 0x51aff2b8
+dd 0x40a77dab
+dd 0x48a1efb9
+db 0x00
+
+ref_00467e31:
+db 0x23
+db 0x31
+db 0x32
+dd 0x51af3538
+dd 0x53a87dab
+dd 0xc7a5b3a6
+dd 0x49a16fb8
+db 0x00
+
+ref_00467e45:
+db 0x23
+db 0x31
+db 0x32
+dd 0xe5c23638
+dd 0x62a6cda5
+dd 0xccb8fead
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00467e57:
+db '#1287zzzzzz',0x0a,'ZZZZZZ',0x00
+
+ref_00467e6a:
+db 0x23
+db 0x31
+dd 0xb4383832
+dd 0xa4dfa4a3
+dd 0xa178c1dd
+dd 0x00e3a1e3
+
+ref_00467e7c:
+dd 0x38323123
+dd 0xa9d7b239
+dd 0xa569a5f3
+dd 0x50c30a48
+dd 0x66a440a4
+dd 0x46a4f0ae
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467e97:
+db 0x23
+dd 0x30393231
+dd 0xccad41a7
+dd 0xa3a4a3b3
+dd 0xaf0a4fac
+dd 0xaa7dab51
+dd 0xa4efb9ba
+dd 0xa1d5b0e2
+db 0x49
+db 0x00
+
+ref_00467eb6:
+db 0x23
+db 0x31
+dd 0xa7313932
+dd 0xaaccad41
+dd 0xc2f0aea7
+dd 0xe6a60a49
+dd 0xe6a6a3a4
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00467ecf:
+db 0x23
+dd 0x32393231
+dd 0xb5b141a6
+dd 0x79c041a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467edf:
+db 0x23
+dd 0x33393231
+dd 0x4facdaa7
+dd 0x4faca3a4
+dd 0xa762a60a
+dd 0xb0dab940
+dd 0x0048a1da
+
+ref_00467ef8:
+dd 0x39323123
+dd 0xb0d3a434
+dd 0xa4b3bfaa
+dd 0x0049a146
+
+ref_00467f08:
+dd 0x39323123
+dd 0xaa6ea635
+dd 0xa97db6ba
+dd 0x4fac0a6c
+dd 0x5ca5a8a6
+dd 0x40a4baaa
+dd 0x49a162a5
+db 0x00
+
+ref_00467f25:
+db 0x23
+db 0x31
+db 0x32
+dd 0xb9a73639
+dd 0x46a44ab3
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467f33:
+db 0x23
+dd 0x37393231
+dd 0x46a447ba
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00467f3f:
+db 0x23
+dd 0x38393231
+dd 0x61ae48a4
+dd 0xdebaa3a4
+dd 0x49a1d5b0
+db 0x00
+
+ref_00467f51:
+db 0x23
+db 0x31
+db 0x32
+dd 0xa2ab3939
+dd 0x5db049a1
+dd 0x75babdb7
+dd 0x43a175ba
+db 0x00
+
+ref_00467f65:
+db 0x23
+db 0x31
+db 0x33
+dd 0x6ea63030
+dd 0xbaaacbbc
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467f73:
+db 0x23
+dd 0x31303331
+dd 0xe3a148bc
+dd 0xd6a46ebf
+dd 0x68a6a8a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467f87:
+db 0x23
+dd 0x32303331
+dd 0x61ae48a4
+dd 0xa3a449a5
+dd 0xd5b05fb0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467f9b:
+db 0x23
+dd 0x33303331
+dd 0xe3a1fcad
+dd 0xfabfe1aa
+dd 0x61a8f8ae
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00467faf:
+db 0x23
+dd 0x34303331
+dd 0x4eb770a4
+dd 0xe3a1e4ab
+db 0x00
+
+ref_00467fbd:
+db 0x23
+db 0x31
+db 0x33
+dd 0x7ec03530
+dd 0x61ae48a4
+dd 0xf5b840a4
+dd 0x49a149a1
+db 0x00
+
+ref_00467fd1:
+db 0x23
+db 0x31
+db 0x33
+dd 0x75af3630
+dd 0x55b84fac
+dd 0x49a1afa9
+db 0x00
+
+ref_00467fe1:
+db 0x23
+db 0x31
+db 0x33
+dd 0xd9c13730
+dd 0x53a86ea6
+dd 0xe3a1c6a8
+db 0x00
+
+ref_00467ff1:
+db 0x23
+db 0x31
+db 0x33
+dd 0x48a43830
+dd 0x75af61ae
+dd 0x46b7e0af
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468003:
+db 0x23
+dd 0x39303331
+dd 0xc5aab3a6
+dd 0xa4a7d3a8
+dd 0x61a7a4a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468017:
+db 0x23
+dd 0x30313331
+dd 0xceb4d3a4
+dd 0x49a146a4
+db 0x00
+
+ref_00468025:
+db 0x23
+db 0x31
+db 0x33
+dd 0xfabf3131
+dd 0x51b3a3b3
+dd 0xae0a41a7
+dd 0xa4faa5b3
+dd 0x0049a146
+
+ref_0046803c:
+dd 0x31333123
+dd 0xae48a432
+dd 0xb54fac61
+dd 0xaa64b64c
+dd 0x00e3a1ba
+
+ref_00468050:
+dd 0x31333123
+dd 0xb6e3b633
+dd 0xa1e3b6e3
+dd 0xa1e3a1e3
+db 0xe3
+db 0x00
+
+ref_00468062:
+db 0x23
+db 0x31
+dd 0xb6343133
+dd 0x00e3a1e2
+
+ref_0046806c:
+dd 0x31333123
+dd 0xada3a435
+dd 0xa7e4a76e
+dd 0x00e3a1da
+
+ref_0046807c:
+dd 0x31333123
+dd 0xa149a936
+dd 0xba60c1e3
+dd 0xa4aba8e2
+dd 0x0049a146
+
+ref_00468090:
+dd 0x31333123
+dd 0xa8fea837
+dd 0xa1fea8fe
+dd 0xd3a90ae3
+dd 0x46a4fdc5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004680a7:
+db 0x23
+dd 0x38313331
+dd 0xe3a1e3b6
+dd 0x61ae48a4
+dd 0xf2a440a4
+dd 0xa45da40a
+dd 0xa4d1b3a3
+dd 0x0043a146
+
+ref_004680c4:
+dd 0x31333123
+dd 0xa4daa739
+dd 0xa4cca5a3
+dd 0x0a49a1df
+dd 0x6eaddaa7
+dd 0x67a4b2b1
+dd 0xd3a8abad
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004680e3:
+db 0x23
+dd 0x30323331
+dd 0x62a7d3ab
+dd 0x49a146a4
+db 0x00
+
+ref_004680f1:
+db 0x23
+db 0x31
+db 0x33
+dd 0xd3a43132
+dd 0x46a4aea7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004680ff:
+db 0x23
+dd 0x32323331
+dd 0x49a1e1b3
+dd 0x49a143ad
+db 0x00
+
+ref_0046810d:
+db 0x23
+db 0x31
+db 0x33
+dd 0xfdb63332
+dd 0x7dabfdb6
+dd 0x49a172a7
+db 0x00
+
+ref_0046811d:
+db 0x23
+db 0x31
+db 0x33
+dd 0xe1b33432
+dd 0xdaa749a1
+dd 0xd1a4baaa
+dd 0x49a1dab0
+db 0x00
+
+ref_00468131:
+db 0x23
+db 0x31
+db 0x33
+dd 0xdaa73532
+dd 0xdbaca3a4
+dd 0x49a148ab
+db 0x00
+
+ref_00468141:
+db 0x23
+db 0x31
+db 0x33
+dd 0xdaa73632
+dd 0xb3a64fac
+dd 0x48a4fabf
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468153:
+db 0x23
+dd 0x37323331
+dd 0xc8c1daa7
+dd 0xfabf6aa4
+dd 0x49a146a4
+db 0x00
+
+ref_00468165:
+db 0x23
+db 0x31
+db 0x33
+dd 0xa3a43832
+dd 0xc0b9f9bf
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468173:
+db 0x23
+dd 0x39323331
+dd 0x51b6d3a4
+dd 0x49a146a4
+db 0x00
+
+ref_00468181:
+db 0x23
+db 0x31
+db 0x33
+dd 0xdaa73033
+dd 0xa3b27daf
+dd 0x49a146a4
+db 0x00
+
+ref_00468191:
+db 0x23
+db 0x31
+db 0x33
+dd 0x53a83133
+dd 0xf2bbb0a4
+dd 0xa3a46aa4
+dd 0x49a146a4
+db 0x00
+
+ref_004681a5:
+db 0x23
+db 0x31
+db 0x33
+dd 0xafa93233
+dd 0x49a142b9
+db 0x00
+
+ref_004681b1:
+db 0x23
+db 0x31
+db 0x33
+dd 0x50b73333
+dd 0x57a4c2c1
+dd 0x49a1d2ab
+db 0x00
+
+ref_004681c1:
+db 0x23
+db 0x31
+db 0x33
+dd 0xd3a43433
+dd 0x46a4fcac
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004681cf:
+db 0x23
+dd 0x35333331
+dd 0xa5b76ea6
+dd 0x49a146a4
+db 0x00
+
+ref_004681dd:
+db 0x23
+db 0x31
+db 0x33
+dd 0xd3a43633
+dd 0x46a4ceb4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004681eb:
+db 0x23
+dd 0x37333331
+dd 0xb3b755b8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004681f7:
+db 0x23
+dd 0x38333331
+dd 0xa3a441a7
+dd 0xb30ae0af
+dd 0xb9cbbc6f
+dd 0xa1daa7ef
+db 0x49
+db 0x00
+
+ref_0046820e:
+db 0x23
+db 0x31
+dd 0xc5393333
+dd 0xa5daa7fd
+dd 0xa168a558
+db 0x49
+db 0x00
+
+ref_0046821e:
+db 0x23
+db 0x31
+dd 0xa7303433
+dd 0xa653a8da
+dd 0xafcda5b3
+dd 0x0049a166
+
+ref_00468230:
+dd 0x34333123
+dd 0xa4daa731
+dd 0xa1d6b2a3
+db 0xe3
+db 0x00
+
+ref_0046823e:
+db 0x23
+db 0x31
+dd 0xb3323433
+dd 0xa449a1e1
+dd 0x0049a1a3
+
+ref_0046824c:
+dd 0x34333123
+dd 0xc150b733
+dd 0xa4d1a6c2
+dd 0x0049a1d1
+
+ref_0046825c:
+dd 0x34333123
+dd 0xacdaa734
+dd 0xaeb9c44f
+dd 0x0049a161
+
+ref_0046826c:
+dd 0x34333123
+dd 0xa4a3a435
+dd 0xa1ada5bd
+db 0x49
+db 0x00
+
+ref_0046827a:
+db 0x23
+db 0x31
+dd 0xc5363433
+dd 0xa6daa7fd
+dd 0xa4b1aa41
+dd 0xa1b8a640
+db 0x49
+db 0x00
+
+ref_0046828e:
+db '#1347@04',0x00
+
+ref_00468297:
+db '#1348@16',0x00
+
+ref_004682a0:
+db '#1349@01',0x00
+
+ref_004682a9:
+db '#1350@03',0x00
+
+ref_004682b2:
+db '#1351@10',0x00
+
+ref_004682bb:
+db '#1352@13',0x00
+
+ref_004682c4:
+db '#1353@17',0x00
+
+ref_004682cd:
+db '#1354@21',0x00
+
+ref_004682d6:
+db '#1355@15',0x00
+
+ref_004682df:
+db '#1356@03',0x00
+
+ref_004682e8:
+db '#1357@10',0x00
+
+ref_004682f1:
+db '#1358@13',0x00
+
+ref_004682fa:
+db '#1359@05',0x00
+
+ref_00468303:
+db '#1360@02',0x00
+
+ref_0046830c:
+db '#1361@07',0x00
+
+ref_00468315:
+db '#1362@04',0x00
+
+ref_0046831e:
+db '#1363@16',0x00
+
+ref_00468327:
+db '#1364@01',0x00
+
+ref_00468330:
+db '#1365@08',0x00
+
+ref_00468339:
+db '#1366@10',0x00
+
+ref_00468342:
+db '#1367@17',0x00
+
+ref_0046834b:
+db '#1368@18',0x00
+
+ref_00468354:
+db '#1369@03',0x00
+
+ref_0046835d:
+db '#1370@04',0x00
+
+ref_00468366:
+db '#1371@16',0x00
+
+ref_0046836f:
+db '#1372@03',0x00
+
+ref_00468378:
+db '#1373@20',0x00
+
+ref_00468381:
+db 0x23
+db 0x30
+db 0x32
+dd 0xc0b43633
+dd 0xa3b0daa7
+dd 0xbb0abcb1
+dd 0xaaaac3d9
+dd 0x0049a1ab
+
+ref_00468398:
+dd 0x33323023
+dd 0xb8b9a637
+dd 0xa74facf4
+dd 0xa17db6da
+dd 0xb9a60a41
+dd 0x4facf0be
+dd 0xe2aedaa7
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004683b7:
+db 0x23
+dd 0x38333230
+dd 0xdfa470a4
+dd 0xa80a49a1
+dd 0xa642a842
+dd 0xa1f7be4d
+db 0xe3
+db 0x00
+
+ref_004683ce:
+db 0x23
+db 0x30
+dd 0xb0393332
+dd 0xad41a765
+dd 0xad40a4cc
+dd 0x70a40ad3
+dd 0xabaaa7c2
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004683e7:
+db 0x23
+dd 0x34333230
+dd 0xdab0c4bd
+dd 0xb30a49a1
+dd 0xb8fba4a5
+dd 0x0049a1b9
+
+ref_004683fc:
+dd 0x33323023
+dd 0xa1d9b635
+dd 0xa85fc449
+dd 0x0ae3a1a9
+dd 0x5fb040a4
+dd 0xc2b068a5
+dd 0x61a7b7ad
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046841b:
+db 0x23
+dd 0x30343230
+dd 0x6fb1b5ac
+dd 0xc20a41a7
+dd 0xaab8adfb
+dd 0xa1f5b8af
+dd 0x00e3a1e3
+
+ref_00468434:
+dd 0x34323023
+dd 0xb46ead31
+dd 0xa649c258
+dd 0xc258b4b3
+dd 0x0a49a149
+dd 0xe3a17db6
+db 0x00
+
+ref_0046844d:
+db 0x23
+db 0x30
+db 0x32
+dd 0x53a53634
+dd 0xccadcca7
+dd 0xa40a49a1
+dd 0xa475a457
+dd 0x00e3a146
+
+ref_00468464:
+dd 0x34323023
+dd 0xaa70a632
+dd 0xa641a647
+dd 0x0aeca85e
+dd 0x65ab71b1
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046847b:
+db 0x23
+dd 0x33343230
+dd 0xa1b6fec0
+dd 0xcab0beb2
+dd 0x49a149a1
+db 0x00
+
+ref_0046848d:
+db 0x23
+db 0x30
+db 0x32
+dd 0xeea93434
+dd 0x6aa4a3b0
+dd 0xd3a8a4b6
+dd 0x49a146a4
+db 0x00
+
+ref_004684a1:
+db 0x23
+db 0x30
+db 0x32
+dd 0x55a63534
+dd 0xeca6e3a1
+dd 0x5bc6e3a1
+dd 0xb3b2e3a1
+dd 0xa144a10a
+dd 0xa144a144
+dd 0x0043a144
+
+ref_004684c0:
+dd 0x34323023
+dd 0xb4d6bd37
+dd 0xa7d7beb1
+dd 0x68a50ada
+dd 0x48a1f4b8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004684d7:
+db 0x23
+dd 0x38343230
+dd 0x6fb3d6bd
+dd 0xcaaff2bb
+dd 0x48a177bc
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004684eb:
+db 0x23
+dd 0x39343230
+dd 0xa3a4daa7
+dd 0xe3a16ead
+dd 0xe3a1e3a1
+db 0x00
+
+ref_004684fd:
+db 0x23
+db 0x30
+db 0x32
+dd 0xc4bd3235
+dd 0x49a1dab0
+dd 0xa9a85fc4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046850f:
+db 0x23
+dd 0x33353230
+dd 0xf4b844b9
+dd 0x75a449ac
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046851f:
+db 0x23
+dd 0x34353230
+dd 0x48bc48bc
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046852b:
+db 0x23
+dd 0x35353230
+dd 0x41a765b0
+dd 0xd3ad40a4
+dd 0xaa52b70a
+dd 0xaaa7c2ba
+dd 0x00e3a1ab
+
+ref_00468544:
+dd 0x35323023
+dd 0xc053a830
+dd 0x0a6dbe64
+dd 0x4dc34eb4
+dd 0x61a7aea8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046855b:
+db 0x23
+dd 0x31353230
+dd 0x4facdaa7
+dd 0xaea8b3a6
+dd 0xc5afa5b6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046856f:
+db 0x23
+dd 0x36353230
+dd 0xc7b7cbba
+dd 0x6fb541a1
+dd 0x49a167ae
+db 0x00
+
+ref_00468581:
+db 0x23
+db 0x30
+db 0x32
+dd 0xd3a83735
+dd 0xafa9d3ad
+dd 0xbc0a42b9
+dd 0xa772a6c6
+dd 0x0049a161
+
+ref_00468598:
+dd 0x36323023
+dd 0xa47db632
+dd 0xa66aa475
+dd 0x00e3a14e
+
+ref_004685a8:
+dd 0x35323023
+dd 0xa675a138
+dd 0xa5eca85e
+dd 0xa1d3a8bc
+dd 0xddac0a76
+dd 0xdcb64cb9
+db 0xa1
+db 0x48
+db 0x00
+
+ref_004685c3:
+db 0x23
+dd 0x39353230
+dd 0x68b752b7
+dd 0xf2bbb0a4
+dd 0xb74eb40a
+dd 0xbbb0a468
+dd 0x0049a1f2
+
+ref_004685dc:
+dd 0x36323023
+dd 0xc3daa730
+dd 0xbcc0a968
+dd 0x0aefc173
+dd 0x46a8baaa
+dd 0xe3a17aba
+db 0x00
+
+ref_004685f5:
+db 0x23
+db 0x30
+db 0x32
+dd 0xddac3136
+dd 0xbaaadaa7
+dd 0xb1b5af0a
+dd 0xbe5aaa4b
+dd 0x00e3a1b9
+
+ref_0046860c:
+dd 0x36323023
+dd 0xbe51b333
+dd 0xa4eda6d7
+dd 0x00e3a146
+
+ref_0046861c:
+dd 0x36323023
+dd 0xb3b9a734
+dd 0xa146a44a
+db 0xe3
+db 0x00
+
+ref_0046862a:
+db 0x23
+db 0x30
+dd 0xa7353632
+dd 0xbbe7abda
+dd 0xbb6fb3f2
+dd 0xa149b0f2
+db 0xe3
+db 0x00
+
+ref_0046863e:
+db 0x23
+db 0x30
+dd 0xbd383632
+dd 0xa1dab0c4
+dd 0x7db60ae3
+dd 0xfda5f4b8
+dd 0x49a157be
+db 0x00
+
+ref_00468655:
+db 0x23
+db 0x30
+db 0x32
+dd 0xd6bd3936
+dd 0x4fa7a3b3
+dd 0x4cb951b7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468667:
+db 0x23
+dd 0x30373230
+dd 0xf2bdd6bd
+dd 0xd6bdeca8
+dd 0xb0b7cbad
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046867b:
+db 0x23
+dd 0x31373230
+dd 0x52a96ead
+dd 0xb40abaaa
+dd 0xb94fa74e
+dd 0xa1d3a84c
+db 0x49
+db 0x00
+
+ref_00468692:
+db 0x23
+db 0x30
+dd 0xa8363632
+dd 0xb9ddac53
+dd 0xaad4a74c
+dd 0x4dc30acc
+dd 0xaea8f7be
+dd 0x48a1dab0
+db 0x00
+
+ref_004686ad:
+db 0x23
+db 0x30
+db 0x32
+dd 0xd3ab3736
+dd 0x49a161a7
+db 0x00
+
+ref_004686b9:
+db 0x23
+db 0x30
+db 0x32
+dd 0xa3a43237
+dd 0xbaa651b7
+dd 0xbe0abaaa
+dd 0xafe4c361
+dd 0x00e3a1b8
+
+ref_004686d0:
+dd 0x37323023
+dd 0xa8bca533
+dd 0xb478b4d3
+dd 0x0a62a6a4
+dd 0x76a4dba6
+dd 0xa4a4e2a4
+db 0xa1
+db 0x43
+db 0x00
+
+ref_004686eb:
+db 0x23
+dd 0x38373230
+dd 0xc6b3c7b7
+dd 0xb3bf6aa4
+dd 0xeca467a4
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004686ff:
+db 0x23
+dd 0x34373230
+dd 0x75afdaa7
+dd 0xc0a968c3
+dd 0xab48a50a
+dd 0xa4baaa65
+dd 0xa16ca4e9
+db 0x43
+db 0x00
+
+ref_0046871a:
+db 0x23
+db 0x30
+dd 0xac353732
+dd 0xaadea7ec
+dd 0xb4b2b5ba
+dd 0x00e3a1b9
+
+ref_0046872c:
+dd 0x37323023
+dd 0xa7fdc536
+dd 0xb6d3a8da
+dd 0x0adda97d
+dd 0xcda548a4
+dd 0x6aa4baaa
+dd 0xe3a144b9
+db 0x00
+
+ref_00468749:
+db 0x23
+db 0x30
+db 0x32
+dd 0xddac3737
+dd 0xbaaadaa7
+dd 0xb7d7b20a
+dd 0xb1b2a5a5
+dd 0xa1dea7fe
+dd 0x00e3a1e3
+
+ref_00468764:
+dd 0x37323023
+dd 0xc44fa739
+dd 0xa1daa764
+db 0x49
+db 0x00
+
+ref_00468772:
+db 0x23
+db 0x30
+dd 0xa7303832
+dd 0xa447bada
+dd 0x00e3a146
+
+ref_00468780:
+dd 0x38323023
+dd 0xa5d6a731
+dd 0xa7b9b5e1
+dd 0xa148a44f
+db 0x49
+db 0x00
+
+ref_00468792:
+db 0x23
+db 0x30
+dd 0xab343832
+dd 0xa1bdabbd
+dd 0x68a50a49
+dd 0xdaa7b0c0
+dd 0xf4b87db6
+dd 0x49a161a7
+db 0x00
+
+ref_004687ad:
+db 0x23
+db 0x30
+db 0x32
+dd 0xddac3538
+dd 0xbaaadaa7
+dd 0x49a149a1
+db 0x00
+
+ref_004687bd:
+db 0x23
+db 0x30
+db 0x32
+dd 0x4bbc3638
+dd 0x4bbc4bbc
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004687cb:
+db 0x23
+dd 0x37383230
+dd 0x53a4daa7
+dd 0x60ae6ead
+dd 0x46a448a4
+dd 0xbc0a41a1
+dd 0xa148bc48
+db 0xe3
+db 0x00
+
+ref_004687e6:
+db 0x23
+db 0x30
+dd 0xac323832
+dd 0xa4a1a65b
+dd 0xa7aca851
+dd 0x0049a161
+
+ref_004687f8:
+dd 0x38323023
+dd 0xb169c333
+dd 0xb8aba86f
+dd 0x00e3a1f4
+
+ref_00468808:
+dd 0x38323023
+dd 0xa7ddac38
+dd 0x0abaaada
+dd 0xf5c4eca4
+dd 0x75bcb8ad
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046881f:
+db 0x23
+dd 0x39383230
+dd 0x51aed1a6
+dd 0xaab1aa0a
+dd 0xa451a4b1
+dd 0xa1d5b04b
+db 0xe3
+db 0x00
+
+ref_00468836:
+db 0x23
+db 0x30
+dd 0xb7343932
+dd 0xa7a1ac46
+dd 0x0a49a161
+dd 0xbaaadaa7
+dd 0xf5c1a3a5
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046884f:
+db 0x23
+dd 0x30393230
+dd 0x49a1fcad
+dd 0xacd9c10a
+dd 0xab71b14f
+dd 0xa16ea665
+db 0x43
+db 0x00
+
+ref_00468866:
+db 0x23
+db 0x30
+dd 0xb0313932
+dd 0xa45ba9ae
+dd 0xb2bfae6a
+dd 0x0049a1be
+
+ref_00468878:
+dd 0x39323023
+dd 0xb348b932
+dd 0xbfd8abb9
+dd 0xe7ab0a76
+dd 0x53a8f2bb
+dd 0xdeba48a4
+dd 0x48a1dab0
+db 0x00
+
+ref_00468895:
+db 0x23
+db 0x30
+db 0x32
+dd 0x40a53339
+dd 0xbda5c9ac
+dd 0xeca8e9a4
+dd 0xe3a1c6b9
+db 0x00
+
+ref_004688a9:
+db 0x23
+db 0x30
+db 0x32
+dd 0xc4a43539
+dd 0xb7b57daf
+dd 0x46a4fbc4
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004688bb:
+db 0x23
+dd 0x36393230
+dd 0x49a1dab0
+dd 0xaadaa70a
+dd 0xa9bbadba
+dd 0xa1e0a860
+db 0xe3
+db 0x00
+
+ref_004688d2:
+db 0x23
+db 0x30
+dd 0xab373932
+dd 0x0ae3a17a
+dd 0x6eadd6a7
+dd 0x46a47ac3
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004688e7:
+db 0x23
+dd 0x30303330
+dd 0xeca549a9
+dd 0xe3a168a5
+db 0x00
+
+ref_004688f5:
+db 0x23
+db 0x30
+db 0x33
+dd 0xd2a53130
+dd 0xe1addaa7
+db 0xab
+db 0xa8
+db 0x00
+
+ref_00468903:
+db 0x23
+dd 0x32303330
+dd 0x61ae6aa4
+dd 0x60aa64a5
+dd 0xb0a34eb7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468917:
+db 0x23
+dd 0x33303330
+dd 0xd6bdddac
+dd 0x64a548a4
+dd 0x48a149b0
+db 0x00
+
+ref_00468929:
+db 0x23
+db 0x30
+db 0x32
+dd 0x4dc33839
+dd 0x67ae51bc
+dd 0xa8b04bc5
+dd 0xa5d3a80a
+dd 0x0049a168
+
+ref_00468940:
+dd 0x39323023
+dd 0xa5d1a639
+dd 0x0adab0eb
+dd 0xf4b3bca5
+dd 0xcea5dbb5
+dd 0xb0a3e6a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046895b:
+db 0x23
+dd 0x34303330
+dd 0xb3a664a5
+dd 0x7abef0ae
+dd 0x49a143ad
+db 0x00
+
+ref_0046896d:
+db 0x23
+db 0x30
+db 0x33
+dd 0x6eb73530
+dd 0x49c258b4
+dd 0x6ea664a5
+db 0xa1
+db 0x48
+db 0x00
+
+ref_0046897f:
+db 0x23
+dd 0x30313330
+dd 0xcca753a5
+dd 0xe3a1dab0
+dd 0xa564a50a
+dd 0xa3f7abb4
+dd 0x0049a1b0
+
+ref_00468998:
+dd 0x30333023
+dd 0xba46e536
+dd 0xba46e5e2
+dd 0x0a41a1e2
+dd 0xd3a8abad
+db 0xb0
+db 0xd5
+db 0x00
+
+ref_004689af:
+db 0x23
+dd 0x37303330
+dd 0x4fac6fb3
+dd 0xcca6bcbd
+db 0xa1
+db 0x48
+db 0x00
+
+ref_004689bf:
+db 0x23
+dd 0x38303330
+dd 0xeca748a4
+dd 0xeea9edad
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004689cf:
+db 0x23
+dd 0x39303330
+dd 0xdaa747a5
+dd 0xeca87ac3
+dd 0xa64eb40a
+dd 0xa44fa459
+dd 0xa1e1b346
+db 0x49
+db 0x00
+
+ref_004689ea:
+db 0x23
+db 0x30
+dd 0xb3313133
+dd 0xb8e1adc1
+dd 0xa1d5b0f4
+db 0x49
+db 0x00
+
+ref_004689fa:
+db 0x23
+db 0x30
+dd 0xbd323133
+dd 0xa948a4d6
+dd 0xa1baaaf1
+dd 0xa149a149
+db 0x49
+db 0x00
+
+ref_00468a0e:
+db 0x23
+db 0x30
+dd 0xb5333133
+dd 0xa6baa655
+dd 0xa14aa55f
+db 0x49
+db 0x00
+
+ref_00468a1e:
+db 0x23
+db 0x30
+dd 0xb4363133
+dd 0xb6daa7c0
+dd 0xa7f4b87d
+dd 0x0a49a161
+dd 0xbdabbdab
+dd 0x49a14ca7
+db 0x00
+
+ref_00468a39:
+db 0x23
+db 0x30
+db 0x33
+dd 0xf4a53731
+dd 0x48a4f3a6
+dd 0xa4a3b30a
+dd 0xb35cb3a3
+dd 0xa14cb971
+db 0x43
+db 0x00
+
+ref_00468a52:
+db 0x23
+db 0x30
+dd 0xa7383133
+dd 0xa7c7a94f
+dd 0xa149a1da
+db 0x49
+db 0x00
+
+ref_00468a62:
+db 0x23
+db 0x30
+dd 0xad393133
+dd 0xadc6bccb
+dd 0xb6c9ae70
+dd 0xa16ca97d
+db 0xe3
+db 0x00
+
+ref_00468a76:
+db 0x23
+db 0x30
+dd 0xad343133
+dd 0xb0aea8bb
+dd 0xa4fcac74
+dd 0x00e3a148
+
+ref_00468a88:
+dd 0x31333023
+dd 0xa4bba535
+dd 0x0a44a5bd
+dd 0xeda4d9c1
+dd 0x71a5d3ad
+dd 0xe3a1f7be
+db 0x00
+
+ref_00468aa1:
+db 0x23
+db 0x30
+db 0x33
+dd 0x41a73032
+dd 0xa40accad
+dd 0xc1f8c36a
+dd 0xa459c07b
+dd 0x0049a146
+
+ref_00468ab8:
+dd 0x32333023
+dd 0xaadaa731
+dd 0xafa90aba
+dd 0xc6bc42b9
+dd 0x4fac72a6
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00468acf:
+db 0x23
+dd 0x36323330
+dd 0xd6a7d4b6
+dd 0x49a149c2
+dd 0xa4bba50a
+dd 0x0a44a5bd
+dd 0xcbbf7cb7
+dd 0xe7c5dba6
+dd 0x49a1aca6
+db 0x00
+
+ref_00468af1:
+db 0x23
+db 0x30
+db 0x33
+dd 0x51ac3232
+dd 0x68a6e9a4
+dd 0xfcacf2bb
+dd 0xe3a16ea6
+db 0x00
+
+ref_00468b05:
+db 0x23
+db 0x30
+db 0x33
+dd 0x51b73332
+dd 0xeca8a3a4
+dd 0xb3b3a60a
+dd 0xa940a46f
+dd 0xa161a7db
+db 0x48
+db 0x00
+
+ref_00468b1e:
+db 0x23
+db 0x30
+dd 0xa5343233
+dd 0xa5bda4bb
+dd 0x6ead0a44
+dd 0xf4b840a4
+dd 0x4cb9eea9
+dd 0xe3a168a5
+db 0x00
+
+ref_00468b39:
+db 0x23
+db 0x30
+db 0x33
+dd 0x48a43532
+dd 0xb0aca3a4
+dd 0x41a176a4
+dd 0xb8d1a40a
+dd 0xb761a6dd
+dd 0x00e3a1c0
+
+ref_00468b54:
+dd 0x32333023
+dd 0xb4d6bd37
+dd 0xa5d7beb1
+dd 0xa5bda4bb
+dd 0x0048a144
+
+ref_00468b68:
+dd 0x32333023
+dd 0xb7a3a438
+dd 0xa161a77c
+dd 0x0049a148
+
+ref_00468b78:
+dd 0x32333023
+dd 0xa8d6bd39
+dd 0xa5e2a7d3
+dd 0xa8b3aea6
+dd 0x0048a1ab
+
+ref_00468b8c:
+dd 0x33333023
+dd 0xb9cdb932
+dd 0xa1cdb9cd
+dd 0xe6a50a41
+dd 0xdaa7b9b5
+dd 0x49a1d3a8
+db 0x00
+
+ref_00468ba5:
+db 0x23
+db 0x30
+db 0x33
+dd 0xd0bd3333
+dd 0xe3a143ba
+dd 0xe3a143ba
+dd 0xab61a60a
+dd 0xa7fda87e
+dd 0x0049a161
+
+ref_00468bc0:
+dd 0x33333023
+dd 0xbad0bd34
+dd 0xbae3a143
+dd 0x0ae3a143
+dd 0x40aeaba8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468bd7:
+db 0x23
+dd 0x35333330
+dd 0xfea8fea8
+dd 0x6ea641a1
+dd 0xddabc1b4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468beb:
+db 0x23
+dd 0x30333330
+dd 0x61a768a5
+dd 0xa70a41a1
+dd 0x48baaada
+dd 0x41444e4f
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468c03:
+db 0x23
+dd 0x31333330
+dd 0x61a768a5
+dd 0xa70a41a1
+dd 0x54baaada
+dd 0x544f594f
+dd 0x0049a141
+
+ref_00468c1c:
+dd 0x33333023
+dd 0xa768a536
+dd 0x0a41a161
+dd 0xbaaadaa7
+dd 0x75bcb8ad
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468c33:
+db 0x23
+dd 0x37333330
+dd 0x41a16ea6
+dd 0xa4bba50a
+dd 0xad48a46a
+dd 0xa4aba86e
+dd 0x0049a146
+
+ref_00468c4c:
+dd 0x34333023
+dd 0xa7d3b832
+dd 0xb357a4da
+dd 0xa146a4f5
+db 0x49
+db 0x00
+
+ref_00468c5e:
+db 0x23
+db 0x30
+dd 0xad383333
+dd 0xad72a7b8
+dd 0xa172a7b8
+dd 0x5ea60a41
+dd 0x4cb9eca8
+dd 0xe3a168a5
+db 0x00
+
+ref_00468c79:
+db 0x23
+db 0x30
+db 0x33
+dd 0x75af3933
+dd 0x4babe8a4
+dd 0xc3b3baaa
+db 0xa5
+db 0xeb
+db 0x00
+
+ref_00468c8b:
+db 0x23
+dd 0x30343330
+dd 0x41a1f3ad
+dd 0x46a4eea9
+dd 0x49a141a7
+db 0x00
+
+ref_00468c9d:
+db 0x23
+db 0x30
+db 0x33
+dd 0x68a53134
+dd 0xd6ae41a1
+dd 0x75bc6ca4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468caf:
+db 0x23
+dd 0x33343330
+dd 0x55a4b1b0
+dd 0x46a4d3a8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468cbf:
+db 0x23
+dd 0x34343330
+dd 0xcda562af
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468ccb:
+db 0x23
+dd 0x35343330
+dd 0x7aabe3b6
+dd 0xe3a1e3a1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468cdb:
+db 0x23
+dd 0x38343330
+dd 0x68a66ea6
+dd 0xe8a646aa
+dd 0xb8d7be0a
+dd 0xa1e1b3f4
+db 0x49
+db 0x00
+
+ref_00468cf2:
+db 0x23
+db 0x30
+dd 0xa6393433
+dd 0xa4f4b8b9
+dd 0xa171b3a3
+dd 0xa149a149
+db 0x49
+db 0x00
+
+ref_00468d06:
+db 0x23
+db 0x30
+dd 0xb0303533
+dd 0xa441a765
+dd 0x0af7a540
+dd 0xbaaa52b7
+dd 0xabaaa7c2
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00468d1f:
+db 0x23
+dd 0x31353330
+dd 0xdfa470a4
+dd 0xada3a40a
+dd 0xa8f2bd6e
+dd 0xb346a4ec
+dd 0x0049a1e1
+
+ref_00468d38:
+dd 0x34333023
+dd 0xb7daa736
+dd 0xeeb40a7c
+dd 0x43ba74b3
+dd 0xbaaae6a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468d4f:
+db 0x23
+dd 0x37343330
+dd 0x7cb7daa7
+dd 0xa6edbf0a
+dd 0xb3e6a575
+dd 0xab57b371
+dd 0x0049a168
+
+ref_00468d68:
+dd 0x35333023
+dd 0xa4f8b332
+dd 0xaebaaab3
+dd 0x0ad4adc9
+dd 0x46a4eca8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468d7f:
+db 0x23
+dd 0x33353330
+dd 0x71b271b2
+dd 0xa70addac
+dd 0xa86eadda
+dd 0xa858b4ab
+dd 0x0048a142
+
+ref_00468d98:
+dd 0x35333023
+dd 0xb15cbb38
+dd 0xb056b66f
+dd 0xa656b6aa
+dd 0x0049a16e
+
+ref_00468dac:
+dd 0x35333023
+dd 0xae42b934
+dd 0xaed3a4f0
+dd 0xa146a474
+db 0x49
+db 0x00
+
+ref_00468dbe:
+db 0x23
+db 0x30
+dd 0xb3353533
+dd 0xbef7be6f
+dd 0xdcab0ab9
+dd 0x5fa9abaf
+dd 0x49a1e1b3
+db 0x00
+
+ref_00468dd5:
+db 0x23
+db 0x30
+db 0x33
+dd 0xb0bb3635
+dd 0xf7c2d6a7
+dd 0x4eb47db6
+dd 0x7cb7a3a4
+dd 0xa4b3a60a
+dd 0xb6fca848
+dd 0xa149a1cb
+db 0x49
+db 0x00
+
+ref_00468df6:
+db 0x23
+db 0x30
+dd 0xae373533
+dd 0xa74cb960
+dd 0xa4baaada
+dd 0xedb70a48
+dd 0x46a4dfa4
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00468e0f:
+db 0x23
+dd 0x39353330
+dd 0x6fb3d6bd
+dd 0x4cb5f2bb
+dd 0x48a1e1b2
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468e23:
+db 0x23
+dd 0x30363330
+dd 0xe7abdaa7
+dd 0xb30af2bb
+dd 0xa4f2bb6f
+dd 0xa470a4a3
+dd 0xa148a1df
+db 0x49
+db 0x00
+
+ref_00468e3e:
+db 0x23
+db 0x30
+dd 0xae313633
+dd 0xba48a460
+dd 0xa149a1eb
+db 0x49
+db 0x00
+
+ref_00468e4e:
+db 0x23
+db 0x30
+dd 0xbd343633
+dd 0xa1dab0c4
+db 0x49
+db 0x00
+
+ref_00468e5a:
+db 0x23
+db 0x30
+dd 0xa5353633
+dd 0xba71b3e6
+dd 0xa1eea8de
+db 0x49
+db 0x00
+
+ref_00468e6a:
+db 0x23
+db 0x30
+dd 0xa7363633
+dd 0xbbb0a4da
+dd 0xa8a3b3f2
+dd 0xa1b5b053
+db 0xe3
+db 0x00
+
+ref_00468e7e:
+db 0x23
+db 0x30
+dd 0xa8373633
+dd 0xac48a453
+dd 0xa7eca8dd
+dd 0x0048a161
+
+ref_00468e90:
+dd 0x36333023
+dd 0xa1e1b332
+dd 0xa1e3a1e3
+dd 0xe1b30ae3
+dd 0xe3a1e3a1
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00468ea7:
+db 0x23
+dd 0x33363330
+dd 0xcdc54aad
+dd 0x64b74dbd
+dd 0xc54aad0a
+dd 0xb74dbdcd
+dd 0x00e3a164
+
+ref_00468ec0:
+dd 0x36333023
+dd 0xb7cbba38
+dd 0xbcd8a5c7
+dd 0xa149a1d0
+db 0x49
+db 0x00
+
+ref_00468ed2:
+db 0x23
+db 0x30
+dd 0xc0393633
+dd 0xa9dfa448
+dd 0x0afdb1d2
+dd 0xd1a5dba6
+dd 0x62a6dba6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468eeb:
+db 0x23
+dd 0x34373330
+dd 0x40a7cab0
+dd 0x40a4d6a7
+dd 0x49a149c2
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468eff:
+db 0x23
+dd 0x30373330
+dd 0xfaa5c9ae
+dd 0x79accbad
+dd 0x49a1c6b9
+db 0x00
+
+ref_00468f11:
+db 0x23
+db 0x30
+db 0x33
+dd 0x6fb33137
+dd 0xe7ab6ead
+dd 0xcea5f2bb
+dd 0x48a1dab0
+db 0x00
+
+ref_00468f25:
+db 0x23
+db 0x30
+db 0x33
+dd 0xb3ae3237
+dd 0xccad41a7
+dd 0x7db6d3a8
+dd 0x49a14da4
+db 0x00
+
+ref_00468f39:
+db 0x23
+db 0x30
+db 0x33
+dd 0xdaa73337
+dd 0xcfb7f1a9
+dd 0xb50af5a4
+dd 0xae6aa4b9
+dd 0xa1ddac61
+db 0x49
+db 0x00
+
+ref_00468f52:
+db 0x23
+db 0x30
+dd 0xa7353733
+dd 0xa1b1b0da
+db 0xe3
+db 0x00
+
+ref_00468f5e:
+db 0x23
+db 0x30
+dd 0xaf363733
+dd 0xa67dab51
+dd 0xbc69a56e
+dd 0xa1e1b3a6
+db 0x49
+db 0x00
+
+ref_00468f72:
+db 0x23
+db 0x30
+dd 0xa7373733
+dd 0xac7ac3d6
+dd 0xb046a4b5
+dd 0xa149a1d5
+db 0x49
+db 0x00
+
+ref_00468f86:
+db 0x23
+db 0x30
+dd 0xa4303833
+dd 0xb769a570
+dd 0xa541a152
+dd 0x0061a768
+
+ref_00468f98:
+dd 0x38333023
+dd 0xa4a2b631
+dd 0xa8eea448
+dd 0x0049a142
+
+ref_00468fa8:
+dd 0x38333023
+dd 0xa44fa732
+dd 0xa74eb76a
+db 0x72
+db 0x00
+
+ref_00468fb6:
+db 0x23
+db 0x30
+dd 0xa6333833
+dd 0xb3fbc159
+dd 0x0061a74a
+
+ref_00468fc4:
+dd 0x37333023
+dd 0xb3e6a538
+dd 0xa577a671
+dd 0x6ead0afe
+dd 0x4eb760aa
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00468fdb:
+db 0x23
+dd 0x39373330
+dd 0xdfb3daa7
+dd 0xb00a77c5
+dd 0xb344a86c
+dd 0xb7d7ab74
+dd 0x0049a150
+
+ref_00468ff4:
+dd 0x38333023
+dd 0xa7e0bd34
+dd 0xaa40a441
+dd 0xbcb8ad54
+dd 0x0049a175
+
+ref_00469008:
+dd 0x38333023
+dd 0xa5daa735
+dd 0xa548a569
+dd 0x51b70a68
+dd 0xbaaa68a5
+dd 0xe8a461a6
+dd 0x49a146a4
+db 0x00
+
+ref_00469025:
+db 0x23
+db 0x30
+db 0x33
+dd 0x41a73039
+dd 0xecbfccad
+dd 0xa70ac6a8
+dd 0xa4f1a9da
+dd 0x00e3a1df
+
+ref_0046903c:
+dd 0x38333023
+dd 0xb0cbad36
+dd 0xa640a468
+dd 0xa158a65e
+dd 0x0049a149
+
+ref_00469050:
+dd 0x38333023
+dd 0xa46fb137
+dd 0xa9a3a4a7
+dd 0x0a41a1f6
+dd 0x4db251b7
+dd 0x41a6a1b7
+dd 0x49a1cea5
+db 0x00
+
+ref_0046906d:
+db 0x23
+db 0x30
+db 0x33
+dd 0xdaa73838
+dd 0xcbc0d3a8
+dd 0x6aa4fab4
+dd 0xbaaa61ae
+dd 0xa4d0a90a
+dd 0xa4edb06c
+dd 0xa9edb0a3
+dd 0x0048a154
+
+ref_00469090:
+dd 0x38333023
+dd 0xbcefb939
+dd 0xa448a4c4
+dd 0xa14fb7af
+dd 0x4eb40a41
+dd 0xefb94fac
+dd 0x76a4dba6
+dd 0xd4a7ddb4
+db 0x00
+
+ref_004690b1:
+db 0x23
+db 0x30
+db 0x33
+dd 0xb3a63139
+dd 0xf7bef7b0
+dd 0x49a1aea8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004690c3:
+db 0x23
+dd 0x32393330
+dd 0xcbad75af
+dd 0x49a160be
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004690d3:
+db 0x23
+dd 0x33393330
+dd 0xd3a8d6bd
+dd 0xe2a4b5b1
+dd 0xe3a1e3a1
+db 0x00
+
+ref_004690e5:
+db 0x23
+db 0x30
+db 0x33
+dd 0xc4bd3639
+dd 0x49a172a7
+dd 0x72a7c4bd
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004690f7:
+db 0x23
+dd 0x37393330
+dd 0xeea454b8
+dd 0xe6a671b3
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469107:
+db 0x23
+dd 0x38393330
+dd 0x4eb760aa
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469113:
+db 0x23
+dd 0x39393330
+dd 0xdfa470a4
+dd 0x49a149c2
+db 0x00
+
+ref_00469121:
+db 0x23
+db 0x30
+db 0x33
+dd 0x5db63439
+dd 0x40a4d6a7
+dd 0x49a149c2
+db 0x00
+
+ref_00469131:
+db 0x23
+db 0x30
+db 0x33
+dd 0xf1a43539
+dd 0x62bdf5a4
+dd 0xd6a7d9c1
+dd 0x49a1e1b3
+db 0x00
+
+ref_00469145:
+db 0x23
+db 0x30
+db 0x34
+dd 0xd9b63030
+dd 0x6aa449a1
+dd 0xe0a8d9b9
+dd 0x49a1ccad
+db 0x00
+
+ref_00469159:
+db 0x23
+db 0x30
+db 0x34
+dd 0xdfa43130
+dd 0xc6a851b7
+dd 0x49a1a8a6
+db 0x00
+
+ref_00469169:
+db 0x23
+db 0x30
+db 0x34
+dd 0xd6a73630
+dd 0xb0c0d3a8
+dd 0x49a1e2a4
+db 0x00
+
+ref_00469179:
+db 0x23
+db 0x30
+db 0x34
+dd 0x5ea63230
+dd 0x4cb9eca8
+dd 0x49a168a5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046918b:
+db 0x23
+dd 0x33303430
+dd 0xf7be6ea6
+dd 0x49a1b9be
+db 0x00
+
+ref_00469199:
+db 0x23
+db 0x30
+db 0x34
+dd 0xdaa73430
+dd 0xc50a4fac
+dd 0xb2adb05d
+dd 0xaab2b5d7
+dd 0x0049a1cc
+
+ref_004691b0:
+dd 0x30343023
+dd 0xac40a535
+dd 0xa4bda5c9
+dd 0xa4eca8e9
+dd 0x00e3a146
+
+ref_004691c4:
+dd 0x30343023
+dd 0xa1bebe37
+db 0x49
+db 0x00
+
+ref_004691ce:
+db 0x23
+db 0x30
+dd 0xa7383034
+dd 0xa146a4b9
+db 0x49
+db 0x00
+
+ref_004691da:
+db 0x23
+db 0x30
+dd 0xa4393034
+dd 0xa4c6a86a
+dd 0xa1aea7a3
+db 0xe3
+db 0x00
+
+ref_004691ea:
+db '#0410@20',0x00
+
+ref_004691f3:
+db '#0411@19',0x00
+
+ref_004691fc:
+db '#0412@19',0x00
+
+ref_00469205:
+db '#0413@19',0x00
+
+ref_0046920e:
+db '#0414@20',0x00
+
+ref_00469217:
+db '#0415@20',0x00
+
+ref_00469220:
+db '#0416@19',0x00
+
+ref_00469229:
+db '#0417@20',0x00
+
+ref_00469232:
+db '#0418@20',0x00
+
+ref_0046923b:
+db '#0419@20',0x00
+
+ref_00469244:
+db '#0420@20',0x00
+
+ref_0046924d:
+db '#0421@20',0x00
+
+ref_00469256:
+db '#0422@19',0x00
+
+ref_0046925f:
+db '#0423@05',0x00
+
+ref_00469268:
+db '#0424@07',0x00
+
+ref_00469271:
+db '#0425@02',0x00
+
+ref_0046927a:
+db 0x23
+db 0x30
+dd 0xa6363234
+dd 0xa4fabfb3
+dd 0xaa61ae6a
+dd 0x0049a1e1
+
+ref_0046928c:
+dd 0x32343023
+dd 0xa442aa37
+dd 0x0ab3a6cd
+dd 0x5db071b3
+dd 0x71b8a7a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004692a3:
+db 0x23
+dd 0x38323430
+dd 0xdaa7fdc5
+dd 0xa6a5e2a7
+dd 0xacdabe0a
+dd 0xa676a4b0
+dd 0xa149a1b3
+db 0x49
+db 0x00
+
+ref_004692be:
+db 0x23
+db 0x30
+dd 0xb6393234
+dd 0xa6f7aac0
+dd 0x0a71ac61
+dd 0xb9b5fdc5
+dd 0x49a141a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004692d7:
+db 0x23
+dd 0x30333430
+dd 0x41a7b9b5
+dd 0x6ca4b1ad
+dd 0xb87ea40a
+dd 0xb441a7f2
+dd 0xb3baaaab
+dd 0x0049a1e1
+
+ref_004692f4:
+dd 0x33343023
+dd 0xab56a631
+dd 0xa1e0c2e1
+dd 0xf4bb0a49
+dd 0xaba842a8
+dd 0x49a149a1
+db 0x00
+
+ref_0046930d:
+db 0x23
+db 0x30
+db 0x34
+dd 0xa3a43233
+dd 0xc2c1b2a5
+dd 0x49a1daa7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046931f:
+db 0x23
+dd 0x33333430
+dd 0xd1a4a9ba
+dd 0xf9bbdbb3
+dd 0xa64eb40a
+dd 0xbfd9c161
+dd 0x0049a1fa
+
+ref_00469338:
+dd 0x33343023
+dd 0xa1e1b334
+dd 0xa2ab0a49
+dd 0xf4b851a7
+dd 0x49a1c8a8
+db 0x00
+
+ref_0046934d:
+db 0x23
+db 0x30
+db 0x34
+dd 0xe3b63533
+dd 0xa80a49a1
+dd 0xaa63b4b8
+dd 0xaacfa8ba
+dd 0x00e3a1cc
+
+ref_00469364:
+dd 0x33343023
+dd 0xb3fea536
+dd 0xac69a6a1
+dd 0xada50ab0
+dd 0x49a161a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046937b:
+db 0x23
+dd 0x37333430
+dd 0xaac375af
+dd 0x49a1b4b2
+dd 0x49a149a1
+db 0x00
+
+ref_0046938d:
+db 0x23
+db 0x30
+db 0x34
+dd 0xe2a73833
+dd 0xfabfc8ad
+dd 0x46aabaaa
+dd 0xa50ae8a6
+dd 0xa858a5e6
+dd 0xa149a1d3
+db 0x49
+db 0x00
+
+ref_004693aa:
+db 0x23
+db 0x30
+dd 0xa4393334
+dd 0xb05cb3a3
+dd 0xa149a1ca
+db 0x49
+db 0x00
+
+ref_004693ba:
+db 0x23
+db 0x30
+dd 0xa6303434
+dd 0xa6cebaad
+dd 0x0a5fb0ad
+dd 0xe9c5ada8
+dd 0x49a16ea6
+db 0x00
+
+ref_004693d1:
+db 0x23
+db 0x30
+db 0x34
+dd 0xceba3134
+dd 0xceba61a7
+dd 0xe3a161a7
+db 0x00
+
+ref_004693e1:
+db 0x23
+db 0x30
+db 0x34
+dd 0x68a53234
+dd 0x63a859a6
+dd 0x61a7bab6
+dd 0x49a149a1
+db 0x00
+
+ref_004693f5:
+db 0x23
+db 0x30
+db 0x34
+dd 0xeca93334
+dd 0x40a441a7
+dd 0xa40a5fb0
+dd 0xa1f4a455
+dd 0x0049a149
+
+ref_0046940c:
+dd 0x34343023
+dd 0xa7c8a934
+dd 0xa6a3a441
+dd 0xa149a1a8
+dd 0x0049a149
+
+ref_00469420:
+dd 0x34343023
+dd 0xbfb3a635
+dd 0xa45da4fa
+dd 0xa7b9b5a3
+dd 0x0049a141
+
+ref_00469434:
+dd 0x34343023
+dd 0xa751b736
+dd 0x0adaa7ec
+dd 0xada6d9c1
+dd 0xdcab6fb1
+dd 0x49a14fa9
+db 0x00
+
+ref_0046944d:
+db 0x23
+db 0x30
+db 0x34
+dd 0xd6a73734
+dd 0x49a175ba
+dd 0xa4daa70a
+dd 0xadddbba3
+dd 0xa141a76e
+db 0x49
+db 0x00
+
+ref_00469466:
+db 0x23
+db 0x30
+dd 0xa7383434
+dd 0xc0d3a8d6
+dd 0xa7daa7b0
+dd 0x0049a161
+
+ref_00469478:
+dd 0x34343023
+dd 0xb5f2b839
+dd 0xb6daa7db
+dd 0xb2d1aa52
+dd 0xc7b70abc
+dd 0xf9bf53a8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469493:
+db 0x23
+dd 0x30353430
+dd 0xe4a46fb3
+dd 0xbcb2d1aa
+dd 0xb6d3a40a
+dd 0xa146a451
+dd 0x0049a149
+
+ref_004694ac:
+dd 0x35343023
+dd 0xb74fa731
+dd 0xba6bb051
+dd 0xa17cb57c
+db 0x49
+db 0x00
+
+ref_004694be:
+db 0x23
+db 0x30
+dd 0xa4323534
+dd 0xb8bba570
+dd 0x0ae7c067
+dd 0xa3a4a4ae
+dd 0xeda4adbb
+dd 0x49a149a1
+db 0x00
+
+ref_004694d9:
+db 0x23
+db 0x30
+db 0x34
+dd 0x7ea63335
+dd 0x5ea6d7ab
+dd 0x41a158f5
+dd 0xadfea50a
+dd 0xb64ba7b1
+dd 0x0049a14f
+
+ref_004694f4:
+dd 0x35343023
+dd 0xad6ea634
+dd 0xade0a8f4
+dd 0xa149a1cc
+db 0x49
+db 0x00
+
+ref_00469506:
+db 0x23
+db 0x30
+dd 0xc1353534
+dd 0xa841a740
+dd 0xa7c5b7ba
+dd 0xbaaa0a5d
+dd 0xcbbcd2bc
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046951f:
+db 0x23
+dd 0x36353430
+dd 0x68a55ea6
+dd 0xf8b5b5a8
+dd 0x55a440a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469533:
+db 0x23
+dd 0x37353430
+dd 0xb0a45cbb
+dd 0x6ea6f2bb
+dd 0x48a14fa9
+db 0x00
+
+ref_00469545:
+db 0x23
+db 0x30
+db 0x34
+dd 0x40a43835
+dd 0xa3a4cab0
+dd 0x40a470a6
+dd 0x49a152c0
+db 0x00
+
+ref_00469559:
+db 0x23
+db 0x30
+db 0x34
+dd 0x43ba3935
+dd 0xaba843ba
+dd 0xb8f1a40a
+dd 0xc04fabfb
+dd 0x0049a149
+
+ref_00469570:
+dd 0x36343023
+dd 0xa1e1b330
+dd 0xdaa70a49
+dd 0xe5a6baaa
+dd 0xfabfbda6
+dd 0x49a149a1
+db 0x00
+
+ref_00469589:
+db 0x23
+db 0x30
+db 0x34
+dd 0x6ea63136
+dd 0xbaaa6aa4
+dd 0x6ca478c1
+dd 0x49a149a1
+db 0x00
+
+ref_0046959d:
+db 0x23
+db 0x30
+db 0x34
+dd 0xd6bd3236
+dd 0xcab0b1b4
+dd 0xbaaadaa7
+dd 0x49a161a6
+db 0x00
+
+ref_004695b1:
+db 0x23
+db 0x30
+db 0x34
+dd 0xd3a43336
+dd 0xb9b5a3a4
+dd 0x6ca4b1ad
+dd 0x49a146a4
+db 0x00
+
+ref_004695c5:
+db 0x23
+db 0x30
+db 0x34
+dd 0x6ea63436
+dd 0xa3a4a8b0
+dd 0xa60a59a6
+dd 0xaf59c05e
+dd 0xa149a1f3
+db 0x49
+db 0x00
+
+ref_004695de:
+db 0x23
+db 0x30
+dd 0xb3353634
+dd 0xaf4db5ba
+dd 0x0a61c37d
+dd 0xbaaadaa7
+dd 0xc6a86ea6
+dd 0x49a148a1
+db 0x00
+
+ref_004695f9:
+db 0x23
+db 0x30
+db 0x34
+dd 0xd6bd3636
+dd 0x52b6b1b4
+dd 0xd5b8d5b8
+dd 0x49a1ddac
+db 0x00
+
+ref_0046960d:
+db 0x23
+db 0x30
+db 0x34
+dd 0xeea93736
+dd 0xd9c16fb1
+dd 0xaeb075af
+dd 0xe3a162b2
+db 0x00
+
+ref_00469621:
+db 0x23
+db 0x30
+db 0x34
+dd 0x41a73836
+dd 0x62a6d6a5
+dd 0xdab06fc4
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00469633:
+db 0x23
+dd 0x39363430
+dd 0xb1b4bab3
+dd 0xd3a462a6
+dd 0xc00ab3b7
+dd 0xb057a459
+dd 0xa167a4ca
+dd 0x0049a148
+
+ref_00469650:
+dd 0x37343023
+dd 0xa1e3b630
+dd 0x51b30a49
+dd 0x54b8f6c3
+dd 0x46a4acb3
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469667:
+db 0x23
+dd 0x31373430
+dd 0x49a1f3ad
+dd 0xbbba58a5
+dd 0xa40ae1ab
+dd 0xa44fac53
+dd 0xa6f8b140
+dd 0xa17eba6e
+db 0x49
+db 0x00
+
+ref_00469686:
+db 0x23
+db 0x30
+dd 0xad323734
+dd 0x0a49a1fc
+dd 0x48a46cb7
+dd 0x51a7a3a4
+dd 0xe3a176a4
+db 0x00
+
+ref_0046969d:
+db 0x23
+db 0x30
+db 0x34
+dd 0xdeb33337
+dd 0xa60a49a1
+dd 0xa653a8b3
+dd 0xbf64b7b3
+dd 0xa1dab0f9
+db 0x48
+db 0x00
+
+ref_004696b6:
+db 0x23
+db 0x30
+dd 0xba343734
+dd 0xa146a4e2
+dd 0xd1a60a49
+dd 0xb3a66ca4
+dd 0x4facbaaa
+dd 0x43a1fabf
+db 0x00
+
+ref_004696d1:
+db 0x23
+db 0x30
+db 0x34
+dd 0xe2ba3537
+dd 0xbdac41a7
+dd 0x49a149a1
+db 0x00
+
+ref_004696e1:
+db 0x23
+db 0x30
+db 0x34
+dd 0x69a53637
+dd 0x51b74fa7
+dd 0xdaa765a5
+dd 0xa94bab0a
+dd 0x0049a179
+
+ref_004696f8:
+dd 0x37343023
+dd 0xc5e6ab37
+dd 0xb9b7ade5
+dd 0x0aeca84a
+dd 0xa6ad43ba
+dd 0xe3a1a4a4
+db 0x00
+
+ref_00469711:
+db 0x23
+db 0x30
+db 0x34
+dd 0x7ca53837
+dd 0xa7a4fcae
+dd 0xac0abaa4
+dd 0xa753a5d2
+dd 0x0049a1cc
+
+ref_00469728:
+dd 0x37343023
+dd 0xa8b3ae39
+dd 0xa8fabfc7
+dd 0x67b60ad3
+dd 0x67b6e0c2
+dd 0x61a7e0c2
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469743:
+db 0x23
+dd 0x30383430
+dd 0x77c5dfb3
+dd 0xb9b54eb4
+dd 0xb60aa6a5
+dd 0xa85fb052
+dd 0x0049a1d3
+
+ref_0046975c:
+dd 0x38343023
+dd 0xa4b5a431
+dd 0xb74facd1
+dd 0xaa61ae68
+dd 0x6ea60aba
+dd 0x6ca4e9a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469777:
+db 0x23
+dd 0x32383430
+dd 0xbaaa41a7
+dd 0x6ca4d0a9
+dd 0xfbb8f1a4
+dd 0xa9edb00a
+dd 0xa1e1b354
+db 0x49
+db 0x00
+
+ref_00469792:
+db 0x23
+db 0x30
+dd 0xa6333834
+dd 0xa4f4b8b9
+dd 0xa171b3a3
+db 0x49
+db 0x00
+
+ref_004697a2:
+db 0x23
+db 0x30
+dd 0xc0343834
+dd 0xa441a7b0
+dd 0xa6d3ad40
+dd 0x00e3a1a3
+
+ref_004697b4:
+dd 0x38343023
+dd 0xaccda535
+dd 0xc378a7a1
+dd 0x0a41a1f8
+dd 0xceabe6bd
+dd 0x7bb244a8
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004697cf:
+db 0x23
+dd 0x36383430
+dd 0xd4a9fcaa
+dd 0x44a575af
+dd 0xbd0a49a1
+dd 0xa8a3acd0
+dd 0xadccaacf
+dd 0xa17bc1b0
+db 0x49
+db 0x00
+
+ref_004697ee:
+db 0x23
+db 0x30
+dd 0xc5373834
+dd 0xad41a7fd
+dd 0xc07cc0cc
+dd 0x63b40a7c
+dd 0xbaaa5dc5
+dd 0x60ae46bc
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046980b:
+db 0x23
+dd 0x38383430
+dd 0xa3b3fea5
+dd 0xdaa7b9b5
+dd 0x46a4eea9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046981f:
+db 0x23
+dd 0x39383430
+dd 0xb9b348b9
+dd 0x76bfd8ab
+dd 0xc00a41a1
+dd 0xc0f8b348
+dd 0xa1eea948
+db 0x49
+db 0x00
+
+ref_0046983a:
+db 0x23
+db 0x30
+dd 0xa6303934
+dd 0xa646aa6e
+dd 0xbb6eade8
+dd 0x6ea60a50
+dd 0xcda442aa
+dd 0xc9a8c0a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469857:
+db 0x23
+dd 0x31393430
+dd 0x55a464af
+dd 0xc50ad3a8
+dd 0xb4daa7fd
+dd 0xa1ddabda
+db 0x49
+db 0x00
+
+ref_0046986e:
+db 0x23
+db 0x30
+dd 0xaf323934
+dd 0xad41a7ac
+dd 0xa4b3a6cc
+dd 0x0ad3ad40
+dd 0xdab96ea6
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00469887:
+db 0x23
+dd 0x33393430
+dd 0xe3a1ceba
+dd 0xb260b20a
+dd 0xbaf4bc60
+dd 0x00e3a1ce
+
+ref_0046989c:
+dd 0x39343023
+dd 0xba6baa34
+dd 0xabecabf4
+dd 0xa8b20aec
+dd 0xa3a4d3a6
+dd 0x49a17cba
+db 0x00
+
+ref_004698b5:
+db 0x23
+db 0x30
+db 0x34
+dd 0x6fb33539
+dd 0x41a755a4
+dd 0xbfaab00a
+dd 0xa746a4b3
+dd 0xa149a161
+db 0x49
+db 0x00
+
+ref_004698ce:
+db 0x23
+db 0x30
+dd 0xa9363934
+dd 0xa66ea6af
+dd 0x4ea50ab3
+dd 0xccaf6fb8
+dd 0xe3a1cfa6
+db 0x00
+
+ref_004698e5:
+db 0x23
+db 0x30
+db 0x34
+dd 0xe0af3739
+dd 0x68abd9ac
+dd 0x49a1d9ac
+db 0x00
+
+ref_004698f5:
+db 0x23
+db 0x30
+db 0x34
+dd 0x51b73839
+dd 0xdaa760ae
+dd 0xaa0a48a1
+dd 0xa8a3b3f9
+dd 0xa1b3a653
+dd 0x0049a149
+
+ref_00469910:
+dd 0x39343023
+dd 0xa57ab139
+dd 0xb1a3a668
+dd 0xa7baaa7a
+dd 0x0049a161
+
+ref_00469924:
+dd 0x30353023
+dd 0xc6d1a430
+dd 0xa646c646
+dd 0xc646c661
+dd 0x0049a146
+
+ref_00469938:
+dd 0x30353023
+dd 0xacdaa731
+dd 0xbd40c54f
+dd 0xa4aab04c
+dd 0x0049a1e2
+
+ref_0046994c:
+dd 0x30353023
+dd 0xacdaa732
+dd 0xbddebe4f
+dd 0xa4aab04c
+dd 0x0049a1e2
+
+ref_00469960:
+dd 0x30353023
+dd 0xb6a2b633
+dd 0xa853a8a2
+dd 0xbac30ac6
+dd 0x7cb5bac3
+dd 0x49a161a7
+db 0x00
+
+ref_00469979:
+db 0x23
+db 0x30
+db 0x35
+dd 0xcfa43430
+dd 0xa8a6b3c0
+dd 0xbe0abba5
+dd 0xbdd7ab41
+dd 0xa1a6bad5
+db 0xe3
+db 0x00
+
+ref_00469992:
+db 0x23
+db 0x30
+dd 0xb6353035
+dd 0xbdb1a9c2
+dd 0xa56eadd6
+dd 0xa1dab068
+db 0x48
+db 0x00
+
+ref_004699a6:
+db 0x23
+db 0x30
+dd 0xb9363035
+dd 0xa4b2b5ce
+dd 0xa471b64f
+dd 0x0049a16a
+
+ref_004699b8:
+dd 0x30353023
+dd 0xb5b0bb37
+dd 0x0a68a5db
+dd 0x4cadeba7
+dd 0x48a1dab0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004699cf:
+db 0x23
+dd 0x38303530
+dd 0x59c0bcb1
+dd 0xaea7b0ac
+db 0xa1
+db 0x49
+db 0x00
+
+ref_004699df:
+db 0x23
+dd 0x39303530
+dd 0xabb4abb4
+dd 0xfda866a4
+dd 0x46a46ea6
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_004699f3:
+db 0x23
+dd 0x30313530
+dd 0xbaa6ddb3
+dd 0x49a146a4
+dd 0xaef0a50a
+dd 0xa440a4a7
+dd 0x0049a155
+
+ref_00469a0c:
+dd 0x31353023
+dd 0xa444ad31
+dd 0xb8aba86c
+dd 0xf1a40af4
+dd 0x43bafbb8
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00469a23:
+db 0x23
+dd 0x32313530
+dd 0xb0a4b0ac
+dd 0x4facf2bb
+dd 0x48a1daa7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469a37:
+db 0x23
+dd 0x33313530
+dd 0x53a8b3a6
+dd 0xd1a4b3a6
+dd 0xdab07da8
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00469a4b:
+db 0x23
+dd 0x34313530
+dd 0xb0a464b7
+dd 0xadb0f2bb
+dd 0x48a1dab0
+db 0x00
+
+ref_00469a5d:
+db 0x23
+db 0x30
+db 0x35
+dd 0xa3a43531
+dd 0xd5b06ead
+dd 0xbaa849a1
+dd 0x6ca4d0a9
+dd 0xba7cb70a
+dd 0xadf4a47c
+dd 0x0049a143
+
+ref_00469a7c:
+dd 0x31353023
+dd 0xa4daa736
+dd 0xa851b7a3
+dd 0x5ea60aab
+dd 0xf4b859c0
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00469a93:
+db 0x23
+dd 0x37313530
+dd 0xdaa7b9b5
+dd 0x5ea6efa7
+dd 0x49a1d3a8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469aa7:
+db 0x23
+dd 0x38313530
+dd 0xd6a4dca6
+dd 0x58a55da4
+dd 0xa60ad3ad
+dd 0xbff9bb6e
+dd 0x00e3a1fa
+
+ref_00469ac0:
+dd 0x31353023
+dd 0xc37daf39
+dd 0xa46aa461
+dd 0xa149a1fd
+db 0x49
+db 0x00
+
+ref_00469ad2:
+db 0x23
+db 0x30
+dd 0xa7303235
+dd 0xa44eb441
+dd 0x0ae0afa3
+dd 0x55a4e2a4
+dd 0xa1b164af
+dd 0x48a1dcb6
+db 0x00
+
+ref_00469aed:
+db 0x23
+db 0x30
+db 0x35
+dd 0x41a73132
+dd 0x4fac75af
+dd 0xa8d3a40a
+dd 0xa47eab53
+dd 0x00e3a146
+
+ref_00469b04:
+dd 0x32353023
+dd 0xa1e3b632
+dd 0xa86fa449
+dd 0xb2f8c342
+dd 0x00e3a1be
+
+ref_00469b18:
+dd 0x32353023
+dd 0xbfeca733
+dd 0xa448a4f9
+dd 0xa1d5b046
+dd 0x0049a149
+
+ref_00469b2c:
+dd 0x32353023
+dd 0xa1f3ad34
+dd 0xb0daa749
+dd 0x0ab3bfaa
+dd 0xdfb3daa7
+dd 0xdaa777c5
+dd 0xe3a152b7
+db 0x00
+
+ref_00469b49:
+db 0x23
+db 0x30
+db 0x35
+dd 0xdaa73532
+dd 0xd6bddba9
+dd 0xd6bd53b7
+dd 0x48a1dab0
+db 0x00
+
+ref_00469b5d:
+db 0x23
+db 0x30
+db 0x35
+dd 0x5ba73632
+dd 0xadb0deb6
+dd 0x49a149a1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469b6f:
+db 0x23
+dd 0x37323530
+dd 0x77a4daa7
+dd 0xbac367b8
+dd 0x46a44cb9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469b83:
+db 0x23
+dd 0x38323530
+dd 0xd5b06ea6
+dd 0xa40a49a1
+dd 0xa7aca6a3
+dd 0xbfbaaa41
+dd 0xa1d5b0fa
+db 0x49
+db 0x00
+
+ref_00469b9e:
+db 0x23
+db 0x30
+dd 0xb4393235
+dd 0xa8b2b4b2
+dd 0xa65da442
+dd 0x00e3a16e
+
+ref_00469bb0:
+dd 0x33353023
+dd 0xae6aa430
+dd 0xa5a3a461
+dd 0x50b70ace
+dd 0xdaa7c2c1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469bc7:
+db 0x23
+dd 0x31333530
+dd 0xcda442aa
+dd 0xa1b6a7a4
+dd 0xad4fa70a
+dd 0xa4fbb870
+dd 0xa168a6d3
+db 0x49
+db 0x00
+
+ref_00469be2:
+db 0x23
+db 0x30
+dd 0xb3323335
+dd 0xa6f4b66f
+dd 0xbfa3a461
+dd 0xa1e1b3f9
+db 0x49
+db 0x00
+
+ref_00469bf6:
+db 0x23
+db 0x30
+dd 0xb4333335
+dd 0xadabb4ab
+dd 0xa7f4a4b7
+dd 0x0049a161
+
+ref_00469c08:
+dd 0x33353023
+dd 0xa9e2a734
+dd 0xb96ca4d0
+dd 0x0ae1a44c
+dd 0xdaa7b9b5
+dd 0x49a161a7
+db 0x00
+
+ref_00469c21:
+db 0x23
+db 0x30
+db 0x35
+dd 0x44b93533
+dd 0x49acf4b8
+dd 0x41a175a4
+dd 0xbd71b70a
+dd 0xb9efa7d0
+dd 0x0049a144
+
+ref_00469c3c:
+dd 0x33353023
+dd 0xa5d0bd36
+dd 0xa8d3b05d
+dd 0xf4a60ad3
+dd 0xf9bbd3ad
+dd 0x49a161a7
+db 0x00
+
+ref_00469c55:
+db 0x23
+db 0x30
+db 0x35
+dd 0x6ead3733
+dd 0xe8a6dcb3
+dd 0xb7ad5fa5
+dd 0x49a146a4
+db 0x00
+
+ref_00469c69:
+db 0x23
+db 0x30
+db 0x35
+dd 0xb9b53833
+dd 0x6ea641a7
+dd 0x49a1ddac
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469c7b:
+db 0x23
+dd 0x39333530
+dd 0xccad41a7
+dd 0xb30abaaa
+dd 0xa8b3c0f8
+dd 0xa146a4d3
+db 0x49
+db 0x00
+
+ref_00469c92:
+db 0x23
+db 0x30
+dd 0xad303435
+dd 0xa94ea6f4
+dd 0xa1e3a1d4
+dd 0x00e3a1e3
+
+ref_00469ca4:
+dd 0x34353023
+dd 0xac4eb431
+dd 0xa7ddac4f
+dd 0xa3a40a41
+dd 0xb4b2b6b6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469cbb:
+db 0x23
+dd 0x32343530
+dd 0xfabf6ead
+dd 0x52a96ead
+dd 0xa66ead0a
+dd 0xa143b1d1
+db 0x48
+db 0x00
+
+ref_00469cd2:
+db 0x23
+db 0x30
+dd 0xc5333435
+dd 0xbadaa7fd
+dd 0x0ac9bac9
+dd 0x44a561a6
+dd 0xcbbda7a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469ceb:
+db 0x23
+dd 0x34343530
+dd 0xa7ae77a6
+dd 0x49a161a7
+db 0x00
+
+ref_00469cf9:
+db 0x23
+db 0x30
+db 0x35
+dd 0xacaf3534
+dd 0xfcac41a7
+dd 0xa8a6dab9
+dd 0x43a175af
+db 0x00
+
+ref_00469d0d:
+db 0x23
+db 0x30
+db 0x35
+dd 0xd1a43634
+dd 0x4cac7ab2
+dd 0xb30afcb9
+dd 0xa4b3c0f8
+dd 0xa16eb2a3
+db 0x49
+db 0x00
+
+ref_00469d26:
+db 0x23
+db 0x30
+dd 0xb8373435
+dd 0xa7daa7f2
+dd 0xa7f1a640
+dd 0x0049a161
+
+ref_00469d38:
+dd 0x34353023
+dd 0xade4a738
+dd 0xb7cbadd3
+dd 0xa1adb0b0
+db 0xe3
+db 0x00
+
+ref_00469d4a:
+db 0x23
+db 0x30
+dd 0xa7393435
+dd 0xa47ea4da
+dd 0xa56eb2a3
+dd 0xa14fa949
+db 0x49
+db 0x00
+
+ref_00469d5e:
+db 0x23
+db 0x30
+dd 0xa7303535
+dd 0xa4ccb64f
+dd 0xa149a146
+db 0x49
+db 0x00
+
+ref_00469d6e:
+db 0x23
+db 0x30
+dd 0xa7313535
+dd 0xa7e2a741
+dd 0xb160aeda
+dd 0xf7b00a6f
+dd 0x46a447ba
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469d87:
+db 0x23
+dd 0x32353530
+dd 0xd0bdb3a6
+dd 0xabafd1bd
+dd 0x7bc1b0ad
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469d9b:
+db 0x23
+dd 0x33353530
+dd 0xdbb5a5b5
+dd 0xfabfaca6
+dd 0x49a161a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469daf:
+db 0x23
+dd 0x34353530
+dd 0xa3a441a6
+dd 0xe2b0dfa9
+dd 0xa84eb40a
+dd 0xa4a3a4d3
+dd 0xa146a4ce
+db 0x49
+db 0x00
+
+ref_00469dca:
+db 0x23
+db 0x30
+dd 0xb8353535
+dd 0xb87cb555
+dd 0x0a7cb555
+dd 0x55b855b8
+dd 0x49a17cb5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469de3:
+db 0x23
+dd 0x36353530
+dd 0xa3a44aa4
+dd 0x58a5c5bc
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_00469df3:
+db 0x23
+dd 0x37353530
+dd 0x41a7c0b4
+dd 0x57a44bb6
+dd 0xf8b1caab
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469e07:
+db 0x23
+dd 0x38353530
+dd 0x55a4d1a4
+dd 0xb3a653a8
+dd 0xbbc3a50a
+dd 0xbcbaaab7
+dd 0xa148a4c4
+db 0x49
+db 0x00
+
+ref_00469e22:
+db 0x23
+db 0x30
+dd 0xab393535
+dd 0xbbb0a4e6
+dd 0xa148a1f2
+db 0x49
+db 0x00
+
+ref_00469e32:
+db 0x23
+db 0x30
+dd 0xa6303635
+dd 0xa459c05e
+dd 0xb5b3a67e
+dd 0xa169ae6f
+db 0x49
+db 0x00
+
+ref_00469e46:
+db 0x23
+db 0x30
+dd 0xc5313635
+dd 0xa4f3a7dc
+dd 0x0a55a440
+dd 0x76bfd8ab
+dd 0xd8a5b5b6
+dd 0x49a161a7
+db 0x00
+
+ref_00469e61:
+db 0x23
+db 0x30
+db 0x35
+dd 0x68a63236
+dd 0x40a4b1b0
+dd 0xa40a55a4
+dd 0xbfa3a45d
+dd 0x0049a1f9
+
+ref_00469e78:
+dd 0x36353023
+dd 0xa4daa733
+dd 0xa851b7a3
+dd 0xa7d3a4ab
+dd 0x0049a1d6
+
+ref_00469e8c:
+dd 0x36353023
+dd 0xa4daa734
+dd 0x0a4faca3
+dd 0x5db0b2b4
+dd 0x6ca4a3b5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469ea3:
+db 0x23
+dd 0x35363530
+dd 0xdbb441a7
+dd 0x48a474ad
+dd 0x48a1dab0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469eb7:
+db 0x23
+dd 0x36363530
+dd 0x4cb9d3a4
+dd 0x46a4f7a5
+dd 0x49a149a1
+db 0x00
+
+ref_00469ec9:
+db 0x23
+db 0x30
+db 0x35
+dd 0xd4a73736
+dd 0xac0a40ad
+dd 0xadb3a64f
+dd 0xaad7abad
+dd 0x0049a1ba
+
+ref_00469ee0:
+dd 0x36353023
+dd 0xa1fcad38
+dd 0xc05ea649
+dd 0xc3d3a459
+dd 0x00e3a1f8
+
+ref_00469ef4:
+dd 0x36353023
+dd 0xa85cbb39
+dd 0xb0d3adba
+dd 0xbbb0a4b5
+dd 0x0048a1f2
+
+ref_00469f08:
+dd 0x37353023
+dd 0xa7ddac30
+dd 0xaab5b041
+dd 0xa86ea6ba
+dd 0x0049a1c6
+
+ref_00469f1c:
+dd 0x37353023
+dd 0xb8daa731
+dd 0x0a41a7f2
+dd 0xb2b5b3a4
+dd 0x46a46aa4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469f33:
+db 0x23
+dd 0x32373530
+dd 0xb3a4b9a6
+dd 0xf8b3a3a4
+dd 0xa744ab0a
+dd 0xa16ca467
+db 0x49
+db 0x00
+
+ref_00469f4a:
+db 0x23
+db 0x30
+dd 0xb0333735
+dd 0xaa49a1da
+dd 0xabe8a646
+dd 0x0af2bbe7
+dd 0xa3a8a3a4
+dd 0x48a146a4
+db 0x00
+
+ref_00469f65:
+db 0x23
+db 0x30
+db 0x35
+dd 0x41a73437
+dd 0xb9a7b3a6
+dd 0xb9a753a8
+dd 0x49a148a1
+db 0x00
+
+ref_00469f79:
+db 0x23
+db 0x30
+db 0x35
+dd 0xdaa73537
+dd 0x77a940a4
+dd 0xf8b36ead
+dd 0x49a1b3a4
+db 0x00
+
+ref_00469f8d:
+db 0x23
+db 0x30
+db 0x35
+dd 0xb5a43637
+dd 0x75afd1a4
+dd 0xb0b7cbad
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469f9f:
+db 0x23
+dd 0x37373530
+dd 0xdaa7b9b5
+dd 0xeda64fb0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_00469faf:
+db 0x23
+dd 0x38373530
+dd 0xd5a551b7
+dd 0xd5a559a6
+dd 0xdab0dcb3
+db 0xa1
+db 0x48
+db 0x00
+
+ref_00469fc3:
+db 0x23
+dd 0x39373530
+dd 0x7ea4daa7
+dd 0xb00a53a8
+dd 0xb57cba6b
+dd 0xa14fa97c
+db 0x49
+db 0x00
+
+ref_00469fda:
+db 0x23
+db 0x30
+dd 0xa4303835
+dd 0xa855a4d1
+dd 0x0ab3a653
+dd 0xb7bbc3a5
+dd 0x42aabaaa
+db 0xa4
+db 0xcd
+db 0x00
+
+ref_00469ff3:
+db 0x23
+dd 0x31383530
+dd 0xa3a4daa7
+dd 0xedb751b7
+dd 0xaad4a70a
+dd 0xb074c0cc
+dd 0x0049a1d5
+
+ref_0046a00c:
+dd 0x38353023
+dd 0xaad1a632
+dd 0xb5a3a4ea
+dd 0xa1c2ab6f
+dd 0xe2a70a41
+dd 0xedb7daa7
+dd 0xdfbf66af
+dd 0x49a148a1
+db 0x00
+
+ref_0046a02d:
+db 0x23
+db 0x30
+db 0x35
+dd 0xc9ad3338
+dd 0xb60adaa7
+dd 0xa4e0c267
+dd 0xa755a440
+dd 0x0049a161
+
+ref_0046a044:
+dd 0x38353023
+dd 0xa452b634
+dd 0xa1a6a546
+db 0x49
+db 0x00
+
+ref_0046a052:
+db 0x23
+db 0x30
+dd 0xa4353835
+dd 0xb76ea6a3
+dd 0xa1e4ab4e
+dd 0xadabb441
+dd 0x61a60ad3
+dd 0x41a7d6a5
+dd 0x70a6ddac
+dd 0x48a1f3a6
+db 0x00
+
+ref_0046a075:
+db 0x23
+db 0x30
+db 0x35
+dd 0xabb43638
+dd 0xd0a9d3ad
+dd 0xa60a6ca4
+dd 0xaceda6ed
+dd 0xa45da4dd
+dd 0xa1f9bfa3
+db 0x43
+db 0x00
+
+ref_0046a092:
+db 0x23
+db 0x30
+dd 0xad373835
+dd 0xb5fcae57
+dd 0x0ae4c34c
+dd 0x59c05ea6
+dd 0xa4a94fac
+db 0x00
+
+ref_0046a0a9:
+db 0x23
+db 0x30
+db 0x35
+dd 0xabb43838
+dd 0x66a4abb4
+dd 0x61a7fda8
+db 0x00
+
+ref_0046a0b9:
+db 0x23
+db 0x30
+db 0x35
+dd 0x61ae3938
+dd 0x4db2d2b9
+dd 0x41a148b4
+dd 0xbddcc50a
+dd 0xb261aee6
+dd 0x00e3a1a3
+
+ref_0046a0d4:
+dd 0x39353023
+dd 0xb7abaf30
+dd 0xa440a552
+dd 0x00e3a148
+
+ref_0046a0e4:
+dd 0x39353023
+dd 0xa4a2b231
+dd 0xa5e3a1df
+dd 0xa7d3a858
+dd 0x0049a161
+
+ref_0046a0f8:
+dd 0x39353023
+dd 0xb670a432
+dd 0x0a49a1c0
+dd 0xd3a8d6a7
+dd 0xdaa7b0c0
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046a10f:
+db 0x23
+dd 0x33393530
+dd 0x5cbb41a7
+dd 0x4eb4daa7
+dd 0xe3a1eea9
+db 0x00
+
+ref_0046a121:
+db 0x23
+db 0x30
+db 0x35
+dd 0x75ab3439
+dd 0xe3a1e9b3
+dd 0xab41a70a
+dd 0xa6b1ade1
+dd 0xbbb0a4b3
+dd 0x0048a1f2
+
+ref_0046a13c:
+dd 0x39353023
+dd 0xa6b8af35
+dd 0xb04fa7ed
+dd 0x0049a1ca
+
+ref_0046a14c:
+dd 0x39353023
+dd 0xa7ceba36
+dd 0xa7ceba61
+dd 0x0049a161
+
+ref_0046a15c:
+dd 0x39353023
+dd 0xa470a437
+dd 0x4fa70adf
+dd 0xeca8f2bd
+dd 0xcbabafaa
+dd 0x49a1dab0
+dd 0xa8fea80a
+dd 0x00e3a1fe
+
+ref_0046a17c:
+dd 0x39353023
+dd 0xbc4bbc38
+dd 0x0a41a14b
+dd 0x4fa769a5
+dd 0xdaa7c7a9
+dd 0x43a1e1b3
+db 0x00
+
+ref_0046a195:
+db 0x23
+db 0x30
+db 0x35
+dd 0x4fa73939
+dd 0xb0ac48a5
+dd 0xaed1a60a
+dd 0xb46ea651
+dd 0xa174addb
+db 0x49
+db 0x00
+
+ref_0046a1ae:
+db 0x23
+db 0x30
+dd 0xa9303036
+dd 0x0a6ea6af
+dd 0xada6daa7
+dd 0xbea8b3a6
+dd 0xe3a1c6b3
+db 0x00
+
+ref_0046a1c5:
+db 0x23
+db 0x30
+db 0x36
+dd 0xa3a43130
+dd 0xe4a7cea5
+dd 0x41a146a4
+dd 0xaba2ab0a
+dd 0xa1a2aba2
+db 0x49
+db 0x00
+
+ref_0046a1de:
+db 0x23
+db 0x30
+dd 0xa7323036
+dd 0xaabaa64b
+dd 0xa650b5f7
+dd 0xa1b9a662
+db 0x49
+db 0x00
+
+ref_0046a1f2:
+db 0x23
+db 0x30
+dd 0xb4333036
+dd 0xb046c663
+dd 0xa1b2b468
+dd 0xa149a149
+db 0x49
+db 0x00
+
+ref_0046a206:
+db 0x23
+db 0x30
+dd 0xb6343036
+dd 0xa8e3a1e2
+dd 0xa1c0b9d3
+db 0x49
+db 0x00
+
+ref_0046a216:
+db 0x23
+db 0x30
+dd 0xb7353036
+dd 0xb8eba751
+dd 0xf2b80aea
+dd 0xdaa7dbb5
+dd 0xefb94eb4
+dd 0x49a1d5b0
+db 0x00
+
+ref_0046a231:
+db 0x23
+db 0x30
+db 0x36
+dd 0xeba73630
+dd 0xf7be75a1
+dd 0x48a476a1
+dd 0xa70a41a1
+dd 0xadccad41
+dd 0xa470a46e
+dd 0xa1c6b9df
+db 0x49
+db 0x00
+
+ref_0046a252:
+db 0x23
+db 0x30
+dd 0xac373036
+dd 0xa441a7dd
+dd 0x0ac6b040
+dd 0x7cba6bb0
+dd 0xbaaa7cb5
+dd 0x6ca4cbbc
+db 0xa1
+db 0x43
+db 0x00
+
+ref_0046a26f:
+db 0x23
+dd 0x38303630
+dd 0xf7aab2af
+dd 0x4babd3a4
+dd 0x46a479a9
+dd 0xa70a41a1
+dd 0xa8a3b3da
+dd 0xa8c8c153
+dd 0xa1fabfec
+db 0x43
+db 0x00
+
+ref_0046a292:
+db 0x23
+db 0x30
+dd 0xa4393036
+dd 0xb1b1c4a3
+dd 0xb16fb36f
+dd 0xaaf4b8f8
+dd 0xaca60aba
+dd 0xd3a44fb6
+dd 0x46a451b6
+dd 0x48a1dcb6
+db 0x00
+
+ref_0046a2b5:
+db 0x23
+db 0x30
+db 0x36
+dd 0xf2b83031
+dd 0x58a6daa7
+dd 0xb70a40a7
+dd 0xbf53a8c7
+dd 0x0049a1f9
+
+ref_0046a2cc:
+dd 0x31363023
+dd 0xba43ba31
+dd 0xa7aba843
+dd 0x0a49a161
+dd 0xa2aba2ab
+dd 0x49a1a2ab
+db 0x00
+
+ref_0046a2e5:
+db 0x23
+db 0x30
+db 0x36
+dd 0x73a43231
+dd 0xe0c2a3a4
+dd 0xe0c2f4b8
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046a2f7:
+db 0x23
+dd 0x33313630
+dd 0x48a46ba4
+dd 0xbdb54fac
+dd 0xbaaadcc5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a30b:
+db 0x23
+dd 0x34313630
+dd 0x51aed1a6
+dd 0xa3a4aba8
+dd 0x46a4cab0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a31f:
+db 0x23
+dd 0x35313630
+dd 0xdaa7ddac
+dd 0x46bcbaaa
+dd 0x49a160ae
+db 0x00
+
+ref_0046a331:
+db 0x23
+db 0x30
+db 0x36
+dd 0xdfa43631
+dd 0x68b56ea6
+dd 0x49a1e1b3
+db 0x00
+
+ref_0046a341:
+db 0x23
+db 0x30
+db 0x36
+dd 0x51b03731
+dd 0xd5b0bdb9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a34f:
+db 0x23
+dd 0x38313630
+dd 0x6eada3a4
+dd 0xe3a1d5b0
+db 0x00
+
+ref_0046a35d:
+db 0x23
+db 0x30
+db 0x36
+dd 0xe3b63931
+dd 0xdbb4e3a1
+dd 0x48a474ad
+dd 0xe3a161ae
+db 0x00
+
+ref_0046a371:
+db 0x23
+db 0x30
+db 0x36
+dd 0xd1a63032
+dd 0xa40a51ae
+dd 0xa6aba8a3
+dd 0xb859c05e
+dd 0x0049a1f4
+
+ref_0046a388:
+dd 0x32363023
+dd 0xa6f0ae31
+dd 0xb0daa7ba
+dd 0x0049a1d5
+
+ref_0046a398:
+dd 0x32363023
+dd 0xb0d6bd32
+dd 0x0a46a4bd
+dd 0xbaaadaa7
+dd 0xb4ab61a6
+db 0xa1
+db 0x48
+db 0x00
+
+ref_0046a3af:
+db 0x23
+dd 0x33323630
+dd 0x6fb341a7
+dd 0xb10ad3ad
+dd 0xa464a4fe
+dd 0xa1baaa4d
+dd 0x0049a149
+
+ref_0046a3c8:
+dd 0x32363023
+dd 0xa453a834
+dd 0x0ad3a848
+dd 0xe6b175a6
+dd 0x55a7dbac
+dd 0x48a1dcb6
+db 0x00
+
+ref_0046a3e1:
+db 0x23
+db 0x30
+db 0x36
+dd 0x6fb33532
+dd 0xb3a6d9c1
+dd 0x6baafda4
+dd 0x48a1dcb6
+db 0x00
+
+ref_0046a3f5:
+db 0x23
+db 0x30
+db 0x36
+dd 0xdaa73632
+dd 0xdbb5b0bb
+dd 0xac68a50a
+dd 0xad7cb7f9
+dd 0xa149a143
+db 0x49
+db 0x00
+
+ref_0046a40e:
+db 0x23
+db 0x30
+dd 0xa7373236
+dd 0xb7a3a441
+dd 0xa6bc0a7c
+dd 0xa4b1bbad
+dd 0xdab0c9a5
+dd 0x49a148a1
+db 0x00
+
+ref_0046a429:
+db 0x23
+db 0x30
+db 0x36
+dd 0x52b73832
+dd 0xfbb870ad
+dd 0x49a149a1
+db 0x00
+
+ref_0046a439:
+db 0x23
+db 0x30
+db 0x36
+dd 0xd7b23932
+dd 0x7bbbf3a9
+dd 0xa70a4db2
+dd 0xafbaaa41
+dd 0xa5b1ad75
+dd 0xa146a4d8
+db 0x49
+db 0x00
+
+ref_0046a456:
+db 0x23
+db 0x30
+dd 0xa4303336
+dd 0xa4f0ae70
+dd 0xa1d4a9da
+db 0xe3
+db 0x00
+
+ref_0046a466:
+db 0x23
+db 0x30
+dd 0xb0313336
+dd 0x0a49a1da
+dd 0x5da5fcb2
+dd 0x58a56aa4
+dd 0x49a1e5a6
+db 0x00
+
+ref_0046a47d:
+db 0x23
+db 0x30
+db 0x36
+dd 0x4fa73233
+dd 0xfba651b7
+dd 0xaed1a60a
+dd 0xa94bab51
+dd 0x0049a179
+
+ref_0046a494:
+dd 0x33363023
+dd 0xa8d6bd33
+dd 0xa7fcb8d3
+dd 0xb540a4da
+dd 0x00e3a17b
+
+ref_0046a4a8:
+dd 0x33363023
+dd 0xb072b334
+dd 0xac4eb47d
+dd 0xbdb3a64f
+dd 0x00e3a174
+
+ref_0046a4bc:
+dd 0x33363023
+dd 0xb45ba535
+dd 0xa7c9b8ee
+dd 0xa1d5b055
+db 0xe3
+db 0x00
+
+ref_0046a4ce:
+db 0x23
+db 0x30
+dd 0xa6363336
+dd 0xc3edadd1
+dd 0xad4ba7e4
+dd 0xa1fbb870
+db 0xe3
+db 0x00
+
+ref_0046a4e2:
+db 0x23
+db 0x30
+dd 0xb3373336
+dd 0x0accb86f
+dd 0xf4a4b7ad
+dd 0x61c3a3a4
+dd 0xe3a1e1b3
+db 0x00
+
+ref_0046a4f9:
+db 0x23
+db 0x30
+db 0x36
+dd 0x7daf3833
+dd 0xabb4edad
+dd 0xf8b24fa7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a50b:
+db 0x23
+dd 0x39333630
+dd 0x7ea6d6a4
+dd 0xad0a48a4
+dd 0xb6beaa6e
+dd 0xa168b069
+db 0x49
+db 0x00
+
+ref_0046a522:
+db 0x23
+db 0x30
+dd 0xa7303436
+dd 0xa648a5da
+dd 0x4fac0aad
+dd 0xf4a467a4
+dd 0x49a176ae
+db 0x00
+
+ref_0046a539:
+db 0x23
+db 0x30
+db 0x36
+dd 0x6aa43134
+dd 0xe6bd55ab
+dd 0xa40a49a1
+dd 0xbd55ab6a
+dd 0x0049a1e6
+
+ref_0046a550:
+dd 0x34363023
+dd 0xad5fb032
+dd 0x4eb40aed
+dd 0x5fb06ead
+dd 0xc6b16bc2
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a567:
+db 0x23
+dd 0x33343630
+dd 0xeca8d0bd
+dd 0xad40a40a
+dd 0xaf5dc5d3
+dd 0xa14aa5ab
+db 0xe3
+db 0x00
+
+ref_0046a57e:
+db 0x23
+db 0x30
+dd 0xa9343436
+dd 0x0abcb1ee
+dd 0x5cbbabad
+dd 0xf2ba64a5
+dd 0x49a1d5b0
+db 0x00
+
+ref_0046a595:
+db 0x23
+db 0x30
+db 0x36
+dd 0xeea93534
+dd 0xe1b3edad
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a5a3:
+db 0x23
+dd 0x36343630
+dd 0x4facdaa7
+dd 0x4aa5e9b8
+dd 0xbda4e9b8
+dd 0xaa0a7cb7
+dd 0xaa7cb7ba
+dd 0x0049a1f8
+
+ref_0046a5c0:
+dd 0x34363023
+dd 0xb579b537
+dd 0xa440a4a5
+dd 0xa1f2ad55
+db 0x49
+db 0x00
+
+ref_0046a5d2:
+db 0x23
+db 0x30
+dd 0xa5383436
+dd 0xbaada664
+dd 0x0aa8abce
+dd 0xb3a664a5
+dd 0xe3a176af
+db 0x00
+
+ref_0046a5e9:
+db 0x23
+db 0x30
+db 0x36
+dd 0xb3a63934
+dd 0x4cb5eebb
+dd 0xbf0ae9c5
+dd 0xbdb3b9cb
+dd 0xa4f3af5f
+dd 0x00e3a148
+
+ref_0046a604:
+dd 0x35363023
+dd 0xa44fa730
+dd 0xa5baaa48
+dd 0x0ad1b1a2
+dd 0x4fac4eb4
+dd 0xbaaadaa7
+dd 0xd6bcd6a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a623:
+db 0x23
+dd 0x31353630
+dd 0x40a4f8b3
+dd 0xa60aa8ab
+dd 0xb0abb9d1
+dd 0xa1deadda
+db 0x49
+db 0x00
+
+ref_0046a63a:
+db 0x23
+db 0x30
+dd 0xa4323536
+dd 0xa1d5b6ef
+dd 0xb6efa449
+dd 0x0049a1d5
+
+ref_0046a64c:
+dd 0x35363023
+dd 0xae6ea633
+dd 0xa162a661
+db 0x49
+db 0x00
+
+ref_0046a65a:
+db 0x23
+db 0x30
+dd 0xa4343536
+dd 0xaca3a448
+dd 0xb1bfa84f
+dd 0xa1baaafe
+db 0xe3
+db 0x00
+
+ref_0046a66e:
+db 0x23
+db 0x30
+dd 0xa9353536
+dd 0xb165b05e
+dd 0xa17bb5d2
+db 0x49
+db 0x00
+
+ref_0046a67e:
+db 0x23
+db 0x30
+dd 0xab363536
+dd 0xabd0bdf4
+dd 0xa1d0bdf4
+dd 0x6aa40a49
+dd 0xfda450a5
+dd 0xbda4ddb7
+dd 0xa40a41a1
+dd 0xa450a570
+dd 0xa5ddb7fd
+dd 0x00e3a14a
+
+ref_0046a6a8:
+dd 0x35363023
+dd 0xaabfa837
+dd 0xaa7bb2ba
+dd 0xabd8a5f7
+dd 0x6cc30a65
+dd 0x62a648b1
+dd 0xaba5d1aa
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046a6c7:
+db 0x23
+dd 0x38353630
+dd 0xbcb2d1aa
+dd 0x71b3a3a4
+dd 0x49a14eb7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a6db:
+db 0x23
+dd 0x39353630
+dd 0xb1b441a7
+dd 0xc7afb3a6
+dd 0x48a17cb5
+db 0x00
+
+ref_0046a6ed:
+db 0x23
+db 0x30
+db 0x36
+dd 0x5fb03036
+dd 0x64a5f9bb
+dd 0xc8c16ea6
+dd 0x49a1b9ad
+db 0x00
+
+ref_0046a701:
+db 0x23
+db 0x30
+db 0x36
+dd 0xe0c23136
+dd 0x45a968a5
+dd 0x76a4dba6
+dd 0x49a1d5b0
+db 0x00
+
+ref_0046a715:
+db 0x23
+db 0x30
+db 0x36
+dd 0xf2b83236
+dd 0x72b3daa7
+dd 0xa60a7db0
+dd 0xe56ea6b3
+dd 0xa161c346
+db 0xe3
+db 0x00
+
+ref_0046a72e:
+db 0x23
+db 0x30
+dd 0xa9333636
+dd 0xa7f2ba45
+dd 0xb87dafcb
+dd 0x00e3a14a
+
+ref_0046a740:
+dd 0x36363023
+dd 0xc056b634
+dd 0xa764a559
+dd 0xa1a1acd6
+db 0x49
+db 0x00
+
+ref_0046a752:
+db 0x23
+db 0x30
+dd 0xb0353636
+dd 0xa7edad5f
+dd 0xaa4db1da
+dd 0xa1ecacf9
+db 0xe3
+db 0x00
+
+ref_0046a766:
+db 0x23
+db 0x30
+dd 0xa4363636
+dd 0xa640c4a3
+dd 0xa146a4e6
+db 0x49
+db 0x00
+
+ref_0046a776:
+db 0x23
+db 0x30
+dd 0xa4373636
+dd 0xa442a840
+dd 0xa67db840
+db 0x4c
+db 0x00
+
+ref_0046a786:
+db 0x23
+db 0x30
+dd 0xa7383636
+dd 0xa7f2b841
+dd 0xb3a60ada
+dd 0xb3a4dead
+dd 0x49a1e1b3
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a79f:
+db 0x23
+dd 0x39363630
+dd 0xb9b541a7
+dd 0x64a5daa7
+dd 0xa474ae0a
+dd 0xa368a6a3
+dd 0xa149a1b0
+db 0x49
+db 0x00
+
+ref_0046a7ba:
+db 0x23
+db 0x30
+dd 0xa5303736
+dd 0xbe41a747
+dd 0xa1baa67c
+db 0x49
+db 0x00
+
+ref_0046a7ca:
+db 0x23
+db 0x30
+dd 0xba313736
+dd 0xb5a1b8a1
+dd 0x0a57ad68
+dd 0x48a446e5
+dd 0xe3a1beaa
+db 0x00
+
+ref_0046a7e1:
+db 0x23
+db 0x30
+db 0x36
+dd 0x46e53237
+dd 0x46e54eb7
+dd 0x49a1e4ab
+db 0x00
+
+ref_0046a7f1:
+db 0x23
+db 0x30
+db 0x36
+dd 0x4ba73337
+dd 0xfbc241a7
+dd 0xd5b043b1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a803:
+db 0x23
+dd 0x34373630
+dd 0xccb141a7
+dd 0x6fb3b0a3
+dd 0x77bca2a5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a817:
+db 0x23
+dd 0x35373630
+dd 0xb3a641a7
+dd 0x51b0f7b0
+dd 0x49a1c5b6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a82b:
+db 0x23
+dd 0x36373630
+dd 0x6fb341a7
+dd 0x48a4d3ad
+dd 0xc375af0a
+dd 0xb072b3f8
+dd 0x0049a17d
+
+ref_0046a844:
+dd 0x37363023
+dd 0xbad3b237
+dd 0xaebdb07e
+dd 0xa17db2be
+dd 0x6aa40a41
+dd 0xbdb07eba
+dd 0xfba46fb2
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a863:
+db 0x23
+dd 0x38373630
+dd 0x46e569b6
+dd 0x68b042a8
+dd 0xf4b846e5
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046a877:
+db 0x23
+dd 0x39373630
+dd 0x48a46aa4
+dd 0x49a1dab0
+dd 0xaadead0a
+dd 0xa1dab050
+db 0xe3
+db 0x00
+
+ref_0046a88e:
+db 0x23
+db 0x30
+dd 0xa4303836
+dd 0xe5bda4d1
+dd 0xe2d8a546
+dd 0xa1e1b3e4
+db 0x49
+db 0x00
+
+ref_0046a8a2:
+db 0x23
+db 0x30
+dd 0xb3313836
+dd 0xa96fb2c1
+dd 0xc3edadec
+dd 0xa1d5b0e4
+db 0x49
+db 0x00
+
+ref_0046a8b6:
+db 0x23
+db 0x30
+dd 0xe8323836
+dd 0xa6c0b9fd
+dd 0xa1dab06e
+db 0x49
+db 0x00
+
+ref_0046a8c6:
+db 0x23
+db 0x30
+dd 0xb3333836
+dd 0xb3d3a8c1
+dd 0xa14dae6f
+dd 0x0049a149
+
+ref_0046a8d8:
+dd 0x38363023
+dd 0xa7e6b134
+dd 0xa8b9b541
+dd 0xa66fb2bf
+dd 0x00e3a1a8
+
+ref_0046a8ec:
+dd 0x38363023
+dd 0xaddbb435
+dd 0xa4d1a674
+dd 0xa148a46a
+db 0x49
+db 0x00
+
+ref_0046a8fe:
+db 0x23
+db 0x30
+dd 0xb3363836
+dd 0x0a4fac6f
+dd 0xccad41a7
+dd 0x61babaaa
+dd 0x49a1afa9
+db 0x00
+
+ref_0046a915:
+db 0x23
+db 0x30
+db 0x36
+dd 0x48bc3738
+dd 0xe3a148bc
+dd 0xa54fa70a
+dd 0xb3f0aecd
+dd 0x0049a1e1
+
+ref_0046a92c:
+dd 0x38363023
+dd 0xb86fb338
+dd 0xbba50acc
+dd 0x44a5bda4
+dd 0xaca678bc
+dd 0x49a146a4
+db 0x00
+
+ref_0046a945:
+db 0x23
+db 0x30
+db 0x36
+dd 0xddac3938
+dd 0x5fb06fb1
+dd 0xa40a41a7
+dd 0xa7f2b87e
+dd 0xa1abb441
+db 0x49
+db 0x00
+
+ref_0046a95e:
+db 0x23
+db 0x30
+dd 0xa5303936
+dd 0xb1a3a4d1
+dd 0xbb41a76f
+dd 0xa1a3a4a1
+db 0x49
+db 0x00
+
+ref_0046a972:
+db 0x23
+db 0x30
+dd 0xa7313936
+dd 0xa552a9da
+dd 0x0a41a74f
+dd 0xe1ab56a6
+dd 0x49a1e0c2
+db 0x00
+
+ref_0046a989:
+db 0x23
+db 0x30
+db 0x36
+dd 0x41a73239
+dd 0xfda87eab
+dd 0x74ae75af
+dd 0x49a149a1
+db 0x00
+
+ref_0046a99d:
+db 0x23
+db 0x30
+db 0x36
+dd 0x63b43339
+dd 0x40bc40a7
+dd 0x55a440a4
+db 0xa1
+db 0x43
+db 0x00
+
+ref_0046a9af:
+db 0x23
+dd 0x34393630
+dd 0xe0af55b8
+dd 0xd1a4baaa
+dd 0x49a1cfa8
+dd 0xb5e7bd0a
+dd 0x0adaa7b9
+dd 0x5fa9abaf
+dd 0x4fa4baaa
+dd 0xe3a171b6
+db 0x00
+
+ref_0046a9d5:
+db 0x23
+db 0x30
+db 0x36
+dd 0x6ea63539
+dd 0x62a6b8c0
+dd 0x59c0e1ab
+dd 0x49a149a1
+db 0x00
+
+ref_0046a9e9:
+db 0x23
+db 0x30
+db 0x36
+dd 0xd3a83639
+dd 0x49a1d6ba
+dd 0xa6a572ab
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046a9fb:
+db 0x23
+dd 0x37393630
+dd 0x5bc6bab4
+dd 0x74aed3a4
+dd 0x61a746a4
+db 0xa1
+db 0x48
+db 0x00
+
+ref_0046aa0f:
+db 0x23
+dd 0x38393630
+dd 0xbaaa41a7
+dd 0xe8a646aa
+dd 0xa4bba50a
+dd 0xad44a5bd
+dd 0xa146a46e
+db 0x49
+db 0x00
+
+ref_0046aa2a:
+db 0x23
+db 0x30
+dd 0xa6393936
+dd 0xaef0a568
+dd 0xb740a4a7
+dd 0xa161a77c
+dd 0xfea80a49
+dd 0xfea8fea8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046aa47:
+db 0x23
+dd 0x30303730
+dd 0x61a7ceba
+dd 0x420a49a1
+dd 0xa1594241
+db 0x49
+db 0x00
+
+ref_0046aa5a:
+db 0x23
+db 0x30
+dd 0xa4313037
+dd 0xb16eada3
+dd 0x0aeca8bc
+dd 0xbeb7f4a4
+dd 0x68a5ccb8
+dd 0x49a1e1b3
+db 0x00
+
+ref_0046aa75:
+db 0x23
+db 0x30
+db 0x37
+dd 0xb5b13230
+dd 0xaa0afca8
+dd 0xaadfab6b
+dd 0xb5eea8ba
+dd 0xa161a7f4
+db 0x49
+db 0x00
+
+ref_0046aa8e:
+db 0x23
+db 0x30
+dd 0xa7333037
+dd 0xb7f0a541
+dd 0xb36fb151
+dd 0x0049a178
+
+ref_0046aaa0:
+dd 0x30373023
+dd 0xade4a734
+dd 0xa6c0b4d3
+dd 0xa1adb0ba
+db 0xe3
+db 0x00
+
+ref_0046aab2:
+db 0x23
+db 0x30
+dd 0xa4353037
+dd 0xb3f2a440
+dd 0xb5a3a4a3
+dd 0xa141a7b9
+db 0x49
+db 0x00
+
+ref_0046aac6:
+db 0x23
+db 0x30
+dd 0xc1363037
+dd 0x0a6ea6d9
+dd 0xbda4bba5
+dd 0x52a944a5
+dd 0x43a16aa4
+db 0x00
+
+ref_0046aadd:
+db 0x23
+db 0x30
+db 0x37
+dd 0xaba83730
+dd 0x49a17db6
+dd 0xb74fa70a
+dd 0xa1daa7d0
+db 0x49
+db 0x00
+
+ref_0046aaf2:
+db 0x23
+db 0x30
+dd 0xb5383037
+dd 0xa4bba5b9
+dd 0xb944a5bd
+dd 0xa1d3a84c
+db 0x49
+db 0x00
+
+ref_0046ab06:
+db 0x23
+db 0x30
+dd 0xa4393037
+dd 0xaaa6ba6a
+dd 0xa1f5acf8
+db 0x49
+db 0x00
+
+ref_0046ab16:
+db 0x23
+db 0x30
+dd 0xb6303137
+dd 0xa8eca85e
+dd 0xa1b3a9a6
+db 0xe3
+db 0x00
+
+ref_0046ab26:
+db 0x23
+db 0x30
+dd 0xc3313137
+dd 0xb5fabfba
+dd 0xaeeab0b9
+dd 0xa161a777
+db 0x49
+db 0x00
+
+ref_0046ab3a:
+db 0x23
+db 0x30
+dd 0xb3323137
+dd 0x0accb86f
+dd 0x4fb6aca6
+dd 0x43a7d3a4
+dd 0x49a146a4
+db 0x00
+
+ref_0046ab51:
+db 0x23
+db 0x30
+db 0x37
+dd 0x54b83331
+dd 0xe7c0eea4
+dd 0x49a17eb7
+db 0x00
+
+ref_0046ab61:
+db 0x23
+db 0x30
+db 0x37
+dd 0xa3a43431
+dd 0xfca8b2a5
+dd 0x59ad64c3
+dd 0x49a1e5c5
+db 0x00
+
+ref_0046ab75:
+db 0x23
+db 0x30
+db 0x37
+dd 0x43ba3531
+dd 0xd3a843ba
+dd 0xa47ea40a
+dd 0xb67cb7a3
+dd 0x00cbad5e
+
+ref_0046ab8c:
+dd 0x31373023
+dd 0xadabb436
+dd 0xaba4a8d3
+dd 0xddac0ad7
+dd 0xc9ac40a5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046aba3:
+db 0x23
+dd 0x37313730
+dd 0xd3adabb4
+dd 0x4eb7cda5
+dd 0xa740a70a
+dd 0xa65da440
+dd 0x00e3a16e
+
+ref_0046abbc:
+dd 0x31373023
+dd 0xa67db838
+dd 0xb3c4bb6e
+dd 0x00e3a1e1
+
+ref_0046abcc:
+dd 0x31373023
+dd 0xa4bba539
+dd 0x0a44a5bd
+dd 0x59aa6ead
+dd 0xb7ade0bd
+dd 0x49a1bab4
+db 0x00
+
+ref_0046abe5:
+db 0x23
+db 0x30
+db 0x37
+dd 0x41a73032
+dd 0xcbbc6fb3
+dd 0xa5d9c10a
+dd 0xb061bd73
+dd 0xa148a1da
+db 0x49
+db 0x00
+
+ref_0046abfe:
+db 0x23
+db 0x30
+dd 0xbd313237
+dd 0xbd6eadd6
+dd 0xa141a7e6
+dd 0x0049a149
+
+ref_0046ac10:
+dd 0x32373023
+dd 0xbbb0a432
+dd 0xa4beb3f2
+dd 0xb3cda5a3
+dd 0xbaaa0a4a
+dd 0xc0b961a6
+db 0xa1
+db 0x43
+db 0x00
+
+ref_0046ac2b:
+db 0x23
+dd 0x33323730
+dd 0x51b7a3a4
+dd 0x41a7f2b8
+dd 0xb30aabb4
+dd 0xa6a3a4a3
+dd 0xa149a1e6
+db 0x49
+db 0x00
+
+ref_0046ac46:
+db 0x23
+db 0x30
+dd 0xa7343237
+dd 0xa6aba8da
+dd 0xb768a55e
+dd 0xa1f2bb46
+db 0x48
+db 0x00
+
+ref_0046ac5a:
+db 0x23
+db 0x30
+dd 0xb5353237
+dd 0xb7daa7b9
+dd 0xc2dfa4ed
+db 0x49
+db 0x00
+
+ref_0046ac6a:
+db 0x23
+db 0x30
+dd 0xb2363237
+dd 0xb36ba451
+dd 0xa1b3a4f8
+dd 0x54a40a41
+dd 0xc1c4c0a4
+dd 0xdfb1a3a4
+db 0x00
+
+ref_0046ac85:
+db 0x23
+db 0x30
+db 0x37
+dd 0xdaa73732
+dd 0x76acbaaa
+dd 0xe3a1d0a9
+db 0x00
+
+ref_0046ac95:
+db 0x23
+db 0x30
+db 0x37
+dd 0x53a83832
+dd 0x59abf6c3
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046aca3:
+db 0x23
+dd 0x39323730
+dd 0x6eaddaa7
+dd 0x41a769a7
+dd 0x49a149a1
+db 0x00
+
+ref_0046acb5:
+db 0x23
+db 0x30
+db 0x37
+dd 0x48a43033
+dd 0xdcc561ae
+dd 0xab0aa8a6
+dd 0xa4e1ade6
+dd 0xb046a448
+dd 0x0049a1d5
+
+ref_0046acd0:
+dd 0x33373023
+dd 0xc4daa731
+dd 0xa4a3a4c7
+dd 0xa141a746
+dd 0x0049a149
+
+ref_0046ace4:
+dd 0x33373023
+dd 0xa1fcad32
+dd 0xa460ae49
+dd 0xaecfa448
+dd 0x0076a460
+
+ref_0046acf8:
+dd 0x33373023
+dd 0xac75af33
+dd 0xa64cb54f
+dd 0xa8a7a46b
+dd 0x0049a161
+
+ref_0046ad0c:
+dd 0x33373023
+dd 0xa655a434
+dd 0xa84eb4b8
+dd 0x6fb30a53
+dd 0x6ea6f2bb
+dd 0x46a442b9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046ad27:
+db 0x23
+dd 0x35333730
+dd 0x4fac75af
+dd 0xe5a66ca7
+dd 0xe3a1adb0
+db 0x00
+
+ref_0046ad39:
+db 0x23
+db 0x30
+db 0x37
+dd 0x41a73633
+dd 0x74b05da4
+dd 0xa7f2b80a
+dd 0xb750a6da
+dd 0xa148a1f9
+db 0x49
+db 0x00
+
+ref_0046ad52:
+db 0x23
+db 0x30
+dd 0xa4373337
+dd 0xafdfa470
+dd 0x0a70bee0
+dd 0x7ea655b8
+dd 0xe3a1eeb2
+db 0x00
+
+ref_0046ad69:
+db 0x23
+db 0x30
+db 0x37
+dd 0xa2ab3833
+dd 0x41a16fc5
+dd 0xfabfc0a4
+dd 0x49a140ae
+db 0x00
+
+ref_0046ad7d:
+db 0x23
+db 0x30
+db 0x37
+dd 0xeaa93933
+dd 0xeaa970ba
+dd 0x41a170ba
+dd 0xa87ab10a
+dd 0xa7c6a853
+dd 0x0048a161
+
+ref_0046ad98:
+dd 0x34373023
+dd 0xa652b630
+dd 0xb649a161
+dd 0xa161a652
+db 0x49
+db 0x00
+
+ref_0046adaa:
+db 0x23
+db 0x30
+dd 0xb4313437
+dd 0xa161a6ab
+dd 0xa6abb449
+dd 0x0049a161
+
+ref_0046adbc:
+dd 0x34373023
+dd 0xb6abb432
+dd 0xa4ceaba1
+dd 0xa161a76c
+db 0x49
+db 0x00
+
+ref_0046adce:
+db 0x23
+db 0x30
+dd 0xc2333437
+dd 0xa156a6e0
+dd 0xa6e0c241
+dd 0x0049a156
+
+ref_0046ade0:
+dd 0x34373023
+dd 0xa7b9b534
+dd 0xabefa7da
+dd 0xa161a7d8
+db 0x49
+db 0x00
+
+ref_0046adf2:
+db 0x23
+db 0x30
+dd 0xa4353437
+dd 0xbde7a96a
+dd 0x0a49a1e6
+dd 0xe7a96aa4
+dd 0x49a1e6bd
+db 0x00
+
+ref_0046ae09:
+db 0x23
+db 0x30
+db 0x37
+dd 0xfcaa3634
+dd 0x49a1f9aa
+db 0x00
+
+ref_0046ae15:
+db 0x23
+db 0x30
+db 0x37
+dd 0xe1b33734
+dd 0xe1b3d5b0
+dd 0xb30ad5b0
+dd 0xb3d5b0e1
+dd 0xa1d5b0e1
+db 0xe3
+db 0x00
+
+ref_0046ae2e:
+db 0x23
+db 0x30
+dd 0xad383437
+dd 0xa9f2b0f4
+dd 0xa441a1d4
+dd 0x0049a157
+
+ref_0046ae40:
+dd 0x34373023
+dd 0xa7e2a739
+dd 0xb1eea941
+dd 0x7db50a6f
+dd 0xeac4daa4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046ae57:
+db 0x23
+dd 0x30353730
+dd 0xd5b0c2c1
+dd 0xc2c141a1
+dd 0x49a1d5b0
+db 0x00
+
+ref_0046ae69:
+db 0x23
+db 0x30
+db 0x37
+dd 0xb9b53135
+dd 0xb1b0daa7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046ae77:
+db 0x23
+dd 0x32353730
+dd 0x77a6dfb1
+dd 0xdd9de3a1
+db 0x00
+
+ref_0046ae85:
+db 0x23
+db 0x30
+db 0x37
+dd 0xb5b03335
+dd 0x6ea6d3ad
+dd 0x61a7dab9
+dd 0xdd9de3a1
+db 0x00
+
+ref_0046ae99:
+db 0x23
+db 0x30
+db 0x37
+dd 0xefb23435
+dd 0xbaa8f2ad
+dd 0x41a1d4a9
+dd 0xa841a60a
+dd 0x0049a1a3
+
+ref_0046aeb0:
+dd 0x35373023
+dd 0xa45fb435
+dd 0xa7b9b5b3
+dd 0xa1ddac41
+db 0x49
+db 0x3f
+db 0x00
+
+ref_0046aec3:
+db 0x23
+dd 0x36353730
+dd 0xdaa7b0ac
+dd 0xbaa6d3a6
+dd 0x49a161a7
+db 0x00
+
+ref_0046aed5:
+db 0x23
+db 0x30
+db 0x37
+dd 0x75ab3735
+dd 0x41a172a7
+dd 0x75afdaa7
+dd 0xa40a4fac
+dd 0xc5fca8d3
+dd 0xa4efaa77
+dd 0x0049a146
+
+ref_0046aef4:
+dd 0x35373023
+dd 0xa949a938
+dd 0xa149a949
+dd 0xdaa70a41
+dd 0x4cb54fac
+dd 0xbaaac4bc
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046af0f:
+db 0x23
+dd 0x39353730
+dd 0xf4abf4ab
+dd 0xdaa741a1
+dd 0xabafbaaa
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046af23:
+db 0x23
+dd 0x30363730
+dd 0xd3a858a5
+dd 0x41a161a7
+dd 0xaadaa70a
+dd 0xa1abafba
+db 0x49
+db 0x00
+
+ref_0046af3a:
+db 0x23
+db 0x30
+dd 0xa5313637
+dd 0xa553c2fe
+dd 0x0049a1b4
+
+ref_0046af48:
+dd 0x36373023
+dd 0xc2c7a932
+dd 0xb3c2b6e5
+dd 0xa14aa7c7
+db 0x49
+db 0x00
+
+ref_0046af5a:
+db 0x23
+db 0x30
+dd 0xb3333637
+dd 0xa1deb3de
+dd 0xb5bac341
+dd 0xb5bac37c
+db 0x7c
+db 0x00
+
+ref_0046af6e:
+db 0x23
+db 0x30
+dd 0xba343637
+dd 0xba49a1a6
+dd 0x0049a1a6
+
+ref_0046af7c:
+dd 0x36373023
+dd 0xa15eb635
+dd 0xa15eb649
+db 0x49
+db 0x00
+
+ref_0046af8a:
+db 0x23
+db 0x30
+dd 0xb3363637
+dd 0xa1e1b3e1
+dd 0xdaa70a41
+dd 0x52b7cbbf
+dd 0xb0bcbaaa
+dd 0xe3a1cda4
+db 0x00
+
+ref_0046afa5:
+db 0x23
+db 0x30
+db 0x37
+dd 0xe4b23736
+dd 0xf9a66ca4
+dd 0x49c2f8aa
+dd 0xba43ba0a
+dd 0xa7a5b543
+dd 0x0049a161
+
+ref_0046afc0:
+dd 0x36373023
+dd 0xa55ea638
+dd 0xa161a768
+db 0x49
+db 0x00
+
+ref_0046afce:
+db 0x23
+db 0x30
+dd 0xad393637
+dd 0xa1d8abab
+dd 0xdaa70a49
+dd 0xabad6ead
+dd 0x49a1d8ab
+db 0x00
+
+ref_0046afe5:
+db 0x23
+db 0x30
+db 0x37
+dd 0xa5b53037
+dd 0xa5b540a4
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046aff3:
+db 0x23
+dd 0x31373730
+dd 0x74b3fdb1
+dd 0xa3a468ab
+dd 0x49a146b9
+db 0x00
+
+ref_0046b005:
+db 0x23
+db 0x30
+db 0x37
+dd 0x69a53237
+dd 0x41a163b4
+dd 0xb3e2a80a
+dd 0xad4db253
+dd 0xb046a4b7
+dd 0x0049a1d5
+
+ref_0046b020:
+dd 0x37373023
+dd 0xab69a533
+dd 0x0a41a1eb
+dd 0xdaa7b9b5
+dd 0xdbb54fb0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b037:
+db 0x23
+dd 0x34373730
+dd 0x4ba1b0a4
+dd 0xf2bbb0a4
+dd 0x49a148a1
+db 0x00
+
+ref_0046b049:
+db 0x23
+db 0x30
+db 0x37
+dd 0x75af3537
+dd 0x75af4ba1
+dd 0x48a1baaa
+db 0x00
+
+ref_0046b059:
+db 0x23
+db 0x30
+db 0x37
+dd 0xdab03637
+db 0xa1
+db 0x48
+db 0x00
+
+ref_0046b063:
+db 0x23
+dd 0x37373730
+dd 0xdeb3deb3
+dd 0x49a1deb3
+dd 0xaadaa70a
+dd 0xa4d0a9ba
+dd 0xa172a76c
+db 0x49
+db 0x00
+
+ref_0046b07e:
+db 0x23
+db 0x30
+dd 0xd4383737
+dd 0x0048a1a3
+
+ref_0046b088:
+dd 0x37373023
+dd 0xa77aab39
+dd 0xa172a772
+dd 0xa6a3a441
+dd 0x0049a16e
+
+ref_0046b09c:
+dd 0x38373023
+dd 0xa4eda630
+dd 0xa649a1e2
+dd 0xa7e2a4ed
+dd 0x0049a172
+
+ref_0046b0b0:
+dd 0x38373023
+dd 0xa141a731
+dd 0x41a70a4b
+dd 0xd3ad6fb3
+dd 0x73b56ab1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b0c7:
+db 0x23
+dd 0x32383730
+dd 0x63b469a5
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b0d3:
+db 0x23
+dd 0x33383730
+dd 0x62b156b2
+dd 0xe8a646aa
+dd 0xb40a41a1
+dd 0xa7efb9b1
+dd 0xbc6fb3da
+dd 0x0048a1cb
+
+ref_0046b0f0:
+dd 0x38373023
+dd 0xb64fa734
+dd 0xafb1aa7d
+dd 0xa146a4ba
+db 0x49
+db 0x00
+
+ref_0046b102:
+db 0x23
+db 0x30
+dd 0xa9353837
+dd 0xa77db6f1
+dd 0x0a41a1da
+dd 0x7db6f1a9
+dd 0x49a1daa7
+db 0x00
+
+ref_0046b119:
+db 0x23
+db 0x30
+db 0x37
+dd 0xc9b93638
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b123:
+db 0x23
+dd 0x37383730
+dd 0x7cbf56c1
+dd 0xa3a441a1
+dd 0x49a1aea7
+db 0x00
+
+ref_0046b135:
+db 0x23
+db 0x30
+db 0x37
+dd 0xdeb33838
+dd 0xa60a41a1
+dd 0xbbb0a4b3
+dd 0xb9f8a5f2
+dd 0xa14ba1cf
+db 0x48
+db 0x00
+
+ref_0046b14e:
+db 0x23
+db 0x30
+dd 0xa7393837
+dd 0xada3a4da
+dd 0xa1dab06e
+dd 0x0049a1e3
+
+ref_0046b160:
+dd 0x39373023
+dd 0xb7daa730
+dd 0xbf52b651
+dd 0xa159a67d
+db 0xe3
+db 0x00
+
+ref_0046b172:
+db 0x23
+db 0x30
+dd 0xa5313937
+dd 0xb7f0aecd
+dd 0x0af8aa7c
+dd 0xbeaf4bbd
+dd 0x49a1e1b3
+db 0x00
+
+ref_0046b189:
+db 0x23
+db 0x30
+db 0x37
+dd 0x6ea63239
+dd 0x6ead51b7
+dd 0xe3a143ad
+db 0x00
+
+ref_0046b199:
+db 0x23
+db 0x30
+db 0x37
+dd 0x41a73339
+dd 0x6ea6baaa
+dd 0xa40ab3b9
+dd 0xa6fbb8f1
+dd 0x00e3a16e
+
+ref_0046b1b0:
+dd 0x39373023
+dd 0xaadaa734
+dd 0x7dba0aba
+dd 0xd0a947ab
+dd 0xfdc56ca4
+dd 0xeda641a7
+db 0x00
+
+ref_0046b1c9:
+db 0x23
+db 0x30
+db 0x37
+dd 0x51b73539
+dd 0xa60a6ead
+dd 0xac68a55e
+dd 0xb6ddacdd
+dd 0x0048a1dc
+
+ref_0046b1e0:
+dd 0x39373023
+dd 0xad7db636
+dd 0xaa70a4d3
+dd 0xa1baafb1
+db 0x49
+db 0x00
+
+ref_0046b1f2:
+db 0x23
+db 0x30
+dd 0xa9373937
+dd 0xa8f9bbd0
+dd 0xa174f667
+dd 0xa3a40a41
+dd 0x69a5e6bd
+dd 0x49a1a4b1
+db 0x00
+
+ref_0046b20d:
+db 0x23
+db 0x30
+db 0x37
+dd 0xdaa73839
+dd 0xb0acd3a8
+dd 0xb26aa40a
+dd 0xb041aab3
+dd 0x0049a1c8
+
+ref_0046b224:
+dd 0x39373023
+dd 0xaddaa739
+dd 0xb0f8ae6e
+dd 0xaed7baa3
+dd 0x0049a160
+
+ref_0046b238:
+dd 0x30383023
+dd 0xa44fa530
+dd 0xabc1b448
+dd 0xbaaa0add
+dd 0xe8a840a4
+dd 0x49a149a1
+db 0x00
+
+ref_0046b251:
+db 0x23
+db 0x30
+db 0x38
+dd 0xedbf3130
+dd 0xa3b3d3b7
+dd 0x70adaba5
+dd 0xab0a65b5
+dd 0xa65db3d8
+dd 0xa1dcb66e
+db 0x48
+db 0x00
+
+ref_0046b26e:
+db 0x23
+db 0x30
+dd 0xad323038
+dd 0xa4cea5c9
+dd 0xa155a440
+db 0x49
+db 0x00
+
+ref_0046b27e:
+db 0x23
+db 0x30
+dd 0xb4333038
+dd 0xa561a64e
+dd 0x0aa7aef0
+dd 0x55a440a4
+dd 0x49a161a7
+db 0x00
+
+ref_0046b295:
+db 0x23
+db 0x30
+db 0x38
+dd 0xb3b23430
+dd 0xd2ac48a4
+dd 0xa70aceba
+dd 0xbf57bfda
+dd 0x00e3a1f4
+
+ref_0046b2ac:
+dd 0x30383023
+dd 0xb6d9c135
+dd 0xa15db6c3
+dd 0x41a70a48
+dd 0x57a4d3b8
+dd 0x46a4c9a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b2c7:
+db 0x23
+dd 0x36303830
+dd 0xfea8fea8
+dd 0xa50a49a1
+dd 0xb4a7aef0
+dd 0xa7d1a458
+dd 0x0049a161
+
+ref_0046b2e0:
+dd 0x30383023
+dd 0xa96ead37
+dd 0xa9fda5c7
+dd 0xa4dba6c7
+dd 0x0061a776
+
+ref_0046b2f4:
+dd 0x30383023
+dd 0xaca3a438
+dd 0xb747ac4f
+dd 0xa1baaa4e
+dd 0x4fa70a41
+dd 0xdaa7c7a9
+db 0xb3
+db 0xe1
+db 0x00
+
+ref_0046b30f:
+db 0x23
+dd 0x39303830
+dd 0x48a4d0bd
+dd 0x40a461ae
+dd 0xc0b955a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b323:
+db 0x23
+dd 0x30313830
+dd 0x61c36ea6
+dd 0x41a1e1b3
+dd 0xae51b70a
+dd 0xae48a460
+dd 0x00e3a161
+
+ref_0046b33c:
+dd 0x31383023
+dd 0xabdab031
+dd 0xa768a5a2
+dd 0x0ae3a161
+dd 0xb0a453a8
+dd 0x46a4f2bb
+dd 0x5fb0a3a4
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046b35b:
+db 0x23
+dd 0x32313830
+dd 0xddbbdaa7
+dd 0xb0c06ead
+dd 0x49a1a3a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b36f:
+db 0x23
+dd 0x33313830
+dd 0xfeadefbf
+dd 0xe4a440a4
+dd 0xb2d1aa0a
+dd 0xa96ea6bc
+dd 0x0048a14f
+
+ref_0046b388:
+dd 0x31383023
+dd 0xa7b0bb34
+dd 0xa4e6b2d6
+dd 0x48a50ae2
+dd 0x4dae4ba7
+dd 0xe1b363a8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b3a3:
+db 0x23
+dd 0x35313830
+dd 0x7cb5c7af
+dd 0xeab04fac
+dd 0xc00ac1a5
+dd 0xaac9bab3
+dd 0xb071b8ba
+dd 0x0049a1c8
+
+ref_0046b3c0:
+dd 0x31383023
+dd 0xbc6fb336
+dd 0x7ea40acb
+dd 0x47a558a6
+dd 0xbba5a8a6
+dd 0x49a1c0b9
+db 0x00
+
+ref_0046b3d9:
+db 0x23
+db 0x30
+db 0x38
+dd 0xb5b03731
+dd 0xbdb5b5b0
+dd 0x61a7c6a8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b3eb:
+db 0x23
+dd 0x38313830
+dd 0xccaddaa7
+dd 0xa60a4fac
+dd 0xb040a450
+dd 0xa1baaaea
+db 0x49
+db 0x00
+
+ref_0046b402:
+db 0x23
+db 0x30
+dd 0xa7393138
+dd 0xaaaba841
+dd 0x0adcabba
+dd 0xa2b679b1
+dd 0x49a1c0b9
+db 0x00
+
+ref_0046b419:
+db 0x23
+db 0x30
+db 0x38
+dd 0xa3a83032
+dd 0xe0c2b7ad
+dd 0x49a1ebb2
+db 0x00
+
+ref_0046b429:
+db 0x23
+db 0x30
+db 0x38
+dd 0xabad3132
+dd 0xcbb873b7
+dd 0x61a743e6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b43b:
+db 0x23
+dd 0x32323830
+dd 0x51b7daa7
+dd 0xb2b7b2b7
+dd 0xe3a17db8
+db 0x00
+
+ref_0046b44d:
+db 0x23
+db 0x30
+db 0x38
+dd 0x48a43332
+dd 0xa60acda5
+dd 0xa4b2a5f3
+dd 0xa55ea5d3
+dd 0x0049a15e
+
+ref_0046b464:
+dd 0x32383023
+dd 0xaadaa734
+dd 0xa1fabfba
+db 0xe3
+db 0x00
+
+ref_0046b472:
+db 0x23
+db 0x30
+dd 0xa7353238
+dd 0xb7a3a4da
+dd 0xa1e6bd51
+db 0xe3
+db 0x00
+
+ref_0046b482:
+db 0x23
+db 0x30
+dd 0xa4363238
+dd 0xa461ae48
+dd 0xb46eada3
+dd 0xa1d5b0ab
+db 0xe3
+db 0x00
+
+ref_0046b496:
+db 0x23
+db 0x30
+dd 0xb0373238
+dd 0xa1bdb951
+dd 0x0049a149
+
+ref_0046b4a4:
+dd 0x32383023
+dd 0xae48a438
+dd 0xaaaba861
+dd 0x6ea60aba
+dd 0xbaaa6ea6
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046b4bb:
+db 0x23
+dd 0x39323830
+dd 0xa3b341a7
+dd 0x48a460ae
+dd 0xe3a161ae
+db 0x00
+
+ref_0046b4cd:
+db 0x23
+db 0x30
+db 0x38
+dd 0xd0bd3033
+dd 0x61ae6aa4
+dd 0xada3a40a
+dd 0xb052b66e
+dd 0x00e3a1d5
+
+ref_0046b4e4:
+dd 0x33383023
+dd 0xa1e3b631
+dd 0x48a40ae3
+dd 0xe1aa61ae
+dd 0x6ea646a4
+dd 0xa40a5ba4
+dd 0xa65cbb7e
+dd 0xa1baaa6e
+db 0xe3
+db 0x00
+
+ref_0046b506:
+db 0x23
+db 0x30
+dd 0xa8323338
+dd 0xa4b3a653
+dd 0xa8a1b148
+dd 0x00e3a1fd
+
+ref_0046b518:
+dd 0x33383023
+dd 0xa1e3b633
+dd 0x48a40ae3
+dd 0xa3a461ae
+dd 0xd5b0deba
+db 0x00
+
+ref_0046b52d:
+db 0x23
+db 0x30
+db 0x38
+dd 0x48a43433
+dd 0xa60a61ae
+dd 0xb1c6a8b3
+dd 0xbf6eada1
+dd 0xa1d5b0ec
+db 0x49
+db 0x00
+
+ref_0046b546:
+db 0x23
+db 0x30
+dd 0xa4353338
+dd 0xa7f2b8a3
+dd 0xa46ea641
+dd 0xa1d5b046
+db 0x49
+db 0x00
+
+ref_0046b55a:
+db 0x23
+db 0x30
+dd 0xad363338
+dd 0x0ae3a1fc
+dd 0xdba6daa7
+dd 0xa1ac76a4
+dd 0xcbadd3b8
+db 0xb7
+db 0xb0
+db 0x00
+
+ref_0046b573:
+db 0x23
+dd 0x37333830
+dd 0xe4a74fa7
+dd 0xc2b3daa7
+dd 0x49a1d0b7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b587:
+db 0x23
+dd 0x38333830
+dd 0x49c26fb3
+dd 0xb30afabf
+dd 0xbb6eada3
+dd 0xa1e3bdad
+db 0xe3
+db 0x00
+
+ref_0046b59e:
+db 0x23
+db 0x30
+dd 0xa7393338
+dd 0xb3d3a441
+dd 0xa4dfa467
+dd 0x0049a146
+
+ref_0046b5b0:
+dd 0x34383023
+dd 0xa1e2b630
+dd 0x6ead0a49
+dd 0x6ea6b5b0
+dd 0xcda442aa
+dd 0xe3a1e1b3
+db 0x00
+
+ref_0046b5c9:
+db 0x23
+db 0x30
+db 0x38
+dd 0x6fb33134
+dd 0xaba8cbbc
+dd 0x43bad3a4
+dd 0x49a146a4
+db 0x00
+
+ref_0046b5dd:
+db 0x23
+db 0x30
+db 0x38
+dd 0x41a73234
+dd 0xbaaaccad
+dd 0xb40afabf
+dd 0xa74fac4e
+dd 0xbfbaaada
+dd 0x0049a1fa
+
+ref_0046b5f8:
+dd 0x34383023
+dd 0xbfe2a733
+dd 0xb5bdaefa
+dd 0xb3a60ab9
+dd 0x6eadddbb
+dd 0x48a4baaa
+dd 0x49a161a7
+db 0x00
+
+ref_0046b615:
+db 0x23
+db 0x30
+db 0x38
+dd 0x6fb33434
+dd 0x61a6f4b6
+dd 0xdaa7e6bd
+dd 0x49a161a7
+db 0x00
+
+ref_0046b629:
+db 0x23
+db 0x30
+db 0x38
+dd 0x51af3534
+dd 0xad0a7dab
+dd 0xa7f2b86e
+dd 0xa6abb441
+dd 0x0049a161
+
+ref_0046b640:
+dd 0x34383023
+dd 0xab51af36
+dd 0x51b70a7d
+dd 0x41a7f2b8
+dd 0xd0a9abb4
+dd 0xe3a16ca4
+db 0x00
+
+ref_0046b659:
+db 0x23
+db 0x30
+db 0x38
+dd 0x41ad3734
+dd 0x41a76fb1
+dd 0xceb9ceb9
+dd 0x49a1e0c2
+db 0x00
+
+ref_0046b66d:
+db 0x23
+db 0x30
+db 0x38
+dd 0xdaa73834
+dd 0xdaa7dcc5
+dd 0xa70adcc5
+dd 0xc5dcc5da
+dd 0xa1dcc5dc
+db 0xe3
+db 0x00
+
+ref_0046b686:
+db 0x23
+db 0x30
+dd 0xaf393438
+dd 0xad7dab51
+dd 0xb3fdc56e
+dd 0xa6f4b66f
+dd 0xabb40a61
+dd 0x48a444a5
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046b6a3:
+db 0x23
+dd 0x30353830
+dd 0x7dab51af
+dd 0xbd0a6ead
+dd 0xa8d1a4d0
+dd 0xa858a5cf
+dd 0xa146a4d3
+db 0x49
+db 0x00
+
+ref_0046b6be:
+db 0x23
+db 0x30
+dd 0xaf313538
+dd 0x0a7dab51
+dd 0x63b4d0bd
+dd 0x67c35dc5
+dd 0x41a740bb
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b6d7:
+db 0x23
+dd 0x32353830
+dd 0x49a1a2ab
+dd 0xa5e2a70a
+dd 0xac69a6a6
+dd 0xa6ada5b0
+dd 0x0049a161
+
+ref_0046b6f0:
+dd 0x35383023
+dd 0xa148bc33
+dd 0xa3a40a49
+dd 0xe2a4eea9
+dd 0xe3a16fc4
+db 0x00
+
+ref_0046b705:
+db 0x23
+db 0x30
+db 0x38
+dd 0x46aa3435
+dd 0xb9b5e8a6
+dd 0x49a1daa7
+db 0x00
+
+ref_0046b715:
+db 0x23
+db 0x30
+db 0x38
+dd 0xa3a43535
+dd 0xcab0e3ad
+dd 0xa2ab49a1
+dd 0x49a1a2ab
+db 0x00
+
+ref_0046b729:
+db 0x23
+db 0x30
+db 0x38
+dd 0xceba3635
+dd 0xc9aeb1c4
+dd 0xeca8a1b6
+dd 0x49a146a4
+db 0x00
+
+ref_0046b73d:
+db 0x23
+db 0x30
+db 0x38
+dd 0xd0bd3735
+dd 0x4fab67a7
+dd 0x41a1abad
+dd 0xa8fea80a
+dd 0x0049a1fe
+
+ref_0046b754:
+dd 0x35383023
+dd 0xb44ea538
+dd 0xabeba4c0
+dd 0x67c30a47
+dd 0x41a740bb
+dd 0x49a149a1
+db 0x00
+
+ref_0046b76d:
+db 0x23
+db 0x30
+db 0x38
+dd 0x69a53935
+dd 0x49a163b4
+dd 0xa441a70a
+dd 0xb74fa75d
+dd 0xa15db651
+db 0x49
+db 0x00
+
+ref_0046b786:
+db 0x23
+db 0x30
+dd 0xbd303638
+dd 0xa641a7d0
+dd 0x0a68a668
+dd 0xddabe1be
+dd 0x49a161a7
+db 0x00
+
+ref_0046b79d:
+db 0x23
+db 0x30
+db 0x38
+dd 0x67a43136
+dd 0xdab0eaad
+dd 0xa70a49a1
+dd 0xa47ea4da
+dd 0xa949a5a3
+dd 0x0043a14f
+
+ref_0046b7b8:
+dd 0x36383023
+dd 0xb8abaf32
+dd 0x0a49a167
+dd 0xa3a460ae
+dd 0xdaa7eca8
+dd 0x49a1d5b0
+db 0x00
+
+ref_0046b7d1:
+db 0x23
+db 0x30
+db 0x38
+dd 0x41a73336
+dd 0x7db6aba8
+dd 0x49a1d5b0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b7e3:
+db 0x23
+dd 0x34363830
+dd 0x49addaa7
+dd 0xaba841a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b7f3:
+db 0x23
+dd 0x35363830
+dd 0xe3a1e1b3
+dd 0xe3a1e3a1
+dd 0xaa0ae3a1
+dd 0xa7bcb2d1
+dd 0xbba6bad6
+dd 0x0049a1f9
+
+ref_0046b810:
+dd 0x36383023
+dd 0xa1e1b336
+dd 0xa1e3a1e3
+dd 0x0ae3a1e3
+dd 0xbcb2d1aa
+dd 0x5eb6d6a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b82b:
+db 0x23
+dd 0x37363830
+dd 0xdaa751b3
+dd 0xeca8eca7
+dd 0x61a746a4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b83f:
+db 0x23
+dd 0x38363830
+dd 0xd3ad6fb3
+dd 0x71ac61a6
+dd 0xb85da40a
+dd 0xbba6bad3
+dd 0xa746a4f9
+dd 0x0048a161
+
+ref_0046b85c:
+dd 0x36383023
+dd 0xa45fc239
+dd 0xb95fc2f4
+dd 0x0a41a171
+dd 0xeea454b8
+dd 0x7eb7e7c0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b877:
+db 0x23
+dd 0x30373830
+dd 0xdaa7f2b8
+dd 0xeab040a4
+dd 0xb36ea60a
+dd 0xa668a642
+dd 0xa1e1b368
+db 0x49
+db 0x00
+
+ref_0046b892:
+db 0x23
+db 0x30
+dd 0xaf313738
+dd 0xb941a7ac
+dd 0x0a65a8b3
+dd 0xcbbc40a4
+dd 0xd8b9f8aa
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b8ab:
+db 0x23
+dd 0x32373830
+dd 0x59c0bcc2
+dd 0x49a16fc5
+db 0x00
+
+ref_0046b8b9:
+db 0x23
+db 0x30
+db 0x38
+dd 0x6fb33337
+dd 0xa40acbbc
+dd 0xa6fbb8f1
+dd 0xc0c8c1b3
+dd 0x00e3a159
+
+ref_0046b8d0:
+dd 0x37383023
+dd 0xa841a634
+dd 0xa640a4d3
+dd 0xa149a1b8
+db 0x49
+db 0x00
+
+ref_0046b8e2:
+db 0x23
+db 0x30
+dd 0xa4353738
+dd 0xa6f4b640
+dd 0xa3b30a61
+dd 0xf1a9a3a4
+dd 0x49a14cb9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b8fb:
+db 0x23
+dd 0x36373830
+dd 0xb8a655a4
+dd 0xb1b4d6bd
+dd 0xaa61be0a
+dd 0xa741a7f1
+dd 0x0048a172
+
+ref_0046b914:
+dd 0x37383023
+dd 0xab51af37
+dd 0xb07cb77d
+dd 0xaaeda64f
+db 0xba
+db 0x00
+
+ref_0046b926:
+db 0x23
+db 0x30
+dd 0xaf383738
+dd 0xa47dab51
+dd 0xb46eada3
+dd 0x0061a6ab
+
+ref_0046b938:
+dd 0x37383023
+dd 0xab51af39
+dd 0xaecda57d
+dd 0xa1d5b0f0
+db 0x49
+db 0x00
+
+ref_0046b94a:
+db 0x23
+db 0x30
+dd 0xa7303838
+dd 0xa7f2b84f
+dd 0x0aa1bbda
+dd 0x5ea675a1
+dd 0x4fac59c0
+dd 0x76a1a4a9
+dd 0x49a149a1
+db 0x00
+
+ref_0046b969:
+db 0x23
+db 0x30
+db 0x38
+dd 0xdaa73138
+dd 0x6fb1b3a6
+dd 0x41a76fb8
+dd 0x48a1dcb6
+db 0x00
+
+ref_0046b97d:
+db 0x23
+db 0x30
+db 0x38
+dd 0xd6bd3238
+dd 0x4eb452b6
+dd 0xf2b84fac
+dd 0xab51af0a
+dd 0xb940a77d
+dd 0xa149a1ef
+db 0x49
+db 0x00
+
+ref_0046b99a:
+db 0x23
+db 0x30
+dd 0xaf333838
+dd 0xb07dab51
+dd 0xa7bdb951
+dd 0x0049a141
+
+ref_0046b9ac:
+dd 0x38383023
+dd 0xbd4fac34
+dd 0xeea90ad6
+dd 0xbaaadaa7
+dd 0x6ca4d0a9
+dd 0x48a1dab0
+db 0x00
+
+ref_0046b9c5:
+db 0x23
+db 0x30
+db 0x38
+dd 0x72ab3538
+dd 0xe1b341a7
+dd 0x49a149a1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b9d7:
+db 0x23
+dd 0x36383830
+dd 0x42a86fa4
+dd 0xe6a6f8c3
+dd 0x49a149a1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046b9eb:
+db 0x23
+dd 0x37383830
+dd 0xf2b8daa7
+dd 0xa80a41a7
+dd 0xa8b9a753
+dd 0xa146a453
+db 0x49
+db 0x00
+
+ref_0046ba02:
+db 0x23
+db 0x30
+dd 0xad383838
+dd 0xaf49a1f3
+dd 0xb0a3a475
+dd 0xa1dcafae
+db 0x49
+db 0x00
+
+ref_0046ba16:
+db 0x23
+db 0x30
+dd 0xb8393838
+dd 0xa8daa7f2
+dd 0xabf6c353
+dd 0xa149a159
+db 0x49
+db 0x00
+
+ref_0046ba2a:
+db 0x23
+db 0x30
+dd 0xaf303938
+dd 0xb07dab51
+dd 0x0abdb951
+dd 0xe3bde0bf
+dd 0x48a4baaa
+dd 0x49a149a1
+db 0x00
+
+ref_0046ba45:
+db 0x23
+db 0x30
+db 0x38
+dd 0x51af3139
+dd 0x69a57dab
+dd 0x6aa4abc1
+dd 0x49a146a4
+db 0x00
+
+ref_0046ba59:
+db 0x23
+db 0x30
+db 0x38
+dd 0x4fa73239
+dd 0x71ab49ad
+dd 0x7dab51af
+dd 0x49a1e1b3
+db 0x00
+
+ref_0046ba6d:
+db 0x23
+db 0x30
+db 0x38
+dd 0x65ab3339
+dd 0xc2b67eb3
+dd 0xe3a174b7
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046ba7f:
+db 0x23
+dd 0x34393830
+dd 0xbab6b3a6
+dd 0x61ae6aa4
+dd 0x41a159a6
+dd 0xbfb3a60a
+dd 0xae6aa4fa
+dd 0xa1e1aa61
+db 0x49
+db 0x00
+
+ref_0046ba9e:
+db 0x23
+db 0x30
+dd 0xae353938
+dd 0xbfc7a8b3
+dd 0xd3a80afa
+dd 0xe1aae1aa
+dd 0x49a161a7
+db 0x00
+
+ref_0046bab5:
+db 0x23
+db 0x30
+db 0x38
+dd 0x6fb33639
+dd 0xd0a9c9b4
+dd 0xa40a6ca4
+dd 0xb3f9bfa3
+dd 0x00e3a1e1
+
+ref_0046bacc:
+dd 0x39383023
+dd 0xadb4a537
+dd 0xb6d3b0d3
+dd 0xa161a771
+db 0x49
+db 0x00
+
+ref_0046bade:
+db 0x23
+db 0x30
+dd 0xa5383938
+dd 0xa4abb4e6
+dd 0xa755a440
+dd 0x0049a161
+
+ref_0046baf0:
+dd 0x39383023
+dd 0xae57ad39
+dd 0xc34cb5fc
+dd 0x0a41a1e4
+dd 0x59c05ea6
+dd 0xa4a94fac
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046bb0b:
+db 0x23
+dd 0x30303930
+dd 0x41a7b0c0
+dd 0xd3adabb4
+dd 0xb373b70a
+dd 0xa1acab79
+db 0x49
+db 0x00
+
+ref_0046bb22:
+db 0x23
+db 0x30
+dd 0xa7313039
+dd 0xa1e1b3d6
+dd 0xf9bb0a49
+dd 0xccaaaab0
+dd 0xe3a16fb1
+db 0x00
+
+ref_0046bb39:
+db 0x23
+db 0x30
+db 0x39
+dd 0xd1a43230
+dd 0xb0adcfa8
+dd 0x49a17bc1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046bb4b:
+db 0x23
+dd 0x33303930
+dd 0x5dc563b4
+dd 0xada87bb2
+dd 0x49a149a1
+db 0x00
+
+ref_0046bb5d:
+db 0x23
+db 0x30
+db 0x39
+dd 0xfdc53430
+dd 0xd3a8daa7
+dd 0xa5b0ac0a
+dd 0xaea3b0c1
+dd 0xa149a160
+db 0x49
+db 0x00
+
+ref_0046bb76:
+db 0x23
+db 0x30
+dd 0xba353039
+dd 0xa540c5fb
+dd 0xbe65aeab
+dd 0x0ae4bce3
+dd 0x48a448a4
+dd 0x64b3b3a6
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046bb93:
+db 0x23
+dd 0x36303930
+dd 0xbaaa41a7
+dd 0x4fac4eb4
+dd 0xbaaadaa7
+dd 0xa70a41a1
+dd 0xc1baaada
+dd 0xa74facd9
+dd 0xa1baaada
+db 0x49
+db 0x00
+
+ref_0046bbb6:
+db 0x23
+db 0x30
+dd 0xa7373039
+dd 0xb5e6ab4f
+dd 0xb9aba8db
+dd 0x0049a1c0
+
+ref_0046bbc8:
+dd 0x30393023
+dd 0xaef0a538
+dd 0xac4faca7
+dd 0xa846a4b0
+dd 0xf3a70aab
+dd 0xbaaaf8aa
+dd 0x49a1f4b8
+db 0x00
+
+ref_0046bbe5:
+db 0x23
+db 0x30
+db 0x39
+dd 0x4cb93930
+dd 0xf4b8a8b0
+dd 0xa46ead0a
+dd 0xb3dfa470
+dd 0x0049a1e1
+
+ref_0046bbfc:
+dd 0x31393023
+dd 0xae48a430
+dd 0xa3a40a61
+dd 0x47ac4fac
+dd 0xbaaa4eb7
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046bc13:
+db 0x23
+dd 0x31313930
+dd 0x4fac6fb3
+dd 0xdba641a7
+dd 0xbaaae4a7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046bc27:
+db 0x23
+dd 0x32313930
+dd 0x7da965a9
+dd 0x46a47ab1
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046bc37:
+db 0x23
+dd 0x33313930
+dd 0x61ae48a4
+dd 0x61bddcab
+dd 0x49a1baaa
+db 0x00
+
+ref_0046bc49:
+db 0x23
+db 0x30
+db 0x39
+dd 0x48a43431
+dd 0x4fac61ae
+dd 0x64b64cb5
+dd 0xe3a1baaa
+db 0x00
+
+ref_0046bc5d:
+db 0x23
+db 0x30
+db 0x39
+dd 0xd0bd3531
+dd 0xa70a7ab1
+dd 0xc2d6a7d6
+dd 0xa77db6f7
+dd 0xa149a161
+db 0x49
+db 0x00
+
+ref_0046bc76:
+db 0x23
+db 0x30
+dd 0xa6363139
+dd 0xa5d0bdb3
+dd 0xad48a450
+dd 0xa17bc1b0
+db 0x49
+db 0x00
+
+ref_0046bc8a:
+db 0x23
+db 0x30
+dd 0xa4373139
+dd 0xaaf5ac6a
+dd 0x0abcb2d1
+dd 0xaab0aab0
+dd 0x49a1a6ba
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046bca3:
+db 0x23
+dd 0x38313930
+dd 0xd3ad5eb6
+dd 0xbca447ba
+dd 0xe3a1bca4
+db 0x00
+
+ref_0046bcb5:
+db 0x23
+db 0x30
+db 0x39
+dd 0x6ea63931
+dd 0xc1a5eab0
+dd 0xc36ead0a
+dd 0xb37cb5ba
+dd 0x0049a1e1
+
+ref_0046bccc:
+dd 0x32393023
+dd 0xbbabaa30
+dd 0xba57a4f9
+dd 0xa16fc5a6
+dd 0x0049a149
+
+ref_0046bce0:
+dd 0x32393023
+dd 0xbc48bc31
+dd 0x0a49a148
+dd 0xf9aaf6c3
+dd 0x4ea66aa4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046bcf7:
+db 0x23
+dd 0x32323930
+dd 0x58a670c1
+dd 0x6eadb8a6
+dd 0x48a4c4bc
+dd 0xc0b4a50a
+dd 0xad44a5bb
+dd 0xa4c4bc6e
+dd 0x0049a148
+
+ref_0046bd18:
+dd 0x32393023
+dd 0xa148bc33
+dd 0x41a70a49
+dd 0xddc44fac
+dd 0x74c051af
+dd 0xe3a1baaa
+db 0x00
+
+ref_0046bd31:
+db 0x23
+db 0x30
+db 0x39
+dd 0xbcb13432
+dd 0x59c0d3ad
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046bd3f:
+db 0x23
+dd 0x35323930
+dd 0xcbbc6fb3
+dd 0xc8c17ea4
+dd 0x49a1fabf
+db 0x00
+
+ref_0046bd51:
+db 0x23
+db 0x30
+db 0x39
+dd 0xdaa73632
+dd 0xa3a4d9c1
+dd 0xaba851b7
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046bd63:
+db 0x23
+dd 0x37323930
+dd 0x42a842a8
+dd 0xe7c0b0ac
+db 0x00
+
+ref_0046bd71:
+db 0x23
+db 0x30
+db 0x39
+dd 0xd9c13832
+dd 0xfabfdaa7
+dd 0xe3a1d3a8
+db 0x00
+
+ref_0046bd81:
+db 0x23
+db 0x30
+db 0x39
+dd 0x48a43932
+dd 0xbaaa61ae
+dd 0x6ca4d0a9
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046bd93:
+db 0x23
+dd 0x30333930
+dd 0x6eadd6bd
+dd 0xbaaa41a7
+dd 0x61a6eac4
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046bda7:
+db 0x23
+dd 0x31333930
+dd 0xb3a6fead
+dd 0x6fb348a4
+dd 0xbaaacbbc
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046bdbb:
+db 0x23
+dd 0x32333930
+dd 0xa3a4daa7
+dd 0x56a66ead
+dd 0xe0c2e1ab
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046bdcf:
+db 0x23
+dd 0x33333930
+dd 0xfbc24fa7
+dd 0xe3a143b1
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046bddf:
+db 0x23
+dd 0x34333930
+dd 0x4facbaa8
+dd 0xe6bd44ab
+dd 0x49a17eab
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046bdf3:
+db 0x23
+dd 0x35333930
+dd 0x49a17aab
+dd 0x61ae48a4
+dd 0x57adafa8
+dd 0xaa5cbb0a
+dd 0xa4d0a9ba
+dd 0x00e3a16c
+
+ref_0046be10:
+dd 0x33393023
+dd 0xa853a836
+dd 0xa4eea9c6
+dd 0x0a61ae48
+dd 0x6ca4d0a9
+dd 0xc0b946b7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046be2b:
+db 0x23
+dd 0x37333930
+dd 0xb9b5d9c1
+dd 0x61ae48a4
+dd 0xe3a1d5b0
+db 0x00
+
+ref_0046be3d:
+db 0x23
+db 0x30
+db 0x39
+dd 0xdaa73833
+dd 0xf7c26ead
+dd 0x6fb37db6
+dd 0x49a1ccb8
+db 0x00
+
+ref_0046be51:
+db 0x23
+db 0x30
+db 0x39
+dd 0xa3a43933
+dd 0x60ae6ead
+dd 0x61ae48a4
+dd 0xe3a1d5b0
+db 0x00
+
+ref_0046be65:
+db 0x23
+db 0x30
+db 0x39
+dd 0xbdb03034
+dd 0xa3a4fbc2
+dd 0xbb0adbb5
+dd 0xa6e2a76b
+dd 0x00e3a1cc
+
+ref_0046be7c:
+dd 0x34393023
+dd 0xa4f6c331
+dd 0xa461ae48
+dd 0xa8f2bbb0
+dd 0x0049a1c6
+
+ref_0046be90:
+dd 0x34393023
+dd 0xbf70a432
+dd 0xad5da4fa
+dd 0xa1d9ac6e
+dd 0x0049a148
+
+ref_0046bea4:
+dd 0x34393023
+dd 0xbe41a733
+dd 0xbbb0a4cc
+dd 0xe2a90af2
+dd 0x7cb5daa7
+dd 0x49a148a1
+db 0x00
+
+ref_0046bebd:
+db 0x23
+db 0x30
+db 0x39
+dd 0xd6bd3434
+dd 0xf2b86ead
+dd 0x6ea641a7
+dd 0x49a148a1
+db 0x00
+
+ref_0046bed1:
+db 0x23
+db 0x30
+db 0x39
+dd 0xa6aa3534
+dd 0xa6aa72a7
+dd 0xb90a72a7
+dd 0xaa46a84c
+dd 0x00e3a165
+
+ref_0046bee8:
+dd 0x34393023
+dd 0xbc48bc36
+dd 0xa148bc48
+db 0xe3
+db 0x00
+
+ref_0046bef6:
+db 0x23
+db 0x30
+dd 0xa4373439
+dd 0xa1fabf70
+dd 0xbf70a442
+dd 0x0049a1fa
+
+ref_0046bf08:
+dd 0x34393023
+dd 0xaddaa738
+dd 0xacdabe6e
+dd 0xa676a4b0
+dd 0x0049a1b3
+
+ref_0046bf1c:
+dd 0x34393023
+dd 0xaa6ea639
+dd 0xa1c0b9b1
+db 0x49
+db 0x00
+
+ref_0046bf2a:
+db 0x23
+db 0x30
+dd 0xa7303539
+dd 0xaca3a4da
+dd 0xb747ac4f
+dd 0xa1baaa4e
+db 0x49
+db 0x00
+
+ref_0046bf3e:
+db 0x23
+db 0x30
+dd 0xa7313539
+dd 0xb3aba84f
+dd 0xa1e4c36f
+db 0x49
+db 0x00
+
+ref_0046bf4e:
+db 0x23
+db 0x30
+dd 0xa7323539
+dd 0xc0e0afda
+dd 0xa755a7b0
+dd 0xa1dcb641
+db 0x48
+db 0x00
+
+ref_0046bf62:
+db 0x23
+db 0x30
+dd 0xa4333539
+dd 0xbde7a96a
+dd 0x0049a1e6
+
+ref_0046bf70:
+dd 0x35393023
+dd 0xa7a2ab34
+dd 0xa8f4b851
+dd 0x0049a1c8
+
+ref_0046bf80:
+dd 0x35393023
+dd 0xb6b1b335
+dd 0xac5dc5a7
+dd 0x00e3a1c9
+
+ref_0046bf90:
+dd 0x35393023
+dd 0xa1e1b336
+dd 0xa1c5bb49
+db 0x49
+db 0x00
+
+ref_0046bf9e:
+db 0x23
+db 0x30
+dd 0xa7373539
+dd 0xb1f2ba4f
+dd 0x0049a169
+
+ref_0046bfac:
+dd 0x35393023
+dd 0xa7b9b538
+dd 0x0049a1da
+
+ref_0046bfb8:
+dd 0x35393023
+dd 0xb04fa739
+dd 0x0049a1ca
+
+ref_0046bfc4:
+dd 0x36393023
+dd 0xc4ceba30
+dd 0xb6c9aeb1
+dd 0xa4eca8a1
+dd 0x00e3a146
+
+ref_0046bfd8:
+dd 0x36393023
+dd 0xb94eb431
+dd 0xb340a4b3
+dd 0xa1dab9f5
+db 0xe3
+db 0x00
+
+ref_0046bfea:
+db 0x23
+db 0x30
+dd 0xa4323639
+dd 0xb64cb9a3
+dd 0xaa7db67d
+dd 0xa1baafb1
+db 0x49
+db 0x00
+
+ref_0046bffe:
+db 0x23
+db 0x30
+dd 0xa7333639
+dd 0xa66fb841
+dd 0xb1b3c0b3
+dd 0x0049a16f
+
+ref_0046c010:
+dd 0x36393023
+dd 0xa5d3a434
+dd 0xa4a6bc69
+dd 0x0049a146
+
+ref_0046c020:
+dd 0x36393023
+dd 0xa4daa735
+dd 0xa5a3a47e
+dd 0x0049a149
+
+ref_0046c030:
+dd 0x36393023
+dd 0xa46fb336
+dd 0xa4e2baa3
+dd 0xa1f2bbb0
+db 0x49
+db 0x00
+
+ref_0046c042:
+db 0x23
+db 0x30
+dd 0xa8373639
+dd 0xa17db6ab
+db 0x49
+db 0x00
+
+ref_0046c04e:
+db 0x23
+db 0x30
+dd 0xbd383639
+dd 0xa84cb9d0
+dd 0x0049a1d3
+
+ref_0046c05c:
+dd 0x36393023
+dd 0xb7daa739
+dd 0xb9e0c27c
+dd 0xa1baaa42
+db 0x49
+db 0x00
+
+ref_0046c06e:
+db 0x23
+db 0x30
+dd 0xac303739
+dd 0xaadaa7dd
+dd 0x0049a1ba
+
+ref_0046c07c:
+dd 0x37393023
+dd 0xb7daa731
+dd 0xa7b9b57c
+dd 0xaca60a41
+dd 0xbaaadabe
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c093:
+db 0x23
+dd 0x32373930
+dd 0x6ea6d3a4
+dd 0x46a4c8c1
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046c0a3:
+db 0x23
+dd 0x33373930
+dd 0xf4a7b2b5
+dd 0x7eb7e7c0
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c0b3:
+db 0x23
+dd 0x34373930
+dd 0x49a1d9b6
+dd 0xbaaadaa7
+dd 0xcda442aa
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c0c7:
+db 0x23
+dd 0x35373930
+dd 0x74b3eeb4
+dd 0xe6a643ba
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c0d7:
+db 0x23
+dd 0x36373930
+dd 0x6ab0d6a7
+dd 0x49a1e0c2
+db 0x00
+
+ref_0046c0e5:
+db 0x23
+db 0x30
+db 0x39
+dd 0xa9b63737
+dd 0x7db6abad
+dd 0x49a1f5b9
+db 0x00
+
+ref_0046c0f5:
+db 0x23
+db 0x30
+db 0x39
+dd 0xf0a53837
+dd 0x40a4a7ae
+dd 0x49a155a4
+db 0x00
+
+ref_0046c105:
+db 0x23
+db 0x30
+db 0x39
+dd 0x4fa73937
+dd 0xd3a4aba8
+dd 0x49a1d6a7
+db 0x00
+
+ref_0046c115:
+db 0x23
+db 0x30
+db 0x39
+dd 0xb3ae3038
+dd 0x61a768a5
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046c123:
+db 0x23
+dd 0x31383930
+dd 0x49a1e1b3
+dd 0x6aa4abc1
+dd 0x49a146a4
+db 0x00
+
+ref_0046c135:
+db 0x23
+db 0x30
+db 0x39
+dd 0x41a73238
+dd 0xb10a7cb7
+dd 0xb3eca86f
+dd 0xaab3c0f8
+dd 0x0049a1ba
+
+ref_0046c14c:
+dd 0x38393023
+dd 0xb341a733
+dd 0x0ab1b4ba
+dd 0xcbbc6fb3
+dd 0xdaa7efb9
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c163:
+db 0x23
+dd 0x34383930
+dd 0x6eaddaa7
+dd 0x44b669a7
+dd 0xa8aadaa7
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c177:
+db 0x23
+dd 0x35383930
+dd 0xebabdaa7
+dd 0x49a141a7
+db 0x00
+
+ref_0046c185:
+db 0x23
+db 0x30
+db 0x39
+dd 0xdaa73638
+dd 0x6ead7cb7
+dd 0xd3a85ea6
+dd 0x49a1baaa
+db 0x00
+
+ref_0046c199:
+db 0x23
+db 0x30
+db 0x39
+dd 0xc7a93738
+dd 0x49a1abaa
+dd 0x49a149a1
+db 0x00
+
+ref_0046c1a9:
+db 0x23
+db 0x30
+db 0x39
+dd 0x53a83838
+dd 0xf2bbb0a4
+db 0xa1
+db 0xe3
+db 0x00
+
+ref_0046c1b7:
+db 0x23
+dd 0x39383930
+dd 0xeeb9b5c4
+dd 0x49a149a1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c1c7:
+db 0x23
+dd 0x30393930
+dd 0xdaa7fdc5
+dd 0x49a1aba8
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c1d7:
+db 0x23
+dd 0x31393930
+dd 0x52a9cfb1
+dd 0x49a1dab0
+db 0x00
+
+ref_0046c1e5:
+db 0x23
+db 0x30
+db 0x39
+dd 0x75af3239
+dd 0xb0b7cbad
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c1f3:
+db 0x23
+dd 0x33393930
+dd 0xf3a6b0ac
+dd 0xdaa74fac
+db 0xa1
+db 0x48
+db 0x00
+
+ref_0046c203:
+db 0x23
+dd 0x34393930
+dd 0xdaa7b9b5
+dd 0x49a1fabf
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c213:
+db 0x23
+dd 0x35393930
+dd 0x73b56ab1
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c21f:
+db 0x23
+dd 0x36393930
+dd 0x49a1d9b6
+dd 0xd3adbbc0
+dd 0x49a178b4
+db 0x00
+
+ref_0046c231:
+db 0x23
+db 0x30
+db 0x39
+dd 0xdeb33739
+db 0xa1
+db 0x49
+db 0x00
+
+ref_0046c23b:
+db '#0998@19',0x00
+
+ref_0046c244:
+db '#0999@19',0x00
+
+ref_0046c24d:
+db '#1000@11',0x00
+
+ref_0046c256:
+db '#1001@12',0x00
+
+ref_0046c25f:
+db '#1002@11',0x00
+
+ref_0046c268:
+db '#1003@12',0x00
+
+ref_0046c271:
+db '#1004@11',0x00
+
+ref_0046c27a:
+db '#1005@12',0x00
+
+ref_0046c283:
+db '#1006@11',0x00
+
+ref_0046c28c:
+db '#1007@19',0x00
+
+ref_0046c295:
+db '#1008@08',0x00
+
+ref_0046c29e:
+db '#1009@08',0x00
+
+ref_0046c2a7:
+db '#1010@08',0x00
+
+ref_0046c2b0:
+db '#1011@12',0x00
+
+ref_0046c2b9:
+db '#1012@18',0x00
+
+ref_0046c2c2:
+db '#1013@18',0x00
+
+ref_0046c2cb:
+db '#1014@19',0x00
+
+ref_0046c2d4:
+db '#1015@08',0x00
+
+ref_0046c2dd:
+db '#1016@19',0x00
+
+ref_0046c2e6:
+db '#1017@11',0x00
+
+ref_0046c2ef:
+db '#1018@12',0x00
+
+ref_0046c2f8:
+db '#1019@11',0x00
+
+ref_0046c301:
+db '#1020@12',0x00
+
+ref_0046c30a:
+db '#1021@20',0x00
+
+ref_0046c313:
+db '#1022@20',0x00
+
+ref_0046c31c:
+db '#1023@11',0x00
+
+ref_0046c325:
+db '#1024@12',0x00
+
+ref_0046c32e:
+db '#1025@11',0x00
+
+ref_0046c337:
+db '#1026@14',0x00
+
+ref_0046c340:
+db '#1027@19',0x00
+
+ref_0046c349:
+db '#1028@14',0x00
+
+ref_0046c352:
+db '#1029@14',0x00
+
+ref_0046c35b:
+db '#1030@14',0x00
+
+ref_0046c364:
+db '#1031@14',0x00
+
+ref_0046c36d:
+db '#1032@03',0x00
+
+ref_0046c376:
+db '#1033@08',0x00
+
+ref_0046c37f:
+db '#1034@05',0x00
+
+ref_0046c388:
+db '#1035@07',0x00
+
+ref_0046c391:
+db '#1036@03',0x00
+
+ref_0046c39a:
+db '#1037@07',0x00
+
+ref_0046c3a3:
+db '#1038@10',0x00
+
+ref_0046c3ac:
+db '#1039@08',0x00
+
+ref_0046c3b5:
+db '#1040@03',0x00
+
+ref_0046c3be:
+db '#1041@05',0x00
+
+ref_0046c3c7:
+db '#1042@07',0x00
+
+ref_0046c3d0:
+db '#1043@10',0x00
+
+ref_0046c3d9:
+db '#1044@13',0x00
+
+ref_0046c3e2:
+db '#1045@09',0x00
+
+ref_0046c3eb:
+db '#1046@15',0x00
+
+ref_0046c3f4:
+db '#1047@08',0x00
+
+ref_0046c3fd:
+db '#1048@14',0x00
+
+ref_0046c406:
+db '#1049@02',0x00,0x00
+
+ref_0046c410:
+dd 0x00000000
+
+ref_0046c414:
+db 'con',0x00
+
+ref_0046c418:
+db 'TMP',0x00
+
+ref_0046c41c:
+db 'TEMP',0x00
+
+ref_0046c421:
+db 'TMPDIR',0x00
+
+ref_0046c428:
+db 'TEMPDIR',0x00
+
+ref_0046c430:
+db 0x00
+
+ref_0046c431:
+db 'wb+',0x00,0x00,0x00,0x00
+
+ref_0046c438:
+db 'Unable to allocate semaphore data',0x0d,0x0a,0x00
+
+ref_0046c45c:
+db 'USER32.DLL',0x00
+
+ref_0046c467:
+db 'GetActiveWindow',0x00
+
+ref_0046c477:
+db 'The instruction at 0x00000000 caused a stack overflow floating point',0x0a,'exception.',0x0a,0x00
+
+ref_0046c4c8:
+db 'The instruction at 0x00000000 caused a stack underflow floating point',0x0a,'exception.',0x0a,0x00
+
+ref_0046c51a:
+db 'The instruction at 0x00000000 caused a denormal operand floating point',0x0a,'exception.',0x0a,0x00
+
+ref_0046c56d:
+db 'The instruction at 0x00000000 caused a division by zero floating point',0x0a,'exception.',0x0a,0x00
+
+ref_0046c5c0:
+db 'The instruction at 0x00000000 caused an inexact value floating point',0x0a,'exception.',0x0a,0x00
+
+ref_0046c611:
+db 'The instruction at 0x00000000 caused an overflow floating point exception.',0x0a,0x00
+
+ref_0046c65d:
+db 'The instruction at 0x00000000 caused an underflow floating point exception.',0x0a,0x00
+
+ref_0046c6aa:
+db 'The instruction at 0x00000000 caused an invalid operation floating point',0x0a,'exception.',0x0a,0x00
+
+ref_0046c6ff:
+db 'The instruction at 0x00000000 referenced memory ',0x00
+
+ref_0046c730:
+db 'at 0x00000000.',0x0a,'The memory could not be ',0x00
+
+ref_0046c758:
+db 'read.',0x0a,0x00
+
+ref_0046c75f:
+db 'written.',0x0a,0x00
+
+ref_0046c769:
+db 'A privileged instruction was executed at address 0x00000000.',0x0a,0x00
+
+ref_0046c7a7:
+db 'An illegal instruction was executed at address 0x00000000.',0x0a,0x00
+
+ref_0046c7e3:
+db 'An integer divide by zero was encountered at address 0x00000000.',0x0a,0x00
+
+ref_0046c825:
+db 'A stack overflow was encountered at address 0x00000000.',0x0a,0x00
+
+ref_0046c85e:
+db 'The program encountered exception 0x00000000 at ',0x00
+
+ref_0046c88f:
+db 'address 0x00000000 and',0x0a,'cannot continue.',0x0a,0x00
+
+ref_0046c8b8:
+db 'Not enough memory to allocate file structures',0x0d,0x0a,0x00
+
+ref_0046c8e8:
+db 'con',0x00
+
+ref_0046c8ec:
+db 'acos',0x00
+
+ref_0046c8f1:
+db 'asin',0x00
+
+ref_0046c8f6:
+db 'sqrt',0x00
+
+ref_0046c8fb:
+db 'exp',0x00
+
+ref_0046c8ff:
+db 'cosh',0x00
+
+ref_0046c904:
+db 'sinh',0x00
+
+ref_0046c909:
+db 'pow',0x00
+
+ref_0046c90d:
+db 'acosh',0x00
+
+ref_0046c913:
+db 'log2',0x00
+
+ref_0046c918:
+db 'log',0x00
+
+ref_0046c91c:
+db 'log10',0x00
+
+ref_0046c922:
+db 'atanh',0x00
+
+ref_0046c928:
+db 'atan2',0x00
+
+ref_0046c92e:
+db 'ipow',0x00
+
+ref_0046c933:
+db 'dpowi',0x00
+
+ref_0046c939:
+db 'cos',0x00
+
+ref_0046c93d:
+db 'sin',0x00
+
+ref_0046c941:
+db 'tan',0x00
+
+ref_0046c945:
+db 0x79
+db 0x30
+db 0x00
+
+ref_0046c948:
+db 0x79
+db 0x31
+db 0x00
+
+ref_0046c94b:
+db 0x79
+db 0x6e
+db 0x00
+
+ref_0046c94e:
+db 'mod',0x00
+
+ref_0046c952:
+db 'cotan',0x00
+
+ref_0046c958:
+db 'Floating-point support not loaded',0x0d,0x0a,0x00
+
+ref_0046c97c:
+db 'Thread has no thread-specific data',0x0d,0x0a,0x00
+
+ref_0046c9a1:
+db 'Unable to resize thread-specific data',0x0d,0x0a,0x00
+
+ref_0046c9c9:
+db 'Unable to resize thread-specific data',0x0d,0x0a,0x00,0x00,0x00,0x00
+
+ref_0046c9f4:
+db 'conin$',0x00
+
+ref_0046c9fb:
+db 'conout$',0x00,0x00
+
+ref_0046ca04:
+db 'Domain error',0x00
+
+ref_0046ca11:
+db 'Argument singularity',0x00
+
+ref_0046ca26:
+db 'Overflow range error',0x00
+
+ref_0046ca3b:
+db 'Underflow range error',0x00
+
+ref_0046ca51:
+db 'Total loss of significance',0x00
+
+ref_0046ca6c:
+db 'Partial loss of significance',0x00
+
+ref_0046ca89:
+db ' in ',0x00,0x00,0x00
+
+ref_0046ca90:
+db 'C_FILE_INFO',0x00
+
+ref_0046ca9c:
+db 'C_FILE_INFO=',0x00,0x00,0x00,0x00
+
+ref_0046caac:
+db 'ABNORMAL TERMINATION',0x0d,0x0a,0x00,0x00
+
+ref_0046cac4:
+db '__bgnthd',0x00,0x00,0x00,0x00
+
+ref_0046cad0:
+dd 0x00000000
+
+ref_0046cad4:
+dd 0x7ff00000
+
+ref_0046cad8:
+dd 0x00000000
+
+ref_0046cadc:
+dd 0x00000000
+
+ref_0046cae0:
+dd 0x00000000
+dd 0x00000280
+dd 0x000001e0
+
+ref_0046caec:
+dd 0x01e00280
+dd 0x00000000
+
+ref_0046caf4:
+dd 0x00000000
+
+ref_0046caf8:
+db 0x00
+
+ref_0046caf9:
+db 0x00
+
+ref_0046cafa:
+db 0x00
+
+ref_0046cafb:
+db 0x00
+
+ref_0046cafc:
+db 0x00
+
+ref_0046cafd:
+db 0x00
+
+ref_0046cafe:
+db 0x00
+
+ref_0046caff:
+db 0x00
+
+ref_0046cb00:
+db 0x00
+
+ref_0046cb01:
+db 0x00
+
+ref_0046cb02:
+db 0x00
+
+ref_0046cb03:
+db 0x00
+
+ref_0046cb04:
+db 0x00
+
+ref_0046cb05:
+db 0x00
+
+ref_0046cb06:
+db 0x00
+
+ref_0046cb07:
+db 0x00
+db 0x00
+
+ref_0046cb09:
+db 0x00
+db 0x00
+
+ref_0046cb0b:
+db 0x00
+dd 0x00000000
+
+ref_0046cb10:
+dd 0x00000000
+
+ref_0046cb14:
+dd 0x01e00280
+dd 0x00000000
+
+ref_0046cb1c:
+dd 0x00000000
+
+ref_0046cb20:
+db 0x06
+db 0x04
+db 0x02
+
+ref_0046cb23:
+db 0x00
+dd 0x00000000
+
+ref_0046cb28:
+db 0xbe
+db 0x00
+
+ref_0046cb2a:
+db 0x7c
+db 0x01
+dd 0x017c0148
+dd 0x017a01d4
+dd 0x01c20148
+dd 0x017c003e
+
+ref_0046cb3c:
+dd 0x00000002
+
+ref_0046cb40:
+dd 0x00000001
+
+ref_0046cb44:
+dd 0x00000000
+
+ref_0046cb48:
+dd 0x00000000
+
+ref_0046cb4c:
+dd 0x00000000
+
+ref_0046cb50:
+dd 0x00000000
+
+ref_0046cb54:
+dd 0x00000000
+
+ref_0046cb58:
+db 'J',0x01,0x00,0x00
+
+ref_0046cb5c:
+dd 0x0000006e
+
+ref_0046cb60:
+dd 0x00000000
+
+ref_0046cb64:
+dd 0x00000000
+dd 0x0000016e
+dd 0x000000dc
+dd 0x0000004a
+dd 0x00000000
+dd 0x00000181
+dd 0x00000113
+dd 0x000000a5
+dd 0x00000037
+
+ref_0046cb88:
+dd ref_004630f4
+dd ref_004630f9
+dd ref_004630fe
+
+ref_0046cb94:
+dd 0x000493e0
+dd 0x00030d40
+dd 0x000186a0
+dd 0x0000c350
+dd 0x00007530
+dd 0x00002710
+
+ref_0046cbac:
+dd ref_00463103
+dd ref_00463108
+dd ref_0046310d
+
+ref_0046cbb8:
+dd ref_00463112
+dd ref_00463119
+dd ref_0046311e
+dd ref_00463123
+dd ref_0046312a
+dd ref_00463131
+
+ref_0046cbd0:
+dd ref_00463112
+dd ref_00463119
+dd ref_0046311e
+dd ref_00463123
+dd ref_0046312a
+dd ref_00463131
+
+ref_0046cbe8:
+dd 0x00000000
+dd 0x000002da
+dd 0x0000016d
+dd 0x000000b6
+dd 0x0000005b
+dd 0x0000001e
+
+ref_0046cc00:
+dd 0x00000000
+dd 0x00000064
+dd 0x00000032
+dd 0x0000000a
+dd 0x00000005
+dd 0x00000003
+
+ref_0046cc18:
+db 0x08
+db 0x00
+
+ref_0046cc1a:
+db 0x0f
+db 0x00
+
+ref_0046cc1c:
+db 0xb8
+db 0x01
+
+ref_0046cc1e:
+db 0x9f
+db 0x00
+dd 0x00b001c8
+dd 0x00d70217
+dd 0x00b00220
+dd 0x00d7026f
+dd 0x00e2025a
+dd 0x00fa0271
+dd 0x0106025a
+dd 0x011e0271
+dd 0x012a025a
+dd 0x01420271
+dd 0x014e025a
+dd 0x01660271
+dd 0x0172025a
+dd 0x018a0271
+dd 0x0196025a
+dd 0x01ae0271
+dd 0x001f01c9
+dd 0x003e0271
+dd 0x003f01c9
+dd 0x005e0271
+dd 0x005f01c9
+dd 0x007e0271
+dd 0x007f01c9
+dd 0x009e0271
+
+ref_0046cc80:
+dd 0x00340014
+dd 0x00740054
+
+ref_0046cc88:
+db 0x31
+db 0x02
+
+ref_0046cc8a:
+db 0xfb
+db 0x00
+
+ref_0046cc8c:
+db 0x5a
+db 0x02
+
+ref_0046cc8e:
+db 0x40
+db 0x01
+dd 0x011f0218
+dd 0x01a9025a
+dd 0x01430231
+dd 0x0188025a
+dd 0x00c30218
+dd 0x014d025a
+dd 0x00e70218
+dd 0x0171025a
+dd 0x010b0204
+dd 0x0195025a
+
+ref_0046ccb8:
+dd 0x00060005
+dd 0x00060005
+dd 0x00070006
+
+ref_0046ccc4:
+dd 0x03020100
+dd 0x0d0c0605
+dd 0x12110f0e
+
+ref_0046ccd0:
+dd 0x00000005
+dd 0x00000000
+dd 0xffffffff
+dd 0x00000000
+dd 0x00000008
+dd 0x00000000
+dd 0xffffffff
+dd 0x00000000
+
+ref_0046ccf0:
+db 0x2d
+db 0xff
+
+ref_0046ccf2:
+db 0x36
+db 0xfd
+
+ref_0046ccf4:
+db 0x23
+db 0xff
+
+ref_0046ccf6:
+db 0x5a
+db 0xfd
+dd 0xfd7fff18
+dd 0xfda2ff0d
+dd 0xfdc7ff03
+dd 0xfdeafef8
+dd 0xfe0ffeef
+dd 0xfe32fee4
+dd 0xfe57fed9
+dd 0xfe7bfecf
+dd 0xfe9ffec4
+dd 0xfec3feb9
+dd 0xfee6feaf
+dd 0xff0bfea4
+dd 0xff30fe9a
+dd 0xff53fe8f
+dd 0xff78fe84
+dd 0xff9bfe7a
+dd 0xffbffe70
+dd 0xffe3fe65
+dd 0x0006fe5b
+dd 0x002bfe50
+dd 0x004efe46
+dd 0x0073fe3b
+dd 0x0096fe30
+dd 0x00bbfe26
+dd 0x00defe1b
+dd 0x0103fe10
+dd 0x0127fe06
+dd 0xfd44ff46
+dd 0xfd69ff3c
+dd 0xfd8dff31
+dd 0xfdb1ff26
+dd 0xfdd5ff1d
+dd 0xfdf9ff12
+dd 0xfe1dff08
+dd 0xfe41fefd
+dd 0xfe65fef2
+dd 0xfe8afee8
+dd 0xfeadfedd
+dd 0xfed2fed2
+dd 0xfef5fec8
+dd 0xff1afebd
+dd 0xff3efeb3
+dd 0xff62fea8
+dd 0xff86fe9e
+dd 0xffaafe94
+dd 0xffcefe89
+dd 0xfff1fe7e
+dd 0x0015fe74
+dd 0x003afe69
+dd 0x005dfe5f
+dd 0x0082fe54
+dd 0x00a5fe49
+dd 0x00c9fe3f
+dd 0x00edfe34
+dd 0x0111fe29
+dd 0x0136fe20
+dd 0xfd53ff5f
+dd 0xfd78ff56
+dd 0xfd9cff4b
+dd 0xfdbfff40
+dd 0xfde4ff36
+dd 0xfe07ff2b
+dd 0xfe2cff21
+dd 0xfe4fff16
+dd 0xfe74ff0b
+dd 0xfe98ff01
+dd 0xfebcfef6
+dd 0xfee0feeb
+dd 0xff04fee1
+dd 0xff28fed6
+dd 0xff4dfecd
+dd 0xff70fec2
+dd 0xff95feb7
+dd 0xffb8fead
+dd 0xffddfea2
+dd 0x0000fe97
+dd 0x0024fe8d
+dd 0x0048fe82
+dd 0x006cfe78
+dd 0x0090fe6d
+dd 0x00b3fe62
+dd 0x00d8fe59
+dd 0x00fbfe4e
+dd 0x0120fe43
+dd 0x0145fe39
+dd 0xfd62ff7a
+dd 0xfd86ff70
+dd 0xfdabff65
+dd 0xfdceff5a
+dd 0xfdf3ff50
+dd 0xfe16ff45
+dd 0xfe3bff3b
+dd 0xfe5eff30
+dd 0xfe82ff25
+dd 0xfea7ff1b
+dd 0xfecaff11
+dd 0xfeefff06
+dd 0xff12fefc
+dd 0xff37fef1
+dd 0xff5bfee7
+dd 0xff7ffedc
+dd 0xffa3fed1
+dd 0xffc7fec7
+dd 0xffebfebc
+dd 0x000efeb1
+dd 0x0032fea7
+dd 0x0057fe9c
+dd 0x007afe93
+dd 0x009ffe88
+dd 0x00c2fe7d
+dd 0x00e7fe73
+dd 0x010afe68
+dd 0x012ffe5d
+dd 0x0153fe53
+dd 0xfd70ff93
+dd 0xfd95ff89
+dd 0xfdb9ff7e
+dd 0xfdddff73
+dd 0xfe01ff69
+dd 0xfe25ff5e
+dd 0xfe49ff54
+dd 0xfe6dff49
+dd 0xfe91ff3f
+dd 0xfeb6ff35
+dd 0xfed9ff2a
+dd 0xfefeff1f
+dd 0xff21ff15
+dd 0xff46ff0a
+dd 0xff6aff00
+dd 0xff8dfef5
+dd 0xffb2feea
+dd 0xffd5fee0
+dd 0xfffafed5
+dd 0x001cfeca
+dd 0x0041fec1
+dd 0x0065feb6
+dd 0x0089feac
+dd 0x00adfea1
+dd 0x00d1fe96
+dd 0x00f5fe8c
+dd 0x0119fe81
+dd 0x013dfe76
+dd 0x0162fe6c
+dd 0xfd80ffac
+dd 0xfda5ffa2
+dd 0xfdc9ff97
+dd 0xfdedff8c
+dd 0xfe11ff82
+dd 0xfe34ff77
+dd 0xfe59ff6e
+dd 0xfe7cff63
+dd 0xfea1ff58
+dd 0xfec6ff4e
+dd 0xfee9ff43
+dd 0xff0dff38
+dd 0xff31ff2e
+dd 0xff55ff23
+dd 0xff7aff19
+dd 0xff9dff0e
+dd 0xffc2ff03
+dd 0xffe5fefa
+dd 0x0009feef
+dd 0x002cfee4
+dd 0x0051feda
+dd 0x0075fecf
+dd 0x0099fec5
+dd 0x00bdfeba
+dd 0x00e1feaf
+dd 0x0105fea5
+dd 0x0129fe9a
+dd 0x014dfe8f
+dd 0x0172fe85
+dd 0xfd8fffc6
+dd 0xfdb3ffbc
+dd 0xfdd8ffb2
+dd 0xfdfbffa7
+dd 0xfe20ff9d
+dd 0xfe43ff92
+dd 0xfe68ff88
+dd 0xfe8bff7d
+dd 0xfeb0ff72
+dd 0xfed4ff68
+dd 0xfef8ff5d
+dd 0xff1cff52
+dd 0xff3fff48
+dd 0xff64ff3d
+dd 0xff89ff34
+dd 0xffacff29
+dd 0xffd1ff1e
+dd 0xfff4ff14
+dd 0x0017ff09
+dd 0x003bfefe
+dd 0x005ffef4
+dd 0x0084fee9
+dd 0x00a7fedf
+dd 0x00ccfed4
+dd 0x00effec9
+dd 0x0114febf
+dd 0x0137feb5
+dd 0x015cfeaa
+dd 0x0180fea0
+dd 0xfd9dffe0
+dd 0xfdc2ffd6
+dd 0xfde6ffcb
+dd 0xfe0affc0
+dd 0xfe2effb6
+dd 0xfe52ffab
+dd 0xfe76ffa1
+dd 0xfe9aff96
+dd 0xfebeff8b
+dd 0xfee3ff81
+dd 0xff06ff76
+dd 0xff2bff6b
+dd 0xff4eff62
+dd 0xff73ff57
+dd 0xff97ff4d
+dd 0xffbbff42
+dd 0xffdfff37
+dd 0x0002ff2d
+dd 0x0026ff22
+dd 0x0049ff17
+dd 0x006eff0d
+dd 0x0093ff02
+dd 0x00b6fef8
+dd 0x00dafeed
+dd 0x00fefee3
+dd 0x0122fed9
+dd 0x0146fece
+dd 0x016afec3
+dd 0x018ffeb9
+dd 0xfdacfff9
+dd 0xfdd1ffef
+dd 0xfdf5ffe4
+dd 0xfe18ffd9
+dd 0xfe3dffcf
+dd 0xfe60ffc4
+dd 0xfe85ffba
+dd 0xfea8ffaf
+dd 0xfecdffa4
+dd 0xfef1ff9b
+dd 0xff15ff90
+dd 0xff39ff85
+dd 0xff5dff7b
+dd 0xff81ff70
+dd 0xffa6ff66
+dd 0xffc9ff5b
+dd 0xffeeff50
+dd 0x0010ff46
+dd 0x0035ff3b
+dd 0x0058ff30
+dd 0x007dff26
+dd 0x00a1ff1b
+dd 0x00c5ff12
+dd 0x00e9ff07
+dd 0x010cfefc
+dd 0x0131fef2
+dd 0x0154fee7
+dd 0x0179fedc
+dd 0x019efed2
+dd 0xfdbb0012
+dd 0xfddf0008
+dd 0xfe04fffe
+dd 0xfe27fff3
+dd 0xfe4cffe9
+dd 0xfe6fffde
+dd 0xfe94ffd5
+dd 0xfeb7ffca
+dd 0xfedbffbf
+dd 0xff00ffb5
+dd 0xff23ffaa
+dd 0xff48ff9f
+dd 0xff6bff95
+dd 0xff90ff8a
+dd 0xffb4ff80
+dd 0xffd8ff75
+dd 0xfffcff6a
+dd 0x001fff60
+dd 0x0043ff56
+dd 0x0067ff4b
+dd 0x008bff41
+dd 0x00b0ff36
+dd 0x00d3ff2c
+dd 0x00f8ff21
+dd 0x011bff16
+dd 0x0140ff0c
+dd 0x0163ff01
+dd 0x0188fef6
+dd 0x01acfeec
+dd 0xfdca002b
+dd 0xfdef0021
+dd 0xfe140016
+dd 0xfe37000b
+dd 0xfe5b0002
+dd 0xfe7ffff8
+dd 0xfea3ffee
+dd 0xfec7ffe3
+dd 0xfeebffd8
+dd 0xff10ffce
+dd 0xff33ffc3
+dd 0xff58ffb8
+dd 0xff7bffae
+dd 0xffa0ffa3
+dd 0xffc4ff99
+dd 0xffe8ff8e
+dd 0x000bff84
+dd 0x002fff7a
+dd 0x0053ff6f
+dd 0x0077ff64
+dd 0x009bff5a
+dd 0x00c0ff4f
+dd 0x00e3ff45
+dd 0x0108ff3a
+dd 0x012bff2f
+dd 0x0150ff25
+dd 0x0173ff1a
+dd 0x0197ff0f
+dd 0x01bcff06
+dd 0xfdd90044
+dd 0xfdfe003b
+dd 0xfe220030
+dd 0xfe460025
+dd 0xfe6a001b
+dd 0xfe8d0010
+dd 0xfeb20006
+dd 0xfed5fffc
+dd 0xfefafff1
+dd 0xff1fffe7
+dd 0xff42ffdc
+dd 0xff66ffd1
+dd 0xff8affc7
+dd 0xffaeffbc
+dd 0xffd3ffb3
+dd 0xfff6ffa8
+dd 0x001aff9d
+dd 0x003dff93
+dd 0x0062ff88
+dd 0x0085ff7d
+dd 0x00aaff73
+dd 0x00ceff68
+dd 0x00f2ff5e
+dd 0x0116ff53
+dd 0x013aff48
+dd 0x015eff3f
+dd 0x0182ff34
+dd 0x01a6ff29
+dd 0x01cbff1f
+dd 0xfde8005f
+dd 0xfe0c0055
+dd 0xfe31004a
+dd 0xfe54003f
+dd 0xfe790035
+dd 0xfe9c002a
+dd 0xfec10020
+dd 0xfee40015
+dd 0xff09000a
+dd 0xff2d0001
+dd 0xff51fff7
+dd 0xff75ffec
+dd 0xff98ffe2
+dd 0xffbdffd7
+dd 0xffe2ffcd
+dd 0x0004ffc2
+dd 0x0029ffb7
+dd 0x004cffad
+dd 0x0070ffa2
+dd 0x0094ff97
+dd 0x00b8ff8d
+dd 0x00ddff82
+dd 0x0100ff79
+dd 0x0125ff6e
+dd 0x0148ff63
+dd 0x016dff59
+dd 0x0190ff4e
+dd 0x01b5ff43
+dd 0x01d9ff39
+dd 0xfdf60078
+dd 0xfe1b006e
+dd 0xfe3f0063
+dd 0xfe630058
+dd 0xfe87004e
+dd 0xfeab0043
+dd 0xfecf0039
+dd 0xfef3002f
+dd 0xff170024
+dd 0xff3c001a
+dd 0xff5f000f
+dd 0xff840004
+dd 0xffa7fffb
+dd 0xffccfff0
+dd 0xfff0ffe6
+dd 0x0013ffdb
+dd 0x0037ffd0
+dd 0x005affc6
+dd 0x007fffbb
+dd 0x00a2ffb0
+dd 0x00c7ffa7
+dd 0x00ecff9c
+dd 0x010fff92
+dd 0x0133ff87
+dd 0x0157ff7c
+dd 0x017bff72
+dd 0x019fff67
+dd 0x01c3ff5c
+dd 0x01e8ff52
+dd 0xfe060092
+dd 0xfe2b0088
+dd 0xfe4f007d
+dd 0xfe730072
+dd 0xfe970069
+dd 0xfebb005e
+dd 0xfedf0054
+dd 0xff020049
+dd 0xff27003e
+dd 0xff4c0034
+dd 0xff6f0029
+dd 0xff94001e
+dd 0xffb70014
+dd 0xffdb0009
+dd 0x00000000
+dd 0x0022fff5
+dd 0x0047ffea
+dd 0x006affe1
+dd 0x008fffd6
+dd 0x00b2ffcb
+dd 0x00d7ffc1
+dd 0x00fbffb6
+dd 0x011fffac
+dd 0x0143ffa1
+dd 0x0167ff96
+dd 0x018bff8c
+dd 0x01afff81
+dd 0x01d3ff76
+dd 0x01f8ff6d
+dd 0xfe1500ab
+dd 0xfe3900a2
+dd 0xfe5e0097
+dd 0xfe81008c
+dd 0xfea60082
+dd 0xfec90077
+dd 0xfeee006d
+dd 0xff110062
+dd 0xff360057
+dd 0xff5a004d
+dd 0xff7e0042
+dd 0xffa20037
+dd 0xffc6002d
+dd 0xffea0022
+dd 0x000e0019
+dd 0x0031000e
+dd 0x00560003
+dd 0x0079fffa
+dd 0x009effef
+dd 0x00c1ffe4
+dd 0x00e5ffda
+dd 0x010affcf
+dd 0x012dffc5
+dd 0x0152ffba
+dd 0x0175ffaf
+dd 0x019affa5
+dd 0x01bdff9b
+dd 0x01e2ff90
+dd 0x0206ff86
+dd 0xfe2300c5
+dd 0xfe4800bb
+dd 0xfe6d00b0
+dd 0xfe9000a5
+dd 0xfeb4009b
+dd 0xfed80090
+dd 0xfefc0086
+dd 0xff20007b
+dd 0xff440070
+dd 0xff690066
+dd 0xff8c005b
+dd 0xffb10050
+dd 0xffd40047
+dd 0xfff9003c
+dd 0x001c0032
+dd 0x00400027
+dd 0x0064001c
+dd 0x00880012
+dd 0x00ac0007
+dd 0x00d0fffd
+dd 0x00f4fff3
+dd 0x0119ffe8
+dd 0x013cffde
+dd 0x0161ffd3
+dd 0x0184ffc9
+dd 0x01a9ffbf
+dd 0x01ccffb4
+dd 0x01f0ffa9
+dd 0x0215ff9f
+dd 0xfe3200df
+dd 0xfe5700d5
+dd 0xfe7b00ca
+dd 0xfe9f00bf
+dd 0xfec300b5
+dd 0xfee600aa
+dd 0xff0b00a0
+dd 0xff2e0095
+dd 0xff53008b
+dd 0xff780081
+dd 0xff9b0076
+dd 0xffbf006b
+dd 0xffe30061
+dd 0x00060056
+dd 0x002b004c
+dd 0x004e0041
+dd 0x00730036
+dd 0x0096002c
+dd 0x00bb0021
+dd 0x00de0016
+dd 0x0103000d
+dd 0x01270002
+dd 0x014bfff9
+dd 0x016fffee
+dd 0x0193ffe3
+dd 0x01b7ffd9
+dd 0x01daffce
+dd 0x01ffffc3
+dd 0x0224ffb9
+dd 0xfe4100f8
+dd 0xfe6500ee
+dd 0xfe8a00e3
+dd 0xfead00d8
+dd 0xfed200ce
+dd 0xfef500c3
+dd 0xff1a00ba
+dd 0xff3d00af
+dd 0xff6200a4
+dd 0xff86009a
+dd 0xffaa008f
+dd 0xffce0084
+dd 0xfff1007a
+dd 0x0015006f
+dd 0x003a0065
+dd 0x005d005a
+dd 0x0082004f
+dd 0x00a50046
+dd 0x00c9003b
+dd 0x00ed0030
+dd 0x01110026
+dd 0x0136001b
+dd 0x01590011
+dd 0x017e0006
+dd 0x01a1fffc
+dd 0x01c6fff2
+dd 0x01e9ffe7
+dd 0x020effdc
+dd 0x0232ffd2
+dd 0xfe510111
+dd 0xfe750107
+dd 0xfe9a00fc
+dd 0xfebd00f1
+dd 0xfee200e8
+dd 0xff0500dd
+dd 0xff2a00d3
+dd 0xff4d00c8
+dd 0xff7100bd
+dd 0xff9600b3
+dd 0xffb900a8
+dd 0xffde009d
+dd 0x00010093
+dd 0x00250088
+dd 0x0049007e
+dd 0x006d0074
+dd 0x00910069
+dd 0x00b5005f
+dd 0x00d90054
+dd 0x00fd0049
+dd 0x0121003f
+dd 0x01460034
+dd 0x0169002a
+dd 0x018e001f
+dd 0x01b10014
+dd 0x01d6000a
+dd 0x01f90000
+dd 0x021efff5
+dd 0x0242ffec
+dd 0xfe5f012c
+dd 0xfe840122
+dd 0xfea80117
+dd 0xfecc010c
+dd 0xfef00102
+dd 0xff1400f7
+dd 0xff3800ed
+dd 0xff5b00e2
+dd 0xff8000d7
+dd 0xffa500cd
+dd 0xffc800c2
+dd 0xffed00b7
+dd 0x000f00ae
+dd 0x003300a3
+dd 0x00580099
+dd 0x007b008e
+dd 0x00a00083
+dd 0x00c30079
+dd 0x00e8006e
+dd 0x010b0063
+dd 0x01300059
+dd 0x0154004e
+dd 0x01780044
+dd 0x019c0039
+dd 0x01c0002f
+dd 0x01e40025
+dd 0x0208001a
+dd 0x022c000f
+dd 0x02510005
+dd 0xfe6e0145
+dd 0xfe92013b
+dd 0xfeb70130
+dd 0xfeda0125
+dd 0xfeff011b
+dd 0xff220110
+dd 0xff470106
+dd 0xff6a00fb
+dd 0xff8f00f0
+dd 0xffb300e7
+dd 0xffd700dc
+dd 0xfffb00d1
+dd 0x001e00c7
+dd 0x004200bc
+dd 0x006700b2
+dd 0x008a00a7
+dd 0x00af009c
+dd 0x00d20092
+dd 0x00f70087
+dd 0x011a007c
+dd 0x013e0072
+dd 0x01630067
+dd 0x0186005e
+dd 0x01ab0053
+dd 0x01ce0048
+dd 0x01f3003e
+dd 0x02160033
+dd 0x023b0028
+dd 0x025f001e
+dd 0xfe7c015e
+dd 0xfea10154
+dd 0xfec60149
+dd 0xfee9013e
+dd 0xff0d0134
+dd 0xff310129
+dd 0xff55011f
+dd 0xff790115
+dd 0xff9d010a
+dd 0xffc20100
+dd 0xffe500f5
+dd 0x000900ea
+dd 0x002c00e0
+dd 0x005100d5
+dd 0x007500cb
+dd 0x009900c0
+dd 0x00bd00b5
+dd 0x00e100ab
+dd 0x010500a0
+dd 0x01290095
+dd 0x014d008c
+dd 0x01720081
+dd 0x01950077
+dd 0x01ba006c
+dd 0x01dd0061
+dd 0x02020057
+dd 0x0225004c
+dd 0x02490041
+dd 0x026e0037
+dd 0xfe8b0178
+dd 0xfeb0016e
+dd 0xfed40163
+dd 0xfef80158
+dd 0xff1c014f
+dd 0xff3f0144
+dd 0xff64013a
+dd 0xff87012f
+dd 0xffac0124
+dd 0xffd1011a
+dd 0xfff4010f
+dd 0x00170104
+dd 0x003b00fa
+dd 0x005f00ef
+dd 0x008400e5
+dd 0x00a700da
+dd 0x00cc00d0
+dd 0x00ef00c6
+dd 0x011400bb
+dd 0x013700b0
+dd 0x015c00a6
+dd 0x0180009b
+dd 0x01a40091
+dd 0x01c80086
+dd 0x01ec007b
+dd 0x02100071
+dd 0x02330066
+dd 0x0258005b
+dd 0x027d0052
+dd 0xfe9b0191
+dd 0xfebf0188
+dd 0xfee4017d
+dd 0xff070172
+dd 0xff2c0168
+dd 0xff4f015d
+dd 0xff740153
+dd 0xff970148
+dd 0xffbc013d
+dd 0xffe00133
+dd 0x00030128
+dd 0x0027011d
+dd 0x004b0113
+dd 0x006f0108
+dd 0x009400ff
+dd 0x00b700f4
+dd 0x00dc00e9
+dd 0x00ff00df
+dd 0x012400d4
+dd 0x014700c9
+dd 0x016c00bf
+dd 0x019000b4
+dd 0x01b300aa
+dd 0x01d8009f
+dd 0x01fb0094
+dd 0x0220008b
+dd 0x02430080
+dd 0x02680075
+dd 0x028c006b
+dd 0xfeaa01ab
+dd 0xfece01a1
+dd 0xfef30196
+dd 0xff16018b
+dd 0xff3b0181
+dd 0xff5e0176
+dd 0xff82016c
+dd 0xffa60161
+dd 0xffca0156
+dd 0xffef014c
+dd 0x00110141
+dd 0x00360136
+dd 0x0059012d
+dd 0x007e0122
+dd 0x00a20118
+dd 0x00c6010d
+dd 0x00ea0102
+dd 0x010e00f8
+dd 0x013200ed
+dd 0x015600e2
+dd 0x017a00d8
+dd 0x019f00cd
+dd 0x01c200c3
+dd 0x01e700b9
+dd 0x020a00ae
+dd 0x022f00a4
+dd 0x02520099
+dd 0x0277008e
+dd 0x029b0084
+dd 0xfeb801c5
+dd 0xfedd01bb
+dd 0xff0101b0
+dd 0xff2501a5
+dd 0xff49019b
+dd 0xff6d0190
+dd 0xff910186
+dd 0xffb4017b
+dd 0xffd90171
+dd 0xfffe0167
+dd 0x0020015c
+dd 0x00450151
+dd 0x00680147
+dd 0x008c013c
+dd 0x00b10132
+dd 0x00d40127
+dd 0x00f9011c
+dd 0x011c0112
+dd 0x01410107
+dd 0x016400fc
+dd 0x018900f3
+dd 0x01ad00e8
+dd 0x01d100de
+dd 0x01f500d3
+dd 0x021900c8
+dd 0x023d00be
+dd 0x026100b3
+dd 0x028500a8
+dd 0x02aa009e
+dd 0xfec701de
+dd 0xfeeb01d4
+dd 0xff1001c9
+dd 0xff3301be
+dd 0xff5801b4
+dd 0xff7b01a9
+dd 0xffa001a0
+dd 0xffc30195
+dd 0xffe8018a
+dd 0x000b0180
+dd 0x002f0175
+dd 0x0053016a
+dd 0x00770160
+dd 0x009b0155
+dd 0x00c0014b
+dd 0x00e30140
+dd 0x01080135
+dd 0x012b012c
+dd 0x01500121
+dd 0x01730116
+dd 0x0197010c
+dd 0x01bc0101
+dd 0x01df00f7
+dd 0x020400ec
+dd 0x022700e1
+dd 0x024c00d7
+dd 0x026f00cc
+dd 0x029400c1
+dd 0x02b800b7
+dd 0xfed501f7
+dd 0xfefa01ed
+dd 0xff1f01e2
+dd 0xff4201d7
+dd 0xff6601ce
+dd 0xff8a01c3
+dd 0xffae01b9
+dd 0xffd201ae
+dd 0xfff601a3
+dd 0x001a0199
+dd 0x003d018e
+dd 0x00620183
+dd 0x00850179
+dd 0x00aa016e
+dd 0x00ce0164
+dd 0x00f2015a
+dd 0x0116014f
+dd 0x013a0145
+dd 0x015e013a
+dd 0x0182012f
+dd 0x01a60125
+dd 0x01cb011a
+dd 0x01ee0110
+dd 0x02130105
+dd 0x023600fa
+dd 0x025a00f0
+dd 0x027e00e5
+dd 0x02a200da
+dd 0x02c700d1
+dd 0xfed8fe05
+dd 0xfefbfe10
+dd 0xff20fe1b
+dd 0xff43fe25
+dd 0xff67fe30
+dd 0xff8bfe3b
+dd 0xffaffe45
+dd 0xffd4fe50
+dd 0xfff7fe5b
+dd 0x001bfe65
+dd 0x003efe70
+dd 0x0063fe7a
+dd 0x0086fe84
+dd 0x00abfe8f
+dd 0x00cffe9a
+dd 0x00f3fea4
+dd 0x0117feaf
+dd 0x013bfeb9
+dd 0x015ffec4
+dd 0x0183fecf
+dd 0x01a7fed9
+dd 0x01cafee4
+dd 0x01effeef
+dd 0x0214fef8
+dd 0x0237ff03
+dd 0x025bff0e
+dd 0x027fff18
+dd 0x02a3ff23
+dd 0x02c7ff2e
+dd 0xfec8fe1e
+dd 0xfeebfe29
+dd 0xff10fe34
+dd 0xff33fe3e
+dd 0xff58fe49
+dd 0xff7bfe54
+dd 0xffa0fe5e
+dd 0xffc4fe69
+dd 0xffe7fe74
+dd 0x000bfe7e
+dd 0x002efe89
+dd 0x0053fe94
+dd 0x0076fe9e
+dd 0x009bfea8
+dd 0x00bffeb3
+dd 0x00e3febd
+dd 0x0107fec8
+dd 0x012bfed2
+dd 0x014ffedd
+dd 0x0173fee8
+dd 0x0197fef2
+dd 0x01bbfefd
+dd 0x01dfff08
+dd 0x0204ff12
+dd 0x0227ff1d
+dd 0x024cff28
+dd 0x026fff31
+dd 0x0294ff3c
+dd 0x02b7ff47
+dd 0xfeb9fe39
+dd 0xfedcfe44
+dd 0xff01fe4f
+dd 0xff24fe59
+dd 0xff49fe63
+dd 0xff6cfe6e
+dd 0xff91fe78
+dd 0xffb5fe83
+dd 0xffd9fe8e
+dd 0xfffdfe98
+dd 0x0020fea3
+dd 0x0044feae
+dd 0x0068feb8
+dd 0x008cfec3
+dd 0x00b1fece
+dd 0x00d4fed8
+dd 0x00f9fee3
+dd 0x011cfeec
+dd 0x0141fef7
+dd 0x0164ff02
+dd 0x0189ff0c
+dd 0x01acff17
+dd 0x01d1ff22
+dd 0x01f5ff2c
+dd 0x0218ff37
+dd 0x023dff42
+dd 0x0260ff4c
+dd 0x0285ff57
+dd 0x02a8ff62
+dd 0xfeabfe52
+dd 0xfecefe5d
+dd 0xfef2fe68
+dd 0xff16fe72
+dd 0xff3afe7d
+dd 0xff5efe88
+dd 0xff82fe91
+dd 0xffa7fe9c
+dd 0xffcafea7
+dd 0xffeffeb1
+dd 0x0011febc
+dd 0x0036fec7
+dd 0x0059fed1
+dd 0x007efedc
+dd 0x00a2fee7
+dd 0x00c6fef1
+dd 0x00eafefc
+dd 0x010dff06
+dd 0x0132ff11
+dd 0x0155ff1b
+dd 0x017aff25
+dd 0x019dff30
+dd 0x01c2ff3b
+dd 0x01e6ff45
+dd 0x020aff50
+dd 0x022eff5b
+dd 0x0252ff65
+dd 0x0276ff70
+dd 0x029aff7b
+dd 0xfe9cfe6b
+dd 0xfebffe76
+dd 0xfee4fe81
+dd 0xff07fe8b
+dd 0xff2cfe96
+dd 0xff4ffea1
+dd 0xff74feab
+dd 0xff98feb6
+dd 0xffbcfec1
+dd 0xffe0feca
+dd 0x0003fed5
+dd 0x0027fee0
+dd 0x004afeea
+dd 0x006ffef5
+dd 0x0094ff00
+dd 0x00b7ff0a
+dd 0x00dbff15
+dd 0x00ffff1f
+dd 0x0123ff2a
+dd 0x0147ff35
+dd 0x016bff3f
+dd 0x018fff49
+dd 0x01b3ff54
+dd 0x01d8ff5e
+dd 0x01fbff69
+dd 0x0220ff74
+dd 0x0243ff7e
+dd 0x0268ff89
+dd 0x028bff94
+dd 0xfe8dfe85
+dd 0xfeb1fe90
+dd 0xfed5fe9b
+dd 0xfef9fea5
+dd 0xff1dfeb0
+dd 0xff40febb
+dd 0xff65fec5
+dd 0xff8afed0
+dd 0xffadfedb
+dd 0xffd2fee5
+dd 0xfff5fef0
+dd 0x0018fefb
+dd 0x003cff04
+dd 0x0060ff0f
+dd 0x0085ff1a
+dd 0x00a8ff24
+dd 0x00cdff2f
+dd 0x00f0ff39
+dd 0x0115ff44
+dd 0x0138ff4f
+dd 0x015dff59
+dd 0x0180ff64
+dd 0x01a5ff6f
+dd 0x01c9ff79
+dd 0x01edff84
+dd 0x0211ff8e
+dd 0x0234ff98
+dd 0x0259ffa3
+dd 0x027cffae
+dd 0xfe7dfe9f
+dd 0xfea1feaa
+dd 0xfec5feb5
+dd 0xfee9febe
+dd 0xff0dfec9
+dd 0xff31fed4
+dd 0xff55fede
+dd 0xff7afee9
+dd 0xff9dfef4
+dd 0xffc2fefe
+dd 0xffe5ff09
+dd 0x0009ff14
+dd 0x002cff1e
+dd 0x0051ff29
+dd 0x0075ff34
+dd 0x0098ff3d
+dd 0x00bdff48
+dd 0x00e0ff52
+dd 0x0105ff5d
+dd 0x0128ff68
+dd 0x014dff72
+dd 0x0170ff7d
+dd 0x0195ff88
+dd 0x01b9ff92
+dd 0x01ddff9d
+dd 0x0201ffa8
+dd 0x0225ffb2
+dd 0x0249ffbc
+dd 0x026dffc7
+dd 0xfe6ffeb8
+dd 0xfe92fec3
+dd 0xfeb7fece
+dd 0xfedafed8
+dd 0xfefffee3
+dd 0xff22feed
+dd 0xff47fef7
+dd 0xff6bff02
+dd 0xff8eff0d
+dd 0xffb3ff17
+dd 0xffd6ff22
+dd 0xfffbff2d
+dd 0x001dff37
+dd 0x0042ff42
+dd 0x0066ff4d
+dd 0x008aff57
+dd 0x00aeff62
+dd 0x00d2ff6b
+dd 0x00f6ff76
+dd 0x011aff81
+dd 0x013eff8b
+dd 0x0162ff96
+dd 0x0186ffa1
+dd 0x01abffab
+dd 0x01ceffb6
+dd 0x01f3ffc1
+dd 0x0216ffcb
+dd 0x023bffd6
+dd 0x025effe1
+dd 0xfe60fed2
+dd 0xfe83fedd
+dd 0xfea8fee8
+dd 0xfecbfef2
+dd 0xfef0fefd
+dd 0xff13ff08
+dd 0xff38ff12
+dd 0xff5cff1d
+dd 0xff80ff28
+dd 0xffa4ff31
+dd 0xffc8ff3c
+dd 0xffecff47
+dd 0x000fff51
+dd 0x0033ff5c
+dd 0x0058ff67
+dd 0x007bff71
+dd 0x00a0ff7c
+dd 0x00c3ff86
+dd 0x00e8ff91
+dd 0x010bff9c
+dd 0x0130ffa5
+dd 0x0153ffb0
+dd 0x0178ffbb
+dd 0x019cffc5
+dd 0x01bfffd0
+dd 0x01e4ffdb
+dd 0x0207ffe5
+dd 0x022cfff0
+dd 0x024ffffb
+dd 0xfe52feeb
+dd 0xfe75fef6
+dd 0xfe99ff01
+dd 0xfebdff0b
+dd 0xfee1ff16
+dd 0xff05ff21
+dd 0xff29ff2b
+dd 0xff4eff36
+dd 0xff71ff41
+dd 0xff96ff4b
+dd 0xffb9ff56
+dd 0xffdeff60
+dd 0x0001ff6a
+dd 0x0025ff75
+dd 0x0049ff80
+dd 0x006dff8a
+dd 0x0091ff95
+dd 0x00b4ff9f
+dd 0x00d9ffaa
+dd 0x00fcffb5
+dd 0x0121ffbf
+dd 0x0144ffca
+dd 0x0169ffd5
+dd 0x018dffde
+dd 0x01b1ffe9
+dd 0x01d5fff4
+dd 0x01f9fffe
+dd 0x021d0008
+dd 0x02410013
+dd 0xfe42ff04
+dd 0xfe65ff0f
+dd 0xfe8aff1a
+dd 0xfeadff24
+dd 0xfed2ff2f
+dd 0xfef5ff3a
+dd 0xff19ff44
+dd 0xff3eff4f
+dd 0xff61ff5a
+dd 0xff86ff64
+dd 0xffa9ff6f
+dd 0xffceff7a
+dd 0xfff1ff84
+dd 0x0015ff8e
+dd 0x0039ff99
+dd 0x005dffa3
+dd 0x0081ffae
+dd 0x00a5ffb8
+dd 0x00c9ffc3
+dd 0x00edffce
+dd 0x0111ffd8
+dd 0x0134ffe3
+dd 0x0159ffee
+dd 0x017efff8
+dd 0x01a10002
+dd 0x01c6000d
+dd 0x01e90016
+dd 0x020d0021
+dd 0x0231002c
+dd 0xfe33ff1f
+dd 0xfe56ff2a
+dd 0xfe7bff35
+dd 0xfe9eff3f
+dd 0xfec3ff49
+dd 0xfee6ff54
+dd 0xff0bff5e
+dd 0xff2fff69
+dd 0xff53ff74
+dd 0xff77ff7e
+dd 0xff9bff89
+dd 0xffbfff94
+dd 0xffe3ff9e
+dd 0x0006ffa9
+dd 0x002bffb4
+dd 0x004effbe
+dd 0x0073ffc9
+dd 0x0096ffd2
+dd 0x00bbffdd
+dd 0x00deffe8
+dd 0x0103fff2
+dd 0x0126fffd
+dd 0x014a0007
+dd 0x016f0011
+dd 0x0192001c
+dd 0x01b70027
+dd 0x01da0031
+dd 0x01ff003c
+dd 0x02220047
+dd 0xfe24ff38
+dd 0xfe48ff43
+dd 0xfe6cff4e
+dd 0xfe90ff58
+dd 0xfeb4ff63
+dd 0xfed8ff6e
+dd 0xfefcff77
+dd 0xff21ff82
+dd 0xff44ff8d
+dd 0xff69ff97
+dd 0xff8cffa2
+dd 0xffb1ffad
+dd 0xffd4ffb7
+dd 0xfff9ffc2
+dd 0x001cffcd
+dd 0x003fffd7
+dd 0x0064ffe2
+dd 0x0087ffec
+dd 0x00acfff7
+dd 0x00cf0001
+dd 0x00f4000a
+dd 0x01170015
+dd 0x013c0020
+dd 0x0160002a
+dd 0x01840035
+dd 0x01a80040
+dd 0x01cc004a
+dd 0x01f00055
+dd 0x02140060
+dd 0xfe16ff51
+dd 0xfe39ff5c
+dd 0xfe5eff67
+dd 0xfe81ff71
+dd 0xfea6ff7c
+dd 0xfec9ff87
+dd 0xfeeeff91
+dd 0xff12ff9c
+dd 0xff35ffa7
+dd 0xff5affb0
+dd 0xff7dffbb
+dd 0xffa2ffc6
+dd 0xffc5ffd0
+dd 0xffeaffdb
+dd 0x000dffe6
+dd 0x0031fff0
+dd 0x0055fffb
+dd 0x00790004
+dd 0x009d000f
+dd 0x00c1001a
+dd 0x00e50024
+dd 0x0109002f
+dd 0x012d0039
+dd 0x01520043
+dd 0x0175004e
+dd 0x019a0059
+dd 0x01bd0063
+dd 0x01e2006e
+dd 0x02050079
+dd 0xfe07ff6b
+dd 0xfe2bff76
+dd 0xfe4fff81
+dd 0xfe72ff8b
+dd 0xfe97ff96
+dd 0xfebaffa1
+dd 0xfedfffab
+dd 0xff03ffb6
+dd 0xff27ffc1
+dd 0xff4bffcb
+dd 0xff6fffd6
+dd 0xff93ffe1
+dd 0xffb7ffea
+dd 0xffdbfff5
+dd 0x00000000
+dd 0x00220009
+dd 0x00470014
+dd 0x006a001e
+dd 0x008f0029
+dd 0x00b20034
+dd 0x00d7003e
+dd 0x00fa0049
+dd 0x011f0054
+dd 0x0143005e
+dd 0x01660069
+dd 0x018b0074
+dd 0x01ae007d
+dd 0x01d30088
+dd 0x01f60093
+dd 0xfdf7ff85
+dd 0xfe1bff90
+dd 0xfe3fff9b
+dd 0xfe63ffa4
+dd 0xfe87ffaf
+dd 0xfeabffba
+dd 0xfecfffc4
+dd 0xfef4ffcf
+dd 0xff17ffda
+dd 0xff3cffe4
+dd 0xff5fffef
+dd 0xff83fffa
+dd 0xffa70003
+dd 0xffcb000e
+dd 0xfff00019
+dd 0x00120022
+dd 0x0037002d
+dd 0x005a0037
+dd 0x007f0042
+dd 0x00a2004d
+dd 0x00c70057
+dd 0x00ea0062
+dd 0x010f006d
+dd 0x01330077
+dd 0x01570082
+dd 0x017b008d
+dd 0x019f0097
+dd 0x01c300a2
+dd 0x01e600ac
+dd 0xfde9ff9e
+dd 0xfe0cffa9
+dd 0xfe31ffb4
+dd 0xfe54ffbe
+dd 0xfe79ffc9
+dd 0xfe9cffd3
+dd 0xfec0ffdd
+dd 0xfee5ffe8
+dd 0xff08fff3
+dd 0xff2dfffd
+dd 0xff500007
+dd 0xff750012
+dd 0xff98001c
+dd 0xffbd0027
+dd 0xffe10032
+dd 0x0004003c
+dd 0x00280047
+dd 0x004c0050
+dd 0x0070005b
+dd 0x00940066
+dd 0x00b80070
+dd 0x00db007b
+dd 0x01000086
+dd 0x01250090
+dd 0x0148009b
+dd 0x016d00a6
+dd 0x019000b0
+dd 0x01b400bb
+dd 0x01d800c6
+dd 0xfddaffb7
+dd 0xfdfdffc2
+dd 0xfe22ffcd
+dd 0xfe45ffd7
+dd 0xfe6affe2
+dd 0xfe8dffed
+dd 0xfeb2fff7
+dd 0xfed60001
+dd 0xfefa000b
+dd 0xff1e0015
+dd 0xff420020
+dd 0xff66002b
+dd 0xff8a0035
+dd 0xffae0040
+dd 0xffd3004b
+dd 0xfff60055
+dd 0x001a0060
+dd 0x003d006a
+dd 0x00620075
+dd 0x00850080
+dd 0x00aa0089
+dd 0x00cd0094
+dd 0x00f1009f
+dd 0x011600a9
+dd 0x013900b4
+dd 0x015e00bf
+dd 0x018100c9
+dd 0x01a600d4
+dd 0x01c900df
+dd 0xfdcbffd1
+dd 0xfdefffdc
+dd 0xfe13ffe7
+dd 0xfe37fff1
+dd 0xfe5bfffc
+dd 0xfe7f0006
+dd 0xfea30010
+dd 0xfec8001b
+dd 0xfeeb0026
+dd 0xff100030
+dd 0xff33003b
+dd 0xff580046
+dd 0xff7b004f
+dd 0xffa0005a
+dd 0xffc40065
+dd 0xffe7006f
+dd 0x000b007a
+dd 0x002e0084
+dd 0x0053008f
+dd 0x0076009a
+dd 0x009b00a4
+dd 0x00be00af
+dd 0x00e300ba
+dd 0x010700c3
+dd 0x012b00ce
+dd 0x014f00d9
+dd 0x017300e3
+dd 0x019700ee
+dd 0x01bb00f9
+dd 0xfdbcffea
+dd 0xfddffff5
+dd 0xfe030000
+dd 0xfe270009
+dd 0xfe4b0014
+dd 0xfe6f001f
+dd 0xfe930029
+dd 0xfeb80034
+dd 0xfedb003f
+dd 0xff000049
+dd 0xff230054
+dd 0xff48005f
+dd 0xff6b0069
+dd 0xff900074
+dd 0xffb4007e
+dd 0xffd80088
+dd 0xfffc0093
+dd 0x001f009d
+dd 0x004300a8
+dd 0x006600b3
+dd 0x008b00bd
+dd 0x00ae00c8
+dd 0x00d300d3
+dd 0x00f800dd
+dd 0x011b00e8
+dd 0x013f00f3
+dd 0x016300fc
+dd 0x01870107
+dd 0x01ab0112
+dd 0xfdad0003
+dd 0xfdd0000e
+dd 0xfdf50019
+dd 0xfe180022
+dd 0xfe3d002d
+dd 0xfe600038
+dd 0xfe850042
+dd 0xfea9004d
+dd 0xfecd0058
+dd 0xfef10062
+dd 0xff15006d
+dd 0xff390078
+dd 0xff5c0082
+dd 0xff81008d
+dd 0xffa60098
+dd 0xffc900a2
+dd 0xffee00ac
+dd 0x001000b6
+dd 0x003400c1
+dd 0x005800cc
+dd 0x007c00d6
+dd 0x00a000e1
+dd 0x00c400ec
+dd 0x00e900f6
+dd 0x010c0101
+dd 0x0131010c
+dd 0x01540116
+dd 0x01790121
+dd 0x019c012c
+dd 0xfd9e001d
+dd 0xfdc20028
+dd 0xfde60033
+dd 0xfe0a003d
+dd 0xfe2e0048
+dd 0xfe520053
+dd 0xfe76005d
+dd 0xfe9b0067
+dd 0xfebe0072
+dd 0xfee3007c
+dd 0xff060087
+dd 0xff2b0092
+dd 0xff4e009c
+dd 0xff7200a7
+dd 0xff9700b2
+dd 0xffba00bc
+dd 0xffdf00c7
+dd 0x000200d1
+dd 0x002600dc
+dd 0x004900e7
+dd 0x006e00f0
+dd 0x009100fb
+dd 0x00b60106
+dd 0x00da0110
+dd 0x00fe011b
+dd 0x01220126
+dd 0x01460130
+dd 0x016a013b
+dd 0x018d0146
+dd 0xfd900036
+dd 0xfdb30041
+dd 0xfdd8004c
+dd 0xfdfb0056
+dd 0xfe200061
+dd 0xfe43006c
+dd 0xfe670076
+dd 0xfe8c0081
+dd 0xfeaf008c
+dd 0xfed40095
+dd 0xfef700a0
+dd 0xff1c00ab
+dd 0xff3f00b5
+dd 0xff6400c0
+dd 0xff8800cb
+dd 0xffac00d5
+dd 0xffd000e0
+dd 0xfff400ea
+dd 0x001700f5
+dd 0x003b0100
+dd 0x005f010a
+dd 0x00830115
+dd 0x00a7011f
+dd 0x00cc0129
+dd 0x00ef0134
+dd 0x0114013f
+dd 0x01370149
+dd 0x015b0154
+dd 0x017f015f
+dd 0xfd80004f
+dd 0xfda3005a
+dd 0xfdc80065
+dd 0xfdeb006f
+dd 0xfe10007a
+dd 0xfe330085
+dd 0xfe58008f
+dd 0xfe7c009a
+dd 0xfea000a5
+dd 0xfec400af
+dd 0xfee700ba
+dd 0xff0c00c5
+dd 0xff2f00ce
+dd 0xff5400d9
+dd 0xff7900e4
+dd 0xff9c00ee
+dd 0xffc000f9
+dd 0xffe40103
+dd 0x0007010e
+dd 0x002b0119
+dd 0x004f0123
+dd 0x0073012e
+dd 0x00970139
+dd 0x00bc0143
+dd 0x00df014d
+dd 0x01040158
+dd 0x01270162
+dd 0x014c016d
+dd 0x016f0178
+dd 0xfd71006a
+dd 0xfd950075
+dd 0xfdb90080
+dd 0xfddc0089
+dd 0xfe010094
+dd 0xfe24009f
+dd 0xfe4900a9
+dd 0xfe6e00b4
+dd 0xfe9100bf
+dd 0xfeb500c9
+dd 0xfed900d4
+dd 0xfefd00df
+dd 0xff2100e9
+dd 0xff4500f4
+dd 0xff6a00ff
+dd 0xff8d0108
+dd 0xffb20113
+dd 0xffd5011d
+dd 0xfffa0128
+dd 0x001c0133
+dd 0x0041013d
+dd 0x00640148
+dd 0x00890153
+dd 0x00ad015d
+dd 0x00d10168
+dd 0x00f50173
+dd 0x0118017d
+dd 0x013d0188
+dd 0x01600192
+dd 0xfd630083
+dd 0xfd86008e
+dd 0xfdab0099
+dd 0xfdce00a3
+dd 0xfdf200ae
+dd 0xfe1600b9
+dd 0xfe3a00c2
+dd 0xfe5f00cd
+dd 0xfe8200d8
+dd 0xfea700e2
+dd 0xfeca00ed
+dd 0xfeef00f8
+dd 0xff120102
+dd 0xff37010d
+dd 0xff5b0118
+dd 0xff7f0122
+dd 0xffa3012d
+dd 0xffc70136
+dd 0xffeb0141
+dd 0x000d014c
+dd 0x00320156
+dd 0x00550161
+dd 0x007a016c
+dd 0x009f0176
+dd 0x00c20181
+dd 0x00e6018c
+dd 0x010a0196
+dd 0x012e01a1
+dd 0x015201ac
+dd 0xfd54009c
+dd 0xfd7700a7
+dd 0xfd9c00b2
+dd 0xfdbf00bc
+dd 0xfde400c7
+dd 0xfe0700d2
+dd 0xfe2c00dc
+dd 0xfe5000e7
+dd 0xfe7400f1
+dd 0xfe9800fb
+dd 0xfebc0106
+dd 0xfee00111
+dd 0xff03011b
+dd 0xff280126
+dd 0xff4d0131
+dd 0xff70013b
+dd 0xff950146
+dd 0xffb80150
+dd 0xffdc015b
+dd 0x00000166
+dd 0x0023016f
+dd 0x0047017a
+dd 0x006b0185
+dd 0x0090018f
+dd 0x00b3019a
+dd 0x00d801a5
+dd 0x00fb01af
+dd 0x012001ba
+dd 0x014301c5
+dd 0xfd4500b6
+dd 0xfd6900c1
+dd 0xfd8d00cc
+dd 0xfdb100d6
+dd 0xfdd500e1
+dd 0xfdf900ec
+dd 0xfe1d00f6
+dd 0xfe420101
+dd 0xfe65010c
+dd 0xfe8a0116
+dd 0xfead0121
+dd 0xfed2012c
+dd 0xfef50135
+dd 0xff190140
+dd 0xff3e014b
+dd 0xff610155
+dd 0xff860160
+dd 0xffa9016a
+dd 0xffce0175
+dd 0xfff10180
+dd 0x0015018a
+dd 0x00380195
+dd 0x005d01a0
+dd 0x008101a9
+dd 0x00a501b4
+dd 0x00c901bf
+dd 0x00ed01c9
+dd 0x011101d4
+dd 0x013401df
+dd 0xfd3500d0
+dd 0xfd5900da
+dd 0xfd7d00e5
+dd 0xfda100ef
+dd 0xfdc500fa
+dd 0xfde90105
+dd 0xfe0d010f
+dd 0xfe32011a
+dd 0xfe550125
+dd 0xfe7a012f
+dd 0xfe9d013a
+dd 0xfec20145
+dd 0xfee5014f
+dd 0xff0a015a
+dd 0xff2e0164
+dd 0xff52016e
+dd 0xff760179
+dd 0xff990183
+dd 0xffbe018e
+dd 0xffe10199
+dd 0x000501a3
+dd 0x002801ae
+dd 0x004d01b9
+dd 0x007101c3
+dd 0x009501ce
+dd 0x00b901d9
+dd 0x00dd01e2
+dd 0x010101ed
+dd 0x012501f8
+dd 0x0126fe06
+dd 0x0134fe1f
+dd 0x0143fe3a
+dd 0x0152fe53
+dd 0x0160fe6c
+dd 0x0170fe86
+dd 0x017ffea0
+dd 0x018dfeb9
+dd 0x019cfed3
+dd 0x01abfeec
+dd 0x01bbff05
+dd 0x01c9ff20
+dd 0x01d8ff39
+dd 0x01e6ff52
+dd 0x01f6ff6c
+dd 0x0205ff86
+dd 0x0214ff9f
+dd 0x0222ffb8
+dd 0x0231ffd2
+dd 0x0241ffeb
+dd 0x024f0004
+dd 0x025e001e
+dd 0x026d0037
+dd 0x027b0050
+dd 0x028b006b
+dd 0x029a0084
+dd 0x02a8009d
+dd 0x02b700b7
+dd 0x02c600d1
+dd 0x0103fe10
+dd 0x0111fe29
+dd 0x0120fe44
+dd 0x012efe5d
+dd 0x013dfe76
+dd 0x014dfe90
+dd 0x015bfea9
+dd 0x016afec3
+dd 0x0179fedd
+dd 0x0187fef6
+dd 0x0197ff0f
+dd 0x01a6ff2a
+dd 0x01b4ff43
+dd 0x01c3ff5c
+dd 0x01d3ff76
+dd 0x01e2ff8f
+dd 0x01f0ffa9
+dd 0x01ffffc2
+dd 0x020dffdc
+dd 0x021dfff5
+dd 0x022c000e
+dd 0x023b0028
+dd 0x02490041
+dd 0x0258005a
+dd 0x02680075
+dd 0x0276008e
+dd 0x028500a7
+dd 0x029400c1
+dd 0x02a200da
+dd 0x00defe1b
+dd 0x00edfe34
+dd 0x00fbfe4f
+dd 0x010afe68
+dd 0x0118fe81
+dd 0x0128fe9b
+dd 0x0137feb4
+dd 0x0146fece
+dd 0x0154fee8
+dd 0x0163ff01
+dd 0x0173ff1a
+dd 0x0181ff35
+dd 0x0190ff4e
+dd 0x019fff67
+dd 0x01aeff81
+dd 0x01bdff9a
+dd 0x01ccffb4
+dd 0x01daffcd
+dd 0x01e9ffe7
+dd 0x01f90000
+dd 0x02070019
+dd 0x02160033
+dd 0x0225004c
+dd 0x02330065
+dd 0x0243007f
+dd 0x02520099
+dd 0x026000b2
+dd 0x026f00cc
+dd 0x027e00e5
+dd 0x00bbfe26
+dd 0x00c9fe3f
+dd 0x00d8fe5a
+dd 0x00e6fe73
+dd 0x00f5fe8c
+dd 0x0105fea6
+dd 0x0114febf
+dd 0x0122fed9
+dd 0x0131fef3
+dd 0x013fff0c
+dd 0x014fff25
+dd 0x015eff40
+dd 0x016dff59
+dd 0x017bff72
+dd 0x018bff8c
+dd 0x019affa5
+dd 0x01a8ffbf
+dd 0x01b7ffd8
+dd 0x01c6fff2
+dd 0x01d5000a
+dd 0x01e40023
+dd 0x01f3003e
+dd 0x02010057
+dd 0x02100070
+dd 0x0220008a
+dd 0x022e00a4
+dd 0x023d00bd
+dd 0x024c00d7
+dd 0x025a00f0
+dd 0x0096fe30
+dd 0x00a5fe49
+dd 0x00b3fe63
+dd 0x00c2fe7d
+dd 0x00d1fe96
+dd 0x00e0feb0
+dd 0x00effec9
+dd 0x00fefee2
+dd 0x010cfefd
+dd 0x011bff16
+dd 0x012bff2f
+dd 0x0139ff49
+dd 0x0148ff63
+dd 0x0157ff7c
+dd 0x0166ff96
+dd 0x0175ffaf
+dd 0x0184ffc8
+dd 0x0192ffe2
+dd 0x01a1fffc
+dd 0x01b10014
+dd 0x01bf002d
+dd 0x01ce0048
+dd 0x01dd0061
+dd 0x01eb007a
+dd 0x01fb0094
+dd 0x020a00ad
+dd 0x021800c7
+dd 0x022700e1
+dd 0x023600fa
+dd 0x0073fe3b
+dd 0x0081fe54
+dd 0x0090fe6e
+dd 0x009ffe88
+dd 0x00adfea1
+dd 0x00bdfebb
+dd 0x00ccfed4
+dd 0x00dafeed
+dd 0x00e9ff08
+dd 0x00f8ff21
+dd 0x0107ff3a
+dd 0x0116ff54
+dd 0x0125ff6e
+dd 0x0133ff87
+dd 0x0143ffa1
+dd 0x0152ffba
+dd 0x0160ffd3
+dd 0x016fffed
+dd 0x017e0006
+dd 0x018d001f
+dd 0x019c0038
+dd 0x01ab0053
+dd 0x01b9006c
+dd 0x01c80085
+dd 0x01d8009f
+dd 0x01e600b8
+dd 0x01f500d2
+dd 0x020400ec
+dd 0x02120105
+dd 0x004efe45
+dd 0x005dfe5e
+dd 0x006bfe78
+dd 0x007afe91
+dd 0x0089feab
+dd 0x0098fec5
+dd 0x00a7fede
+dd 0x00b6fef7
+dd 0x00c4ff12
+dd 0x00d3ff2b
+dd 0x00e3ff44
+dd 0x00f1ff5e
+dd 0x0100ff77
+dd 0x010fff91
+dd 0x011fffab
+dd 0x012dffc4
+dd 0x013cffdd
+dd 0x014afff6
+dd 0x01590010
+dd 0x01690029
+dd 0x01780042
+dd 0x0186005c
+dd 0x01950076
+dd 0x01a3008f
+dd 0x01b300a9
+dd 0x01c200c2
+dd 0x01d100db
+dd 0x01df00f6
+dd 0x01ee010f
+dd 0x002afe50
+dd 0x0038fe69
+dd 0x0047fe83
+dd 0x0055fe9c
+dd 0x0064feb6
+dd 0x0074fed0
+dd 0x0083fee9
+dd 0x0091ff02
+dd 0x00a0ff1c
+dd 0x00aeff36
+dd 0x00beff4f
+dd 0x00cdff69
+dd 0x00dbff82
+dd 0x00eaff9c
+dd 0x00faffb6
+dd 0x0109ffcf
+dd 0x0117ffe8
+dd 0x01260001
+dd 0x0134001b
+dd 0x01440034
+dd 0x0153004d
+dd 0x01620067
+dd 0x01700081
+dd 0x017f009a
+dd 0x018f00b4
+dd 0x019d00cd
+dd 0x01ac00e6
+dd 0x01bb0101
+dd 0x01c9011a
+dd 0x0006fe5b
+dd 0x0015fe74
+dd 0x0023fe8e
+dd 0x0032fea7
+dd 0x0041fec0
+dd 0x0051fedb
+dd 0x005ffef4
+dd 0x006eff0d
+dd 0x007cff27
+dd 0x008bff41
+dd 0x009bff5a
+dd 0x00aaff74
+dd 0x00b8ff8d
+dd 0x00c7ffa6
+dd 0x00d7ffc1
+dd 0x00e5ffda
+dd 0x00f4fff3
+dd 0x0103000b
+dd 0x01110026
+dd 0x0121003f
+dd 0x01300058
+dd 0x013e0072
+dd 0x014d008c
+dd 0x015b00a5
+dd 0x016b00bf
+dd 0x017a00d8
+dd 0x018900f1
+dd 0x0197010c
+dd 0x01a60125
+dd 0xffe3fe64
+dd 0xfff1fe7e
+dd 0x0000fe98
+dd 0x000dfeb1
+dd 0x001cfeca
+dd 0x002cfee5
+dd 0x003bfefe
+dd 0x0049ff17
+dd 0x0058ff31
+dd 0x0066ff4a
+dd 0x0076ff64
+dd 0x0085ff7e
+dd 0x0094ff97
+dd 0x00a2ffb0
+dd 0x00b2ffcb
+dd 0x00c1ffe4
+dd 0x00cffffd
+dd 0x00de0015
+dd 0x00ed0030
+dd 0x00fc0049
+dd 0x010b0062
+dd 0x011a007c
+dd 0x01280095
+dd 0x013700af
+dd 0x014700c9
+dd 0x015500e2
+dd 0x016400fb
+dd 0x01730116
+dd 0x0181012f
+dd 0xffbffe6f
+dd 0xffcefe89
+dd 0xffdcfea3
+dd 0xffebfebc
+dd 0xfffafed5
+dd 0x0009fef0
+dd 0x0017ff09
+dd 0x0026ff22
+dd 0x0034ff3c
+dd 0x0043ff55
+dd 0x0053ff6f
+dd 0x0062ff89
+dd 0x0070ffa2
+dd 0x007fffbb
+dd 0x008fffd6
+dd 0x009dffef
+dd 0x00ac0007
+dd 0x00bb0020
+dd 0x00c9003a
+dd 0x00d90054
+dd 0x00e8006d
+dd 0x00f60087
+dd 0x010500a0
+dd 0x011400ba
+dd 0x012300d4
+dd 0x013200ed
+dd 0x01410106
+dd 0x014f0120
+dd 0x015e013a
+dd 0xff9bfe7a
+dd 0xffa9fe94
+dd 0xffb8feae
+dd 0xffc7fec7
+dd 0xffd5fee0
+dd 0xffe5fefb
+dd 0xfff4ff14
+dd 0x0002ff2d
+dd 0x0010ff47
+dd 0x001fff60
+dd 0x002eff7a
+dd 0x003dff94
+dd 0x004cffad
+dd 0x005affc6
+dd 0x006affe1
+dd 0x0079fffa
+dd 0x00870012
+dd 0x0096002b
+dd 0x00a50045
+dd 0x00b4005f
+dd 0x00c30078
+dd 0x00d20092
+dd 0x00e000ab
+dd 0x00ef00c4
+dd 0x00ff00df
+dd 0x010d00f8
+dd 0x011c0111
+dd 0x012b012b
+dd 0x01390145
+dd 0xff77fe84
+dd 0xff86fe9d
+dd 0xff95feb8
+dd 0xffa3fed1
+dd 0xffb2feea
+dd 0xffc2ff04
+dd 0xffd0ff1e
+dd 0xffdfff37
+dd 0xffeeff51
+dd 0xfffcff6a
+dd 0x000bff83
+dd 0x001aff9e
+dd 0x0028ffb7
+dd 0x0037ffd0
+dd 0x0047ffea
+dd 0x00550003
+dd 0x0064001c
+dd 0x00730035
+dd 0x0081004f
+dd 0x00910068
+dd 0x00a00082
+dd 0x00ae009c
+dd 0x00bd00b5
+dd 0x00cc00ce
+dd 0x00db00e9
+dd 0x00ea0102
+dd 0x00f9011b
+dd 0x01070135
+dd 0x0116014e
+dd 0xff53fe8f
+dd 0xff61fea8
+dd 0xff70fec3
+dd 0xff7ffedc
+dd 0xff8dfef5
+dd 0xff9dff0f
+dd 0xffacff29
+dd 0xffbaff42
+dd 0xffc9ff5c
+dd 0xffd8ff75
+dd 0xffe7ff8e
+dd 0xfff6ffa9
+dd 0x0004ffc2
+dd 0x0012ffdb
+dd 0x0022fff5
+dd 0x0031000e
+dd 0x003f0027
+dd 0x004e0040
+dd 0x005d005a
+dd 0x006d0073
+dd 0x007b008d
+dd 0x008a00a7
+dd 0x009800c0
+dd 0x00a700d9
+dd 0x00b700f4
+dd 0x00c6010d
+dd 0x00d40126
+dd 0x00e30140
+dd 0x00f10159
+dd 0xff2ffe9a
+dd 0xff3efeb3
+dd 0xff4dfece
+dd 0xff5bfee7
+dd 0xff6aff00
+dd 0xff7aff1a
+dd 0xff88ff33
+dd 0xff97ff4d
+dd 0xffa6ff67
+dd 0xffb4ff80
+dd 0xffc4ff99
+dd 0xffd3ffb4
+dd 0xffe1ffcd
+dd 0xfff0ffe6
+dd 0x00000000
+dd 0x000d0019
+dd 0x001c0032
+dd 0x002b004b
+dd 0x00390065
+dd 0x0049007e
+dd 0x00580098
+dd 0x006600b2
+dd 0x007500cb
+dd 0x008400e4
+dd 0x009400ff
+dd 0x00a20118
+dd 0x00b10131
+dd 0x00bf014b
+dd 0x00ce0164
+dd 0xff0bfea4
+dd 0xff19febd
+dd 0xff28fed7
+dd 0xff37fef1
+dd 0xff45ff0a
+dd 0xff55ff24
+dd 0xff64ff3d
+dd 0xff72ff57
+dd 0xff81ff71
+dd 0xff90ff8a
+dd 0xffa0ffa3
+dd 0xffaeffbd
+dd 0xffbdffd7
+dd 0xffcbfff0
+dd 0xffdb0009
+dd 0xffea0022
+dd 0xfff9003c
+dd 0x00060055
+dd 0x0015006f
+dd 0x00250088
+dd 0x003300a1
+dd 0x004200bc
+dd 0x005100d5
+dd 0x005f00ee
+dd 0x006f0108
+dd 0x007e0122
+dd 0x008c013b
+dd 0x009b0155
+dd 0x00aa016e
+dd 0xfee6feaf
+dd 0xfef5fec8
+dd 0xff03fee2
+dd 0xff12fefc
+dd 0xff21ff15
+dd 0xff31ff2f
+dd 0xff3fff48
+dd 0xff4eff61
+dd 0xff5cff7c
+dd 0xff6bff95
+dd 0xff7bffae
+dd 0xff8affc8
+dd 0xff98ffe2
+dd 0xffa7fffb
+dd 0xffb70014
+dd 0xffc5002d
+dd 0xffd40047
+dd 0xffe30060
+dd 0xfff1007a
+dd 0x00010093
+dd 0x000f00ac
+dd 0x001d00c7
+dd 0x002c00e0
+dd 0x003b00f9
+dd 0x004a0113
+dd 0x0059012d
+dd 0x00680146
+dd 0x00760160
+dd 0x00850179
+dd 0xfec3feb9
+dd 0xfed2fed2
+dd 0xfee0feec
+dd 0xfeefff05
+dd 0xfefdff1f
+dd 0xff0dff39
+dd 0xff1cff52
+dd 0xff2bff6b
+dd 0xff39ff86
+dd 0xff48ff9f
+dd 0xff58ffb8
+dd 0xff66ffd2
+dd 0xff75ffeb
+dd 0xff830004
+dd 0xff93001e
+dd 0xffa20037
+dd 0xffb10050
+dd 0xffbf006a
+dd 0xffce0084
+dd 0xffde009d
+dd 0xffec00b6
+dd 0xfffb00d1
+dd 0x000900ea
+dd 0x00170103
+dd 0x0027011d
+dd 0x00360136
+dd 0x00440150
+dd 0x0053016a
+dd 0x00620183
+dd 0xfe9efec4
+dd 0xfeadfedd
+dd 0xfebcfef7
+dd 0xfecaff10
+dd 0xfed9ff2a
+dd 0xfee9ff44
+dd 0xfef7ff5d
+dd 0xff06ff76
+dd 0xff15ff91
+dd 0xff23ffaa
+dd 0xff33ffc3
+dd 0xff42ffdd
+dd 0xff50fff6
+dd 0xff5f000f
+dd 0xff6f0029
+dd 0xff7d0042
+dd 0xff8c005b
+dd 0xff9b0075
+dd 0xffa9008f
+dd 0xffb900a8
+dd 0xffc800c1
+dd 0xffd600db
+dd 0xffe500f5
+dd 0xfff4010e
+dd 0x00030128
+dd 0x00110141
+dd 0x0020015b
+dd 0x002e0175
+dd 0x003d018e
+dd 0xfe7bfecf
+dd 0xfe8afee8
+dd 0xfe98ff02
+dd 0xfea7ff1b
+dd 0xfeb5ff35
+dd 0xfec5ff4f
+dd 0xfed4ff68
+dd 0xfee3ff81
+dd 0xfef1ff9c
+dd 0xff00ffb5
+dd 0xff10ffce
+dd 0xff1effe8
+dd 0xff2d0001
+dd 0xff3c001a
+dd 0xff4b0034
+dd 0xff5a004d
+dd 0xff690066
+dd 0xff77007f
+dd 0xff86009a
+dd 0xff9600b3
+dd 0xffa400cc
+dd 0xffb300e6
+dd 0xffc20100
+dd 0xffd00119
+dd 0xffe00133
+dd 0xffef014c
+dd 0xfffd0165
+dd 0x000b0180
+dd 0x001a0199
+dd 0xfe56fed9
+dd 0xfe65fef2
+dd 0xfe74ff0c
+dd 0xfe82ff25
+dd 0xfe91ff3e
+dd 0xfea1ff59
+dd 0xfeafff72
+dd 0xfebeff8b
+dd 0xfecdffa5
+dd 0xfedbffbf
+dd 0xfeebffd8
+dd 0xfefafff2
+dd 0xff08000a
+dd 0xff170023
+dd 0xff27003e
+dd 0xff350057
+dd 0xff440070
+dd 0xff530089
+dd 0xff6100a4
+dd 0xff7100bd
+dd 0xff8000d6
+dd 0xff8e00f0
+dd 0xff9d0109
+dd 0xffac0123
+dd 0xffbc013d
+dd 0xffca0156
+dd 0xffd9016f
+dd 0xffe7018a
+dd 0xfff601a3
+dd 0xfe33fee4
+dd 0xfe42fefd
+dd 0xfe50ff17
+dd 0xfe5fff30
+dd 0xfe6eff49
+dd 0xfe7dff64
+dd 0xfe8cff7d
+dd 0xfe9bff96
+dd 0xfea9ffb0
+dd 0xfeb8ffca
+dd 0xfec8ffe3
+dd 0xfed6fffd
+dd 0xfee50015
+dd 0xfef4002e
+dd 0xff030049
+dd 0xff120062
+dd 0xff21007b
+dd 0xff2f0094
+dd 0xff3e00af
+dd 0xff4e00c8
+dd 0xff5c00e1
+dd 0xff6b00fb
+dd 0xff7a0114
+dd 0xff88012e
+dd 0xff980148
+dd 0xffa70161
+dd 0xffb5017a
+dd 0xffc40195
+dd 0xffd301ae
+dd 0xfe0efeee
+dd 0xfe1dff08
+dd 0xfe2cff22
+dd 0xfe3aff3b
+dd 0xfe49ff54
+dd 0xfe59ff6f
+dd 0xfe67ff88
+dd 0xfe76ffa1
+dd 0xfe85ffbb
+dd 0xfe93ffd4
+dd 0xfea3ffee
+dd 0xfeb20007
+dd 0xfec00020
+dd 0xfecf0039
+dd 0xfedf0054
+dd 0xfeee006d
+dd 0xfefc0086
+dd 0xff0b009f
+dd 0xff1900ba
+dd 0xff2900d3
+dd 0xff3800ec
+dd 0xff470106
+dd 0xff55011f
+dd 0xff640139
+dd 0xff740153
+dd 0xff82016c
+dd 0xff910185
+dd 0xffa001a0
+dd 0xffae01b9
+dd 0xfdeafef8
+dd 0xfdf9ff12
+dd 0xfe07ff2c
+dd 0xfe16ff45
+dd 0xfe24ff5e
+dd 0xfe34ff78
+dd 0xfe43ff92
+dd 0xfe52ffab
+dd 0xfe60ffc5
+dd 0xfe6fffde
+dd 0xfe7ffff8
+dd 0xfe8d0011
+dd 0xfe9c002a
+dd 0xfeab0043
+dd 0xfeba005e
+dd 0xfec90077
+dd 0xfed80090
+dd 0xfee600a9
+dd 0xfef500c3
+dd 0xff0500dd
+dd 0xff1300f6
+dd 0xff220110
+dd 0xff310129
+dd 0xff3f0142
+dd 0xff4f015d
+dd 0xff5e0176
+dd 0xff6c018f
+dd 0xff7b01a9
+dd 0xff8a01c3
+dd 0xfdc7ff03
+dd 0xfdd5ff1c
+dd 0xfde4ff37
+dd 0xfdf2ff50
+dd 0xfe01ff69
+dd 0xfe11ff83
+dd 0xfe20ff9d
+dd 0xfe2effb6
+dd 0xfe3dffd0
+dd 0xfe4bffe9
+dd 0xfe5b0002
+dd 0xfe6a001c
+dd 0xfe790035
+dd 0xfe87004e
+dd 0xfe970068
+dd 0xfea60082
+dd 0xfeb4009b
+dd 0xfec300b4
+dd 0xfed200ce
+dd 0xfee100e8
+dd 0xfef00101
+dd 0xfeff011b
+dd 0xff0d0134
+dd 0xff1c014d
+dd 0xff2c0168
+dd 0xff3a0181
+dd 0xff49019a
+dd 0xff5801b4
+dd 0xff6601ce
+dd 0xfda2ff0d
+dd 0xfdb1ff26
+dd 0xfdbfff41
+dd 0xfdceff5a
+dd 0xfddcff73
+dd 0xfdecff8d
+dd 0xfdfbffa6
+dd 0xfe0affc0
+dd 0xfe18ffda
+dd 0xfe27fff3
+dd 0xfe37000b
+dd 0xfe450026
+dd 0xfe54003f
+dd 0xfe630058
+dd 0xfe720072
+dd 0xfe81008c
+dd 0xfe9000a5
+dd 0xfe9e00be
+dd 0xfead00d8
+dd 0xfebd00f1
+dd 0xfecb010b
+dd 0xfeda0125
+dd 0xfee9013e
+dd 0xfef70157
+dd 0xff070172
+dd 0xff16018b
+dd 0xff2401a4
+dd 0xff3301be
+dd 0xff4201d7
+dd 0xfd7fff18
+dd 0xfd8dff31
+dd 0xfd9cff4c
+dd 0xfdabff65
+dd 0xfdb9ff7e
+dd 0xfdc9ff98
+dd 0xfdd8ffb1
+dd 0xfde6ffcb
+dd 0xfdf5ffe5
+dd 0xfe03fffe
+dd 0xfe130016
+dd 0xfe220031
+dd 0xfe31004a
+dd 0xfe3f0063
+dd 0xfe4f007d
+dd 0xfe5e0096
+dd 0xfe6c00b0
+dd 0xfe7b00c9
+dd 0xfe8a00e3
+dd 0xfe9900fc
+dd 0xfea80116
+dd 0xfeb70130
+dd 0xfec50149
+dd 0xfed40162
+dd 0xfee4017c
+dd 0xfef20196
+dd 0xff0101af
+dd 0xff1001c9
+dd 0xff1e01e2
+dd 0xfd5aff23
+dd 0xfd69ff3c
+dd 0xfd77ff57
+dd 0xfd86ff70
+dd 0xfd95ff89
+dd 0xfda4ffa3
+dd 0xfdb3ffbc
+dd 0xfdc2ffd6
+dd 0xfdd0fff0
+dd 0xfddf0008
+dd 0xfdef0021
+dd 0xfdfd003c
+dd 0xfe0c0055
+dd 0xfe1b006e
+dd 0xfe2b0088
+dd 0xfe3900a1
+dd 0xfe4800bb
+dd 0xfe5600d4
+dd 0xfe6500ee
+dd 0xfe750107
+dd 0xfe830120
+dd 0xfe92013b
+dd 0xfea10154
+dd 0xfeaf016d
+dd 0xfebf0187
+dd 0xfece01a1
+dd 0xfedc01ba
+dd 0xfeeb01d4
+dd 0xfefa01ed
+dd 0xfd37ff2d
+dd 0xfd45ff46
+dd 0xfd54ff60
+dd 0xfd63ff7a
+dd 0xfd71ff93
+dd 0xfd81ffad
+dd 0xfd90ffc6
+dd 0xfd9effdf
+dd 0xfdadfffa
+dd 0xfdbc0012
+dd 0xfdcb002b
+dd 0xfdda0045
+dd 0xfde9005f
+dd 0xfdf70078
+dd 0xfe070092
+dd 0xfe1600ab
+dd 0xfe2400c4
+dd 0xfe3300de
+dd 0xfe4200f8
+dd 0xfe520111
+dd 0xfe60012a
+dd 0xfe6f0145
+dd 0xfe7d015e
+dd 0xfe8c0177
+dd 0xfe9c0191
+dd 0xfeab01aa
+dd 0xfeb901c4
+dd 0xfec801de
+dd 0xfed601f7
+dd 0x02c7ff2d
+dd 0x02b9ff46
+dd 0x02aaff5f
+dd 0x029bff7a
+dd 0x028dff93
+dd 0x027dffac
+dd 0x026effc6
+dd 0x0260ffdf
+dd 0x0251fff9
+dd 0x02420012
+dd 0x0232002b
+dd 0x02240044
+dd 0x0215005f
+dd 0x02070078
+dd 0x01f80092
+dd 0x01e800ab
+dd 0x01d900c4
+dd 0x01cb00df
+dd 0x01bc00f8
+dd 0x01ac0111
+dd 0x019e012b
+dd 0x018f0145
+dd 0x0181015e
+dd 0x01720178
+dd 0x01620191
+dd 0x015301aa
+dd 0x014501c5
+dd 0x013601de
+dd 0x012801f7
+dd 0x02a3ff23
+dd 0x0294ff3c
+dd 0x0285ff55
+dd 0x0277ff70
+dd 0x0268ff89
+dd 0x0258ffa2
+dd 0x024affbc
+dd 0x023bffd6
+dd 0x022cffef
+dd 0x021e0008
+dd 0x020e0021
+dd 0x01ff003a
+dd 0x01f10055
+dd 0x01e2006e
+dd 0x01d30088
+dd 0x01c400a1
+dd 0x01b500bb
+dd 0x01a600d5
+dd 0x019800ee
+dd 0x01880107
+dd 0x01790122
+dd 0x016b013b
+dd 0x015c0154
+dd 0x014d016e
+dd 0x013d0187
+dd 0x012f01a1
+dd 0x012001bb
+dd 0x011201d4
+dd 0x010301ed
+dd 0x027eff18
+dd 0x026fff31
+dd 0x0261ff4a
+dd 0x0252ff65
+dd 0x0244ff7e
+dd 0x0234ff97
+dd 0x0225ffb1
+dd 0x0216ffcb
+dd 0x0208ffe4
+dd 0x01f9fffe
+dd 0x01e90016
+dd 0x01db0030
+dd 0x01cc004a
+dd 0x01bd0063
+dd 0x01af007d
+dd 0x019f0096
+dd 0x019000b0
+dd 0x018200ca
+dd 0x017300e3
+dd 0x016300fc
+dd 0x01550117
+dd 0x01460130
+dd 0x01370149
+dd 0x01290163
+dd 0x0119017c
+dd 0x010a0196
+dd 0x00fc01b0
+dd 0x00ed01c9
+dd 0x00de01e2
+dd 0x025bff0d
+dd 0x024cff26
+dd 0x023dff40
+dd 0x022fff5a
+dd 0x0220ff73
+dd 0x0210ff8c
+dd 0x0202ffa6
+dd 0x01f3ffc0
+dd 0x01e4ffd9
+dd 0x01d6fff3
+dd 0x01c6000b
+dd 0x01b70025
+dd 0x01a9003f
+dd 0x019a0058
+dd 0x018b0072
+dd 0x017c008c
+dd 0x016d00a5
+dd 0x015e00bf
+dd 0x015000d8
+dd 0x014000f1
+dd 0x0131010c
+dd 0x01230125
+dd 0x0114013e
+dd 0x01050158
+dd 0x00f60172
+dd 0x00e7018b
+dd 0x00d801a5
+dd 0x00ca01be
+dd 0x00bb01d7
+dd 0x0236ff03
+dd 0x0228ff1c
+dd 0x0219ff36
+dd 0x020aff50
+dd 0x01fcff69
+dd 0x01ecff82
+dd 0x01ddff9d
+dd 0x01cfffb6
+dd 0x01c0ffcf
+dd 0x01b1ffe9
+dd 0x01a10002
+dd 0x0193001b
+dd 0x01840035
+dd 0x0176004e
+dd 0x01670068
+dd 0x01570082
+dd 0x0148009b
+dd 0x013a00b5
+dd 0x012b00ce
+dd 0x011b00e8
+dd 0x010d0102
+dd 0x00fe011b
+dd 0x00ef0134
+dd 0x00e1014e
+dd 0x00d10168
+dd 0x00c20181
+dd 0x00b4019b
+dd 0x00a501b4
+dd 0x009601ce
+dd 0x0213fef8
+dd 0x0204ff12
+dd 0x01f6ff2b
+dd 0x01e7ff45
+dd 0x01d8ff5e
+dd 0x01c8ff77
+dd 0x01baff92
+dd 0x01abffab
+dd 0x019dffc4
+dd 0x018effde
+dd 0x017efff8
+dd 0x016f0010
+dd 0x0161002a
+dd 0x01520043
+dd 0x0144005e
+dd 0x01340077
+dd 0x01250090
+dd 0x011600aa
+dd 0x010800c3
+dd 0x00f800dd
+dd 0x00e900f7
+dd 0x00db0110
+dd 0x00cc0129
+dd 0x00bd0144
+dd 0x00ae015d
+dd 0x009f0176
+dd 0x00900190
+dd 0x008201a9
+dd 0x007301c3
+dd 0x01eefeed
+dd 0x01e0ff07
+dd 0x01d1ff20
+dd 0x01c2ff3a
+dd 0x01b4ff53
+dd 0x01a4ff6c
+dd 0x0195ff87
+dd 0x0187ffa0
+dd 0x0178ffb9
+dd 0x0169ffd3
+dd 0x0159ffed
+dd 0x014b0005
+dd 0x013c001f
+dd 0x012e0038
+dd 0x011f0053
+dd 0x010f006c
+dd 0x01010085
+dd 0x00f2009f
+dd 0x00e300b8
+dd 0x00d300d2
+dd 0x00c500ec
+dd 0x00b60105
+dd 0x00a8011e
+dd 0x00990139
+dd 0x00890152
+dd 0x007a016b
+dd 0x006c0185
+dd 0x005d019e
+dd 0x004f01b8
+dd 0x01cbfee4
+dd 0x01bcfefd
+dd 0x01aeff16
+dd 0x019fff30
+dd 0x0190ff49
+dd 0x0181ff63
+dd 0x0172ff7d
+dd 0x0163ff96
+dd 0x0155ffaf
+dd 0x0146ffca
+dd 0x0136ffe3
+dd 0x0128fffc
+dd 0x01190015
+dd 0x010a002e
+dd 0x00fc0049
+dd 0x00ec0062
+dd 0x00dd007b
+dd 0x00cf0095
+dd 0x00c000af
+dd 0x00b000c8
+dd 0x00a100e2
+dd 0x009300fb
+dd 0x00840114
+dd 0x0076012f
+dd 0x00660148
+dd 0x00570161
+dd 0x0048017b
+dd 0x003a0195
+dd 0x002b01ae
+dd 0x01a6fed9
+dd 0x0198fef2
+dd 0x0189ff0b
+dd 0x017aff25
+dd 0x016cff3e
+dd 0x015cff58
+dd 0x014dff72
+dd 0x013fff8b
+dd 0x0130ffa4
+dd 0x0121ffbf
+dd 0x0112ffd8
+dd 0x0103fff1
+dd 0x00f4000a
+dd 0x00e60023
+dd 0x00d7003e
+dd 0x00c70057
+dd 0x00b90070
+dd 0x00aa008a
+dd 0x009b00a4
+dd 0x008b00bd
+dd 0x007d00d7
+dd 0x006e00f0
+dd 0x00600109
+dd 0x00510124
+dd 0x0041013d
+dd 0x00320156
+dd 0x00240170
+dd 0x0015018a
+dd 0x000701a3
+dd 0x0182fecf
+dd 0x0173fee8
+dd 0x0164ff01
+dd 0x0156ff1b
+dd 0x0147ff35
+dd 0x0137ff4e
+dd 0x0129ff68
+dd 0x011aff81
+dd 0x010bff9a
+dd 0x00fdffb5
+dd 0x00edffce
+dd 0x00deffe7
+dd 0x00d00001
+dd 0x00c1001a
+dd 0x00b20034
+dd 0x00a3004d
+dd 0x00940066
+dd 0x00850081
+dd 0x0077009a
+dd 0x006700b3
+dd 0x005800cd
+dd 0x004a00e6
+dd 0x003b0100
+dd 0x002c011a
+dd 0x001d0133
+dd 0x000e014c
+dd 0x00000167
+dd 0xfff20180
+dd 0xffe30199
+dd 0x015efec4
+dd 0x0150fedd
+dd 0x0141fef6
+dd 0x0132ff10
+dd 0x0124ff2a
+dd 0x0114ff43
+dd 0x0105ff5d
+dd 0x00f7ff76
+dd 0x00e8ff8f
+dd 0x00d9ffaa
+dd 0x00caffc3
+dd 0x00bbffdc
+dd 0x00acfff6
+dd 0x009e000f
+dd 0x008f0029
+dd 0x007f0042
+dd 0x0071005b
+dd 0x00620076
+dd 0x0053008f
+dd 0x004400a8
+dd 0x003500c2
+dd 0x002600db
+dd 0x001800f5
+dd 0x0009010f
+dd 0xfffa0128
+dd 0xffec0141
+dd 0xffdd015c
+dd 0xffce0175
+dd 0xffc0018e
+dd 0x013afeb9
+dd 0x012bfed2
+dd 0x011dfeeb
+dd 0x010eff05
+dd 0x00ffff1f
+dd 0x00efff38
+dd 0x00e1ff52
+dd 0x00d2ff6b
+dd 0x00c4ff85
+dd 0x00b5ff9f
+dd 0x00a5ffb8
+dd 0x0096ffd1
+dd 0x0088ffeb
+dd 0x00790004
+dd 0x006b001e
+dd 0x005b0037
+dd 0x004c0050
+dd 0x003d006b
+dd 0x002f0084
+dd 0x001f009d
+dd 0x001000b7
+dd 0x000200d1
+dd 0xfff400ea
+dd 0xffe50104
+dd 0xffd6011d
+dd 0xffc70136
+dd 0xffb80151
+dd 0xffaa016a
+dd 0xff9b0183
+dd 0x0116feaf
+dd 0x0108fec8
+dd 0x00f9fee1
+dd 0x00ebfefc
+dd 0x00dcff15
+dd 0x00ccff2e
+dd 0x00bdff48
+dd 0x00afff61
+dd 0x00a0ff7b
+dd 0x0092ff95
+dd 0x0082ffae
+dd 0x0073ffc7
+dd 0x0064ffe2
+dd 0x0056fffb
+dd 0x00470014
+dd 0x0037002d
+dd 0x00290047
+dd 0x001a0061
+dd 0x000b007a
+dd 0xfffd0093
+dd 0xffee00ad
+dd 0xffdf00c7
+dd 0xffd100e0
+dd 0xffc200fa
+dd 0xffb20113
+dd 0xffa4012d
+dd 0xff950147
+dd 0xff860160
+dd 0xff780179
+dd 0x00f2fea4
+dd 0x00e3febd
+dd 0x00d5fed6
+dd 0x00c6fef1
+dd 0x00b7ff0a
+dd 0x00a8ff23
+dd 0x0099ff3d
+dd 0x008aff57
+dd 0x007cff70
+dd 0x006dff8a
+dd 0x005dffa3
+dd 0x004fffbc
+dd 0x0040ffd7
+dd 0x0031fff0
+dd 0x00230009
+dd 0x00130022
+dd 0x0004003c
+dd 0xfff70056
+dd 0xffe8006f
+dd 0xffd80088
+dd 0xffc900a3
+dd 0xffbb00bc
+dd 0xffac00d5
+dd 0xff9e00ef
+dd 0xff8e0108
+dd 0xff7f0122
+dd 0xff70013c
+dd 0xff620155
+dd 0xff53016e
+dd 0x00cffe9a
+dd 0x00c0feb3
+dd 0x00b1fecd
+dd 0x00a3fee7
+dd 0x0094ff00
+dd 0x0084ff19
+dd 0x0076ff33
+dd 0x0067ff4d
+dd 0x0058ff66
+dd 0x004aff80
+dd 0x003aff99
+dd 0x002bffb3
+dd 0x001dffcd
+dd 0x000effe6
+dd 0x00000000
+dd 0xfff00019
+dd 0xffe20032
+dd 0xffd3004c
+dd 0xffc50065
+dd 0xffb5007e
+dd 0xffa60099
+dd 0xff9700b2
+dd 0xff8900cb
+dd 0xff7a00e5
+dd 0xff6a00ff
+dd 0xff5c0118
+dd 0xff4d0132
+dd 0xff3e014b
+dd 0xff300164
+dd 0x00aafe8f
+dd 0x009bfea8
+dd 0x008dfec2
+dd 0x007efedc
+dd 0x006ffef5
+dd 0x0060ff0e
+dd 0x0051ff29
+dd 0x0042ff42
+dd 0x0034ff5b
+dd 0x0025ff75
+dd 0x0015ff8e
+dd 0x0007ffa8
+dd 0xfff9ffc2
+dd 0xffeaffdb
+dd 0xffdcfff5
+dd 0xffcc000e
+dd 0xffbd0027
+dd 0xffaf0041
+dd 0xffa0005a
+dd 0xff900073
+dd 0xff81008e
+dd 0xff7300a7
+dd 0xff6400c0
+dd 0xff5600da
+dd 0xff4600f4
+dd 0xff37010d
+dd 0xff290127
+dd 0xff1a0140
+dd 0xff0b0159
+dd 0x0085fe84
+dd 0x0077fe9d
+dd 0x0068feb7
+dd 0x0059fed1
+dd 0x004bfeea
+dd 0x003bff03
+dd 0x002cff1e
+dd 0x001eff37
+dd 0x000fff50
+dd 0x0001ff6a
+dd 0xfff2ff83
+dd 0xffe3ff9d
+dd 0xffd4ffb7
+dd 0xffc6ffd0
+dd 0xffb7ffea
+dd 0xffa70003
+dd 0xff99001c
+dd 0xff8a0036
+dd 0xff7b004f
+dd 0xff6c0068
+dd 0xff5d0083
+dd 0xff4e009c
+dd 0xff4000b5
+dd 0xff3100cf
+dd 0xff2100e9
+dd 0xff130102
+dd 0xff04011c
+dd 0xfef50135
+dd 0xfee7014e
+dd 0x0062fe7a
+dd 0x0053fe94
+dd 0x0045fead
+dd 0x0036fec7
+dd 0x0028fee0
+dd 0x0018fef9
+dd 0x0009ff14
+dd 0xfffbff2d
+dd 0xffedff46
+dd 0xffdeff60
+dd 0xffceff7a
+dd 0xffc0ff93
+dd 0xffb1ffad
+dd 0xffa2ffc6
+dd 0xff94ffe1
+dd 0xff84fffa
+dd 0xff750012
+dd 0xff67002c
+dd 0xff580045
+dd 0xff48005f
+dd 0xff3a0079
+dd 0xff2b0092
+dd 0xff1c00ab
+dd 0xff0e00c6
+dd 0xfefe00df
+dd 0xfeef00f8
+dd 0xfee10112
+dd 0xfed2012b
+dd 0xfec30145
+dd 0x003dfe6f
+dd 0x002ffe89
+dd 0x0020fea2
+dd 0x0012febc
+dd 0x0003fed5
+dd 0xfff4feee
+dd 0xffe5ff09
+dd 0xffd7ff22
+dd 0xffc8ff3b
+dd 0xffbaff55
+dd 0xffaaff6f
+dd 0xff9bff88
+dd 0xff8cffa2
+dd 0xff7effbb
+dd 0xff6fffd6
+dd 0xff5fffef
+dd 0xff510007
+dd 0xff420021
+dd 0xff33003a
+dd 0xff240054
+dd 0xff15006e
+dd 0xff060087
+dd 0xfef800a0
+dd 0xfee900bb
+dd 0xfed900d4
+dd 0xfecb00ed
+dd 0xfebc0107
+dd 0xfead0120
+dd 0xfe9f013a
+dd 0x001afe64
+dd 0x000bfe7e
+dd 0xfffefe97
+dd 0xffeffeb1
+dd 0xffe1feca
+dd 0xffd1fee4
+dd 0xffc2fefe
+dd 0xffb3ff17
+dd 0xffa5ff30
+dd 0xff96ff4a
+dd 0xff86ff64
+dd 0xff78ff7d
+dd 0xff69ff97
+dd 0xff5affb0
+dd 0xff4cffcb
+dd 0xff3cffe4
+dd 0xff2dfffd
+dd 0xff1f0016
+dd 0xff100030
+dd 0xff000049
+dd 0xfef20063
+dd 0xfee3007c
+dd 0xfed40095
+dd 0xfec600b0
+dd 0xfeb600c9
+dd 0xfea700e2
+dd 0xfe9900fc
+dd 0xfe8a0116
+dd 0xfe7b012f
+dd 0xfff7fe5b
+dd 0xffe8fe74
+dd 0xffd9fe8d
+dd 0xffcbfea7
+dd 0xffbcfec0
+dd 0xffacfeda
+dd 0xff9efef4
+dd 0xff8fff0d
+dd 0xff80ff26
+dd 0xff72ff41
+dd 0xff62ff5a
+dd 0xff53ff73
+dd 0xff45ff8d
+dd 0xff36ffa6
+dd 0xff27ffc1
+dd 0xff17ffda
+dd 0xff09fff3
+dd 0xfefa000c
+dd 0xfeec0026
+dd 0xfedc003f
+dd 0xfecd0059
+dd 0xfebe0072
+dd 0xfeb0008c
+dd 0xfea100a6
+dd 0xfe9100bf
+dd 0xfe8300d8
+dd 0xfe7400f2
+dd 0xfe65010c
+dd 0xfe570125
+dd 0xffd2fe50
+dd 0xffc3fe69
+dd 0xffb5fe82
+dd 0xffa6fe9c
+dd 0xff97feb6
+dd 0xff88fecf
+dd 0xff79fee9
+dd 0xff6aff02
+dd 0xff5cff1b
+dd 0xff4dff36
+dd 0xff3dff4f
+dd 0xff2fff68
+dd 0xff20ff82
+dd 0xff11ff9c
+dd 0xff03ffb6
+dd 0xfef3ffcf
+dd 0xfee4ffe8
+dd 0xfed60002
+dd 0xfec7001b
+dd 0xfeb70034
+dd 0xfea9004e
+dd 0xfe9a0067
+dd 0xfe8b0081
+dd 0xfe7d009b
+dd 0xfe6d00b4
+dd 0xfe5e00cd
+dd 0xfe5000e8
+dd 0xfe410101
+dd 0xfe32011a
+dd 0xffaffe46
+dd 0xffa0fe5f
+dd 0xff91fe78
+dd 0xff83fe92
+dd 0xff74feac
+dd 0xff64fec5
+dd 0xff56fedf
+dd 0xff47fef8
+dd 0xff38ff12
+dd 0xff2aff2c
+dd 0xff1aff45
+dd 0xff0bff5e
+dd 0xfefdff78
+dd 0xfeeeff92
+dd 0xfedfffac
+dd 0xfed0ffc5
+dd 0xfec1ffde
+dd 0xfeb2fff9
+dd 0xfea40011
+dd 0xfe94002a
+dd 0xfe850044
+dd 0xfe77005e
+dd 0xfe680077
+dd 0xfe590091
+dd 0xfe4900aa
+dd 0xfe3b00c3
+dd 0xfe2c00de
+dd 0xfe1e00f7
+dd 0xfe0f0110
+dd 0xff8afe3b
+dd 0xff7bfe54
+dd 0xff6dfe6d
+dd 0xff5efe88
+dd 0xff50fea1
+dd 0xff40feba
+dd 0xff31fed4
+dd 0xff22feed
+dd 0xff14ff07
+dd 0xff05ff21
+dd 0xfef5ff3a
+dd 0xfee7ff53
+dd 0xfed8ff6e
+dd 0xfec9ff87
+dd 0xfebbffa1
+dd 0xfeabffba
+dd 0xfe9cffd3
+dd 0xfe8effee
+dd 0xfe7f0006
+dd 0xfe6f001f
+dd 0xfe610039
+dd 0xfe520053
+dd 0xfe43006c
+dd 0xfe350086
+dd 0xfe25009f
+dd 0xfe1600b8
+dd 0xfe0800d3
+dd 0xfdf900ec
+dd 0xfdea0105
+dd 0xff67fe30
+dd 0xff58fe49
+dd 0xff49fe62
+dd 0xff3bfe7d
+dd 0xff2cfe96
+dd 0xff1cfeaf
+dd 0xff0efec9
+dd 0xfefffee2
+dd 0xfef0fefc
+dd 0xfee2ff16
+dd 0xfed2ff2f
+dd 0xfec3ff48
+dd 0xfeb5ff63
+dd 0xfea6ff7c
+dd 0xfe97ff96
+dd 0xfe88ffaf
+dd 0xfe79ffc8
+dd 0xfe6affe3
+dd 0xfe5cfffc
+dd 0xfe4c0014
+dd 0xfe3d002e
+dd 0xfe2f0048
+dd 0xfe200061
+dd 0xfe11007b
+dd 0xfe010094
+dd 0xfdf300ad
+dd 0xfde400c8
+dd 0xfdd600e1
+dd 0xfdc700fa
+dd 0xff42fe26
+dd 0xff33fe3f
+dd 0xff25fe58
+dd 0xff16fe73
+dd 0xff08fe8c
+dd 0xfef8fea5
+dd 0xfee9febf
+dd 0xfedafed9
+dd 0xfeccfef2
+dd 0xfebdff0c
+dd 0xfeadff25
+dd 0xfe9fff3e
+dd 0xfe90ff59
+dd 0xfe81ff72
+dd 0xfe73ff8c
+dd 0xfe63ffa5
+dd 0xfe54ffbf
+dd 0xfe46ffd9
+dd 0xfe37fff2
+dd 0xfe27000a
+dd 0xfe190025
+dd 0xfe0a003e
+dd 0xfdfb0057
+dd 0xfded0071
+dd 0xfddd008a
+dd 0xfdce00a4
+dd 0xfdc000be
+dd 0xfdb100d7
+dd 0xfda200f0
+dd 0xff1ffe1b
+dd 0xff10fe34
+dd 0xff01fe4d
+dd 0xfef3fe68
+dd 0xfee4fe81
+dd 0xfed4fe9a
+dd 0xfec6feb4
+dd 0xfeb7fece
+dd 0xfea9fee7
+dd 0xfe9aff01
+dd 0xfe8aff1a
+dd 0xfe7bff33
+dd 0xfe6dff4e
+dd 0xfe5eff67
+dd 0xfe50ff81
+dd 0xfe40ff9a
+dd 0xfe31ffb4
+dd 0xfe22ffce
+dd 0xfe14ffe7
+dd 0xfe040000
+dd 0xfdf5001a
+dd 0xfde70033
+dd 0xfdd8004c
+dd 0xfdc90066
+dd 0xfdba007f
+dd 0xfdab0099
+dd 0xfd9c00b3
+dd 0xfd8e00cc
+dd 0xfd7f00e5
+dd 0xfefafe10
+dd 0xfeecfe29
+dd 0xfeddfe43
+dd 0xfecefe5d
+dd 0xfec0fe76
+dd 0xfeb0fe8f
+dd 0xfea1fea9
+dd 0xfe93fec3
+dd 0xfe84fedc
+dd 0xfe75fef6
+dd 0xfe65ff0f
+dd 0xfe57ff29
+dd 0xfe48ff43
+dd 0xfe3aff5c
+dd 0xfe2bff76
+dd 0xfe1bff8f
+dd 0xfe0cffa9
+dd 0xfdfeffc3
+dd 0xfdefffdc
+dd 0xfddffff5
+dd 0xfdd1000f
+dd 0xfdc20028
+dd 0xfdb30041
+dd 0xfda5005b
+dd 0xfd950075
+dd 0xfd86008e
+dd 0xfd7800a8
+dd 0xfd6900c1
+dd 0xfd5a00da
+dd 0xfed6fe06
+dd 0xfec7fe1f
+dd 0xfeb8fe39
+dd 0xfeaafe53
+dd 0xfe9bfe6c
+dd 0xfe8bfe85
+dd 0xfe7dfea0
+dd 0xfe6efeb9
+dd 0xfe5ffed2
+dd 0xfe51feec
+dd 0xfe41ff05
+dd 0xfe32ff1f
+dd 0xfe24ff39
+dd 0xfe15ff52
+dd 0xfe06ff6c
+dd 0xfdf7ff86
+dd 0xfde8ff9f
+dd 0xfdd9ffb9
+dd 0xfdcbffd2
+dd 0xfdbbffeb
+dd 0xfdac0005
+dd 0xfd9e001e
+dd 0xfd8f0037
+dd 0xfd800051
+dd 0xfd70006b
+dd 0xfd620084
+dd 0xfd53009e
+dd 0xfd4500b7
+dd 0xfd3600d1
+dd 0x02c700d1
+dd 0x02a400da
+dd 0x027f00e5
+dd 0x025c00ef
+dd 0x023700fa
+dd 0x02140105
+dd 0x01ef010f
+dd 0x01cb011a
+dd 0x01a70125
+dd 0x0183012f
+dd 0x015f013a
+dd 0x013b0145
+dd 0x0117014e
+dd 0x00f30159
+dd 0x00d00164
+dd 0x00ab016e
+dd 0x00860179
+dd 0x00630183
+dd 0x003e018e
+dd 0x001b0199
+dd 0xfff801a3
+dd 0xffd401ae
+dd 0xffb001b9
+dd 0xff8b01c3
+dd 0xff6801ce
+dd 0xff4301d8
+dd 0xff2001e2
+dd 0xfefb01ed
+dd 0xfed801f7
+dd 0x02b700b7
+dd 0x029400c1
+dd 0x026f00cc
+dd 0x024c00d6
+dd 0x022700e1
+dd 0x020400ec
+dd 0x01df00f6
+dd 0x01bb0101
+dd 0x0197010c
+dd 0x01730116
+dd 0x01500120
+dd 0x012b012b
+dd 0x01080135
+dd 0x00e30140
+dd 0x00c0014b
+dd 0x009b0155
+dd 0x00770160
+dd 0x0053016a
+dd 0x002f0175
+dd 0x000b0180
+dd 0xffe8018a
+dd 0xffc40195
+dd 0xffa001a0
+dd 0xff7b01a9
+dd 0xff5801b4
+dd 0xff3301bf
+dd 0xff1001c9
+dd 0xfeeb01d4
+dd 0xfec801de
+dd 0x02a9009d
+dd 0x028500a7
+dd 0x026100b2
+dd 0x023d00bc
+dd 0x021900c7
+dd 0x01f500d2
+dd 0x01d100db
+dd 0x01ac00e6
+dd 0x018900f1
+dd 0x016400fb
+dd 0x01410106
+dd 0x011c0111
+dd 0x00f9011b
+dd 0x00d40126
+dd 0x00b10131
+dd 0x008c013b
+dd 0x00680146
+dd 0x00450150
+dd 0x0020015b
+dd 0xfffe0165
+dd 0xffd9016f
+dd 0xffb6017a
+dd 0xff910185
+dd 0xff6d018f
+dd 0xff49019a
+dd 0xff2501a5
+dd 0xff0101af
+dd 0xfedd01ba
+dd 0xfeb901c4
+dd 0x029a0084
+dd 0x0277008e
+dd 0x02520099
+dd 0x022f00a3
+dd 0x020a00ad
+dd 0x01e700b8
+dd 0x01c200c2
+dd 0x019e00cd
+dd 0x017a00d8
+dd 0x015600e2
+dd 0x013200ed
+dd 0x010e00f8
+dd 0x00ea0102
+dd 0x00c6010d
+dd 0x00a20118
+dd 0x007e0122
+dd 0x0059012d
+dd 0x00360136
+dd 0x00110141
+dd 0xffef014c
+dd 0xffca0156
+dd 0xffa70161
+dd 0xff82016c
+dd 0xff5e0176
+dd 0xff3b0181
+dd 0xff16018c
+dd 0xfef30196
+dd 0xfece01a1
+dd 0xfeab01aa
+dd 0x028b006b
+dd 0x02680075
+dd 0x0243007f
+dd 0x02200089
+dd 0x01fb0094
+dd 0x01d8009f
+dd 0x01b300a9
+dd 0x018f00b4
+dd 0x016c00bf
+dd 0x014700c9
+dd 0x012400d4
+dd 0x00ff00df
+dd 0x00dc00e9
+dd 0x00b700f4
+dd 0x009400ff
+dd 0x006f0108
+dd 0x004b0113
+dd 0x0027011d
+dd 0x00030128
+dd 0xffe00133
+dd 0xffbc013d
+dd 0xff980148
+dd 0xff740153
+dd 0xff4f015d
+dd 0xff2c0168
+dd 0xff070173
+dd 0xfee4017c
+dd 0xfebf0187
+dd 0xfe9c0191
+dd 0x027b0050
+dd 0x0258005a
+dd 0x02330065
+dd 0x0210006f
+dd 0x01ec007a
+dd 0x01c80085
+dd 0x01a4008f
+dd 0x017f009a
+dd 0x015c00a5
+dd 0x013700af
+dd 0x011400ba
+dd 0x00ef00c4
+dd 0x00cc00ce
+dd 0x00a700d9
+dd 0x008400e4
+dd 0x005f00ee
+dd 0x003b00f9
+dd 0x00170103
+dd 0xfff4010e
+dd 0xffd10119
+dd 0xffac0123
+dd 0xff89012e
+dd 0xff640139
+dd 0xff3f0142
+dd 0xff1c014d
+dd 0xfef80158
+dd 0xfed40162
+dd 0xfeb0016d
+dd 0xfe8c0177
+dd 0x026d0037
+dd 0x02490041
+dd 0x0225004c
+dd 0x02020056
+dd 0x01dd0061
+dd 0x01ba006c
+dd 0x01950076
+dd 0x01700081
+dd 0x014d008c
+dd 0x01290095
+dd 0x010500a0
+dd 0x00e100ab
+dd 0x00bd00b5
+dd 0x009900c0
+dd 0x007500cb
+dd 0x005100d5
+dd 0x002c00e0
+dd 0x000900ea
+dd 0xffe500f5
+dd 0xffc20100
+dd 0xff9d0109
+dd 0xff7a0114
+dd 0xff55011f
+dd 0xff310129
+dd 0xff0d0134
+dd 0xfee9013f
+dd 0xfec60149
+dd 0xfea10154
+dd 0xfe7e015e
+dd 0x025e001e
+dd 0x023b0028
+dd 0x02160033
+dd 0x01f3003d
+dd 0x01ce0048
+dd 0x01ab0053
+dd 0x0186005c
+dd 0x01620067
+dd 0x013e0072
+dd 0x011a007c
+dd 0x00f70087
+dd 0x00d20092
+dd 0x00af009c
+dd 0x008a00a7
+dd 0x006700b2
+dd 0x004200bc
+dd 0x001e00c7
+dd 0xfffb00d1
+dd 0xffd700db
+dd 0xffb300e6
+dd 0xff8f00f0
+dd 0xff6b00fb
+dd 0xff470106
+dd 0xff220110
+dd 0xfeff011b
+dd 0xfeda0126
+dd 0xfeb70130
+dd 0xfe92013b
+dd 0xfe6f0145
+dd 0x02500004
+dd 0x022c000e
+dd 0x02080019
+dd 0x01e40022
+dd 0x01c0002d
+dd 0x019c0038
+dd 0x01780042
+dd 0x0153004d
+dd 0x01300058
+dd 0x010b0062
+dd 0x00e8006d
+dd 0x00c30078
+dd 0x00a00082
+dd 0x007b008d
+dd 0x00580098
+dd 0x003300a1
+dd 0x000f00ac
+dd 0xffed00b6
+dd 0xffc800c1
+dd 0xffa500cc
+dd 0xff8000d6
+dd 0xff5d00e1
+dd 0xff3800ec
+dd 0xff1400f6
+dd 0xfef00101
+dd 0xfecc010c
+dd 0xfea80116
+dd 0xfe840120
+dd 0xfe60012a
+dd 0x0241ffeb
+dd 0x021efff5
+dd 0x01f90000
+dd 0x01d60009
+dd 0x01b10014
+dd 0x018e001f
+dd 0x01690029
+dd 0x01450034
+dd 0x0121003f
+dd 0x00fd0049
+dd 0x00d90054
+dd 0x00b5005f
+dd 0x00910068
+dd 0x006d0073
+dd 0x0049007e
+dd 0x00250088
+dd 0x00010093
+dd 0xffde009d
+dd 0xffb900a8
+dd 0xff9600b3
+dd 0xff7100bd
+dd 0xff4e00c8
+dd 0xff2a00d3
+dd 0xff0500dd
+dd 0xfee200e8
+dd 0xfebd00f2
+dd 0xfe9a00fc
+dd 0xfe750107
+dd 0xfe520111
+dd 0x0231ffd2
+dd 0x020effdc
+dd 0x01e9ffe7
+dd 0x01c6fff1
+dd 0x01a1fffc
+dd 0x017e0006
+dd 0x01590010
+dd 0x0135001b
+dd 0x01110026
+dd 0x00ed0030
+dd 0x00c9003a
+dd 0x00a50045
+dd 0x0082004f
+dd 0x005d005a
+dd 0x003a0065
+dd 0x0015006f
+dd 0xfff1007a
+dd 0xffce0084
+dd 0xffaa008f
+dd 0xff86009a
+dd 0xff6200a4
+dd 0xff3e00af
+dd 0xff1a00ba
+dd 0xfef500c3
+dd 0xfed200ce
+dd 0xfead00d9
+dd 0xfe8a00e3
+dd 0xfe6500ee
+dd 0xfe4200f8
+dd 0x0222ffb8
+dd 0x01ffffc2
+dd 0x01daffcd
+dd 0x01b7ffd7
+dd 0x0193ffe2
+dd 0x016fffed
+dd 0x014bfff6
+dd 0x01260001
+dd 0x0103000b
+dd 0x00de0015
+dd 0x00bb0020
+dd 0x0096002b
+dd 0x00730035
+dd 0x004e0040
+dd 0x002b004b
+dd 0x00060055
+dd 0xffe30060
+dd 0xffbf006a
+dd 0xff9b0075
+dd 0xff78007f
+dd 0xff530089
+dd 0xff300094
+dd 0xff0b009f
+dd 0xfee600a9
+dd 0xfec300b4
+dd 0xfe9f00bf
+dd 0xfe7b00c9
+dd 0xfe5700d4
+dd 0xfe3300de
+dd 0x0214ff9f
+dd 0x01f0ffa9
+dd 0x01ccffb4
+dd 0x01a9ffbd
+dd 0x0184ffc8
+dd 0x0161ffd3
+dd 0x013cffdd
+dd 0x0117ffe8
+dd 0x00f4fff3
+dd 0x00d0fffd
+dd 0x00ac0007
+dd 0x00880012
+dd 0x0064001c
+dd 0x00400027
+dd 0x001c0032
+dd 0xfff9003c
+dd 0xffd40047
+dd 0xffb10050
+dd 0xff8c005b
+dd 0xff690066
+dd 0xff440070
+dd 0xff21007b
+dd 0xfefc0086
+dd 0xfed80090
+dd 0xfeb4009b
+dd 0xfe9000a6
+dd 0xfe6d00b0
+dd 0xfe4800bb
+dd 0xfe2500c4
+dd 0x0205ff86
+dd 0x01e2ff8f
+dd 0x01bdff9a
+dd 0x019affa4
+dd 0x0175ffaf
+dd 0x0152ffba
+dd 0x012dffc4
+dd 0x0109ffcf
+dd 0x00e5ffda
+dd 0x00c1ffe4
+dd 0x009effef
+dd 0x0079fffa
+dd 0x00560003
+dd 0x0031000e
+dd 0x000e0019
+dd 0xffea0022
+dd 0xffc6002d
+dd 0xffa20037
+dd 0xff7e0042
+dd 0xff5a004d
+dd 0xff360057
+dd 0xff120062
+dd 0xfeee006d
+dd 0xfec90077
+dd 0xfea60082
+dd 0xfe81008d
+dd 0xfe5e0096
+dd 0xfe3900a1
+dd 0xfe1600ab
+dd 0x01f7ff6c
+dd 0x01d3ff76
+dd 0x01afff81
+dd 0x018bff8b
+dd 0x0167ff96
+dd 0x0143ffa1
+dd 0x011fffab
+dd 0x00faffb6
+dd 0x00d7ffc1
+dd 0x00b2ffcb
+dd 0x008fffd6
+dd 0x006affe1
+dd 0x0047ffea
+dd 0x0022fff5
+dd 0x00000000
+dd 0xffdb0009
+dd 0xffb70014
+dd 0xff94001e
+dd 0xff6f0029
+dd 0xff4c0034
+dd 0xff27003e
+dd 0xff040049
+dd 0xfedf0054
+dd 0xfebb005e
+dd 0xfe970068
+dd 0xfe730073
+dd 0xfe4f007d
+dd 0xfe2b0088
+dd 0xfe070092
+dd 0x01e7ff52
+dd 0x01c3ff5c
+dd 0x019fff67
+dd 0x017bff71
+dd 0x0157ff7c
+dd 0x0133ff87
+dd 0x010fff91
+dd 0x00eaff9c
+dd 0x00c7ffa6
+dd 0x00a2ffb0
+dd 0x007fffbb
+dd 0x005affc6
+dd 0x0037ffd0
+dd 0x0013ffdb
+dd 0xfff0ffe6
+dd 0xffccfff0
+dd 0xffa7fffb
+dd 0xff840004
+dd 0xff5f000f
+dd 0xff3c001a
+dd 0xff170023
+dd 0xfef4002e
+dd 0xfecf0039
+dd 0xfeab0043
+dd 0xfe87004e
+dd 0xfe630059
+dd 0xfe3f0063
+dd 0xfe1b006e
+dd 0xfdf80078
+dd 0x01d8ff39
+dd 0x01b5ff43
+dd 0x0190ff4e
+dd 0x016dff58
+dd 0x0148ff63
+dd 0x0125ff6e
+dd 0x0100ff77
+dd 0x00dcff82
+dd 0x00b8ff8d
+dd 0x0094ff97
+dd 0x0070ffa2
+dd 0x004cffad
+dd 0x0029ffb7
+dd 0x0004ffc2
+dd 0xffe2ffcd
+dd 0xffbdffd7
+dd 0xff98ffe2
+dd 0xff75ffeb
+dd 0xff51fff6
+dd 0xff2d0001
+dd 0xff09000a
+dd 0xfee50015
+dd 0xfec10020
+dd 0xfe9c002a
+dd 0xfe790035
+dd 0xfe540040
+dd 0xfe31004a
+dd 0xfe0c0055
+dd 0xfde9005f
+dd 0x01c9ff20
+dd 0x01a6ff2a
+dd 0x0182ff35
+dd 0x015eff3e
+dd 0x013aff49
+dd 0x0116ff54
+dd 0x00f2ff5e
+dd 0x00cdff69
+dd 0x00aaff74
+dd 0x0085ff7e
+dd 0x0062ff89
+dd 0x003dff94
+dd 0x001aff9e
+dd 0xfff6ffa9
+dd 0xffd3ffb4
+dd 0xffaeffbd
+dd 0xff8affc8
+dd 0xff66ffd2
+dd 0xff42ffdd
+dd 0xff1fffe8
+dd 0xfefafff2
+dd 0xfed7fffd
+dd 0xfeb20007
+dd 0xfe8d0011
+dd 0xfe6a001c
+dd 0xfe460027
+dd 0xfe220031
+dd 0xfdfe003c
+dd 0xfdda0045
+dd 0x01bbff05
+dd 0x0197ff0f
+dd 0x0173ff1a
+dd 0x0150ff24
+dd 0x012bff2f
+dd 0x0108ff3a
+dd 0x00e3ff44
+dd 0x00beff4f
+dd 0x009bff5a
+dd 0x0077ff64
+dd 0x0053ff6f
+dd 0x002fff7a
+dd 0x000bff83
+dd 0xffe8ff8e
+dd 0xffc4ff99
+dd 0xffa0ffa3
+dd 0xff7bffae
+dd 0xff58ffb8
+dd 0xff33ffc3
+dd 0xff10ffce
+dd 0xfeebffd8
+dd 0xfec8ffe3
+dd 0xfea3ffee
+dd 0xfe7ffff8
+dd 0xfe5b0002
+dd 0xfe37000c
+dd 0xfe140016
+dd 0xfdef0021
+dd 0xfdcc002b
+dd 0x01abfeec
+dd 0x0188fef6
+dd 0x0163ff01
+dd 0x0140ff0b
+dd 0x011bff16
+dd 0x00f8ff21
+dd 0x00d3ff2b
+dd 0x00afff36
+dd 0x008bff41
+dd 0x0067ff4a
+dd 0x0043ff55
+dd 0x001fff60
+dd 0xfffcff6a
+dd 0xffd8ff75
+dd 0xffb4ff80
+dd 0xff90ff8a
+dd 0xff6bff95
+dd 0xff48ff9f
+dd 0xff23ffaa
+dd 0xff00ffb5
+dd 0xfedbffbf
+dd 0xfeb8ffca
+dd 0xfe94ffd4
+dd 0xfe6fffde
+dd 0xfe4cffe9
+dd 0xfe27fff4
+dd 0xfe04fffe
+dd 0xfddf0008
+dd 0xfdbc0012
+dd 0x019cfed3
+dd 0x0179fedd
+dd 0x0154fee8
+dd 0x0131fef2
+dd 0x010cfefd
+dd 0x00e9ff08
+dd 0x00c5ff12
+dd 0x00a0ff1c
+dd 0x007dff27
+dd 0x0058ff31
+dd 0x0035ff3c
+dd 0x0010ff47
+dd 0xffeeff51
+dd 0xffc9ff5c
+dd 0xffa6ff67
+dd 0xff81ff71
+dd 0xff5dff7c
+dd 0xff39ff86
+dd 0xff15ff91
+dd 0xfef1ff9c
+dd 0xfecdffa5
+dd 0xfeaaffb0
+dd 0xfe85ffbb
+dd 0xfe60ffc5
+dd 0xfe3dffd0
+dd 0xfe18ffdb
+dd 0xfdf5ffe5
+dd 0xfdd1fff0
+dd 0xfdadfffa
+dd 0x018efeb9
+dd 0x016afec3
+dd 0x0146fece
+dd 0x0122fed7
+dd 0x00fefee2
+dd 0x00dafeed
+dd 0x00b6fef7
+dd 0x0091ff02
+dd 0x006eff0d
+dd 0x0049ff17
+dd 0x0026ff22
+dd 0x0002ff2d
+dd 0xffdfff37
+dd 0xffbbff42
+dd 0xff97ff4d
+dd 0xff73ff57
+dd 0xff4eff61
+dd 0xff2bff6b
+dd 0xff06ff76
+dd 0xfee3ff81
+dd 0xfebeff8b
+dd 0xfe9bff96
+dd 0xfe76ffa1
+dd 0xfe52ffab
+dd 0xfe2effb6
+dd 0xfe0affc1
+dd 0xfde6ffcb
+dd 0xfdc2ffd6
+dd 0xfd9fffdf
+dd 0x017ffea0
+dd 0x015cfea9
+dd 0x0137feb4
+dd 0x0114febe
+dd 0x00effec9
+dd 0x00ccfed4
+dd 0x00a7fede
+dd 0x0083fee9
+dd 0x005ffef4
+dd 0x003bfefe
+dd 0x0017ff09
+dd 0xfff4ff14
+dd 0xffd1ff1e
+dd 0xffacff29
+dd 0xff89ff33
+dd 0xff64ff3d
+dd 0xff3fff48
+dd 0xff1cff52
+dd 0xfef8ff5d
+dd 0xfed4ff68
+dd 0xfeb0ff72
+dd 0xfe8cff7d
+dd 0xfe68ff88
+dd 0xfe43ff92
+dd 0xfe20ff9d
+dd 0xfdfbffa8
+dd 0xfdd8ffb1
+dd 0xfdb3ffbc
+dd 0xfd90ffc6
+dd 0x0170fe86
+dd 0x014dfe90
+dd 0x0129fe9b
+dd 0x0105fea5
+dd 0x00e1feb0
+dd 0x00bdfebb
+dd 0x0099fec5
+dd 0x0074fed0
+dd 0x0051fedb
+dd 0x002cfee5
+dd 0x0009fef0
+dd 0xffe5fefb
+dd 0xffc2ff04
+dd 0xff9dff0f
+dd 0xff7aff1a
+dd 0xff55ff24
+dd 0xff31ff2f
+dd 0xff0dff39
+dd 0xfee9ff44
+dd 0xfec6ff4f
+dd 0xfea1ff59
+dd 0xfe7eff64
+dd 0xfe59ff6f
+dd 0xfe34ff78
+dd 0xfe11ff83
+dd 0xfdedff8e
+dd 0xfdc9ff98
+dd 0xfda5ffa3
+dd 0xfd81ffad
+dd 0x0161fe6c
+dd 0x013dfe76
+dd 0x0119fe81
+dd 0x00f5fe8b
+dd 0x00d1fe96
+dd 0x00adfea1
+dd 0x0089feab
+dd 0x0064feb6
+dd 0x0041fec0
+dd 0x001cfeca
+dd 0xfffafed5
+dd 0xffd5fee0
+dd 0xffb2feea
+dd 0xff8dfef5
+dd 0xff6aff00
+dd 0xff46ff0a
+dd 0xff21ff15
+dd 0xfefeff1f
+dd 0xfed9ff2a
+dd 0xfeb6ff35
+dd 0xfe91ff3e
+dd 0xfe6eff49
+dd 0xfe49ff54
+dd 0xfe25ff5e
+dd 0xfe01ff69
+dd 0xfdddff74
+dd 0xfdb9ff7e
+dd 0xfd95ff89
+dd 0xfd71ff93
+dd 0x0152fe53
+dd 0x012ffe5d
+dd 0x010afe68
+dd 0x00e7fe72
+dd 0x00c2fe7d
+dd 0x009ffe88
+dd 0x007afe91
+dd 0x0056fe9c
+dd 0x0032fea7
+dd 0x000efeb1
+dd 0xffebfebc
+dd 0xffc7fec7
+dd 0xffa3fed1
+dd 0xff7ffedc
+dd 0xff5bfee7
+dd 0xff37fef1
+dd 0xff12fefc
+dd 0xfeefff05
+dd 0xfecaff10
+dd 0xfea7ff1b
+dd 0xfe82ff25
+dd 0xfe5fff30
+dd 0xfe3bff3b
+dd 0xfe16ff45
+dd 0xfdf3ff50
+dd 0xfdceff5b
+dd 0xfdabff65
+dd 0xfd86ff70
+dd 0xfd63ff7a
+dd 0x0143fe3a
+dd 0x0120fe44
+dd 0x00fbfe4f
+dd 0x00d8fe58
+dd 0x00b3fe63
+dd 0x0090fe6e
+dd 0x006cfe78
+dd 0x0047fe83
+dd 0x0024fe8e
+dd 0x0000fe98
+dd 0xffddfea3
+dd 0xffb8feae
+dd 0xff95feb8
+dd 0xff70fec3
+dd 0xff4dfece
+dd 0xff28fed7
+dd 0xff04fee2
+dd 0xfee0feec
+dd 0xfebcfef7
+dd 0xfe98ff02
+dd 0xfe74ff0c
+dd 0xfe51ff17
+dd 0xfe2cff22
+dd 0xfe07ff2c
+dd 0xfde4ff37
+dd 0xfdbfff42
+dd 0xfd9cff4c
+dd 0xfd78ff57
+dd 0xfd54ff60
+dd 0x0135fe1f
+dd 0x0111fe29
+dd 0x00edfe34
+dd 0x00c9fe3e
+dd 0x00a5fe49
+dd 0x0082fe54
+dd 0x005dfe5e
+dd 0x0038fe69
+dd 0x0015fe74
+dd 0xfff1fe7e
+dd 0xffcefe89
+dd 0xffaafe94
+dd 0xff86fe9d
+dd 0xff62fea8
+dd 0xff3efeb3
+dd 0xff1afebd
+dd 0xfef5fec8
+dd 0xfed2fed2
+dd 0xfeadfedd
+dd 0xfe8afee8
+dd 0xfe65fef2
+dd 0xfe42fefd
+dd 0xfe1dff08
+dd 0xfdf9ff12
+dd 0xfdd5ff1c
+dd 0xfdb1ff27
+dd 0xfd8dff31
+dd 0xfd69ff3c
+dd 0xfd46ff46
+dd 0x0125fe06
+dd 0x0102fe10
+dd 0x00ddfe1b
+dd 0x00bafe25
+dd 0x0095fe30
+dd 0x0072fe3b
+dd 0x004dfe45
+dd 0x0029fe50
+dd 0x0005fe5b
+dd 0xffe2fe64
+dd 0xffbefe6f
+dd 0xff9afe7a
+dd 0xff76fe84
+dd 0xff52fe8f
+dd 0xff2efe9a
+dd 0xff0afea4
+dd 0xfee5feaf
+dd 0xfec2feb9
+dd 0xfe9dfec4
+dd 0xfe7afecf
+dd 0xfe55fed9
+dd 0xfe32fee4
+dd 0xfe0dfeee
+dd 0xfde9fef8
+dd 0xfdc6ff03
+dd 0xfda1ff0e
+dd 0xfd7eff18
+dd 0xfd59ff23
+dd 0xfd36ff2d
+dd 0x012501f8
+dd 0x010201ed
+dd 0x00dd01e2
+dd 0x00ba01d8
+dd 0x009501ce
+dd 0x007201c3
+dd 0x004d01b9
+dd 0x002901ae
+dd 0x000501a3
+dd 0xffe20199
+dd 0xffbe018e
+dd 0xff9a0183
+dd 0xff770179
+dd 0xff52016e
+dd 0xff2f0164
+dd 0xff0a0159
+dd 0xfee5014e
+dd 0xfec20145
+dd 0xfe9e013a
+dd 0xfe7a012f
+dd 0xfe560125
+dd 0xfe32011a
+dd 0xfe0e010f
+dd 0xfde90105
+dd 0xfdc600fa
+dd 0xfda100ef
+dd 0xfd7e00e5
+dd 0xfd5900da
+dd 0xfd3600cf
+dd 0x013401df
+dd 0x011001d4
+dd 0x00ec01c9
+dd 0x00c801bf
+dd 0x00a401b4
+dd 0x008101a9
+dd 0x005c01a0
+dd 0x00370195
+dd 0x0014018a
+dd 0xfff00180
+dd 0xffcd0175
+dd 0xffa9016a
+dd 0xff850160
+dd 0xff610155
+dd 0xff3d014b
+dd 0xff190140
+dd 0xfef40135
+dd 0xfed1012b
+dd 0xfeac0120
+dd 0xfe890116
+dd 0xfe64010c
+dd 0xfe410101
+dd 0xfe1c00f6
+dd 0xfdf800ec
+dd 0xfdd400e1
+dd 0xfdb000d6
+dd 0xfd8c00cc
+dd 0xfd6800c1
+dd 0xfd4500b6
+dd 0x014401c5
+dd 0x012001ba
+dd 0x00fc01af
+dd 0x00d801a5
+dd 0x00b4019a
+dd 0x0090018f
+dd 0x006c0185
+dd 0x0047017a
+dd 0x0024016f
+dd 0x00000165
+dd 0xffdd015b
+dd 0xffb80150
+dd 0xff950146
+dd 0xff70013b
+dd 0xff4d0131
+dd 0xff290126
+dd 0xff04011b
+dd 0xfee10111
+dd 0xfebc0106
+dd 0xfe9900fb
+dd 0xfe7400f1
+dd 0xfe5100e6
+dd 0xfe2c00db
+dd 0xfe0800d2
+dd 0xfde400c7
+dd 0xfdc000bc
+dd 0xfd9c00b2
+dd 0xfd7800a7
+dd 0xfd54009c
+dd 0x015201ac
+dd 0x012f01a1
+dd 0x010a0196
+dd 0x00e7018c
+dd 0x00c20181
+dd 0x009f0176
+dd 0x007a016c
+dd 0x00560161
+dd 0x00320156
+dd 0x000e014c
+dd 0xffec0141
+dd 0xffc70136
+dd 0xffa4012d
+dd 0xff7f0122
+dd 0xff5c0118
+dd 0xff37010d
+dd 0xff130102
+dd 0xfeef00f8
+dd 0xfecb00ed
+dd 0xfea700e2
+dd 0xfe8300d8
+dd 0xfe5f00cd
+dd 0xfe3b00c2
+dd 0xfe1600b8
+dd 0xfdf300ad
+dd 0xfdce00a3
+dd 0xfdab0099
+dd 0xfd86008e
+dd 0xfd630083
+dd 0x01610192
+dd 0x013d0187
+dd 0x0119017c
+dd 0x00f60173
+dd 0x00d10168
+dd 0x00ae015d
+dd 0x00890153
+dd 0x00640148
+dd 0x0041013d
+dd 0x001d0133
+dd 0xfffa0128
+dd 0xffd6011d
+dd 0xffb20113
+dd 0xff8e0108
+dd 0xff6a00ff
+dd 0xff4600f4
+dd 0xff2100e9
+dd 0xfefe00df
+dd 0xfed900d4
+dd 0xfeb600c9
+dd 0xfe9100bf
+dd 0xfe6e00b4
+dd 0xfe4900a9
+dd 0xfe25009f
+dd 0xfe010094
+dd 0xfddd0089
+dd 0xfdba007f
+dd 0xfd950075
+dd 0xfd72006a
+dd 0x016f0178
+dd 0x014c016d
+dd 0x01280162
+dd 0x01040158
+dd 0x00e0014d
+dd 0x00bc0142
+dd 0x00980139
+dd 0x0073012e
+dd 0x00500123
+dd 0x002b0119
+dd 0x0008010e
+dd 0xffe40103
+dd 0xffc100f9
+dd 0xff9c00ee
+dd 0xff7900e4
+dd 0xff5400d9
+dd 0xff3000ce
+dd 0xff0c00c4
+dd 0xfee800ba
+dd 0xfec500af
+dd 0xfea000a5
+dd 0xfe7d009a
+dd 0xfe58008f
+dd 0xfe330085
+dd 0xfe10007a
+dd 0xfdec006f
+dd 0xfdc80065
+dd 0xfda4005a
+dd 0xfd80004f
+dd 0x017f015f
+dd 0x015c0154
+dd 0x01370149
+dd 0x0114013f
+dd 0x00ef0134
+dd 0x00cc0129
+dd 0x00a8011f
+dd 0x00830114
+dd 0x00600109
+dd 0x003b0100
+dd 0x001800f5
+dd 0xfff400ea
+dd 0xffd100e0
+dd 0xffac00d5
+dd 0xff8900cb
+dd 0xff6400c0
+dd 0xff4000b5
+dd 0xff1c00ab
+dd 0xfef800a0
+dd 0xfed40095
+dd 0xfeb0008c
+dd 0xfe8c0081
+dd 0xfe680076
+dd 0xfe43006c
+dd 0xfe200061
+dd 0xfdfb0056
+dd 0xfdd8004c
+dd 0xfdb30041
+dd 0xfd900036
+dd 0x018e0146
+dd 0x016b013b
+dd 0x01460130
+dd 0x01230126
+dd 0x00fe011b
+dd 0x00db0110
+dd 0x00b60106
+dd 0x009200fb
+dd 0x006e00f0
+dd 0x004a00e6
+dd 0x002600db
+dd 0x000200d1
+dd 0xffdf00c7
+dd 0xffbb00bc
+dd 0xff9700b2
+dd 0xff7300a7
+dd 0xff4e009c
+dd 0xff2b0092
+dd 0xff060087
+dd 0xfee3007c
+dd 0xfebe0072
+dd 0xfe9b0067
+dd 0xfe77005c
+dd 0xfe520053
+dd 0xfe2f0048
+dd 0xfe0a003d
+dd 0xfde70033
+dd 0xfdc20028
+dd 0xfd9f001d
+dd 0x019d012b
+dd 0x01790120
+dd 0x01550116
+dd 0x0131010c
+dd 0x010d0101
+dd 0x00e900f6
+dd 0x00c500ec
+dd 0x00a000e1
+dd 0x007d00d6
+dd 0x005800cc
+dd 0x003500c1
+dd 0x001000b6
+dd 0xffee00ac
+dd 0xffc900a1
+dd 0xffa60098
+dd 0xff81008d
+dd 0xff5d0082
+dd 0xff3a0078
+dd 0xff15006d
+dd 0xfef20062
+dd 0xfecd0058
+dd 0xfeaa004d
+dd 0xfe850042
+dd 0xfe610038
+dd 0xfe3d002d
+dd 0xfe190022
+dd 0xfdf50019
+dd 0xfdd1000e
+dd 0xfdad0003
+dd 0x01ab0112
+dd 0x01880107
+dd 0x016300fc
+dd 0x014000f2
+dd 0x011b00e8
+dd 0x00f800dd
+dd 0x00d300d3
+dd 0x00af00c8
+dd 0x008b00bd
+dd 0x006700b3
+dd 0x004400a8
+dd 0x001f009d
+dd 0xfffd0093
+dd 0xffd80088
+dd 0xffb5007e
+dd 0xff900073
+dd 0xff6c0068
+dd 0xff48005f
+dd 0xff240054
+dd 0xff000049
+dd 0xfedc003f
+dd 0xfeb80034
+dd 0xfe940029
+dd 0xfe6f001f
+dd 0xfe4c0014
+dd 0xfe270009
+dd 0xfe040000
+dd 0xfddffff5
+dd 0xfdbcffea
+dd 0x01bb00f9
+dd 0x019800ee
+dd 0x017300e3
+dd 0x015000d9
+dd 0x012b00ce
+dd 0x010800c3
+dd 0x00e300ba
+dd 0x00bf00af
+dd 0x009b00a4
+dd 0x0077009a
+dd 0x0053008f
+dd 0x002f0084
+dd 0x000b007a
+dd 0xffe8006f
+dd 0xffc50065
+dd 0xffa0005a
+dd 0xff7b004f
+dd 0xff580045
+dd 0xff33003a
+dd 0xff100030
+dd 0xfeec0026
+dd 0xfec8001b
+dd 0xfea40010
+dd 0xfe7f0006
+dd 0xfe5cfffc
+dd 0xfe37fff1
+dd 0xfe14ffe7
+dd 0xfdefffdc
+dd 0xfdccffd1
+dd 0x01ca00df
+dd 0x01a600d4
+dd 0x018200c9
+dd 0x015e00bf
+dd 0x013a00b4
+dd 0x011600a9
+dd 0x00f2009f
+dd 0x00cd0094
+dd 0x00aa0089
+dd 0x0085007f
+dd 0x00620075
+dd 0x003d006a
+dd 0x001a0060
+dd 0xfff70055
+dd 0xffd3004b
+dd 0xffaf0040
+dd 0xff8a0035
+dd 0xff67002b
+dd 0xff420020
+dd 0xff1f0015
+dd 0xfefa000b
+dd 0xfed70001
+dd 0xfeb2fff6
+dd 0xfe8effed
+dd 0xfe6affe2
+dd 0xfe46ffd7
+dd 0xfe22ffcd
+dd 0xfdfeffc2
+dd 0xfddaffb7
+dd 0x01d800c6
+dd 0x01b500bb
+dd 0x019000b0
+dd 0x016d00a6
+dd 0x0148009b
+dd 0x01250090
+dd 0x01010086
+dd 0x00dc007b
+dd 0x00b90070
+dd 0x00940066
+dd 0x0071005b
+dd 0x004c0050
+dd 0x00290047
+dd 0x0004003c
+dd 0xffe20032
+dd 0xffbd0027
+dd 0xff99001c
+dd 0xff750012
+dd 0xff510007
+dd 0xff2dfffd
+dd 0xff09fff3
+dd 0xfee5ffe8
+dd 0xfec1ffdd
+dd 0xfe9cffd3
+dd 0xfe79ffc8
+dd 0xfe54ffbd
+dd 0xfe31ffb4
+dd 0xfe0cffa9
+dd 0xfde9ff9e
+dd 0x01e700ac
+dd 0x01c400a1
+dd 0x019f0096
+dd 0x017c008d
+dd 0x01570082
+dd 0x01340077
+dd 0x010f006d
+dd 0x00eb0062
+dd 0x00c70057
+dd 0x00a3004d
+dd 0x007f0042
+dd 0x005b0037
+dd 0x0037002d
+dd 0x00130022
+dd 0xfff00019
+dd 0xffcc000e
+dd 0xffa70003
+dd 0xff84fffa
+dd 0xff5fffef
+dd 0xff3cffe4
+dd 0xff17ffda
+dd 0xfef4ffcf
+dd 0xfed0ffc4
+dd 0xfeabffba
+dd 0xfe88ffaf
+dd 0xfe63ffa4
+dd 0xfe40ff9a
+dd 0xfe1bff8f
+dd 0xfdf8ff85
+dd 0x01f70093
+dd 0x01d30088
+dd 0x01af007d
+dd 0x018b0073
+dd 0x01670068
+dd 0x0144005e
+dd 0x011f0054
+dd 0x00fa0049
+dd 0x00d7003e
+dd 0x00b20034
+dd 0x008f0029
+dd 0x006b001e
+dd 0x00470014
+dd 0x00230009
+dd 0x00000000
+dd 0xffdcfff5
+dd 0xffb7ffea
+dd 0xff94ffe1
+dd 0xff6fffd6
+dd 0xff4cffcb
+dd 0xff27ffc1
+dd 0xff04ffb6
+dd 0xfedfffab
+dd 0xfebbffa1
+dd 0xfe97ff96
+dd 0xfe73ff8b
+dd 0xfe50ff81
+dd 0xfe2bff76
+dd 0xfe08ff6b
+dd 0x02050079
+dd 0x01e2006e
+dd 0x01bd0063
+dd 0x019a0059
+dd 0x0176004e
+dd 0x01520043
+dd 0x012e0039
+dd 0x0109002e
+dd 0x00e60023
+dd 0x00c1001a
+dd 0x009e000f
+dd 0x00790004
+dd 0x0056fffb
+dd 0x0031fff0
+dd 0x000effe6
+dd 0xffeaffdb
+dd 0xffc6ffd0
+dd 0xffa2ffc6
+dd 0xff7effbb
+dd 0xff5affb0
+dd 0xff36ffa6
+dd 0xff13ff9c
+dd 0xfeeeff91
+dd 0xfec9ff87
+dd 0xfea6ff7c
+dd 0xfe81ff71
+dd 0xfe5eff67
+dd 0xfe3aff5c
+dd 0xfe16ff51
+dd 0x02140060
+dd 0x01f10055
+dd 0x01cc004a
+dd 0x01a90040
+dd 0x01840035
+dd 0x0161002a
+dd 0x013c0020
+dd 0x01180015
+dd 0x00f4000a
+dd 0x00d00001
+dd 0x00acfff6
+dd 0x0088ffeb
+dd 0x0064ffe2
+dd 0x0040ffd7
+dd 0x001dffcd
+dd 0xfff9ffc2
+dd 0xffd4ffb7
+dd 0xffb1ffad
+dd 0xff8cffa2
+dd 0xff69ff97
+dd 0xff45ff8d
+dd 0xff21ff82
+dd 0xfefdff77
+dd 0xfed8ff6e
+dd 0xfeb5ff63
+dd 0xfe90ff58
+dd 0xfe6dff4e
+dd 0xfe48ff43
+dd 0xfe25ff38
+dd 0x02230047
+dd 0x01ff003c
+dd 0x01db0031
+dd 0x01b70027
+dd 0x0193001c
+dd 0x016f0011
+dd 0x014b0007
+dd 0x0126fffd
+dd 0x0103fff2
+dd 0x00deffe8
+dd 0x00bbffdd
+dd 0x0096ffd2
+dd 0x0073ffc8
+dd 0x004fffbd
+dd 0x002bffb4
+dd 0x0007ffa9
+dd 0xffe3ff9e
+dd 0xffc0ff94
+dd 0xff9bff89
+dd 0xff78ff7e
+dd 0xff53ff74
+dd 0xff30ff69
+dd 0xff0bff5e
+dd 0xfee7ff54
+dd 0xfec3ff49
+dd 0xfe9fff3e
+dd 0xfe7bff35
+dd 0xfe57ff2a
+dd 0xfe33ff1f
+dd 0x0231002c
+dd 0x020e0021
+dd 0x01e90016
+dd 0x01c6000c
+dd 0x01a10002
+dd 0x017efff8
+dd 0x0159ffee
+dd 0x0135ffe3
+dd 0x0112ffd8
+dd 0x00edffce
+dd 0x00caffc3
+dd 0x00a5ffb8
+dd 0x0082ffae
+dd 0x005dffa3
+dd 0x003aff99
+dd 0x0015ff8e
+dd 0xfff2ff83
+dd 0xffceff7a
+dd 0xffaaff6f
+dd 0xff86ff64
+dd 0xff62ff5a
+dd 0xff3eff4f
+dd 0xff1aff44
+dd 0xfef5ff3a
+dd 0xfed2ff2f
+dd 0xfeadff24
+dd 0xfe8aff1a
+dd 0xfe65ff0f
+dd 0xfe42ff04
+dd 0x02410013
+dd 0x021e0008
+dd 0x01f9fffe
+dd 0x01d6fff4
+dd 0x01b1ffe9
+dd 0x018effde
+dd 0x0169ffd4
+dd 0x0145ffca
+dd 0x0121ffbf
+dd 0x00fdffb5
+dd 0x00d9ffaa
+dd 0x00b5ff9f
+dd 0x0092ff95
+dd 0x006dff8a
+dd 0x004aff80
+dd 0x0025ff75
+dd 0x0001ff6a
+dd 0xffdeff60
+dd 0xffbaff55
+dd 0xff96ff4a
+dd 0xff72ff41
+dd 0xff4eff36
+dd 0xff2aff2b
+dd 0xff05ff21
+dd 0xfee2ff16
+dd 0xfebdff0b
+dd 0xfe9aff01
+dd 0xfe75fef6
+dd 0xfe52feeb
+dd 0x0250fffb
+dd 0x022cfff0
+dd 0x0208ffe5
+dd 0x01e4ffdb
+dd 0x01c0ffd0
+dd 0x019dffc5
+dd 0x0178ffbb
+dd 0x0153ffb0
+dd 0x0130ffa5
+dd 0x010bff9c
+dd 0x00e8ff91
+dd 0x00c4ff86
+dd 0x00a0ff7c
+dd 0x007cff71
+dd 0x0058ff67
+dd 0x0034ff5c
+dd 0x000fff51
+dd 0xffedff47
+dd 0xffc8ff3c
+dd 0xffa5ff31
+dd 0xff80ff27
+dd 0xff5dff1c
+dd 0xff38ff12
+dd 0xff14ff08
+dd 0xfef0fefd
+dd 0xfeccfef2
+dd 0xfea9fee8
+dd 0xfe84fedd
+dd 0xfe61fed2
+dd 0x025effe1
+dd 0x023bffd6
+dd 0x0216ffcb
+dd 0x01f3ffc1
+dd 0x01cfffb6
+dd 0x01abffab
+dd 0x0187ffa1
+dd 0x0162ff96
+dd 0x013fff8b
+dd 0x011aff81
+dd 0x00f7ff76
+dd 0x00d2ff6b
+dd 0x00afff61
+dd 0x008aff57
+dd 0x0067ff4d
+dd 0x0042ff42
+dd 0x001eff37
+dd 0xfffbff2d
+dd 0xffd7ff22
+dd 0xffb3ff17
+dd 0xff8fff0d
+dd 0xff6cff02
+dd 0xff47fef7
+dd 0xff22feed
+dd 0xfefffee2
+dd 0xfedafed7
+dd 0xfeb7fece
+dd 0xfe93fec3
+dd 0xfe6ffeb8
+dd 0x026dffc7
+dd 0x024affbc
+dd 0x0225ffb1
+dd 0x0202ffa8
+dd 0x01ddff9d
+dd 0x01baff92
+dd 0x0195ff88
+dd 0x0171ff7d
+dd 0x014dff72
+dd 0x0129ff68
+dd 0x0105ff5d
+dd 0x00e1ff52
+dd 0x00bdff48
+dd 0x0099ff3d
+dd 0x0076ff33
+dd 0x0051ff29
+dd 0x002cff1e
+dd 0x0009ff14
+dd 0xffe5ff09
+dd 0xffc2fefe
+dd 0xff9efef4
+dd 0xff7afee9
+dd 0xff56fede
+dd 0xff31fed4
+dd 0xff0efec9
+dd 0xfee9febe
+dd 0xfec6feb4
+dd 0xfea1fea9
+dd 0xfe7efe9f
+dd 0x027dffae
+dd 0x0259ffa3
+dd 0x0235ff98
+dd 0x0212ff8e
+dd 0x01edff83
+dd 0x01caff78
+dd 0x01a5ff6f
+dd 0x0181ff64
+dd 0x015dff59
+dd 0x0139ff4f
+dd 0x0115ff44
+dd 0x00f1ff39
+dd 0x00cdff2f
+dd 0x00a9ff24
+dd 0x0085ff1a
+dd 0x0061ff0f
+dd 0x003cff04
+dd 0x0019fefb
+dd 0xfff5fef0
+dd 0xffd2fee5
+dd 0xffadfedb
+dd 0xff8afed0
+dd 0xff65fec5
+dd 0xff41febb
+dd 0xff1efeb0
+dd 0xfef9fea5
+dd 0xfed6fe9b
+dd 0xfeb1fe90
+dd 0xfe8efe85
+dd 0x028bff94
+dd 0x0268ff89
+dd 0x0244ff7e
+dd 0x0220ff74
+dd 0x01fcff69
+dd 0x01d8ff5e
+dd 0x01b4ff54
+dd 0x018fff49
+dd 0x016cff3e
+dd 0x0147ff35
+dd 0x0124ff2a
+dd 0x00ffff1f
+dd 0x00dcff15
+dd 0x00b7ff0a
+dd 0x0094ff00
+dd 0x006ffef5
+dd 0x004bfeea
+dd 0x0028fee0
+dd 0x0003fed5
+dd 0xffe1feca
+dd 0xffbcfec0
+dd 0xff99feb6
+dd 0xff74feab
+dd 0xff50fea1
+dd 0xff2cfe96
+dd 0xff08fe8b
+dd 0xfee4fe81
+dd 0xfec0fe76
+dd 0xfe9cfe6b
+dd 0x029aff7b
+dd 0x0277ff70
+dd 0x0252ff65
+dd 0x022fff5b
+dd 0x020aff50
+dd 0x01e7ff45
+dd 0x01c2ff3b
+dd 0x019eff30
+dd 0x017aff25
+dd 0x0156ff1b
+dd 0x0132ff10
+dd 0x010eff05
+dd 0x00ebfefc
+dd 0x00c6fef1
+dd 0x00a3fee7
+dd 0x007efedc
+dd 0x0059fed1
+dd 0x0036fec7
+dd 0x0012febc
+dd 0xffeffeb1
+dd 0xffcbfea7
+dd 0xffa7fe9c
+dd 0xff83fe91
+dd 0xff5efe88
+dd 0xff3bfe7d
+dd 0xff16fe72
+dd 0xfef3fe68
+dd 0xfecefe5d
+dd 0xfeabfe52
+dd 0x02a9ff61
+dd 0x0285ff57
+dd 0x0261ff4c
+dd 0x023dff42
+dd 0x0219ff37
+dd 0x01f6ff2c
+dd 0x01d1ff22
+dd 0x01acff17
+dd 0x0189ff0c
+dd 0x0164ff02
+dd 0x0141fef7
+dd 0x011dfeec
+dd 0x00f9fee2
+dd 0x00d5fed7
+dd 0x00b1fece
+dd 0x008dfec3
+dd 0x0068feb8
+dd 0x0045feae
+dd 0x0020fea3
+dd 0xfffefe98
+dd 0xffd9fe8e
+dd 0xffb6fe83
+dd 0xff91fe78
+dd 0xff6dfe6e
+dd 0xff49fe63
+dd 0xff25fe58
+dd 0xff01fe4f
+dd 0xfeddfe44
+dd 0xfebafe39
+dd 0x02b9ff47
+dd 0x0295ff3c
+dd 0x0271ff31
+dd 0x024dff27
+dd 0x0229ff1c
+dd 0x0205ff12
+dd 0x01e1ff08
+dd 0x01bcfefd
+dd 0x0199fef2
+dd 0x0174fee8
+dd 0x0151fedd
+dd 0x012cfed2
+dd 0x0109fec8
+dd 0x00e4febd
+dd 0x00c1feb3
+dd 0x009dfea8
+dd 0x0078fe9d
+dd 0x0055fe94
+dd 0x0030fe89
+dd 0x000dfe7e
+dd 0xffe9fe74
+dd 0xffc6fe69
+dd 0xffa1fe5e
+dd 0xff7dfe54
+dd 0xff59fe49
+dd 0xff35fe3e
+dd 0xff11fe34
+dd 0xfeedfe29
+dd 0xfec9fe1e
+dd 0x02c7ff2e
+dd 0x02a4ff23
+dd 0x027fff18
+dd 0x025cff0e
+dd 0x0237ff03
+dd 0x0214fef8
+dd 0x01effeee
+dd 0x01cbfee4
+dd 0x01a8fed9
+dd 0x0183fecf
+dd 0x0160fec4
+dd 0x013bfeb9
+dd 0x0118feaf
+dd 0x00f3fea4
+dd 0x00d0fe9a
+dd 0x00abfe8f
+dd 0x0087fe84
+dd 0x0063fe7a
+dd 0x003ffe6f
+dd 0x001bfe64
+dd 0xfff8fe5b
+dd 0xffd4fe50
+dd 0xffb0fe45
+dd 0xff8bfe3b
+dd 0xff68fe30
+dd 0xff43fe25
+dd 0xff20fe1b
+dd 0xfefbfe10
+dd 0xfed8fe05
+dd 0xfed601f7
+dd 0xfec701de
+dd 0xfeb801c5
+dd 0xfeaa01ab
+dd 0xfe9a0191
+dd 0xfe8b0178
+dd 0xfe7d015e
+dd 0xfe6e0145
+dd 0xfe5f012c
+dd 0xfe500111
+dd 0xfe4100f8
+dd 0xfe3200df
+dd 0xfe2400c5
+dd 0xfe1500ab
+dd 0xfe060092
+dd 0xfdf70078
+dd 0xfde8005f
+dd 0xfdd90044
+dd 0xfdcb002b
+dd 0xfdbc0012
+dd 0xfdacfff9
+dd 0xfd9effe0
+dd 0xfd8fffc6
+dd 0xfd80ffac
+dd 0xfd72ff93
+dd 0xfd62ff7a
+dd 0xfd53ff5f
+dd 0xfd45ff46
+dd 0xfd36ff2d
+dd 0xfefa01ec
+dd 0xfeec01d3
+dd 0xfedd01ba
+dd 0xfece01a0
+dd 0xfebe0186
+dd 0xfeb0016d
+dd 0xfea10153
+dd 0xfe93013a
+dd 0xfe840121
+dd 0xfe740106
+dd 0xfe6500ed
+dd 0xfe5700d4
+dd 0xfe4800ba
+dd 0xfe3a00a0
+dd 0xfe2b0087
+dd 0xfe1b006d
+dd 0xfe0c0054
+dd 0xfdfe0039
+dd 0xfdef0020
+dd 0xfde10007
+dd 0xfdd1ffee
+dd 0xfdc2ffd5
+dd 0xfdb3ffbb
+dd 0xfda5ffa1
+dd 0xfd96ff88
+dd 0xfd86ff6f
+dd 0xfd78ff54
+dd 0xfd69ff3b
+dd 0xfd5aff22
+dd 0xff1f01e2
+dd 0xff1001c9
+dd 0xff0101b0
+dd 0xfef30196
+dd 0xfee3017d
+dd 0xfed40163
+dd 0xfec60149
+dd 0xfeb70130
+dd 0xfea90117
+dd 0xfe9900fc
+dd 0xfe8a00e3
+dd 0xfe7b00ca
+dd 0xfe6d00b0
+dd 0xfe5e0097
+dd 0xfe50007d
+dd 0xfe400063
+dd 0xfe31004a
+dd 0xfe220030
+dd 0xfe140016
+dd 0xfe05fffe
+dd 0xfdf5ffe4
+dd 0xfde7ffcb
+dd 0xfdd8ffb2
+dd 0xfdc9ff97
+dd 0xfdbbff7e
+dd 0xfdabff65
+dd 0xfd9cff4b
+dd 0xfd8eff31
+dd 0xfd7fff18
+dd 0xff4201d7
+dd 0xff3301be
+dd 0xff2501a5
+dd 0xff16018b
+dd 0xff060172
+dd 0xfef80158
+dd 0xfee9013e
+dd 0xfeda0125
+dd 0xfecc010c
+dd 0xfebc00f1
+dd 0xfead00d8
+dd 0xfe9f00bf
+dd 0xfe9000a5
+dd 0xfe81008c
+dd 0xfe730072
+dd 0xfe630058
+dd 0xfe54003f
+dd 0xfe460025
+dd 0xfe37000b
+dd 0xfe29fff3
+dd 0xfe19ffd9
+dd 0xfe0affc0
+dd 0xfdfbffa7
+dd 0xfdedff8c
+dd 0xfddeff73
+dd 0xfdceff5a
+dd 0xfdc0ff40
+dd 0xfdb1ff26
+dd 0xfda2ff0d
+dd 0xff6701ce
+dd 0xff5801b4
+dd 0xff49019b
+dd 0xff3b0181
+dd 0xff2b0168
+dd 0xff1c014f
+dd 0xff0e0134
+dd 0xfeff011b
+dd 0xfef00102
+dd 0xfee100e8
+dd 0xfed200ce
+dd 0xfec300b5
+dd 0xfeb5009b
+dd 0xfea60082
+dd 0xfe970069
+dd 0xfe88004e
+dd 0xfe790035
+dd 0xfe6a001b
+dd 0xfe5c0002
+dd 0xfe4dffe9
+dd 0xfe3dffcf
+dd 0xfe2fffb6
+dd 0xfe20ff9d
+dd 0xfe11ff82
+dd 0xfe03ff69
+dd 0xfdf3ff50
+dd 0xfde4ff36
+dd 0xfdd6ff1d
+dd 0xfdc7ff03
+dd 0xff8a01c3
+dd 0xff7b01a9
+dd 0xff6d0190
+dd 0xff5e0176
+dd 0xff4e015d
+dd 0xff400144
+dd 0xff310129
+dd 0xff220110
+dd 0xff1400f7
+dd 0xff0400dd
+dd 0xfef500c3
+dd 0xfee700aa
+dd 0xfed80090
+dd 0xfec90077
+dd 0xfebb005e
+dd 0xfeab0043
+dd 0xfe9c002a
+dd 0xfe8e0010
+dd 0xfe7ffff8
+dd 0xfe70ffde
+dd 0xfe61ffc4
+dd 0xfe52ffab
+dd 0xfe43ff92
+dd 0xfe35ff77
+dd 0xfe26ff5e
+dd 0xfe16ff45
+dd 0xfe08ff2b
+dd 0xfdf9ff12
+dd 0xfdeafef8
+dd 0xffaf01b8
+dd 0xffa0019f
+dd 0xff910185
+dd 0xff83016b
+dd 0xff730152
+dd 0xff640139
+dd 0xff56011e
+dd 0xff470105
+dd 0xff3800ec
+dd 0xff2900d2
+dd 0xff1a00b9
+dd 0xff0b009f
+dd 0xfefd0085
+dd 0xfeee006c
+dd 0xfedf0053
+dd 0xfed00038
+dd 0xfec1001f
+dd 0xfeb20005
+dd 0xfea4ffed
+dd 0xfe95ffd3
+dd 0xfe85ffb9
+dd 0xfe77ffa0
+dd 0xfe68ff87
+dd 0xfe59ff6d
+dd 0xfe4bff53
+dd 0xfe3bff3a
+dd 0xfe2cff20
+dd 0xfe1eff07
+dd 0xfe0ffeed
+dd 0xffd201ae
+dd 0xffc30195
+dd 0xffb5017b
+dd 0xffa60161
+dd 0xff960148
+dd 0xff88012f
+dd 0xff790115
+dd 0xff6a00fb
+dd 0xff5c00e2
+dd 0xff4c00c8
+dd 0xff3d00af
+dd 0xff2f0095
+dd 0xff20007b
+dd 0xff110062
+dd 0xff030049
+dd 0xfef3002f
+dd 0xfee40015
+dd 0xfed6fffc
+dd 0xfec7ffe3
+dd 0xfeb8ffca
+dd 0xfea9ffaf
+dd 0xfe9aff96
+dd 0xfe8bff7d
+dd 0xfe7dff63
+dd 0xfe6eff49
+dd 0xfe5eff30
+dd 0xfe50ff16
+dd 0xfe41fefd
+dd 0xfe32fee4
+dd 0xfff701a3
+dd 0xffe8018a
+dd 0xffd90171
+dd 0xffcb0156
+dd 0xffbb013d
+dd 0xffac0124
+dd 0xff9e010a
+dd 0xff8f00f0
+dd 0xff8000d7
+dd 0xff7000bd
+dd 0xff6200a4
+dd 0xff53008b
+dd 0xff450070
+dd 0xff360057
+dd 0xff27003e
+dd 0xff170024
+dd 0xff09000a
+dd 0xfefafff1
+dd 0xfeecffd8
+dd 0xfeddffbf
+dd 0xfecdffa4
+dd 0xfebeff8b
+dd 0xfeb0ff72
+dd 0xfea1ff58
+dd 0xfe93ff3f
+dd 0xfe83ff25
+dd 0xfe74ff0b
+dd 0xfe65fef2
+dd 0xfe57fed9
+dd 0x001a0199
+dd 0x000b0180
+dd 0xfffe0167
+dd 0xffef014c
+dd 0xffdf0133
+dd 0xffd1011a
+dd 0xffc20100
+dd 0xffb300e7
+dd 0xffa500cd
+dd 0xff9500b3
+dd 0xff86009a
+dd 0xff780081
+dd 0xff690066
+dd 0xff5a004d
+dd 0xff4c0034
+dd 0xff3c001a
+dd 0xff2d0001
+dd 0xff1fffe7
+dd 0xff10ffce
+dd 0xff01ffb5
+dd 0xfef2ff9b
+dd 0xfee3ff81
+dd 0xfed4ff68
+dd 0xfec6ff4e
+dd 0xfeb7ff35
+dd 0xfea7ff1b
+dd 0xfe99ff01
+dd 0xfe8afee8
+dd 0xfe7bfecf
+dd 0x003d018e
+dd 0x002f0175
+dd 0x0020015c
+dd 0x00120141
+dd 0x00020128
+dd 0xfff4010f
+dd 0xffe500f5
+dd 0xffd700dc
+dd 0xffc800c2
+dd 0xffb800a8
+dd 0xffaa008f
+dd 0xff9b0076
+dd 0xff8c005b
+dd 0xff7e0042
+dd 0xff6f0029
+dd 0xff5f000f
+dd 0xff51fff7
+dd 0xff42ffdc
+dd 0xff33ffc3
+dd 0xff25ffaa
+dd 0xff15ff90
+dd 0xff06ff76
+dd 0xfef8ff5d
+dd 0xfee9ff43
+dd 0xfedaff2a
+dd 0xfecbff11
+dd 0xfebcfef6
+dd 0xfeadfedd
+dd 0xfe9ffec4
+dd 0x00620183
+dd 0x0053016a
+dd 0x00450151
+dd 0x00360136
+dd 0x0026011d
+dd 0x00180104
+dd 0x000900ea
+dd 0xfffb00d1
+dd 0xffed00b7
+dd 0xffdd009d
+dd 0xffce0084
+dd 0xffc0006b
+dd 0xffb10050
+dd 0xffa20037
+dd 0xff94001e
+dd 0xff840004
+dd 0xff75ffec
+dd 0xff67ffd1
+dd 0xff58ffb8
+dd 0xff49ff9f
+dd 0xff3aff85
+dd 0xff2bff6b
+dd 0xff1cff52
+dd 0xff0eff38
+dd 0xfeffff1f
+dd 0xfeefff06
+dd 0xfee1feeb
+dd 0xfed2fed2
+dd 0xfec3feb9
+dd 0x00850179
+dd 0x00770160
+dd 0x00680147
+dd 0x0059012d
+dd 0x004a0113
+dd 0x003b00fa
+dd 0x002c00e0
+dd 0x001e00c7
+dd 0x000f00ae
+dd 0x00000093
+dd 0xfff2007a
+dd 0xffe30061
+dd 0xffd40047
+dd 0xffc6002d
+dd 0xffb70014
+dd 0xffa7fffb
+dd 0xff99ffe2
+dd 0xff8affc7
+dd 0xff7bffae
+dd 0xff6dff95
+dd 0xff5dff7b
+dd 0xff4eff62
+dd 0xff40ff48
+dd 0xff31ff2e
+dd 0xff22ff15
+dd 0xff13fefc
+dd 0xff04fee1
+dd 0xfef5fec8
+dd 0xfee7feaf
+dd 0x00aa016e
+dd 0x009b0155
+dd 0x008d013c
+dd 0x007e0122
+dd 0x006e0108
+dd 0x006000ef
+dd 0x005100d5
+dd 0x004200bc
+dd 0x003400a3
+dd 0x00240088
+dd 0x0015006f
+dd 0x00070056
+dd 0xfff9003c
+dd 0xffea0022
+dd 0xffdc0009
+dd 0xffccfff0
+dd 0xffbdffd7
+dd 0xffafffbc
+dd 0xffa0ffa3
+dd 0xff91ff8a
+dd 0xff81ff70
+dd 0xff73ff57
+dd 0xff64ff3d
+dd 0xff56ff23
+dd 0xff47ff0a
+dd 0xff37fef1
+dd 0xff29fed6
+dd 0xff1afebd
+dd 0xff0bfea4
+dd 0x00cf0164
+dd 0x00c0014b
+dd 0x00b10132
+dd 0x00a30118
+dd 0x009300ff
+dd 0x008400e5
+dd 0x007600cb
+dd 0x006700b2
+dd 0x00580099
+dd 0x0048007e
+dd 0x003a0065
+dd 0x002b004c
+dd 0x001d0032
+dd 0x000e0019
+dd 0x00000000
+dd 0xfff0ffe6
+dd 0xffe2ffcd
+dd 0xffd3ffb3
+dd 0xffc5ff99
+dd 0xffb6ff80
+dd 0xffa6ff66
+dd 0xff97ff4d
+dd 0xff89ff34
+dd 0xff7aff19
+dd 0xff6cff00
+dd 0xff5cfee7
+dd 0xff4dfecd
+dd 0xff3efeb3
+dd 0xff30fe9a
+dd 0x00f2015a
+dd 0x00e30140
+dd 0x00d50127
+dd 0x00c6010d
+dd 0x00b600f4
+dd 0x00a800da
+dd 0x009900c0
+dd 0x008a00a7
+dd 0x007c008e
+dd 0x006c0074
+dd 0x005d005a
+dd 0x004f0041
+dd 0x00400027
+dd 0x0031000e
+dd 0x0023fff5
+dd 0x0013ffdb
+dd 0x0004ffc2
+dd 0xfff7ffa8
+dd 0xffe8ff8e
+dd 0xffd9ff75
+dd 0xffc9ff5b
+dd 0xffbbff42
+dd 0xffacff29
+dd 0xff9eff0e
+dd 0xff8ffef5
+dd 0xff7ffedc
+dd 0xff70fec2
+dd 0xff62fea8
+dd 0xff53fe8f
+dd 0x0116014f
+dd 0x01080135
+dd 0x00f9011c
+dd 0x00eb0102
+dd 0x00db00e9
+dd 0x00cc00d0
+dd 0x00bd00b5
+dd 0x00af009c
+dd 0x00a00083
+dd 0x00900069
+dd 0x0082004f
+dd 0x00730036
+dd 0x0064001c
+dd 0x00560003
+dd 0x0047ffea
+dd 0x0037ffd0
+dd 0x0029ffb7
+dd 0x001aff9d
+dd 0x000bff84
+dd 0xfffeff6a
+dd 0xffeeff50
+dd 0xffdfff37
+dd 0xffd1ff1e
+dd 0xffc2ff03
+dd 0xffb3feea
+dd 0xffa4fed1
+dd 0xff95feb7
+dd 0xff86fe9e
+dd 0xff78fe84
+dd 0x013a0145
+dd 0x012b012c
+dd 0x011d0112
+dd 0x010e00f8
+dd 0x00fe00df
+dd 0x00ef00c6
+dd 0x00e100ab
+dd 0x00d20092
+dd 0x00c40079
+dd 0x00b4005f
+dd 0x00a50046
+dd 0x0096002c
+dd 0x00880012
+dd 0x0079fffa
+dd 0x006bffe1
+dd 0x005bffc6
+dd 0x004cffad
+dd 0x003dff93
+dd 0x002fff7a
+dd 0x0020ff60
+dd 0x0010ff46
+dd 0x0002ff2d
+dd 0xfff4ff14
+dd 0xffe5fefa
+dd 0xffd7fee0
+dd 0xffc7fec7
+dd 0xffb8fead
+dd 0xffaafe94
+dd 0xff9bfe7a
+dd 0x015e013a
+dd 0x01500121
+dd 0x01410107
+dd 0x013200ed
+dd 0x012300d4
+dd 0x011400bb
+dd 0x010500a0
+dd 0x00f70087
+dd 0x00e8006e
+dd 0x00d80054
+dd 0x00ca003b
+dd 0x00bb0021
+dd 0x00ac0007
+dd 0x009effef
+dd 0x008fffd6
+dd 0x007fffbb
+dd 0x0071ffa2
+dd 0x0062ff88
+dd 0x0053ff6f
+dd 0x0045ff56
+dd 0x0035ff3b
+dd 0x0026ff22
+dd 0x0018ff09
+dd 0x0009feef
+dd 0xfffbfed5
+dd 0xffecfebc
+dd 0xffddfea2
+dd 0xffcefe89
+dd 0xffc0fe70
+dd 0x0182012f
+dd 0x01730116
+dd 0x016400fc
+dd 0x015600e2
+dd 0x014600c9
+dd 0x013700b0
+dd 0x01290095
+dd 0x011a007c
+dd 0x010b0063
+dd 0x00fc0049
+dd 0x00ed0030
+dd 0x00de0016
+dd 0x00d0fffd
+dd 0x00c1ffe4
+dd 0x00b2ffcb
+dd 0x00a3ffb0
+dd 0x0094ff97
+dd 0x0085ff7d
+dd 0x0077ff64
+dd 0x0068ff4b
+dd 0x0058ff30
+dd 0x004aff17
+dd 0x003bfefe
+dd 0x002cfee4
+dd 0x001efeca
+dd 0x000efeb1
+dd 0x0000fe97
+dd 0xfff2fe7e
+dd 0xffe3fe65
+dd 0x01a60125
+dd 0x0198010c
+dd 0x018900f3
+dd 0x017a00d8
+dd 0x016b00bf
+dd 0x015c00a6
+dd 0x014d008c
+dd 0x013f0072
+dd 0x01300059
+dd 0x0120003f
+dd 0x01120026
+dd 0x0103000d
+dd 0x00f4fff3
+dd 0x00e6ffda
+dd 0x00d7ffc1
+dd 0x00c7ffa7
+dd 0x00b9ff8d
+dd 0x00aaff73
+dd 0x009bff5a
+dd 0x008dff41
+dd 0x007dff26
+dd 0x006eff0d
+dd 0x0060fef4
+dd 0x0051feda
+dd 0x0042fec1
+dd 0x0032fea7
+dd 0x0024fe8d
+dd 0x0015fe74
+dd 0x0007fe5b
+dd 0x01cb011a
+dd 0x01bc0101
+dd 0x01ae00e8
+dd 0x019f00cd
+dd 0x018f00b4
+dd 0x0181009b
+dd 0x01720081
+dd 0x01630067
+dd 0x0155004e
+dd 0x01450034
+dd 0x0136001b
+dd 0x01280002
+dd 0x0119ffe8
+dd 0x010affcf
+dd 0x00fcffb6
+dd 0x00ecff9c
+dd 0x00ddff82
+dd 0x00cfff68
+dd 0x00c0ff4f
+dd 0x00b1ff36
+dd 0x00a1ff1b
+dd 0x0093ff02
+dd 0x0084fee9
+dd 0x0076fecf
+dd 0x0067feb6
+dd 0x0057fe9c
+dd 0x0048fe82
+dd 0x003afe69
+dd 0x002bfe50
+dd 0x01ee0110
+dd 0x01e000f7
+dd 0x01d100de
+dd 0x01c200c3
+dd 0x01b200aa
+dd 0x01a40091
+dd 0x01950077
+dd 0x0187005e
+dd 0x01780044
+dd 0x0168002a
+dd 0x01590011
+dd 0x014bfff9
+dd 0x013cffde
+dd 0x012effc5
+dd 0x011fffac
+dd 0x010fff92
+dd 0x0101ff79
+dd 0x00f2ff5e
+dd 0x00e3ff45
+dd 0x00d5ff2c
+dd 0x00c5ff12
+dd 0x00b6fef8
+dd 0x00a8fedf
+dd 0x0099fec5
+dd 0x008afeac
+dd 0x007afe93
+dd 0x006cfe78
+dd 0x005dfe5f
+dd 0x004ffe46
+dd 0x02130105
+dd 0x020400ec
+dd 0x01f600d3
+dd 0x01e700b9
+dd 0x01d7009f
+dd 0x01c80086
+dd 0x01ba006c
+dd 0x01ab0053
+dd 0x019d0039
+dd 0x018d001f
+dd 0x017e0006
+dd 0x016fffee
+dd 0x0161ffd3
+dd 0x0152ffba
+dd 0x0144ffa1
+dd 0x0134ff87
+dd 0x0125ff6e
+dd 0x0116ff53
+dd 0x0108ff3a
+dd 0x00f9ff21
+dd 0x00e9ff07
+dd 0x00dbfeed
+dd 0x00ccfed4
+dd 0x00bdfeba
+dd 0x00affea1
+dd 0x009ffe88
+dd 0x0090fe6d
+dd 0x0082fe54
+dd 0x0073fe3b
+dd 0x023600fa
+dd 0x022800e1
+dd 0x021900c8
+dd 0x020a00ae
+dd 0x01fa0094
+dd 0x01ec007b
+dd 0x01dd0061
+dd 0x01cf0048
+dd 0x01c0002f
+dd 0x01b00014
+dd 0x01a1fffc
+dd 0x0193ffe3
+dd 0x0184ffc9
+dd 0x0176ffaf
+dd 0x0167ff96
+dd 0x0157ff7c
+dd 0x0148ff63
+dd 0x013aff48
+dd 0x012bff2f
+dd 0x011dff16
+dd 0x010dfefc
+dd 0x00fefee3
+dd 0x00effec9
+dd 0x00e1feaf
+dd 0x00d2fe96
+dd 0x00c2fe7d
+dd 0x00b4fe62
+dd 0x00a5fe49
+dd 0x0096fe30
+dd 0x025b00f0
+dd 0x024c00d7
+dd 0x023d00be
+dd 0x022f00a4
+dd 0x021f008b
+dd 0x02100071
+dd 0x02020057
+dd 0x01f3003e
+dd 0x01e40025
+dd 0x01d5000a
+dd 0x01c6fff2
+dd 0x01b7ffd9
+dd 0x01a9ffbf
+dd 0x019affa5
+dd 0x018bff8c
+dd 0x017cff72
+dd 0x016dff59
+dd 0x015eff3f
+dd 0x0150ff25
+dd 0x0141ff0c
+dd 0x0131fef2
+dd 0x0123fed9
+dd 0x0114febf
+dd 0x0105fea5
+dd 0x00f7fe8c
+dd 0x00e7fe73
+dd 0x00d8fe59
+dd 0x00cafe3f
+dd 0x00bbfe26
+dd 0x027e00e5
+dd 0x026f00cc
+dd 0x026100b3
+dd 0x02520099
+dd 0x02420080
+dd 0x02340066
+dd 0x0225004c
+dd 0x02160033
+dd 0x0208001a
+dd 0x01f80000
+dd 0x01e9ffe7
+dd 0x01dbffce
+dd 0x01ccffb4
+dd 0x01bdff9b
+dd 0x01afff81
+dd 0x019fff67
+dd 0x0190ff4e
+dd 0x0182ff34
+dd 0x0173ff1a
+dd 0x0164ff01
+dd 0x0155fee7
+dd 0x0146fece
+dd 0x0137feb5
+dd 0x0129fe9a
+dd 0x011afe81
+dd 0x010afe68
+dd 0x00fcfe4e
+dd 0x00edfe34
+dd 0x00defe1b
+dd 0x02a300dc
+dd 0x029400c2
+dd 0x028500a9
+dd 0x0277008f
+dd 0x02670076
+dd 0x0258005d
+dd 0x024a0042
+dd 0x023b0029
+dd 0x022c0010
+dd 0x021dfff7
+dd 0x020effdd
+dd 0x01ffffc4
+dd 0x01f1ffaa
+dd 0x01e2ff91
+dd 0x01d3ff77
+dd 0x01c4ff5d
+dd 0x01b5ff44
+dd 0x01a6ff2a
+dd 0x0198ff11
+dd 0x0189fef7
+dd 0x0179fedd
+dd 0x016bfec4
+dd 0x015cfeab
+dd 0x014dfe90
+dd 0x013ffe77
+dd 0x012ffe5e
+dd 0x0120fe44
+dd 0x0112fe2b
+dd 0x0103fe11
+dd 0x02c700d1
+dd 0x02b900b7
+dd 0x02aa009e
+dd 0x029b0084
+dd 0x028b006b
+dd 0x027d0052
+dd 0x026e0037
+dd 0x0260001e
+dd 0x02510005
+dd 0x0241ffec
+dd 0x0232ffd2
+dd 0x0224ffb9
+dd 0x0215ff9f
+dd 0x0207ff86
+dd 0x01f8ff6d
+dd 0x01e8ff52
+dd 0x01d9ff39
+dd 0x01cbff1f
+dd 0x01bcff06
+dd 0x01aefeec
+dd 0x019efed2
+dd 0x018ffeb9
+dd 0x0181fea0
+dd 0x0172fe85
+dd 0x0163fe6c
+dd 0x0153fe53
+dd 0x0145fe39
+dd 0x0136fe20
+dd 0x0128fe06
+dd 0xfd3600d0
+dd 0xfd4600b6
+dd 0xfd54009d
+dd 0xfd630083
+dd 0xfd72006a
+dd 0xfd800050
+dd 0xfd900036
+dd 0xfd9f001d
+dd 0xfdad0004
+dd 0xfdbcffea
+dd 0xfdccffd1
+dd 0xfddaffb8
+dd 0xfde9ff9e
+dd 0xfdf8ff85
+dd 0xfe08ff6b
+dd 0xfe16ff51
+dd 0xfe25ff38
+dd 0xfe33ff1e
+dd 0xfe42ff04
+dd 0xfe52feeb
+dd 0xfe61fed1
+dd 0xfe6ffeb8
+dd 0xfe7efe9f
+dd 0xfe8efe84
+dd 0xfe9cfe6b
+dd 0xfeabfe52
+dd 0xfebafe38
+dd 0xfec8fe1e
+dd 0xfed8fe05
+dd 0xfd5900da
+dd 0xfd6900c1
+dd 0xfd7800a8
+dd 0xfd86008e
+dd 0xfd950075
+dd 0xfda4005b
+dd 0xfdb30041
+dd 0xfdc20028
+dd 0xfdd1000f
+dd 0xfddffff5
+dd 0xfdefffdc
+dd 0xfdfeffc3
+dd 0xfe0cffa9
+dd 0xfe1bff90
+dd 0xfe2bff76
+dd 0xfe3aff5c
+dd 0xfe48ff43
+dd 0xfe57ff29
+dd 0xfe65ff0f
+dd 0xfe75fef6
+dd 0xfe84fedc
+dd 0xfe93fec3
+dd 0xfea1feaa
+dd 0xfeb1fe8f
+dd 0xfec0fe76
+dd 0xfecefe5d
+dd 0xfeddfe43
+dd 0xfeecfe29
+dd 0xfefbfe10
+dd 0xfd7e00e5
+dd 0xfd8e00cc
+dd 0xfd9c00b3
+dd 0xfdab0099
+dd 0xfdba0080
+dd 0xfdc80066
+dd 0xfdd8004c
+dd 0xfde70033
+dd 0xfdf5001a
+dd 0xfe040000
+dd 0xfe14ffe7
+dd 0xfe22ffce
+dd 0xfe31ffb4
+dd 0xfe40ff9b
+dd 0xfe50ff81
+dd 0xfe5eff67
+dd 0xfe6dff4e
+dd 0xfe7bff34
+dd 0xfe8aff1a
+dd 0xfe9aff01
+dd 0xfea9fee7
+dd 0xfeb7fece
+dd 0xfec6feb5
+dd 0xfed6fe9a
+dd 0xfee4fe81
+dd 0xfef3fe68
+dd 0xff01fe4e
+dd 0xff10fe34
+dd 0xff20fe1b
+dd 0xfda100ef
+dd 0xfdb100d6
+dd 0xfdc000bd
+dd 0xfdce00a3
+dd 0xfddd0089
+dd 0xfdec0070
+dd 0xfdfb0056
+dd 0xfe0a003d
+dd 0xfe190024
+dd 0xfe270009
+dd 0xfe37fff1
+dd 0xfe46ffd8
+dd 0xfe54ffbe
+dd 0xfe63ffa4
+dd 0xfe73ff8b
+dd 0xfe81ff71
+dd 0xfe90ff58
+dd 0xfe9fff3d
+dd 0xfeadff24
+dd 0xfebdff0b
+dd 0xfeccfef1
+dd 0xfedafed8
+dd 0xfee9febe
+dd 0xfef9fea4
+dd 0xff08fe8b
+dd 0xff16fe72
+dd 0xff25fe57
+dd 0xff33fe3e
+dd 0xff43fe25
+dd 0xfdc600fa
+dd 0xfdd600e1
+dd 0xfde400c8
+dd 0xfdf300ae
+dd 0xfe010094
+dd 0xfe10007b
+dd 0xfe200061
+dd 0xfe2f0048
+dd 0xfe3d002f
+dd 0xfe4c0014
+dd 0xfe5cfffc
+dd 0xfe6affe3
+dd 0xfe79ffc9
+dd 0xfe88ffaf
+dd 0xfe97ff96
+dd 0xfea6ff7c
+dd 0xfeb5ff63
+dd 0xfec3ff48
+dd 0xfed2ff2f
+dd 0xfee2ff16
+dd 0xfef0fefc
+dd 0xfefffee3
+dd 0xff0efec9
+dd 0xff1efeaf
+dd 0xff2cfe96
+dd 0xff3bfe7d
+dd 0xff49fe62
+dd 0xff58fe49
+dd 0xff68fe30
+dd 0xfde90105
+dd 0xfdf900ec
+dd 0xfe0800d3
+dd 0xfe1600b9
+dd 0xfe25009f
+dd 0xfe330086
+dd 0xfe43006c
+dd 0xfe520053
+dd 0xfe610039
+dd 0xfe6f001f
+dd 0xfe7f0006
+dd 0xfe8effee
+dd 0xfe9cffd3
+dd 0xfeabffba
+dd 0xfebbffa1
+dd 0xfec9ff87
+dd 0xfed8ff6e
+dd 0xfee7ff53
+dd 0xfef5ff3a
+dd 0xff05ff21
+dd 0xff14ff07
+dd 0xff22feed
+dd 0xff31fed4
+dd 0xff41feba
+dd 0xff50fea1
+dd 0xff5efe88
+dd 0xff6dfe6d
+dd 0xff7bfe54
+dd 0xff8bfe3b
+dd 0xfe0e010f
+dd 0xfe1e00f6
+dd 0xfe2c00dd
+dd 0xfe3b00c2
+dd 0xfe4900a9
+dd 0xfe580090
+dd 0xfe680076
+dd 0xfe77005d
+dd 0xfe850043
+dd 0xfe940029
+dd 0xfea40010
+dd 0xfeb2fff8
+dd 0xfec1ffdd
+dd 0xfed0ffc4
+dd 0xfedfffab
+dd 0xfeeeff91
+dd 0xfefdff77
+dd 0xff0bff5d
+dd 0xff1aff44
+dd 0xff2aff2b
+dd 0xff38ff11
+dd 0xff47fef7
+dd 0xff56fede
+dd 0xff65fec4
+dd 0xff74feab
+dd 0xff83fe91
+dd 0xff91fe77
+dd 0xffa0fe5e
+dd 0xffb0fe45
+dd 0xfe32011a
+dd 0xfe420101
+dd 0xfe5100e8
+dd 0xfe5f00cd
+dd 0xfe6e00b4
+dd 0xfe7d009b
+dd 0xfe8c0081
+dd 0xfe9b0067
+dd 0xfeaa004e
+dd 0xfeb80034
+dd 0xfec8001b
+dd 0xfed70002
+dd 0xfee5ffe8
+dd 0xfef4ffcf
+dd 0xff04ffb6
+dd 0xff13ff9c
+dd 0xff21ff82
+dd 0xff30ff68
+dd 0xff3eff4f
+dd 0xff4eff36
+dd 0xff5dff1b
+dd 0xff6cff02
+dd 0xff7afee9
+dd 0xff8afecf
+dd 0xff99feb6
+dd 0xffa7fe9c
+dd 0xffb6fe82
+dd 0xffc5fe69
+dd 0xffd4fe50
+dd 0xfe560125
+dd 0xfe65010c
+dd 0xfe7400f3
+dd 0xfe8300d8
+dd 0xfe9100bf
+dd 0xfea000a6
+dd 0xfeb0008c
+dd 0xfebe0072
+dd 0xfecd0059
+dd 0xfedc003f
+dd 0xfeec0026
+dd 0xfefa000d
+dd 0xff09fff3
+dd 0xff17ffda
+dd 0xff27ffc1
+dd 0xff36ffa7
+dd 0xff45ff8d
+dd 0xff53ff73
+dd 0xff62ff5a
+dd 0xff72ff41
+dd 0xff80ff26
+dd 0xff8fff0d
+dd 0xff9efef4
+dd 0xffadfeda
+dd 0xffbcfec1
+dd 0xffcbfea7
+dd 0xffd9fe8d
+dd 0xffe8fe74
+dd 0xfff8fe5b
+dd 0xfe7a012f
+dd 0xfe8a0116
+dd 0xfe9900fc
+dd 0xfea700e2
+dd 0xfeb600c9
+dd 0xfec500b0
+dd 0xfed40095
+dd 0xfee3007c
+dd 0xfef20063
+dd 0xff000049
+dd 0xff100030
+dd 0xff1f0016
+dd 0xff2dfffd
+dd 0xff3cffe4
+dd 0xff4cffcb
+dd 0xff5affb0
+dd 0xff69ff97
+dd 0xff78ff7d
+dd 0xff86ff64
+dd 0xff96ff4b
+dd 0xffa5ff30
+dd 0xffb3ff17
+dd 0xffc2fefe
+dd 0xffd2fee4
+dd 0xffe1feca
+dd 0xffeffeb1
+dd 0xfffefe97
+dd 0x000bfe7e
+dd 0x001bfe65
+dd 0xfe9e013a
+dd 0xfead0121
+dd 0xfebc0107
+dd 0xfecb00ed
+dd 0xfed900d4
+dd 0xfee800bb
+dd 0xfef800a0
+dd 0xff060087
+dd 0xff15006e
+dd 0xff240054
+dd 0xff33003b
+dd 0xff420021
+dd 0xff510007
+dd 0xff5fffef
+dd 0xff6fffd6
+dd 0xff7effbb
+dd 0xff8cffa2
+dd 0xff9bff88
+dd 0xffaaff6f
+dd 0xffbaff56
+dd 0xffc8ff3b
+dd 0xffd7ff22
+dd 0xffe5ff09
+dd 0xfff5feef
+dd 0x0003fed5
+dd 0x0012febc
+dd 0x0020fea2
+dd 0x002ffe89
+dd 0x003ffe70
+dd 0xfec20145
+dd 0xfed2012c
+dd 0xfee10112
+dd 0xfeef00f8
+dd 0xfefe00df
+dd 0xff0c00c6
+dd 0xff1c00ab
+dd 0xff2b0092
+dd 0xff3a0079
+dd 0xff48005f
+dd 0xff580046
+dd 0xff67002c
+dd 0xff750012
+dd 0xff84fffa
+dd 0xff94ffe1
+dd 0xffa2ffc6
+dd 0xffb1ffad
+dd 0xffc0ff93
+dd 0xffceff7a
+dd 0xffdeff60
+dd 0xffedff46
+dd 0xfffbff2d
+dd 0x0009ff14
+dd 0x0019fefa
+dd 0x0028fee0
+dd 0x0036fec7
+dd 0x0045fead
+dd 0x0053fe94
+dd 0x0063fe7a
+dd 0xfee5014f
+dd 0xfef50135
+dd 0xff04011c
+dd 0xff130102
+dd 0xff2100e9
+dd 0xff3000d0
+dd 0xff4000b5
+dd 0xff4e009c
+dd 0xff5d0083
+dd 0xff6c0069
+dd 0xff7b004f
+dd 0xff8a0036
+dd 0xff99001c
+dd 0xffa70003
+dd 0xffb7ffea
+dd 0xffc6ffd0
+dd 0xffd4ffb7
+dd 0xffe3ff9d
+dd 0xfff2ff84
+dd 0x0001ff6a
+dd 0x000fff50
+dd 0x001eff37
+dd 0x002cff1e
+dd 0x003cff03
+dd 0x004bfeea
+dd 0x0059fed1
+dd 0x0068feb7
+dd 0x0077fe9e
+dd 0x0087fe84
+dd 0xff0a015a
+dd 0xff1a0140
+dd 0xff290127
+dd 0xff37010d
+dd 0xff4600f4
+dd 0xff5400da
+dd 0xff6400c0
+dd 0xff7300a7
+dd 0xff81008e
+dd 0xff900074
+dd 0xffa0005a
+dd 0xffaf0041
+dd 0xffbd0027
+dd 0xffcc000e
+dd 0xffdcfff5
+dd 0xffeaffdb
+dd 0xfff9ffc2
+dd 0x0007ffa8
+dd 0x0015ff8e
+dd 0x0025ff75
+dd 0x0034ff5b
+dd 0x0042ff42
+dd 0x0051ff29
+dd 0x0061ff0e
+dd 0x006ffef5
+dd 0x007efedc
+dd 0x008dfec2
+dd 0x009bfea8
+dd 0x00abfe8f
+dd 0xff2f0164
+dd 0xff3e014b
+dd 0xff4d0132
+dd 0xff5c0118
+dd 0xff6a00ff
+dd 0xff7900e5
+dd 0xff8900cb
+dd 0xff9700b2
+dd 0xffa60099
+dd 0xffb5007e
+dd 0xffc50065
+dd 0xffd3004c
+dd 0xffe20032
+dd 0xfff00019
+dd 0x00000000
+dd 0x000effe6
+dd 0x001dffcd
+dd 0x002bffb3
+dd 0x003aff99
+dd 0x004aff80
+dd 0x0058ff66
+dd 0x0067ff4d
+dd 0x0076ff34
+dd 0x0085ff19
+dd 0x0094ff00
+dd 0x00a3fee7
+dd 0x00b1fecd
+dd 0x00c0feb3
+dd 0x00d0fe9a
+dd 0xff52016e
+dd 0xff620155
+dd 0xff70013c
+dd 0xff7f0122
+dd 0xff8e0108
+dd 0xff9c00ef
+dd 0xffac00d5
+dd 0xffbb00bc
+dd 0xffc900a3
+dd 0xffd80088
+dd 0xffe8006f
+dd 0xfff70056
+dd 0x0004003c
+dd 0x00130022
+dd 0x00230009
+dd 0x0031fff0
+dd 0x0040ffd7
+dd 0x004fffbc
+dd 0x005dffa3
+dd 0x006dff8a
+dd 0x007cff70
+dd 0x008aff57
+dd 0x0099ff3d
+dd 0x00a9ff23
+dd 0x00b7ff0a
+dd 0x00c6fef1
+dd 0x00d5fed6
+dd 0x00e3febd
+dd 0x00f3fea4
+dd 0xff770179
+dd 0xff860160
+dd 0xff950147
+dd 0xffa4012d
+dd 0xffb20113
+dd 0xffc100fa
+dd 0xffd100e0
+dd 0xffdf00c7
+dd 0xffee00ae
+dd 0xfffd0093
+dd 0x000b007a
+dd 0x001a0061
+dd 0x00290047
+dd 0x0037002d
+dd 0x00470014
+dd 0x0056fffb
+dd 0x0064ffe2
+dd 0x0073ffc7
+dd 0x0082ffae
+dd 0x0092ff95
+dd 0x00a0ff7b
+dd 0x00afff62
+dd 0x00bdff48
+dd 0x00cdff2e
+dd 0x00dcff15
+dd 0x00ebfefc
+dd 0x00f9fee1
+dd 0x0108fec8
+dd 0x0118feaf
+dd 0xff9a0183
+dd 0xffaa016a
+dd 0xffb80151
+dd 0xffc70136
+dd 0xffd6011d
+dd 0xffe40104
+dd 0xfff400ea
+dd 0x000200d1
+dd 0x001000b7
+dd 0x001f009d
+dd 0x002f0084
+dd 0x003d006b
+dd 0x004c0050
+dd 0x005b0037
+dd 0x006b001e
+dd 0x00790004
+dd 0x0088ffec
+dd 0x0096ffd1
+dd 0x00a5ffb8
+dd 0x00b5ff9f
+dd 0x00c4ff85
+dd 0x00d2ff6b
+dd 0x00e1ff52
+dd 0x00f1ff38
+dd 0x00ffff1f
+dd 0x010eff06
+dd 0x011dfeeb
+dd 0x012bfed2
+dd 0x013bfeb9
+dd 0xffbe018e
+dd 0xffce0175
+dd 0xffdd015c
+dd 0xffec0141
+dd 0xfffa0128
+dd 0x0008010f
+dd 0x001800f5
+dd 0x002600dc
+dd 0x003500c2
+dd 0x004400a8
+dd 0x0053008f
+dd 0x00620076
+dd 0x0071005b
+dd 0x007f0042
+dd 0x008f0029
+dd 0x009e000f
+dd 0x00acfff7
+dd 0x00bbffdc
+dd 0x00caffc3
+dd 0x00d9ffaa
+dd 0x00e8ff90
+dd 0x00f7ff76
+dd 0x0105ff5d
+dd 0x0115ff43
+dd 0x0124ff2a
+dd 0x0132ff11
+dd 0x0141fef6
+dd 0x0150fedd
+dd 0x0160fec4
+dd 0xffe20199
+dd 0xfff20180
+dd 0x00000167
+dd 0x000e014c
+dd 0x001d0133
+dd 0x002b011a
+dd 0x003b0100
+dd 0x004a00e7
+dd 0x005800cd
+dd 0x006700b3
+dd 0x0077009a
+dd 0x00850081
+dd 0x00940066
+dd 0x00a3004d
+dd 0x00b20034
+dd 0x00c1001a
+dd 0x00d00001
+dd 0x00deffe7
+dd 0x00edffce
+dd 0x00fdffb5
+dd 0x010bff9b
+dd 0x011aff81
+dd 0x0129ff68
+dd 0x0139ff4e
+dd 0x0147ff35
+dd 0x0156ff1b
+dd 0x0164ff01
+dd 0x0173fee8
+dd 0x0183fecf
+dd 0x000501a3
+dd 0x0015018a
+dd 0x00240171
+dd 0x00320156
+dd 0x0041013d
+dd 0x00500124
+dd 0x0060010a
+dd 0x006e00f0
+dd 0x007d00d7
+dd 0x008b00bd
+dd 0x009b00a4
+dd 0x00aa008b
+dd 0x00b90070
+dd 0x00c70057
+dd 0x00d7003e
+dd 0x00e60024
+dd 0x00f4000a
+dd 0x0103fff1
+dd 0x0112ffd8
+dd 0x0121ffbf
+dd 0x0130ffa4
+dd 0x013fff8b
+dd 0x014dff72
+dd 0x015dff58
+dd 0x016cff3f
+dd 0x017aff25
+dd 0x0189ff0b
+dd 0x0198fef2
+dd 0x01a8fed9
+dd 0x002901ae
+dd 0x00390195
+dd 0x0047017b
+dd 0x00560161
+dd 0x00640148
+dd 0x0073012f
+dd 0x00830115
+dd 0x009200fb
+dd 0x00a000e2
+dd 0x00af00c8
+dd 0x00bf00af
+dd 0x00cd0095
+dd 0x00dc007b
+dd 0x00eb0062
+dd 0x00fa0049
+dd 0x0109002f
+dd 0x01180015
+dd 0x0126fffc
+dd 0x0135ffe3
+dd 0x0145ffca
+dd 0x0153ffaf
+dd 0x0162ff96
+dd 0x0171ff7d
+dd 0x0181ff63
+dd 0x018fff49
+dd 0x019eff30
+dd 0x01acff16
+dd 0x01bbfefd
+dd 0x01cbfee4
+dd 0x004d01b9
+dd 0x005d01a0
+dd 0x006c0186
+dd 0x007a016c
+dd 0x00890153
+dd 0x0098013a
+dd 0x00a8011f
+dd 0x00b60106
+dd 0x00c500ed
+dd 0x00d300d3
+dd 0x00e300ba
+dd 0x00f200a0
+dd 0x01010086
+dd 0x010f006d
+dd 0x011f0054
+dd 0x012e0039
+dd 0x013c0020
+dd 0x014b0006
+dd 0x0159ffee
+dd 0x0169ffd5
+dd 0x0178ffba
+dd 0x0187ffa1
+dd 0x0195ff88
+dd 0x01a5ff6e
+dd 0x01b4ff54
+dd 0x01c2ff3b
+dd 0x01d1ff21
+dd 0x01e0ff08
+dd 0x01effeef
+dd 0x007201c3
+dd 0x008201a9
+dd 0x00900190
+dd 0x009f0176
+dd 0x00ae015d
+dd 0x00bc0144
+dd 0x00cc0129
+dd 0x00db0110
+dd 0x00e900f7
+dd 0x00f800dd
+dd 0x010800c3
+dd 0x011600aa
+dd 0x01250090
+dd 0x01340077
+dd 0x0144005e
+dd 0x01520043
+dd 0x0161002a
+dd 0x016f0010
+dd 0x017efff8
+dd 0x018effde
+dd 0x019dffc4
+dd 0x01abffab
+dd 0x01baff92
+dd 0x01caff77
+dd 0x01d8ff5e
+dd 0x01e7ff45
+dd 0x01f6ff2b
+dd 0x0204ff12
+dd 0x0214fef8
+dd 0x009501ce
+dd 0x00a501b4
+dd 0x00b4019b
+dd 0x00c20181
+dd 0x00d10168
+dd 0x00e0014f
+dd 0x00ef0134
+dd 0x00fe011b
+dd 0x010d0102
+dd 0x011b00e8
+dd 0x012b00ce
+dd 0x013a00b5
+dd 0x0148009b
+dd 0x01570082
+dd 0x01670069
+dd 0x0176004e
+dd 0x01840035
+dd 0x0193001b
+dd 0x01a10002
+dd 0x01b1ffe9
+dd 0x01c0ffcf
+dd 0x01cfffb6
+dd 0x01ddff9d
+dd 0x01edff82
+dd 0x01fcff69
+dd 0x020aff50
+dd 0x0219ff36
+dd 0x0228ff1d
+dd 0x0237ff03
+dd 0x00ba01d9
+dd 0x00ca01bf
+dd 0x00d801a6
+dd 0x00e7018c
+dd 0x00f60173
+dd 0x0104015a
+dd 0x0114013f
+dd 0x01230126
+dd 0x0131010d
+dd 0x014000f3
+dd 0x015000d9
+dd 0x015e00c0
+dd 0x016d00a6
+dd 0x017c008d
+dd 0x018b0074
+dd 0x019a0059
+dd 0x01a90040
+dd 0x01b70026
+dd 0x01c6000d
+dd 0x01d6fff4
+dd 0x01e4ffda
+dd 0x01f3ffc1
+dd 0x0202ffa8
+dd 0x0212ff8d
+dd 0x0220ff74
+dd 0x022fff5b
+dd 0x023dff41
+dd 0x024cff28
+dd 0x025cff0e
+dd 0x00dd01e2
+dd 0x00ed01c9
+dd 0x00fc01b0
+dd 0x010a0196
+dd 0x0119017d
+dd 0x01280163
+dd 0x01370149
+dd 0x01460130
+dd 0x01550117
+dd 0x016300fc
+dd 0x017300e3
+dd 0x018200ca
+dd 0x019000b0
+dd 0x019f0097
+dd 0x01af007d
+dd 0x01bd0063
+dd 0x01cc004a
+dd 0x01db0030
+dd 0x01e90016
+dd 0x01f9fffe
+dd 0x0208ffe4
+dd 0x0216ffcb
+dd 0x0225ffb2
+dd 0x0235ff97
+dd 0x0244ff7e
+dd 0x0252ff65
+dd 0x0261ff4b
+dd 0x026fff31
+dd 0x027fff18
+dd 0x010201ed
+dd 0x011201d4
+dd 0x012001bb
+dd 0x012f01a1
+dd 0x013d0188
+dd 0x014c016e
+dd 0x015c0154
+dd 0x016b013b
+dd 0x01790122
+dd 0x01880107
+dd 0x019800ee
+dd 0x01a600d5
+dd 0x01b500bb
+dd 0x01c400a2
+dd 0x01d30088
+dd 0x01e2006e
+dd 0x01f10055
+dd 0x01ff003b
+dd 0x020e0021
+dd 0x021e0008
+dd 0x022cffef
+dd 0x023bffd6
+dd 0x024affbc
+dd 0x0259ffa2
+dd 0x0268ff89
+dd 0x0277ff70
+dd 0x0285ff56
+dd 0x0294ff3c
+dd 0x02a4ff23
+dd 0x012501f8
+dd 0x013501df
+dd 0x014401c6
+dd 0x015201ac
+dd 0x01610192
+dd 0x016f0179
+dd 0x017f015f
+dd 0x018e0146
+dd 0x019d012d
+dd 0x01ab0112
+dd 0x01bb00f9
+dd 0x01ca00e0
+dd 0x01d800c6
+dd 0x01e700ac
+dd 0x01f70093
+dd 0x02050079
+dd 0x02140060
+dd 0x02230046
+dd 0x0231002c
+dd 0x02410013
+dd 0x0250fffa
+dd 0x025effe1
+dd 0x026dffc7
+dd 0x027dffad
+dd 0x028bff94
+dd 0x029aff7b
+dd 0x02a9ff60
+dd 0x02b7ff47
+dd 0x02c7ff2e
+
+ref_00473610:
+db 0xf4
+
+ref_00473611:
+db 0xfd
+db 0xf4
+db 0xfe
+dd 0xfdf5fcf5
+dd 0xfff5fef5
+dd 0xfcf600f5
+dd 0xfef6fdf6
+dd 0x00f6fff6
+dd 0x02f601f6
+dd 0xfdf7fcf7
+dd 0xfff7fef7
+dd 0x01f700f7
+dd 0x03f702f7
+dd 0x05f704f7
+dd 0xfcf8fbf8
+dd 0xfef8fdf8
+dd 0x00f8fff8
+dd 0x02f801f8
+dd 0x04f803f8
+dd 0x06f805f8
+dd 0xfbf907f8
+dd 0xfdf9fcf9
+dd 0xfff9fef9
+dd 0x01f900f9
+dd 0x03f902f9
+dd 0x05f904f9
+dd 0x07f906f9
+dd 0x09f908f9
+dd 0xfbfafafa
+dd 0xfdfafcfa
+dd 0xfffafefa
+dd 0x01fa00fa
+dd 0x03fa02fa
+dd 0x05fa04fa
+dd 0x07fa06fa
+dd 0x09fa08fa
+dd 0xfbfbfafb
+dd 0xfdfbfcfb
+dd 0xfffbfefb
+dd 0x01fb00fb
+dd 0x03fb02fb
+dd 0x05fb04fb
+dd 0x07fb06fb
+dd 0x09fb08fb
+dd 0xfbfcfafc
+dd 0xfdfcfcfc
+dd 0xfffcfefc
+dd 0x01fc00fc
+dd 0x03fc02fc
+dd 0x05fc04fc
+dd 0x07fc06fc
+dd 0xf9fd08fc
+dd 0xfbfdfafd
+dd 0xfdfdfcfd
+dd 0xfffdfefd
+dd 0x01fd00fd
+dd 0x03fd02fd
+dd 0x05fd04fd
+dd 0x07fd06fd
+dd 0xf9fe08fd
+dd 0xfbfefafe
+dd 0xfdfefcfe
+dd 0xfffefefe
+dd 0x01fe00fe
+dd 0x03fe02fe
+dd 0x05fe04fe
+dd 0x07fe06fe
+dd 0xf8ff08fe
+dd 0xfafff9ff
+dd 0xfcfffbff
+dd 0xfefffdff
+dd 0x00ffffff
+dd 0x02ff01ff
+dd 0x04ff03ff
+dd 0x06ff05ff
+dd 0xf80007ff
+dd 0xfa00f900
+dd 0xfc00fb00
+dd 0xfe00fd00
+dd 0x0000ff00
+dd 0x02000100
+dd 0x04000300
+dd 0x06000500
+dd 0xf7010700
+dd 0xf901f801
+dd 0xfb01fa01
+dd 0xfd01fc01
+dd 0xff01fe01
+dd 0x01010001
+dd 0x03010201
+dd 0x05010401
+dd 0xf7020601
+dd 0xf902f802
+dd 0xfb02fa02
+dd 0xfd02fc02
+dd 0xff02fe02
+dd 0x01020002
+dd 0x03020202
+dd 0x05020402
+dd 0xf7030602
+dd 0xf903f803
+dd 0xfb03fa03
+dd 0xfd03fc03
+dd 0xff03fe03
+dd 0x01030003
+dd 0x03030203
+dd 0x05030403
+dd 0xf6040603
+dd 0xf804f704
+dd 0xfa04f904
+dd 0xfc04fb04
+dd 0xfe04fd04
+dd 0x0004ff04
+dd 0x02040104
+dd 0x04040304
+dd 0xf6050504
+dd 0xf805f705
+dd 0xfa05f905
+dd 0xfc05fb05
+dd 0xfe05fd05
+dd 0x0005ff05
+dd 0x02050105
+dd 0x04050305
+dd 0xf6060505
+dd 0xf806f706
+dd 0xfa06f906
+dd 0xfc06fb06
+dd 0xfe06fd06
+dd 0x0006ff06
+dd 0x02060106
+dd 0x04060306
+dd 0xf907f807
+dd 0xfb07fa07
+dd 0xfd07fc07
+dd 0xff07fe07
+dd 0x01070007
+dd 0x03070207
+dd 0xfa080407
+dd 0xfc08fb08
+dd 0xfe08fd08
+dd 0x0008ff08
+dd 0x02080108
+dd 0xfc090308
+dd 0xfe09fd09
+dd 0x0009ff09
+dd 0x02090109
+dd 0xff0a0309
+dd 0x010a000a
+dd 0x030a020a
+dd 0x020b010b
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x02f401f4
+dd 0x00f5fff5
+dd 0x02f501f5
+dd 0xfdf603f5
+dd 0xfff6fef6
+dd 0x01f600f6
+dd 0x03f602f6
+dd 0xfbf7faf7
+dd 0xfdf7fcf7
+dd 0xfff7fef7
+dd 0x01f700f7
+dd 0x03f702f7
+dd 0xf9f8f8f8
+dd 0xfbf8faf8
+dd 0xfdf8fcf8
+dd 0xfff8fef8
+dd 0x01f800f8
+dd 0x03f802f8
+dd 0xf6f904f8
+dd 0xf8f9f7f9
+dd 0xfaf9f9f9
+dd 0xfcf9fbf9
+dd 0xfef9fdf9
+dd 0x00f9fff9
+dd 0x02f901f9
+dd 0x04f903f9
+dd 0xf7faf6fa
+dd 0xf9faf8fa
+dd 0xfbfafafa
+dd 0xfdfafcfa
+dd 0xfffafefa
+dd 0x01fa00fa
+dd 0x03fa02fa
+dd 0x05fa04fa
+dd 0xf7fbf6fb
+dd 0xf9fbf8fb
+dd 0xfbfbfafb
+dd 0xfdfbfcfb
+dd 0xfffbfefb
+dd 0x01fb00fb
+dd 0x03fb02fb
+dd 0x05fb04fb
+dd 0xf8fcf7fc
+dd 0xfafcf9fc
+dd 0xfcfcfbfc
+dd 0xfefcfdfc
+dd 0x00fcfffc
+dd 0x02fc01fc
+dd 0x04fc03fc
+dd 0x06fc05fc
+dd 0xf8fdf7fd
+dd 0xfafdf9fd
+dd 0xfcfdfbfd
+dd 0xfefdfdfd
+dd 0x00fdfffd
+dd 0x02fd01fd
+dd 0x04fd03fd
+dd 0x06fd05fd
+dd 0xf8fef7fe
+dd 0xfafef9fe
+dd 0xfcfefbfe
+dd 0xfefefdfe
+dd 0x00fefffe
+dd 0x02fe01fe
+dd 0x04fe03fe
+dd 0x06fe05fe
+dd 0xf9fff8ff
+dd 0xfbfffaff
+dd 0xfdfffcff
+dd 0xfffffeff
+dd 0x01ff00ff
+dd 0x03ff02ff
+dd 0x05ff04ff
+dd 0x07ff06ff
+dd 0xf900f800
+dd 0xfb00fa00
+dd 0xfd00fc00
+dd 0xff00fe00
+dd 0x01000000
+dd 0x03000200
+dd 0x05000400
+dd 0x07000600
+dd 0xfa01f901
+dd 0xfc01fb01
+dd 0xfe01fd01
+dd 0x0001ff01
+dd 0x02010101
+dd 0x04010301
+dd 0x06010501
+dd 0x08010701
+dd 0xfa02f902
+dd 0xfc02fb02
+dd 0xfe02fd02
+dd 0x0002ff02
+dd 0x02020102
+dd 0x04020302
+dd 0x06020502
+dd 0x08020702
+dd 0xfb03fa03
+dd 0xfd03fc03
+dd 0xff03fe03
+dd 0x01030003
+dd 0x03030203
+dd 0x05030403
+dd 0x07030603
+dd 0xfa040803
+dd 0xfc04fb04
+dd 0xfe04fd04
+dd 0x0004ff04
+dd 0x02040104
+dd 0x04040304
+dd 0x06040504
+dd 0x08040704
+dd 0xfa050904
+dd 0xfc05fb05
+dd 0xfe05fd05
+dd 0x0005ff05
+dd 0x02050105
+dd 0x04050305
+dd 0x06050505
+dd 0x08050705
+dd 0xfb060905
+dd 0xfd06fc06
+dd 0xff06fe06
+dd 0x01060006
+dd 0x03060206
+dd 0x05060406
+dd 0x07060606
+dd 0x09060806
+dd 0xfc07fb07
+dd 0xfe07fd07
+dd 0x0007ff07
+dd 0x02070107
+dd 0x04070307
+dd 0x06070507
+dd 0xfc080707
+dd 0xfe08fd08
+dd 0x0008ff08
+dd 0x02080108
+dd 0x04080308
+dd 0xfc090508
+dd 0xfe09fd09
+dd 0x0009ff09
+dd 0x02090109
+dd 0xfc0a0309
+dd 0xfe0afd0a
+dd 0x000aff0a
+dd 0xfe0bfd0b
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0xfaf6f9f6
+dd 0xf9f7fbf6
+dd 0xfbf7faf7
+dd 0xfdf7fcf7
+dd 0xf8f8fef7
+dd 0xfaf8f9f8
+dd 0xfcf8fbf8
+dd 0xfef8fdf8
+dd 0x00f8fff8
+dd 0xf9f9f8f9
+dd 0xfbf9faf9
+dd 0xfdf9fcf9
+dd 0xfff9fef9
+dd 0x01f900f9
+dd 0x03f902f9
+dd 0xf8faf7fa
+dd 0xfafaf9fa
+dd 0xfcfafbfa
+dd 0xfefafdfa
+dd 0x00fafffa
+dd 0x02fa01fa
+dd 0x04fa03fa
+dd 0xf7fb05fa
+dd 0xf9fbf8fb
+dd 0xfbfbfafb
+dd 0xfdfbfcfb
+dd 0xfffbfefb
+dd 0x01fb00fb
+dd 0x03fb02fb
+dd 0x05fb04fb
+dd 0x07fb06fb
+dd 0xf8fcf7fc
+dd 0xfafcf9fc
+dd 0xfcfcfbfc
+dd 0xfefcfdfc
+dd 0x00fcfffc
+dd 0x02fc01fc
+dd 0x04fc03fc
+dd 0x06fc05fc
+dd 0x08fc07fc
+dd 0x0afc09fc
+dd 0xf7fdf6fd
+dd 0xf9fdf8fd
+dd 0xfbfdfafd
+dd 0xfdfdfcfd
+dd 0xfffdfefd
+dd 0x01fd00fd
+dd 0x03fd02fd
+dd 0x05fd04fd
+dd 0x07fd06fd
+dd 0x09fd08fd
+dd 0x0bfd0afd
+dd 0xf7fef6fe
+dd 0xf9fef8fe
+dd 0xfbfefafe
+dd 0xfdfefcfe
+dd 0xfffefefe
+dd 0x01fe00fe
+dd 0x03fe02fe
+dd 0x05fe04fe
+dd 0x07fe06fe
+dd 0x09fe08fe
+dd 0x0bfe0afe
+dd 0xf6fff5ff
+dd 0xf8fff7ff
+dd 0xfafff9ff
+dd 0xfcfffbff
+dd 0xfefffdff
+dd 0x00ffffff
+dd 0x02ff01ff
+dd 0x04ff03ff
+dd 0x06ff05ff
+dd 0x08ff07ff
+dd 0x0aff09ff
+dd 0xf600f500
+dd 0xf800f700
+dd 0xfa00f900
+dd 0xfc00fb00
+dd 0xfe00fd00
+dd 0x0000ff00
+dd 0x02000100
+dd 0x04000300
+dd 0x06000500
+dd 0x08000700
+dd 0x0a000900
+dd 0xf501f401
+dd 0xf701f601
+dd 0xf901f801
+dd 0xfb01fa01
+dd 0xfd01fc01
+dd 0xff01fe01
+dd 0x01010001
+dd 0x03010201
+dd 0x05010401
+dd 0x07010601
+dd 0x09010801
+dd 0xf502f402
+dd 0xf702f602
+dd 0xf902f802
+dd 0xfb02fa02
+dd 0xfd02fc02
+dd 0xff02fe02
+dd 0x01020002
+dd 0x03020202
+dd 0x05020402
+dd 0x07020602
+dd 0x09020802
+dd 0xf603f503
+dd 0xf803f703
+dd 0xfa03f903
+dd 0xfc03fb03
+dd 0xfe03fd03
+dd 0x0003ff03
+dd 0x02030103
+dd 0x04030303
+dd 0x06030503
+dd 0x08030703
+dd 0xf8040903
+dd 0xfa04f904
+dd 0xfc04fb04
+dd 0xfe04fd04
+dd 0x0004ff04
+dd 0x02040104
+dd 0x04040304
+dd 0x06040504
+dd 0x08040704
+dd 0xfb05fa05
+dd 0xfd05fc05
+dd 0xff05fe05
+dd 0x01050005
+dd 0x03050205
+dd 0x05050405
+dd 0x07050605
+dd 0xfd060805
+dd 0xff06fe06
+dd 0x01060006
+dd 0x03060206
+dd 0x05060406
+dd 0x07060606
+dd 0x0007ff07
+dd 0x02070107
+dd 0x04070307
+dd 0x06070507
+dd 0x01080707
+dd 0x03080208
+dd 0x05080408
+dd 0x04090608
+dd 0x06090509
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x05f604f6
+dd 0x01f706f6
+dd 0x03f702f7
+dd 0x05f704f7
+dd 0xfff806f7
+dd 0x01f800f8
+dd 0x03f802f8
+dd 0x05f804f8
+dd 0x07f806f8
+dd 0xfdf9fcf9
+dd 0xfff9fef9
+dd 0x01f900f9
+dd 0x03f902f9
+dd 0x05f904f9
+dd 0x07f906f9
+dd 0xfbfafafa
+dd 0xfdfafcfa
+dd 0xfffafefa
+dd 0x01fa00fa
+dd 0x03fa02fa
+dd 0x05fa04fa
+dd 0x07fa06fa
+dd 0xf8fb08fa
+dd 0xfafbf9fb
+dd 0xfcfbfbfb
+dd 0xfefbfdfb
+dd 0x00fbfffb
+dd 0x02fb01fb
+dd 0x04fb03fb
+dd 0x06fb05fb
+dd 0x08fb07fb
+dd 0xf6fcf5fc
+dd 0xf8fcf7fc
+dd 0xfafcf9fc
+dd 0xfcfcfbfc
+dd 0xfefcfdfc
+dd 0x00fcfffc
+dd 0x02fc01fc
+dd 0x04fc03fc
+dd 0x06fc05fc
+dd 0x08fc07fc
+dd 0xf4fd09fc
+dd 0xf6fdf5fd
+dd 0xf8fdf7fd
+dd 0xfafdf9fd
+dd 0xfcfdfbfd
+dd 0xfefdfdfd
+dd 0x00fdfffd
+dd 0x02fd01fd
+dd 0x04fd03fd
+dd 0x06fd05fd
+dd 0x08fd07fd
+dd 0xf4fe09fd
+dd 0xf6fef5fe
+dd 0xf8fef7fe
+dd 0xfafef9fe
+dd 0xfcfefbfe
+dd 0xfefefdfe
+dd 0x00fefffe
+dd 0x02fe01fe
+dd 0x04fe03fe
+dd 0x06fe05fe
+dd 0x08fe07fe
+dd 0xf5ff09fe
+dd 0xf7fff6ff
+dd 0xf9fff8ff
+dd 0xfbfffaff
+dd 0xfdfffcff
+dd 0xfffffeff
+dd 0x01ff00ff
+dd 0x03ff02ff
+dd 0x05ff04ff
+dd 0x07ff06ff
+dd 0x09ff08ff
+dd 0xf5000aff
+dd 0xf700f600
+dd 0xf900f800
+dd 0xfb00fa00
+dd 0xfd00fc00
+dd 0xff00fe00
+dd 0x01000000
+dd 0x03000200
+dd 0x05000400
+dd 0x07000600
+dd 0x09000800
+dd 0xf6010a00
+dd 0xf801f701
+dd 0xfa01f901
+dd 0xfc01fb01
+dd 0xfe01fd01
+dd 0x0001ff01
+dd 0x02010101
+dd 0x04010301
+dd 0x06010501
+dd 0x08010701
+dd 0x0a010901
+dd 0xf6020b01
+dd 0xf802f702
+dd 0xfa02f902
+dd 0xfc02fb02
+dd 0xfe02fd02
+dd 0x0002ff02
+dd 0x02020102
+dd 0x04020302
+dd 0x06020502
+dd 0x08020702
+dd 0x0a020902
+dd 0xf7030b02
+dd 0xf903f803
+dd 0xfb03fa03
+dd 0xfd03fc03
+dd 0xff03fe03
+dd 0x01030003
+dd 0x03030203
+dd 0x05030403
+dd 0x07030603
+dd 0x09030803
+dd 0xf7040a03
+dd 0xf904f804
+dd 0xfb04fa04
+dd 0xfd04fc04
+dd 0xff04fe04
+dd 0x01040004
+dd 0x03040204
+dd 0x05040404
+dd 0x07040604
+dd 0xf805f705
+dd 0xfa05f905
+dd 0xfc05fb05
+dd 0xfe05fd05
+dd 0x0005ff05
+dd 0x02050105
+dd 0x04050305
+dd 0xf8060505
+dd 0xfa06f906
+dd 0xfc06fb06
+dd 0xfe06fd06
+dd 0x0006ff06
+dd 0x02060106
+dd 0xf907f807
+dd 0xfb07fa07
+dd 0xfd07fc07
+dd 0xff07fe07
+dd 0xf9080007
+dd 0xfb08fa08
+dd 0xfd08fc08
+dd 0xf909fe08
+dd 0xfb09fa09
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0xfef4fdf4
+dd 0xfdf5fcf5
+dd 0xfff5fef5
+dd 0xfcf600f5
+dd 0xfef6fdf6
+dd 0x00f6fff6
+dd 0x02f601f6
+dd 0xfcf703f6
+dd 0xfef7fdf7
+dd 0x00f7fff7
+dd 0x02f701f7
+dd 0x04f703f7
+dd 0xfbf805f7
+dd 0xfdf8fcf8
+dd 0xfff8fef8
+dd 0x01f800f8
+dd 0x03f802f8
+dd 0x05f804f8
+dd 0x07f806f8
+dd 0xfcf9fbf9
+dd 0xfef9fdf9
+dd 0x00f9fff9
+dd 0x02f901f9
+dd 0x04f903f9
+dd 0x06f905f9
+dd 0x08f907f9
+dd 0xfafa09f9
+dd 0xfcfafbfa
+dd 0xfefafdfa
+dd 0x00fafffa
+dd 0x02fa01fa
+dd 0x04fa03fa
+dd 0x06fa05fa
+dd 0x08fa07fa
+dd 0xfafb09fa
+dd 0xfcfbfbfb
+dd 0xfefbfdfb
+dd 0x00fbfffb
+dd 0x02fb01fb
+dd 0x04fb03fb
+dd 0x06fb05fb
+dd 0x08fb07fb
+dd 0xf9fc09fb
+dd 0xfbfcfafc
+dd 0xfdfcfcfc
+dd 0xfffcfefc
+dd 0x01fc00fc
+dd 0x03fc02fc
+dd 0x05fc04fc
+dd 0x07fc06fc
+dd 0xf9fd08fc
+dd 0xfbfdfafd
+dd 0xfdfdfcfd
+dd 0xfffdfefd
+dd 0x01fd00fd
+dd 0x03fd02fd
+dd 0x05fd04fd
+dd 0x07fd06fd
+dd 0xf9fe08fd
+dd 0xfbfefafe
+dd 0xfdfefcfe
+dd 0xfffefefe
+dd 0x01fe00fe
+dd 0x03fe02fe
+dd 0x05fe04fe
+dd 0x07fe06fe
+dd 0xf8ff08fe
+dd 0xfafff9ff
+dd 0xfcfffbff
+dd 0xfefffdff
+dd 0x00ffffff
+dd 0x02ff01ff
+dd 0x04ff03ff
+dd 0x06ff05ff
+dd 0xf80007ff
+dd 0xfa00f900
+dd 0xfc00fb00
+dd 0xfe00fd00
+dd 0x0000ff00
+dd 0x02000100
+dd 0x04000300
+dd 0x06000500
+dd 0xf7010700
+dd 0xf901f801
+dd 0xfb01fa01
+dd 0xfd01fc01
+dd 0xff01fe01
+dd 0x01010001
+dd 0x03010201
+dd 0x05010401
+dd 0xf7020601
+dd 0xf902f802
+dd 0xfb02fa02
+dd 0xfd02fc02
+dd 0xff02fe02
+dd 0x01020002
+dd 0x03020202
+dd 0x05020402
+dd 0xf7030602
+dd 0xf903f803
+dd 0xfb03fa03
+dd 0xfd03fc03
+dd 0xff03fe03
+dd 0x01030003
+dd 0x03030203
+dd 0x05030403
+dd 0xf704f604
+dd 0xf904f804
+dd 0xfb04fa04
+dd 0xfd04fc04
+dd 0xff04fe04
+dd 0x01040004
+dd 0x03040204
+dd 0x05040404
+dd 0xf705f605
+dd 0xf905f805
+dd 0xfb05fa05
+dd 0xfd05fc05
+dd 0xff05fe05
+dd 0x01050005
+dd 0x03050205
+dd 0x05050405
+dd 0xf706f606
+dd 0xf906f806
+dd 0xfb06fa06
+dd 0xfd06fc06
+dd 0xff06fe06
+dd 0x01060006
+dd 0x03060206
+dd 0xf8070406
+dd 0xfa07f907
+dd 0xfc07fb07
+dd 0xfe07fd07
+dd 0x0007ff07
+dd 0x02070107
+dd 0x04070307
+dd 0xfb08fa08
+dd 0xfd08fc08
+dd 0xff08fe08
+dd 0x01080008
+dd 0x03080208
+dd 0xfe09fd09
+dd 0x0009ff09
+dd 0x02090109
+dd 0xff0a0309
+dd 0x010a000a
+dd 0x030a020a
+dd 0x020b010b
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x02f401f4
+dd 0x00f5fff5
+dd 0x02f501f5
+dd 0xfcf603f5
+dd 0xfef6fdf6
+dd 0x00f6fff6
+dd 0x02f601f6
+dd 0xfaf703f6
+dd 0xfcf7fbf7
+dd 0xfef7fdf7
+dd 0x00f7fff7
+dd 0x02f701f7
+dd 0xf8f803f7
+dd 0xfaf8f9f8
+dd 0xfcf8fbf8
+dd 0xfef8fdf8
+dd 0x00f8fff8
+dd 0x02f801f8
+dd 0x04f803f8
+dd 0xf7f9f6f9
+dd 0xf9f9f8f9
+dd 0xfbf9faf9
+dd 0xfdf9fcf9
+dd 0xfff9fef9
+dd 0x01f900f9
+dd 0x03f902f9
+dd 0xf6fa04f9
+dd 0xf8faf7fa
+dd 0xfafaf9fa
+dd 0xfcfafbfa
+dd 0xfefafdfa
+dd 0x00fafffa
+dd 0x02fa01fa
+dd 0x04fa03fa
+dd 0xf6fb05fa
+dd 0xf8fbf7fb
+dd 0xfafbf9fb
+dd 0xfcfbfbfb
+dd 0xfefbfdfb
+dd 0x00fbfffb
+dd 0x02fb01fb
+dd 0x04fb03fb
+dd 0xf7fc05fb
+dd 0xf9fcf8fc
+dd 0xfbfcfafc
+dd 0xfdfcfcfc
+dd 0xfffcfefc
+dd 0x01fc00fc
+dd 0x03fc02fc
+dd 0x05fc04fc
+dd 0xf8fdf7fd
+dd 0xfafdf9fd
+dd 0xfcfdfbfd
+dd 0xfefdfdfd
+dd 0x00fdfffd
+dd 0x02fd01fd
+dd 0x04fd03fd
+dd 0x06fd05fd
+dd 0xf8fef7fe
+dd 0xfafef9fe
+dd 0xfcfefbfe
+dd 0xfefefdfe
+dd 0x00fefffe
+dd 0x02fe01fe
+dd 0x04fe03fe
+dd 0x06fe05fe
+dd 0xf9fff8ff
+dd 0xfbfffaff
+dd 0xfdfffcff
+dd 0xfffffeff
+dd 0x01ff00ff
+dd 0x03ff02ff
+dd 0x05ff04ff
+dd 0x07ff06ff
+dd 0xf900f800
+dd 0xfb00fa00
+dd 0xfd00fc00
+dd 0xff00fe00
+dd 0x01000000
+dd 0x03000200
+dd 0x05000400
+dd 0x07000600
+dd 0xfa01f901
+dd 0xfc01fb01
+dd 0xfe01fd01
+dd 0x0001ff01
+dd 0x02010101
+dd 0x04010301
+dd 0x06010501
+dd 0x08010701
+dd 0xfa02f902
+dd 0xfc02fb02
+dd 0xfe02fd02
+dd 0x0002ff02
+dd 0x02020102
+dd 0x04020302
+dd 0x06020502
+dd 0x08020702
+dd 0xfa03f903
+dd 0xfc03fb03
+dd 0xfe03fd03
+dd 0x0003ff03
+dd 0x02030103
+dd 0x04030303
+dd 0x06030503
+dd 0x08030703
+dd 0xfb04fa04
+dd 0xfd04fc04
+dd 0xff04fe04
+dd 0x01040004
+dd 0x03040204
+dd 0x05040404
+dd 0x07040604
+dd 0x09040804
+dd 0xfb05fa05
+dd 0xfd05fc05
+dd 0xff05fe05
+dd 0x01050005
+dd 0x03050205
+dd 0x05050405
+dd 0x07050605
+dd 0x09050805
+dd 0xfc06fb06
+dd 0xfe06fd06
+dd 0x0006ff06
+dd 0x02060106
+dd 0x04060306
+dd 0x06060506
+dd 0x08060706
+dd 0xfb070906
+dd 0xfd07fc07
+dd 0xff07fe07
+dd 0x01070007
+dd 0x03070207
+dd 0x05070407
+dd 0x07070607
+dd 0xfd08fc08
+dd 0xff08fe08
+dd 0x01080008
+dd 0x03080208
+dd 0x05080408
+dd 0xfd09fc09
+dd 0xff09fe09
+dd 0x01090009
+dd 0xfc0a0209
+dd 0xfe0afd0a
+dd 0x000aff0a
+dd 0xfe0bfd0b
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0xfaf6f9f6
+dd 0xf9f7fbf6
+dd 0xfbf7faf7
+dd 0xfdf7fcf7
+dd 0xf8f8fef7
+dd 0xfaf8f9f8
+dd 0xfcf8fbf8
+dd 0xfef8fdf8
+dd 0x00f8fff8
+dd 0xf9f9f8f9
+dd 0xfbf9faf9
+dd 0xfdf9fcf9
+dd 0xfff9fef9
+dd 0x01f900f9
+dd 0xf7fa02f9
+dd 0xf9faf8fa
+dd 0xfbfafafa
+dd 0xfdfafcfa
+dd 0xfffafefa
+dd 0x01fa00fa
+dd 0x03fa02fa
+dd 0x05fa04fa
+dd 0xf8fbf7fb
+dd 0xfafbf9fb
+dd 0xfcfbfbfb
+dd 0xfefbfdfb
+dd 0x00fbfffb
+dd 0x02fb01fb
+dd 0x04fb03fb
+dd 0x06fb05fb
+dd 0xf6fc07fb
+dd 0xf8fcf7fc
+dd 0xfafcf9fc
+dd 0xfcfcfbfc
+dd 0xfefcfdfc
+dd 0x00fcfffc
+dd 0x02fc01fc
+dd 0x04fc03fc
+dd 0x06fc05fc
+dd 0x08fc07fc
+dd 0x0afc09fc
+dd 0xf7fdf6fd
+dd 0xf9fdf8fd
+dd 0xfbfdfafd
+dd 0xfdfdfcfd
+dd 0xfffdfefd
+dd 0x01fd00fd
+dd 0x03fd02fd
+dd 0x05fd04fd
+dd 0x07fd06fd
+dd 0x09fd08fd
+dd 0x0bfd0afd
+dd 0xf7fef6fe
+dd 0xf9fef8fe
+dd 0xfbfefafe
+dd 0xfdfefcfe
+dd 0xfffefefe
+dd 0x01fe00fe
+dd 0x03fe02fe
+dd 0x05fe04fe
+dd 0x07fe06fe
+dd 0x09fe08fe
+dd 0x0bfe0afe
+dd 0xf6fff5ff
+dd 0xf8fff7ff
+dd 0xfafff9ff
+dd 0xfcfffbff
+dd 0xfefffdff
+dd 0x00ffffff
+dd 0x02ff01ff
+dd 0x04ff03ff
+dd 0x06ff05ff
+dd 0x08ff07ff
+dd 0x0aff09ff
+dd 0xf600f500
+dd 0xf800f700
+dd 0xfa00f900
+dd 0xfc00fb00
+dd 0xfe00fd00
+dd 0x0000ff00
+dd 0x02000100
+dd 0x04000300
+dd 0x06000500
+dd 0x08000700
+dd 0x0a000900
+dd 0xf501f401
+dd 0xf701f601
+dd 0xf901f801
+dd 0xfb01fa01
+dd 0xfd01fc01
+dd 0xff01fe01
+dd 0x01010001
+dd 0x03010201
+dd 0x05010401
+dd 0x07010601
+dd 0x09010801
+dd 0xf502f402
+dd 0xf702f602
+dd 0xf902f802
+dd 0xfb02fa02
+dd 0xfd02fc02
+dd 0xff02fe02
+dd 0x01020002
+dd 0x03020202
+dd 0x05020402
+dd 0x07020602
+dd 0x09020802
+dd 0xf603f503
+dd 0xf803f703
+dd 0xfa03f903
+dd 0xfc03fb03
+dd 0xfe03fd03
+dd 0x0003ff03
+dd 0x02030103
+dd 0x04030303
+dd 0x06030503
+dd 0x08030703
+dd 0xf904f804
+dd 0xfb04fa04
+dd 0xfd04fc04
+dd 0xff04fe04
+dd 0x01040004
+dd 0x03040204
+dd 0x05040404
+dd 0x07040604
+dd 0xfa050804
+dd 0xfc05fb05
+dd 0xfe05fd05
+dd 0x0005ff05
+dd 0x02050105
+dd 0x04050305
+dd 0x06050505
+dd 0x08050705
+dd 0xfd06fc06
+dd 0xff06fe06
+dd 0x01060006
+dd 0x03060206
+dd 0x05060406
+dd 0x07060606
+dd 0x0007ff07
+dd 0x02070107
+dd 0x04070307
+dd 0x06070507
+dd 0x01080707
+dd 0x03080208
+dd 0x05080408
+dd 0x04090608
+dd 0x06090509
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x05f604f6
+dd 0x01f706f6
+dd 0x03f702f7
+dd 0x05f704f7
+dd 0xfff806f7
+dd 0x01f800f8
+dd 0x03f802f8
+dd 0x05f804f8
+dd 0x07f806f8
+dd 0xfef9fdf9
+dd 0x00f9fff9
+dd 0x02f901f9
+dd 0x04f903f9
+dd 0x06f905f9
+dd 0xfafa07f9
+dd 0xfcfafbfa
+dd 0xfefafdfa
+dd 0x00fafffa
+dd 0x02fa01fa
+dd 0x04fa03fa
+dd 0x06fa05fa
+dd 0x08fa07fa
+dd 0xf9fbf8fb
+dd 0xfbfbfafb
+dd 0xfdfbfcfb
+dd 0xfffbfefb
+dd 0x01fb00fb
+dd 0x03fb02fb
+dd 0x05fb04fb
+dd 0x07fb06fb
+dd 0xf5fc08fb
+dd 0xf7fcf6fc
+dd 0xf9fcf8fc
+dd 0xfbfcfafc
+dd 0xfdfcfcfc
+dd 0xfffcfefc
+dd 0x01fc00fc
+dd 0x03fc02fc
+dd 0x05fc04fc
+dd 0x07fc06fc
+dd 0xf4fd08fc
+dd 0xf6fdf5fd
+dd 0xf8fdf7fd
+dd 0xfafdf9fd
+dd 0xfcfdfbfd
+dd 0xfefdfdfd
+dd 0x00fdfffd
+dd 0x02fd01fd
+dd 0x04fd03fd
+dd 0x06fd05fd
+dd 0x08fd07fd
+dd 0xf4fe09fd
+dd 0xf6fef5fe
+dd 0xf8fef7fe
+dd 0xfafef9fe
+dd 0xfcfefbfe
+dd 0xfefefdfe
+dd 0x00fefffe
+dd 0x02fe01fe
+dd 0x04fe03fe
+dd 0x06fe05fe
+dd 0x08fe07fe
+dd 0xf5ff09fe
+dd 0xf7fff6ff
+dd 0xf9fff8ff
+dd 0xfbfffaff
+dd 0xfdfffcff
+dd 0xfffffeff
+dd 0x01ff00ff
+dd 0x03ff02ff
+dd 0x05ff04ff
+dd 0x07ff06ff
+dd 0x09ff08ff
+dd 0xf5000aff
+dd 0xf700f600
+dd 0xf900f800
+dd 0xfb00fa00
+dd 0xfd00fc00
+dd 0xff00fe00
+dd 0x01000000
+dd 0x03000200
+dd 0x05000400
+dd 0x07000600
+dd 0x09000800
+dd 0xf6010a00
+dd 0xf801f701
+dd 0xfa01f901
+dd 0xfc01fb01
+dd 0xfe01fd01
+dd 0x0001ff01
+dd 0x02010101
+dd 0x04010301
+dd 0x06010501
+dd 0x08010701
+dd 0x0a010901
+dd 0xf6020b01
+dd 0xf802f702
+dd 0xfa02f902
+dd 0xfc02fb02
+dd 0xfe02fd02
+dd 0x0002ff02
+dd 0x02020102
+dd 0x04020302
+dd 0x06020502
+dd 0x08020702
+dd 0x0a020902
+dd 0xf6030b02
+dd 0xf803f703
+dd 0xfa03f903
+dd 0xfc03fb03
+dd 0xfe03fd03
+dd 0x0003ff03
+dd 0x02030103
+dd 0x04030303
+dd 0x06030503
+dd 0x08030703
+dd 0x0a030903
+dd 0xf804f704
+dd 0xfa04f904
+dd 0xfc04fb04
+dd 0xfe04fd04
+dd 0x0004ff04
+dd 0x02040104
+dd 0x04040304
+dd 0x06040504
+dd 0xf7050704
+dd 0xf905f805
+dd 0xfb05fa05
+dd 0xfd05fc05
+dd 0xff05fe05
+dd 0x01050005
+dd 0x03050205
+dd 0x05050405
+dd 0xf906f806
+dd 0xfb06fa06
+dd 0xfd06fc06
+dd 0xff06fe06
+dd 0x01060006
+dd 0x03060206
+dd 0xf907f807
+dd 0xfb07fa07
+dd 0xfd07fc07
+dd 0xff07fe07
+dd 0xf9080007
+dd 0xfb08fa08
+dd 0xfd08fc08
+dd 0xf909fe08
+dd 0xfb09fa09
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+dd 0x00800080
+
+ref_00474910:
+db 0xde
+
+ref_00474911:
+db 0x0b
+
+ref_00474912:
+db 0xf2
+
+ref_00474913:
+db 0xe7
+dd 0xe710f7de
+dd 0xf725e7f3
+dd 0x0b24e710
+dd 0x1a10f725
+dd 0x1af20b24
+dd 0x0bdd1a10
+dd 0xf7dd1af2
+
+ref_00474930:
+dd 0x00000000
+
+ref_00474934:
+dd 0x00000000
+
+ref_00474938:
+dd 0x00000000
+
+ref_0047493c:
+dd 0x00000000
+
+ref_00474940:
+dd 0x01050501
+db 0x05
+
+ref_00474945:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474949:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047494d:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474951:
+db 0xf6
+db 0xff
+db 0xff
+db 0xff
+
+ref_00474955:
+db 0xea
+db 0xff
+db 0xff
+dd 0xffffeaff
+dd 0xfffff6ff
+dd 0xffffeaff
+dd 0x00000aff
+dd 0xfffff600
+dd 0x000016ff
+dd 0x00000a00
+dd 0x00001600
+dd 0x00001600
+dd 0x00000a00
+dd 0x00001600
+dd 0xfffff600
+dd 0x00000aff
+dd 0xffffea00
+db 0xff
+
+ref_00474991:
+db 0xee
+db 0xff
+db 0xff
+db 0xff
+
+ref_00474995:
+db 0xd4
+db 0xff
+db 0xff
+dd 0xffffd4ff
+dd 0xffffeeff
+dd 0xffffd4ff
+dd 0x000012ff
+dd 0xffffee00
+dd 0x00002cff
+dd 0x00001200
+dd 0x00002c00
+dd 0x00002c00
+dd 0x00001200
+dd 0x00002c00
+dd 0xffffee00
+dd 0x000012ff
+dd 0xffffd400
+dd 0x000000ff
+
+ref_004749d4:
+dd 0x00000000
+
+ref_004749d8:
+dd 0x08100c08
+
+ref_004749dc:
+dd 0x00000000
+
+ref_004749e0:
+db 0x00
+db 0x00
+
+ref_004749e2:
+db 0x00
+db 0x00
+dd 0xff38ff9c
+dd 0xff38ff9c
+dd 0x00c80064
+dd 0x00c80064
+dd 0x0064ff9c
+dd 0xfe0c0000
+dd 0x00000000
+dd 0x000003e8
+db 0x00
+db 0x00
+
+ref_00474a06:
+db 0x00
+db 0x00
+dd 0x00960064
+dd 0x00000000
+dd 0xff9cffc4
+dd 0x00000000
+dd 0xffc4003c
+dd 0x00000000
+dd 0x00000000
+dd 0x0000ff38
+db 0x00
+db 0x00
+
+ref_00474a2a:
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00960064
+dd 0x00000000
+dd 0xff9cffc4
+dd 0xffc4003c
+dd 0x00000000
+dd 0x00000000
+dd 0x0000ff38
+dd 0x00000000
+dd 0x00000000
+
+ref_00474a54:
+dd ref_00463534
+dd ref_0046353d
+dd ref_00463546
+dd ref_0046354c
+dd ref_00463552
+dd ref_0046355b
+dd ref_00463562
+dd ref_00463569
+dd ref_00463572
+dd ref_0046357b
+
+ref_00474a7c:
+dd ref_00463584
+
+ref_00474a80:
+dd ref_0046358a
+dd ref_00463590
+dd ref_00463599
+dd ref_004635a2
+dd ref_004635ab
+dd ref_004635b4
+dd ref_004635bd
+
+ref_00474a9c:
+dd ref_004635c6
+dd ref_004635d3
+dd ref_004635e0
+dd ref_004635ed
+dd ref_004635fa
+dd ref_00463607
+dd ref_00463614
+dd ref_00463621
+
+ref_00474abc:
+dd ref_0046362e
+dd ref_00463637
+dd ref_00463640
+dd ref_00463649
+dd ref_00463652
+dd ref_0046365b
+dd ref_00463664
+dd ref_0046366d
+dd ref_00463678
+dd ref_00463680
+dd ref_00463687
+dd ref_00463690
+dd ref_0046369b
+dd ref_004636a0
+dd ref_004636a5
+dd ref_004636aa
+dd ref_004636af
+dd ref_004636b4
+dd ref_004636b9
+dd ref_004636c6
+dd ref_004636d3
+dd ref_004636d8
+dd ref_004636dd
+dd ref_004636e7
+dd ref_004636f1
+dd ref_004636fa
+dd ref_00463703
+dd ref_0046370c
+
+ref_00474b2c:
+dd ref_00463715
+dd ref_00463584
+dd ref_0046358a
+
+ref_00474b38:
+db 0x0e
+db 0x00
+
+ref_00474b3a:
+db 0x19
+db 0x00
+
+ref_00474b3c:
+dd 0x000e0005
+dd 0x0005003a
+dd 0x005a000e
+dd 0x000e0005
+dd 0x0005007a
+dd 0x009b000e
+dd 0x00310005
+dd 0x000200ca
+dd 0x00ca00d1
+dd 0x011e0002
+dd 0x000200e2
+dd 0x0102011e
+dd 0x011e0002
+dd 0x00020122
+
+ref_00474b74:
+db 0xe0
+db 0x00
+
+ref_00474b76:
+db 0x48
+db 0x01
+
+ref_00474b78:
+db 0x02
+db 0x00
+
+ref_00474b7a:
+db 0x28
+db 0x01
+
+ref_00474b7c:
+db 0x48
+db 0x01
+
+ref_00474b7e:
+db 0x02
+db 0x00
+dd 0x001f006c
+dd 0x006c0002
+dd 0x00020055
+dd 0x0088006c
+db 0x02
+db 0x00
+
+ref_00474b92:
+db 0x51
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474b96:
+db 0x11
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474b9a:
+db 0x80
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474b9e:
+db 0x21
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474ba2:
+db 0x59
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474ba6:
+db 0x51
+db 0x00
+dd 0x00980000
+dd 0x00610000
+db 0x00
+db 0x00
+
+ref_00474bb2:
+db 0x59
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474bb6:
+db 0x71
+db 0x00
+dd 0x00980000
+dd 0x00810000
+dd 0x00e30000
+dd 0x000e0000
+dd 0x01470000
+dd 0x00310000
+dd 0x00e30000
+dd 0x00440000
+dd 0x01470000
+dd 0x00670000
+dd 0x00e30000
+dd 0x00770000
+dd 0x01470000
+dd 0x009a0000
+dd 0x00120000
+dd 0x00e20000
+dd 0x00b10000
+dd 0x01590000
+dd 0x00c20000
+dd 0x013a0000
+dd 0x01000000
+dd 0x01580000
+dd 0x010a0000
+dd 0x013a0000
+dd 0x01480000
+dd 0x01580000
+db 0x00
+db 0x00
+
+ref_00474c22:
+db 0x62
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474c26:
+db 0x32
+db 0x00
+dd 0x00710000
+dd 0x00410000
+db 0x00
+db 0x00
+
+ref_00474c32:
+db 0x42
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474c36:
+db 0x52
+db 0x00
+dd 0x00510000
+dd 0x00610000
+db 0x00
+db 0x00
+
+ref_00474c42:
+db 0x42
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474c46:
+db 0x72
+db 0x00
+dd 0x00510000
+dd 0x00810000
+db 0x00
+db 0x00
+
+ref_00474c52:
+db 0x62
+db 0x00
+db 0x00
+db 0x00
+
+ref_00474c56:
+db 0x92
+db 0x00
+dd 0x00710000
+dd 0x00a10000
+dd 0x00d90000
+dd 0x00d60000
+dd 0x01440000
+dd 0x00ec0000
+dd 0x00d90000
+dd 0x00f60000
+dd 0x01440000
+dd 0x010c0000
+dd 0x00d90000
+dd 0x01160000
+dd 0x01440000
+dd 0x012c0000
+db 0x00
+db 0x00
+
+ref_00474c92:
+db 0xda
+db 0x00
+
+ref_00474c94:
+dd 0x011900fa
+dd ref_0046371e
+dd ref_00463723
+dd ref_00463728
+dd ref_0046372d
+dd ref_00463732
+dd ref_00463737
+dd ref_0046373c
+dd ref_00463741
+
+ref_00474cb8:
+dd ref_00463746
+dd ref_0046374b
+dd ref_00463750
+dd ref_00463757
+
+ref_00474cc8:
+db '^7F',0x00
+
+ref_00474ccc:
+dd ref_00463584
+
+ref_00474cd0:
+dd ref_0046358a
+
+ref_00474cd4:
+db 0x30
+db 0x00
+
+ref_00474cd6:
+db 0x20
+db 0x00
+
+ref_00474cd8:
+db 0x85
+db 0x00
+
+ref_00474cda:
+db 0x1e
+db 0x00
+
+ref_00474cdc:
+db 0x26
+db 0x00
+
+ref_00474cde:
+db 0xc4
+db 0x00
+dd 0x00c40065
+dd 0x00c400a3
+
+ref_00474ce8:
+dd 0x0000004a
+
+ref_00474cec:
+dd 0x00000015
+
+ref_00474cf0:
+dd 0x0000005a
+
+ref_00474cf4:
+dd 0x0000001f
+dd 0x0000004a
+dd 0x0000001f
+dd 0x0000005a
+dd 0x00000029
+dd 0x000000a0
+dd 0x00000015
+dd 0x000000b0
+dd 0x0000001f
+dd 0x000000a0
+dd 0x0000001f
+dd 0x000000b0
+dd 0x00000029
+dd 0x00000009
+dd 0x000000b4
+dd 0x00000040
+dd 0x000000d2
+dd 0x00000048
+dd 0x000000b4
+dd 0x0000007f
+dd 0x000000d2
+dd 0x00000086
+dd 0x000000b4
+dd 0x000000bd
+dd 0x000000d2
+dd 0x0000000f
+
+ref_00474d5c: ; may contain a jump table
+dd 0x00000046
+dd 0x000000b5
+dd 0x000000b1
+dd fcn_004119e3
+dd fcn_00411a86
+dd fcn_00411a96
+
+ref_00474d74:
+dd 0xffffffff
+
+ref_00474d78:
+dd 0xffffffff
+
+ref_00474d7c:
+db 0x00
+db 0x00
+
+ref_00474d7e:
+db 0x00
+db 0x00
+
+ref_00474d80:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00990050
+dd 0x00000000
+dd 0x00810080
+dd 0x00000000
+dd 0x006900b0
+dd 0x00000000
+dd 0x005100e0
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00e10020
+dd 0x00000000
+dd 0x00c90050
+dd 0x00000000
+dd 0x00b10080
+dd 0x00000000
+dd 0x009900b0
+dd 0x00000000
+dd 0x008100e0
+dd 0x00000000
+dd 0x00690110
+dd 0x00000000
+dd 0x00510140
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00f90050
+dd 0x00000000
+dd 0x00e10080
+dd 0x00000000
+dd 0x00c900b0
+dd 0x00000000
+dd 0x00b100e0
+dd 0x00000000
+dd 0x00990110
+dd 0x00000000
+dd 0x00810140
+dd 0x00000000
+dd 0x00690170
+dd 0x00000000
+dd 0x005101a0
+dd 0x00000000
+dd 0x01290050
+dd 0x00000000
+dd 0x01110080
+dd 0x00000000
+dd 0x00f900b0
+dd 0x00000000
+dd 0x00e100e0
+dd 0x00000010
+dd 0x00c90110
+dd 0x00000010
+dd 0x00b10140
+dd 0x00000010
+dd 0x00990170
+dd 0x00000000
+dd 0x008101a0
+dd 0x00000000
+dd 0x006901d0
+dd 0x00000000
+dd 0x01410080
+dd 0x00000000
+dd 0x012900b0
+dd 0x00000000
+dd 0x011100e0
+dd 0x00000000
+dd 0x00f90110
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00c90170
+dd 0x00000010
+dd 0x00b101a0
+dd 0x00000000
+dd 0x009901d0
+dd 0x00000000
+dd 0x00810200
+dd 0x00000000
+dd 0x015900b0
+dd 0x00000000
+dd 0x014100e0
+dd 0x00000000
+dd 0x01290110
+dd 0x00000000
+dd 0x01110140
+dd 0x00000000
+dd 0x00f90170
+dd 0x00000000
+dd 0x00e101a0
+dd 0x00000010
+dd 0x00c901d0
+dd 0x00000000
+dd 0x00b10200
+dd 0x00000000
+dd 0x00990230
+dd 0x00000000
+dd 0x017100e0
+dd 0x00000000
+dd 0x01590110
+dd 0x00000000
+dd 0x01410140
+dd 0x00000000
+dd 0x01290170
+dd 0x00000000
+dd 0x011101a0
+dd 0x00000000
+dd 0x00f901d0
+dd 0x00000000
+dd 0x00e10200
+dd 0x00000000
+dd 0x00c90230
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x01710140
+dd 0x00000000
+dd 0x01590170
+dd 0x00000000
+dd 0x014101a0
+dd 0x00000000
+dd 0x012901d0
+dd 0x00000000
+dd 0x01110200
+dd 0x00000000
+dd 0x00f90230
+dd 0x00000000
+dd 0x00e10260
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x017101a0
+dd 0x00000000
+dd 0x015901d0
+dd 0x00000000
+dd 0x01410200
+dd 0x00000000
+dd 0x01290230
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00475004:
+dd 0x0f0f0f0f
+dd 0x18121212
+dd 0x12181818
+
+ref_00475010:
+dd 0x0c0f1218
+db 0x0f
+
+ref_00475015:
+db 0x00
+db 0x01
+db 0x02
+dd 0x00060503
+dd 0x05040201
+dd 0x09080706
+dd 0x0b000b0a
+dd 0x0708090a
+dd 0x0e0d0c00
+dd 0x0c12110f
+dd 0x11100e0d
+db 0x12
+
+ref_00475039:
+db 0x09
+db 0x09
+db 0x0a
+dd 0x0a0a0a0a
+db 0x0b
+db 0x0b
+db 0x0b
+
+ref_00475043:
+db 0x80
+dd 0x0001e002
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047504b:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047504f:
+db 0x00
+db 0x00
+
+ref_00475051:
+db 0x00
+db 0x00
+db 0x04
+db 0x05
+db 0x05
+db 0x06
+
+ref_00475057:
+db 0x0b
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047505f:
+db 0x0c
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_00475067:
+db 0x0d
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047506f:
+db 0x0e
+dd 0x00000000
+dd 0x10000000
+dd 0x00000000
+dd 0x11000000
+dd 0x00000000
+dd 0x12000000
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047508f:
+db 0x0f
+dd 0x00000000
+dd 0xff000000
+dd 0x00ffffff
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047509f:
+db 0x13
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_004750a7:
+db 0x14
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_004750af:
+db 0x15
+dd 0x00000000
+dd 0xff000000
+dd 0x00ffffff
+db 0x00
+db 0x00
+db 0x00
+
+ref_004750bf:
+db 0x16
+dd 0x00000000
+dd 0x17000000
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_004750cf:
+db 0x18
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_004750d7:
+db 0x0f
+dd 0x00000000
+dd 0xff000000
+dd 0x00ffffff
+dd 0x00000000
+
+ref_004750e8:
+dd ref_004637a4
+dd ref_004637ae
+dd ref_004637bb
+dd ref_004637c5
+
+ref_004750f8:
+dd 0x00000019
+dd 0x00000000
+
+ref_00475100:
+dd 0x0000001a
+dd 0x00000000
+dd 0xffffffff
+dd 0x00000000
+
+ref_00475110:
+dd 0x00000000
+
+ref_00475114:
+dd 0x00000000
+
+ref_00475118:
+dd 0x00000000
+
+ref_0047511c:
+dd ref_004637e8
+dd ref_004637ef
+dd ref_004637f6
+dd ref_004637fd
+dd ref_00463804
+dd ref_0046380b
+dd ref_00463812
+
+ref_00475138:
+dd ref_00463819
+dd ref_00463820
+dd ref_00463827
+dd ref_0046382e
+dd ref_00463835
+dd ref_0046383e
+
+ref_00475150:
+dd ref_00463847
+dd ref_0046384e
+dd ref_00463855
+dd ref_0046385e
+dd ref_00463865
+
+ref_00475164:
+dd ref_0046386c
+dd ref_00463871
+dd ref_00463876
+dd ref_0046387b
+dd ref_00463880
+dd ref_00463885
+
+ref_0047517c:
+dd ref_0046388a
+dd ref_00463891
+
+ref_00475184:
+dd ref_00463898
+dd ref_0046389f
+dd ref_004638a6
+dd ref_004638ad
+dd ref_004638b4
+dd ref_004638bb
+dd ref_004638c2
+dd ref_004638c9
+dd ref_004638d0
+dd ref_004638d5
+dd ref_004638da
+
+ref_004751b0:
+dd 0x00000000
+
+ref_004751b4:
+dd 0xffff0000
+dd 0xffff4afb
+dd 0xffff4afb
+dd 0xffff0000
+dd 0x00000000
+dd 0xffff4afb
+dd 0x0000b505
+dd 0x00000000
+dd 0x00010000
+dd 0x0000b505
+dd 0x0000b505
+dd 0x00010000
+dd 0x00000000
+dd 0x0000b505
+dd 0xffff4afb
+
+ref_004751f0:
+dd 0x00000000
+dd 0x00020000
+dd 0x00010000
+dd 0x00000600
+dd 0x00000300
+dd 0x00000100
+
+ref_00475208:
+dd 0x001c0004
+dd 0x0043002f
+dd 0x006c0057
+dd 0x0076005f
+
+ref_00475218:
+dd 0x00000003
+dd 0x02010101
+dd 0x03030202
+
+ref_00475224:
+dd 0x00000004
+
+ref_00475228:
+dd 0x0000000c
+dd 0x0000000c
+dd 0x0000000c
+dd 0x00000008
+dd 0x00000006
+dd 0xfffffffc
+dd 0xfffffffa
+dd 0xfffffff4
+dd 0xfffffff4
+dd 0xffffffe8
+dd 0xfffffff4
+dd 0xffffffec
+dd 0xfffffffa
+dd 0xfffffff4
+dd 0x00000006
+
+ref_00475264:
+dd 0x00000005
+dd 0x00000003
+dd 0x00000002
+
+ref_00475270:
+dd 0x00000000
+
+ref_00475274:
+dd ref_004638e1
+dd ref_004638e6
+dd ref_004638eb
+dd ref_004638f0
+
+ref_00475284:
+dd 0x000000b4
+
+ref_00475288:
+db 0x78
+db 0x00
+db 0x00
+
+ref_0047528b:
+db 0x00
+db 0x05
+db 0x0c
+
+ref_0047528e:
+db 0x02
+db 0x06
+dd 0x03070800
+dd 0x00000002
+db 0x00
+
+ref_00475299:
+db 0x09
+db 0x00
+db 0x0a
+dd 0x0a0a0a0a
+dd 0x100a0a0a
+dd 0x0a101010
+db 0x0a
+db 0x0a
+
+ref_004752aa:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_004752ae:
+db 0x18
+db 0x01
+
+ref_004752b0:
+db 0x00
+db 0x00
+
+ref_004752b2:
+db 0x50
+db 0x00
+
+ref_004752b4:
+dd 0x00000000
+
+ref_004752b8:
+dd 0x00e300c3
+db 0x03
+db 0x01
+
+ref_004752be:
+db 0x1f
+db 0x01
+
+ref_004752c0:
+db 0x6a
+db 0x00
+
+ref_004752c2:
+db 0x7f
+db 0x01
+
+ref_004752c4:
+dd 0x011f007c
+dd 0x017f0089
+dd 0x011f009b
+dd 0x017f00c2
+dd 0x011f00d4
+dd 0x017f00e2
+dd 0x011f00f4
+dd 0x017f0103
+dd 0x012a0115
+dd 0x01350148
+dd 0x0188015e
+dd 0x01930148
+dd 0x012a015e
+dd 0x01350169
+dd 0x0188017f
+dd 0x01930169
+dd 0x01df017f
+dd 0x0207009f
+dd 0x01df00d7
+dd 0x020700f7
+dd 0x0136012f
+dd 0x01860147
+dd 0x0136015f
+dd 0x01860168
+
+ref_00475324: ; may contain a jump table
+dd 0x00000180
+dd fcn_0041e6fe
+dd fcn_0041e779
+dd fcn_0041e9e2
+dd fcn_0041eae2
+dd fcn_0041e6e3
+dd fcn_0041e6e3
+dd fcn_0041ed3e
+dd fcn_0041ef26
+dd fcn_0041f037
+dd fcn_0041f1b3
+dd fcn_0041f400
+dd fcn_0041f6a9
+dd fcn_0041f901
+dd fcn_0041facc
+dd fcn_0041fe4e
+dd fcn_0041fe6f
+dd fcn_0041fe6f
+dd fcn_0041e6e3
+dd fcn_0041e6e3
+dd fcn_0041e6e3
+dd fcn_0041e6e3
+dd fcn_0041ff77
+dd fcn_0041fff8
+dd fcn_00420055
+dd fcn_004200ea
+dd fcn_004202d2
+dd fcn_0042040e
+dd fcn_0042062b
+dd fcn_004207cc
+
+ref_0047539c: ; may contain a jump table
+dd fcn_00420970
+dd fcn_00420efa
+dd fcn_0042107f
+dd fcn_004213c5
+dd fcn_00421574
+dd fcn_00421644
+dd fcn_00421675
+dd fcn_00421717
+dd fcn_00421827
+dd fcn_00421ba6
+dd fcn_00420edf
+dd fcn_00421cb6
+dd fcn_00421e20
+dd fcn_00421e62
+
+ref_004753d4:
+dd ref_00463d50
+dd ref_00463d57
+dd ref_00463d5e
+dd ref_00463d65
+dd ref_00463d6c
+
+ref_004753e8:
+dd ref_00463d73
+dd ref_00463d7a
+dd ref_00463d83
+dd ref_00463d8a
+dd ref_00463d91
+
+ref_004753fc:
+dd 0x00000000
+
+ref_00475400:
+dd 0x00000000
+
+ref_00475404:
+dd 0x00000000
+
+ref_00475408:
+dd 0x00000000
+
+ref_0047540c:
+dd ref_00463d98
+dd ref_00463da1
+dd ref_00463daa
+
+ref_00475418:
+dd ref_00463db3
+dd ref_00463dba
+dd ref_00463dc1
+dd ref_00463dc8
+dd ref_00463dcf
+dd ref_00463dd6
+dd ref_00463ddd
+dd ref_00463de4
+dd ref_00463deb
+dd ref_00463d6c
+dd ref_00463d65
+dd ref_00463df2
+
+ref_00475448:
+dd ref_00463df9
+dd ref_00463e02
+dd ref_00463e0b
+
+ref_00475454:
+db 0xa8
+db 0x00
+
+ref_00475456:
+db 0x08
+db 0x01
+
+ref_00475458:
+db 0x64
+db 0x01
+
+ref_0047545a:
+db 0xc0
+db 0x01
+
+ref_0047545c:
+db 0x1c
+db 0x02
+
+ref_0047545e:
+db 0xcc
+db 0x00
+
+ref_00475460:
+db 0x4c
+db 0x01
+
+ref_00475462:
+db 0xdc
+db 0x01
+
+ref_00475464:
+dd 0x00000000
+dd 0x0000000d
+dd 0x0000000e
+dd 0x0000000f
+dd 0x00000010
+dd 0x00000011
+dd 0x00000012
+dd 0x00000013
+dd 0x00000014
+dd 0x00000015
+dd 0x00000016
+dd 0x00000000
+dd 0x00000017
+dd 0x00000000
+dd 0x00000000
+dd 0x00000018
+dd 0x00000018
+
+ref_004754a8:
+db 0xff
+db 0xff
+db 0xff
+
+ref_004754ab:
+db 0xff
+dd 0x06060807
+
+ref_004754b0:
+db 0x93
+db 0x00
+
+ref_004754b2:
+db 0xe7
+db 0x00
+
+ref_004754b4:
+db 0x3f
+db 0x01
+
+ref_004754b6:
+db 0x8b
+db 0x01
+
+ref_004754b8:
+db 0xd7
+db 0x01
+
+ref_004754ba:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_004754be:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_004754c2:
+db 0xff
+db 0xff
+dd 0x0000ffff
+
+ref_004754c8:
+dd 0x00000010
+
+ref_004754cc:
+dd 0x00000009
+
+ref_004754d0:
+dd 0x0000007c
+
+ref_004754d4:
+dd 0x00000027
+dd 0x00000080
+dd 0x00000009
+dd 0x000000c6
+dd 0x00000027
+dd 0x000000ca
+dd 0x00000009
+dd 0x00000110
+dd 0x00000027
+dd 0x00000114
+dd 0x00000009
+dd 0x0000019a
+dd 0x00000027
+dd 0x00000228
+dd 0x00000008
+dd 0x0000026f
+dd 0x00000028
+
+ref_00475518:
+dd ref_00463f64
+dd ref_00463f69
+dd ref_00463f6e
+
+ref_00475524:
+dd ref_00463f73
+dd ref_00463f79
+dd ref_00463f7f
+
+ref_00475530:
+dd 0x0507000b
+dd 0x00030906
+dd 0x000a0400
+dd 0x0507000b
+dd 0x00030906
+dd 0x000a0400
+dd 0x0508000b
+dd 0x00030906
+dd 0x000a0400
+dd 0x0507000b
+dd 0x00030906
+dd 0x000a0400
+dd 0x0c07000b
+dd 0x00030906
+dd 0x000a0400
+dd 0x0e07170b
+dd 0x00030906
+dd 0x0f0a0400
+dd 0x0d07000b
+dd 0x00030906
+dd 0x000a0400
+dd 0x0507180b
+dd 0x00030906
+dd 0x000a0400
+
+ref_00475590:
+dd 0x00000028
+dd 0x00000000
+
+ref_00475598:
+dd 0x00000029
+dd 0x00000000
+dd 0xffffffff
+dd 0x00000000
+
+ref_004755a8:
+dd 0x0000003d
+dd 0x00000000
+dd 0xffffffff
+dd 0x00000000
+
+ref_004755b8:
+dd 0x05070807
+
+ref_004755bc:
+dd 0x17151615
+
+ref_004755c0:
+db '<BF',0x00
+
+ref_004755c4:
+db '[BF',0x00
+
+ref_004755c8:
+db 'zBF',0x00
+
+ref_004755cc:
+dd ref_00464295
+
+ref_004755d0:
+dd ref_004642b4
+dd 0x00000000
+dd ref_004642c8
+dd ref_004642df
+dd ref_004642f8
+dd ref_00464315
+dd ref_00464334
+dd ref_00464344
+
+ref_004755f0:
+dd 0x00060107
+dd 0x00000203
+
+ref_004755f8:
+dd ref_00464394
+
+ref_004755fc:
+dd ref_004643b6
+
+ref_00475600:
+dd ref_004643de
+dd ref_004643f9
+dd ref_0046440f
+dd ref_0046442e
+
+ref_00475610:
+db '@DF',0x00
+
+ref_00475614:
+db 'kDF',0x00
+
+ref_00475618:
+dd ref_00464495
+
+ref_0047561c:
+dd ref_004644b2
+
+ref_00475620:
+dd ref_004644cd
+
+ref_00475624:
+dd ref_004644ee
+
+ref_00475628:
+dd ref_00464512
+
+ref_0047562c:
+db '0EF',0x00
+
+ref_00475630:
+dd ref_00464542
+dd ref_0046454e
+dd ref_0046455c
+dd ref_00464568
+dd ref_00464574
+dd ref_00464580
+dd ref_0046458e
+dd ref_0046459c
+dd ref_004645a6
+dd ref_004645b0
+dd ref_004645bc
+dd ref_004645c8
+
+ref_00475660:
+db 0x03
+db 0x04
+db 0x03
+
+ref_00475663:
+db 0x08
+db 0x07
+db 0x08
+db 0x0a
+
+ref_00475667:
+db 0x10
+db 0x11
+db 0x10
+db 0x0f
+
+ref_0047566b:
+db 0x1f
+dd 0x00000000
+dd 0xff000000
+dd 0x00ffffff
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047567b:
+db 0x39
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_00475683:
+db 0x3a
+dd 0x00000000
+dd 0xff000000
+dd 0x00ffffff
+dd 0x00000000
+
+ref_00475694:
+dd ref_004645e4
+
+ref_00475698:
+dd ref_0046460b
+
+ref_0047569c:
+db '%FF',0x00
+
+ref_004756a0:
+db '?FF',0x00
+
+ref_004756a4:
+db 'SFF',0x00
+
+ref_004756a8:
+db 'gFF',0x00
+
+ref_004756ac:
+dd ref_00464688
+dd ref_004646a4
+dd ref_004646b8
+
+ref_004756b8:
+dd ref_004646cc
+dd ref_004646de
+dd ref_004646f0
+dd ref_00464702
+dd ref_00464714
+dd ref_00464726
+dd ref_00464738
+dd ref_00464746
+dd ref_00464756
+dd ref_00464766
+dd ref_00464778
+
+ref_004756e4:
+dd ref_00464786
+
+ref_004756e8:
+dd 0x005b0142
+dd 0x0052019e
+dd 0x009d01c5
+dd 0x00f201fd
+dd 0x013a01ca
+dd 0x0183019f
+dd 0x018a0142
+dd 0x018900ef
+
+ref_00475708:
+dd 0x013c00bc
+
+ref_0047570c:
+dd 0x00de0083
+
+ref_00475710:
+dd 0x00a100b8
+
+ref_00475714:
+dd 0x005300e1
+dd 0x00000009
+dd 0x000000d0
+dd 0x000000a7
+
+ref_00475724:
+dd ref_00464794
+dd 0x0000000a
+dd 0x000001fe
+dd 0x00000096
+dd ref_004647a1
+dd 0x00000007
+dd 0x00000221
+dd 0x00000058
+dd ref_004647ae
+dd 0x00000007
+dd 0x00000238
+dd 0x00000093
+dd ref_004647bb
+dd 0x00000007
+dd 0x00000226
+dd 0x000000ea
+dd ref_004647ca
+dd 0x00000007
+dd 0x000001fe
+dd 0x00000140
+dd ref_004647d7
+dd 0x00000007
+dd 0x000001a6
+dd 0x00000140
+dd ref_004647e4
+dd 0x00000006
+dd 0x00000086
+dd 0x0000013e
+dd ref_004647ef
+dd 0x00000006
+dd 0x0000005c
+dd 0x000000fa
+dd ref_004647f6
+dd 0x00000006
+dd 0x00000048
+dd 0x00000082
+dd ref_00464803
+dd 0x00000006
+dd 0x0000004d
+dd 0x00000055
+dd ref_00464810
+dd 0x00000009
+dd 0x0000007a
+dd 0x0000009a
+dd ref_0046481d
+
+ref_004757d8:
+dd 0x014a00ee
+dd 0x00d30000
+db 0x1c
+db 0x01
+db 0x65
+
+ref_004757e3:
+db 0x01
+
+ref_004757e4:
+db 0x00
+db 0x00
+db 0x00
+
+ref_004757e7:
+db 0x27
+dd 0x00000000
+dd 0xff000000
+dd 0x00ffffff
+dd 0x00000000
+
+ref_004757f8:
+db 0x24
+db 0x02
+
+ref_004757fa:
+db 0xaf
+db 0x01
+
+ref_004757fc:
+db 0x74
+db 0x02
+
+ref_004757fe:
+db 0xd7
+db 0x01
+dd 0x0144011a
+dd 0x016e0198
+dd 0x014601d6
+dd 0x016e024e
+
+ref_00475810:
+db 0x0c
+db 0x01
+
+ref_00475812:
+db 0x33
+db 0x00
+
+ref_00475814:
+db 0x4f
+db 0x02
+
+ref_00475816:
+db 0x11
+db 0x01
+
+ref_00475818:
+db 0x0b
+db 0x00
+
+ref_0047581a:
+db 0x31
+db 0x01
+
+ref_0047581c:
+db 0x7d
+db 0x00
+
+ref_0047581e:
+db 0x59
+db 0x01
+dd 0x016a000b
+dd 0x0192007d
+dd 0x01a3000b
+dd 0x01cb005b
+
+ref_00475830:
+db 'LHF',0x00
+
+ref_00475834:
+dd ref_00464867
+dd ref_00464880
+
+ref_0047583c:
+dd ref_0046489f
+
+ref_00475840:
+dd ref_004648bc
+
+ref_00475844:
+dd ref_004648d9
+
+ref_00475848:
+dd ref_004648f6
+
+ref_0047584c:
+dd ref_0046491a
+
+ref_00475850:
+db '9IF',0x00
+
+ref_00475854:
+db 'VIF',0x00
+
+ref_00475858:
+db 'qIF',0x00
+
+ref_0047585c:
+dd ref_00464985
+
+ref_00475860:
+dd ref_004649a8
+dd ref_004649c5
+
+ref_00475868:
+dd ref_004649e4
+
+ref_0047586c:
+dd ref_00464a01
+
+ref_00475870:
+dd ref_00464a1b
+
+ref_00475874:
+dd 0x00000000
+
+ref_00475878:
+db '-JF',0x00
+
+ref_0047587c:
+db 'KJF',0x00
+
+ref_00475880:
+dd 0x05070607
+
+ref_00475884:
+dd 0x000c0b0c
+
+ref_00475888:
+db 0x39
+db 0x00
+
+ref_0047588a:
+db 0x31
+db 0x00
+
+ref_0047588c:
+db 0x89
+db 0x00
+
+ref_0047588e:
+db 0x5a
+db 0x00
+dd 0x0031008b
+dd 0x005a00db
+dd 0x003100dd
+dd 0x005a0108
+dd 0x00890035
+dd 0x00a6010c
+dd 0x00d3003a
+dd 0x00e4005b
+dd 0x00d30061
+dd 0x00e40082
+dd 0x00d30088
+dd 0x00e400a9
+dd 0x00e6003a
+dd 0x00f7005b
+dd 0x00e60061
+dd 0x00f70082
+dd 0x00e60088
+dd 0x00f700a9
+dd 0x00f9003a
+dd 0x010a005b
+dd 0x00f90061
+dd 0x010a0082
+dd 0x00f90088
+dd 0x010a00a9
+dd 0x010c003a
+dd 0x011d005b
+dd 0x010c0061
+dd 0x011d0082
+dd 0x010c0088
+dd 0x011d00a9
+dd 0x00e900b7
+dd 0x010200e8
+dd 0x010400af
+
+ref_00475914:
+dd 0x011d00e8
+
+ref_00475918:
+dd 0x34393837
+dd 0x32313635
+dd 0x30303033
+dd 0x00000000
+dd 0x01680078
+dd 0x00000000
+
+ref_00475930:
+dd 0x00f00064
+dd 0x0000017c
+dd 0x00b4003c
+dd 0x01a4012c
+dd 0x01ea0197
+dd 0x00000000
+
+ref_00475948:
+dd 0x01970144
+dd 0x000001ea
+dd 0x01970144
+dd 0x023d01ea
+dd 0x019e014e
+dd 0x00000000
+
+ref_00475960:
+dd 0x014e0103
+dd 0x0000019e
+dd 0x014e0103
+dd 0x01ee019e
+dd 0x00110010
+dd 0x00000000
+dd 0x0010000f
+dd 0x00000011
+dd 0x0010000f
+dd 0x00120011
+
+ref_00475988:
+dd ref_00464c30
+dd ref_00464c3c
+dd ref_00464c4a
+dd ref_00464c56
+dd ref_00464c62
+dd ref_00464c6e
+dd ref_00464c7c
+dd ref_00464c8a
+dd ref_00464c94
+dd ref_00464c9e
+dd ref_00464caa
+dd ref_00464cb6
+
+ref_004759b8:
+dd ref_00464cc2
+dd ref_00464cce
+dd ref_00464cdc
+dd ref_00464ce8
+dd ref_00464cf4
+dd ref_00464d00
+dd ref_00464d0e
+dd ref_00464d1c
+dd ref_00464d26
+dd ref_00464d30
+dd ref_00464d3c
+dd ref_00464d48
+
+ref_004759e8:
+dd 0x1c151415
+dd 0x21221c1b
+dd 0x00000022
+db 0x27
+db 0x28
+db 0x27
+
+ref_004759f7:
+db 0xce
+db 0xff
+db 0xff
+db 0xff
+
+ref_004759fb:
+db 0xa2
+db 0xff
+db 0xff
+db 0xff
+
+ref_004759ff:
+db 0x03
+db 0x06
+db 0x00
+db 0x00
+
+ref_00475a03:
+db 0xb3
+db 0xff
+db 0xff
+db 0xff
+
+ref_00475a07:
+db 0x6c
+db 0xff
+db 0xff
+db 0xff
+
+ref_00475a0b:
+db 0x03
+dd 0xd0000000
+dd 0x9fffffff
+dd 0x03ffffff
+dd 0xd0000004
+dd 0xa6ffffff
+dd 0x03ffffff
+dd 0xda000006
+dd 0x9fffffff
+dd 0x03ffffff
+dd 0xce000006
+dd 0xa9ffffff
+dd 0x03ffffff
+dd 0xe1000006
+dd 0xc3ffffff
+dd 0x03ffffff
+dd 0xc0000006
+dd 0x93ffffff
+dd 0x03ffffff
+dd 0xd7000003
+dd 0xa9ffffff
+dd 0x03ffffff
+dd 0xd6000004
+dd 0xb3ffffff
+dd 0x03ffffff
+dd 0xd4000006
+dd 0xb4ffffff
+dd 0x03ffffff
+dd 0xe1000004
+dd 0xc4ffffff
+dd 0x03ffffff
+dd 0xdc000002
+dd 0x9cffffff
+dd 0x03ffffff
+dd 0xdc000006
+dd 0x99ffffff
+dd 0x03ffffff
+dd 0xce000006
+dd 0xa7ffffff
+dd 0x03ffffff
+dd 0xce000004
+dd 0xa9ffffff
+dd 0x03ffffff
+dd 0xcd000000
+dd 0xa6ffffff
+dd 0x03ffffff
+dd 0xcd000004
+dd 0xa4ffffff
+dd 0x03ffffff
+dd 0xe1000000
+dd 0xc4ffffff
+dd 0x03ffffff
+dd 0xcd000004
+dd 0xa1ffffff
+dd 0x03ffffff
+dd 0x99000003
+dd 0x44ffffff
+dd 0x03ffffff
+dd 0xd9000004
+dd 0xa9ffffff
+dd 0x03ffffff
+dd 0xd8000006
+dd 0xb5ffffff
+dd 0x03ffffff
+dd 0xd8000004
+dd 0xb5ffffff
+dd 0x03ffffff
+db 0x04
+db 0x00
+db 0x00
+
+ref_00475b17:
+db 0x1b
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_00475b1f:
+db 0x1c
+dd 0x00000000
+db 0x00
+db 0x00
+db 0x00
+
+ref_00475b27:
+db 0x3c
+dd 0x00000000
+dd 0xff000000
+dd 0x00ffffff
+
+ref_00475b34:
+dd 0x00000000
+dd ref_00464ea8
+dd ref_00464eaf
+dd ref_00464eb6
+dd ref_00464ebd
+dd ref_00464ec4
+dd ref_00464ecb
+dd ref_00464ed2
+
+ref_00475b54:
+dd ref_00464ed7
+dd ref_00464ef1
+dd ref_00464f0d
+dd ref_00464f27
+dd ref_00464f41
+dd ref_00464f5b
+dd ref_00464f77
+dd ref_00464f93
+dd ref_00464fab
+dd ref_00464fc3
+dd ref_00464fdd
+dd ref_00464ff7
+
+ref_00475b84:
+dd 0x00000085
+dd 0x000000b5
+dd 0x000000e5
+dd 0x00000115
+dd 0x00000145
+dd 0x00000175
+dd 0x000001a5
+
+ref_00475ba0:
+db 0x1a
+db 0x1b
+
+ref_00475ba2:
+db 0x1a
+
+ref_00475ba3:
+db 0x12
+dd 0x00641213
+dd 0x01f40000
+dd 0x03e80000
+dd 0x13880000
+dd 0x27100000
+db 0x00
+db 0x00
+
+ref_00475bba:
+db 0x1d
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00475bc2:
+db 0x3f
+db 0x00
+dd 0x00000000
+dd 0xffff0000
+dd 0x0000ffff
+db 0x00
+db 0x00
+
+ref_00475bd2:
+db 0x86
+db 0x00
+dd 0x00a70000
+dd 0x00970000
+dd 0x00330000
+db 0x00
+db 0x00
+
+ref_00475be2:
+db 0x96
+db 0x00
+
+ref_00475be4:
+dd 0x00b70000
+dd 0x00a70000
+dd 0x003e0000
+dd 0x00000000
+dd ref_004650b4
+dd ref_004650d7
+dd ref_004650fa
+dd ref_0046511d
+
+ref_00475c04:
+dd 0x00000021
+
+ref_00475c08:
+dd 0x00000018
+dd 0x000000b9
+dd 0x00000018
+dd 0x00000150
+dd 0x00000018
+dd 0x000001e7
+dd 0x00000018
+dd 0x00000021
+dd 0x000000b7
+dd 0x000000b9
+dd 0x000000b7
+dd 0x00000150
+dd 0x000000b7
+dd 0x000001e7
+dd 0x000000b7
+
+ref_00475c44:
+dd 0x0000001e
+dd 0x0000001e
+dd 0x0000001e
+dd 0x0000001e
+dd 0x0000012c
+dd 0x0000012c
+dd 0x0000012c
+dd 0x0000012c
+
+ref_00475c64:
+db ')',0x01,0x00,0x00
+
+ref_00475c68:
+dd 0x00000001
+dd 0x00000129
+dd 0x00000079
+dd 0x00000129
+dd 0x000000f1
+dd 0x00000129
+dd 0x00000169
+dd 0x000001e1
+dd 0x00000001
+dd 0x000001e1
+dd 0x00000079
+dd 0x000001e1
+dd 0x000000f1
+dd 0x000001e1
+dd 0x00000169
+
+ref_00475ca4:
+dd 0x0000001e
+dd 0x0000001e
+dd 0x0000001e
+dd 0x0000001e
+dd 0x0000012c
+dd 0x0000012c
+dd 0x0000012c
+dd 0x0000012c
+
+ref_00475cc4:
+dd ref_00465170
+dd ref_00465197
+
+ref_00475ccc:
+dd ref_004651a5
+
+ref_00475cd0:
+dd ref_004651ca
+
+ref_00475cd4:
+dd ref_004651de
+
+ref_00475cd8:
+db 0x05
+db 0x06
+db 0x05
+
+ref_00475cdb:
+db 0x0a
+dd 0x00000a0b
+
+ref_00475ce0:
+dd 0x0000013d
+dd 0x0000012a
+
+ref_00475ce8:
+dd 0x00b60091
+dd 0x010000db
+dd 0x00a30000
+dd 0x00ed00c8
+
+ref_00475cf8:
+dd ref_00465210
+dd ref_00465224
+dd ref_0046523c
+dd ref_0046525c
+dd ref_00465272
+
+ref_00475d0c:
+dd 0xff00ff01
+dd 0xff02ff01
+dd 0xff02ff03
+dd 0xff01ffff
+dd 0x03ff04ff
+dd 0xff02ffff
+dd 0xff06ff01
+dd 0xff04ff05
+dd 0xff02ff03
+dd 0xff03ff05
+dd 0xff14ff1e
+dd 0xff0aff0f
+
+ref_00475d3c:
+dd 0x00000033
+dd 0x00000000
+dd 0xffffffff
+dd 0x00000000
+
+ref_00475d4c:
+dd 0x00000034
+dd 0x00000000
+dd 0xffffffff
+dd 0x00000000
+
+ref_00475d5c: ; may contain a jump table
+db 0x00
+
+ref_00475d5d:
+db 0x00
+
+ref_00475d5e:
+db 0x00
+db 0x00
+dd fcn_004420d8
+dd fcn_004421b4
+dd fcn_00442325
+dd fcn_00442622
+dd fcn_00442b02
+dd fcn_00442f4d
+dd fcn_0044309b
+dd fcn_00443225
+dd fcn_004434c0
+dd fcn_004436e0
+dd fcn_00443917
+dd fcn_00443b0f
+dd fcn_00443e3d
+dd fcn_00443f80
+dd fcn_004440ea
+dd fcn_004441dc
+dd fcn_004444bf
+dd fcn_004420d5
+dd fcn_004420d5
+dd fcn_004420d5
+dd fcn_004420d5
+dd fcn_00444c45
+dd fcn_00444e1a
+dd fcn_00444f25
+dd fcn_0044503f
+dd fcn_004451f0
+dd fcn_0044542d
+dd fcn_00445593
+dd fcn_00445710
+dd fcn_004458df
+
+ref_00475dd8: ; may contain a jump table
+db 0x00
+dd fcn_00446afb
+dd fcn_00446baa
+dd fcn_00446c88
+dd fcn_00446d69
+dd fcn_00446e4a
+dd fcn_00446f05
+dd fcn_00446fbc
+dd fcn_004470f8
+dd fcn_00447295
+dd fcn_00447387
+dd fcn_00447428
+dd fcn_004479d2
+dd fcn_00447ace
+
+ref_00475e0d:
+dd fcn_00447c00
+db 0x22
+db 0x00
+db 0x00
+dd 0x00002800
+dd 0x00002600
+dd 0x00002400
+dd 0x00000000
+
+ref_00475e24: ; may contain a jump table
+dd fcn_00448eca
+dd fcn_00448f45
+dd fcn_00449006
+dd fcn_00449081
+dd fcn_0044913d
+dd fcn_004492a0
+dd fcn_004494e0
+dd fcn_00449735
+dd fcn_004498b3
+dd fcn_00449a8a
+dd fcn_00449b9c
+dd fcn_00449c7c
+dd fcn_00449de6
+dd fcn_0044a029
+dd fcn_0044a220
+dd fcn_0044a453
+dd fcn_0044a5d6
+dd fcn_0044a657
+dd fcn_0044a6e0
+dd fcn_0044a91e
+dd fcn_0044ab2c
+dd fcn_0044ac99
+dd fcn_0044ae89
+dd fcn_0044aedb
+dd fcn_0044b00a
+dd fcn_0044b055
+dd fcn_0044b0a0
+dd fcn_0044b0d1
+dd fcn_0044b1a3
+dd fcn_0044b25b
+dd fcn_0044b374
+dd fcn_0044b419
+dd fcn_0044b4a8
+dd fcn_0044b53f
+dd fcn_0044b57d
+dd fcn_0044b5f5
+
+ref_00475eb4:
+dd 0x00000000
+dd 0x01010000
+dd 0x01010101
+dd 0x02020101
+dd 0x04040303
+dd 0x05050404
+dd 0x05050505
+dd 0x05050505
+dd 0x05050505
+
+ref_00475ed8:
+dd ref_004653ec
+dd ref_004653f7
+dd ref_00465400
+dd ref_00465409
+dd ref_00465412
+dd ref_0046541b
+
+ref_00475ef0: ; may contain a jump table
+dd fcn_0044be16
+dd fcn_0044bfb1
+dd fcn_0044c0e8
+dd fcn_0044c229
+dd fcn_0044c2c2
+dd fcn_0044c3b7
+dd fcn_0044c5d8
+dd fcn_0044c6ed
+dd fcn_0044c7ef
+dd fcn_0044c91f
+dd fcn_0044ca46
+dd fcn_0044cb53
+dd fcn_0044cc53
+dd fcn_0044cd6c
+dd fcn_0044cd99
+dd fcn_0044cf1e
+dd fcn_0044d06d
+dd fcn_0044d0d6
+dd fcn_0044d1a5
+dd fcn_0044d1e0
+dd fcn_0044d224
+dd fcn_0044d33b
+dd fcn_0044d3db
+dd fcn_0044d41e
+dd fcn_0044d462
+dd fcn_0044d4a6
+dd fcn_0044d4e7
+dd fcn_0044d52b
+dd fcn_0044d56e
+dd fcn_0044d5b1
+dd fcn_0044d5f4
+dd fcn_0044d636
+dd fcn_0044d677
+dd fcn_0044d783
+dd fcn_0044d8cf
+dd fcn_0044d8fd
+dd fcn_0044d92b
+dd fcn_0044d959
+dd fcn_0044d987
+dd fcn_0044d9b5
+dd fcn_0044d9e3
+dd fcn_0044da11
+dd fcn_0044da3f
+dd fcn_0044da6d
+dd fcn_0044da9b
+dd fcn_0044dac9
+dd fcn_0044daf7
+dd fcn_0044db25
+dd fcn_0044db53
+
+ref_00475fb4:
+dd 0x01de01dd
+dd 0x01e001df
+dd 0x01e201e1
+dd 0x01e401e3
+dd 0x01e601e5
+dd 0x01e801e7
+dd 0x01ea01e9
+dd 0x01ec01eb
+dd 0x01ee01ed
+dd 0x01f001ef
+dd 0x01f101f1
+dd 0x01f201f1
+dd 0x01f301f2
+dd 0x01f501f4
+dd 0x01f501f5
+dd 0x01f701f6
+dd 0x01f901f8
+dd 0x01fb01fa
+dd 0x01f901fc
+dd 0x01fe01fd
+dd 0x020001ff
+dd 0x01fb01fa
+dd 0x02020201
+dd 0x01fe0203
+dd 0x00000204
+
+ref_00476018:
+dd 0x00000000
+
+ref_0047601c:
+dd 0x00000000
+
+ref_00476020:
+dd 0x00000000
+
+ref_00476024:
+dd 0x00000000
+
+ref_00476028:
+dd ref_00465dc0
+
+ref_0047602c:
+dd ref_00465dc9
+dd ref_00465dd2
+dd ref_00465ddb
+dd ref_00465de4
+dd ref_00465ded
+dd ref_00465df6
+
+ref_00476044:
+dd ref_00465dff
+dd ref_00465e04
+dd ref_00465e09
+dd ref_00465e0e
+dd ref_00465e13
+dd ref_00465e18
+dd ref_00465e1d
+dd ref_00465e22
+dd ref_00465e27
+dd ref_00465e2c
+dd ref_00465e31
+dd ref_00465e36
+
+ref_00476074:
+dd ref_00465e3b
+dd ref_00465e44
+dd ref_00465e4d
+
+ref_00476080:
+dd ref_00465e56
+dd ref_00465e5f
+dd ref_00465e09
+dd ref_00465e64
+dd ref_00465e6d
+dd ref_00465e76
+dd ref_00465e7b
+dd ref_00465e82
+dd ref_00465e8b
+dd ref_00465e94
+dd ref_00465e9d
+dd ref_00465ea2
+dd ref_00465ea7
+dd ref_00465eac
+dd ref_00465eb1
+dd ref_00465eb6
+
+ref_004760c0:
+dd ref_00465ebd
+dd ref_00465ec2
+dd ref_00465ec9
+dd ref_00465ed0
+dd ref_00465ed7
+dd ref_00465ede
+dd ref_00465ee5
+dd ref_00465eec
+dd ref_00465ef3
+dd ref_00465ef8
+dd ref_00465eff
+dd ref_00465f06
+dd ref_00465f0b
+dd ref_00465f10
+dd ref_00465f15
+dd ref_00465f1a
+dd ref_00465f1f
+dd ref_00465f24
+
+ref_00476108:
+dd ref_00465f29
+dd ref_00465f30
+dd ref_00465f37
+dd ref_00465f3e
+dd ref_00465f45
+dd ref_00465f4c
+dd ref_00465f53
+dd ref_00465f5a
+dd ref_00465f61
+dd ref_00465f68
+dd ref_00465f6f
+dd ref_00465f76
+dd ref_00465f7d
+dd ref_00465f84
+dd ref_00465f89
+dd ref_00465f90
+dd ref_00465f97
+dd ref_00465f9e
+dd ref_00465fa5
+dd ref_00465fac
+dd ref_00465fb3
+dd ref_00465fba
+dd ref_00465fc1
+dd ref_00465fc6
+dd ref_00465fcd
+dd ref_00465fd4
+dd ref_00465fdb
+dd ref_00465fe2
+dd ref_00465fe9
+dd ref_00465ff0
+
+ref_00476180:
+dd ref_00465ff7
+dd ref_00465ffe
+dd ref_00466003
+dd ref_00466008
+dd ref_00466011
+dd ref_00466016
+dd ref_0046601d
+dd ref_00466026
+dd ref_0046602d
+dd ref_00466032
+dd ref_0046603b
+dd ref_00466040
+dd ref_00466049
+
+ref_004761b4:
+db 'R`F',0x00
+
+ref_004761b8:
+db '(`G',0x00
+
+ref_004761bc:
+dd 0x00000001
+
+ref_004761c0:
+dd 0x00000001
+
+ref_004761c4:
+dd 0x00000000
+dd ref_0046605b
+dd ref_0047602c
+dd 0x00000002
+dd 0x00000006
+dd 0x00000000
+dd ref_00466064
+dd ref_00476044
+dd 0x00000008
+dd 0x0000000c
+dd 0x00000000
+dd ref_0046606d
+dd ref_00476074
+dd 0x00000014
+dd 0x00000003
+dd 0x00000000
+dd ref_00466076
+dd ref_00476080
+dd 0x00000017
+dd 0x00000010
+dd 0x00000000
+dd ref_0046607f
+dd ref_004760c0
+dd 0x00000027
+dd 0x00000012
+dd 0x00000000
+dd ref_00466088
+dd ref_00476108
+dd 0x00000039
+dd 0x0000001e
+dd 0x00000000
+dd ref_0046608f
+dd ref_00476180
+dd 0x00000057
+dd 0x0000000d
+dd 0x00000000
+
+ref_00476254:
+dd 0x00000016
+
+ref_00476258:
+dd 0x00000026
+
+ref_0047625c:
+dd 0x0000005b
+
+ref_00476260:
+dd 0x00000169
+dd 0x00000068
+dd 0x0000004e
+dd 0x000000c4
+dd 0x00000169
+
+ref_00476274:
+dd 0x000000aa
+
+ref_00476278:
+dd 0x0000002b
+
+ref_0047627c:
+dd 0x000000c0
+
+ref_00476280:
+dd 0x0000003a
+
+ref_00476284:
+dd 0x000000aa
+
+ref_00476288:
+dd 0x0000003b
+
+ref_0047628c:
+dd 0x000000c0
+
+ref_00476290:
+dd 0x0000004a
+
+ref_00476294:
+db 'B',0x01,0x00,0x00
+
+ref_00476298:
+dd 0x00000030
+dd 0x00000159
+dd 0x00000050
+
+ref_004762a4:
+db 'W',0x01,0x00,0x00
+
+ref_004762a8:
+dd 0x00000030
+dd 0x0000016e
+dd 0x00000050
+
+ref_004762b4:
+dd 0x00000000
+
+ref_004762b8:
+dd 0x00000000
+
+ref_004762bc:
+dd 0x00000000
+
+ref_004762c0:
+dd 0x00000000
+
+ref_004762c4:
+dd 0x00000000
+
+ref_004762c8:
+dd 0x00000000
+
+ref_004762cc:
+dd 0x00000000
+
+ref_004762d0:
+dd 0x00000000
+
+ref_004762d4:
+dd 0x00000000
+
+ref_004762d8:
+dd 0x00000000
+
+ref_004762dc:
+dd 0x00000000
+
+ref_004762e0:
+dd 0x00ffffff
+
+ref_004762e4:
+dd 0x00101010
+
+ref_004762e8:
+dd 0x00c80200
+dd 0x00000000
+
+ref_004762f0:
+dd 0x00000000
+
+ref_004762f4:
+dd 0xffffffff
+
+ref_004762f8:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00476374:
+db 'A:\',0x00
+
+ref_00476378:
+dd 0x00000000
+
+ref_0047637c:
+dd 0x00000000
+
+ref_00476380:
+dd 0x100c0804
+dd 0x0004080c
+dd 0xf0f4f8fc
+db 0xf4
+db 0xf8
+db 0xfc
+
+ref_0047638f:
+db 0x00
+dd 0x1e1f1c1f
+dd 0x1f1f1e1f
+dd 0x1f1e1f1e
+
+ref_0047639c:
+dd 0x07cd0c03
+dd 0x07cd0c04
+dd 0x07cd0c05
+dd 0x07cd0c06
+dd 0x07cd0c07
+dd 0x07cd0c08
+dd 0x07cd0c09
+dd 0x07cd0c0a
+dd 0x07cd0c0b
+dd 0x07cd0c0c
+dd 0x07cd0c0d
+dd 0x07cd0c0e
+dd 0x07cd0c0f
+dd 0x07cd0c10
+dd 0x07cd0c11
+dd 0x07cd0c12
+dd 0x07cd0c13
+dd 0x07cd0c14
+dd 0x07cd0c15
+dd 0x07cd0c16
+dd 0x07cd0c17
+dd 0x07cd0c18
+dd 0x07cd0c19
+dd 0x07cd0c1a
+dd 0x07cd0c1b
+dd 0x07cd0c1c
+dd 0x07cd0c1d
+dd 0x07ce0101
+dd 0x07ce0102
+dd 0x07ce0103
+dd 0x07ce0104
+dd 0x07ce0105
+dd 0x07ce0106
+dd 0x07ce0107
+dd 0x07ce0108
+dd 0x07ce0109
+dd 0x07ce010a
+dd 0x07ce010b
+dd 0x07ce010c
+dd 0x07ce010d
+dd 0x07ce010e
+dd 0x07ce010f
+dd 0x07ce0110
+dd 0x07ce0111
+dd 0x07ce0112
+dd 0x07ce0113
+dd 0x07ce0114
+dd 0x07ce0115
+dd 0x07ce0116
+dd 0x07ce0117
+dd 0x07ce0118
+dd 0x07ce0119
+dd 0x07ce011a
+dd 0x07ce011b
+dd 0x07ce011c
+dd 0x07ce011d
+dd 0x07ce011e
+dd 0x07ce0201
+dd 0x07ce0202
+dd 0x07ce0203
+dd 0x07ce0204
+dd 0x07ce0205
+dd 0x07ce0206
+dd 0x07ce0207
+dd 0x07ce0208
+dd 0x07ce0209
+dd 0x07ce020a
+dd 0x07ce020b
+dd 0x07ce020c
+dd 0x07ce020d
+dd 0x07ce020e
+dd 0x07ce020f
+dd 0x07ce0210
+dd 0x07ce0211
+dd 0x07ce0212
+dd 0x07ce0213
+dd 0x07ce0214
+dd 0x07ce0215
+dd 0x07ce0216
+dd 0x07ce0217
+dd 0x07ce0218
+dd 0x07ce0219
+dd 0x07ce021a
+dd 0x07ce021b
+dd 0x07ce021c
+dd 0x07ce021d
+dd 0x07ce0301
+dd 0x07ce0302
+dd 0x07ce0303
+dd 0x07ce0304
+dd 0x07ce0305
+dd 0x07ce0306
+dd 0x07ce0307
+dd 0x07ce0308
+dd 0x07ce0309
+dd 0x07ce030a
+dd 0x07ce030b
+dd 0x07ce030c
+dd 0x07ce030d
+dd 0x07ce030e
+dd 0x07ce030f
+dd 0x07ce0310
+dd 0x07ce0311
+dd 0x07ce0312
+dd 0x07ce0313
+dd 0x07ce0314
+dd 0x07ce0315
+dd 0x07ce0316
+dd 0x07ce0317
+dd 0x07ce0318
+dd 0x07ce0319
+dd 0x07ce031a
+dd 0x07ce031b
+dd 0x07ce031c
+dd 0x07ce031d
+dd 0x07ce0401
+dd 0x07ce0402
+dd 0x07ce0403
+dd 0x07ce0404
+dd 0x07ce0405
+dd 0x07ce0406
+dd 0x07ce0407
+dd 0x07ce0408
+dd 0x07ce0409
+dd 0x07ce040a
+dd 0x07ce040b
+dd 0x07ce040c
+dd 0x07ce040d
+dd 0x07ce040e
+dd 0x07ce040f
+dd 0x07ce0410
+dd 0x07ce0411
+dd 0x07ce0412
+dd 0x07ce0413
+dd 0x07ce0414
+dd 0x07ce0415
+dd 0x07ce0416
+dd 0x07ce0417
+dd 0x07ce0418
+dd 0x07ce0419
+dd 0x07ce041a
+dd 0x07ce041b
+dd 0x07ce041c
+dd 0x07ce041d
+dd 0x07ce041e
+dd 0x07ce0501
+dd 0x07ce0502
+dd 0x07ce0503
+dd 0x07ce0504
+dd 0x07ce0505
+dd 0x07ce0506
+dd 0x07ce0507
+dd 0x07ce0508
+dd 0x07ce0509
+dd 0x07ce050a
+dd 0x07ce050b
+dd 0x07ce050c
+dd 0x07ce050d
+dd 0x07ce050e
+dd 0x07ce050f
+dd 0x07ce0510
+dd 0x07ce0511
+dd 0x07ce0512
+dd 0x07ce0513
+dd 0x07ce0514
+dd 0x07ce0515
+dd 0x07ce0516
+dd 0x07ce0517
+dd 0x07ce0518
+dd 0x07ce0519
+dd 0x07ce051a
+dd 0x07ce051b
+dd 0x07ce051c
+dd 0x07ce051d
+dd 0x07ce0501
+dd 0x07ce0502
+dd 0x07ce0503
+dd 0x07ce0504
+dd 0x07ce0505
+dd 0x07ce0506
+dd 0x07ce0507
+dd 0x07ce0508
+dd 0x07ce0509
+dd 0x07ce050a
+dd 0x07ce050b
+dd 0x07ce050c
+dd 0x07ce050d
+dd 0x07ce050e
+dd 0x07ce050f
+dd 0x07ce0510
+dd 0x07ce0511
+dd 0x07ce0512
+dd 0x07ce0513
+dd 0x07ce0514
+dd 0x07ce0515
+dd 0x07ce0516
+dd 0x07ce0517
+dd 0x07ce0518
+dd 0x07ce0519
+dd 0x07ce051a
+dd 0x07ce051b
+dd 0x07ce051c
+dd 0x07ce051d
+dd 0x07ce0601
+dd 0x07ce0602
+dd 0x07ce0603
+dd 0x07ce0604
+dd 0x07ce0605
+dd 0x07ce0606
+dd 0x07ce0607
+dd 0x07ce0608
+dd 0x07ce0609
+dd 0x07ce060a
+dd 0x07ce060b
+dd 0x07ce060c
+dd 0x07ce060d
+dd 0x07ce060e
+dd 0x07ce060f
+dd 0x07ce0610
+dd 0x07ce0611
+dd 0x07ce0612
+dd 0x07ce0613
+dd 0x07ce0614
+dd 0x07ce0615
+dd 0x07ce0616
+dd 0x07ce0617
+dd 0x07ce0618
+dd 0x07ce0619
+dd 0x07ce061a
+dd 0x07ce061b
+dd 0x07ce061c
+dd 0x07ce061d
+dd 0x07ce061e
+dd 0x07ce0701
+dd 0x07ce0702
+dd 0x07ce0703
+dd 0x07ce0704
+dd 0x07ce0705
+dd 0x07ce0706
+dd 0x07ce0707
+dd 0x07ce0708
+dd 0x07ce0709
+dd 0x07ce070a
+dd 0x07ce070b
+dd 0x07ce070c
+dd 0x07ce070d
+dd 0x07ce070e
+dd 0x07ce070f
+dd 0x07ce0710
+dd 0x07ce0711
+dd 0x07ce0712
+dd 0x07ce0713
+dd 0x07ce0714
+dd 0x07ce0715
+dd 0x07ce0716
+dd 0x07ce0717
+dd 0x07ce0718
+dd 0x07ce0719
+dd 0x07ce071a
+dd 0x07ce071b
+dd 0x07ce071c
+dd 0x07ce071d
+dd 0x07ce071e
+dd 0x07ce0801
+dd 0x07ce0802
+dd 0x07ce0803
+dd 0x07ce0804
+dd 0x07ce0805
+dd 0x07ce0806
+dd 0x07ce0807
+dd 0x07ce0808
+dd 0x07ce0809
+dd 0x07ce080a
+dd 0x07ce080b
+dd 0x07ce080c
+dd 0x07ce080d
+dd 0x07ce080e
+dd 0x07ce080f
+dd 0x07ce0810
+dd 0x07ce0811
+dd 0x07ce0812
+dd 0x07ce0813
+dd 0x07ce0814
+dd 0x07ce0815
+dd 0x07ce0816
+dd 0x07ce0817
+dd 0x07ce0818
+dd 0x07ce0819
+dd 0x07ce081a
+dd 0x07ce081b
+dd 0x07ce081c
+dd 0x07ce081d
+dd 0x07ce0901
+dd 0x07ce0902
+dd 0x07ce0903
+dd 0x07ce0904
+dd 0x07ce0905
+dd 0x07ce0906
+dd 0x07ce0907
+dd 0x07ce0908
+dd 0x07ce0909
+dd 0x07ce090a
+dd 0x07ce090b
+dd 0x07ce090c
+dd 0x07ce090d
+dd 0x07ce090e
+dd 0x07ce090f
+dd 0x07ce0910
+dd 0x07ce0911
+dd 0x07ce0912
+dd 0x07ce0913
+dd 0x07ce0914
+dd 0x07ce0915
+dd 0x07ce0916
+dd 0x07ce0917
+dd 0x07ce0918
+dd 0x07ce0919
+dd 0x07ce091a
+dd 0x07ce091b
+dd 0x07ce091c
+dd 0x07ce091d
+dd 0x07ce091e
+dd 0x07ce0a01
+dd 0x07ce0a02
+dd 0x07ce0a03
+dd 0x07ce0a04
+dd 0x07ce0a05
+dd 0x07ce0a06
+dd 0x07ce0a07
+dd 0x07ce0a08
+dd 0x07ce0a09
+dd 0x07ce0a0a
+dd 0x07ce0a0b
+dd 0x07ce0a0c
+dd 0x07ce0a0d
+dd 0x07ce0a0e
+dd 0x07ce0a0f
+dd 0x07ce0a10
+dd 0x07ce0a11
+dd 0x07ce0a12
+dd 0x07ce0a13
+dd 0x07ce0a14
+dd 0x07ce0a15
+dd 0x07ce0a16
+dd 0x07ce0a17
+dd 0x07ce0a18
+dd 0x07ce0a19
+dd 0x07ce0a1a
+dd 0x07ce0a1b
+dd 0x07ce0a1c
+dd 0x07ce0a1d
+dd 0x07ce0a1e
+dd 0x07ce0b01
+dd 0x07ce0b02
+dd 0x07ce0b03
+dd 0x07ce0b04
+dd 0x07ce0b05
+dd 0x07ce0b06
+dd 0x07ce0b07
+dd 0x07ce0b08
+dd 0x07ce0b09
+dd 0x07ce0b0a
+dd 0x07ce0b0b
+dd 0x07ce0b0c
+dd 0x07ce0b0d
+dd 0x07ce0b0e
+dd 0x07ce0b0f
+dd 0x07ce0b10
+dd 0x07ce0b11
+dd 0x07ce0b12
+dd 0x07ce0b13
+dd 0x07ce0b14
+dd 0x07ce0b15
+dd 0x07ce0b16
+dd 0x07ce0b17
+dd 0x07ce0b18
+dd 0x07ce0b19
+dd 0x07ce0b1a
+dd 0x07ce0b1b
+dd 0x07ce0b1c
+dd 0x07ce0b1d
+dd 0x07ce0c01
+dd 0x07ce0c02
+dd 0x07ce0c03
+dd 0x07ce0c04
+dd 0x07ce0c05
+dd 0x07ce0c06
+dd 0x07ce0c07
+dd 0x07ce0c08
+dd 0x07ce0c09
+dd 0x07ce0c0a
+dd 0x07ce0c0b
+dd 0x07ce0c0c
+dd 0x07ce0c0d
+dd 0x07ce0c0e
+dd 0x07ce0c0f
+dd 0x07ce0c10
+dd 0x07ce0c11
+dd 0x07ce0c12
+dd 0x07ce0c13
+dd 0x07ce0c14
+dd 0x07ce0c15
+dd 0x07ce0c16
+dd 0x07ce0c17
+dd 0x07ce0c18
+dd 0x07ce0c19
+dd 0x07ce0c1a
+dd 0x07ce0c1b
+dd 0x07ce0c1c
+dd 0x07ce0c1d
+dd 0x07ce0c1e
+dd 0x07cf0101
+dd 0x07cf0102
+dd 0x07cf0103
+dd 0x07cf0104
+dd 0x07cf0105
+dd 0x07cf0106
+dd 0x07cf0107
+dd 0x07cf0108
+dd 0x07cf0109
+dd 0x07cf010a
+dd 0x07cf010b
+dd 0x07cf010c
+dd 0x07cf010d
+dd 0x07cf010e
+dd 0x07cf010f
+dd 0x07cf0110
+dd 0x07cf0111
+dd 0x07cf0112
+dd 0x07cf0113
+dd 0x07cf0114
+dd 0x07cf0115
+dd 0x07cf0116
+dd 0x07cf0117
+dd 0x07cf0118
+dd 0x07cf0119
+dd 0x07cf011a
+dd 0x07cf011b
+dd 0x07cf011c
+dd 0x07cf011d
+dd 0x07cf011e
+dd 0x07cf0201
+dd 0x07cf0202
+dd 0x07cf0203
+dd 0x07cf0204
+dd 0x07cf0205
+dd 0x07cf0206
+dd 0x07cf0207
+dd 0x07cf0208
+dd 0x07cf0209
+dd 0x07cf020a
+dd 0x07cf020b
+dd 0x07cf020c
+dd 0x07cf020d
+dd 0x07cf020e
+dd 0x07cf020f
+dd 0x07cf0210
+dd 0x07cf0211
+dd 0x07cf0212
+dd 0x07cf0213
+dd 0x07cf0214
+dd 0x07cf0215
+dd 0x07cf0216
+dd 0x07cf0217
+dd 0x07cf0218
+dd 0x07cf0219
+dd 0x07cf021a
+dd 0x07cf021b
+dd 0x07cf021c
+dd 0x07cf021d
+dd 0x07cf0301
+dd 0x07cf0302
+dd 0x07cf0303
+dd 0x07cf0304
+dd 0x07cf0305
+dd 0x07cf0306
+dd 0x07cf0307
+dd 0x07cf0308
+dd 0x07cf0309
+dd 0x07cf030a
+dd 0x07cf030b
+dd 0x07cf030c
+dd 0x07cf030d
+dd 0x07cf030e
+dd 0x07cf030f
+dd 0x07cf0310
+dd 0x07cf0311
+dd 0x07cf0312
+dd 0x07cf0313
+dd 0x07cf0314
+dd 0x07cf0315
+dd 0x07cf0316
+dd 0x07cf0317
+dd 0x07cf0318
+dd 0x07cf0319
+dd 0x07cf031a
+dd 0x07cf031b
+dd 0x07cf031c
+dd 0x07cf031d
+dd 0x07cf0401
+dd 0x07cf0402
+dd 0x07cf0403
+dd 0x07cf0404
+dd 0x07cf0405
+dd 0x07cf0406
+dd 0x07cf0407
+dd 0x07cf0408
+dd 0x07cf0409
+dd 0x07cf040a
+dd 0x07cf040b
+dd 0x07cf040c
+dd 0x07cf040d
+dd 0x07cf040e
+dd 0x07cf040f
+dd 0x07cf0410
+dd 0x07cf0411
+dd 0x07cf0412
+dd 0x07cf0413
+dd 0x07cf0414
+dd 0x07cf0415
+dd 0x07cf0416
+dd 0x07cf0417
+dd 0x07cf0418
+dd 0x07cf0419
+dd 0x07cf041a
+dd 0x07cf041b
+dd 0x07cf041c
+dd 0x07cf041d
+dd 0x07cf041e
+dd 0x07cf0501
+dd 0x07cf0502
+dd 0x07cf0503
+dd 0x07cf0504
+dd 0x07cf0505
+dd 0x07cf0506
+dd 0x07cf0507
+dd 0x07cf0508
+dd 0x07cf0509
+dd 0x07cf050a
+dd 0x07cf050b
+dd 0x07cf050c
+dd 0x07cf050d
+dd 0x07cf050e
+dd 0x07cf050f
+dd 0x07cf0510
+dd 0x07cf0511
+dd 0x07cf0512
+dd 0x07cf0513
+dd 0x07cf0514
+dd 0x07cf0515
+dd 0x07cf0516
+dd 0x07cf0517
+dd 0x07cf0518
+dd 0x07cf0519
+dd 0x07cf051a
+dd 0x07cf051b
+dd 0x07cf051c
+dd 0x07cf051d
+dd 0x07cf0601
+dd 0x07cf0602
+dd 0x07cf0603
+dd 0x07cf0604
+dd 0x07cf0605
+dd 0x07cf0606
+dd 0x07cf0607
+dd 0x07cf0608
+dd 0x07cf0609
+dd 0x07cf060a
+dd 0x07cf060b
+dd 0x07cf060c
+dd 0x07cf060d
+dd 0x07cf060e
+dd 0x07cf060f
+dd 0x07cf0610
+dd 0x07cf0611
+dd 0x07cf0612
+dd 0x07cf0613
+dd 0x07cf0614
+dd 0x07cf0615
+dd 0x07cf0616
+dd 0x07cf0617
+dd 0x07cf0618
+dd 0x07cf0619
+dd 0x07cf061a
+dd 0x07cf061b
+dd 0x07cf061c
+dd 0x07cf061d
+dd 0x07cf0701
+dd 0x07cf0702
+dd 0x07cf0703
+dd 0x07cf0704
+dd 0x07cf0705
+dd 0x07cf0706
+dd 0x07cf0707
+dd 0x07cf0708
+dd 0x07cf0709
+dd 0x07cf070a
+dd 0x07cf070b
+dd 0x07cf070c
+dd 0x07cf070d
+dd 0x07cf070e
+dd 0x07cf070f
+dd 0x07cf0710
+dd 0x07cf0711
+dd 0x07cf0712
+dd 0x07cf0713
+dd 0x07cf0714
+dd 0x07cf0715
+dd 0x07cf0716
+dd 0x07cf0717
+dd 0x07cf0718
+dd 0x07cf0719
+dd 0x07cf071a
+dd 0x07cf071b
+dd 0x07cf071c
+dd 0x07cf071d
+dd 0x07cf071e
+dd 0x07cf0801
+dd 0x07cf0802
+dd 0x07cf0803
+dd 0x07cf0804
+dd 0x07cf0805
+dd 0x07cf0806
+dd 0x07cf0807
+dd 0x07cf0808
+dd 0x07cf0809
+dd 0x07cf080a
+dd 0x07cf080b
+dd 0x07cf080c
+dd 0x07cf080d
+dd 0x07cf080e
+dd 0x07cf080f
+dd 0x07cf0810
+dd 0x07cf0811
+dd 0x07cf0812
+dd 0x07cf0813
+dd 0x07cf0814
+dd 0x07cf0815
+dd 0x07cf0816
+dd 0x07cf0817
+dd 0x07cf0818
+dd 0x07cf0819
+dd 0x07cf081a
+dd 0x07cf081b
+dd 0x07cf081c
+dd 0x07cf081d
+dd 0x07cf0901
+dd 0x07cf0902
+dd 0x07cf0903
+dd 0x07cf0904
+dd 0x07cf0905
+dd 0x07cf0906
+dd 0x07cf0907
+dd 0x07cf0908
+dd 0x07cf0909
+dd 0x07cf090a
+dd 0x07cf090b
+dd 0x07cf090c
+dd 0x07cf090d
+dd 0x07cf090e
+dd 0x07cf090f
+dd 0x07cf0910
+dd 0x07cf0911
+dd 0x07cf0912
+dd 0x07cf0913
+dd 0x07cf0914
+dd 0x07cf0915
+dd 0x07cf0916
+dd 0x07cf0917
+dd 0x07cf0918
+dd 0x07cf0919
+dd 0x07cf091a
+dd 0x07cf091b
+dd 0x07cf091c
+dd 0x07cf091d
+dd 0x07cf091e
+dd 0x07cf0a01
+dd 0x07cf0a02
+dd 0x07cf0a03
+dd 0x07cf0a04
+dd 0x07cf0a05
+dd 0x07cf0a06
+dd 0x07cf0a07
+dd 0x07cf0a08
+dd 0x07cf0a09
+dd 0x07cf0a0a
+dd 0x07cf0a0b
+dd 0x07cf0a0c
+dd 0x07cf0a0d
+dd 0x07cf0a0e
+dd 0x07cf0a0f
+dd 0x07cf0a10
+dd 0x07cf0a11
+dd 0x07cf0a12
+dd 0x07cf0a13
+dd 0x07cf0a14
+dd 0x07cf0a15
+dd 0x07cf0a16
+dd 0x07cf0a17
+dd 0x07cf0a18
+dd 0x07cf0a19
+dd 0x07cf0a1a
+dd 0x07cf0a1b
+dd 0x07cf0a1c
+dd 0x07cf0a1d
+dd 0x07cf0a1e
+dd 0x07cf0b01
+dd 0x07cf0b02
+dd 0x07cf0b03
+dd 0x07cf0b04
+dd 0x07cf0b05
+dd 0x07cf0b06
+dd 0x07cf0b07
+dd 0x07cf0b08
+dd 0x07cf0b09
+dd 0x07cf0b0a
+dd 0x07cf0b0b
+dd 0x07cf0b0c
+dd 0x07cf0b0d
+dd 0x07cf0b0e
+dd 0x07cf0b0f
+dd 0x07cf0b10
+dd 0x07cf0b11
+dd 0x07cf0b12
+dd 0x07cf0b13
+dd 0x07cf0b14
+dd 0x07cf0b15
+dd 0x07cf0b16
+dd 0x07cf0b17
+dd 0x07cf0b18
+dd 0x07cf0b19
+dd 0x07cf0b1a
+dd 0x07cf0b1b
+dd 0x07cf0b1c
+dd 0x07cf0b1d
+dd 0x07cf0b1e
+dd 0x07cf0c01
+dd 0x07cf0c02
+dd 0x07cf0c03
+dd 0x07cf0c04
+dd 0x07cf0c05
+dd 0x07cf0c06
+dd 0x07cf0c07
+dd 0x07cf0c08
+dd 0x07cf0c09
+dd 0x07cf0c0a
+dd 0x07cf0c0b
+dd 0x07cf0c0c
+dd 0x07cf0c0d
+dd 0x07cf0c0e
+dd 0x07cf0c0f
+dd 0x07cf0c10
+dd 0x07cf0c11
+dd 0x07cf0c12
+dd 0x07cf0c13
+dd 0x07cf0c14
+dd 0x07cf0c15
+dd 0x07cf0c16
+dd 0x07cf0c17
+dd 0x07cf0c18
+dd 0x07cf0c19
+dd 0x07cf0c1a
+dd 0x07cf0c1b
+dd 0x07cf0c1c
+dd 0x07cf0c1d
+dd 0x07d00101
+dd 0x07d00102
+dd 0x07d00103
+dd 0x07d00104
+dd 0x07d00105
+dd 0x07d00106
+dd 0x07d00107
+dd 0x07d00108
+dd 0x07d00109
+dd 0x07d0010a
+dd 0x07d0010b
+dd 0x07d0010c
+dd 0x07d0010d
+dd 0x07d0010e
+dd 0x07d0010f
+dd 0x07d00110
+dd 0x07d00111
+dd 0x07d00112
+dd 0x07d00113
+dd 0x07d00114
+dd 0x07d00115
+dd 0x07d00116
+dd 0x07d00117
+dd 0x07d00118
+dd 0x07d00119
+dd 0x07d0011a
+dd 0x07d0011b
+dd 0x07d0011c
+dd 0x07d0011d
+dd 0x07d0011e
+dd 0x07d00201
+dd 0x07d00202
+dd 0x07d00203
+dd 0x07d00204
+dd 0x07d00205
+dd 0x07d00206
+dd 0x07d00207
+dd 0x07d00208
+dd 0x07d00209
+dd 0x07d0020a
+dd 0x07d0020b
+dd 0x07d0020c
+dd 0x07d0020d
+dd 0x07d0020e
+dd 0x07d0020f
+dd 0x07d00210
+dd 0x07d00211
+dd 0x07d00212
+dd 0x07d00213
+dd 0x07d00214
+dd 0x07d00215
+dd 0x07d00216
+dd 0x07d00217
+dd 0x07d00218
+dd 0x07d00219
+dd 0x07d0021a
+dd 0x07d0021b
+dd 0x07d0021c
+dd 0x07d0021d
+dd 0x07d0021e
+dd 0x07d00301
+dd 0x07d00302
+dd 0x07d00303
+dd 0x07d00304
+dd 0x07d00305
+dd 0x07d00306
+dd 0x07d00307
+dd 0x07d00308
+dd 0x07d00309
+dd 0x07d0030a
+dd 0x07d0030b
+dd 0x07d0030c
+dd 0x07d0030d
+dd 0x07d0030e
+dd 0x07d0030f
+dd 0x07d00310
+dd 0x07d00311
+dd 0x07d00312
+dd 0x07d00313
+dd 0x07d00314
+dd 0x07d00315
+dd 0x07d00316
+dd 0x07d00317
+dd 0x07d00318
+dd 0x07d00319
+dd 0x07d0031a
+dd 0x07d0031b
+dd 0x07d0031c
+dd 0x07d0031d
+dd 0x07d00401
+dd 0x07d00402
+dd 0x07d00403
+dd 0x07d00404
+dd 0x07d00405
+dd 0x07d00406
+dd 0x07d00407
+dd 0x07d00408
+dd 0x07d00409
+dd 0x07d0040a
+dd 0x07d0040b
+dd 0x07d0040c
+dd 0x07d0040d
+dd 0x07d0040e
+dd 0x07d0040f
+dd 0x07d00410
+dd 0x07d00411
+dd 0x07d00412
+dd 0x07d00413
+dd 0x07d00414
+dd 0x07d00415
+dd 0x07d00416
+dd 0x07d00417
+dd 0x07d00418
+dd 0x07d00419
+dd 0x07d0041a
+dd 0x07d0041b
+dd 0x07d0041c
+dd 0x07d0041d
+dd 0x07d00501
+dd 0x07d00502
+dd 0x07d00503
+dd 0x07d00504
+dd 0x07d00505
+dd 0x07d00506
+dd 0x07d00507
+dd 0x07d00508
+dd 0x07d00509
+dd 0x07d0050a
+dd 0x07d0050b
+dd 0x07d0050c
+dd 0x07d0050d
+dd 0x07d0050e
+dd 0x07d0050f
+dd 0x07d00510
+dd 0x07d00511
+dd 0x07d00512
+dd 0x07d00513
+dd 0x07d00514
+dd 0x07d00515
+dd 0x07d00516
+dd 0x07d00517
+dd 0x07d00518
+dd 0x07d00519
+dd 0x07d0051a
+dd 0x07d0051b
+dd 0x07d0051c
+dd 0x07d0051d
+dd 0x07d0051e
+dd 0x07d00601
+dd 0x07d00602
+dd 0x07d00603
+dd 0x07d00604
+dd 0x07d00605
+dd 0x07d00606
+dd 0x07d00607
+dd 0x07d00608
+dd 0x07d00609
+dd 0x07d0060a
+dd 0x07d0060b
+dd 0x07d0060c
+dd 0x07d0060d
+dd 0x07d0060e
+dd 0x07d0060f
+dd 0x07d00610
+dd 0x07d00611
+dd 0x07d00612
+dd 0x07d00613
+dd 0x07d00614
+dd 0x07d00615
+dd 0x07d00616
+dd 0x07d00617
+dd 0x07d00618
+dd 0x07d00619
+dd 0x07d0061a
+dd 0x07d0061b
+dd 0x07d0061c
+dd 0x07d0061d
+dd 0x07d00701
+dd 0x07d00702
+dd 0x07d00703
+dd 0x07d00704
+dd 0x07d00705
+dd 0x07d00706
+dd 0x07d00707
+dd 0x07d00708
+dd 0x07d00709
+dd 0x07d0070a
+dd 0x07d0070b
+dd 0x07d0070c
+dd 0x07d0070d
+dd 0x07d0070e
+dd 0x07d0070f
+dd 0x07d00710
+dd 0x07d00711
+dd 0x07d00712
+dd 0x07d00713
+dd 0x07d00714
+dd 0x07d00715
+dd 0x07d00716
+dd 0x07d00717
+dd 0x07d00718
+dd 0x07d00719
+dd 0x07d0071a
+dd 0x07d0071b
+dd 0x07d0071c
+dd 0x07d0071d
+dd 0x07d00801
+dd 0x07d00802
+dd 0x07d00803
+dd 0x07d00804
+dd 0x07d00805
+dd 0x07d00806
+dd 0x07d00807
+dd 0x07d00808
+dd 0x07d00809
+dd 0x07d0080a
+dd 0x07d0080b
+dd 0x07d0080c
+dd 0x07d0080d
+dd 0x07d0080e
+dd 0x07d0080f
+dd 0x07d00810
+dd 0x07d00811
+dd 0x07d00812
+dd 0x07d00813
+dd 0x07d00814
+dd 0x07d00815
+dd 0x07d00816
+dd 0x07d00817
+dd 0x07d00818
+dd 0x07d00819
+dd 0x07d0081a
+dd 0x07d0081b
+dd 0x07d0081c
+dd 0x07d0081d
+dd 0x07d0081e
+dd 0x07d00901
+dd 0x07d00902
+dd 0x07d00903
+dd 0x07d00904
+dd 0x07d00905
+dd 0x07d00906
+dd 0x07d00907
+dd 0x07d00908
+dd 0x07d00909
+dd 0x07d0090a
+dd 0x07d0090b
+dd 0x07d0090c
+dd 0x07d0090d
+dd 0x07d0090e
+dd 0x07d0090f
+dd 0x07d00910
+dd 0x07d00911
+dd 0x07d00912
+dd 0x07d00913
+dd 0x07d00914
+dd 0x07d00915
+dd 0x07d00916
+dd 0x07d00917
+dd 0x07d00918
+dd 0x07d00919
+dd 0x07d0091a
+dd 0x07d0091b
+dd 0x07d0091c
+dd 0x07d0091d
+dd 0x07d00a01
+dd 0x07d00a02
+dd 0x07d00a03
+dd 0x07d00a04
+dd 0x07d00a05
+dd 0x07d00a06
+dd 0x07d00a07
+dd 0x07d00a08
+dd 0x07d00a09
+dd 0x07d00a0a
+dd 0x07d00a0b
+dd 0x07d00a0c
+dd 0x07d00a0d
+dd 0x07d00a0e
+dd 0x07d00a0f
+dd 0x07d00a10
+dd 0x07d00a11
+dd 0x07d00a12
+dd 0x07d00a13
+dd 0x07d00a14
+dd 0x07d00a15
+dd 0x07d00a16
+dd 0x07d00a17
+dd 0x07d00a18
+dd 0x07d00a19
+dd 0x07d00a1a
+dd 0x07d00a1b
+dd 0x07d00a1c
+dd 0x07d00a1d
+dd 0x07d00a1e
+dd 0x07d00b01
+dd 0x07d00b02
+dd 0x07d00b03
+dd 0x07d00b04
+dd 0x07d00b05
+dd 0x07d00b06
+dd 0x07d00b07
+dd 0x07d00b08
+dd 0x07d00b09
+dd 0x07d00b0a
+dd 0x07d00b0b
+dd 0x07d00b0c
+dd 0x07d00b0d
+dd 0x07d00b0e
+dd 0x07d00b0f
+dd 0x07d00b10
+dd 0x07d00b11
+dd 0x07d00b12
+dd 0x07d00b13
+dd 0x07d00b14
+dd 0x07d00b15
+dd 0x07d00b16
+dd 0x07d00b17
+dd 0x07d00b18
+dd 0x07d00b19
+dd 0x07d00b1a
+dd 0x07d00b1b
+dd 0x07d00b1c
+dd 0x07d00b1d
+dd 0x07d00b1e
+dd 0x07d00c01
+dd 0x07d00c02
+dd 0x07d00c03
+dd 0x07d00c04
+dd 0x07d00c05
+dd 0x07d00c06
+dd 0x07d00c07
+dd 0x07d00c08
+dd 0x07d00c09
+dd 0x07d00c0a
+dd 0x07d00c0b
+dd 0x07d00c0c
+dd 0x07d00c0d
+dd 0x07d00c0e
+dd 0x07d00c0f
+dd 0x07d00c10
+dd 0x07d00c11
+dd 0x07d00c12
+dd 0x07d00c13
+dd 0x07d00c14
+dd 0x07d00c15
+dd 0x07d00c16
+dd 0x07d00c17
+dd 0x07d00c18
+dd 0x07d00c19
+dd 0x07d00c1a
+dd 0x07d00c1b
+dd 0x07d00c1c
+dd 0x07d00c1d
+dd 0x07d10101
+dd 0x07d10102
+dd 0x07d10103
+dd 0x07d10104
+dd 0x07d10105
+dd 0x07d10106
+dd 0x07d10107
+dd 0x07d10108
+dd 0x07d10109
+dd 0x07d1010a
+dd 0x07d1010b
+dd 0x07d1010c
+dd 0x07d1010d
+dd 0x07d1010e
+dd 0x07d1010f
+dd 0x07d10110
+dd 0x07d10111
+dd 0x07d10112
+dd 0x07d10113
+dd 0x07d10114
+dd 0x07d10115
+dd 0x07d10116
+dd 0x07d10117
+dd 0x07d10118
+dd 0x07d10119
+dd 0x07d1011a
+dd 0x07d1011b
+dd 0x07d1011c
+dd 0x07d1011d
+dd 0x07d1011e
+dd 0x07d10201
+dd 0x07d10202
+dd 0x07d10203
+dd 0x07d10204
+dd 0x07d10205
+dd 0x07d10206
+dd 0x07d10207
+dd 0x07d10208
+dd 0x07d10209
+dd 0x07d1020a
+dd 0x07d1020b
+dd 0x07d1020c
+dd 0x07d1020d
+dd 0x07d1020e
+dd 0x07d1020f
+dd 0x07d10210
+dd 0x07d10211
+dd 0x07d10212
+dd 0x07d10213
+dd 0x07d10214
+dd 0x07d10215
+dd 0x07d10216
+dd 0x07d10217
+dd 0x07d10218
+dd 0x07d10219
+dd 0x07d1021a
+dd 0x07d1021b
+dd 0x07d1021c
+dd 0x07d1021d
+dd 0x07d1021e
+dd 0x07d10301
+dd 0x07d10302
+dd 0x07d10303
+dd 0x07d10304
+dd 0x07d10305
+dd 0x07d10306
+dd 0x07d10307
+dd 0x07d10308
+dd 0x07d10309
+dd 0x07d1030a
+dd 0x07d1030b
+dd 0x07d1030c
+dd 0x07d1030d
+dd 0x07d1030e
+dd 0x07d1030f
+dd 0x07d10310
+dd 0x07d10311
+dd 0x07d10312
+dd 0x07d10313
+dd 0x07d10314
+dd 0x07d10315
+dd 0x07d10316
+dd 0x07d10317
+dd 0x07d10318
+dd 0x07d10319
+dd 0x07d1031a
+dd 0x07d1031b
+dd 0x07d1031c
+dd 0x07d1031d
+dd 0x07d10401
+dd 0x07d10402
+dd 0x07d10403
+dd 0x07d10404
+dd 0x07d10405
+dd 0x07d10406
+dd 0x07d10407
+dd 0x07d10408
+dd 0x07d10409
+dd 0x07d1040a
+dd 0x07d1040b
+dd 0x07d1040c
+dd 0x07d1040d
+dd 0x07d1040e
+dd 0x07d1040f
+dd 0x07d10410
+dd 0x07d10411
+dd 0x07d10412
+dd 0x07d10413
+dd 0x07d10414
+dd 0x07d10415
+dd 0x07d10416
+dd 0x07d10417
+dd 0x07d10418
+dd 0x07d10419
+dd 0x07d1041a
+dd 0x07d1041b
+dd 0x07d1041c
+dd 0x07d1041d
+dd 0x07d1041e
+dd 0x07d10401
+dd 0x07d10402
+dd 0x07d10403
+dd 0x07d10404
+dd 0x07d10405
+dd 0x07d10406
+dd 0x07d10407
+dd 0x07d10408
+dd 0x07d10409
+dd 0x07d1040a
+dd 0x07d1040b
+dd 0x07d1040c
+dd 0x07d1040d
+dd 0x07d1040e
+dd 0x07d1040f
+dd 0x07d10410
+dd 0x07d10411
+dd 0x07d10412
+dd 0x07d10413
+dd 0x07d10414
+dd 0x07d10415
+dd 0x07d10416
+dd 0x07d10417
+dd 0x07d10418
+dd 0x07d10419
+dd 0x07d1041a
+dd 0x07d1041b
+dd 0x07d1041c
+dd 0x07d1041d
+dd 0x07d10501
+dd 0x07d10502
+dd 0x07d10503
+dd 0x07d10504
+dd 0x07d10505
+dd 0x07d10506
+dd 0x07d10507
+dd 0x07d10508
+dd 0x07d10509
+dd 0x07d1050a
+dd 0x07d1050b
+dd 0x07d1050c
+dd 0x07d1050d
+dd 0x07d1050e
+dd 0x07d1050f
+dd 0x07d10510
+dd 0x07d10511
+dd 0x07d10512
+dd 0x07d10513
+dd 0x07d10514
+dd 0x07d10515
+dd 0x07d10516
+dd 0x07d10517
+dd 0x07d10518
+dd 0x07d10519
+dd 0x07d1051a
+dd 0x07d1051b
+dd 0x07d1051c
+dd 0x07d1051d
+dd 0x07d1051e
+dd 0x07d10601
+dd 0x07d10602
+dd 0x07d10603
+dd 0x07d10604
+dd 0x07d10605
+dd 0x07d10606
+dd 0x07d10607
+dd 0x07d10608
+dd 0x07d10609
+dd 0x07d1060a
+dd 0x07d1060b
+dd 0x07d1060c
+dd 0x07d1060d
+dd 0x07d1060e
+dd 0x07d1060f
+dd 0x07d10610
+dd 0x07d10611
+dd 0x07d10612
+dd 0x07d10613
+dd 0x07d10614
+dd 0x07d10615
+dd 0x07d10616
+dd 0x07d10617
+dd 0x07d10618
+dd 0x07d10619
+dd 0x07d1061a
+dd 0x07d1061b
+dd 0x07d1061c
+dd 0x07d1061d
+dd 0x07d10701
+dd 0x07d10702
+dd 0x07d10703
+dd 0x07d10704
+dd 0x07d10705
+dd 0x07d10706
+dd 0x07d10707
+dd 0x07d10708
+dd 0x07d10709
+dd 0x07d1070a
+dd 0x07d1070b
+dd 0x07d1070c
+dd 0x07d1070d
+dd 0x07d1070e
+dd 0x07d1070f
+dd 0x07d10710
+dd 0x07d10711
+dd 0x07d10712
+dd 0x07d10713
+dd 0x07d10714
+dd 0x07d10715
+dd 0x07d10716
+dd 0x07d10717
+dd 0x07d10718
+dd 0x07d10719
+dd 0x07d1071a
+dd 0x07d1071b
+dd 0x07d1071c
+dd 0x07d1071d
+dd 0x07d10801
+dd 0x07d10802
+dd 0x07d10803
+dd 0x07d10804
+dd 0x07d10805
+dd 0x07d10806
+dd 0x07d10807
+dd 0x07d10808
+dd 0x07d10809
+dd 0x07d1080a
+dd 0x07d1080b
+dd 0x07d1080c
+dd 0x07d1080d
+dd 0x07d1080e
+dd 0x07d1080f
+dd 0x07d10810
+dd 0x07d10811
+dd 0x07d10812
+dd 0x07d10813
+dd 0x07d10814
+dd 0x07d10815
+dd 0x07d10816
+dd 0x07d10817
+dd 0x07d10818
+dd 0x07d10819
+dd 0x07d1081a
+dd 0x07d1081b
+dd 0x07d1081c
+dd 0x07d1081d
+dd 0x07d1081e
+dd 0x07d10901
+dd 0x07d10902
+dd 0x07d10903
+dd 0x07d10904
+dd 0x07d10905
+dd 0x07d10906
+dd 0x07d10907
+dd 0x07d10908
+dd 0x07d10909
+dd 0x07d1090a
+dd 0x07d1090b
+dd 0x07d1090c
+dd 0x07d1090d
+dd 0x07d1090e
+dd 0x07d1090f
+dd 0x07d10910
+dd 0x07d10911
+dd 0x07d10912
+dd 0x07d10913
+dd 0x07d10914
+dd 0x07d10915
+dd 0x07d10916
+dd 0x07d10917
+dd 0x07d10918
+dd 0x07d10919
+dd 0x07d1091a
+dd 0x07d1091b
+dd 0x07d1091c
+dd 0x07d1091d
+dd 0x07d10a01
+dd 0x07d10a02
+dd 0x07d10a03
+dd 0x07d10a04
+dd 0x07d10a05
+dd 0x07d10a06
+dd 0x07d10a07
+dd 0x07d10a08
+dd 0x07d10a09
+dd 0x07d10a0a
+dd 0x07d10a0b
+dd 0x07d10a0c
+dd 0x07d10a0d
+dd 0x07d10a0e
+dd 0x07d10a0f
+dd 0x07d10a10
+dd 0x07d10a11
+dd 0x07d10a12
+dd 0x07d10a13
+dd 0x07d10a14
+dd 0x07d10a15
+dd 0x07d10a16
+dd 0x07d10a17
+dd 0x07d10a18
+dd 0x07d10a19
+dd 0x07d10a1a
+dd 0x07d10a1b
+dd 0x07d10a1c
+dd 0x07d10a1d
+dd 0x07d10a1e
+dd 0x07d10b01
+dd 0x07d10b02
+dd 0x07d10b03
+dd 0x07d10b04
+dd 0x07d10b05
+dd 0x07d10b06
+dd 0x07d10b07
+dd 0x07d10b08
+dd 0x07d10b09
+dd 0x07d10b0a
+dd 0x07d10b0b
+dd 0x07d10b0c
+dd 0x07d10b0d
+dd 0x07d10b0e
+dd 0x07d10b0f
+dd 0x07d10b10
+dd 0x07d10b11
+dd 0x07d10b12
+dd 0x07d10b13
+dd 0x07d10b14
+dd 0x07d10b15
+dd 0x07d10b16
+dd 0x07d10b17
+dd 0x07d10b18
+dd 0x07d10b19
+dd 0x07d10b1a
+dd 0x07d10b1b
+dd 0x07d10b1c
+dd 0x07d10b1d
+dd 0x07d10c01
+dd 0x07d10c02
+dd 0x07d10c03
+dd 0x07d10c04
+dd 0x07d10c05
+dd 0x07d10c06
+dd 0x07d10c07
+dd 0x07d10c08
+dd 0x07d10c09
+dd 0x07d10c0a
+dd 0x07d10c0b
+dd 0x07d10c0c
+dd 0x07d10c0d
+dd 0x07d10c0e
+dd 0x07d10c0f
+dd 0x07d10c10
+dd 0x07d10c11
+dd 0x07d10c12
+dd 0x07d10c13
+dd 0x07d10c14
+dd 0x07d10c15
+dd 0x07d10c16
+dd 0x07d10c17
+dd 0x07d10c18
+dd 0x07d10c19
+dd 0x07d10c1a
+dd 0x07d10c1b
+dd 0x07d10c1c
+dd 0x07d10c1d
+dd 0x07d10c1e
+dd 0x07d20101
+dd 0x07d20102
+dd 0x07d20103
+dd 0x07d20104
+dd 0x07d20105
+dd 0x07d20106
+dd 0x07d20107
+dd 0x07d20108
+dd 0x07d20109
+dd 0x07d2010a
+dd 0x07d2010b
+dd 0x07d2010c
+dd 0x07d2010d
+dd 0x07d2010e
+dd 0x07d2010f
+dd 0x07d20110
+dd 0x07d20111
+dd 0x07d20112
+dd 0x07d20113
+dd 0x07d20114
+dd 0x07d20115
+dd 0x07d20116
+dd 0x07d20117
+dd 0x07d20118
+dd 0x07d20119
+dd 0x07d2011a
+dd 0x07d2011b
+dd 0x07d2011c
+dd 0x07d2011d
+dd 0x07d2011e
+dd 0x07d20201
+dd 0x07d20202
+dd 0x07d20203
+dd 0x07d20204
+dd 0x07d20205
+dd 0x07d20206
+dd 0x07d20207
+dd 0x07d20208
+dd 0x07d20209
+dd 0x07d2020a
+dd 0x07d2020b
+dd 0x07d2020c
+dd 0x07d2020d
+dd 0x07d2020e
+dd 0x07d2020f
+dd 0x07d20210
+dd 0x07d20211
+dd 0x07d20212
+dd 0x07d20213
+dd 0x07d20214
+dd 0x07d20215
+dd 0x07d20216
+dd 0x07d20217
+dd 0x07d20218
+dd 0x07d20219
+dd 0x07d2021a
+dd 0x07d2021b
+dd 0x07d2021c
+dd 0x07d2021d
+dd 0x07d2021e
+dd 0x07d20301
+dd 0x07d20302
+dd 0x07d20303
+dd 0x07d20304
+dd 0x07d20305
+dd 0x07d20306
+dd 0x07d20307
+dd 0x07d20308
+dd 0x07d20309
+dd 0x07d2030a
+dd 0x07d2030b
+dd 0x07d2030c
+dd 0x07d2030d
+dd 0x07d2030e
+dd 0x07d2030f
+dd 0x07d20310
+dd 0x07d20311
+dd 0x07d20312
+dd 0x07d20313
+dd 0x07d20314
+dd 0x07d20315
+dd 0x07d20316
+dd 0x07d20317
+dd 0x07d20318
+dd 0x07d20319
+dd 0x07d2031a
+dd 0x07d2031b
+dd 0x07d2031c
+dd 0x07d2031d
+dd 0x07d20401
+dd 0x07d20402
+dd 0x07d20403
+dd 0x07d20404
+dd 0x07d20405
+dd 0x07d20406
+dd 0x07d20407
+dd 0x07d20408
+dd 0x07d20409
+dd 0x07d2040a
+dd 0x07d2040b
+dd 0x07d2040c
+dd 0x07d2040d
+dd 0x07d2040e
+dd 0x07d2040f
+dd 0x07d20410
+dd 0x07d20411
+dd 0x07d20412
+dd 0x07d20413
+dd 0x07d20414
+dd 0x07d20415
+dd 0x07d20416
+dd 0x07d20417
+dd 0x07d20418
+dd 0x07d20419
+dd 0x07d2041a
+dd 0x07d2041b
+dd 0x07d2041c
+dd 0x07d2041d
+dd 0x07d2041e
+dd 0x07d20501
+dd 0x07d20502
+dd 0x07d20503
+dd 0x07d20504
+dd 0x07d20505
+dd 0x07d20506
+dd 0x07d20507
+dd 0x07d20508
+dd 0x07d20509
+dd 0x07d2050a
+dd 0x07d2050b
+dd 0x07d2050c
+dd 0x07d2050d
+dd 0x07d2050e
+dd 0x07d2050f
+dd 0x07d20510
+dd 0x07d20511
+dd 0x07d20512
+dd 0x07d20513
+dd 0x07d20514
+dd 0x07d20515
+dd 0x07d20516
+dd 0x07d20517
+dd 0x07d20518
+dd 0x07d20519
+dd 0x07d2051a
+dd 0x07d2051b
+dd 0x07d2051c
+dd 0x07d2051d
+dd 0x07d20601
+dd 0x07d20602
+dd 0x07d20603
+dd 0x07d20604
+dd 0x07d20605
+dd 0x07d20606
+dd 0x07d20607
+dd 0x07d20608
+dd 0x07d20609
+dd 0x07d2060a
+dd 0x07d2060b
+dd 0x07d2060c
+dd 0x07d2060d
+dd 0x07d2060e
+dd 0x07d2060f
+dd 0x07d20610
+dd 0x07d20611
+dd 0x07d20612
+dd 0x07d20613
+dd 0x07d20614
+dd 0x07d20615
+dd 0x07d20616
+dd 0x07d20617
+dd 0x07d20618
+dd 0x07d20619
+dd 0x07d2061a
+dd 0x07d2061b
+dd 0x07d2061c
+dd 0x07d2061d
+dd 0x07d2061e
+dd 0x07d20701
+dd 0x07d20702
+dd 0x07d20703
+dd 0x07d20704
+dd 0x07d20705
+dd 0x07d20706
+dd 0x07d20707
+dd 0x07d20708
+dd 0x07d20709
+dd 0x07d2070a
+dd 0x07d2070b
+dd 0x07d2070c
+dd 0x07d2070d
+dd 0x07d2070e
+dd 0x07d2070f
+dd 0x07d20710
+dd 0x07d20711
+dd 0x07d20712
+dd 0x07d20713
+dd 0x07d20714
+dd 0x07d20715
+dd 0x07d20716
+dd 0x07d20717
+dd 0x07d20718
+dd 0x07d20719
+dd 0x07d2071a
+dd 0x07d2071b
+dd 0x07d2071c
+dd 0x07d2071d
+dd 0x07d20801
+dd 0x07d20802
+dd 0x07d20803
+dd 0x07d20804
+dd 0x07d20805
+dd 0x07d20806
+dd 0x07d20807
+dd 0x07d20808
+dd 0x07d20809
+dd 0x07d2080a
+dd 0x07d2080b
+dd 0x07d2080c
+dd 0x07d2080d
+dd 0x07d2080e
+dd 0x07d2080f
+dd 0x07d20810
+dd 0x07d20811
+dd 0x07d20812
+dd 0x07d20813
+dd 0x07d20814
+dd 0x07d20815
+dd 0x07d20816
+dd 0x07d20817
+dd 0x07d20818
+dd 0x07d20819
+dd 0x07d2081a
+dd 0x07d2081b
+dd 0x07d2081c
+dd 0x07d2081d
+dd 0x07d20901
+dd 0x07d20902
+dd 0x07d20903
+dd 0x07d20904
+dd 0x07d20905
+dd 0x07d20906
+dd 0x07d20907
+dd 0x07d20908
+dd 0x07d20909
+dd 0x07d2090a
+dd 0x07d2090b
+dd 0x07d2090c
+dd 0x07d2090d
+dd 0x07d2090e
+dd 0x07d2090f
+dd 0x07d20910
+dd 0x07d20911
+dd 0x07d20912
+dd 0x07d20913
+dd 0x07d20914
+dd 0x07d20915
+dd 0x07d20916
+dd 0x07d20917
+dd 0x07d20918
+dd 0x07d20919
+dd 0x07d2091a
+dd 0x07d2091b
+dd 0x07d2091c
+dd 0x07d2091d
+dd 0x07d2091e
+dd 0x07d20a01
+dd 0x07d20a02
+dd 0x07d20a03
+dd 0x07d20a04
+dd 0x07d20a05
+dd 0x07d20a06
+dd 0x07d20a07
+dd 0x07d20a08
+dd 0x07d20a09
+dd 0x07d20a0a
+dd 0x07d20a0b
+dd 0x07d20a0c
+dd 0x07d20a0d
+dd 0x07d20a0e
+dd 0x07d20a0f
+dd 0x07d20a10
+dd 0x07d20a11
+dd 0x07d20a12
+dd 0x07d20a13
+dd 0x07d20a14
+dd 0x07d20a15
+dd 0x07d20a16
+dd 0x07d20a17
+dd 0x07d20a18
+dd 0x07d20a19
+dd 0x07d20a1a
+dd 0x07d20a1b
+dd 0x07d20a1c
+dd 0x07d20a1d
+dd 0x07d20b01
+dd 0x07d20b02
+dd 0x07d20b03
+dd 0x07d20b04
+dd 0x07d20b05
+dd 0x07d20b06
+dd 0x07d20b07
+dd 0x07d20b08
+dd 0x07d20b09
+dd 0x07d20b0a
+dd 0x07d20b0b
+dd 0x07d20b0c
+dd 0x07d20b0d
+dd 0x07d20b0e
+dd 0x07d20b0f
+dd 0x07d20b10
+dd 0x07d20b11
+dd 0x07d20b12
+dd 0x07d20b13
+dd 0x07d20b14
+dd 0x07d20b15
+dd 0x07d20b16
+dd 0x07d20b17
+dd 0x07d20b18
+dd 0x07d20b19
+dd 0x07d20b1a
+dd 0x07d20b1b
+dd 0x07d20b1c
+dd 0x07d20b1d
+dd 0x07d20b1e
+dd 0x07d20c01
+dd 0x07d20c02
+dd 0x07d20c03
+dd 0x07d20c04
+dd 0x07d20c05
+dd 0x07d20c06
+dd 0x07d20c07
+dd 0x07d20c08
+dd 0x07d20c09
+dd 0x07d20c0a
+dd 0x07d20c0b
+dd 0x07d20c0c
+dd 0x07d20c0d
+dd 0x07d20c0e
+dd 0x07d20c0f
+dd 0x07d20c10
+dd 0x07d20c11
+dd 0x07d20c12
+dd 0x07d20c13
+dd 0x07d20c14
+dd 0x07d20c15
+dd 0x07d20c16
+dd 0x07d20c17
+dd 0x07d20c18
+dd 0x07d20c19
+dd 0x07d20c1a
+dd 0x07d20c1b
+dd 0x07d20c1c
+dd 0x07d20c1d
+dd 0x07d30101
+dd 0x07d30102
+dd 0x07d30103
+dd 0x07d30104
+dd 0x07d30105
+dd 0x07d30106
+dd 0x07d30107
+dd 0x07d30108
+dd 0x07d30109
+dd 0x07d3010a
+dd 0x07d3010b
+dd 0x07d3010c
+dd 0x07d3010d
+dd 0x07d3010e
+dd 0x07d3010f
+dd 0x07d30110
+dd 0x07d30111
+dd 0x07d30112
+dd 0x07d30113
+dd 0x07d30114
+dd 0x07d30115
+dd 0x07d30116
+dd 0x07d30117
+dd 0x07d30118
+dd 0x07d30119
+dd 0x07d3011a
+dd 0x07d3011b
+dd 0x07d3011c
+dd 0x07d3011d
+dd 0x07d3011e
+dd 0x07d30201
+dd 0x07d30202
+dd 0x07d30203
+dd 0x07d30204
+dd 0x07d30205
+dd 0x07d30206
+dd 0x07d30207
+dd 0x07d30208
+dd 0x07d30209
+dd 0x07d3020a
+dd 0x07d3020b
+dd 0x07d3020c
+dd 0x07d3020d
+dd 0x07d3020e
+dd 0x07d3020f
+dd 0x07d30210
+dd 0x07d30211
+dd 0x07d30212
+dd 0x07d30213
+dd 0x07d30214
+dd 0x07d30215
+dd 0x07d30216
+dd 0x07d30217
+dd 0x07d30218
+dd 0x07d30219
+dd 0x07d3021a
+dd 0x07d3021b
+dd 0x07d3021c
+dd 0x07d3021d
+dd 0x07d3021e
+dd 0x07d30301
+dd 0x07d30302
+dd 0x07d30303
+dd 0x07d30304
+dd 0x07d30305
+dd 0x07d30306
+dd 0x07d30307
+dd 0x07d30308
+dd 0x07d30309
+dd 0x07d3030a
+dd 0x07d3030b
+dd 0x07d3030c
+dd 0x07d3030d
+dd 0x07d3030e
+dd 0x07d3030f
+dd 0x07d30310
+dd 0x07d30311
+dd 0x07d30312
+dd 0x07d30313
+dd 0x07d30314
+dd 0x07d30315
+dd 0x07d30316
+dd 0x07d30317
+dd 0x07d30318
+dd 0x07d30319
+dd 0x07d3031a
+dd 0x07d3031b
+dd 0x07d3031c
+dd 0x07d3031d
+dd 0x07d30401
+dd 0x07d30402
+dd 0x07d30403
+dd 0x07d30404
+dd 0x07d30405
+dd 0x07d30406
+dd 0x07d30407
+dd 0x07d30408
+dd 0x07d30409
+dd 0x07d3040a
+dd 0x07d3040b
+dd 0x07d3040c
+dd 0x07d3040d
+dd 0x07d3040e
+dd 0x07d3040f
+dd 0x07d30410
+dd 0x07d30411
+dd 0x07d30412
+dd 0x07d30413
+dd 0x07d30414
+dd 0x07d30415
+dd 0x07d30416
+dd 0x07d30417
+dd 0x07d30418
+dd 0x07d30419
+dd 0x07d3041a
+dd 0x07d3041b
+dd 0x07d3041c
+dd 0x07d3041d
+dd 0x07d3041e
+dd 0x07d30501
+dd 0x07d30502
+dd 0x07d30503
+dd 0x07d30504
+dd 0x07d30505
+dd 0x07d30506
+dd 0x07d30507
+dd 0x07d30508
+dd 0x07d30509
+dd 0x07d3050a
+dd 0x07d3050b
+dd 0x07d3050c
+dd 0x07d3050d
+dd 0x07d3050e
+dd 0x07d3050f
+dd 0x07d30510
+dd 0x07d30511
+dd 0x07d30512
+dd 0x07d30513
+dd 0x07d30514
+dd 0x07d30515
+dd 0x07d30516
+dd 0x07d30517
+dd 0x07d30518
+dd 0x07d30519
+dd 0x07d3051a
+dd 0x07d3051b
+dd 0x07d3051c
+dd 0x07d3051d
+dd 0x07d3051e
+dd 0x07d30601
+dd 0x07d30602
+dd 0x07d30603
+dd 0x07d30604
+dd 0x07d30605
+dd 0x07d30606
+dd 0x07d30607
+dd 0x07d30608
+dd 0x07d30609
+dd 0x07d3060a
+dd 0x07d3060b
+dd 0x07d3060c
+dd 0x07d3060d
+dd 0x07d3060e
+dd 0x07d3060f
+dd 0x07d30610
+dd 0x07d30611
+dd 0x07d30612
+dd 0x07d30613
+dd 0x07d30614
+dd 0x07d30615
+dd 0x07d30616
+dd 0x07d30617
+dd 0x07d30618
+dd 0x07d30619
+dd 0x07d3061a
+dd 0x07d3061b
+dd 0x07d3061c
+dd 0x07d3061d
+dd 0x07d30701
+dd 0x07d30702
+dd 0x07d30703
+dd 0x07d30704
+dd 0x07d30705
+dd 0x07d30706
+dd 0x07d30707
+dd 0x07d30708
+dd 0x07d30709
+dd 0x07d3070a
+dd 0x07d3070b
+dd 0x07d3070c
+dd 0x07d3070d
+dd 0x07d3070e
+dd 0x07d3070f
+dd 0x07d30710
+dd 0x07d30711
+dd 0x07d30712
+dd 0x07d30713
+dd 0x07d30714
+dd 0x07d30715
+dd 0x07d30716
+dd 0x07d30717
+dd 0x07d30718
+dd 0x07d30719
+dd 0x07d3071a
+dd 0x07d3071b
+dd 0x07d3071c
+dd 0x07d3071d
+dd 0x07d3071e
+dd 0x07d30801
+dd 0x07d30802
+dd 0x07d30803
+dd 0x07d30804
+dd 0x07d30805
+dd 0x07d30806
+dd 0x07d30807
+dd 0x07d30808
+dd 0x07d30809
+dd 0x07d3080a
+dd 0x07d3080b
+dd 0x07d3080c
+dd 0x07d3080d
+dd 0x07d3080e
+dd 0x07d3080f
+dd 0x07d30810
+dd 0x07d30811
+dd 0x07d30812
+dd 0x07d30813
+dd 0x07d30814
+dd 0x07d30815
+dd 0x07d30816
+dd 0x07d30817
+dd 0x07d30818
+dd 0x07d30819
+dd 0x07d3081a
+dd 0x07d3081b
+dd 0x07d3081c
+dd 0x07d3081d
+dd 0x07d30901
+dd 0x07d30902
+dd 0x07d30903
+dd 0x07d30904
+dd 0x07d30905
+dd 0x07d30906
+dd 0x07d30907
+dd 0x07d30908
+dd 0x07d30909
+dd 0x07d3090a
+dd 0x07d3090b
+dd 0x07d3090c
+dd 0x07d3090d
+dd 0x07d3090e
+dd 0x07d3090f
+dd 0x07d30910
+dd 0x07d30911
+dd 0x07d30912
+dd 0x07d30913
+dd 0x07d30914
+dd 0x07d30915
+dd 0x07d30916
+dd 0x07d30917
+dd 0x07d30918
+dd 0x07d30919
+dd 0x07d3091a
+dd 0x07d3091b
+dd 0x07d3091c
+dd 0x07d3091d
+dd 0x07d30a01
+dd 0x07d30a02
+dd 0x07d30a03
+dd 0x07d30a04
+dd 0x07d30a05
+dd 0x07d30a06
+dd 0x07d30a07
+dd 0x07d30a08
+dd 0x07d30a09
+dd 0x07d30a0a
+dd 0x07d30a0b
+dd 0x07d30a0c
+dd 0x07d30a0d
+dd 0x07d30a0e
+dd 0x07d30a0f
+dd 0x07d30a10
+dd 0x07d30a11
+dd 0x07d30a12
+dd 0x07d30a13
+dd 0x07d30a14
+dd 0x07d30a15
+dd 0x07d30a16
+dd 0x07d30a17
+dd 0x07d30a18
+dd 0x07d30a19
+dd 0x07d30a1a
+dd 0x07d30a1b
+dd 0x07d30a1c
+dd 0x07d30a1d
+dd 0x07d30a1e
+dd 0x07d30b01
+dd 0x07d30b02
+dd 0x07d30b03
+dd 0x07d30b04
+dd 0x07d30b05
+dd 0x07d30b06
+dd 0x07d30b07
+dd 0x07d30b08
+dd 0x07d30b09
+dd 0x07d30b0a
+dd 0x07d30b0b
+dd 0x07d30b0c
+dd 0x07d30b0d
+dd 0x07d30b0e
+dd 0x07d30b0f
+dd 0x07d30b10
+dd 0x07d30b11
+dd 0x07d30b12
+dd 0x07d30b13
+dd 0x07d30b14
+dd 0x07d30b15
+dd 0x07d30b16
+dd 0x07d30b17
+dd 0x07d30b18
+dd 0x07d30b19
+dd 0x07d30b1a
+dd 0x07d30b1b
+dd 0x07d30b1c
+dd 0x07d30b1d
+dd 0x07d30c01
+dd 0x07d30c02
+dd 0x07d30c03
+dd 0x07d30c04
+dd 0x07d30c05
+dd 0x07d30c06
+dd 0x07d30c07
+dd 0x07d30c08
+dd 0x07d30c09
+dd 0x07d30c0a
+dd 0x07d30c0b
+dd 0x07d30c0c
+dd 0x07d30c0d
+dd 0x07d30c0e
+dd 0x07d30c0f
+dd 0x07d30c10
+dd 0x07d30c11
+dd 0x07d30c12
+dd 0x07d30c13
+dd 0x07d30c14
+dd 0x07d30c15
+dd 0x07d30c16
+dd 0x07d30c17
+dd 0x07d30c18
+dd 0x07d30c19
+dd 0x07d30c1a
+dd 0x07d30c1b
+dd 0x07d30c1c
+dd 0x07d30c1d
+dd 0x07d30c1e
+dd 0x07d40101
+dd 0x07d40102
+dd 0x07d40103
+dd 0x07d40104
+dd 0x07d40105
+dd 0x07d40106
+dd 0x07d40107
+dd 0x07d40108
+dd 0x07d40109
+dd 0x07d4010a
+dd 0x07d4010b
+dd 0x07d4010c
+dd 0x07d4010d
+dd 0x07d4010e
+dd 0x07d4010f
+dd 0x07d40110
+dd 0x07d40111
+dd 0x07d40112
+dd 0x07d40113
+dd 0x07d40114
+dd 0x07d40115
+dd 0x07d40116
+dd 0x07d40117
+dd 0x07d40118
+dd 0x07d40119
+dd 0x07d4011a
+dd 0x07d4011b
+dd 0x07d4011c
+dd 0x07d4011d
+dd 0x07d40201
+dd 0x07d40202
+dd 0x07d40203
+dd 0x07d40204
+dd 0x07d40205
+dd 0x07d40206
+dd 0x07d40207
+dd 0x07d40208
+dd 0x07d40209
+dd 0x07d4020a
+dd 0x07d4020b
+dd 0x07d4020c
+dd 0x07d4020d
+dd 0x07d4020e
+dd 0x07d4020f
+dd 0x07d40210
+dd 0x07d40211
+dd 0x07d40212
+dd 0x07d40213
+dd 0x07d40214
+dd 0x07d40215
+dd 0x07d40216
+dd 0x07d40217
+dd 0x07d40218
+dd 0x07d40219
+dd 0x07d4021a
+dd 0x07d4021b
+dd 0x07d4021c
+dd 0x07d4021d
+dd 0x07d4021e
+dd 0x07d40201
+dd 0x07d40202
+dd 0x07d40203
+dd 0x07d40204
+dd 0x07d40205
+dd 0x07d40206
+dd 0x07d40207
+dd 0x07d40208
+dd 0x07d40209
+dd 0x07d4020a
+dd 0x07d4020b
+dd 0x07d4020c
+dd 0x07d4020d
+dd 0x07d4020e
+dd 0x07d4020f
+dd 0x07d40210
+dd 0x07d40211
+dd 0x07d40212
+dd 0x07d40213
+dd 0x07d40214
+dd 0x07d40215
+dd 0x07d40216
+dd 0x07d40217
+dd 0x07d40218
+dd 0x07d40219
+dd 0x07d4021a
+dd 0x07d4021b
+dd 0x07d4021c
+dd 0x07d4021d
+dd 0x07d40301
+dd 0x07d40302
+dd 0x07d40303
+dd 0x07d40304
+dd 0x07d40305
+dd 0x07d40306
+dd 0x07d40307
+dd 0x07d40308
+dd 0x07d40309
+dd 0x07d4030a
+dd 0x07d4030b
+dd 0x07d4030c
+dd 0x07d4030d
+dd 0x07d4030e
+dd 0x07d4030f
+dd 0x07d40310
+dd 0x07d40311
+dd 0x07d40312
+dd 0x07d40313
+dd 0x07d40314
+dd 0x07d40315
+dd 0x07d40316
+dd 0x07d40317
+dd 0x07d40318
+dd 0x07d40319
+dd 0x07d4031a
+dd 0x07d4031b
+dd 0x07d4031c
+dd 0x07d4031d
+dd 0x07d4031e
+dd 0x07d40401
+dd 0x07d40402
+dd 0x07d40403
+dd 0x07d40404
+dd 0x07d40405
+dd 0x07d40406
+dd 0x07d40407
+dd 0x07d40408
+dd 0x07d40409
+dd 0x07d4040a
+dd 0x07d4040b
+dd 0x07d4040c
+dd 0x07d4040d
+dd 0x07d4040e
+dd 0x07d4040f
+dd 0x07d40410
+dd 0x07d40411
+dd 0x07d40412
+dd 0x07d40413
+dd 0x07d40414
+dd 0x07d40415
+dd 0x07d40416
+dd 0x07d40417
+dd 0x07d40418
+dd 0x07d40419
+dd 0x07d4041a
+dd 0x07d4041b
+dd 0x07d4041c
+dd 0x07d4041d
+dd 0x07d4041e
+dd 0x07d40501
+dd 0x07d40502
+dd 0x07d40503
+dd 0x07d40504
+dd 0x07d40505
+dd 0x07d40506
+dd 0x07d40507
+dd 0x07d40508
+dd 0x07d40509
+dd 0x07d4050a
+dd 0x07d4050b
+dd 0x07d4050c
+dd 0x07d4050d
+dd 0x07d4050e
+dd 0x07d4050f
+dd 0x07d40510
+dd 0x07d40511
+dd 0x07d40512
+dd 0x07d40513
+dd 0x07d40514
+dd 0x07d40515
+dd 0x07d40516
+dd 0x07d40517
+dd 0x07d40518
+dd 0x07d40519
+dd 0x07d4051a
+dd 0x07d4051b
+dd 0x07d4051c
+dd 0x07d4051d
+dd 0x07d40601
+dd 0x07d40602
+dd 0x07d40603
+dd 0x07d40604
+dd 0x07d40605
+dd 0x07d40606
+dd 0x07d40607
+dd 0x07d40608
+dd 0x07d40609
+dd 0x07d4060a
+dd 0x07d4060b
+dd 0x07d4060c
+dd 0x07d4060d
+dd 0x07d4060e
+dd 0x07d4060f
+dd 0x07d40610
+dd 0x07d40611
+dd 0x07d40612
+dd 0x07d40613
+dd 0x07d40614
+dd 0x07d40615
+dd 0x07d40616
+dd 0x07d40617
+dd 0x07d40618
+dd 0x07d40619
+dd 0x07d4061a
+dd 0x07d4061b
+dd 0x07d4061c
+dd 0x07d4061d
+dd 0x07d4061e
+dd 0x07d40701
+dd 0x07d40702
+dd 0x07d40703
+dd 0x07d40704
+dd 0x07d40705
+dd 0x07d40706
+dd 0x07d40707
+dd 0x07d40708
+dd 0x07d40709
+dd 0x07d4070a
+dd 0x07d4070b
+dd 0x07d4070c
+dd 0x07d4070d
+dd 0x07d4070e
+dd 0x07d4070f
+dd 0x07d40710
+dd 0x07d40711
+dd 0x07d40712
+dd 0x07d40713
+dd 0x07d40714
+dd 0x07d40715
+dd 0x07d40716
+dd 0x07d40717
+dd 0x07d40718
+dd 0x07d40719
+dd 0x07d4071a
+dd 0x07d4071b
+dd 0x07d4071c
+dd 0x07d4071d
+dd 0x07d40801
+dd 0x07d40802
+dd 0x07d40803
+dd 0x07d40804
+dd 0x07d40805
+dd 0x07d40806
+dd 0x07d40807
+dd 0x07d40808
+dd 0x07d40809
+dd 0x07d4080a
+dd 0x07d4080b
+dd 0x07d4080c
+dd 0x07d4080d
+dd 0x07d4080e
+dd 0x07d4080f
+dd 0x07d40810
+dd 0x07d40811
+dd 0x07d40812
+dd 0x07d40813
+dd 0x07d40814
+dd 0x07d40815
+dd 0x07d40816
+dd 0x07d40817
+dd 0x07d40818
+dd 0x07d40819
+dd 0x07d4081a
+dd 0x07d4081b
+dd 0x07d4081c
+dd 0x07d4081d
+dd 0x07d4081e
+dd 0x07d40901
+dd 0x07d40902
+dd 0x07d40903
+dd 0x07d40904
+dd 0x07d40905
+dd 0x07d40906
+dd 0x07d40907
+dd 0x07d40908
+dd 0x07d40909
+dd 0x07d4090a
+dd 0x07d4090b
+dd 0x07d4090c
+dd 0x07d4090d
+dd 0x07d4090e
+dd 0x07d4090f
+dd 0x07d40910
+dd 0x07d40911
+dd 0x07d40912
+dd 0x07d40913
+dd 0x07d40914
+dd 0x07d40915
+dd 0x07d40916
+dd 0x07d40917
+dd 0x07d40918
+dd 0x07d40919
+dd 0x07d4091a
+dd 0x07d4091b
+dd 0x07d4091c
+dd 0x07d4091d
+dd 0x07d40a01
+dd 0x07d40a02
+dd 0x07d40a03
+dd 0x07d40a04
+dd 0x07d40a05
+dd 0x07d40a06
+dd 0x07d40a07
+dd 0x07d40a08
+dd 0x07d40a09
+dd 0x07d40a0a
+dd 0x07d40a0b
+dd 0x07d40a0c
+dd 0x07d40a0d
+dd 0x07d40a0e
+dd 0x07d40a0f
+dd 0x07d40a10
+dd 0x07d40a11
+dd 0x07d40a12
+dd 0x07d40a13
+dd 0x07d40a14
+dd 0x07d40a15
+dd 0x07d40a16
+dd 0x07d40a17
+dd 0x07d40a18
+dd 0x07d40a19
+dd 0x07d40a1a
+dd 0x07d40a1b
+dd 0x07d40a1c
+dd 0x07d40a1d
+dd 0x07d40a1e
+dd 0x07d40b01
+dd 0x07d40b02
+dd 0x07d40b03
+dd 0x07d40b04
+dd 0x07d40b05
+dd 0x07d40b06
+dd 0x07d40b07
+dd 0x07d40b08
+dd 0x07d40b09
+dd 0x07d40b0a
+dd 0x07d40b0b
+dd 0x07d40b0c
+dd 0x07d40b0d
+dd 0x07d40b0e
+dd 0x07d40b0f
+dd 0x07d40b10
+dd 0x07d40b11
+dd 0x07d40b12
+dd 0x07d40b13
+dd 0x07d40b14
+dd 0x07d40b15
+dd 0x07d40b16
+dd 0x07d40b17
+dd 0x07d40b18
+dd 0x07d40b19
+dd 0x07d40b1a
+dd 0x07d40b1b
+dd 0x07d40b1c
+dd 0x07d40b1d
+dd 0x07d40c01
+dd 0x07d40c02
+dd 0x07d40c03
+dd 0x07d40c04
+dd 0x07d40c05
+dd 0x07d40c06
+dd 0x07d40c07
+dd 0x07d40c08
+dd 0x07d40c09
+dd 0x07d40c0a
+dd 0x07d40c0b
+dd 0x07d40c0c
+dd 0x07d40c0d
+dd 0x07d40c0e
+dd 0x07d40c0f
+dd 0x07d40c10
+dd 0x07d40c11
+dd 0x07d40c12
+dd 0x07d40c13
+dd 0x07d40c14
+dd 0x07d40c15
+dd 0x07d40c16
+dd 0x07d40c17
+dd 0x07d40c18
+dd 0x07d40c19
+dd 0x07d40c1a
+dd 0x07d40c1b
+dd 0x07d40c1c
+dd 0x07d40c1d
+dd 0x07d40c1e
+dd 0x07d50101
+dd 0x07d50102
+dd 0x07d50103
+dd 0x07d50104
+dd 0x07d50105
+dd 0x07d50106
+dd 0x07d50107
+dd 0x07d50108
+dd 0x07d50109
+dd 0x07d5010a
+dd 0x07d5010b
+dd 0x07d5010c
+dd 0x07d5010d
+dd 0x07d5010e
+dd 0x07d5010f
+dd 0x07d50110
+dd 0x07d50111
+dd 0x07d50112
+dd 0x07d50113
+dd 0x07d50114
+dd 0x07d50115
+dd 0x07d50116
+dd 0x07d50117
+dd 0x07d50118
+dd 0x07d50119
+dd 0x07d5011a
+dd 0x07d5011b
+dd 0x07d5011c
+dd 0x07d5011d
+dd 0x07d50201
+dd 0x07d50202
+dd 0x07d50203
+dd 0x07d50204
+dd 0x07d50205
+dd 0x07d50206
+dd 0x07d50207
+dd 0x07d50208
+dd 0x07d50209
+dd 0x07d5020a
+dd 0x07d5020b
+dd 0x07d5020c
+dd 0x07d5020d
+dd 0x07d5020e
+dd 0x07d5020f
+dd 0x07d50210
+dd 0x07d50211
+dd 0x07d50212
+dd 0x07d50213
+dd 0x07d50214
+dd 0x07d50215
+dd 0x07d50216
+dd 0x07d50217
+dd 0x07d50218
+dd 0x07d50219
+dd 0x07d5021a
+dd 0x07d5021b
+dd 0x07d5021c
+dd 0x07d5021d
+dd 0x07d5021e
+dd 0x07d50301
+dd 0x07d50302
+dd 0x07d50303
+dd 0x07d50304
+dd 0x07d50305
+dd 0x07d50306
+dd 0x07d50307
+dd 0x07d50308
+dd 0x07d50309
+dd 0x07d5030a
+dd 0x07d5030b
+dd 0x07d5030c
+dd 0x07d5030d
+dd 0x07d5030e
+dd 0x07d5030f
+dd 0x07d50310
+dd 0x07d50311
+dd 0x07d50312
+dd 0x07d50313
+dd 0x07d50314
+dd 0x07d50315
+dd 0x07d50316
+dd 0x07d50317
+dd 0x07d50318
+dd 0x07d50319
+dd 0x07d5031a
+dd 0x07d5031b
+dd 0x07d5031c
+dd 0x07d5031d
+dd 0x07d50401
+dd 0x07d50402
+dd 0x07d50403
+dd 0x07d50404
+dd 0x07d50405
+dd 0x07d50406
+dd 0x07d50407
+dd 0x07d50408
+dd 0x07d50409
+dd 0x07d5040a
+dd 0x07d5040b
+dd 0x07d5040c
+dd 0x07d5040d
+dd 0x07d5040e
+dd 0x07d5040f
+dd 0x07d50410
+dd 0x07d50411
+dd 0x07d50412
+dd 0x07d50413
+dd 0x07d50414
+dd 0x07d50415
+dd 0x07d50416
+dd 0x07d50417
+dd 0x07d50418
+dd 0x07d50419
+dd 0x07d5041a
+dd 0x07d5041b
+dd 0x07d5041c
+dd 0x07d5041d
+dd 0x07d5041e
+dd 0x07d50501
+dd 0x07d50502
+dd 0x07d50503
+dd 0x07d50504
+dd 0x07d50505
+dd 0x07d50506
+dd 0x07d50507
+dd 0x07d50508
+dd 0x07d50509
+dd 0x07d5050a
+dd 0x07d5050b
+dd 0x07d5050c
+dd 0x07d5050d
+dd 0x07d5050e
+dd 0x07d5050f
+dd 0x07d50510
+dd 0x07d50511
+dd 0x07d50512
+dd 0x07d50513
+dd 0x07d50514
+dd 0x07d50515
+dd 0x07d50516
+dd 0x07d50517
+dd 0x07d50518
+dd 0x07d50519
+dd 0x07d5051a
+dd 0x07d5051b
+dd 0x07d5051c
+dd 0x07d5051d
+dd 0x07d50601
+dd 0x07d50602
+dd 0x07d50603
+dd 0x07d50604
+dd 0x07d50605
+dd 0x07d50606
+dd 0x07d50607
+dd 0x07d50608
+dd 0x07d50609
+dd 0x07d5060a
+dd 0x07d5060b
+dd 0x07d5060c
+dd 0x07d5060d
+dd 0x07d5060e
+dd 0x07d5060f
+dd 0x07d50610
+dd 0x07d50611
+dd 0x07d50612
+dd 0x07d50613
+dd 0x07d50614
+dd 0x07d50615
+dd 0x07d50616
+dd 0x07d50617
+dd 0x07d50618
+dd 0x07d50619
+dd 0x07d5061a
+dd 0x07d5061b
+dd 0x07d5061c
+dd 0x07d5061d
+dd 0x07d5061e
+dd 0x07d50701
+dd 0x07d50702
+dd 0x07d50703
+dd 0x07d50704
+dd 0x07d50705
+dd 0x07d50706
+dd 0x07d50707
+dd 0x07d50708
+dd 0x07d50709
+dd 0x07d5070a
+dd 0x07d5070b
+dd 0x07d5070c
+dd 0x07d5070d
+dd 0x07d5070e
+dd 0x07d5070f
+dd 0x07d50710
+dd 0x07d50711
+dd 0x07d50712
+dd 0x07d50713
+dd 0x07d50714
+dd 0x07d50715
+dd 0x07d50716
+dd 0x07d50717
+dd 0x07d50718
+dd 0x07d50719
+dd 0x07d5071a
+dd 0x07d5071b
+dd 0x07d5071c
+dd 0x07d5071d
+dd 0x07d5071e
+dd 0x07d50801
+dd 0x07d50802
+dd 0x07d50803
+dd 0x07d50804
+dd 0x07d50805
+dd 0x07d50806
+dd 0x07d50807
+dd 0x07d50808
+dd 0x07d50809
+dd 0x07d5080a
+dd 0x07d5080b
+dd 0x07d5080c
+dd 0x07d5080d
+dd 0x07d5080e
+dd 0x07d5080f
+dd 0x07d50810
+dd 0x07d50811
+dd 0x07d50812
+dd 0x07d50813
+dd 0x07d50814
+dd 0x07d50815
+dd 0x07d50816
+dd 0x07d50817
+dd 0x07d50818
+dd 0x07d50819
+dd 0x07d5081a
+dd 0x07d5081b
+dd 0x07d5081c
+dd 0x07d5081d
+dd 0x07d50901
+dd 0x07d50902
+dd 0x07d50903
+dd 0x07d50904
+dd 0x07d50905
+dd 0x07d50906
+dd 0x07d50907
+dd 0x07d50908
+dd 0x07d50909
+dd 0x07d5090a
+dd 0x07d5090b
+dd 0x07d5090c
+dd 0x07d5090d
+dd 0x07d5090e
+dd 0x07d5090f
+dd 0x07d50910
+dd 0x07d50911
+dd 0x07d50912
+dd 0x07d50913
+dd 0x07d50914
+dd 0x07d50915
+dd 0x07d50916
+dd 0x07d50917
+dd 0x07d50918
+dd 0x07d50919
+dd 0x07d5091a
+dd 0x07d5091b
+dd 0x07d5091c
+dd 0x07d5091d
+dd 0x07d5091e
+dd 0x07d50a01
+dd 0x07d50a02
+dd 0x07d50a03
+dd 0x07d50a04
+dd 0x07d50a05
+dd 0x07d50a06
+dd 0x07d50a07
+dd 0x07d50a08
+dd 0x07d50a09
+dd 0x07d50a0a
+dd 0x07d50a0b
+dd 0x07d50a0c
+dd 0x07d50a0d
+dd 0x07d50a0e
+dd 0x07d50a0f
+dd 0x07d50a10
+dd 0x07d50a11
+dd 0x07d50a12
+dd 0x07d50a13
+dd 0x07d50a14
+dd 0x07d50a15
+dd 0x07d50a16
+dd 0x07d50a17
+dd 0x07d50a18
+dd 0x07d50a19
+dd 0x07d50a1a
+dd 0x07d50a1b
+dd 0x07d50a1c
+dd 0x07d50a1d
+dd 0x07d50b01
+dd 0x07d50b02
+dd 0x07d50b03
+dd 0x07d50b04
+dd 0x07d50b05
+dd 0x07d50b06
+dd 0x07d50b07
+dd 0x07d50b08
+dd 0x07d50b09
+dd 0x07d50b0a
+dd 0x07d50b0b
+dd 0x07d50b0c
+dd 0x07d50b0d
+dd 0x07d50b0e
+dd 0x07d50b0f
+dd 0x07d50b10
+dd 0x07d50b11
+dd 0x07d50b12
+dd 0x07d50b13
+dd 0x07d50b14
+dd 0x07d50b15
+dd 0x07d50b16
+dd 0x07d50b17
+dd 0x07d50b18
+dd 0x07d50b19
+dd 0x07d50b1a
+dd 0x07d50b1b
+dd 0x07d50b1c
+dd 0x07d50b1d
+dd 0x07d50b1e
+dd 0x07d50c01
+dd 0x07d50c02
+dd 0x07d50c03
+dd 0x07d50c04
+dd 0x07d50c05
+dd 0x07d50c06
+dd 0x07d50c07
+dd 0x07d50c08
+dd 0x07d50c09
+dd 0x07d50c0a
+dd 0x07d50c0b
+dd 0x07d50c0c
+dd 0x07d50c0d
+dd 0x07d50c0e
+dd 0x07d50c0f
+dd 0x07d50c10
+dd 0x07d50c11
+dd 0x07d50c12
+dd 0x07d50c13
+dd 0x07d50c14
+dd 0x07d50c15
+dd 0x07d50c16
+dd 0x07d50c17
+dd 0x07d50c18
+dd 0x07d50c19
+dd 0x07d50c1a
+dd 0x07d50c1b
+dd 0x07d50c1c
+dd 0x07d50c1d
+dd 0x07d60101
+dd 0x07d60102
+dd 0x07d60103
+dd 0x07d60104
+dd 0x07d60105
+dd 0x07d60106
+dd 0x07d60107
+dd 0x07d60108
+dd 0x07d60109
+dd 0x07d6010a
+dd 0x07d6010b
+dd 0x07d6010c
+dd 0x07d6010d
+dd 0x07d6010e
+dd 0x07d6010f
+dd 0x07d60110
+dd 0x07d60111
+dd 0x07d60112
+dd 0x07d60113
+dd 0x07d60114
+dd 0x07d60115
+dd 0x07d60116
+dd 0x07d60117
+dd 0x07d60118
+dd 0x07d60119
+dd 0x07d6011a
+dd 0x07d6011b
+dd 0x07d6011c
+dd 0x07d6011d
+dd 0x07d6011e
+dd 0x07d60201
+dd 0x07d60202
+dd 0x07d60203
+dd 0x07d60204
+dd 0x07d60205
+dd 0x07d60206
+dd 0x07d60207
+dd 0x07d60208
+dd 0x07d60209
+dd 0x07d6020a
+dd 0x07d6020b
+dd 0x07d6020c
+dd 0x07d6020d
+dd 0x07d6020e
+dd 0x07d6020f
+dd 0x07d60210
+dd 0x07d60211
+dd 0x07d60212
+dd 0x07d60213
+dd 0x07d60214
+dd 0x07d60215
+dd 0x07d60216
+dd 0x07d60217
+dd 0x07d60218
+dd 0x07d60219
+dd 0x07d6021a
+dd 0x07d6021b
+dd 0x07d6021c
+dd 0x07d6021d
+dd 0x07d60301
+dd 0x07d60302
+dd 0x07d60303
+dd 0x07d60304
+dd 0x07d60305
+dd 0x07d60306
+dd 0x07d60307
+dd 0x07d60308
+dd 0x07d60309
+dd 0x07d6030a
+dd 0x07d6030b
+dd 0x07d6030c
+dd 0x07d6030d
+dd 0x07d6030e
+dd 0x07d6030f
+dd 0x07d60310
+dd 0x07d60311
+dd 0x07d60312
+dd 0x07d60313
+dd 0x07d60314
+dd 0x07d60315
+dd 0x07d60316
+dd 0x07d60317
+dd 0x07d60318
+dd 0x07d60319
+dd 0x07d6031a
+dd 0x07d6031b
+dd 0x07d6031c
+dd 0x07d6031d
+dd 0x07d6031e
+dd 0x07d60401
+dd 0x07d60402
+dd 0x07d60403
+dd 0x07d60404
+dd 0x07d60405
+dd 0x07d60406
+dd 0x07d60407
+dd 0x07d60408
+dd 0x07d60409
+dd 0x07d6040a
+dd 0x07d6040b
+dd 0x07d6040c
+dd 0x07d6040d
+dd 0x07d6040e
+dd 0x07d6040f
+dd 0x07d60410
+dd 0x07d60411
+dd 0x07d60412
+dd 0x07d60413
+dd 0x07d60414
+dd 0x07d60415
+dd 0x07d60416
+dd 0x07d60417
+dd 0x07d60418
+dd 0x07d60419
+dd 0x07d6041a
+dd 0x07d6041b
+dd 0x07d6041c
+dd 0x07d6041d
+dd 0x07d60501
+dd 0x07d60502
+dd 0x07d60503
+dd 0x07d60504
+dd 0x07d60505
+dd 0x07d60506
+dd 0x07d60507
+dd 0x07d60508
+dd 0x07d60509
+dd 0x07d6050a
+dd 0x07d6050b
+dd 0x07d6050c
+dd 0x07d6050d
+dd 0x07d6050e
+dd 0x07d6050f
+dd 0x07d60510
+dd 0x07d60511
+dd 0x07d60512
+dd 0x07d60513
+dd 0x07d60514
+dd 0x07d60515
+dd 0x07d60516
+dd 0x07d60517
+dd 0x07d60518
+dd 0x07d60519
+dd 0x07d6051a
+dd 0x07d6051b
+dd 0x07d6051c
+dd 0x07d6051d
+dd 0x07d6051e
+dd 0x07d60601
+dd 0x07d60602
+dd 0x07d60603
+dd 0x07d60604
+dd 0x07d60605
+dd 0x07d60606
+dd 0x07d60607
+dd 0x07d60608
+dd 0x07d60609
+dd 0x07d6060a
+dd 0x07d6060b
+dd 0x07d6060c
+dd 0x07d6060d
+dd 0x07d6060e
+dd 0x07d6060f
+dd 0x07d60610
+dd 0x07d60611
+dd 0x07d60612
+dd 0x07d60613
+dd 0x07d60614
+dd 0x07d60615
+dd 0x07d60616
+dd 0x07d60617
+dd 0x07d60618
+dd 0x07d60619
+dd 0x07d6061a
+dd 0x07d6061b
+dd 0x07d6061c
+dd 0x07d6061d
+dd 0x07d60701
+dd 0x07d60702
+dd 0x07d60703
+dd 0x07d60704
+dd 0x07d60705
+dd 0x07d60706
+dd 0x07d60707
+dd 0x07d60708
+dd 0x07d60709
+dd 0x07d6070a
+dd 0x07d6070b
+dd 0x07d6070c
+dd 0x07d6070d
+dd 0x07d6070e
+dd 0x07d6070f
+dd 0x07d60710
+dd 0x07d60711
+dd 0x07d60712
+dd 0x07d60713
+dd 0x07d60714
+dd 0x07d60715
+dd 0x07d60716
+dd 0x07d60717
+dd 0x07d60718
+dd 0x07d60719
+dd 0x07d6071a
+dd 0x07d6071b
+dd 0x07d6071c
+dd 0x07d6071d
+dd 0x07d6071e
+dd 0x07d60701
+dd 0x07d60702
+dd 0x07d60703
+dd 0x07d60704
+dd 0x07d60705
+dd 0x07d60706
+dd 0x07d60707
+dd 0x07d60708
+dd 0x07d60709
+dd 0x07d6070a
+dd 0x07d6070b
+dd 0x07d6070c
+dd 0x07d6070d
+dd 0x07d6070e
+dd 0x07d6070f
+dd 0x07d60710
+dd 0x07d60711
+dd 0x07d60712
+dd 0x07d60713
+dd 0x07d60714
+dd 0x07d60715
+dd 0x07d60716
+dd 0x07d60717
+dd 0x07d60718
+dd 0x07d60719
+dd 0x07d6071a
+dd 0x07d6071b
+dd 0x07d6071c
+dd 0x07d6071d
+dd 0x07d60801
+dd 0x07d60802
+dd 0x07d60803
+dd 0x07d60804
+dd 0x07d60805
+dd 0x07d60806
+dd 0x07d60807
+dd 0x07d60808
+dd 0x07d60809
+dd 0x07d6080a
+dd 0x07d6080b
+dd 0x07d6080c
+dd 0x07d6080d
+dd 0x07d6080e
+dd 0x07d6080f
+dd 0x07d60810
+dd 0x07d60811
+dd 0x07d60812
+dd 0x07d60813
+dd 0x07d60814
+dd 0x07d60815
+dd 0x07d60816
+dd 0x07d60817
+dd 0x07d60818
+dd 0x07d60819
+dd 0x07d6081a
+dd 0x07d6081b
+dd 0x07d6081c
+dd 0x07d6081d
+dd 0x07d6081e
+dd 0x07d60901
+dd 0x07d60902
+dd 0x07d60903
+dd 0x07d60904
+dd 0x07d60905
+dd 0x07d60906
+dd 0x07d60907
+dd 0x07d60908
+dd 0x07d60909
+dd 0x07d6090a
+dd 0x07d6090b
+dd 0x07d6090c
+dd 0x07d6090d
+dd 0x07d6090e
+dd 0x07d6090f
+dd 0x07d60910
+dd 0x07d60911
+dd 0x07d60912
+dd 0x07d60913
+dd 0x07d60914
+dd 0x07d60915
+dd 0x07d60916
+dd 0x07d60917
+dd 0x07d60918
+dd 0x07d60919
+dd 0x07d6091a
+dd 0x07d6091b
+dd 0x07d6091c
+dd 0x07d6091d
+dd 0x07d6091e
+dd 0x07d60a01
+dd 0x07d60a02
+dd 0x07d60a03
+dd 0x07d60a04
+dd 0x07d60a05
+dd 0x07d60a06
+dd 0x07d60a07
+dd 0x07d60a08
+dd 0x07d60a09
+dd 0x07d60a0a
+dd 0x07d60a0b
+dd 0x07d60a0c
+dd 0x07d60a0d
+dd 0x07d60a0e
+dd 0x07d60a0f
+dd 0x07d60a10
+dd 0x07d60a11
+dd 0x07d60a12
+dd 0x07d60a13
+dd 0x07d60a14
+dd 0x07d60a15
+dd 0x07d60a16
+dd 0x07d60a17
+dd 0x07d60a18
+dd 0x07d60a19
+dd 0x07d60a1a
+dd 0x07d60a1b
+dd 0x07d60a1c
+dd 0x07d60a1d
+dd 0x07d60b01
+dd 0x07d60b02
+dd 0x07d60b03
+dd 0x07d60b04
+dd 0x07d60b05
+dd 0x07d60b06
+dd 0x07d60b07
+dd 0x07d60b08
+dd 0x07d60b09
+dd 0x07d60b0a
+dd 0x07d60b0b
+dd 0x07d60b0c
+dd 0x07d60b0d
+dd 0x07d60b0e
+dd 0x07d60b0f
+dd 0x07d60b10
+dd 0x07d60b11
+dd 0x07d60b12
+dd 0x07d60b13
+dd 0x07d60b14
+dd 0x07d60b15
+dd 0x07d60b16
+dd 0x07d60b17
+dd 0x07d60b18
+dd 0x07d60b19
+dd 0x07d60b1a
+dd 0x07d60b1b
+dd 0x07d60b1c
+dd 0x07d60b1d
+dd 0x07d60b1e
+dd 0x07d60c01
+dd 0x07d60c02
+dd 0x07d60c03
+dd 0x07d60c04
+dd 0x07d60c05
+dd 0x07d60c06
+dd 0x07d60c07
+dd 0x07d60c08
+dd 0x07d60c09
+dd 0x07d60c0a
+dd 0x07d60c0b
+dd 0x07d60c0c
+dd 0x07d60c0d
+dd 0x07d60c0e
+dd 0x07d60c0f
+dd 0x07d60c10
+dd 0x07d60c11
+dd 0x07d60c12
+dd 0x07d60c13
+dd 0x07d60c14
+dd 0x07d60c15
+dd 0x07d60c16
+dd 0x07d60c17
+dd 0x07d60c18
+dd 0x07d60c19
+dd 0x07d60c1a
+dd 0x07d60c1b
+dd 0x07d60c1c
+dd 0x07d60c1d
+dd 0x07d60c1e
+dd 0x07d70101
+dd 0x07d70102
+dd 0x07d70103
+dd 0x07d70104
+dd 0x07d70105
+dd 0x07d70106
+dd 0x07d70107
+dd 0x07d70108
+dd 0x07d70109
+dd 0x07d7010a
+dd 0x07d7010b
+dd 0x07d7010c
+dd 0x07d7010d
+dd 0x07d7010e
+dd 0x07d7010f
+dd 0x07d70110
+dd 0x07d70111
+dd 0x07d70112
+dd 0x07d70113
+dd 0x07d70114
+dd 0x07d70115
+dd 0x07d70116
+dd 0x07d70117
+dd 0x07d70118
+dd 0x07d70119
+dd 0x07d7011a
+dd 0x07d7011b
+dd 0x07d7011c
+dd 0x07d7011d
+dd 0x07d70201
+dd 0x07d70202
+dd 0x07d70203
+dd 0x07d70204
+dd 0x07d70205
+dd 0x07d70206
+dd 0x07d70207
+dd 0x07d70208
+dd 0x07d70209
+dd 0x07d7020a
+dd 0x07d7020b
+dd 0x07d7020c
+dd 0x07d7020d
+dd 0x07d7020e
+dd 0x07d7020f
+dd 0x07d70210
+dd 0x07d70211
+dd 0x07d70212
+dd 0x07d70213
+dd 0x07d70214
+dd 0x07d70215
+dd 0x07d70216
+dd 0x07d70217
+dd 0x07d70218
+dd 0x07d70219
+dd 0x07d7021a
+dd 0x07d7021b
+dd 0x07d7021c
+dd 0x07d7021d
+dd 0x07d70301
+dd 0x07d70302
+dd 0x07d70303
+dd 0x07d70304
+dd 0x07d70305
+dd 0x07d70306
+dd 0x07d70307
+dd 0x07d70308
+dd 0x07d70309
+dd 0x07d7030a
+dd 0x07d7030b
+dd 0x07d7030c
+dd 0x07d7030d
+dd 0x07d7030e
+dd 0x07d7030f
+dd 0x07d70310
+dd 0x07d70311
+dd 0x07d70312
+dd 0x07d70313
+dd 0x07d70314
+dd 0x07d70315
+dd 0x07d70316
+dd 0x07d70317
+dd 0x07d70318
+dd 0x07d70319
+dd 0x07d7031a
+dd 0x07d7031b
+dd 0x07d7031c
+dd 0x07d7031d
+dd 0x07d7031e
+dd 0x07d70401
+dd 0x07d70402
+dd 0x07d70403
+dd 0x07d70404
+dd 0x07d70405
+dd 0x07d70406
+dd 0x07d70407
+dd 0x07d70408
+dd 0x07d70409
+dd 0x07d7040a
+dd 0x07d7040b
+dd 0x07d7040c
+dd 0x07d7040d
+dd 0x07d7040e
+dd 0x07d7040f
+dd 0x07d70410
+dd 0x07d70411
+dd 0x07d70412
+dd 0x07d70413
+dd 0x07d70414
+dd 0x07d70415
+dd 0x07d70416
+dd 0x07d70417
+dd 0x07d70418
+dd 0x07d70419
+dd 0x07d7041a
+dd 0x07d7041b
+dd 0x07d7041c
+dd 0x07d7041d
+dd 0x07d70501
+dd 0x07d70502
+dd 0x07d70503
+dd 0x07d70504
+dd 0x07d70505
+dd 0x07d70506
+dd 0x07d70507
+dd 0x07d70508
+dd 0x07d70509
+dd 0x07d7050a
+dd 0x07d7050b
+dd 0x07d7050c
+dd 0x07d7050d
+dd 0x07d7050e
+dd 0x07d7050f
+dd 0x07d70510
+dd 0x07d70511
+dd 0x07d70512
+dd 0x07d70513
+dd 0x07d70514
+dd 0x07d70515
+dd 0x07d70516
+dd 0x07d70517
+dd 0x07d70518
+dd 0x07d70519
+dd 0x07d7051a
+dd 0x07d7051b
+dd 0x07d7051c
+dd 0x07d7051d
+dd 0x07d70601
+dd 0x07d70602
+dd 0x07d70603
+dd 0x07d70604
+dd 0x07d70605
+dd 0x07d70606
+dd 0x07d70607
+dd 0x07d70608
+dd 0x07d70609
+dd 0x07d7060a
+dd 0x07d7060b
+dd 0x07d7060c
+dd 0x07d7060d
+dd 0x07d7060e
+dd 0x07d7060f
+dd 0x07d70610
+dd 0x07d70611
+dd 0x07d70612
+dd 0x07d70613
+dd 0x07d70614
+dd 0x07d70615
+dd 0x07d70616
+dd 0x07d70617
+dd 0x07d70618
+dd 0x07d70619
+dd 0x07d7061a
+dd 0x07d7061b
+dd 0x07d7061c
+dd 0x07d7061d
+dd 0x07d7061e
+dd 0x07d70701
+dd 0x07d70702
+dd 0x07d70703
+dd 0x07d70704
+dd 0x07d70705
+dd 0x07d70706
+dd 0x07d70707
+dd 0x07d70708
+dd 0x07d70709
+dd 0x07d7070a
+dd 0x07d7070b
+dd 0x07d7070c
+dd 0x07d7070d
+dd 0x07d7070e
+dd 0x07d7070f
+dd 0x07d70710
+dd 0x07d70711
+dd 0x07d70712
+dd 0x07d70713
+dd 0x07d70714
+dd 0x07d70715
+dd 0x07d70716
+dd 0x07d70717
+dd 0x07d70718
+dd 0x07d70719
+dd 0x07d7071a
+dd 0x07d7071b
+dd 0x07d7071c
+dd 0x07d7071d
+dd 0x07d70801
+dd 0x07d70802
+dd 0x07d70803
+dd 0x07d70804
+dd 0x07d70805
+dd 0x07d70806
+dd 0x07d70807
+dd 0x07d70808
+dd 0x07d70809
+dd 0x07d7080a
+dd 0x07d7080b
+dd 0x07d7080c
+dd 0x07d7080d
+dd 0x07d7080e
+dd 0x07d7080f
+dd 0x07d70810
+dd 0x07d70811
+dd 0x07d70812
+dd 0x07d70813
+dd 0x07d70814
+dd 0x07d70815
+dd 0x07d70816
+dd 0x07d70817
+dd 0x07d70818
+dd 0x07d70819
+dd 0x07d7081a
+dd 0x07d7081b
+dd 0x07d7081c
+dd 0x07d7081d
+dd 0x07d7081e
+dd 0x07d70901
+dd 0x07d70902
+dd 0x07d70903
+dd 0x07d70904
+dd 0x07d70905
+dd 0x07d70906
+dd 0x07d70907
+dd 0x07d70908
+dd 0x07d70909
+dd 0x07d7090a
+dd 0x07d7090b
+dd 0x07d7090c
+dd 0x07d7090d
+dd 0x07d7090e
+dd 0x07d7090f
+dd 0x07d70910
+dd 0x07d70911
+dd 0x07d70912
+dd 0x07d70913
+dd 0x07d70914
+dd 0x07d70915
+dd 0x07d70916
+dd 0x07d70917
+dd 0x07d70918
+dd 0x07d70919
+dd 0x07d7091a
+dd 0x07d7091b
+dd 0x07d7091c
+dd 0x07d7091d
+dd 0x07d7091e
+dd 0x07d70a01
+dd 0x07d70a02
+dd 0x07d70a03
+dd 0x07d70a04
+dd 0x07d70a05
+dd 0x07d70a06
+dd 0x07d70a07
+dd 0x07d70a08
+dd 0x07d70a09
+dd 0x07d70a0a
+dd 0x07d70a0b
+dd 0x07d70a0c
+dd 0x07d70a0d
+dd 0x07d70a0e
+dd 0x07d70a0f
+dd 0x07d70a10
+dd 0x07d70a11
+dd 0x07d70a12
+dd 0x07d70a13
+dd 0x07d70a14
+dd 0x07d70a15
+dd 0x07d70a16
+dd 0x07d70a17
+dd 0x07d70a18
+dd 0x07d70a19
+dd 0x07d70a1a
+dd 0x07d70a1b
+dd 0x07d70a1c
+dd 0x07d70a1d
+dd 0x07d70a1e
+dd 0x07d70b01
+dd 0x07d70b02
+dd 0x07d70b03
+dd 0x07d70b04
+dd 0x07d70b05
+dd 0x07d70b06
+dd 0x07d70b07
+dd 0x07d70b08
+dd 0x07d70b09
+dd 0x07d70b0a
+dd 0x07d70b0b
+dd 0x07d70b0c
+dd 0x07d70b0d
+dd 0x07d70b0e
+dd 0x07d70b0f
+dd 0x07d70b10
+dd 0x07d70b11
+dd 0x07d70b12
+dd 0x07d70b13
+dd 0x07d70b14
+dd 0x07d70b15
+dd 0x07d70b16
+dd 0x07d70b17
+dd 0x07d70b18
+dd 0x07d70b19
+dd 0x07d70b1a
+dd 0x07d70b1b
+dd 0x07d70b1c
+dd 0x07d70b1d
+dd 0x07d70c01
+dd 0x07d70c02
+dd 0x07d70c03
+dd 0x07d70c04
+dd 0x07d70c05
+dd 0x07d70c06
+dd 0x07d70c07
+dd 0x07d70c08
+dd 0x07d70c09
+dd 0x07d70c0a
+dd 0x07d70c0b
+dd 0x07d70c0c
+dd 0x07d70c0d
+dd 0x07d70c0e
+dd 0x07d70c0f
+dd 0x07d70c10
+dd 0x07d70c11
+dd 0x07d70c12
+dd 0x07d70c13
+dd 0x07d70c14
+dd 0x07d70c15
+dd 0x07d70c16
+dd 0x07d70c17
+dd 0x07d70c18
+dd 0x07d70c19
+dd 0x07d70c1a
+dd 0x07d70c1b
+dd 0x07d70c1c
+dd 0x07d70c1d
+dd 0x07d70c1e
+dd 0x07d80101
+dd 0x07d80102
+dd 0x07d80103
+dd 0x07d80104
+dd 0x07d80105
+dd 0x07d80106
+dd 0x07d80107
+dd 0x07d80108
+dd 0x07d80109
+dd 0x07d8010a
+dd 0x07d8010b
+dd 0x07d8010c
+dd 0x07d8010d
+dd 0x07d8010e
+dd 0x07d8010f
+dd 0x07d80110
+dd 0x07d80111
+dd 0x07d80112
+dd 0x07d80113
+dd 0x07d80114
+dd 0x07d80115
+dd 0x07d80116
+dd 0x07d80117
+dd 0x07d80118
+dd 0x07d80119
+dd 0x07d8011a
+dd 0x07d8011b
+dd 0x07d8011c
+dd 0x07d8011d
+dd 0x07d8011e
+dd 0x07d80201
+dd 0x07d80202
+dd 0x07d80203
+dd 0x07d80204
+dd 0x07d80205
+dd 0x07d80206
+dd 0x07d80207
+dd 0x07d80208
+dd 0x07d80209
+dd 0x07d8020a
+dd 0x07d8020b
+dd 0x07d8020c
+dd 0x07d8020d
+dd 0x07d8020e
+dd 0x07d8020f
+dd 0x07d80210
+dd 0x07d80211
+dd 0x07d80212
+dd 0x07d80213
+dd 0x07d80214
+dd 0x07d80215
+dd 0x07d80216
+dd 0x07d80217
+dd 0x07d80218
+dd 0x07d80219
+dd 0x07d8021a
+dd 0x07d8021b
+dd 0x07d8021c
+dd 0x07d8021d
+dd 0x07d80301
+dd 0x07d80302
+dd 0x07d80303
+dd 0x07d80304
+dd 0x07d80305
+dd 0x07d80306
+dd 0x07d80307
+dd 0x07d80308
+dd 0x07d80309
+dd 0x07d8030a
+dd 0x07d8030b
+dd 0x07d8030c
+dd 0x07d8030d
+dd 0x07d8030e
+dd 0x07d8030f
+dd 0x07d80310
+dd 0x07d80311
+dd 0x07d80312
+dd 0x07d80313
+dd 0x07d80314
+dd 0x07d80315
+dd 0x07d80316
+dd 0x07d80317
+dd 0x07d80318
+dd 0x07d80319
+dd 0x07d8031a
+dd 0x07d8031b
+dd 0x07d8031c
+dd 0x07d8031d
+dd 0x07d80401
+dd 0x07d80402
+dd 0x07d80403
+dd 0x07d80404
+dd 0x07d80405
+dd 0x07d80406
+dd 0x07d80407
+dd 0x07d80408
+dd 0x07d80409
+dd 0x07d8040a
+dd 0x07d8040b
+dd 0x07d8040c
+dd 0x07d8040d
+dd 0x07d8040e
+dd 0x07d8040f
+dd 0x07d80410
+dd 0x07d80411
+dd 0x07d80412
+dd 0x07d80413
+dd 0x07d80414
+dd 0x07d80415
+dd 0x07d80416
+dd 0x07d80417
+dd 0x07d80418
+dd 0x07d80419
+dd 0x07d8041a
+dd 0x07d8041b
+dd 0x07d8041c
+dd 0x07d8041d
+dd 0x07d8041e
+dd 0x07d80501
+dd 0x07d80502
+dd 0x07d80503
+dd 0x07d80504
+dd 0x07d80505
+dd 0x07d80506
+dd 0x07d80507
+dd 0x07d80508
+dd 0x07d80509
+dd 0x07d8050a
+dd 0x07d8050b
+dd 0x07d8050c
+dd 0x07d8050d
+dd 0x07d8050e
+dd 0x07d8050f
+dd 0x07d80510
+dd 0x07d80511
+dd 0x07d80512
+dd 0x07d80513
+dd 0x07d80514
+dd 0x07d80515
+dd 0x07d80516
+dd 0x07d80517
+dd 0x07d80518
+dd 0x07d80519
+dd 0x07d8051a
+dd 0x07d8051b
+dd 0x07d8051c
+dd 0x07d8051d
+dd 0x07d80601
+dd 0x07d80602
+dd 0x07d80603
+dd 0x07d80604
+dd 0x07d80605
+dd 0x07d80606
+dd 0x07d80607
+dd 0x07d80608
+dd 0x07d80609
+dd 0x07d8060a
+dd 0x07d8060b
+dd 0x07d8060c
+dd 0x07d8060d
+dd 0x07d8060e
+dd 0x07d8060f
+dd 0x07d80610
+dd 0x07d80611
+dd 0x07d80612
+dd 0x07d80613
+dd 0x07d80614
+dd 0x07d80615
+dd 0x07d80616
+dd 0x07d80617
+dd 0x07d80618
+dd 0x07d80619
+dd 0x07d8061a
+dd 0x07d8061b
+dd 0x07d8061c
+dd 0x07d8061d
+dd 0x07d80701
+dd 0x07d80702
+dd 0x07d80703
+dd 0x07d80704
+dd 0x07d80705
+dd 0x07d80706
+dd 0x07d80707
+dd 0x07d80708
+dd 0x07d80709
+dd 0x07d8070a
+dd 0x07d8070b
+dd 0x07d8070c
+dd 0x07d8070d
+dd 0x07d8070e
+dd 0x07d8070f
+dd 0x07d80710
+dd 0x07d80711
+dd 0x07d80712
+dd 0x07d80713
+dd 0x07d80714
+dd 0x07d80715
+dd 0x07d80716
+dd 0x07d80717
+dd 0x07d80718
+dd 0x07d80719
+dd 0x07d8071a
+dd 0x07d8071b
+dd 0x07d8071c
+dd 0x07d8071d
+dd 0x07d8071e
+dd 0x07d80801
+dd 0x07d80802
+dd 0x07d80803
+dd 0x07d80804
+dd 0x07d80805
+dd 0x07d80806
+dd 0x07d80807
+dd 0x07d80808
+dd 0x07d80809
+dd 0x07d8080a
+dd 0x07d8080b
+dd 0x07d8080c
+dd 0x07d8080d
+dd 0x07d8080e
+dd 0x07d8080f
+dd 0x07d80810
+dd 0x07d80811
+dd 0x07d80812
+dd 0x07d80813
+dd 0x07d80814
+dd 0x07d80815
+dd 0x07d80816
+dd 0x07d80817
+dd 0x07d80818
+dd 0x07d80819
+dd 0x07d8081a
+dd 0x07d8081b
+dd 0x07d8081c
+dd 0x07d8081d
+dd 0x07d80901
+dd 0x07d80902
+dd 0x07d80903
+dd 0x07d80904
+dd 0x07d80905
+dd 0x07d80906
+dd 0x07d80907
+dd 0x07d80908
+dd 0x07d80909
+dd 0x07d8090a
+dd 0x07d8090b
+dd 0x07d8090c
+dd 0x07d8090d
+dd 0x07d8090e
+dd 0x07d8090f
+dd 0x07d80910
+dd 0x07d80911
+dd 0x07d80912
+dd 0x07d80913
+dd 0x07d80914
+dd 0x07d80915
+dd 0x07d80916
+dd 0x07d80917
+dd 0x07d80918
+dd 0x07d80919
+dd 0x07d8091a
+dd 0x07d8091b
+dd 0x07d8091c
+dd 0x07d8091d
+dd 0x07d8091e
+dd 0x07d80a01
+dd 0x07d80a02
+dd 0x07d80a03
+dd 0x07d80a04
+dd 0x07d80a05
+dd 0x07d80a06
+dd 0x07d80a07
+dd 0x07d80a08
+dd 0x07d80a09
+dd 0x07d80a0a
+dd 0x07d80a0b
+dd 0x07d80a0c
+dd 0x07d80a0d
+dd 0x07d80a0e
+dd 0x07d80a0f
+dd 0x07d80a10
+dd 0x07d80a11
+dd 0x07d80a12
+dd 0x07d80a13
+dd 0x07d80a14
+dd 0x07d80a15
+dd 0x07d80a16
+dd 0x07d80a17
+dd 0x07d80a18
+dd 0x07d80a19
+dd 0x07d80a1a
+dd 0x07d80a1b
+dd 0x07d80a1c
+dd 0x07d80a1d
+dd 0x07d80a1e
+dd 0x07d80b01
+dd 0x07d80b02
+dd 0x07d80b03
+dd 0x07d80b04
+dd 0x07d80b05
+dd 0x07d80b06
+dd 0x07d80b07
+dd 0x07d80b08
+dd 0x07d80b09
+dd 0x07d80b0a
+dd 0x07d80b0b
+dd 0x07d80b0c
+dd 0x07d80b0d
+dd 0x07d80b0e
+dd 0x07d80b0f
+dd 0x07d80b10
+dd 0x07d80b11
+dd 0x07d80b12
+dd 0x07d80b13
+dd 0x07d80b14
+dd 0x07d80b15
+dd 0x07d80b16
+dd 0x07d80b17
+dd 0x07d80b18
+dd 0x07d80b19
+dd 0x07d80b1a
+dd 0x07d80b1b
+dd 0x07d80b1c
+dd 0x07d80b1d
+dd 0x07d80c01
+dd 0x07d80c02
+dd 0x07d80c03
+dd 0x07d80c04
+dd 0x07d80c05
+dd 0x07d80c06
+dd 0x07d80c07
+dd 0x07d80c08
+dd 0x07d80c09
+dd 0x07d80c0a
+dd 0x07d80c0b
+dd 0x07d80c0c
+dd 0x07d80c0d
+dd 0x07d80c0e
+dd 0x07d80c0f
+dd 0x07d80c10
+dd 0x07d80c11
+dd 0x07d80c12
+dd 0x07d80c13
+dd 0x07d80c14
+dd 0x07d80c15
+dd 0x07d80c16
+dd 0x07d80c17
+dd 0x07d80c18
+dd 0x07d80c19
+dd 0x07d80c1a
+dd 0x07d80c1b
+dd 0x07d80c1c
+dd 0x07d80c1d
+dd 0x07d80c1e
+dd 0x07d90101
+dd 0x07d90102
+dd 0x07d90103
+dd 0x07d90104
+dd 0x07d90105
+dd 0x07d90106
+dd 0x07d90107
+dd 0x07d90108
+dd 0x07d90109
+dd 0x07d9010a
+dd 0x07d9010b
+dd 0x07d9010c
+dd 0x07d9010d
+dd 0x07d9010e
+dd 0x07d9010f
+dd 0x07d90110
+dd 0x07d90111
+dd 0x07d90112
+dd 0x07d90113
+dd 0x07d90114
+dd 0x07d90115
+dd 0x07d90116
+dd 0x07d90117
+dd 0x07d90118
+dd 0x07d90119
+dd 0x07d9011a
+dd 0x07d9011b
+dd 0x07d9011c
+dd 0x07d9011d
+dd 0x07d9011e
+dd 0x07d90201
+dd 0x07d90202
+dd 0x07d90203
+dd 0x07d90204
+dd 0x07d90205
+dd 0x07d90206
+dd 0x07d90207
+dd 0x07d90208
+dd 0x07d90209
+dd 0x07d9020a
+dd 0x07d9020b
+dd 0x07d9020c
+dd 0x07d9020d
+dd 0x07d9020e
+dd 0x07d9020f
+dd 0x07d90210
+dd 0x07d90211
+dd 0x07d90212
+dd 0x07d90213
+dd 0x07d90214
+dd 0x07d90215
+dd 0x07d90216
+dd 0x07d90217
+dd 0x07d90218
+dd 0x07d90219
+dd 0x07d9021a
+dd 0x07d9021b
+dd 0x07d9021c
+dd 0x07d9021d
+dd 0x07d9021e
+dd 0x07d90301
+dd 0x07d90302
+dd 0x07d90303
+dd 0x07d90304
+dd 0x07d90305
+dd 0x07d90306
+dd 0x07d90307
+dd 0x07d90308
+dd 0x07d90309
+dd 0x07d9030a
+dd 0x07d9030b
+dd 0x07d9030c
+dd 0x07d9030d
+dd 0x07d9030e
+dd 0x07d9030f
+dd 0x07d90310
+dd 0x07d90311
+dd 0x07d90312
+dd 0x07d90313
+dd 0x07d90314
+dd 0x07d90315
+dd 0x07d90316
+dd 0x07d90317
+dd 0x07d90318
+dd 0x07d90319
+dd 0x07d9031a
+dd 0x07d9031b
+dd 0x07d9031c
+dd 0x07d9031d
+dd 0x07d90401
+dd 0x07d90402
+dd 0x07d90403
+dd 0x07d90404
+dd 0x07d90405
+dd 0x07d90406
+dd 0x07d90407
+dd 0x07d90408
+dd 0x07d90409
+dd 0x07d9040a
+dd 0x07d9040b
+dd 0x07d9040c
+dd 0x07d9040d
+dd 0x07d9040e
+dd 0x07d9040f
+dd 0x07d90410
+dd 0x07d90411
+dd 0x07d90412
+dd 0x07d90413
+dd 0x07d90414
+dd 0x07d90415
+dd 0x07d90416
+dd 0x07d90417
+dd 0x07d90418
+dd 0x07d90419
+dd 0x07d9041a
+dd 0x07d9041b
+dd 0x07d9041c
+dd 0x07d9041d
+dd 0x07d90501
+dd 0x07d90502
+dd 0x07d90503
+dd 0x07d90504
+dd 0x07d90505
+dd 0x07d90506
+dd 0x07d90507
+dd 0x07d90508
+dd 0x07d90509
+dd 0x07d9050a
+dd 0x07d9050b
+dd 0x07d9050c
+dd 0x07d9050d
+dd 0x07d9050e
+dd 0x07d9050f
+dd 0x07d90510
+dd 0x07d90511
+dd 0x07d90512
+dd 0x07d90513
+dd 0x07d90514
+dd 0x07d90515
+dd 0x07d90516
+dd 0x07d90517
+dd 0x07d90518
+dd 0x07d90519
+dd 0x07d9051a
+dd 0x07d9051b
+dd 0x07d9051c
+dd 0x07d9051d
+dd 0x07d9051e
+dd 0x07d90501
+dd 0x07d90502
+dd 0x07d90503
+dd 0x07d90504
+dd 0x07d90505
+dd 0x07d90506
+dd 0x07d90507
+dd 0x07d90508
+dd 0x07d90509
+dd 0x07d9050a
+dd 0x07d9050b
+dd 0x07d9050c
+dd 0x07d9050d
+dd 0x07d9050e
+dd 0x07d9050f
+dd 0x07d90510
+dd 0x07d90511
+dd 0x07d90512
+dd 0x07d90513
+dd 0x07d90514
+dd 0x07d90515
+dd 0x07d90516
+dd 0x07d90517
+dd 0x07d90518
+dd 0x07d90519
+dd 0x07d9051a
+dd 0x07d9051b
+dd 0x07d9051c
+dd 0x07d9051d
+dd 0x07d90601
+dd 0x07d90602
+dd 0x07d90603
+dd 0x07d90604
+dd 0x07d90605
+dd 0x07d90606
+dd 0x07d90607
+dd 0x07d90608
+dd 0x07d90609
+dd 0x07d9060a
+dd 0x07d9060b
+dd 0x07d9060c
+dd 0x07d9060d
+dd 0x07d9060e
+dd 0x07d9060f
+dd 0x07d90610
+dd 0x07d90611
+dd 0x07d90612
+dd 0x07d90613
+dd 0x07d90614
+dd 0x07d90615
+dd 0x07d90616
+dd 0x07d90617
+dd 0x07d90618
+dd 0x07d90619
+dd 0x07d9061a
+dd 0x07d9061b
+dd 0x07d9061c
+dd 0x07d9061d
+dd 0x07d90701
+dd 0x07d90702
+dd 0x07d90703
+dd 0x07d90704
+dd 0x07d90705
+dd 0x07d90706
+dd 0x07d90707
+dd 0x07d90708
+dd 0x07d90709
+dd 0x07d9070a
+dd 0x07d9070b
+dd 0x07d9070c
+dd 0x07d9070d
+dd 0x07d9070e
+dd 0x07d9070f
+dd 0x07d90710
+dd 0x07d90711
+dd 0x07d90712
+dd 0x07d90713
+dd 0x07d90714
+dd 0x07d90715
+dd 0x07d90716
+dd 0x07d90717
+dd 0x07d90718
+dd 0x07d90719
+dd 0x07d9071a
+dd 0x07d9071b
+dd 0x07d9071c
+dd 0x07d9071d
+dd 0x07d9071e
+dd 0x07d90801
+dd 0x07d90802
+dd 0x07d90803
+dd 0x07d90804
+dd 0x07d90805
+dd 0x07d90806
+dd 0x07d90807
+dd 0x07d90808
+dd 0x07d90809
+dd 0x07d9080a
+dd 0x07d9080b
+dd 0x07d9080c
+dd 0x07d9080d
+dd 0x07d9080e
+dd 0x07d9080f
+dd 0x07d90810
+dd 0x07d90811
+dd 0x07d90812
+dd 0x07d90813
+dd 0x07d90814
+dd 0x07d90815
+dd 0x07d90816
+dd 0x07d90817
+dd 0x07d90818
+dd 0x07d90819
+dd 0x07d9081a
+dd 0x07d9081b
+dd 0x07d9081c
+dd 0x07d9081d
+dd 0x07d90901
+dd 0x07d90902
+dd 0x07d90903
+dd 0x07d90904
+dd 0x07d90905
+dd 0x07d90906
+dd 0x07d90907
+dd 0x07d90908
+dd 0x07d90909
+dd 0x07d9090a
+dd 0x07d9090b
+dd 0x07d9090c
+dd 0x07d9090d
+dd 0x07d9090e
+dd 0x07d9090f
+dd 0x07d90910
+dd 0x07d90911
+dd 0x07d90912
+dd 0x07d90913
+dd 0x07d90914
+dd 0x07d90915
+dd 0x07d90916
+dd 0x07d90917
+dd 0x07d90918
+dd 0x07d90919
+dd 0x07d9091a
+dd 0x07d9091b
+dd 0x07d9091c
+dd 0x07d9091d
+dd 0x07d9091e
+dd 0x07d90a01
+dd 0x07d90a02
+dd 0x07d90a03
+dd 0x07d90a04
+dd 0x07d90a05
+dd 0x07d90a06
+dd 0x07d90a07
+dd 0x07d90a08
+dd 0x07d90a09
+dd 0x07d90a0a
+dd 0x07d90a0b
+dd 0x07d90a0c
+dd 0x07d90a0d
+dd 0x07d90a0e
+dd 0x07d90a0f
+dd 0x07d90a10
+dd 0x07d90a11
+dd 0x07d90a12
+dd 0x07d90a13
+dd 0x07d90a14
+dd 0x07d90a15
+dd 0x07d90a16
+dd 0x07d90a17
+dd 0x07d90a18
+dd 0x07d90a19
+dd 0x07d90a1a
+dd 0x07d90a1b
+dd 0x07d90a1c
+dd 0x07d90a1d
+dd 0x07d90b01
+dd 0x07d90b02
+dd 0x07d90b03
+dd 0x07d90b04
+dd 0x07d90b05
+dd 0x07d90b06
+dd 0x07d90b07
+dd 0x07d90b08
+dd 0x07d90b09
+dd 0x07d90b0a
+dd 0x07d90b0b
+dd 0x07d90b0c
+dd 0x07d90b0d
+dd 0x07d90b0e
+dd 0x07d90b0f
+dd 0x07d90b10
+dd 0x07d90b11
+dd 0x07d90b12
+dd 0x07d90b13
+dd 0x07d90b14
+dd 0x07d90b15
+dd 0x07d90b16
+dd 0x07d90b17
+dd 0x07d90b18
+dd 0x07d90b19
+dd 0x07d90b1a
+dd 0x07d90b1b
+dd 0x07d90b1c
+dd 0x07d90b1d
+dd 0x07d90b1e
+dd 0x07d90c01
+dd 0x07d90c02
+dd 0x07d90c03
+dd 0x07d90c04
+dd 0x07d90c05
+dd 0x07d90c06
+dd 0x07d90c07
+dd 0x07d90c08
+dd 0x07d90c09
+dd 0x07d90c0a
+dd 0x07d90c0b
+dd 0x07d90c0c
+dd 0x07d90c0d
+dd 0x07d90c0e
+dd 0x07d90c0f
+dd 0x07d90c10
+dd 0x07d90c11
+dd 0x07d90c12
+dd 0x07d90c13
+dd 0x07d90c14
+dd 0x07d90c15
+dd 0x07d90c16
+dd 0x07d90c17
+dd 0x07d90c18
+dd 0x07d90c19
+dd 0x07d90c1a
+dd 0x07d90c1b
+dd 0x07d90c1c
+dd 0x07d90c1d
+dd 0x07d90c1e
+dd 0x07da0101
+dd 0x07da0102
+dd 0x07da0103
+dd 0x07da0104
+dd 0x07da0105
+dd 0x07da0106
+dd 0x07da0107
+dd 0x07da0108
+dd 0x07da0109
+dd 0x07da010a
+dd 0x07da010b
+dd 0x07da010c
+dd 0x07da010d
+dd 0x07da010e
+dd 0x07da010f
+dd 0x07da0110
+dd 0x07da0111
+dd 0x07da0112
+dd 0x07da0113
+dd 0x07da0114
+dd 0x07da0115
+dd 0x07da0116
+dd 0x07da0117
+dd 0x07da0118
+dd 0x07da0119
+dd 0x07da011a
+dd 0x07da011b
+dd 0x07da011c
+dd 0x07da011d
+dd 0x07da011e
+dd 0x07da0201
+dd 0x07da0202
+dd 0x07da0203
+dd 0x07da0204
+dd 0x07da0205
+dd 0x07da0206
+dd 0x07da0207
+dd 0x07da0208
+dd 0x07da0209
+dd 0x07da020a
+dd 0x07da020b
+dd 0x07da020c
+dd 0x07da020d
+dd 0x07da020e
+dd 0x07da020f
+dd 0x07da0210
+dd 0x07da0211
+dd 0x07da0212
+dd 0x07da0213
+dd 0x07da0214
+dd 0x07da0215
+dd 0x07da0216
+dd 0x07da0217
+dd 0x07da0218
+dd 0x07da0219
+dd 0x07da021a
+dd 0x07da021b
+dd 0x07da021c
+dd 0x07da021d
+dd 0x07da0301
+dd 0x07da0302
+dd 0x07da0303
+dd 0x07da0304
+dd 0x07da0305
+dd 0x07da0306
+dd 0x07da0307
+dd 0x07da0308
+dd 0x07da0309
+dd 0x07da030a
+dd 0x07da030b
+dd 0x07da030c
+dd 0x07da030d
+dd 0x07da030e
+dd 0x07da030f
+dd 0x07da0310
+dd 0x07da0311
+dd 0x07da0312
+dd 0x07da0313
+dd 0x07da0314
+dd 0x07da0315
+dd 0x07da0316
+dd 0x07da0317
+dd 0x07da0318
+dd 0x07da0319
+dd 0x07da031a
+dd 0x07da031b
+dd 0x07da031c
+dd 0x07da031d
+dd 0x07da031e
+dd 0x07da0401
+dd 0x07da0402
+dd 0x07da0403
+dd 0x07da0404
+dd 0x07da0405
+dd 0x07da0406
+dd 0x07da0407
+dd 0x07da0408
+dd 0x07da0409
+dd 0x07da040a
+dd 0x07da040b
+dd 0x07da040c
+dd 0x07da040d
+dd 0x07da040e
+dd 0x07da040f
+dd 0x07da0410
+dd 0x07da0411
+dd 0x07da0412
+dd 0x07da0413
+dd 0x07da0414
+dd 0x07da0415
+dd 0x07da0416
+dd 0x07da0417
+dd 0x07da0418
+dd 0x07da0419
+dd 0x07da041a
+dd 0x07da041b
+dd 0x07da041c
+dd 0x07da041d
+dd 0x07da0501
+dd 0x07da0502
+dd 0x07da0503
+dd 0x07da0504
+dd 0x07da0505
+dd 0x07da0506
+dd 0x07da0507
+dd 0x07da0508
+dd 0x07da0509
+dd 0x07da050a
+dd 0x07da050b
+dd 0x07da050c
+dd 0x07da050d
+dd 0x07da050e
+dd 0x07da050f
+dd 0x07da0510
+dd 0x07da0511
+dd 0x07da0512
+dd 0x07da0513
+dd 0x07da0514
+dd 0x07da0515
+dd 0x07da0516
+dd 0x07da0517
+dd 0x07da0518
+dd 0x07da0519
+dd 0x07da051a
+dd 0x07da051b
+dd 0x07da051c
+dd 0x07da051d
+dd 0x07da051e
+dd 0x07da0601
+dd 0x07da0602
+dd 0x07da0603
+dd 0x07da0604
+dd 0x07da0605
+dd 0x07da0606
+dd 0x07da0607
+dd 0x07da0608
+dd 0x07da0609
+dd 0x07da060a
+dd 0x07da060b
+dd 0x07da060c
+dd 0x07da060d
+dd 0x07da060e
+dd 0x07da060f
+dd 0x07da0610
+dd 0x07da0611
+dd 0x07da0612
+dd 0x07da0613
+dd 0x07da0614
+dd 0x07da0615
+dd 0x07da0616
+dd 0x07da0617
+dd 0x07da0618
+dd 0x07da0619
+dd 0x07da061a
+dd 0x07da061b
+dd 0x07da061c
+dd 0x07da061d
+dd 0x07da0701
+dd 0x07da0702
+dd 0x07da0703
+dd 0x07da0704
+dd 0x07da0705
+dd 0x07da0706
+dd 0x07da0707
+dd 0x07da0708
+dd 0x07da0709
+dd 0x07da070a
+dd 0x07da070b
+dd 0x07da070c
+dd 0x07da070d
+dd 0x07da070e
+dd 0x07da070f
+dd 0x07da0710
+dd 0x07da0711
+dd 0x07da0712
+dd 0x07da0713
+dd 0x07da0714
+dd 0x07da0715
+dd 0x07da0716
+dd 0x07da0717
+dd 0x07da0718
+dd 0x07da0719
+dd 0x07da071a
+dd 0x07da071b
+dd 0x07da071c
+dd 0x07da071d
+dd 0x07da0801
+dd 0x07da0802
+dd 0x07da0803
+dd 0x07da0804
+dd 0x07da0805
+dd 0x07da0806
+dd 0x07da0807
+dd 0x07da0808
+dd 0x07da0809
+dd 0x07da080a
+dd 0x07da080b
+dd 0x07da080c
+dd 0x07da080d
+dd 0x07da080e
+dd 0x07da080f
+dd 0x07da0810
+dd 0x07da0811
+dd 0x07da0812
+dd 0x07da0813
+dd 0x07da0814
+dd 0x07da0815
+dd 0x07da0816
+dd 0x07da0817
+dd 0x07da0818
+dd 0x07da0819
+dd 0x07da081a
+dd 0x07da081b
+dd 0x07da081c
+dd 0x07da081d
+dd 0x07da081e
+dd 0x07da0901
+dd 0x07da0902
+dd 0x07da0903
+dd 0x07da0904
+dd 0x07da0905
+dd 0x07da0906
+dd 0x07da0907
+dd 0x07da0908
+dd 0x07da0909
+dd 0x07da090a
+dd 0x07da090b
+dd 0x07da090c
+dd 0x07da090d
+dd 0x07da090e
+dd 0x07da090f
+dd 0x07da0910
+dd 0x07da0911
+dd 0x07da0912
+dd 0x07da0913
+dd 0x07da0914
+dd 0x07da0915
+dd 0x07da0916
+dd 0x07da0917
+dd 0x07da0918
+dd 0x07da0919
+dd 0x07da091a
+dd 0x07da091b
+dd 0x07da091c
+dd 0x07da091d
+dd 0x07da0a01
+dd 0x07da0a02
+dd 0x07da0a03
+dd 0x07da0a04
+dd 0x07da0a05
+dd 0x07da0a06
+dd 0x07da0a07
+dd 0x07da0a08
+dd 0x07da0a09
+dd 0x07da0a0a
+dd 0x07da0a0b
+dd 0x07da0a0c
+dd 0x07da0a0d
+dd 0x07da0a0e
+dd 0x07da0a0f
+dd 0x07da0a10
+dd 0x07da0a11
+dd 0x07da0a12
+dd 0x07da0a13
+dd 0x07da0a14
+dd 0x07da0a15
+dd 0x07da0a16
+dd 0x07da0a17
+dd 0x07da0a18
+dd 0x07da0a19
+dd 0x07da0a1a
+dd 0x07da0a1b
+dd 0x07da0a1c
+dd 0x07da0a1d
+dd 0x07da0a1e
+dd 0x07da0b01
+dd 0x07da0b02
+dd 0x07da0b03
+dd 0x07da0b04
+dd 0x07da0b05
+dd 0x07da0b06
+dd 0x07da0b07
+dd 0x07da0b08
+dd 0x07da0b09
+dd 0x07da0b0a
+dd 0x07da0b0b
+dd 0x07da0b0c
+dd 0x07da0b0d
+dd 0x07da0b0e
+dd 0x07da0b0f
+dd 0x07da0b10
+dd 0x07da0b11
+dd 0x07da0b12
+dd 0x07da0b13
+dd 0x07da0b14
+dd 0x07da0b15
+dd 0x07da0b16
+dd 0x07da0b17
+dd 0x07da0b18
+dd 0x07da0b19
+dd 0x07da0b1a
+dd 0x07da0b1b
+dd 0x07da0b1c
+dd 0x07da0b1d
+dd 0x07da0c01
+dd 0x07da0c02
+dd 0x07da0c03
+dd 0x07da0c04
+dd 0x07da0c05
+dd 0x07da0c06
+dd 0x07da0c07
+dd 0x07da0c08
+dd 0x07da0c09
+dd 0x07da0c0a
+dd 0x07da0c0b
+dd 0x07da0c0c
+dd 0x07da0c0d
+dd 0x07da0c0e
+dd 0x07da0c0f
+dd 0x07da0c10
+dd 0x07da0c11
+dd 0x07da0c12
+dd 0x07da0c13
+dd 0x07da0c14
+dd 0x07da0c15
+dd 0x07da0c16
+dd 0x07da0c17
+dd 0x07da0c18
+dd 0x07da0c19
+dd 0x07da0c1a
+dd 0x07da0c1b
+dd 0x07da0c1c
+dd 0x07da0c1d
+dd 0x07da0c1e
+dd 0x07db0101
+dd 0x07db0102
+dd 0x07db0103
+dd 0x07db0104
+dd 0x07db0105
+dd 0x07db0106
+dd 0x07db0107
+dd 0x07db0108
+dd 0x07db0109
+dd 0x07db010a
+dd 0x07db010b
+dd 0x07db010c
+dd 0x07db010d
+dd 0x07db010e
+dd 0x07db010f
+dd 0x07db0110
+dd 0x07db0111
+dd 0x07db0112
+dd 0x07db0113
+dd 0x07db0114
+dd 0x07db0115
+dd 0x07db0116
+dd 0x07db0117
+dd 0x07db0118
+dd 0x07db0119
+dd 0x07db011a
+dd 0x07db011b
+dd 0x07db011c
+dd 0x07db011d
+dd 0x07db011e
+dd 0x07db0201
+dd 0x07db0202
+dd 0x07db0203
+dd 0x07db0204
+dd 0x07db0205
+dd 0x07db0206
+dd 0x07db0207
+dd 0x07db0208
+dd 0x07db0209
+dd 0x07db020a
+dd 0x07db020b
+dd 0x07db020c
+dd 0x07db020d
+dd 0x07db020e
+dd 0x07db020f
+dd 0x07db0210
+dd 0x07db0211
+dd 0x07db0212
+dd 0x07db0213
+dd 0x07db0214
+dd 0x07db0215
+dd 0x07db0216
+dd 0x07db0217
+dd 0x07db0218
+dd 0x07db0219
+dd 0x07db021a
+dd 0x07db021b
+dd 0x07db021c
+dd 0x07db021d
+dd 0x07db0301
+dd 0x07db0302
+dd 0x07db0303
+dd 0x07db0304
+dd 0x07db0305
+dd 0x07db0306
+dd 0x07db0307
+dd 0x07db0308
+dd 0x07db0309
+dd 0x07db030a
+dd 0x07db030b
+dd 0x07db030c
+dd 0x07db030d
+dd 0x07db030e
+dd 0x07db030f
+dd 0x07db0310
+dd 0x07db0311
+dd 0x07db0312
+dd 0x07db0313
+dd 0x07db0314
+dd 0x07db0315
+dd 0x07db0316
+dd 0x07db0317
+dd 0x07db0318
+dd 0x07db0319
+dd 0x07db031a
+dd 0x07db031b
+dd 0x07db031c
+dd 0x07db031d
+dd 0x07db031e
+dd 0x07db0401
+dd 0x07db0402
+dd 0x07db0403
+dd 0x07db0404
+dd 0x07db0405
+dd 0x07db0406
+dd 0x07db0407
+dd 0x07db0408
+dd 0x07db0409
+dd 0x07db040a
+dd 0x07db040b
+dd 0x07db040c
+dd 0x07db040d
+dd 0x07db040e
+dd 0x07db040f
+dd 0x07db0410
+dd 0x07db0411
+dd 0x07db0412
+dd 0x07db0413
+dd 0x07db0414
+dd 0x07db0415
+dd 0x07db0416
+dd 0x07db0417
+dd 0x07db0418
+dd 0x07db0419
+dd 0x07db041a
+dd 0x07db041b
+dd 0x07db041c
+dd 0x07db041d
+dd 0x07db041e
+dd 0x07db0501
+dd 0x07db0502
+dd 0x07db0503
+dd 0x07db0504
+dd 0x07db0505
+dd 0x07db0506
+dd 0x07db0507
+dd 0x07db0508
+dd 0x07db0509
+dd 0x07db050a
+dd 0x07db050b
+dd 0x07db050c
+dd 0x07db050d
+dd 0x07db050e
+dd 0x07db050f
+dd 0x07db0510
+dd 0x07db0511
+dd 0x07db0512
+dd 0x07db0513
+dd 0x07db0514
+dd 0x07db0515
+dd 0x07db0516
+dd 0x07db0517
+dd 0x07db0518
+dd 0x07db0519
+dd 0x07db051a
+dd 0x07db051b
+dd 0x07db051c
+dd 0x07db051d
+dd 0x07db0601
+dd 0x07db0602
+dd 0x07db0603
+dd 0x07db0604
+dd 0x07db0605
+dd 0x07db0606
+dd 0x07db0607
+dd 0x07db0608
+dd 0x07db0609
+dd 0x07db060a
+dd 0x07db060b
+dd 0x07db060c
+dd 0x07db060d
+dd 0x07db060e
+dd 0x07db060f
+dd 0x07db0610
+dd 0x07db0611
+dd 0x07db0612
+dd 0x07db0613
+dd 0x07db0614
+dd 0x07db0615
+dd 0x07db0616
+dd 0x07db0617
+dd 0x07db0618
+dd 0x07db0619
+dd 0x07db061a
+dd 0x07db061b
+dd 0x07db061c
+dd 0x07db061d
+dd 0x07db061e
+dd 0x07db0701
+dd 0x07db0702
+dd 0x07db0703
+dd 0x07db0704
+dd 0x07db0705
+dd 0x07db0706
+dd 0x07db0707
+dd 0x07db0708
+dd 0x07db0709
+dd 0x07db070a
+dd 0x07db070b
+dd 0x07db070c
+dd 0x07db070d
+dd 0x07db070e
+dd 0x07db070f
+dd 0x07db0710
+dd 0x07db0711
+dd 0x07db0712
+dd 0x07db0713
+dd 0x07db0714
+dd 0x07db0715
+dd 0x07db0716
+dd 0x07db0717
+dd 0x07db0718
+dd 0x07db0719
+dd 0x07db071a
+dd 0x07db071b
+dd 0x07db071c
+dd 0x07db071d
+dd 0x07db0801
+dd 0x07db0802
+dd 0x07db0803
+dd 0x07db0804
+dd 0x07db0805
+dd 0x07db0806
+dd 0x07db0807
+dd 0x07db0808
+dd 0x07db0809
+dd 0x07db080a
+dd 0x07db080b
+dd 0x07db080c
+dd 0x07db080d
+dd 0x07db080e
+dd 0x07db080f
+dd 0x07db0810
+dd 0x07db0811
+dd 0x07db0812
+dd 0x07db0813
+dd 0x07db0814
+dd 0x07db0815
+dd 0x07db0816
+dd 0x07db0817
+dd 0x07db0818
+dd 0x07db0819
+dd 0x07db081a
+dd 0x07db081b
+dd 0x07db081c
+dd 0x07db081d
+dd 0x07db0901
+dd 0x07db0902
+dd 0x07db0903
+dd 0x07db0904
+dd 0x07db0905
+dd 0x07db0906
+dd 0x07db0907
+dd 0x07db0908
+dd 0x07db0909
+dd 0x07db090a
+dd 0x07db090b
+dd 0x07db090c
+dd 0x07db090d
+dd 0x07db090e
+dd 0x07db090f
+dd 0x07db0910
+dd 0x07db0911
+dd 0x07db0912
+dd 0x07db0913
+dd 0x07db0914
+dd 0x07db0915
+dd 0x07db0916
+dd 0x07db0917
+dd 0x07db0918
+dd 0x07db0919
+dd 0x07db091a
+dd 0x07db091b
+dd 0x07db091c
+dd 0x07db091d
+dd 0x07db091e
+dd 0x07db0a01
+dd 0x07db0a02
+dd 0x07db0a03
+dd 0x07db0a04
+dd 0x07db0a05
+dd 0x07db0a06
+dd 0x07db0a07
+dd 0x07db0a08
+dd 0x07db0a09
+dd 0x07db0a0a
+dd 0x07db0a0b
+dd 0x07db0a0c
+dd 0x07db0a0d
+dd 0x07db0a0e
+dd 0x07db0a0f
+dd 0x07db0a10
+dd 0x07db0a11
+dd 0x07db0a12
+dd 0x07db0a13
+dd 0x07db0a14
+dd 0x07db0a15
+dd 0x07db0a16
+dd 0x07db0a17
+dd 0x07db0a18
+dd 0x07db0a19
+dd 0x07db0a1a
+dd 0x07db0a1b
+dd 0x07db0a1c
+dd 0x07db0a1d
+dd 0x07db0b01
+dd 0x07db0b02
+dd 0x07db0b03
+dd 0x07db0b04
+dd 0x07db0b05
+dd 0x07db0b06
+dd 0x07db0b07
+dd 0x07db0b08
+dd 0x07db0b09
+dd 0x07db0b0a
+dd 0x07db0b0b
+dd 0x07db0b0c
+dd 0x07db0b0d
+dd 0x07db0b0e
+dd 0x07db0b0f
+dd 0x07db0b10
+dd 0x07db0b11
+dd 0x07db0b12
+dd 0x07db0b13
+dd 0x07db0b14
+dd 0x07db0b15
+dd 0x07db0b16
+dd 0x07db0b17
+dd 0x07db0b18
+dd 0x07db0b19
+dd 0x07db0b1a
+dd 0x07db0b1b
+dd 0x07db0b1c
+dd 0x07db0b1d
+dd 0x07db0b1e
+dd 0x07db0c01
+dd 0x07db0c02
+dd 0x07db0c03
+dd 0x07db0c04
+dd 0x07db0c05
+dd 0x07db0c06
+dd 0x07db0c07
+dd 0x07db0c08
+dd 0x07db0c09
+dd 0x07db0c0a
+dd 0x07db0c0b
+dd 0x07db0c0c
+dd 0x07db0c0d
+dd 0x07db0c0e
+dd 0x07db0c0f
+dd 0x07db0c10
+dd 0x07db0c11
+dd 0x07db0c12
+dd 0x07db0c13
+dd 0x07db0c14
+dd 0x07db0c15
+dd 0x07db0c16
+dd 0x07db0c17
+dd 0x07db0c18
+dd 0x07db0c19
+dd 0x07db0c1a
+dd 0x07db0c1b
+dd 0x07db0c1c
+dd 0x07db0c1d
+dd 0x07dc0101
+dd 0x07dc0102
+dd 0x07dc0103
+dd 0x07dc0104
+dd 0x07dc0105
+dd 0x07dc0106
+dd 0x07dc0107
+dd 0x07dc0108
+dd 0x07dc0109
+dd 0x07dc010a
+dd 0x07dc010b
+dd 0x07dc010c
+dd 0x07dc010d
+dd 0x07dc010e
+dd 0x07dc010f
+dd 0x07dc0110
+dd 0x07dc0111
+dd 0x07dc0112
+dd 0x07dc0113
+dd 0x07dc0114
+dd 0x07dc0115
+dd 0x07dc0116
+dd 0x07dc0117
+dd 0x07dc0118
+dd 0x07dc0119
+dd 0x07dc011a
+dd 0x07dc011b
+dd 0x07dc011c
+dd 0x07dc011d
+dd 0x07dc011e
+dd 0x07dc0201
+dd 0x07dc0202
+dd 0x07dc0203
+dd 0x07dc0204
+dd 0x07dc0205
+dd 0x07dc0206
+dd 0x07dc0207
+dd 0x07dc0208
+dd 0x07dc0209
+dd 0x07dc020a
+dd 0x07dc020b
+dd 0x07dc020c
+dd 0x07dc020d
+dd 0x07dc020e
+dd 0x07dc020f
+dd 0x07dc0210
+dd 0x07dc0211
+dd 0x07dc0212
+dd 0x07dc0213
+dd 0x07dc0214
+dd 0x07dc0215
+dd 0x07dc0216
+dd 0x07dc0217
+dd 0x07dc0218
+dd 0x07dc0219
+dd 0x07dc021a
+dd 0x07dc021b
+dd 0x07dc021c
+dd 0x07dc021d
+dd 0x07dc0301
+dd 0x07dc0302
+dd 0x07dc0303
+dd 0x07dc0304
+dd 0x07dc0305
+dd 0x07dc0306
+dd 0x07dc0307
+dd 0x07dc0308
+dd 0x07dc0309
+dd 0x07dc030a
+dd 0x07dc030b
+dd 0x07dc030c
+dd 0x07dc030d
+dd 0x07dc030e
+dd 0x07dc030f
+dd 0x07dc0310
+dd 0x07dc0311
+dd 0x07dc0312
+dd 0x07dc0313
+dd 0x07dc0314
+dd 0x07dc0315
+dd 0x07dc0316
+dd 0x07dc0317
+dd 0x07dc0318
+dd 0x07dc0319
+dd 0x07dc031a
+dd 0x07dc031b
+dd 0x07dc031c
+dd 0x07dc031d
+dd 0x07dc031e
+dd 0x07dc0401
+dd 0x07dc0402
+dd 0x07dc0403
+dd 0x07dc0404
+dd 0x07dc0405
+dd 0x07dc0406
+dd 0x07dc0407
+dd 0x07dc0408
+dd 0x07dc0409
+dd 0x07dc040a
+dd 0x07dc040b
+dd 0x07dc040c
+dd 0x07dc040d
+dd 0x07dc040e
+dd 0x07dc040f
+dd 0x07dc0410
+dd 0x07dc0411
+dd 0x07dc0412
+dd 0x07dc0413
+dd 0x07dc0414
+dd 0x07dc0415
+dd 0x07dc0416
+dd 0x07dc0417
+dd 0x07dc0418
+dd 0x07dc0419
+dd 0x07dc041a
+dd 0x07dc041b
+dd 0x07dc041c
+dd 0x07dc041d
+dd 0x07dc041e
+dd 0x07dc0401
+dd 0x07dc0402
+dd 0x07dc0403
+dd 0x07dc0404
+dd 0x07dc0405
+dd 0x07dc0406
+dd 0x07dc0407
+dd 0x07dc0408
+dd 0x07dc0409
+dd 0x07dc040a
+dd 0x07dc040b
+dd 0x07dc040c
+dd 0x07dc040d
+dd 0x07dc040e
+dd 0x07dc040f
+dd 0x07dc0410
+dd 0x07dc0411
+dd 0x07dc0412
+dd 0x07dc0413
+dd 0x07dc0414
+dd 0x07dc0415
+dd 0x07dc0416
+dd 0x07dc0417
+dd 0x07dc0418
+dd 0x07dc0419
+dd 0x07dc041a
+dd 0x07dc041b
+dd 0x07dc041c
+dd 0x07dc041d
+dd 0x07dc0501
+dd 0x07dc0502
+dd 0x07dc0503
+dd 0x07dc0504
+dd 0x07dc0505
+dd 0x07dc0506
+dd 0x07dc0507
+dd 0x07dc0508
+dd 0x07dc0509
+dd 0x07dc050a
+dd 0x07dc050b
+dd 0x07dc050c
+dd 0x07dc050d
+dd 0x07dc050e
+dd 0x07dc050f
+dd 0x07dc0510
+dd 0x07dc0511
+dd 0x07dc0512
+dd 0x07dc0513
+dd 0x07dc0514
+dd 0x07dc0515
+dd 0x07dc0516
+dd 0x07dc0517
+dd 0x07dc0518
+dd 0x07dc0519
+dd 0x07dc051a
+dd 0x07dc051b
+dd 0x07dc051c
+dd 0x07dc051d
+dd 0x07dc051e
+dd 0x07dc0601
+dd 0x07dc0602
+dd 0x07dc0603
+dd 0x07dc0604
+dd 0x07dc0605
+dd 0x07dc0606
+dd 0x07dc0607
+dd 0x07dc0608
+dd 0x07dc0609
+dd 0x07dc060a
+dd 0x07dc060b
+dd 0x07dc060c
+dd 0x07dc060d
+dd 0x07dc060e
+dd 0x07dc060f
+dd 0x07dc0610
+dd 0x07dc0611
+dd 0x07dc0612
+dd 0x07dc0613
+dd 0x07dc0614
+dd 0x07dc0615
+dd 0x07dc0616
+dd 0x07dc0617
+dd 0x07dc0618
+dd 0x07dc0619
+dd 0x07dc061a
+dd 0x07dc061b
+dd 0x07dc061c
+dd 0x07dc061d
+dd 0x07dc0701
+dd 0x07dc0702
+dd 0x07dc0703
+dd 0x07dc0704
+dd 0x07dc0705
+dd 0x07dc0706
+dd 0x07dc0707
+dd 0x07dc0708
+dd 0x07dc0709
+dd 0x07dc070a
+dd 0x07dc070b
+dd 0x07dc070c
+dd 0x07dc070d
+dd 0x07dc070e
+dd 0x07dc070f
+dd 0x07dc0710
+dd 0x07dc0711
+dd 0x07dc0712
+dd 0x07dc0713
+dd 0x07dc0714
+dd 0x07dc0715
+dd 0x07dc0716
+dd 0x07dc0717
+dd 0x07dc0718
+dd 0x07dc0719
+dd 0x07dc071a
+dd 0x07dc071b
+dd 0x07dc071c
+dd 0x07dc071d
+dd 0x07dc071e
+dd 0x07dc0801
+dd 0x07dc0802
+dd 0x07dc0803
+dd 0x07dc0804
+dd 0x07dc0805
+dd 0x07dc0806
+dd 0x07dc0807
+dd 0x07dc0808
+dd 0x07dc0809
+dd 0x07dc080a
+dd 0x07dc080b
+dd 0x07dc080c
+dd 0x07dc080d
+dd 0x07dc080e
+dd 0x07dc080f
+dd 0x07dc0810
+dd 0x07dc0811
+dd 0x07dc0812
+dd 0x07dc0813
+dd 0x07dc0814
+dd 0x07dc0815
+dd 0x07dc0816
+dd 0x07dc0817
+dd 0x07dc0818
+dd 0x07dc0819
+dd 0x07dc081a
+dd 0x07dc081b
+dd 0x07dc081c
+dd 0x07dc081d
+dd 0x07dc0901
+dd 0x07dc0902
+dd 0x07dc0903
+dd 0x07dc0904
+dd 0x07dc0905
+dd 0x07dc0906
+dd 0x07dc0907
+dd 0x07dc0908
+dd 0x07dc0909
+dd 0x07dc090a
+dd 0x07dc090b
+dd 0x07dc090c
+dd 0x07dc090d
+dd 0x07dc090e
+dd 0x07dc090f
+dd 0x07dc0910
+dd 0x07dc0911
+dd 0x07dc0912
+dd 0x07dc0913
+dd 0x07dc0914
+dd 0x07dc0915
+dd 0x07dc0916
+dd 0x07dc0917
+dd 0x07dc0918
+dd 0x07dc0919
+dd 0x07dc091a
+dd 0x07dc091b
+dd 0x07dc091c
+dd 0x07dc091d
+dd 0x07dc091e
+dd 0x07dc0a01
+dd 0x07dc0a02
+dd 0x07dc0a03
+dd 0x07dc0a04
+dd 0x07dc0a05
+dd 0x07dc0a06
+dd 0x07dc0a07
+dd 0x07dc0a08
+dd 0x07dc0a09
+dd 0x07dc0a0a
+dd 0x07dc0a0b
+dd 0x07dc0a0c
+dd 0x07dc0a0d
+dd 0x07dc0a0e
+dd 0x07dc0a0f
+dd 0x07dc0a10
+dd 0x07dc0a11
+dd 0x07dc0a12
+dd 0x07dc0a13
+dd 0x07dc0a14
+dd 0x07dc0a15
+dd 0x07dc0a16
+dd 0x07dc0a17
+dd 0x07dc0a18
+dd 0x07dc0a19
+dd 0x07dc0a1a
+dd 0x07dc0a1b
+dd 0x07dc0a1c
+dd 0x07dc0a1d
+dd 0x07dc0b01
+dd 0x07dc0b02
+dd 0x07dc0b03
+dd 0x07dc0b04
+dd 0x07dc0b05
+dd 0x07dc0b06
+dd 0x07dc0b07
+dd 0x07dc0b08
+dd 0x07dc0b09
+dd 0x07dc0b0a
+dd 0x07dc0b0b
+dd 0x07dc0b0c
+dd 0x07dc0b0d
+dd 0x07dc0b0e
+dd 0x07dc0b0f
+dd 0x07dc0b10
+dd 0x07dc0b11
+dd 0x07dc0b12
+dd 0x07dc0b13
+dd 0x07dc0b14
+dd 0x07dc0b15
+dd 0x07dc0b16
+dd 0x07dc0b17
+dd 0x07dc0b18
+dd 0x07dc0b19
+dd 0x07dc0b1a
+dd 0x07dc0b1b
+dd 0x07dc0b1c
+dd 0x07dc0b1d
+dd 0x07dc0b1e
+dd 0x07dc0c01
+dd 0x07dc0c02
+dd 0x07dc0c03
+dd 0x07dc0c04
+dd 0x07dc0c05
+dd 0x07dc0c06
+dd 0x07dc0c07
+dd 0x07dc0c08
+dd 0x07dc0c09
+dd 0x07dc0c0a
+dd 0x07dc0c0b
+dd 0x07dc0c0c
+dd 0x07dc0c0d
+dd 0x07dc0c0e
+dd 0x07dc0c0f
+dd 0x07dc0c10
+dd 0x07dc0c11
+dd 0x07dc0c12
+dd 0x07dc0c13
+dd 0x07dc0c14
+dd 0x07dc0c15
+dd 0x07dc0c16
+dd 0x07dc0c17
+dd 0x07dc0c18
+dd 0x07dc0c19
+dd 0x07dc0c1a
+dd 0x07dc0c1b
+dd 0x07dc0c1c
+dd 0x07dc0c1d
+dd 0x07dd0101
+dd 0x07dd0102
+dd 0x07dd0103
+dd 0x07dd0104
+dd 0x07dd0105
+dd 0x07dd0106
+dd 0x07dd0107
+dd 0x07dd0108
+dd 0x07dd0109
+dd 0x07dd010a
+dd 0x07dd010b
+dd 0x07dd010c
+dd 0x07dd010d
+dd 0x07dd010e
+dd 0x07dd010f
+dd 0x07dd0110
+dd 0x07dd0111
+dd 0x07dd0112
+dd 0x07dd0113
+dd 0x07dd0114
+dd 0x07dd0115
+dd 0x07dd0116
+dd 0x07dd0117
+dd 0x07dd0118
+dd 0x07dd0119
+dd 0x07dd011a
+dd 0x07dd011b
+dd 0x07dd011c
+dd 0x07dd011d
+dd 0x07dd011e
+dd 0x07dd0201
+dd 0x07dd0202
+dd 0x07dd0203
+dd 0x07dd0204
+dd 0x07dd0205
+dd 0x07dd0206
+dd 0x07dd0207
+dd 0x07dd0208
+dd 0x07dd0209
+dd 0x07dd020a
+dd 0x07dd020b
+dd 0x07dd020c
+dd 0x07dd020d
+dd 0x07dd020e
+dd 0x07dd020f
+dd 0x07dd0210
+dd 0x07dd0211
+dd 0x07dd0212
+dd 0x07dd0213
+dd 0x07dd0214
+dd 0x07dd0215
+dd 0x07dd0216
+dd 0x07dd0217
+dd 0x07dd0218
+dd 0x07dd0219
+dd 0x07dd021a
+dd 0x07dd021b
+dd 0x07dd021c
+dd 0x07dd021d
+dd 0x07dd0301
+dd 0x07dd0302
+dd 0x07dd0303
+dd 0x07dd0304
+dd 0x07dd0305
+dd 0x07dd0306
+dd 0x07dd0307
+dd 0x07dd0308
+dd 0x07dd0309
+dd 0x07dd030a
+dd 0x07dd030b
+dd 0x07dd030c
+dd 0x07dd030d
+dd 0x07dd030e
+dd 0x07dd030f
+dd 0x07dd0310
+dd 0x07dd0311
+dd 0x07dd0312
+dd 0x07dd0313
+dd 0x07dd0314
+dd 0x07dd0315
+dd 0x07dd0316
+dd 0x07dd0317
+dd 0x07dd0318
+dd 0x07dd0319
+dd 0x07dd031a
+dd 0x07dd031b
+dd 0x07dd031c
+dd 0x07dd031d
+dd 0x07dd031e
+dd 0x07dd0401
+dd 0x07dd0402
+dd 0x07dd0403
+dd 0x07dd0404
+dd 0x07dd0405
+dd 0x07dd0406
+dd 0x07dd0407
+dd 0x07dd0408
+dd 0x07dd0409
+dd 0x07dd040a
+dd 0x07dd040b
+dd 0x07dd040c
+dd 0x07dd040d
+dd 0x07dd040e
+dd 0x07dd040f
+dd 0x07dd0410
+dd 0x07dd0411
+dd 0x07dd0412
+dd 0x07dd0413
+dd 0x07dd0414
+dd 0x07dd0415
+dd 0x07dd0416
+dd 0x07dd0417
+dd 0x07dd0418
+dd 0x07dd0419
+dd 0x07dd041a
+dd 0x07dd041b
+dd 0x07dd041c
+dd 0x07dd041d
+dd 0x07dd0501
+dd 0x07dd0502
+dd 0x07dd0503
+dd 0x07dd0504
+dd 0x07dd0505
+dd 0x07dd0506
+dd 0x07dd0507
+dd 0x07dd0508
+dd 0x07dd0509
+dd 0x07dd050a
+dd 0x07dd050b
+dd 0x07dd050c
+dd 0x07dd050d
+dd 0x07dd050e
+dd 0x07dd050f
+dd 0x07dd0510
+dd 0x07dd0511
+dd 0x07dd0512
+dd 0x07dd0513
+dd 0x07dd0514
+dd 0x07dd0515
+dd 0x07dd0516
+dd 0x07dd0517
+dd 0x07dd0518
+dd 0x07dd0519
+dd 0x07dd051a
+dd 0x07dd051b
+dd 0x07dd051c
+dd 0x07dd051d
+dd 0x07dd051e
+dd 0x07dd0601
+dd 0x07dd0602
+dd 0x07dd0603
+dd 0x07dd0604
+dd 0x07dd0605
+dd 0x07dd0606
+dd 0x07dd0607
+dd 0x07dd0608
+dd 0x07dd0609
+dd 0x07dd060a
+dd 0x07dd060b
+dd 0x07dd060c
+dd 0x07dd060d
+dd 0x07dd060e
+dd 0x07dd060f
+dd 0x07dd0610
+dd 0x07dd0611
+dd 0x07dd0612
+dd 0x07dd0613
+dd 0x07dd0614
+dd 0x07dd0615
+dd 0x07dd0616
+dd 0x07dd0617
+dd 0x07dd0618
+dd 0x07dd0619
+dd 0x07dd061a
+dd 0x07dd061b
+dd 0x07dd061c
+dd 0x07dd061d
+dd 0x07dd061e
+dd 0x07dd0701
+dd 0x07dd0702
+dd 0x07dd0703
+dd 0x07dd0704
+dd 0x07dd0705
+dd 0x07dd0706
+dd 0x07dd0707
+dd 0x07dd0708
+dd 0x07dd0709
+dd 0x07dd070a
+dd 0x07dd070b
+dd 0x07dd070c
+dd 0x07dd070d
+dd 0x07dd070e
+dd 0x07dd070f
+dd 0x07dd0710
+dd 0x07dd0711
+dd 0x07dd0712
+dd 0x07dd0713
+dd 0x07dd0714
+dd 0x07dd0715
+dd 0x07dd0716
+dd 0x07dd0717
+dd 0x07dd0718
+dd 0x07dd0719
+dd 0x07dd071a
+dd 0x07dd071b
+dd 0x07dd071c
+dd 0x07dd071d
+dd 0x07dd0801
+dd 0x07dd0802
+dd 0x07dd0803
+dd 0x07dd0804
+dd 0x07dd0805
+dd 0x07dd0806
+dd 0x07dd0807
+dd 0x07dd0808
+dd 0x07dd0809
+dd 0x07dd080a
+dd 0x07dd080b
+dd 0x07dd080c
+dd 0x07dd080d
+dd 0x07dd080e
+dd 0x07dd080f
+dd 0x07dd0810
+dd 0x07dd0811
+dd 0x07dd0812
+dd 0x07dd0813
+dd 0x07dd0814
+dd 0x07dd0815
+dd 0x07dd0816
+dd 0x07dd0817
+dd 0x07dd0818
+dd 0x07dd0819
+dd 0x07dd081a
+dd 0x07dd081b
+dd 0x07dd081c
+dd 0x07dd081d
+dd 0x07dd081e
+dd 0x07dd0901
+dd 0x07dd0902
+dd 0x07dd0903
+dd 0x07dd0904
+dd 0x07dd0905
+dd 0x07dd0906
+dd 0x07dd0907
+dd 0x07dd0908
+dd 0x07dd0909
+dd 0x07dd090a
+dd 0x07dd090b
+dd 0x07dd090c
+dd 0x07dd090d
+dd 0x07dd090e
+dd 0x07dd090f
+dd 0x07dd0910
+dd 0x07dd0911
+dd 0x07dd0912
+dd 0x07dd0913
+dd 0x07dd0914
+dd 0x07dd0915
+dd 0x07dd0916
+dd 0x07dd0917
+dd 0x07dd0918
+dd 0x07dd0919
+dd 0x07dd091a
+dd 0x07dd091b
+dd 0x07dd091c
+dd 0x07dd091d
+dd 0x07dd0a01
+dd 0x07dd0a02
+dd 0x07dd0a03
+dd 0x07dd0a04
+dd 0x07dd0a05
+dd 0x07dd0a06
+dd 0x07dd0a07
+dd 0x07dd0a08
+dd 0x07dd0a09
+dd 0x07dd0a0a
+dd 0x07dd0a0b
+dd 0x07dd0a0c
+dd 0x07dd0a0d
+dd 0x07dd0a0e
+dd 0x07dd0a0f
+dd 0x07dd0a10
+dd 0x07dd0a11
+dd 0x07dd0a12
+dd 0x07dd0a13
+dd 0x07dd0a14
+dd 0x07dd0a15
+dd 0x07dd0a16
+dd 0x07dd0a17
+dd 0x07dd0a18
+dd 0x07dd0a19
+dd 0x07dd0a1a
+dd 0x07dd0a1b
+dd 0x07dd0a1c
+dd 0x07dd0a1d
+dd 0x07dd0a1e
+dd 0x07dd0b01
+dd 0x07dd0b02
+dd 0x07dd0b03
+dd 0x07dd0b04
+dd 0x07dd0b05
+dd 0x07dd0b06
+dd 0x07dd0b07
+dd 0x07dd0b08
+dd 0x07dd0b09
+dd 0x07dd0b0a
+dd 0x07dd0b0b
+dd 0x07dd0b0c
+dd 0x07dd0b0d
+dd 0x07dd0b0e
+dd 0x07dd0b0f
+dd 0x07dd0b10
+dd 0x07dd0b11
+dd 0x07dd0b12
+dd 0x07dd0b13
+dd 0x07dd0b14
+dd 0x07dd0b15
+dd 0x07dd0b16
+dd 0x07dd0b17
+dd 0x07dd0b18
+dd 0x07dd0b19
+dd 0x07dd0b1a
+dd 0x07dd0b1b
+dd 0x07dd0b1c
+dd 0x07dd0b1d
+dd 0x07dd0c01
+dd 0x07dd0c02
+dd 0x07dd0c03
+dd 0x07dd0c04
+dd 0x07dd0c05
+dd 0x07dd0c06
+dd 0x07dd0c07
+dd 0x07dd0c08
+dd 0x07dd0c09
+dd 0x07dd0c0a
+dd 0x07dd0c0b
+dd 0x07dd0c0c
+dd 0x07dd0c0d
+dd 0x07dd0c0e
+dd 0x07dd0c0f
+dd 0x07dd0c10
+dd 0x07dd0c11
+dd 0x07dd0c12
+dd 0x07dd0c13
+dd 0x07dd0c14
+dd 0x07dd0c15
+dd 0x07dd0c16
+dd 0x07dd0c17
+dd 0x07dd0c18
+dd 0x07dd0c19
+dd 0x07dd0c1a
+dd 0x07dd0c1b
+dd 0x07dd0c1c
+dd 0x07dd0c1d
+dd 0x07dd0c1e
+dd 0x07de0101
+dd 0x07de0102
+dd 0x07de0103
+dd 0x07de0104
+dd 0x07de0105
+dd 0x07de0106
+dd 0x07de0107
+dd 0x07de0108
+dd 0x07de0109
+dd 0x07de010a
+dd 0x07de010b
+dd 0x07de010c
+dd 0x07de010d
+dd 0x07de010e
+dd 0x07de010f
+dd 0x07de0110
+dd 0x07de0111
+dd 0x07de0112
+dd 0x07de0113
+dd 0x07de0114
+dd 0x07de0115
+dd 0x07de0116
+dd 0x07de0117
+dd 0x07de0118
+dd 0x07de0119
+dd 0x07de011a
+dd 0x07de011b
+dd 0x07de011c
+dd 0x07de011d
+dd 0x07de0201
+dd 0x07de0202
+dd 0x07de0203
+dd 0x07de0204
+dd 0x07de0205
+dd 0x07de0206
+dd 0x07de0207
+dd 0x07de0208
+dd 0x07de0209
+dd 0x07de020a
+dd 0x07de020b
+dd 0x07de020c
+dd 0x07de020d
+dd 0x07de020e
+dd 0x07de020f
+dd 0x07de0210
+dd 0x07de0211
+dd 0x07de0212
+dd 0x07de0213
+dd 0x07de0214
+dd 0x07de0215
+dd 0x07de0216
+dd 0x07de0217
+dd 0x07de0218
+dd 0x07de0219
+dd 0x07de021a
+dd 0x07de021b
+dd 0x07de021c
+dd 0x07de021d
+dd 0x07de021e
+dd 0x07de0301
+dd 0x07de0302
+dd 0x07de0303
+dd 0x07de0304
+dd 0x07de0305
+dd 0x07de0306
+dd 0x07de0307
+dd 0x07de0308
+dd 0x07de0309
+dd 0x07de030a
+dd 0x07de030b
+dd 0x07de030c
+dd 0x07de030d
+dd 0x07de030e
+dd 0x07de030f
+dd 0x07de0310
+dd 0x07de0311
+dd 0x07de0312
+dd 0x07de0313
+dd 0x07de0314
+dd 0x07de0315
+dd 0x07de0316
+dd 0x07de0317
+dd 0x07de0318
+dd 0x07de0319
+dd 0x07de031a
+dd 0x07de031b
+dd 0x07de031c
+dd 0x07de031d
+dd 0x07de0401
+dd 0x07de0402
+dd 0x07de0403
+dd 0x07de0404
+dd 0x07de0405
+dd 0x07de0406
+dd 0x07de0407
+dd 0x07de0408
+dd 0x07de0409
+dd 0x07de040a
+dd 0x07de040b
+dd 0x07de040c
+dd 0x07de040d
+dd 0x07de040e
+dd 0x07de040f
+dd 0x07de0410
+dd 0x07de0411
+dd 0x07de0412
+dd 0x07de0413
+dd 0x07de0414
+dd 0x07de0415
+dd 0x07de0416
+dd 0x07de0417
+dd 0x07de0418
+dd 0x07de0419
+dd 0x07de041a
+dd 0x07de041b
+dd 0x07de041c
+dd 0x07de041d
+dd 0x07de041e
+dd 0x07de0501
+dd 0x07de0502
+dd 0x07de0503
+dd 0x07de0504
+dd 0x07de0505
+dd 0x07de0506
+dd 0x07de0507
+dd 0x07de0508
+dd 0x07de0509
+dd 0x07de050a
+dd 0x07de050b
+dd 0x07de050c
+dd 0x07de050d
+dd 0x07de050e
+dd 0x07de050f
+dd 0x07de0510
+dd 0x07de0511
+dd 0x07de0512
+dd 0x07de0513
+dd 0x07de0514
+dd 0x07de0515
+dd 0x07de0516
+dd 0x07de0517
+dd 0x07de0518
+dd 0x07de0519
+dd 0x07de051a
+dd 0x07de051b
+dd 0x07de051c
+dd 0x07de051d
+dd 0x07de0601
+dd 0x07de0602
+dd 0x07de0603
+dd 0x07de0604
+dd 0x07de0605
+dd 0x07de0606
+dd 0x07de0607
+dd 0x07de0608
+dd 0x07de0609
+dd 0x07de060a
+dd 0x07de060b
+dd 0x07de060c
+dd 0x07de060d
+dd 0x07de060e
+dd 0x07de060f
+dd 0x07de0610
+dd 0x07de0611
+dd 0x07de0612
+dd 0x07de0613
+dd 0x07de0614
+dd 0x07de0615
+dd 0x07de0616
+dd 0x07de0617
+dd 0x07de0618
+dd 0x07de0619
+dd 0x07de061a
+dd 0x07de061b
+dd 0x07de061c
+dd 0x07de061d
+dd 0x07de061e
+dd 0x07de0701
+dd 0x07de0702
+dd 0x07de0703
+dd 0x07de0704
+dd 0x07de0705
+dd 0x07de0706
+dd 0x07de0707
+dd 0x07de0708
+dd 0x07de0709
+dd 0x07de070a
+dd 0x07de070b
+dd 0x07de070c
+dd 0x07de070d
+dd 0x07de070e
+dd 0x07de070f
+dd 0x07de0710
+dd 0x07de0711
+dd 0x07de0712
+dd 0x07de0713
+dd 0x07de0714
+dd 0x07de0715
+dd 0x07de0716
+dd 0x07de0717
+dd 0x07de0718
+dd 0x07de0719
+dd 0x07de071a
+dd 0x07de071b
+dd 0x07de071c
+dd 0x07de071d
+dd 0x07de0801
+dd 0x07de0802
+dd 0x07de0803
+dd 0x07de0804
+dd 0x07de0805
+dd 0x07de0806
+dd 0x07de0807
+dd 0x07de0808
+dd 0x07de0809
+dd 0x07de080a
+dd 0x07de080b
+dd 0x07de080c
+dd 0x07de080d
+dd 0x07de080e
+dd 0x07de080f
+dd 0x07de0810
+dd 0x07de0811
+dd 0x07de0812
+dd 0x07de0813
+dd 0x07de0814
+dd 0x07de0815
+dd 0x07de0816
+dd 0x07de0817
+dd 0x07de0818
+dd 0x07de0819
+dd 0x07de081a
+dd 0x07de081b
+dd 0x07de081c
+dd 0x07de081d
+dd 0x07de081e
+dd 0x07de0901
+dd 0x07de0902
+dd 0x07de0903
+dd 0x07de0904
+dd 0x07de0905
+dd 0x07de0906
+dd 0x07de0907
+dd 0x07de0908
+dd 0x07de0909
+dd 0x07de090a
+dd 0x07de090b
+dd 0x07de090c
+dd 0x07de090d
+dd 0x07de090e
+dd 0x07de090f
+dd 0x07de0910
+dd 0x07de0911
+dd 0x07de0912
+dd 0x07de0913
+dd 0x07de0914
+dd 0x07de0915
+dd 0x07de0916
+dd 0x07de0917
+dd 0x07de0918
+dd 0x07de0919
+dd 0x07de091a
+dd 0x07de091b
+dd 0x07de091c
+dd 0x07de091d
+dd 0x07de091e
+dd 0x07de0901
+dd 0x07de0902
+dd 0x07de0903
+dd 0x07de0904
+dd 0x07de0905
+dd 0x07de0906
+dd 0x07de0907
+dd 0x07de0908
+dd 0x07de0909
+dd 0x07de090a
+dd 0x07de090b
+dd 0x07de090c
+dd 0x07de090d
+dd 0x07de090e
+dd 0x07de090f
+dd 0x07de0910
+dd 0x07de0911
+dd 0x07de0912
+dd 0x07de0913
+dd 0x07de0914
+dd 0x07de0915
+dd 0x07de0916
+dd 0x07de0917
+dd 0x07de0918
+dd 0x07de0919
+dd 0x07de091a
+dd 0x07de091b
+dd 0x07de091c
+dd 0x07de091d
+dd 0x07de0a01
+dd 0x07de0a02
+dd 0x07de0a03
+dd 0x07de0a04
+dd 0x07de0a05
+dd 0x07de0a06
+dd 0x07de0a07
+dd 0x07de0a08
+dd 0x07de0a09
+dd 0x07de0a0a
+dd 0x07de0a0b
+dd 0x07de0a0c
+dd 0x07de0a0d
+dd 0x07de0a0e
+dd 0x07de0a0f
+dd 0x07de0a10
+dd 0x07de0a11
+dd 0x07de0a12
+dd 0x07de0a13
+dd 0x07de0a14
+dd 0x07de0a15
+dd 0x07de0a16
+dd 0x07de0a17
+dd 0x07de0a18
+dd 0x07de0a19
+dd 0x07de0a1a
+dd 0x07de0a1b
+dd 0x07de0a1c
+dd 0x07de0a1d
+dd 0x07de0a1e
+dd 0x07de0b01
+dd 0x07de0b02
+dd 0x07de0b03
+dd 0x07de0b04
+dd 0x07de0b05
+dd 0x07de0b06
+dd 0x07de0b07
+dd 0x07de0b08
+dd 0x07de0b09
+dd 0x07de0b0a
+dd 0x07de0b0b
+dd 0x07de0b0c
+dd 0x07de0b0d
+dd 0x07de0b0e
+dd 0x07de0b0f
+dd 0x07de0b10
+dd 0x07de0b11
+dd 0x07de0b12
+dd 0x07de0b13
+dd 0x07de0b14
+dd 0x07de0b15
+dd 0x07de0b16
+dd 0x07de0b17
+dd 0x07de0b18
+dd 0x07de0b19
+dd 0x07de0b1a
+dd 0x07de0b1b
+dd 0x07de0b1c
+dd 0x07de0b1d
+dd 0x07de0c01
+dd 0x07de0c02
+dd 0x07de0c03
+dd 0x07de0c04
+dd 0x07de0c05
+dd 0x07de0c06
+dd 0x07de0c07
+dd 0x07de0c08
+dd 0x07de0c09
+dd 0x07de0c0a
+dd 0x07de0c0b
+dd 0x07de0c0c
+dd 0x07de0c0d
+dd 0x07de0c0e
+dd 0x07de0c0f
+dd 0x07de0c10
+dd 0x07de0c11
+dd 0x07de0c12
+dd 0x07de0c13
+dd 0x07de0c14
+dd 0x07de0c15
+dd 0x07de0c16
+dd 0x07de0c17
+dd 0x07de0c18
+dd 0x07de0c19
+dd 0x07de0c1a
+dd 0x07de0c1b
+dd 0x07de0c1c
+dd 0x07de0c1d
+dd 0x07de0c1e
+dd 0x07df0101
+dd 0x07df0102
+dd 0x07df0103
+dd 0x07df0104
+dd 0x07df0105
+dd 0x07df0106
+dd 0x07df0107
+dd 0x07df0108
+dd 0x07df0109
+dd 0x07df010a
+dd 0x07df010b
+dd 0x07df010c
+dd 0x07df010d
+dd 0x07df010e
+dd 0x07df010f
+dd 0x07df0110
+dd 0x07df0111
+dd 0x07df0112
+dd 0x07df0113
+dd 0x07df0114
+dd 0x07df0115
+dd 0x07df0116
+dd 0x07df0117
+dd 0x07df0118
+dd 0x07df0119
+dd 0x07df011a
+dd 0x07df011b
+dd 0x07df011c
+dd 0x07df011d
+dd 0x07df0201
+dd 0x07df0202
+dd 0x07df0203
+dd 0x07df0204
+dd 0x07df0205
+dd 0x07df0206
+dd 0x07df0207
+dd 0x07df0208
+dd 0x07df0209
+dd 0x07df020a
+dd 0x07df020b
+dd 0x07df020c
+dd 0x07df020d
+dd 0x07df020e
+dd 0x07df020f
+dd 0x07df0210
+dd 0x07df0211
+dd 0x07df0212
+dd 0x07df0213
+dd 0x07df0214
+dd 0x07df0215
+dd 0x07df0216
+dd 0x07df0217
+dd 0x07df0218
+dd 0x07df0219
+dd 0x07df021a
+dd 0x07df021b
+dd 0x07df021c
+dd 0x07df021d
+dd 0x07df021e
+dd 0x07df0301
+dd 0x07df0302
+dd 0x07df0303
+dd 0x07df0304
+dd 0x07df0305
+dd 0x07df0306
+dd 0x07df0307
+dd 0x07df0308
+dd 0x07df0309
+dd 0x07df030a
+dd 0x07df030b
+dd 0x07df030c
+dd 0x07df030d
+dd 0x07df030e
+dd 0x07df030f
+dd 0x07df0310
+dd 0x07df0311
+dd 0x07df0312
+dd 0x07df0313
+dd 0x07df0314
+dd 0x07df0315
+dd 0x07df0316
+dd 0x07df0317
+dd 0x07df0318
+dd 0x07df0319
+dd 0x07df031a
+dd 0x07df031b
+dd 0x07df031c
+dd 0x07df031d
+dd 0x07df0401
+dd 0x07df0402
+dd 0x07df0403
+dd 0x07df0404
+dd 0x07df0405
+dd 0x07df0406
+dd 0x07df0407
+dd 0x07df0408
+dd 0x07df0409
+dd 0x07df040a
+dd 0x07df040b
+dd 0x07df040c
+dd 0x07df040d
+dd 0x07df040e
+dd 0x07df040f
+dd 0x07df0410
+dd 0x07df0411
+dd 0x07df0412
+dd 0x07df0413
+dd 0x07df0414
+dd 0x07df0415
+dd 0x07df0416
+dd 0x07df0417
+dd 0x07df0418
+dd 0x07df0419
+dd 0x07df041a
+dd 0x07df041b
+dd 0x07df041c
+dd 0x07df041d
+dd 0x07df0501
+dd 0x07df0502
+dd 0x07df0503
+dd 0x07df0504
+dd 0x07df0505
+dd 0x07df0506
+dd 0x07df0507
+dd 0x07df0508
+dd 0x07df0509
+dd 0x07df050a
+dd 0x07df050b
+dd 0x07df050c
+dd 0x07df050d
+dd 0x07df050e
+dd 0x07df050f
+dd 0x07df0510
+dd 0x07df0511
+dd 0x07df0512
+dd 0x07df0513
+dd 0x07df0514
+dd 0x07df0515
+dd 0x07df0516
+dd 0x07df0517
+dd 0x07df0518
+dd 0x07df0519
+dd 0x07df051a
+dd 0x07df051b
+dd 0x07df051c
+dd 0x07df051d
+dd 0x07df051e
+dd 0x07df0601
+dd 0x07df0602
+dd 0x07df0603
+dd 0x07df0604
+dd 0x07df0605
+dd 0x07df0606
+dd 0x07df0607
+dd 0x07df0608
+dd 0x07df0609
+dd 0x07df060a
+dd 0x07df060b
+dd 0x07df060c
+dd 0x07df060d
+dd 0x07df060e
+dd 0x07df060f
+dd 0x07df0610
+dd 0x07df0611
+dd 0x07df0612
+dd 0x07df0613
+dd 0x07df0614
+dd 0x07df0615
+dd 0x07df0616
+dd 0x07df0617
+dd 0x07df0618
+dd 0x07df0619
+dd 0x07df061a
+dd 0x07df061b
+dd 0x07df061c
+dd 0x07df061d
+dd 0x07df0701
+dd 0x07df0702
+dd 0x07df0703
+dd 0x07df0704
+dd 0x07df0705
+dd 0x07df0706
+dd 0x07df0707
+dd 0x07df0708
+dd 0x07df0709
+dd 0x07df070a
+dd 0x07df070b
+dd 0x07df070c
+dd 0x07df070d
+dd 0x07df070e
+dd 0x07df070f
+dd 0x07df0710
+dd 0x07df0711
+dd 0x07df0712
+dd 0x07df0713
+dd 0x07df0714
+dd 0x07df0715
+dd 0x07df0716
+dd 0x07df0717
+dd 0x07df0718
+dd 0x07df0719
+dd 0x07df071a
+dd 0x07df071b
+dd 0x07df071c
+dd 0x07df071d
+dd 0x07df071e
+dd 0x07df0801
+dd 0x07df0802
+dd 0x07df0803
+dd 0x07df0804
+dd 0x07df0805
+dd 0x07df0806
+dd 0x07df0807
+dd 0x07df0808
+dd 0x07df0809
+dd 0x07df080a
+dd 0x07df080b
+dd 0x07df080c
+dd 0x07df080d
+dd 0x07df080e
+dd 0x07df080f
+dd 0x07df0810
+dd 0x07df0811
+dd 0x07df0812
+dd 0x07df0813
+dd 0x07df0814
+dd 0x07df0815
+dd 0x07df0816
+dd 0x07df0817
+dd 0x07df0818
+dd 0x07df0819
+dd 0x07df081a
+dd 0x07df081b
+dd 0x07df081c
+dd 0x07df081d
+dd 0x07df081e
+dd 0x07df0901
+dd 0x07df0902
+dd 0x07df0903
+dd 0x07df0904
+dd 0x07df0905
+dd 0x07df0906
+dd 0x07df0907
+dd 0x07df0908
+dd 0x07df0909
+dd 0x07df090a
+dd 0x07df090b
+dd 0x07df090c
+dd 0x07df090d
+dd 0x07df090e
+dd 0x07df090f
+dd 0x07df0910
+dd 0x07df0911
+dd 0x07df0912
+dd 0x07df0913
+dd 0x07df0914
+dd 0x07df0915
+dd 0x07df0916
+dd 0x07df0917
+dd 0x07df0918
+dd 0x07df0919
+dd 0x07df091a
+dd 0x07df091b
+dd 0x07df091c
+dd 0x07df091d
+dd 0x07df091e
+dd 0x07df0a01
+dd 0x07df0a02
+dd 0x07df0a03
+dd 0x07df0a04
+dd 0x07df0a05
+dd 0x07df0a06
+dd 0x07df0a07
+dd 0x07df0a08
+dd 0x07df0a09
+dd 0x07df0a0a
+dd 0x07df0a0b
+dd 0x07df0a0c
+dd 0x07df0a0d
+dd 0x07df0a0e
+dd 0x07df0a0f
+dd 0x07df0a10
+dd 0x07df0a11
+dd 0x07df0a12
+dd 0x07df0a13
+dd 0x07df0a14
+dd 0x07df0a15
+dd 0x07df0a16
+dd 0x07df0a17
+dd 0x07df0a18
+dd 0x07df0a19
+dd 0x07df0a1a
+dd 0x07df0a1b
+dd 0x07df0a1c
+dd 0x07df0a1d
+dd 0x07df0b01
+dd 0x07df0b02
+dd 0x07df0b03
+dd 0x07df0b04
+dd 0x07df0b05
+dd 0x07df0b06
+dd 0x07df0b07
+dd 0x07df0b08
+dd 0x07df0b09
+dd 0x07df0b0a
+dd 0x07df0b0b
+dd 0x07df0b0c
+dd 0x07df0b0d
+dd 0x07df0b0e
+dd 0x07df0b0f
+dd 0x07df0b10
+dd 0x07df0b11
+dd 0x07df0b12
+dd 0x07df0b13
+dd 0x07df0b14
+dd 0x07df0b15
+dd 0x07df0b16
+dd 0x07df0b17
+dd 0x07df0b18
+dd 0x07df0b19
+dd 0x07df0b1a
+dd 0x07df0b1b
+dd 0x07df0b1c
+dd 0x07df0b1d
+dd 0x07df0b1e
+dd 0x07df0c01
+dd 0x07df0c02
+dd 0x07df0c03
+dd 0x07df0c04
+dd 0x07df0c05
+dd 0x07df0c06
+dd 0x07df0c07
+dd 0x07df0c08
+dd 0x07df0c09
+dd 0x07df0c0a
+dd 0x07df0c0b
+dd 0x07df0c0c
+dd 0x07df0c0d
+dd 0x07df0c0e
+dd 0x07df0c0f
+dd 0x07df0c10
+dd 0x07df0c11
+dd 0x07df0c12
+dd 0x07df0c13
+dd 0x07df0c14
+dd 0x07df0c15
+dd 0x07df0c16
+dd 0x07df0c17
+dd 0x07df0c18
+dd 0x07df0c19
+dd 0x07df0c1a
+dd 0x07df0c1b
+dd 0x07df0c1c
+dd 0x07df0c1d
+dd 0x07e00101
+dd 0x07e00102
+dd 0x07e00103
+dd 0x07e00104
+dd 0x07e00105
+dd 0x07e00106
+dd 0x07e00107
+dd 0x07e00108
+dd 0x07e00109
+dd 0x07e0010a
+dd 0x07e0010b
+dd 0x07e0010c
+dd 0x07e0010d
+dd 0x07e0010e
+dd 0x07e0010f
+dd 0x07e00110
+dd 0x07e00111
+dd 0x07e00112
+dd 0x07e00113
+dd 0x07e00114
+dd 0x07e00115
+dd 0x07e00116
+dd 0x07e00117
+dd 0x07e00118
+dd 0x07e00119
+dd 0x07e0011a
+dd 0x07e0011b
+dd 0x07e0011c
+dd 0x07e0011d
+dd 0x07e0011e
+dd 0x07e00201
+dd 0x07e00202
+dd 0x07e00203
+dd 0x07e00204
+dd 0x07e00205
+dd 0x07e00206
+dd 0x07e00207
+dd 0x07e00208
+dd 0x07e00209
+dd 0x07e0020a
+dd 0x07e0020b
+dd 0x07e0020c
+dd 0x07e0020d
+dd 0x07e0020e
+dd 0x07e0020f
+dd 0x07e00210
+dd 0x07e00211
+dd 0x07e00212
+dd 0x07e00213
+dd 0x07e00214
+dd 0x07e00215
+dd 0x07e00216
+dd 0x07e00217
+dd 0x07e00218
+dd 0x07e00219
+dd 0x07e0021a
+dd 0x07e0021b
+dd 0x07e0021c
+dd 0x07e0021d
+dd 0x07e00301
+dd 0x07e00302
+dd 0x07e00303
+dd 0x07e00304
+dd 0x07e00305
+dd 0x07e00306
+dd 0x07e00307
+dd 0x07e00308
+dd 0x07e00309
+dd 0x07e0030a
+dd 0x07e0030b
+dd 0x07e0030c
+dd 0x07e0030d
+dd 0x07e0030e
+dd 0x07e0030f
+dd 0x07e00310
+dd 0x07e00311
+dd 0x07e00312
+dd 0x07e00313
+dd 0x07e00314
+dd 0x07e00315
+dd 0x07e00316
+dd 0x07e00317
+dd 0x07e00318
+dd 0x07e00319
+dd 0x07e0031a
+dd 0x07e0031b
+dd 0x07e0031c
+dd 0x07e0031d
+dd 0x07e0031e
+dd 0x07e00401
+dd 0x07e00402
+dd 0x07e00403
+dd 0x07e00404
+dd 0x07e00405
+dd 0x07e00406
+dd 0x07e00407
+dd 0x07e00408
+dd 0x07e00409
+dd 0x07e0040a
+dd 0x07e0040b
+dd 0x07e0040c
+dd 0x07e0040d
+dd 0x07e0040e
+dd 0x07e0040f
+dd 0x07e00410
+dd 0x07e00411
+dd 0x07e00412
+dd 0x07e00413
+dd 0x07e00414
+dd 0x07e00415
+dd 0x07e00416
+dd 0x07e00417
+dd 0x07e00418
+dd 0x07e00419
+dd 0x07e0041a
+dd 0x07e0041b
+dd 0x07e0041c
+dd 0x07e0041d
+dd 0x07e00501
+dd 0x07e00502
+dd 0x07e00503
+dd 0x07e00504
+dd 0x07e00505
+dd 0x07e00506
+dd 0x07e00507
+dd 0x07e00508
+dd 0x07e00509
+dd 0x07e0050a
+dd 0x07e0050b
+dd 0x07e0050c
+dd 0x07e0050d
+dd 0x07e0050e
+dd 0x07e0050f
+dd 0x07e00510
+dd 0x07e00511
+dd 0x07e00512
+dd 0x07e00513
+dd 0x07e00514
+dd 0x07e00515
+dd 0x07e00516
+dd 0x07e00517
+dd 0x07e00518
+dd 0x07e00519
+dd 0x07e0051a
+dd 0x07e0051b
+dd 0x07e0051c
+dd 0x07e0051d
+dd 0x07e00601
+dd 0x07e00602
+dd 0x07e00603
+dd 0x07e00604
+dd 0x07e00605
+dd 0x07e00606
+dd 0x07e00607
+dd 0x07e00608
+dd 0x07e00609
+dd 0x07e0060a
+dd 0x07e0060b
+dd 0x07e0060c
+dd 0x07e0060d
+dd 0x07e0060e
+dd 0x07e0060f
+dd 0x07e00610
+dd 0x07e00611
+dd 0x07e00612
+dd 0x07e00613
+dd 0x07e00614
+dd 0x07e00615
+dd 0x07e00616
+dd 0x07e00617
+dd 0x07e00618
+dd 0x07e00619
+dd 0x07e0061a
+dd 0x07e0061b
+dd 0x07e0061c
+dd 0x07e0061d
+dd 0x07e0061e
+dd 0x07e00701
+dd 0x07e00702
+dd 0x07e00703
+dd 0x07e00704
+dd 0x07e00705
+dd 0x07e00706
+dd 0x07e00707
+dd 0x07e00708
+dd 0x07e00709
+dd 0x07e0070a
+dd 0x07e0070b
+dd 0x07e0070c
+dd 0x07e0070d
+dd 0x07e0070e
+dd 0x07e0070f
+dd 0x07e00710
+dd 0x07e00711
+dd 0x07e00712
+dd 0x07e00713
+dd 0x07e00714
+dd 0x07e00715
+dd 0x07e00716
+dd 0x07e00717
+dd 0x07e00718
+dd 0x07e00719
+dd 0x07e0071a
+dd 0x07e0071b
+dd 0x07e0071c
+dd 0x07e0071d
+dd 0x07e00801
+dd 0x07e00802
+dd 0x07e00803
+dd 0x07e00804
+dd 0x07e00805
+dd 0x07e00806
+dd 0x07e00807
+dd 0x07e00808
+dd 0x07e00809
+dd 0x07e0080a
+dd 0x07e0080b
+dd 0x07e0080c
+dd 0x07e0080d
+dd 0x07e0080e
+dd 0x07e0080f
+dd 0x07e00810
+dd 0x07e00811
+dd 0x07e00812
+dd 0x07e00813
+dd 0x07e00814
+dd 0x07e00815
+dd 0x07e00816
+dd 0x07e00817
+dd 0x07e00818
+dd 0x07e00819
+dd 0x07e0081a
+dd 0x07e0081b
+dd 0x07e0081c
+dd 0x07e0081d
+dd 0x07e0081e
+dd 0x07e00901
+dd 0x07e00902
+dd 0x07e00903
+dd 0x07e00904
+dd 0x07e00905
+dd 0x07e00906
+dd 0x07e00907
+dd 0x07e00908
+dd 0x07e00909
+dd 0x07e0090a
+dd 0x07e0090b
+dd 0x07e0090c
+dd 0x07e0090d
+dd 0x07e0090e
+dd 0x07e0090f
+dd 0x07e00910
+dd 0x07e00911
+dd 0x07e00912
+dd 0x07e00913
+dd 0x07e00914
+dd 0x07e00915
+dd 0x07e00916
+dd 0x07e00917
+dd 0x07e00918
+dd 0x07e00919
+dd 0x07e0091a
+dd 0x07e0091b
+dd 0x07e0091c
+dd 0x07e0091d
+dd 0x07e0091e
+dd 0x07e00a01
+dd 0x07e00a02
+dd 0x07e00a03
+dd 0x07e00a04
+dd 0x07e00a05
+dd 0x07e00a06
+dd 0x07e00a07
+dd 0x07e00a08
+dd 0x07e00a09
+dd 0x07e00a0a
+dd 0x07e00a0b
+dd 0x07e00a0c
+dd 0x07e00a0d
+dd 0x07e00a0e
+dd 0x07e00a0f
+dd 0x07e00a10
+dd 0x07e00a11
+dd 0x07e00a12
+dd 0x07e00a13
+dd 0x07e00a14
+dd 0x07e00a15
+dd 0x07e00a16
+dd 0x07e00a17
+dd 0x07e00a18
+dd 0x07e00a19
+dd 0x07e00a1a
+dd 0x07e00a1b
+dd 0x07e00a1c
+dd 0x07e00a1d
+dd 0x07e00b01
+dd 0x07e00b02
+dd 0x07e00b03
+dd 0x07e00b04
+dd 0x07e00b05
+dd 0x07e00b06
+dd 0x07e00b07
+dd 0x07e00b08
+dd 0x07e00b09
+dd 0x07e00b0a
+dd 0x07e00b0b
+dd 0x07e00b0c
+dd 0x07e00b0d
+dd 0x07e00b0e
+dd 0x07e00b0f
+dd 0x07e00b10
+dd 0x07e00b11
+dd 0x07e00b12
+dd 0x07e00b13
+dd 0x07e00b14
+dd 0x07e00b15
+dd 0x07e00b16
+dd 0x07e00b17
+dd 0x07e00b18
+dd 0x07e00b19
+dd 0x07e00b1a
+dd 0x07e00b1b
+dd 0x07e00b1c
+dd 0x07e00b1d
+dd 0x07e00b1e
+dd 0x07e00c01
+dd 0x07e00c02
+dd 0x07e00c03
+dd 0x07e00c04
+dd 0x07e00c05
+dd 0x07e00c06
+dd 0x07e00c07
+dd 0x07e00c08
+dd 0x07e00c09
+dd 0x07e00c0a
+dd 0x07e00c0b
+dd 0x07e00c0c
+dd 0x07e00c0d
+dd 0x07e00c0e
+dd 0x07e00c0f
+dd 0x07e00c10
+dd 0x07e00c11
+dd 0x07e00c12
+dd 0x07e00c13
+dd 0x07e00c14
+dd 0x07e00c15
+dd 0x07e00c16
+dd 0x07e00c17
+dd 0x07e00c18
+dd 0x07e00c19
+dd 0x07e00c1a
+dd 0x07e00c1b
+dd 0x07e00c1c
+dd 0x07e00c1d
+dd 0x07e00c1e
+dd 0x07e10101
+dd 0x07e10102
+dd 0x07e10103
+dd 0x07e10104
+dd 0x07e10105
+dd 0x07e10106
+dd 0x07e10107
+dd 0x07e10108
+dd 0x07e10109
+dd 0x07e1010a
+dd 0x07e1010b
+dd 0x07e1010c
+dd 0x07e1010d
+dd 0x07e1010e
+dd 0x07e1010f
+dd 0x07e10110
+dd 0x07e10111
+dd 0x07e10112
+dd 0x07e10113
+dd 0x07e10114
+dd 0x07e10115
+dd 0x07e10116
+dd 0x07e10117
+dd 0x07e10118
+dd 0x07e10119
+dd 0x07e1011a
+dd 0x07e1011b
+dd 0x07e1011c
+dd 0x07e1011d
+dd 0x07e10201
+dd 0x07e10202
+dd 0x07e10203
+dd 0x07e10204
+dd 0x07e10205
+dd 0x07e10206
+dd 0x07e10207
+dd 0x07e10208
+dd 0x07e10209
+dd 0x07e1020a
+dd 0x07e1020b
+dd 0x07e1020c
+dd 0x07e1020d
+dd 0x07e1020e
+dd 0x07e1020f
+dd 0x07e10210
+dd 0x07e10211
+dd 0x07e10212
+dd 0x07e10213
+dd 0x07e10214
+dd 0x07e10215
+dd 0x07e10216
+dd 0x07e10217
+dd 0x07e10218
+dd 0x07e10219
+dd 0x07e1021a
+dd 0x07e1021b
+dd 0x07e1021c
+dd 0x07e1021d
+dd 0x07e1021e
+dd 0x07e10301
+dd 0x07e10302
+dd 0x07e10303
+dd 0x07e10304
+dd 0x07e10305
+dd 0x07e10306
+dd 0x07e10307
+dd 0x07e10308
+dd 0x07e10309
+dd 0x07e1030a
+dd 0x07e1030b
+dd 0x07e1030c
+dd 0x07e1030d
+dd 0x07e1030e
+dd 0x07e1030f
+dd 0x07e10310
+dd 0x07e10311
+dd 0x07e10312
+dd 0x07e10313
+dd 0x07e10314
+dd 0x07e10315
+dd 0x07e10316
+dd 0x07e10317
+dd 0x07e10318
+dd 0x07e10319
+dd 0x07e1031a
+dd 0x07e1031b
+dd 0x07e1031c
+dd 0x07e1031d
+dd 0x07e10401
+dd 0x07e10402
+dd 0x07e10403
+dd 0x07e10404
+dd 0x07e10405
+dd 0x07e10406
+dd 0x07e10407
+dd 0x07e10408
+dd 0x07e10409
+dd 0x07e1040a
+dd 0x07e1040b
+dd 0x07e1040c
+dd 0x07e1040d
+dd 0x07e1040e
+dd 0x07e1040f
+dd 0x07e10410
+dd 0x07e10411
+dd 0x07e10412
+dd 0x07e10413
+dd 0x07e10414
+dd 0x07e10415
+dd 0x07e10416
+dd 0x07e10417
+dd 0x07e10418
+dd 0x07e10419
+dd 0x07e1041a
+dd 0x07e1041b
+dd 0x07e1041c
+dd 0x07e1041d
+dd 0x07e1041e
+dd 0x07e10501
+dd 0x07e10502
+dd 0x07e10503
+dd 0x07e10504
+dd 0x07e10505
+dd 0x07e10506
+dd 0x07e10507
+dd 0x07e10508
+dd 0x07e10509
+dd 0x07e1050a
+dd 0x07e1050b
+dd 0x07e1050c
+dd 0x07e1050d
+dd 0x07e1050e
+dd 0x07e1050f
+dd 0x07e10510
+dd 0x07e10511
+dd 0x07e10512
+dd 0x07e10513
+dd 0x07e10514
+dd 0x07e10515
+dd 0x07e10516
+dd 0x07e10517
+dd 0x07e10518
+dd 0x07e10519
+dd 0x07e1051a
+dd 0x07e1051b
+dd 0x07e1051c
+dd 0x07e1051d
+dd 0x07e10601
+dd 0x07e10602
+dd 0x07e10603
+dd 0x07e10604
+dd 0x07e10605
+dd 0x07e10606
+dd 0x07e10607
+dd 0x07e10608
+dd 0x07e10609
+dd 0x07e1060a
+dd 0x07e1060b
+dd 0x07e1060c
+dd 0x07e1060d
+dd 0x07e1060e
+dd 0x07e1060f
+dd 0x07e10610
+dd 0x07e10611
+dd 0x07e10612
+dd 0x07e10613
+dd 0x07e10614
+dd 0x07e10615
+dd 0x07e10616
+dd 0x07e10617
+dd 0x07e10618
+dd 0x07e10619
+dd 0x07e1061a
+dd 0x07e1061b
+dd 0x07e1061c
+dd 0x07e1061d
+dd 0x07e10601
+dd 0x07e10602
+dd 0x07e10603
+dd 0x07e10604
+dd 0x07e10605
+dd 0x07e10606
+dd 0x07e10607
+dd 0x07e10608
+dd 0x07e10609
+dd 0x07e1060a
+dd 0x07e1060b
+dd 0x07e1060c
+dd 0x07e1060d
+dd 0x07e1060e
+dd 0x07e1060f
+dd 0x07e10610
+dd 0x07e10611
+dd 0x07e10612
+dd 0x07e10613
+dd 0x07e10614
+dd 0x07e10615
+dd 0x07e10616
+dd 0x07e10617
+dd 0x07e10618
+dd 0x07e10619
+dd 0x07e1061a
+dd 0x07e1061b
+dd 0x07e1061c
+dd 0x07e1061d
+dd 0x07e1061e
+dd 0x07e10701
+dd 0x07e10702
+dd 0x07e10703
+dd 0x07e10704
+dd 0x07e10705
+dd 0x07e10706
+dd 0x07e10707
+dd 0x07e10708
+dd 0x07e10709
+dd 0x07e1070a
+dd 0x07e1070b
+dd 0x07e1070c
+dd 0x07e1070d
+dd 0x07e1070e
+dd 0x07e1070f
+dd 0x07e10710
+dd 0x07e10711
+dd 0x07e10712
+dd 0x07e10713
+dd 0x07e10714
+dd 0x07e10715
+dd 0x07e10716
+dd 0x07e10717
+dd 0x07e10718
+dd 0x07e10719
+dd 0x07e1071a
+dd 0x07e1071b
+dd 0x07e1071c
+dd 0x07e1071d
+dd 0x07e10801
+dd 0x07e10802
+dd 0x07e10803
+dd 0x07e10804
+dd 0x07e10805
+dd 0x07e10806
+dd 0x07e10807
+dd 0x07e10808
+dd 0x07e10809
+dd 0x07e1080a
+dd 0x07e1080b
+dd 0x07e1080c
+dd 0x07e1080d
+dd 0x07e1080e
+dd 0x07e1080f
+dd 0x07e10810
+dd 0x07e10811
+dd 0x07e10812
+dd 0x07e10813
+dd 0x07e10814
+dd 0x07e10815
+dd 0x07e10816
+dd 0x07e10817
+dd 0x07e10818
+dd 0x07e10819
+dd 0x07e1081a
+dd 0x07e1081b
+dd 0x07e1081c
+dd 0x07e1081d
+dd 0x07e1081e
+dd 0x07e10901
+dd 0x07e10902
+dd 0x07e10903
+dd 0x07e10904
+dd 0x07e10905
+dd 0x07e10906
+dd 0x07e10907
+dd 0x07e10908
+dd 0x07e10909
+dd 0x07e1090a
+dd 0x07e1090b
+dd 0x07e1090c
+dd 0x07e1090d
+dd 0x07e1090e
+dd 0x07e1090f
+dd 0x07e10910
+dd 0x07e10911
+dd 0x07e10912
+dd 0x07e10913
+dd 0x07e10914
+dd 0x07e10915
+dd 0x07e10916
+dd 0x07e10917
+dd 0x07e10918
+dd 0x07e10919
+dd 0x07e1091a
+dd 0x07e1091b
+dd 0x07e1091c
+dd 0x07e1091d
+dd 0x07e10a01
+dd 0x07e10a02
+dd 0x07e10a03
+dd 0x07e10a04
+dd 0x07e10a05
+dd 0x07e10a06
+dd 0x07e10a07
+dd 0x07e10a08
+dd 0x07e10a09
+dd 0x07e10a0a
+dd 0x07e10a0b
+dd 0x07e10a0c
+dd 0x07e10a0d
+dd 0x07e10a0e
+dd 0x07e10a0f
+dd 0x07e10a10
+dd 0x07e10a11
+dd 0x07e10a12
+dd 0x07e10a13
+dd 0x07e10a14
+dd 0x07e10a15
+dd 0x07e10a16
+dd 0x07e10a17
+dd 0x07e10a18
+dd 0x07e10a19
+dd 0x07e10a1a
+dd 0x07e10a1b
+dd 0x07e10a1c
+dd 0x07e10a1d
+dd 0x07e10a1e
+dd 0x07e10b01
+dd 0x07e10b02
+dd 0x07e10b03
+dd 0x07e10b04
+dd 0x07e10b05
+dd 0x07e10b06
+dd 0x07e10b07
+dd 0x07e10b08
+dd 0x07e10b09
+dd 0x07e10b0a
+dd 0x07e10b0b
+dd 0x07e10b0c
+dd 0x07e10b0d
+dd 0x07e10b0e
+dd 0x07e10b0f
+dd 0x07e10b10
+dd 0x07e10b11
+dd 0x07e10b12
+dd 0x07e10b13
+dd 0x07e10b14
+dd 0x07e10b15
+dd 0x07e10b16
+dd 0x07e10b17
+dd 0x07e10b18
+dd 0x07e10b19
+dd 0x07e10b1a
+dd 0x07e10b1b
+dd 0x07e10b1c
+dd 0x07e10b1d
+dd 0x07e10b1e
+dd 0x07e10c01
+dd 0x07e10c02
+dd 0x07e10c03
+dd 0x07e10c04
+dd 0x07e10c05
+dd 0x07e10c06
+dd 0x07e10c07
+dd 0x07e10c08
+dd 0x07e10c09
+dd 0x07e10c0a
+dd 0x07e10c0b
+dd 0x07e10c0c
+dd 0x07e10c0d
+dd 0x07e10c0e
+dd 0x07e10c0f
+dd 0x07e10c10
+dd 0x07e10c11
+dd 0x07e10c12
+dd 0x07e10c13
+dd 0x07e10c14
+dd 0x07e10c15
+dd 0x07e10c16
+dd 0x07e10c17
+dd 0x07e10c18
+dd 0x07e10c19
+dd 0x07e10c1a
+dd 0x07e10c1b
+dd 0x07e10c1c
+dd 0x07e10c1d
+dd 0x07e10c1e
+dd 0x07e20101
+dd 0x07e20102
+dd 0x07e20103
+dd 0x07e20104
+dd 0x07e20105
+dd 0x07e20106
+dd 0x07e20107
+dd 0x07e20108
+dd 0x07e20109
+dd 0x07e2010a
+dd 0x07e2010b
+dd 0x07e2010c
+dd 0x07e2010d
+dd 0x07e2010e
+dd 0x07e2010f
+dd 0x07e20110
+dd 0x07e20111
+dd 0x07e20112
+dd 0x07e20113
+dd 0x07e20114
+dd 0x07e20115
+dd 0x07e20116
+dd 0x07e20117
+dd 0x07e20118
+dd 0x07e20119
+dd 0x07e2011a
+dd 0x07e2011b
+dd 0x07e2011c
+dd 0x07e2011d
+dd 0x07e20201
+dd 0x07e20202
+dd 0x07e20203
+dd 0x07e20204
+dd 0x07e20205
+dd 0x07e20206
+dd 0x07e20207
+dd 0x07e20208
+dd 0x07e20209
+dd 0x07e2020a
+dd 0x07e2020b
+dd 0x07e2020c
+dd 0x07e2020d
+dd 0x07e2020e
+dd 0x07e2020f
+dd 0x07e20210
+dd 0x07e20211
+dd 0x07e20212
+dd 0x07e20213
+dd 0x07e20214
+dd 0x07e20215
+dd 0x07e20216
+dd 0x07e20217
+dd 0x07e20218
+dd 0x07e20219
+dd 0x07e2021a
+dd 0x07e2021b
+dd 0x07e2021c
+dd 0x07e2021d
+dd 0x07e2021e
+dd 0x07e20301
+dd 0x07e20302
+dd 0x07e20303
+dd 0x07e20304
+dd 0x07e20305
+dd 0x07e20306
+dd 0x07e20307
+dd 0x07e20308
+dd 0x07e20309
+dd 0x07e2030a
+dd 0x07e2030b
+dd 0x07e2030c
+dd 0x07e2030d
+dd 0x07e2030e
+dd 0x07e2030f
+dd 0x07e20310
+dd 0x07e20311
+dd 0x07e20312
+dd 0x07e20313
+dd 0x07e20314
+dd 0x07e20315
+dd 0x07e20316
+dd 0x07e20317
+dd 0x07e20318
+dd 0x07e20319
+dd 0x07e2031a
+dd 0x07e2031b
+dd 0x07e2031c
+dd 0x07e2031d
+dd 0x07e20401
+dd 0x07e20402
+dd 0x07e20403
+dd 0x07e20404
+dd 0x07e20405
+dd 0x07e20406
+dd 0x07e20407
+dd 0x07e20408
+dd 0x07e20409
+dd 0x07e2040a
+dd 0x07e2040b
+dd 0x07e2040c
+dd 0x07e2040d
+dd 0x07e2040e
+dd 0x07e2040f
+dd 0x07e20410
+dd 0x07e20411
+dd 0x07e20412
+dd 0x07e20413
+dd 0x07e20414
+dd 0x07e20415
+dd 0x07e20416
+dd 0x07e20417
+dd 0x07e20418
+dd 0x07e20419
+dd 0x07e2041a
+dd 0x07e2041b
+dd 0x07e2041c
+dd 0x07e2041d
+dd 0x07e2041e
+dd 0x07e20501
+dd 0x07e20502
+dd 0x07e20503
+dd 0x07e20504
+dd 0x07e20505
+dd 0x07e20506
+dd 0x07e20507
+dd 0x07e20508
+dd 0x07e20509
+dd 0x07e2050a
+dd 0x07e2050b
+dd 0x07e2050c
+dd 0x07e2050d
+dd 0x07e2050e
+dd 0x07e2050f
+dd 0x07e20510
+dd 0x07e20511
+dd 0x07e20512
+dd 0x07e20513
+dd 0x07e20514
+dd 0x07e20515
+dd 0x07e20516
+dd 0x07e20517
+dd 0x07e20518
+dd 0x07e20519
+dd 0x07e2051a
+dd 0x07e2051b
+dd 0x07e2051c
+dd 0x07e2051d
+dd 0x07e20601
+dd 0x07e20602
+dd 0x07e20603
+dd 0x07e20604
+dd 0x07e20605
+dd 0x07e20606
+dd 0x07e20607
+dd 0x07e20608
+dd 0x07e20609
+dd 0x07e2060a
+dd 0x07e2060b
+dd 0x07e2060c
+dd 0x07e2060d
+dd 0x07e2060e
+dd 0x07e2060f
+dd 0x07e20610
+dd 0x07e20611
+dd 0x07e20612
+dd 0x07e20613
+dd 0x07e20614
+dd 0x07e20615
+dd 0x07e20616
+dd 0x07e20617
+dd 0x07e20618
+dd 0x07e20619
+dd 0x07e2061a
+dd 0x07e2061b
+dd 0x07e2061c
+dd 0x07e2061d
+dd 0x07e20701
+dd 0x07e20702
+dd 0x07e20703
+dd 0x07e20704
+dd 0x07e20705
+dd 0x07e20706
+dd 0x07e20707
+dd 0x07e20708
+dd 0x07e20709
+dd 0x07e2070a
+dd 0x07e2070b
+dd 0x07e2070c
+dd 0x07e2070d
+dd 0x07e2070e
+dd 0x07e2070f
+dd 0x07e20710
+dd 0x07e20711
+dd 0x07e20712
+dd 0x07e20713
+dd 0x07e20714
+dd 0x07e20715
+dd 0x07e20716
+dd 0x07e20717
+dd 0x07e20718
+dd 0x07e20719
+dd 0x07e2071a
+dd 0x07e2071b
+dd 0x07e2071c
+dd 0x07e2071d
+dd 0x07e2071e
+dd 0x07e20801
+dd 0x07e20802
+dd 0x07e20803
+dd 0x07e20804
+dd 0x07e20805
+dd 0x07e20806
+dd 0x07e20807
+dd 0x07e20808
+dd 0x07e20809
+dd 0x07e2080a
+dd 0x07e2080b
+dd 0x07e2080c
+dd 0x07e2080d
+dd 0x07e2080e
+dd 0x07e2080f
+dd 0x07e20810
+dd 0x07e20811
+dd 0x07e20812
+dd 0x07e20813
+dd 0x07e20814
+dd 0x07e20815
+dd 0x07e20816
+dd 0x07e20817
+dd 0x07e20818
+dd 0x07e20819
+dd 0x07e2081a
+dd 0x07e2081b
+dd 0x07e2081c
+dd 0x07e2081d
+dd 0x07e20901
+dd 0x07e20902
+dd 0x07e20903
+dd 0x07e20904
+dd 0x07e20905
+dd 0x07e20906
+dd 0x07e20907
+dd 0x07e20908
+dd 0x07e20909
+dd 0x07e2090a
+dd 0x07e2090b
+dd 0x07e2090c
+dd 0x07e2090d
+dd 0x07e2090e
+dd 0x07e2090f
+dd 0x07e20910
+dd 0x07e20911
+dd 0x07e20912
+dd 0x07e20913
+dd 0x07e20914
+dd 0x07e20915
+dd 0x07e20916
+dd 0x07e20917
+dd 0x07e20918
+dd 0x07e20919
+dd 0x07e2091a
+dd 0x07e2091b
+dd 0x07e2091c
+dd 0x07e2091d
+dd 0x07e2091e
+dd 0x07e20a01
+dd 0x07e20a02
+dd 0x07e20a03
+dd 0x07e20a04
+dd 0x07e20a05
+dd 0x07e20a06
+dd 0x07e20a07
+dd 0x07e20a08
+dd 0x07e20a09
+dd 0x07e20a0a
+dd 0x07e20a0b
+dd 0x07e20a0c
+dd 0x07e20a0d
+dd 0x07e20a0e
+dd 0x07e20a0f
+dd 0x07e20a10
+dd 0x07e20a11
+dd 0x07e20a12
+dd 0x07e20a13
+dd 0x07e20a14
+dd 0x07e20a15
+dd 0x07e20a16
+dd 0x07e20a17
+dd 0x07e20a18
+dd 0x07e20a19
+dd 0x07e20a1a
+dd 0x07e20a1b
+dd 0x07e20a1c
+dd 0x07e20a1d
+dd 0x07e20b01
+dd 0x07e20b02
+dd 0x07e20b03
+dd 0x07e20b04
+dd 0x07e20b05
+dd 0x07e20b06
+dd 0x07e20b07
+dd 0x07e20b08
+dd 0x07e20b09
+dd 0x07e20b0a
+dd 0x07e20b0b
+dd 0x07e20b0c
+dd 0x07e20b0d
+dd 0x07e20b0e
+dd 0x07e20b0f
+dd 0x07e20b10
+dd 0x07e20b11
+dd 0x07e20b12
+dd 0x07e20b13
+dd 0x07e20b14
+dd 0x07e20b15
+dd 0x07e20b16
+dd 0x07e20b17
+dd 0x07e20b18
+dd 0x07e20b19
+dd 0x07e20b1a
+dd 0x07e20b1b
+dd 0x07e20b1c
+dd 0x07e20b1d
+dd 0x07e20b1e
+dd 0x07e20c01
+dd 0x07e20c02
+dd 0x07e20c03
+dd 0x07e20c04
+dd 0x07e20c05
+dd 0x07e20c06
+dd 0x07e20c07
+dd 0x07e20c08
+dd 0x07e20c09
+dd 0x07e20c0a
+dd 0x07e20c0b
+dd 0x07e20c0c
+dd 0x07e20c0d
+dd 0x07e20c0e
+dd 0x07e20c0f
+dd 0x07e20c10
+dd 0x07e20c11
+dd 0x07e20c12
+dd 0x07e20c13
+dd 0x07e20c14
+dd 0x07e20c15
+dd 0x07e20c16
+dd 0x07e20c17
+dd 0x07e20c18
+dd 0x07e20c19
+dd 0x07e20c1a
+dd 0x07e20c1b
+dd 0x07e20c1c
+dd 0x07e20c1d
+dd 0x07e20c1e
+dd 0x07e30101
+dd 0x07e30102
+dd 0x07e30103
+dd 0x07e30104
+dd 0x07e30105
+dd 0x07e30106
+dd 0x07e30107
+dd 0x07e30108
+dd 0x07e30109
+dd 0x07e3010a
+dd 0x07e3010b
+dd 0x07e3010c
+dd 0x07e3010d
+dd 0x07e3010e
+dd 0x07e3010f
+dd 0x07e30110
+dd 0x07e30111
+dd 0x07e30112
+dd 0x07e30113
+dd 0x07e30114
+dd 0x07e30115
+dd 0x07e30116
+dd 0x07e30117
+dd 0x07e30118
+dd 0x07e30119
+dd 0x07e3011a
+dd 0x07e3011b
+dd 0x07e3011c
+dd 0x07e3011d
+dd 0x07e3011e
+dd 0x07e30201
+dd 0x07e30202
+dd 0x07e30203
+dd 0x07e30204
+dd 0x07e30205
+dd 0x07e30206
+dd 0x07e30207
+dd 0x07e30208
+dd 0x07e30209
+dd 0x07e3020a
+dd 0x07e3020b
+dd 0x07e3020c
+dd 0x07e3020d
+dd 0x07e3020e
+dd 0x07e3020f
+dd 0x07e30210
+dd 0x07e30211
+dd 0x07e30212
+dd 0x07e30213
+dd 0x07e30214
+dd 0x07e30215
+dd 0x07e30216
+dd 0x07e30217
+dd 0x07e30218
+dd 0x07e30219
+dd 0x07e3021a
+dd 0x07e3021b
+dd 0x07e3021c
+dd 0x07e3021d
+dd 0x07e30301
+dd 0x07e30302
+dd 0x07e30303
+dd 0x07e30304
+dd 0x07e30305
+dd 0x07e30306
+dd 0x07e30307
+dd 0x07e30308
+dd 0x07e30309
+dd 0x07e3030a
+dd 0x07e3030b
+dd 0x07e3030c
+dd 0x07e3030d
+dd 0x07e3030e
+dd 0x07e3030f
+dd 0x07e30310
+dd 0x07e30311
+dd 0x07e30312
+dd 0x07e30313
+dd 0x07e30314
+dd 0x07e30315
+dd 0x07e30316
+dd 0x07e30317
+dd 0x07e30318
+dd 0x07e30319
+dd 0x07e3031a
+dd 0x07e3031b
+dd 0x07e3031c
+dd 0x07e3031d
+dd 0x07e3031e
+dd 0x07e30401
+dd 0x07e30402
+dd 0x07e30403
+dd 0x07e30404
+dd 0x07e30405
+dd 0x07e30406
+dd 0x07e30407
+dd 0x07e30408
+dd 0x07e30409
+dd 0x07e3040a
+dd 0x07e3040b
+dd 0x07e3040c
+dd 0x07e3040d
+dd 0x07e3040e
+dd 0x07e3040f
+dd 0x07e30410
+dd 0x07e30411
+dd 0x07e30412
+dd 0x07e30413
+dd 0x07e30414
+dd 0x07e30415
+dd 0x07e30416
+dd 0x07e30417
+dd 0x07e30418
+dd 0x07e30419
+dd 0x07e3041a
+dd 0x07e3041b
+dd 0x07e3041c
+dd 0x07e3041d
+dd 0x07e30501
+dd 0x07e30502
+dd 0x07e30503
+dd 0x07e30504
+dd 0x07e30505
+dd 0x07e30506
+dd 0x07e30507
+dd 0x07e30508
+dd 0x07e30509
+dd 0x07e3050a
+dd 0x07e3050b
+dd 0x07e3050c
+dd 0x07e3050d
+dd 0x07e3050e
+dd 0x07e3050f
+dd 0x07e30510
+dd 0x07e30511
+dd 0x07e30512
+dd 0x07e30513
+dd 0x07e30514
+dd 0x07e30515
+dd 0x07e30516
+dd 0x07e30517
+dd 0x07e30518
+dd 0x07e30519
+dd 0x07e3051a
+dd 0x07e3051b
+dd 0x07e3051c
+dd 0x07e3051d
+dd 0x07e3051e
+dd 0x07e30601
+dd 0x07e30602
+dd 0x07e30603
+dd 0x07e30604
+dd 0x07e30605
+dd 0x07e30606
+dd 0x07e30607
+dd 0x07e30608
+dd 0x07e30609
+dd 0x07e3060a
+dd 0x07e3060b
+dd 0x07e3060c
+dd 0x07e3060d
+dd 0x07e3060e
+dd 0x07e3060f
+dd 0x07e30610
+dd 0x07e30611
+dd 0x07e30612
+dd 0x07e30613
+dd 0x07e30614
+dd 0x07e30615
+dd 0x07e30616
+dd 0x07e30617
+dd 0x07e30618
+dd 0x07e30619
+dd 0x07e3061a
+dd 0x07e3061b
+dd 0x07e3061c
+dd 0x07e3061d
+dd 0x07e30701
+dd 0x07e30702
+dd 0x07e30703
+dd 0x07e30704
+dd 0x07e30705
+dd 0x07e30706
+dd 0x07e30707
+dd 0x07e30708
+dd 0x07e30709
+dd 0x07e3070a
+dd 0x07e3070b
+dd 0x07e3070c
+dd 0x07e3070d
+dd 0x07e3070e
+dd 0x07e3070f
+dd 0x07e30710
+dd 0x07e30711
+dd 0x07e30712
+dd 0x07e30713
+dd 0x07e30714
+dd 0x07e30715
+dd 0x07e30716
+dd 0x07e30717
+dd 0x07e30718
+dd 0x07e30719
+dd 0x07e3071a
+dd 0x07e3071b
+dd 0x07e3071c
+dd 0x07e3071d
+dd 0x07e30801
+dd 0x07e30802
+dd 0x07e30803
+dd 0x07e30804
+dd 0x07e30805
+dd 0x07e30806
+dd 0x07e30807
+dd 0x07e30808
+dd 0x07e30809
+dd 0x07e3080a
+dd 0x07e3080b
+dd 0x07e3080c
+dd 0x07e3080d
+dd 0x07e3080e
+dd 0x07e3080f
+dd 0x07e30810
+dd 0x07e30811
+dd 0x07e30812
+dd 0x07e30813
+dd 0x07e30814
+dd 0x07e30815
+dd 0x07e30816
+dd 0x07e30817
+dd 0x07e30818
+dd 0x07e30819
+dd 0x07e3081a
+dd 0x07e3081b
+dd 0x07e3081c
+dd 0x07e3081d
+dd 0x07e3081e
+dd 0x07e30901
+dd 0x07e30902
+dd 0x07e30903
+dd 0x07e30904
+dd 0x07e30905
+dd 0x07e30906
+dd 0x07e30907
+dd 0x07e30908
+dd 0x07e30909
+dd 0x07e3090a
+dd 0x07e3090b
+dd 0x07e3090c
+dd 0x07e3090d
+dd 0x07e3090e
+dd 0x07e3090f
+dd 0x07e30910
+dd 0x07e30911
+dd 0x07e30912
+dd 0x07e30913
+dd 0x07e30914
+dd 0x07e30915
+dd 0x07e30916
+dd 0x07e30917
+dd 0x07e30918
+dd 0x07e30919
+dd 0x07e3091a
+dd 0x07e3091b
+dd 0x07e3091c
+dd 0x07e3091d
+dd 0x07e30a01
+dd 0x07e30a02
+dd 0x07e30a03
+dd 0x07e30a04
+dd 0x07e30a05
+dd 0x07e30a06
+dd 0x07e30a07
+dd 0x07e30a08
+dd 0x07e30a09
+dd 0x07e30a0a
+dd 0x07e30a0b
+dd 0x07e30a0c
+dd 0x07e30a0d
+dd 0x07e30a0e
+dd 0x07e30a0f
+dd 0x07e30a10
+dd 0x07e30a11
+dd 0x07e30a12
+dd 0x07e30a13
+dd 0x07e30a14
+dd 0x07e30a15
+dd 0x07e30a16
+dd 0x07e30a17
+dd 0x07e30a18
+dd 0x07e30a19
+dd 0x07e30a1a
+dd 0x07e30a1b
+dd 0x07e30a1c
+dd 0x07e30a1d
+dd 0x07e30b01
+dd 0x07e30b02
+dd 0x07e30b03
+dd 0x07e30b04
+dd 0x07e30b05
+dd 0x07e30b06
+dd 0x07e30b07
+dd 0x07e30b08
+dd 0x07e30b09
+dd 0x07e30b0a
+dd 0x07e30b0b
+dd 0x07e30b0c
+dd 0x07e30b0d
+dd 0x07e30b0e
+dd 0x07e30b0f
+dd 0x07e30b10
+dd 0x07e30b11
+dd 0x07e30b12
+dd 0x07e30b13
+dd 0x07e30b14
+dd 0x07e30b15
+dd 0x07e30b16
+dd 0x07e30b17
+dd 0x07e30b18
+dd 0x07e30b19
+dd 0x07e30b1a
+dd 0x07e30b1b
+dd 0x07e30b1c
+dd 0x07e30b1d
+dd 0x07e30b1e
+dd 0x07e30c01
+dd 0x07e30c02
+dd 0x07e30c03
+dd 0x07e30c04
+dd 0x07e30c05
+dd 0x07e30c06
+dd 0x07e30c07
+dd 0x07e30c08
+dd 0x07e30c09
+dd 0x07e30c0a
+dd 0x07e30c0b
+dd 0x07e30c0c
+dd 0x07e30c0d
+dd 0x07e30c0e
+dd 0x07e30c0f
+dd 0x07e30c10
+dd 0x07e30c11
+dd 0x07e30c12
+dd 0x07e30c13
+dd 0x07e30c14
+dd 0x07e30c15
+dd 0x07e30c16
+dd 0x07e30c17
+dd 0x07e30c18
+dd 0x07e30c19
+dd 0x07e30c1a
+dd 0x07e30c1b
+dd 0x07e30c1c
+dd 0x07e30c1d
+dd 0x07e30c1e
+dd 0x07e40101
+dd 0x07e40102
+dd 0x07e40103
+dd 0x07e40104
+dd 0x07e40105
+dd 0x07e40106
+dd 0x07e40107
+dd 0x07e40108
+dd 0x07e40109
+dd 0x07e4010a
+dd 0x07e4010b
+dd 0x07e4010c
+dd 0x07e4010d
+dd 0x07e4010e
+dd 0x07e4010f
+dd 0x07e40110
+dd 0x07e40111
+dd 0x07e40112
+dd 0x07e40113
+dd 0x07e40114
+dd 0x07e40115
+dd 0x07e40116
+dd 0x07e40117
+dd 0x07e40118
+dd 0x07e40119
+dd 0x07e4011a
+dd 0x07e4011b
+dd 0x07e4011c
+dd 0x07e4011d
+dd 0x07e40201
+dd 0x07e40202
+dd 0x07e40203
+dd 0x07e40204
+dd 0x07e40205
+dd 0x07e40206
+dd 0x07e40207
+dd 0x07e40208
+dd 0x07e40209
+dd 0x07e4020a
+dd 0x07e4020b
+dd 0x07e4020c
+dd 0x07e4020d
+dd 0x07e4020e
+dd 0x07e4020f
+dd 0x07e40210
+dd 0x07e40211
+dd 0x07e40212
+dd 0x07e40213
+dd 0x07e40214
+dd 0x07e40215
+dd 0x07e40216
+dd 0x07e40217
+dd 0x07e40218
+dd 0x07e40219
+dd 0x07e4021a
+dd 0x07e4021b
+dd 0x07e4021c
+dd 0x07e4021d
+dd 0x07e4021e
+dd 0x07e40301
+dd 0x07e40302
+dd 0x07e40303
+dd 0x07e40304
+dd 0x07e40305
+dd 0x07e40306
+dd 0x07e40307
+dd 0x07e40308
+dd 0x07e40309
+dd 0x07e4030a
+dd 0x07e4030b
+dd 0x07e4030c
+dd 0x07e4030d
+dd 0x07e4030e
+dd 0x07e4030f
+dd 0x07e40310
+dd 0x07e40311
+dd 0x07e40312
+dd 0x07e40313
+dd 0x07e40314
+dd 0x07e40315
+dd 0x07e40316
+dd 0x07e40317
+dd 0x07e40318
+dd 0x07e40319
+dd 0x07e4031a
+dd 0x07e4031b
+dd 0x07e4031c
+dd 0x07e4031d
+dd 0x07e4031e
+dd 0x07e40401
+dd 0x07e40402
+dd 0x07e40403
+dd 0x07e40404
+dd 0x07e40405
+dd 0x07e40406
+dd 0x07e40407
+dd 0x07e40408
+dd 0x07e40409
+dd 0x07e4040a
+dd 0x07e4040b
+dd 0x07e4040c
+dd 0x07e4040d
+dd 0x07e4040e
+dd 0x07e4040f
+dd 0x07e40410
+dd 0x07e40411
+dd 0x07e40412
+dd 0x07e40413
+dd 0x07e40414
+dd 0x07e40415
+dd 0x07e40416
+dd 0x07e40417
+dd 0x07e40418
+dd 0x07e40419
+dd 0x07e4041a
+dd 0x07e4041b
+dd 0x07e4041c
+dd 0x07e4041d
+dd 0x07e4041e
+dd 0x07e40401
+dd 0x07e40402
+dd 0x07e40403
+dd 0x07e40404
+dd 0x07e40405
+dd 0x07e40406
+dd 0x07e40407
+dd 0x07e40408
+dd 0x07e40409
+dd 0x07e4040a
+dd 0x07e4040b
+dd 0x07e4040c
+dd 0x07e4040d
+dd 0x07e4040e
+dd 0x07e4040f
+dd 0x07e40410
+dd 0x07e40411
+dd 0x07e40412
+dd 0x07e40413
+dd 0x07e40414
+dd 0x07e40415
+dd 0x07e40416
+dd 0x07e40417
+dd 0x07e40418
+dd 0x07e40419
+dd 0x07e4041a
+dd 0x07e4041b
+dd 0x07e4041c
+dd 0x07e4041d
+dd 0x07e40501
+dd 0x07e40502
+dd 0x07e40503
+dd 0x07e40504
+dd 0x07e40505
+dd 0x07e40506
+dd 0x07e40507
+dd 0x07e40508
+dd 0x07e40509
+dd 0x07e4050a
+dd 0x07e4050b
+dd 0x07e4050c
+dd 0x07e4050d
+dd 0x07e4050e
+dd 0x07e4050f
+dd 0x07e40510
+dd 0x07e40511
+dd 0x07e40512
+dd 0x07e40513
+dd 0x07e40514
+dd 0x07e40515
+dd 0x07e40516
+dd 0x07e40517
+dd 0x07e40518
+dd 0x07e40519
+dd 0x07e4051a
+dd 0x07e4051b
+dd 0x07e4051c
+dd 0x07e4051d
+dd 0x07e4051e
+dd 0x07e40601
+dd 0x07e40602
+dd 0x07e40603
+dd 0x07e40604
+dd 0x07e40605
+dd 0x07e40606
+dd 0x07e40607
+dd 0x07e40608
+dd 0x07e40609
+dd 0x07e4060a
+dd 0x07e4060b
+dd 0x07e4060c
+dd 0x07e4060d
+dd 0x07e4060e
+dd 0x07e4060f
+dd 0x07e40610
+dd 0x07e40611
+dd 0x07e40612
+dd 0x07e40613
+dd 0x07e40614
+dd 0x07e40615
+dd 0x07e40616
+dd 0x07e40617
+dd 0x07e40618
+dd 0x07e40619
+dd 0x07e4061a
+dd 0x07e4061b
+dd 0x07e4061c
+dd 0x07e4061d
+dd 0x07e40701
+dd 0x07e40702
+dd 0x07e40703
+dd 0x07e40704
+dd 0x07e40705
+dd 0x07e40706
+dd 0x07e40707
+dd 0x07e40708
+dd 0x07e40709
+dd 0x07e4070a
+dd 0x07e4070b
+dd 0x07e4070c
+dd 0x07e4070d
+dd 0x07e4070e
+dd 0x07e4070f
+dd 0x07e40710
+dd 0x07e40711
+dd 0x07e40712
+dd 0x07e40713
+dd 0x07e40714
+dd 0x07e40715
+dd 0x07e40716
+dd 0x07e40717
+dd 0x07e40718
+dd 0x07e40719
+dd 0x07e4071a
+dd 0x07e4071b
+dd 0x07e4071c
+dd 0x07e4071d
+dd 0x07e40801
+dd 0x07e40802
+dd 0x07e40803
+dd 0x07e40804
+dd 0x07e40805
+dd 0x07e40806
+dd 0x07e40807
+dd 0x07e40808
+dd 0x07e40809
+dd 0x07e4080a
+dd 0x07e4080b
+dd 0x07e4080c
+dd 0x07e4080d
+dd 0x07e4080e
+dd 0x07e4080f
+dd 0x07e40810
+dd 0x07e40811
+dd 0x07e40812
+dd 0x07e40813
+dd 0x07e40814
+dd 0x07e40815
+dd 0x07e40816
+dd 0x07e40817
+dd 0x07e40818
+dd 0x07e40819
+dd 0x07e4081a
+dd 0x07e4081b
+dd 0x07e4081c
+dd 0x07e4081d
+dd 0x07e4081e
+dd 0x07e40901
+dd 0x07e40902
+dd 0x07e40903
+dd 0x07e40904
+dd 0x07e40905
+dd 0x07e40906
+dd 0x07e40907
+dd 0x07e40908
+dd 0x07e40909
+dd 0x07e4090a
+dd 0x07e4090b
+dd 0x07e4090c
+dd 0x07e4090d
+dd 0x07e4090e
+dd 0x07e4090f
+dd 0x07e40910
+dd 0x07e40911
+dd 0x07e40912
+dd 0x07e40913
+dd 0x07e40914
+dd 0x07e40915
+dd 0x07e40916
+dd 0x07e40917
+dd 0x07e40918
+dd 0x07e40919
+dd 0x07e4091a
+dd 0x07e4091b
+dd 0x07e4091c
+dd 0x07e4091d
+dd 0x07e40a01
+dd 0x07e40a02
+dd 0x07e40a03
+dd 0x07e40a04
+dd 0x07e40a05
+dd 0x07e40a06
+dd 0x07e40a07
+dd 0x07e40a08
+dd 0x07e40a09
+dd 0x07e40a0a
+dd 0x07e40a0b
+dd 0x07e40a0c
+dd 0x07e40a0d
+dd 0x07e40a0e
+dd 0x07e40a0f
+dd 0x07e40a10
+dd 0x07e40a11
+dd 0x07e40a12
+dd 0x07e40a13
+dd 0x07e40a14
+dd 0x07e40a15
+dd 0x07e40a16
+dd 0x07e40a17
+dd 0x07e40a18
+dd 0x07e40a19
+dd 0x07e40a1a
+dd 0x07e40a1b
+dd 0x07e40a1c
+dd 0x07e40a1d
+dd 0x07e40a1e
+dd 0x07e40b01
+dd 0x07e40b02
+dd 0x07e40b03
+dd 0x07e40b04
+dd 0x07e40b05
+dd 0x07e40b06
+dd 0x07e40b07
+dd 0x07e40b08
+dd 0x07e40b09
+dd 0x07e40b0a
+dd 0x07e40b0b
+dd 0x07e40b0c
+dd 0x07e40b0d
+dd 0x07e40b0e
+dd 0x07e40b0f
+
+ref_0047e6d8:
+db 0x10
+
+ref_0047e6d9:
+db 0x0b
+
+ref_0047e6da:
+db 0xe4
+
+ref_0047e6db:
+db 0x07
+dd 0x07e40b11
+dd 0x193a3f08
+dd 0x19393f40
+dd 0x11215f08
+dd 0x11215f30
+dd 0x11215f58
+dd 0x11217708
+dd 0x11217730
+dd 0x11217758
+dd 0x11218f08
+dd 0x11218f30
+dd 0x11218f58
+dd 0x1121a708
+dd 0x1121a730
+
+ref_0047e714:
+dd 0x1121a758
+dd 0x37303030
+dd 0x35343938
+dd 0x33323136
+db 0x00
+
+ref_0047e725:
+db 0x03
+db 0x06
+db 0x09
+dd 0x16130f0c
+dd 0x221f1c19
+dd 0x2f2c2926
+dd 0x3c393532
+dd 0x4945423f
+dd 0x55524f4c
+dd 0x625f5c58
+dd 0x006b6865
+
+ref_0047e748:
+dd 0x00000000
+
+ref_0047e74c:
+dd 0x00000000
+
+ref_0047e750:
+dd 0x00000000
+
+ref_0047e754:
+dd 0x00000000
+
+ref_0047e758:
+dd 0xffffd8f0
+dd 0xfffff830
+dd 0xfffffc18
+dd 0xfffffe0c
+dd 0x00000000
+
+ref_0047e76c:
+dd 0x00000000
+
+ref_0047e770:
+db 0x00
+
+ref_0047e771:
+db 0x00
+
+ref_0047e772:
+db 0x00
+
+ref_0047e773:
+dd ref_004662d0
+dd ref_004662db
+dd ref_004662e6
+dd ref_004662f1
+dd ref_004662fc
+dd ref_00466307
+dd ref_00466312
+dd ref_0046631d
+
+ref_0047e793:
+dd ref_00466328
+dd ref_00466333
+dd ref_0046633e
+dd ref_00466349
+dd ref_00466354
+dd ref_0046635f
+dd ref_0046636a
+dd ref_00466375
+dd ref_00466380
+dd ref_0046638b
+dd ref_00466396
+dd ref_004663a1
+dd ref_004663ac
+dd ref_004663b7
+dd ref_004663c4
+dd ref_004663d1
+dd ref_004663dc
+
+ref_0047e7d7:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e7db:
+db 0xff
+db 0xff
+db 0x00
+db 0x00
+
+ref_0047e7df:
+db 0xff
+db 0xff
+db 0x00
+db 0x00
+
+ref_0047e7e3:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e7e7:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e7eb:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e7ef:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e7f3:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e7f7:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e7fb:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e7ff:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e803:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047e807:
+db 0x00
+dd 0x00000000
+
+ref_0047e80c:
+dd ref_004665c4
+dd 0x00946126
+dd 0x00000000
+dd 0x00000000
+dd 0x00010000
+dd 0x02030001
+dd 0x001e323c
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_004665cd
+dd 0x00bdc3c6
+dd 0x00000000
+dd 0x00000000
+dd 0x01010000
+dd 0x01030001
+dd 0x002d2864
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_004665d6
+dd 0x0041323b
+dd 0x00000000
+dd 0x00000000
+dd 0x02010000
+dd 0x02030001
+dd 0x00004600
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_004665df
+dd 0x00c626c3
+dd 0x00000000
+dd 0x00000000
+dd 0x03010000
+dd 0x02030000
+dd 0x001e3c64
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_004665e8
+dd 0x00c5b830
+dd 0x00000000
+dd 0x00000000
+dd 0x04010000
+dd 0x01030001
+dd 0x00192832
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_004665f1
+dd 0x00ed9d9d
+dd 0x00000000
+dd 0x00000000
+dd 0x05010000
+dd 0x01030000
+dd 0x001e464b
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_004665fa
+dd 0x0000f038
+dd 0x00000000
+dd 0x00000000
+dd 0x06010000
+dd 0x01030001
+dd 0x00143264
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_00466603
+dd 0x00ffffa0
+dd 0x00000000
+dd 0x00000000
+dd 0x07010000
+dd 0x00030000
+dd 0x00232800
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_0046660a
+dd 0x00e77c08
+dd 0x00000000
+dd 0x00000000
+dd 0x08010000
+dd 0x00030000
+dd 0x00143c00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_00466611
+dd 0x00cc1a20
+dd 0x00000000
+dd 0x00000000
+dd 0x09010000
+dd 0x00030000
+dd 0x00003232
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_0046661a
+dd 0x002017fe
+dd 0x00000000
+dd 0x00000000
+dd 0x0a010000
+dd 0x01030001
+dd 0x000f371e
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd ref_00466623
+dd 0x000ebdbd
+dd 0x00000000
+dd 0x00000000
+dd 0x0b010000
+dd 0x02030000
+dd 0x00005050
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_0047ecec:
+dd 0x00000000
+dd 0x00000000
+dd 0x00010000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00010000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00020000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00020000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00030000
+dd 0x00000000
+
+ref_0047ed3c:
+dd 0x04030201
+dd 0x08070605
+dd 0x0c0b0a09
+dd 0x0f0f0e0d
+dd 0x10101010
+dd 0x10101010
+dd 0x11111010
+db 0x11
+db 0x11
+
+ref_0047ed5a:
+db 0x11
+db 0x11
+dd 0x11111111
+dd 0x12121212
+dd 0x12121212
+db 0x12
+db 0x12
+dd ref_0046662c
+dd ref_00466631
+dd ref_00466636
+
+ref_0047ed76:
+db ';fF',0x00
+
+ref_0047ed7a:
+dd ref_00466640
+dd ref_00466647
+dd ref_0046664e
+dd ref_00466655
+dd ref_0046665c
+dd ref_00466663
+dd ref_0046666a
+dd ref_00466671
+
+ref_0047ed9a:
+dd ref_00466678
+dd ref_0046667d
+dd ref_00466682
+dd ref_00466687
+
+ref_0047edaa:
+dd ref_0046668e
+
+ref_0047edae:
+dd ref_00466693
+dd ref_00466698
+
+ref_0047edb6:
+dd ref_0046669d
+
+ref_0047edba:
+dd ref_004666a2
+
+ref_0047edbe:
+dd ref_004666a7
+
+ref_0047edc2:
+db 0x26
+db 0x00
+dd 0x00280027
+dd 0x000d0025
+dd 0x0009001b
+dd 0x00590009
+dd 0x0020004e
+dd 0x00570044
+dd 0x00430058
+dd 0x00460045
+dd 0x00bc004d
+dd 0x004100be
+dd 0x00530056
+dd 0x0048004c
+dd 0x00220021
+db 0x51
+db 0x11
+
+ref_0047edfa:
+db 0x08
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047edfe:
+dd ref_004666b0
+db 0x09
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666b3
+db 0x0d
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666b7
+db 0x11
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666bd
+db 0x1b
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666c3
+db 0x20
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666c7
+db 0x21
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666cd
+db 0x22
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666d3
+db 0x23
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666d9
+db 0x24
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666dd
+db 0x25
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666e2
+db 0x26
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666e5
+db 0x27
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666e8
+db 0x28
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666eb
+db 0x2d
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666ee
+db 0x30
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666f2
+db 0x31
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666f4
+db 0x32
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666f6
+db 0x33
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666f8
+db 0x34
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666fa
+db 0x35
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666fc
+db 0x36
+db 0x00
+db 0x00
+db 0x00
+dd ref_004666fe
+db 0x37
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466700
+db 0x38
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466702
+db 0x39
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466704
+db 0x41
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466706
+db 0x42
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466708
+db 0x43
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046670a
+db 0x44
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046670c
+db 0x45
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046670e
+db 0x46
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466710
+db 0x47
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466712
+db 0x48
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466714
+db 0x49
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466716
+db 0x4a
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466718
+db 0x4b
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046671a
+db 0x4c
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046671c
+db 0x4d
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046671e
+db 0x4e
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466720
+db 0x4f
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466722
+db 0x50
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466724
+db 0x51
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466726
+db 0x52
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466728
+db 0x53
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046672a
+db 0x54
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046672c
+db 0x55
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046672e
+db 0x56
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466730
+db 0x57
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466732
+db 0x58
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466734
+db 0x59
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466736
+db 0x5a
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466738
+db 0x6a
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046673a
+db 0x6b
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046673c
+db 0x6d
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046673e
+db 0x6f
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466740
+db 0x70
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466742
+db 0x71
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466745
+db 0x72
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466748
+db 0x73
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046674b
+db 0x74
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046674e
+db 0x75
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466751
+db 0x76
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466754
+db 0x77
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466757
+db 0x78
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046675a
+db 0x79
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046675d
+db 0x7a
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466761
+db 0x7b
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466765
+db 0xba
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466769
+db 0xbb
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046676b
+db 0xbc
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046676d
+db 0xbd
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046673e
+db 0xbe
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046676f
+db 0xbf
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466771
+db 0xc0
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466773
+db 0xdb
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466775
+db 0xdc
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466777
+db 0xdd
+db 0x00
+db 0x00
+db 0x00
+dd ref_00466779
+db 0xde
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046677b
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0047f072:
+dd ref_0046677d
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042c8
+dd 0x000042c8
+dd 0x000042c8
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466786
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004220
+dd 0x00004220
+dd 0x999a4220
+dd 0x00003f19
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046678f
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041c8
+dd 0x000041c8
+dd 0x000041c8
+dd 0x00003fc0
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466798
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004334
+dd 0x00004334
+dd 0xcccd4334
+dd 0x00003fcc
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667a1
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042a0
+dd 0x000042a0
+dd 0x999a42a0
+dd 0x00003f99
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667aa
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004270
+dd 0x00004270
+dd 0x00004270
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667b3
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004270
+dd 0x00004270
+dd 0x33334270
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667bc
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041d8
+dd 0x000041d8
+dd 0x666641d8
+dd 0x00003f66
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667c5
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x0000439b
+dd 0x0000439b
+dd 0x3333439b
+dd 0x00003f33
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667ce
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004284
+dd 0x00004284
+dd 0x00004284
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667d7
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x0000432b
+dd 0x0000432b
+dd 0x3333432b
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667e0
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x0000438c
+dd 0x0000438c
+dd 0xcccd438c
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667e9
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x0000428c
+dd 0x0000428c
+dd 0x999a428c
+dd 0x00003f99
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667f2
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004210
+dd 0x00004210
+dd 0x00004210
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004667fb
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041a0
+dd 0x000041a0
+dd 0xcccd41a0
+dd 0x00003fcc
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466806
+db 0x01
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00004170
+dd 0x00004170
+dd 0x00004170
+dd 0x00003fc0
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046680f
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004396
+dd 0x00004396
+dd 0x00004396
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466818
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004394
+dd 0x00004394
+dd 0x66664394
+dd 0x00003fe6
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466821
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004305
+dd 0x00004305
+dd 0x33334305
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046682a
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x0000432a
+dd 0x0000432a
+dd 0x0000432a
+dd 0x00003fc0
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466833
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042f2
+dd 0x000042f2
+dd 0xcccd42f2
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046683c
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004270
+dd 0x00004270
+dd 0xcccd4270
+dd 0x00003ecc
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466845
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042b8
+dd 0x000042b8
+dd 0x999a42b8
+dd 0x00003f19
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046684e
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000043b7
+dd 0x000043b7
+dd 0x000043b7
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466857
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004320
+dd 0x00004320
+dd 0xcccd4320
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466860
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x000042c6
+dd 0x000042c6
+dd 0x333342c6
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466869
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041b0
+dd 0x000041b0
+dd 0x000041b0
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466872
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x000041e0
+dd 0x000041e0
+dd 0x000041e0
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046687b
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004396
+dd 0x00004396
+dd 0x00004396
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466884
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x0000420c
+dd 0x0000420c
+dd 0x999a420c
+dd 0x00003f99
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046688d
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004407
+dd 0x00004407
+dd 0x00004407
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466896
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x80000000
+dd 0x8000444f
+dd 0x8000444f
+dd 0x0000444f
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046689f
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004396
+dd 0x00004396
+dd 0x999a4396
+dd 0x00003f99
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668a8
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004361
+dd 0x00004361
+dd 0x33334361
+dd 0x00003f33
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668b1
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004396
+dd 0x00004396
+dd 0x00004396
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668b8
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004316
+dd 0x00004316
+dd 0xcccd4316
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668c1
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004348
+dd 0x00004348
+dd 0x00004348
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668ca
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x0000425c
+dd 0x0000425c
+dd 0xcccd425c
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668d5
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041a0
+dd 0x000041a0
+dd 0x000041a0
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668de
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004190
+dd 0x00004190
+dd 0x00004190
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668e7
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004180
+dd 0x00004180
+dd 0x33334180
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668f0
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x80000000
+dd 0x80004409
+dd 0x80004409
+dd 0x00004409
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004668f7
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004375
+dd 0x00004375
+dd 0x00004375
+dd 0x00003fc0
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466900
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004326
+dd 0x00004326
+dd 0x66664326
+dd 0x00003fa6
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466909
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0xc0000000
+dd 0xc000446e
+dd 0xc000446e
+dd 0x3333446e
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466910
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0xc0000000
+dd 0xc0004480
+dd 0xc0004480
+dd 0xcccd4480
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466919
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000044b4
+dd 0x000044b4
+dd 0x000044b4
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466920
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x0000439b
+dd 0x0000439b
+dd 0x999a439b
+dd 0x00003f99
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466929
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004248
+dd 0x00004248
+dd 0x00004248
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466932
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004220
+dd 0x00004220
+dd 0x999a4220
+dd 0x00003f19
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046693b
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041c8
+dd 0x000041c8
+dd 0x000041c8
+dd 0x00003fc0
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466944
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042b4
+dd 0x000042b4
+dd 0xcccd42b4
+dd 0x00003fcc
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046694d
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004234
+dd 0x00004234
+dd 0x999a4234
+dd 0x00003f99
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466956
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004270
+dd 0x00004270
+dd 0x00004270
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046695f
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004270
+dd 0x00004270
+dd 0x33334270
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466968
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041d8
+dd 0x000041d8
+dd 0x666641d8
+dd 0x00003f66
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466971
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042dc
+dd 0x000042dc
+dd 0x333342dc
+dd 0x00003f33
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046697a
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004284
+dd 0x00004284
+dd 0x00004284
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466985
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x0000428e
+dd 0x0000428e
+dd 0x3333428e
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046698e
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042a0
+dd 0x000042a0
+dd 0xcccd42a0
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466999
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x0000428c
+dd 0x0000428c
+dd 0x999a428c
+dd 0x00003f99
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669a2
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x0000428c
+dd 0x0000428c
+dd 0x0000428c
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669ab
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041a0
+dd 0x000041a0
+dd 0xcccd41a0
+dd 0x00003fcc
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669b4
+db 0x01
+db 0x00
+dd 0x0bb80000
+dd 0x00000000
+dd 0x0000437a
+dd 0x0000437a
+dd 0x0000437a
+dd 0x00003fc0
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669bb
+db 0x01
+db 0x00
+dd 0x0bb80000
+dd 0x00000000
+dd 0x000042ca
+dd 0x000042ca
+dd 0x000042ca
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669c2
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x000042c0
+dd 0x000042c0
+dd 0x666642c0
+dd 0x00003fe6
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669c9
+db 0x01
+db 0x00
+dd 0x17700000
+dd 0x00000000
+dd 0x000042f0
+dd 0x000042f0
+dd 0x333342f0
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669d0
+db 0x01
+db 0x00
+dd 0x0fa00000
+dd 0x00000000
+dd 0x0000423c
+dd 0x0000423c
+dd 0x0000423c
+dd 0x00003fc0
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669d7
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004220
+dd 0x00004220
+dd 0xcccd4220
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669de
+db 0x01
+db 0x00
+dd 0x0fa00000
+dd 0x00000000
+dd 0x000041f0
+dd 0x000041f0
+dd 0xcccd41f0
+dd 0x00003ecc
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669e5
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x000042b4
+dd 0x000042b4
+dd 0x999a42b4
+dd 0x00003f19
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669ec
+db 0x01
+db 0x00
+dd 0x0fa00000
+dd 0x00000000
+dd 0x00004396
+dd 0x00004396
+dd 0x00004396
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669f5
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004270
+dd 0x00004270
+dd 0xcccd4270
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004669fe
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004204
+dd 0x00004204
+dd 0x33334204
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a07
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041b0
+dd 0x000041b0
+dd 0x000041b0
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a10
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004190
+dd 0x00004190
+dd 0x00004190
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a19
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042c8
+dd 0x000042c8
+dd 0x000042c8
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a24
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004170
+dd 0x00004170
+dd 0x999a4170
+dd 0x00003f99
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a2f
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004220
+dd 0x00004220
+dd 0x00004220
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a38
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041f0
+dd 0x000041f0
+dd 0x000041f0
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a43
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042c8
+dd 0x000042c8
+dd 0x999a42c8
+dd 0x00003f99
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a4e
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041c8
+dd 0x000041c8
+dd 0x333341c8
+dd 0x00003f33
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a59
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042c8
+dd 0x000042c8
+dd 0x000042c8
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a62
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004248
+dd 0x00004248
+dd 0xcccd4248
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a6b
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000042c8
+dd 0x000042c8
+dd 0x000042c8
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a74
+db 0x01
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004204
+dd 0x00004204
+dd 0xcccd4204
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a7d
+db 0x01
+db 0x00
+dd 0x0bb80000
+dd 0x00000000
+dd 0x000043fa
+dd 0x000043fa
+dd 0x000043fa
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a88
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x000042c8
+dd 0x000042c8
+dd 0x000042c8
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a93
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004302
+dd 0x00004302
+dd 0x33334302
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466a9e
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x00004316
+dd 0x00004316
+dd 0x00004316
+dd 0x00004000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466aa9
+db 0x01
+db 0x00
+dd 0x13880000
+dd 0x00000000
+dd 0x0000428c
+dd 0x0000428c
+dd 0x0000428c
+dd 0x00003fc0
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466920
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004284
+dd 0x00004284
+dd 0x66664284
+dd 0x00003fa6
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466ab4
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x0000425c
+dd 0x0000425c
+dd 0x3333425c
+dd 0x00003fb3
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466910
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041f0
+dd 0x000041f0
+dd 0xcccd41f0
+dd 0x00003f4c
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466919
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x00004230
+dd 0x00004230
+dd 0x00004230
+dd 0x00003f80
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00466abb
+db 0x00
+db 0x00
+dd 0x27100000
+dd 0x00000000
+dd 0x000041f0
+dd 0x000041f0
+dd 0x999a41f0
+db 0x99
+db 0x3f
+
+ref_0047fdea:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0047fdef:
+db 0x00
+db 0x00
+
+ref_0047fdf1:
+db 0x00
+dd ref_00466ac2
+
+ref_0047fdf6:
+db 0x01
+
+ref_0047fdf7:
+db 0xc8
+db 0x02
+
+ref_0047fdf9:
+db 0x02
+dd ref_00466ac9
+db 0x02
+db 0xc8
+db 0x02
+db 0x02
+dd ref_00466ad0
+db 0x04
+db 0x23
+db 0x00
+db 0x01
+dd ref_00466ad7
+db 0x04
+db 0x19
+db 0x00
+db 0x00
+dd ref_00466ade
+db 0x04
+db 0x14
+db 0x00
+db 0x00
+dd ref_00466ae5
+db 0x03
+db 0x14
+db 0x00
+db 0x00
+dd ref_00466aec
+db 0x08
+db 0x0f
+db 0x00
+db 0x00
+dd ref_00466af3
+db 0x03
+db 0x14
+db 0x00
+db 0x01
+dd ref_00466afa
+db 0x02
+db 0xa0
+db 0x02
+db 0x00
+dd ref_00466b01
+db 0x01
+db 0xb4
+db 0x02
+db 0x02
+dd ref_00466b08
+db 0x02
+db 0x3c
+db 0x00
+db 0x02
+dd ref_00466b0f
+db 0x05
+db 0x0f
+db 0x00
+db 0x01
+dd ref_00466b16
+db 0x04
+db 0x19
+db 0x00
+db 0x02
+dd ref_00466b1d
+db 0x04
+db 0x14
+db 0x00
+db 0x00
+dd ref_00466b24
+db 0x02
+db 0x64
+db 0x02
+db 0x02
+dd ref_00466b2b
+db 0x04
+db 0x19
+db 0x00
+db 0x01
+dd ref_00466b32
+db 0x04
+db 0x14
+db 0x00
+db 0x02
+dd ref_00466b39
+db 0x04
+db 0x14
+db 0x00
+db 0x00
+dd ref_00466b40
+db 0x04
+db 0x28
+db 0x00
+db 0x00
+
+ref_0047fe8a:
+dd ref_00466b47
+db 0x04
+db 0x19
+db 0x00
+db 0x00
+dd ref_00466b4e
+db 0x04
+db 0x19
+db 0x00
+db 0x00
+dd ref_00466b55
+db 0x03
+db 0x0a
+db 0x00
+db 0x00
+dd ref_00466b5c
+db 0x03
+db 0x14
+db 0x00
+db 0x00
+
+ref_0047feaa:
+dd ref_00466b63
+db 0x03
+db 0x32
+db 0x00
+db 0x00
+
+ref_0047feb2:
+dd ref_00466b68
+db 0x03
+db 0x1e
+db 0x00
+db 0x01
+dd ref_00466b6d
+db 0x04
+db 0x23
+db 0x00
+db 0x01
+dd ref_00466b74
+db 0x03
+db 0x23
+db 0x00
+db 0x00
+dd ref_00466b7b
+db 0x03
+db 0x23
+db 0x00
+db 0x01
+dd ref_00466b82
+db 0x02
+db 0x28
+db 0x00
+db 0x00
+
+ref_0047feda:
+dd ref_00466b89
+db 0x03
+
+ref_0047fedf:
+db 0x46
+db 0x00
+
+ref_0047fee1:
+db 0x00
+
+ref_0047fee2:
+dd ref_00466b90
+
+ref_0047fee6:
+db 0x0a
+
+ref_0047fee7:
+db 0x0f
+db 0x00
+
+ref_0047fee9:
+db 0x00
+dd ref_0046669d
+db 0x0a
+db 0x1e
+db 0x00
+db 0x01
+dd ref_004666a2
+db 0x0a
+db 0x19
+db 0x00
+db 0x01
+dd ref_004666a7
+db 0x0a
+db 0x19
+db 0x00
+db 0x01
+dd ref_00466b99
+db 0x0a
+
+ref_0047ff07:
+db 0x50
+db 0x00
+db 0x00
+dd ref_00466b9e
+db 0x0a
+
+ref_0047ff0f:
+db 0x96
+db 0x01
+db 0x00
+dd ref_00466ba3
+db 0x0a
+db 0x64
+db 0x01
+db 0x02
+
+ref_0047ff1a:
+dd ref_00466ba8
+db 0x0a
+db 0x1e
+db 0x01
+db 0x00
+
+ref_0047ff22:
+dd ref_00466bb1
+db 0x00
+db 0x1e
+db 0x02
+db 0x01
+dd ref_00466bba
+db 0x00
+db 0x28
+db 0x02
+db 0x02
+dd ref_00466bc1
+db 0x00
+db 0x5f
+db 0x02
+db 0x01
+dd ref_00466bc8
+db 0x00
+db 0x96
+db 0x02
+db 0x02
+dd ref_00466bcf
+db 0x00
+db 0xfa
+db 0x02
+db 0x02
+
+ref_0047ff4a:
+db 0x01
+
+ref_0047ff4b:
+db 0x00
+
+ref_0047ff4c:
+db 0x01
+
+ref_0047ff4d:
+db 0x01
+
+ref_0047ff4e:
+db 0x00
+
+ref_0047ff4f:
+db 0x03
+
+ref_0047ff50:
+db 0x0b
+db 0x02
+
+ref_0047ff52:
+db 0x5a
+db 0x00
+
+ref_0047ff54:
+dd 0x00000000
+dd 0x00000e02
+dd 0x00000000
+dd 0x00010000
+dd 0x00001d03
+dd 0x00000000
+dd 0x00000000
+dd 0x00000104
+dd 0x00000000
+dd 0x00010000
+dd 0x00000404
+dd 0x00000000
+dd 0x00010000
+dd 0x00000504
+dd 0x00000000
+dd 0x00010000
+dd 0x00000105
+dd 0x00000000
+dd 0x02000000
+dd 0x00000205
+dd 0x00000000
+dd 0x00000000
+dd 0x00000808
+dd 0x00000000
+dd 0x00010000
+dd 0x00001c09
+dd 0x00000000
+dd 0x00010000
+dd 0x03000a0a
+dd 0x005a020b
+dd 0x00010000
+dd 0x0000190a
+dd 0x00000000
+dd 0x00800000
+dd 0x00001f0a
+dd 0x00000000
+dd 0x00010000
+dd 0x00001f0a
+dd 0x00000000
+dd 0x00010000
+dd 0x00000c0b
+dd 0x00000000
+dd 0x00010000
+dd 0x0f00190c
+dd 0x0072022a
+dd 0x0101000d
+dd 0x00001f0c
+dd 0x00000000
+dd 0x01010000
+dd 0x04000101
+dd 0x00000000
+dd 0x0101000e
+dd 0x00000201
+dd 0x00000000
+dd 0x0101000e
+dd 0x00000301
+dd 0x00000000
+dd 0x0100000e
+dd 0x00000f01
+dd 0x00000000
+dd 0x01010000
+dd 0x00000505
+dd 0x00000000
+dd 0x01000000
+dd 0x00000f07
+dd 0x00000000
+dd 0x01010000
+dd 0x00000f08
+dd 0x00000000
+dd 0x00010000
+dd 0x03000101
+dd 0x005a020b
+dd 0x00000000
+dd 0x00000e02
+dd 0x00000000
+dd 0x00010000
+dd 0x00000803
+dd 0x00000000
+dd 0x00010000
+dd 0x00000504
+dd 0x00000000
+dd 0x00010000
+dd 0x00000405
+dd 0x00000000
+dd 0x00010000
+dd 0x00000106
+dd 0x00000000
+dd 0x00010000
+dd 0x00000107
+dd 0x00000000
+dd 0x00010000
+dd 0x00000108
+dd 0x00000000
+dd 0x00010000
+dd 0x00000105
+dd 0x00000000
+dd 0x00010000
+dd 0x0300010a
+dd 0x005a020b
+dd 0x00000000
+dd 0x0f00190c
+dd 0x0072022a
+dd 0x0101000d
+dd 0x00001f0c
+dd 0x00000000
+dd 0x01010000
+dd 0x04000101
+dd 0x00000000
+dd 0x0101000e
+dd 0x00000201
+dd 0x00000000
+dd 0x0101000e
+dd 0x00000301
+dd 0x00000000
+dd 0x0100000e
+dd 0x00000f01
+dd 0x00000000
+dd 0x01010000
+dd 0x00000505
+dd 0x00000000
+dd 0x01000000
+dd 0x00000f07
+dd 0x00000000
+dd 0x01010000
+dd 0x00000f08
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00010000
+dd 0x03000101
+dd 0x005a020b
+dd 0x00010000
+dd 0x00000201
+dd 0x00000000
+dd 0x00010000
+dd 0x00000301
+dd 0x00000000
+dd 0x00010000
+dd 0x00000f01
+dd 0x00000000
+dd 0x00000000
+dd 0x00000302
+dd 0x00000000
+dd 0x00000000
+dd 0x00000e02
+dd 0x00000000
+dd 0x00010000
+dd 0x00000b02
+dd 0x00000000
+dd 0x00000000
+dd 0x00000303
+dd 0x00000000
+dd 0x00010000
+dd 0x00001603
+dd 0x00000000
+dd 0x00010000
+dd 0x00001d04
+dd 0x00000000
+dd 0x00010000
+dd 0x00000305
+dd 0x00000000
+dd 0x00010000
+dd 0x00000505
+dd 0x00000000
+dd 0x00010000
+dd 0x00000f09
+dd 0x00000000
+dd 0x00010000
+dd 0x00001709
+dd 0x00000000
+dd 0x00010000
+dd 0x00000a0a
+dd 0x00000000
+dd 0x00010000
+dd 0x0000030b
+dd 0x00000000
+dd 0x00010000
+dd 0x0000170b
+dd 0x00000000
+dd 0x00010000
+dd 0x0000170c
+dd 0x00000000
+dd 0x00000000
+dd 0x0f00190c
+dd 0x0072022a
+dd 0x0000000d
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00010000
+dd 0x00001f0c
+dd 0x00000000
+dd 0x00010000
+dd 0x03000101
+dd 0x005a020b
+dd 0x02000000
+dd 0x00010301
+dd 0x00000000
+dd 0x00000000
+dd 0x00000202
+dd 0x00000000
+dd 0x00010000
+dd 0x00000c02
+dd 0x00000000
+dd 0x00000000
+dd 0x00000e02
+dd 0x00000000
+dd 0x02010000
+dd 0x00010302
+dd 0x00000000
+dd 0x00000000
+dd 0x00001e03
+dd 0x00000000
+dd 0x02000000
+dd 0x00000205
+dd 0x00000000
+dd 0x02000000
+dd 0x00010505
+dd 0x00000000
+dd 0x00000000
+dd 0x00000e06
+dd 0x00000000
+dd 0x00000000
+dd 0x00000f06
+dd 0x00000000
+dd 0x00010000
+dd 0x00000407
+dd 0x00000000
+dd 0x02000000
+dd 0x00010109
+dd 0x00000000
+dd 0x00000000
+dd 0x00000c0a
+dd 0x00000000
+dd 0x00000000
+dd 0x00001f0a
+dd 0x00000000
+dd 0x00000000
+dd 0x00000b0b
+dd 0x00000000
+dd 0x02010000
+dd 0x0004040b
+dd 0x00000000
+dd 0x00010000
+dd 0x0000180c
+dd 0x00000000
+dd 0x00010000
+dd 0x0f00190c
+dd 0x0072022a
+dd 0x0000000d
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00010000
+dd 0x00000101
+dd 0x00000000
+dd 0x00010000
+dd 0x00000502
+dd 0x00000000
+dd 0x00010000
+dd 0x00001b02
+dd 0x00000000
+dd 0x00010000
+dd 0x00001e06
+dd 0x00000000
+dd 0x00010000
+dd 0x00001407
+dd 0x00000000
+dd 0x00010000
+dd 0x00001708
+dd 0x00000000
+dd 0x00010000
+dd 0x00000b0b
+dd 0x00000000
+dd 0x00010000
+dd 0x0800190c
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x01010000
+dd 0x00000101
+dd 0x00000000
+dd 0x01010000
+dd 0x00000201
+dd 0x00000000
+dd 0x01010000
+dd 0x00000301
+dd 0x00000000
+dd 0x01000000
+dd 0x00000701
+dd 0x00000000
+dd 0x01000000
+dd 0x00000f01
+dd 0x00000000
+dd 0x01000000
+dd 0x00001401
+dd 0x00000000
+dd 0x01010000
+dd 0x00000505
+dd 0x00000000
+dd 0x01000000
+dd 0x00000f07
+dd 0x00000000
+dd 0x01010000
+dd 0x00000f08
+dd 0x00000000
+dd 0x01010000
+dd 0x08001f0c
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00010000
+dd 0x00000101
+dd 0x00000000
+dd 0x00010000
+dd 0x00001802
+dd 0x00000000
+dd 0x00010000
+dd 0x00000504
+dd 0x00000000
+dd 0x00010000
+dd 0x00000a06
+dd 0x00000000
+dd 0x00010000
+dd 0x00000b06
+dd 0x00000000
+dd 0x00010000
+dd 0x00000c06
+dd 0x00000000
+dd 0x00010000
+dd 0x00000d06
+dd 0x00000000
+dd 0x00010000
+dd 0x00000e06
+dd 0x00000000
+dd 0x00010000
+dd 0x00000f06
+dd 0x00000000
+dd 0x00010000
+dd 0x00001006
+dd 0x00000000
+dd 0x00010000
+dd 0x00001308
+dd 0x00000000
+dd 0x00010000
+dd 0x00001e0b
+dd 0x00000000
+dd 0x00010000
+dd 0x0800190c
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00010000
+dd 0x00001f0c
+dd 0x00000000
+dd 0x00010000
+dd 0x00000101
+dd 0x00000000
+dd 0x00000000
+dd 0x00000e02
+dd 0x00000000
+dd 0x00000000
+dd 0x00001e03
+dd 0x00000000
+dd 0x02000000
+dd 0x00000205
+dd 0x00000000
+dd 0x00010000
+dd 0x00000f08
+dd 0x00000000
+dd 0x00000000
+dd 0x00001f0a
+dd 0x00000000
+dd 0x02010000
+dd 0x0004040b
+dd 0x00000000
+dd 0x00010000
+dd 0x0000180c
+dd 0x00000000
+dd 0x00010000
+dd 0x0800190c
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048084a:
+dd ref_00466bd8
+dd ref_00466be8
+
+ref_00480852:
+dd ref_00466bf8
+
+ref_00480856:
+dd ref_00466c08
+dd ref_00466c14
+
+ref_0048085e:
+db '"lF',0x00
+
+ref_00480862:
+dd ref_00466c32
+dd ref_00466c46
+
+ref_0048086a:
+db 'XlF',0x00
+
+ref_0048086e:
+dd ref_00466c68
+dd ref_00466c7c
+
+ref_00480876:
+dd ref_00466c8c
+
+ref_0048087a:
+dd ref_00466ca5
+
+ref_0048087e:
+dd ref_00466cb5
+
+ref_00480882:
+dd ref_00466cc3
+
+ref_00480886:
+dd ref_00466cd0
+
+ref_0048088a:
+dd ref_00466ce2
+
+ref_0048088e:
+dd ref_00466cf4
+
+ref_00480892:
+dd ref_00466d08
+
+ref_00480896:
+dd ref_00466d1f
+
+ref_0048089a:
+db '/mF',0x00
+
+ref_0048089e:
+db 'CmF',0x00
+
+ref_004808a2:
+db 'SmF',0x00
+
+ref_004808a6:
+db 'amF',0x00
+
+ref_004808aa:
+db 'qmF',0x00
+
+ref_004808ae:
+dd ref_00466d95
+
+ref_004808b2:
+dd ref_00466dae
+dd ref_00466dcd
+dd ref_00466de8
+dd ref_00466df8
+dd ref_00466e0c
+dd ref_00466e1a
+dd ref_00466e35
+dd ref_00466e50
+dd ref_00466e67
+dd ref_00466e86
+dd ref_00466e9b
+dd ref_00466eb6
+dd ref_00466ed1
+dd ref_00466ee1
+dd ref_00466efc
+dd ref_00466f0a
+dd ref_00466f1a
+dd ref_00466f3c
+dd ref_00466f4e
+dd ref_00466f5e
+dd ref_00466f79
+dd ref_00466f89
+dd ref_00466f9d
+dd ref_00466fad
+dd ref_00466fc1
+dd ref_00466fd5
+dd ref_00466ff2
+dd ref_00467006
+dd ref_0046701a
+dd ref_0046702a
+dd ref_0046703e
+dd ref_0046704e
+dd ref_0046705e
+dd ref_00467070
+dd ref_00467089
+dd ref_0046709b
+dd ref_004670a7
+dd ref_004670b7
+dd ref_004670cb
+dd ref_004670e4
+dd ref_004670fb
+dd ref_00467118
+dd ref_0046712a
+dd ref_00467141
+dd ref_00467151
+dd ref_00467168
+dd ref_0046717f
+dd ref_00467198
+dd ref_004671a8
+dd ref_004671bf
+dd ref_004671d3
+dd ref_004671e5
+dd ref_004671fe
+dd ref_00467215
+dd ref_00467227
+dd ref_00467242
+dd ref_00467259
+dd ref_0046726d
+dd ref_0046727b
+dd ref_00467287
+dd ref_00467299
+dd ref_004672ab
+dd ref_004672b9
+dd ref_004672c7
+dd ref_004672d5
+dd ref_004672e5
+dd ref_004672f9
+dd ref_00467307
+dd ref_00467319
+dd ref_00467327
+dd ref_00467333
+dd ref_00467350
+dd ref_00467369
+dd ref_00467380
+dd ref_00467394
+dd ref_004673a8
+dd ref_004673b8
+dd ref_004673cb
+dd ref_004673e4
+dd ref_004673f6
+dd ref_0046740c
+dd ref_0046742b
+dd ref_0046744c
+dd ref_0046745a
+dd ref_00467468
+dd ref_00467476
+dd ref_00467488
+dd ref_00467498
+dd ref_004674a6
+dd ref_004674b8
+dd ref_004674ca
+dd ref_004674d8
+dd ref_004674e4
+dd ref_004674f0
+dd ref_00467502
+dd ref_00467514
+dd ref_00467526
+dd ref_00467536
+dd ref_0046754d
+dd ref_0046755d
+dd ref_00467571
+dd ref_00467585
+dd ref_00467593
+dd ref_004675a3
+dd ref_004675af
+dd ref_004675c3
+dd ref_004675d5
+dd ref_004675e7
+dd ref_004675fe
+dd ref_00467610
+dd ref_00467620
+dd ref_00467632
+dd ref_00467644
+dd ref_00467654
+dd ref_00467664
+dd ref_00467674
+dd ref_00467688
+dd ref_00467698
+dd ref_004676ac
+dd ref_004676bc
+dd ref_004676d9
+dd ref_004676ed
+dd ref_0046770d
+dd ref_00467724
+dd ref_00467743
+dd ref_0046775e
+dd ref_00467772
+dd ref_00467786
+dd ref_004677a5
+dd ref_004677b9
+dd ref_004677d4
+dd ref_004677e2
+dd ref_004677fb
+dd ref_0046780d
+dd ref_00467826
+dd ref_0046783d
+dd ref_00467854
+dd ref_0046786b
+dd ref_00467883
+dd ref_0046789a
+dd ref_004678b7
+dd ref_004678c9
+dd ref_004678dd
+dd ref_004678f6
+dd ref_00467908
+dd ref_00467925
+dd ref_0046793e
+dd ref_00467952
+dd ref_00467969
+dd ref_00467982
+dd ref_00467994
+dd ref_004679ad
+dd ref_004679c6
+dd ref_004679e3
+dd ref_00467a09
+dd ref_00467a24
+dd ref_00467a41
+dd ref_00467a62
+dd ref_00467a6d
+dd ref_00467a7f
+dd ref_00467a96
+dd ref_00467ab1
+dd ref_00467aca
+dd ref_00467ae3
+dd ref_00467af3
+dd ref_00467b03
+dd ref_00467b17
+dd ref_00467b25
+dd ref_00467b39
+dd ref_00467b49
+dd ref_00467b5b
+dd ref_00467b6b
+dd ref_00467b82
+dd ref_00467b92
+dd ref_00467ba6
+dd ref_00467bbf
+dd ref_00467bd3
+dd ref_00467be5
+dd ref_00467bf3
+dd ref_00467c0c
+dd ref_00467c1e
+dd ref_00467c2c
+dd ref_00467c43
+dd ref_00467c53
+dd ref_00467c63
+dd ref_00467c73
+dd ref_00467c81
+dd ref_00467c98
+dd ref_00467ca6
+dd ref_00467cbd
+dd ref_00467cd4
+dd ref_00467ce0
+dd ref_00467cee
+dd ref_00467d07
+dd ref_00467d17
+dd ref_00467d25
+dd ref_00467d35
+dd ref_00467d45
+dd ref_00467d57
+dd ref_00467d69
+dd ref_00467d7d
+dd ref_00467d91
+dd ref_00467d9f
+dd ref_00467db3
+dd ref_00467dc3
+dd ref_00467dda
+dd ref_00467dee
+dd ref_00467e02
+dd ref_00467e16
+dd ref_00467e31
+dd ref_00467e45
+dd ref_00467e57
+dd ref_00467e6a
+dd ref_00467e7c
+dd ref_00467e97
+dd ref_00467eb6
+dd ref_00467ecf
+dd ref_00467edf
+dd ref_00467ef8
+dd ref_00467f08
+dd ref_00467f25
+dd ref_00467f33
+dd ref_00467f3f
+dd ref_00467f51
+dd ref_00467f65
+dd ref_00467f73
+dd ref_00467f87
+dd ref_00467f9b
+dd ref_00467faf
+dd ref_00467fbd
+dd ref_00467fd1
+dd ref_00467fe1
+dd ref_00467ff1
+dd ref_00468003
+dd ref_00468017
+dd ref_00468025
+dd ref_0046803c
+dd ref_00468050
+dd ref_00468062
+dd ref_0046806c
+dd ref_0046807c
+dd ref_00468090
+dd ref_004680a7
+dd ref_004680c4
+dd ref_004680e3
+dd ref_004680f1
+dd ref_004680ff
+dd ref_0046810d
+dd ref_0046811d
+dd ref_00468131
+dd ref_00468141
+dd ref_00468153
+dd ref_00468165
+dd ref_00468173
+dd ref_00468181
+dd ref_00468191
+dd ref_004681a5
+dd ref_004681b1
+dd ref_004681c1
+dd ref_004681cf
+dd ref_004681dd
+dd ref_004681eb
+dd ref_004681f7
+dd ref_0046820e
+dd ref_0046821e
+dd ref_00468230
+dd ref_0046823e
+dd ref_0046824c
+dd ref_0046825c
+dd ref_0046826c
+dd ref_0046827a
+dd ref_0046828e
+dd ref_00468297
+dd ref_004682a0
+dd ref_004682a9
+dd ref_004682b2
+dd ref_004682bb
+dd ref_004682c4
+dd ref_004682cd
+dd ref_004682d6
+dd ref_004682df
+dd ref_004682e8
+dd ref_004682f1
+dd ref_004682fa
+dd ref_00468303
+dd ref_0046830c
+dd ref_00468315
+dd ref_0046831e
+dd ref_00468327
+dd ref_00468330
+dd ref_00468339
+dd ref_00468342
+dd ref_0046834b
+dd ref_00468354
+dd ref_0046835d
+dd ref_00468366
+dd ref_0046836f
+dd ref_00468378
+
+ref_00480d5a:
+dd ref_00468381
+
+ref_00480d5e:
+dd ref_00468398
+
+ref_00480d62:
+dd ref_004683b7
+
+ref_00480d66:
+dd ref_004683ce
+
+ref_00480d6a:
+dd ref_004683e7
+
+ref_00480d6e:
+dd ref_004683fc
+
+ref_00480d72:
+dd ref_0046841b
+
+ref_00480d76:
+dd ref_00468434
+
+ref_00480d7a:
+dd ref_0046844d
+
+ref_00480d7e:
+dd ref_00468464
+
+ref_00480d82:
+dd ref_0046847b
+
+ref_00480d86:
+dd ref_0046848d
+
+ref_00480d8a:
+dd ref_004684a1
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_00480d92:
+dd ref_004684c0
+
+ref_00480d96:
+dd ref_004684d7
+
+ref_00480d9a:
+dd ref_004684eb
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004684fd
+dd ref_0046850f
+dd ref_0046851f
+dd ref_0046852b
+dd ref_00468544
+dd ref_0046855b
+dd ref_0046856f
+dd ref_00468581
+dd ref_00468598
+dd ref_004685a8
+dd ref_004685c3
+dd ref_004685dc
+dd ref_004685f5
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046860c
+dd ref_0046861c
+dd ref_0046862a
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046863e
+dd ref_00468655
+dd ref_00468667
+dd ref_0046867b
+dd ref_00468692
+dd ref_004686ad
+dd ref_004686b9
+dd ref_004686d0
+dd ref_004686eb
+dd ref_004686ff
+dd ref_0046871a
+dd ref_0046872c
+dd ref_00468749
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_00468764
+dd ref_00468772
+dd ref_00468780
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00468792
+dd ref_004687ad
+dd ref_004687bd
+dd ref_004687cb
+dd ref_004687e6
+dd ref_004687f8
+dd ref_00468808
+dd ref_0046881f
+dd ref_00468836
+dd ref_0046884f
+dd ref_00468866
+dd ref_00468878
+dd ref_00468895
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_004688a9
+dd ref_004688bb
+dd ref_004688d2
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004688e7
+dd ref_004688f5
+dd ref_00468903
+dd ref_00468917
+dd ref_00468929
+dd ref_00468940
+dd ref_0046895b
+dd ref_0046896d
+dd ref_0046897f
+dd ref_00468998
+dd ref_004689af
+dd ref_004689bf
+dd ref_004689cf
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_004689ea
+dd ref_004689fa
+dd ref_00468a0e
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00468a1e
+dd ref_00468a39
+dd ref_00468a52
+dd ref_00468a62
+dd ref_00468a76
+dd ref_00468a88
+dd ref_00468aa1
+dd ref_00468ab8
+dd ref_00468acf
+dd ref_00468af1
+dd ref_00468b05
+dd ref_00468b1e
+dd ref_00468b39
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_00468b54
+dd ref_00468b68
+dd ref_00468b78
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00468b8c
+dd ref_00468ba5
+dd ref_00468bc0
+dd ref_00468bd7
+dd ref_00468beb
+dd ref_00468c03
+dd ref_00468c1c
+dd ref_00468c33
+dd ref_00468c4c
+dd ref_00468c5e
+dd ref_00468c79
+dd ref_00468c8b
+dd ref_00468c9d
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_00468caf
+dd ref_00468cbf
+dd ref_00468ccb
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00468cdb
+dd ref_00468cf2
+dd ref_00468d06
+dd ref_00468d1f
+dd ref_00468d38
+dd ref_00468d4f
+dd ref_00468d68
+dd ref_00468d7f
+dd ref_00468d98
+dd ref_00468dac
+dd ref_00468dbe
+dd ref_00468dd5
+dd ref_00468df6
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_00468e0f
+dd ref_00468e23
+dd ref_00468e3e
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00468e4e
+dd ref_00468e5a
+dd ref_00468e6a
+dd ref_00468e7e
+dd ref_00468e90
+dd ref_00468ea7
+dd ref_00468ec0
+dd ref_00468ed2
+dd ref_00468eeb
+dd ref_00468eff
+dd ref_00468f11
+dd ref_00468f25
+dd ref_00468f39
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_00468f52
+dd ref_00468f5e
+dd ref_00468f72
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00468f86
+dd ref_00468f98
+dd ref_00468fa8
+dd ref_00468fb6
+dd ref_00468fc4
+dd ref_00468fdb
+dd ref_00468ff4
+dd ref_00469008
+dd ref_00469025
+dd ref_0046903c
+dd ref_00469050
+dd ref_0046906d
+dd ref_00469090
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_004690b1
+dd ref_004690c3
+dd ref_004690d3
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004690e5
+dd ref_004690f7
+dd ref_00469107
+dd ref_00469113
+dd ref_00469121
+dd ref_00469131
+dd ref_00469145
+dd ref_00469159
+dd ref_00469169
+dd ref_00469179
+dd ref_0046918b
+dd ref_00469199
+dd ref_004691b0
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_004691c4
+dd ref_004691ce
+dd ref_004691da
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004691ea
+dd ref_004691f3
+dd ref_004691fc
+dd ref_00469205
+dd ref_0046920e
+dd ref_00469217
+dd ref_00469220
+dd ref_00469229
+dd ref_00469232
+dd ref_0046923b
+dd ref_00469244
+dd ref_0046924d
+dd ref_00469256
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046925f
+dd ref_00469268
+dd ref_00469271
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048123a:
+dd ref_0046927a
+
+ref_0048123e:
+dd ref_0046928c
+
+ref_00481242:
+dd ref_004692a3
+
+ref_00481246:
+dd ref_004692be
+
+ref_0048124a:
+dd ref_004692d7
+
+ref_0048124e:
+dd ref_004692f4
+
+ref_00481252:
+dd ref_0046930d
+
+ref_00481256:
+dd ref_0046931f
+
+ref_0048125a:
+dd ref_00469338
+
+ref_0048125e:
+dd ref_0046934d
+
+ref_00481262:
+dd ref_00469364
+
+ref_00481266:
+dd ref_0046937b
+
+ref_0048126a:
+dd ref_0046938d
+
+ref_0048126e:
+dd ref_004693aa
+
+ref_00481272:
+dd ref_004693ba
+
+ref_00481276:
+dd ref_004693d1
+
+ref_0048127a:
+dd ref_004693e1
+
+ref_0048127e:
+dd ref_004693f5
+
+ref_00481282:
+dd ref_0046940c
+
+ref_00481286:
+dd ref_00469420
+
+ref_0048128a:
+dd ref_00469434
+
+ref_0048128e:
+dd ref_0046944d
+
+ref_00481292:
+dd ref_00469466
+
+ref_00481296:
+dd ref_00469478
+
+ref_0048129a:
+dd ref_00469493
+
+ref_0048129e:
+dd ref_004694ac
+
+ref_004812a2:
+dd ref_004694be
+
+ref_004812a6:
+dd ref_004694d9
+
+ref_004812aa:
+dd ref_004694f4
+
+ref_004812ae:
+dd ref_00469506
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_004812c6:
+dd ref_0046951f
+dd ref_00469533
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_004812e6:
+dd ref_00469545
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00481326:
+dd ref_00469559
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0048132e:
+dd ref_00469570
+
+ref_00481332:
+dd ref_00469589
+
+ref_00481336:
+dd ref_0046959d
+
+ref_0048133a:
+dd ref_004695b1
+
+ref_0048133e:
+dd ref_004695c5
+dd ref_004695de
+
+ref_00481346:
+dd ref_004695f9
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00481352:
+dd ref_0046960d
+
+ref_00481356:
+dd ref_00469621
+
+ref_0048135a:
+dd ref_00469633
+
+ref_0048135e:
+dd ref_00469650
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048136a:
+dd ref_00469667
+
+ref_0048136e:
+dd ref_00469686
+
+ref_00481372:
+dd ref_0046969d
+
+ref_00481376:
+dd ref_004696b6
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048138e:
+dd ref_004696d1
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048139a:
+dd ref_004696e1
+
+ref_0048139e:
+dd ref_004696f8
+dd ref_00469711
+dd ref_00469728
+dd ref_00469743
+dd ref_0046975c
+dd ref_00469777
+dd ref_00469792
+dd ref_004697a2
+dd ref_004697b4
+dd ref_004697cf
+dd ref_004697ee
+dd ref_0046980b
+dd ref_0046981f
+dd ref_0046983a
+dd ref_00469857
+dd ref_0046986e
+dd ref_00469887
+dd ref_0046989c
+dd ref_004698b5
+dd ref_004698ce
+dd ref_004698e5
+dd ref_004698f5
+dd ref_00469910
+dd ref_00469924
+dd ref_00469938
+dd ref_0046994c
+dd ref_00469960
+dd ref_00469979
+dd ref_00469992
+dd ref_004699a6
+dd ref_004699b8
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004699cf
+dd ref_004699df
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_004699f3
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469a0c
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_00469a23
+dd ref_00469a37
+dd ref_00469a4b
+dd ref_00469a5d
+dd ref_00469a7c
+dd ref_00469a93
+dd ref_00469aa7
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469ac0
+dd ref_00469ad2
+dd ref_00469aed
+dd ref_00469b04
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469b18
+dd ref_00469b2c
+dd ref_00469b49
+dd ref_00469b5d
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469b6f
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469b83
+dd ref_00469b9e
+dd ref_00469bb0
+dd ref_00469bc7
+dd ref_00469be2
+dd ref_00469bf6
+dd ref_00469c08
+dd ref_00469c21
+dd ref_00469c3c
+dd ref_00469c55
+dd ref_00469c69
+dd ref_00469c7b
+dd ref_00469c92
+dd ref_00469ca4
+dd ref_00469cbb
+dd ref_00469cd2
+dd ref_00469ceb
+dd ref_00469cf9
+dd ref_00469d0d
+dd ref_00469d26
+dd ref_00469d38
+dd ref_00469d4a
+dd ref_00469d5e
+dd ref_00469d6e
+dd ref_00469d87
+dd ref_00469d9b
+dd ref_00469daf
+dd ref_00469dca
+dd ref_00469de3
+dd ref_00469df3
+dd ref_00469e07
+dd ref_00469e22
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469e32
+dd ref_00469e46
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469e61
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469e78
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_00469e8c
+dd ref_00469ea3
+dd ref_00469eb7
+dd ref_00469ec9
+dd ref_00469ee0
+dd ref_00469ef4
+dd ref_00469f08
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469f1c
+dd ref_00469f33
+dd ref_00469f4a
+dd ref_00469f65
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469f79
+dd ref_00469f8d
+dd ref_00469f9f
+dd ref_00469faf
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469fc3
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_00469fda
+dd ref_00469ff3
+dd ref_0046a00c
+dd ref_0046a02d
+dd ref_0046a044
+dd ref_0046a052
+dd ref_0046a075
+dd ref_0046a092
+dd ref_0046a0a9
+dd ref_0046a0b9
+dd ref_0046a0d4
+dd ref_0046a0e4
+dd ref_0046a0f8
+dd ref_0046a10f
+dd ref_0046a121
+dd ref_0046a13c
+dd ref_0046a14c
+dd ref_0046a15c
+dd ref_0046a17c
+dd ref_0046a195
+dd ref_0046a1ae
+dd ref_0046a1c5
+dd ref_0046a1de
+dd ref_0046a1f2
+dd ref_0046a206
+dd ref_0046a216
+dd ref_0046a231
+dd ref_0046a252
+dd ref_0046a26f
+dd ref_0046a292
+dd ref_0046a2b5
+dd ref_0046a2cc
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a2e5
+dd ref_0046a2f7
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a30b
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a31f
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046a331
+dd ref_0046a341
+dd ref_0046a34f
+dd ref_0046a35d
+dd ref_0046a371
+dd ref_0046a388
+dd ref_0046a398
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a3af
+dd ref_0046a3c8
+dd ref_0046a3e1
+dd ref_0046a3f5
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a40e
+dd ref_0046a429
+dd ref_0046a439
+dd ref_0046a456
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a466
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a47d
+dd ref_0046a494
+dd ref_0046a4a8
+dd ref_0046a4bc
+dd ref_0046a4ce
+dd ref_0046a4e2
+dd ref_0046a4f9
+dd ref_0046a50b
+dd ref_0046a522
+dd ref_0046a539
+dd ref_0046a550
+dd ref_0046a567
+dd ref_0046a57e
+dd ref_0046a595
+dd ref_0046a5a3
+dd ref_0046a5c0
+dd ref_0046a5d2
+dd ref_0046a5e9
+dd ref_0046a604
+dd ref_0046a623
+dd ref_0046a63a
+dd ref_0046a64c
+dd ref_0046a65a
+dd ref_0046a66e
+dd ref_0046a67e
+dd ref_0046a6a8
+dd ref_0046a6c7
+dd ref_0046a6db
+dd ref_0046a6ed
+dd ref_0046a701
+dd ref_0046a715
+dd ref_0046a72e
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a740
+dd ref_0046a752
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a766
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a776
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046a786
+dd ref_0046a79f
+dd ref_0046a7ba
+dd ref_0046a7ca
+dd ref_0046a7e1
+dd ref_0046a7f1
+dd ref_0046a803
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a817
+dd ref_0046a82b
+dd ref_0046a844
+dd ref_0046a863
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a877
+dd ref_0046a88e
+dd ref_0046a8a2
+dd ref_0046a8b6
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a8c6
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046a8d8
+dd ref_0046a8ec
+dd ref_0046a8fe
+dd ref_0046a915
+dd ref_0046a92c
+dd ref_0046a945
+dd ref_0046a95e
+dd ref_0046a972
+dd ref_0046a989
+dd ref_0046a99d
+dd ref_0046a9af
+dd ref_0046a9d5
+dd ref_0046a9e9
+dd ref_0046a9fb
+dd ref_0046aa0f
+dd ref_0046aa2a
+dd ref_0046aa47
+dd ref_0046aa5a
+dd ref_0046aa75
+dd ref_0046aa8e
+dd ref_0046aaa0
+dd ref_0046aab2
+dd ref_0046aac6
+dd ref_0046aadd
+dd ref_0046aaf2
+dd ref_0046ab06
+dd ref_0046ab16
+dd ref_0046ab26
+dd ref_0046ab3a
+dd ref_0046ab51
+dd ref_0046ab61
+dd ref_0046ab75
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046ab8c
+dd ref_0046aba3
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046abbc
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046abcc
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046abe5
+dd ref_0046abfe
+dd ref_0046ac10
+dd ref_0046ac2b
+dd ref_0046ac46
+dd ref_0046ac5a
+dd ref_0046ac6a
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046ac85
+dd ref_0046ac95
+dd ref_0046aca3
+dd ref_0046acb5
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046acd0
+dd ref_0046ace4
+dd ref_0046acf8
+dd ref_0046ad0c
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046ad27
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046ad39
+dd ref_0046ad52
+dd ref_0046ad69
+dd ref_0046ad7d
+dd ref_0046ad98
+dd ref_0046adaa
+dd ref_0046adbc
+dd ref_0046adce
+dd ref_0046ade0
+dd ref_0046adf2
+dd ref_0046ae09
+dd ref_0046ae15
+dd ref_0046ae2e
+dd ref_0046ae40
+dd ref_0046ae57
+dd ref_0046ae69
+dd ref_0046ae77
+dd ref_0046ae85
+dd ref_0046ae99
+dd ref_0046aeb0
+dd ref_0046aec3
+dd ref_0046aed5
+dd ref_0046aef4
+dd ref_0046af0f
+dd ref_0046af23
+dd ref_0046af3a
+dd ref_0046af48
+dd ref_0046af5a
+dd ref_0046af6e
+dd ref_0046af7c
+dd ref_0046af8a
+dd ref_0046afa5
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046afc0
+dd ref_0046afce
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046afe5
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046aff3
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046b005
+dd ref_0046b020
+dd ref_0046b037
+dd ref_0046b049
+dd ref_0046b059
+dd ref_0046b063
+dd ref_0046b07e
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b088
+dd ref_0046b09c
+dd ref_0046b0b0
+dd ref_0046b0c7
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b0d3
+dd ref_0046b0f0
+dd ref_0046b102
+dd ref_0046b119
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b123
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b135
+dd ref_0046b14e
+dd ref_0046b160
+dd ref_0046b172
+dd ref_0046b189
+dd ref_0046b199
+dd ref_0046b1b0
+dd ref_0046b1c9
+dd ref_0046b1e0
+dd ref_0046b1f2
+dd ref_0046b20d
+dd ref_0046b224
+dd ref_0046b238
+dd ref_0046b251
+dd ref_0046b26e
+dd ref_0046b27e
+dd ref_0046b295
+dd ref_0046b2ac
+dd ref_0046b2c7
+dd ref_0046b2e0
+dd ref_0046b2f4
+dd ref_0046b30f
+dd ref_0046b323
+dd ref_0046b33c
+dd ref_0046b35b
+dd ref_0046b36f
+dd ref_0046b388
+dd ref_0046b3a3
+dd ref_0046b3c0
+dd ref_0046b3d9
+dd ref_0046b3eb
+dd ref_0046b402
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b419
+dd ref_0046b429
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b43b
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b44d
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046b464
+dd ref_0046b472
+dd ref_0046b482
+dd ref_0046b496
+dd ref_0046b4a4
+dd ref_0046b4bb
+dd ref_0046b4cd
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b4e4
+dd ref_0046b506
+dd ref_0046b518
+dd ref_0046b52d
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b546
+dd ref_0046b55a
+dd ref_0046b573
+dd ref_0046b587
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b59e
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b5b0
+dd ref_0046b5c9
+dd ref_0046b5dd
+dd ref_0046b5f8
+dd ref_0046b615
+dd ref_0046b629
+dd ref_0046b640
+dd ref_0046b659
+dd ref_0046b66d
+dd ref_0046b686
+dd ref_0046b6a3
+dd ref_0046b6be
+dd ref_0046b6d7
+dd ref_0046b6f0
+dd ref_0046b705
+dd ref_0046b715
+dd ref_0046b729
+dd ref_0046b73d
+dd ref_0046b754
+dd ref_0046b76d
+dd ref_0046b786
+dd ref_0046b79d
+dd ref_0046b7b8
+dd ref_0046b7d1
+dd ref_0046b7e3
+dd ref_0046b7f3
+dd ref_0046b810
+dd ref_0046b82b
+dd ref_0046b83f
+dd ref_0046b85c
+dd ref_0046b877
+dd ref_0046b892
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b8ab
+dd ref_0046b8b9
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b8d0
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b8e2
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046b8fb
+dd ref_0046b914
+dd ref_0046b926
+dd ref_0046b938
+dd ref_0046b94a
+dd ref_0046b969
+dd ref_0046b97d
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b99a
+dd ref_0046b9ac
+dd ref_0046b9c5
+dd ref_0046b9d7
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046b9eb
+dd ref_0046ba02
+dd ref_0046ba16
+dd ref_0046ba2a
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046ba45
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046ba59
+dd ref_0046ba6d
+dd ref_0046ba7f
+dd ref_0046ba9e
+dd ref_0046bab5
+dd ref_0046bacc
+dd ref_0046bade
+dd ref_0046baf0
+dd ref_0046bb0b
+dd ref_0046bb22
+dd ref_0046bb39
+dd ref_0046bb4b
+dd ref_0046bb5d
+dd ref_0046bb76
+dd ref_0046bb93
+dd ref_0046bbb6
+dd ref_0046bbc8
+dd ref_0046bbe5
+dd ref_0046bbfc
+dd ref_0046bc13
+dd ref_0046bc27
+dd ref_0046bc37
+dd ref_0046bc49
+dd ref_0046bc5d
+dd ref_0046bc76
+dd ref_0046bc8a
+dd ref_0046bca3
+dd ref_0046bcb5
+dd ref_0046bccc
+dd ref_0046bce0
+dd ref_0046bcf7
+dd ref_0046bd18
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046bd31
+dd ref_0046bd3f
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046bd51
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046bd63
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046bd71
+dd ref_0046bd81
+dd ref_0046bd93
+dd ref_0046bda7
+dd ref_0046bdbb
+dd ref_0046bdcf
+dd ref_0046bddf
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046bdf3
+dd ref_0046be10
+dd ref_0046be2b
+dd ref_0046be3d
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046be51
+dd ref_0046be65
+dd ref_0046be7c
+dd ref_0046be90
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046bea4
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046bebd
+dd ref_0046bed1
+dd ref_0046bee8
+dd ref_0046bef6
+dd ref_0046bf08
+dd ref_0046bf1c
+dd ref_0046bf2a
+dd ref_0046bf3e
+dd ref_0046bf4e
+dd ref_0046bf62
+dd ref_0046bf70
+dd ref_0046bf80
+dd ref_0046bf90
+dd ref_0046bf9e
+dd ref_0046bfac
+dd ref_0046bfb8
+dd ref_0046bfc4
+dd ref_0046bfd8
+dd ref_0046bfea
+dd ref_0046bffe
+dd ref_0046c010
+dd ref_0046c020
+dd ref_0046c030
+dd ref_0046c042
+dd ref_0046c04e
+dd ref_0046c05c
+dd ref_0046c06e
+dd ref_0046c07c
+dd ref_0046c093
+dd ref_0046c0a3
+dd ref_0046c0b3
+dd ref_0046c0c7
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c0d7
+dd ref_0046c0e5
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c0f5
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c105
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046c115
+dd ref_0046c123
+dd ref_0046c135
+dd ref_0046c14c
+dd ref_0046c163
+dd ref_0046c177
+dd ref_0046c185
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c199
+dd ref_0046c1a9
+dd ref_0046c1b7
+dd ref_0046c1c7
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c1d7
+dd ref_0046c1e5
+dd ref_0046c1f3
+dd ref_0046c203
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c213
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c21f
+dd ref_0046c231
+dd ref_0046c23b
+dd ref_0046c244
+dd ref_0046c24d
+dd ref_0046c256
+dd ref_0046c25f
+dd ref_0046c268
+dd ref_0046c271
+dd ref_0046c27a
+dd ref_0046c283
+dd ref_0046c28c
+dd ref_0046c295
+dd ref_0046c29e
+dd ref_0046c2a7
+dd ref_0046c2b0
+dd ref_0046c2b9
+dd ref_0046c2c2
+dd ref_0046c2cb
+dd ref_0046c2d4
+dd ref_0046c2dd
+dd ref_0046c2e6
+dd ref_0046c2ef
+dd ref_0046c2f8
+dd ref_0046c301
+dd ref_0046c30a
+dd ref_0046c313
+dd ref_0046c31c
+dd ref_0046c325
+dd ref_0046c32e
+dd ref_0046c337
+dd ref_0046c340
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c349
+dd ref_0046c352
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c35b
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c364
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+dd ref_0046c36d
+dd ref_0046c376
+dd ref_0046c37f
+dd ref_0046c388
+dd ref_0046c391
+dd ref_0046c39a
+dd ref_0046c3a3
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c3ac
+dd ref_0046c3b5
+dd ref_0046c3be
+dd ref_0046c3c7
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c3d0
+dd ref_0046c3d9
+dd ref_0046c3e2
+dd ref_0046c3eb
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c3f4
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+dd ref_0046c3fd
+dd ref_0046c406
+
+ref_0048231a:
+db 0x00
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00482322:
+db 0x01
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048232a:
+db 0x02
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00482332:
+db 0x04
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048233a:
+db 0x03
+db 0x00
+dd 0x00000000
+dd 0xffff0000
+dd 0x0000ffff
+db 0x00
+db 0x00
+
+ref_0048234a:
+db 0x07
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00482352:
+db 0x09
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048235a:
+db 0x0a
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00482362:
+db 0x20
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048236a:
+db 0x21
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00482372:
+db 0x22
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_0048237a:
+db 0x23
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00482382:
+db 0x24
+db 0x00
+dd 0x00000000
+dd 0x00250000
+dd 0x00000000
+dd 0x00260000
+dd 0x00000000
+dd 0x002b0000
+dd 0x00000000
+dd 0x002c0000
+dd 0x00000000
+dd 0x002d0000
+dd 0x00000000
+dd 0x002e0000
+dd 0x00000000
+dd 0x00350000
+dd 0x00000000
+dd 0x002f0000
+dd 0x00000000
+dd 0x00300000
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_004823d2:
+db 0x31
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_004823da:
+db 0x32
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_004823e2:
+db 0x36
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_004823ea:
+db 0x37
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_004823f2:
+db 0x38
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_004823fa:
+db 0x0f
+db 0x00
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00482402:
+db 0x3e
+db 0x00
+dd 0x00000000
+dd 0xffff0000
+dd 0x0000ffff
+dd 0x00000000
+
+ref_00482414:
+dd 0x05040302
+dd 0x01000706
+
+ref_0048241c: ; may contain a jump table
+dd loc_0045502b
+dd loc_0045502c
+dd loc_00455030
+dd loc_00455038
+
+ref_0048242c:
+dd 0x00010000
+dd 0x00030002
+dd 0x00060005
+dd 0x00080007
+dd 0x000b000a
+dd 0x000e000c
+dd 0x0010000f
+dd 0x00130011
+dd 0x00150014
+dd 0x00180016
+dd 0x001a0019
+dd 0x001d001c
+dd 0x001f001e
+dd 0x00220021
+dd 0x00240023
+dd 0x00270026
+dd 0x002a0028
+dd 0x002c002b
+dd 0x002f002d
+dd 0x00310030
+dd 0x00340032
+dd 0x00360035
+dd 0x00390038
+dd 0x003b003a
+dd 0x003e003d
+dd 0x0040003f
+dd 0x00430042
+dd 0x00460044
+dd 0x00480047
+dd 0x004b0049
+dd 0x004d004c
+dd 0x0050004e
+dd 0x00520051
+dd 0x00550054
+dd 0x00570056
+dd 0x005a0059
+dd 0x005c005b
+dd 0x005f005e
+dd 0x00610060
+dd 0x00640063
+dd 0x00670065
+dd 0x00690068
+dd 0x006c006a
+dd 0x006e006d
+dd 0x0071006f
+dd 0x00730072
+dd 0x00760075
+dd 0x00780077
+dd 0x007b007a
+dd 0x007d007c
+dd 0x0080007f
+dd 0x00830081
+dd 0x00850084
+dd 0x00880086
+dd 0x008a0089
+dd 0x008d008b
+dd 0x008f008e
+dd 0x00920090
+dd 0x00940093
+dd 0x00970096
+dd 0x00990098
+dd 0x009c009b
+dd 0x009e009d
+dd 0x00a100a0
+dd 0x00a400a2
+dd 0x00a600a5
+dd 0x00a900a7
+dd 0x00ab00aa
+dd 0x00ae00ac
+dd 0x00b000af
+dd 0x00b300b1
+dd 0x00b500b4
+dd 0x00b800b7
+dd 0x00ba00b9
+dd 0x00bd00bc
+dd 0x00bf00be
+dd 0x00c200c1
+dd 0x00c400c3
+dd 0x00c700c6
+dd 0x00ca00c8
+dd 0x00cc00cb
+dd 0x00cf00cd
+dd 0x00d100d0
+dd 0x00d400d2
+dd 0x00d600d5
+dd 0x00d900d7
+dd 0x00db00da
+dd 0x00de00dd
+dd 0x00e000df
+dd 0x00e300e2
+dd 0x00e500e4
+dd 0x00e800e7
+dd 0x00ea00e9
+dd 0x00ed00ec
+dd 0x00ef00ee
+dd 0x00f200f1
+dd 0x00f500f3
+dd 0x00f700f6
+dd 0x00fa00f8
+dd 0x00fc00fb
+dd 0x00ff00fd
+dd 0x01010100
+dd 0x01040102
+dd 0x01060105
+dd 0x01090107
+dd 0x010b010a
+dd 0x010e010c
+dd 0x0110010f
+dd 0x01130112
+dd 0x01150114
+dd 0x01180117
+dd 0x011a0119
+dd 0x011d011c
+dd 0x011f011e
+dd 0x01220121
+dd 0x01240123
+dd 0x01270126
+dd 0x01290128
+dd 0x012c012b
+dd 0x012e012d
+dd 0x01310130
+dd 0x01330132
+dd 0x01360135
+dd 0x01380137
+dd 0x013b013a
+dd 0x013d013c
+dd 0x0140013f
+dd 0x01430141
+dd 0x01450144
+dd 0x01480146
+dd 0x014a0149
+dd 0x014d014b
+dd 0x014f014e
+dd 0x01520150
+dd 0x01540153
+dd 0x01570155
+dd 0x01590158
+dd 0x015c015a
+dd 0x015e015d
+dd 0x0161015f
+dd 0x01630162
+dd 0x01660164
+dd 0x01680167
+dd 0x016b0169
+dd 0x016d016c
+dd 0x0170016e
+dd 0x01720171
+dd 0x01750173
+dd 0x01770176
+dd 0x017a0178
+dd 0x017c017b
+dd 0x017f017d
+dd 0x01810180
+dd 0x01830182
+dd 0x01860185
+dd 0x01880187
+dd 0x018b018a
+dd 0x018d018c
+dd 0x0190018f
+dd 0x01920191
+dd 0x01950194
+dd 0x01970196
+dd 0x019a0199
+dd 0x019c019b
+dd 0x019f019e
+dd 0x01a101a0
+dd 0x01a401a3
+dd 0x01a601a5
+dd 0x01a901a8
+dd 0x01ab01aa
+dd 0x01ae01ac
+dd 0x01b001af
+dd 0x01b301b1
+dd 0x01b501b4
+dd 0x01b801b6
+dd 0x01ba01b9
+dd 0x01bd01bb
+dd 0x01bf01be
+dd 0x01c201c0
+dd 0x01c401c3
+dd 0x01c601c5
+dd 0x01c901c8
+dd 0x01cb01ca
+dd 0x01ce01cd
+dd 0x01d001cf
+dd 0x01d301d2
+dd 0x01d501d4
+dd 0x01d801d7
+dd 0x01da01d9
+dd 0x01dd01db
+dd 0x01df01de
+dd 0x01e201e0
+dd 0x01e401e3
+dd 0x01e701e5
+dd 0x01e901e8
+dd 0x01eb01ea
+dd 0x01ee01ed
+dd 0x01f001ef
+dd 0x01f301f2
+dd 0x01f501f4
+dd 0x01f801f6
+dd 0x01fa01f9
+dd 0x01fd01fb
+dd 0x01ff01fe
+dd 0x02010200
+dd 0x02040203
+dd 0x02060205
+dd 0x02090208
+dd 0x020b020a
+dd 0x020e020d
+dd 0x0210020f
+dd 0x02130211
+dd 0x02150214
+dd 0x02170216
+dd 0x021a0219
+dd 0x021c021b
+dd 0x021f021e
+dd 0x02210220
+dd 0x02240222
+dd 0x02260225
+dd 0x02290227
+dd 0x022b022a
+dd 0x022d022c
+dd 0x0230022f
+dd 0x02320231
+dd 0x02350233
+dd 0x02370236
+dd 0x023a0238
+dd 0x023c023b
+dd 0x023e023d
+dd 0x02410240
+dd 0x02430242
+dd 0x02460244
+dd 0x02480247
+dd 0x024b0249
+dd 0x024d024c
+dd 0x024f024e
+dd 0x02520251
+dd 0x02540253
+dd 0x02570255
+dd 0x02590258
+dd 0x025b025a
+dd 0x025e025d
+dd 0x0260025f
+dd 0x02630261
+dd 0x02650264
+dd 0x02670266
+dd 0x026a0269
+dd 0x026c026b
+dd 0x026f026e
+dd 0x02710270
+dd 0x02740272
+dd 0x02760275
+dd 0x02780277
+dd 0x027b027a
+dd 0x027d027c
+dd 0x0280027e
+dd 0x02820281
+dd 0x02840283
+dd 0x02870285
+dd 0x02890288
+dd 0x028b028a
+dd 0x028e028d
+dd 0x0290028f
+dd 0x02930291
+dd 0x02950294
+dd 0x02970296
+dd 0x029a0299
+dd 0x029c029b
+dd 0x029f029d
+dd 0x02a102a0
+dd 0x02a302a2
+dd 0x02a602a5
+dd 0x02a802a7
+dd 0x02aa02a9
+dd 0x02ad02ac
+dd 0x02af02ae
+dd 0x02b202b0
+dd 0x02b402b3
+dd 0x02b602b5
+dd 0x02b902b8
+dd 0x02bb02ba
+dd 0x02bd02bc
+dd 0x02c002bf
+dd 0x02c202c1
+dd 0x02c502c3
+dd 0x02c702c6
+dd 0x02c902c8
+dd 0x02cc02ca
+dd 0x02ce02cd
+dd 0x02d002cf
+dd 0x02d302d1
+dd 0x02d502d4
+dd 0x02d702d6
+dd 0x02da02d9
+dd 0x02dc02db
+dd 0x02de02dd
+dd 0x02e102e0
+dd 0x02e302e2
+dd 0x02e502e4
+dd 0x02e802e7
+dd 0x02ea02e9
+dd 0x02ed02eb
+dd 0x02ef02ee
+dd 0x02f102f0
+dd 0x02f402f2
+dd 0x02f602f5
+dd 0x02f802f7
+dd 0x02fb02f9
+dd 0x02fd02fc
+dd 0x02ff02fe
+dd 0x03020300
+dd 0x03040303
+dd 0x03060305
+dd 0x03090307
+dd 0x030b030a
+dd 0x030d030c
+dd 0x030f030e
+dd 0x03120311
+dd 0x03140313
+dd 0x03160315
+dd 0x03190318
+dd 0x031b031a
+dd 0x031d031c
+dd 0x0320031f
+dd 0x03220321
+dd 0x03240323
+dd 0x03270326
+dd 0x03290328
+dd 0x032b032a
+dd 0x032e032c
+dd 0x0330032f
+dd 0x03320331
+dd 0x03350333
+dd 0x03370336
+dd 0x03390338
+dd 0x033b033a
+dd 0x033e033d
+dd 0x0340033f
+dd 0x03420341
+dd 0x03450343
+dd 0x03470346
+dd 0x03490348
+dd 0x034b034a
+dd 0x034e034d
+dd 0x0350034f
+dd 0x03520351
+dd 0x03550353
+dd 0x03570356
+dd 0x03590358
+dd 0x035b035a
+dd 0x035e035d
+dd 0x0360035f
+dd 0x03620361
+dd 0x03650363
+dd 0x03670366
+dd 0x03690368
+dd 0x036b036a
+dd 0x036e036d
+dd 0x0370036f
+dd 0x03720371
+dd 0x03740373
+dd 0x03770376
+dd 0x03790378
+dd 0x037b037a
+dd 0x037d037c
+dd 0x0380037f
+dd 0x03820381
+dd 0x03840383
+dd 0x03870385
+dd 0x03890388
+dd 0x038b038a
+dd 0x038d038c
+dd 0x0390038e
+dd 0x03920391
+dd 0x03940393
+dd 0x03960395
+dd 0x03980397
+dd 0x039b039a
+dd 0x039d039c
+dd 0x039f039e
+dd 0x03a103a0
+dd 0x03a403a3
+dd 0x03a603a5
+dd 0x03a803a7
+dd 0x03aa03a9
+dd 0x03ad03ab
+dd 0x03af03ae
+dd 0x03b103b0
+dd 0x03b303b2
+dd 0x03b603b4
+dd 0x03b803b7
+dd 0x03ba03b9
+dd 0x03bc03bb
+dd 0x03be03bd
+dd 0x03c103bf
+dd 0x03c303c2
+dd 0x03c503c4
+dd 0x03c703c6
+dd 0x03c903c8
+dd 0x03cc03cb
+dd 0x03ce03cd
+dd 0x03d003cf
+dd 0x03d203d1
+dd 0x03d403d3
+dd 0x03d703d6
+dd 0x03d903d8
+dd 0x03db03da
+dd 0x03dd03dc
+dd 0x03df03de
+dd 0x03e203e1
+dd 0x03e403e3
+dd 0x03e603e5
+dd 0x03e803e7
+dd 0x03ea03e9
+dd 0x03ed03ec
+dd 0x03ef03ee
+dd 0x03f103f0
+dd 0x03f303f2
+dd 0x03f503f4
+dd 0x03f803f6
+dd 0x03fa03f9
+dd 0x03fc03fb
+dd 0x03fe03fd
+dd 0x040003ff
+dd 0x04020401
+dd 0x04050404
+dd 0x04070406
+dd 0x04090408
+dd 0x040b040a
+dd 0x040d040c
+dd 0x040f040e
+dd 0x04120411
+dd 0x04140413
+dd 0x04160415
+dd 0x04180417
+dd 0x041a0419
+dd 0x041c041b
+dd 0x041f041d
+dd 0x04210420
+dd 0x04230422
+dd 0x04250424
+dd 0x04270426
+dd 0x04290428
+dd 0x042b042a
+dd 0x042e042c
+dd 0x0430042f
+dd 0x04320431
+dd 0x04340433
+dd 0x04360435
+dd 0x04380437
+dd 0x043a0439
+dd 0x043d043b
+dd 0x043f043e
+dd 0x04410440
+dd 0x04430442
+dd 0x04450444
+dd 0x04470446
+dd 0x04490448
+dd 0x044b044a
+dd 0x044d044c
+dd 0x0450044f
+dd 0x04520451
+dd 0x04540453
+dd 0x04560455
+dd 0x04580457
+dd 0x045a0459
+dd 0x045c045b
+dd 0x045e045d
+dd 0x0460045f
+dd 0x04630462
+dd 0x04650464
+dd 0x04670466
+dd 0x04690468
+dd 0x046b046a
+dd 0x046d046c
+dd 0x046f046e
+dd 0x04710470
+dd 0x04730472
+dd 0x04750474
+dd 0x04780477
+dd 0x047a0479
+dd 0x047c047b
+dd 0x047e047d
+dd 0x0480047f
+dd 0x04820481
+dd 0x04840483
+dd 0x04860485
+dd 0x04880487
+dd 0x048a0489
+dd 0x048c048b
+dd 0x048e048d
+dd 0x0490048f
+dd 0x04930492
+dd 0x04950494
+dd 0x04970496
+dd 0x04990498
+dd 0x049b049a
+dd 0x049d049c
+dd 0x049f049e
+dd 0x04a104a0
+dd 0x04a304a2
+dd 0x04a504a4
+dd 0x04a704a6
+dd 0x04a904a8
+dd 0x04ab04aa
+dd 0x04ad04ac
+dd 0x04af04ae
+dd 0x04b104b0
+dd 0x04b304b2
+dd 0x04b504b4
+dd 0x04b704b6
+dd 0x04ba04b9
+dd 0x04bc04bb
+dd 0x04be04bd
+dd 0x04c004bf
+dd 0x04c204c1
+dd 0x04c404c3
+dd 0x04c604c5
+dd 0x04c804c7
+dd 0x04ca04c9
+dd 0x04cc04cb
+dd 0x04ce04cd
+dd 0x04d004cf
+dd 0x04d204d1
+dd 0x04d404d3
+dd 0x04d604d5
+dd 0x04d804d7
+dd 0x04da04d9
+dd 0x04dc04db
+dd 0x04de04dd
+dd 0x04e004df
+dd 0x04e204e1
+dd 0x04e404e3
+dd 0x04e604e5
+dd 0x04e804e7
+dd 0x04ea04e9
+dd 0x04ec04eb
+dd 0x04ee04ed
+dd 0x04f004ef
+dd 0x04f204f1
+dd 0x04f404f3
+dd 0x04f604f5
+dd 0x04f804f7
+dd 0x04fa04f9
+dd 0x04fc04fb
+dd 0x04fe04fd
+dd 0x050004ff
+dd 0x05020501
+dd 0x05040503
+dd 0x05060505
+dd 0x05080507
+dd 0x050a0509
+dd 0x050c050b
+dd 0x050e050d
+dd 0x0510050f
+dd 0x05120511
+dd 0x05140513
+dd 0x05160515
+dd 0x05170516
+dd 0x05190518
+dd 0x051b051a
+dd 0x051d051c
+dd 0x051f051e
+dd 0x05210520
+dd 0x05230522
+dd 0x05250524
+dd 0x05270526
+dd 0x05290528
+dd 0x052b052a
+dd 0x052d052c
+dd 0x052f052e
+dd 0x05310530
+dd 0x05330532
+dd 0x05350534
+dd 0x05370536
+dd 0x05390538
+dd 0x053b053a
+dd 0x053c053b
+dd 0x053e053d
+dd 0x0540053f
+dd 0x05420541
+dd 0x05440543
+dd 0x05460545
+dd 0x05480547
+dd 0x054a0549
+dd 0x054c054b
+dd 0x054e054d
+dd 0x0550054f
+dd 0x05520551
+dd 0x05530553
+dd 0x05550554
+dd 0x05570556
+dd 0x05590558
+dd 0x055b055a
+dd 0x055d055c
+dd 0x055f055e
+dd 0x05610560
+dd 0x05630562
+dd 0x05650564
+dd 0x05670566
+dd 0x05680567
+dd 0x056a0569
+dd 0x056c056b
+dd 0x056e056d
+dd 0x0570056f
+dd 0x05720571
+dd 0x05740573
+dd 0x05760575
+dd 0x05780577
+dd 0x05790578
+dd 0x057b057a
+dd 0x057d057c
+dd 0x057f057e
+dd 0x05810580
+dd 0x05830582
+dd 0x05850584
+dd 0x05860586
+dd 0x05880587
+dd 0x058a0589
+dd 0x058c058b
+dd 0x058e058d
+dd 0x0590058f
+dd 0x05920591
+dd 0x05940593
+dd 0x05950594
+dd 0x05970596
+dd 0x05990598
+dd 0x059b059a
+dd 0x059d059c
+dd 0x059f059e
+dd 0x05a005a0
+dd 0x05a205a1
+dd 0x05a405a3
+dd 0x05a605a5
+dd 0x05a805a7
+dd 0x05aa05a9
+dd 0x05ac05ab
+dd 0x05ad05ac
+dd 0x05af05ae
+dd 0x05b105b0
+dd 0x05b305b2
+dd 0x05b505b4
+dd 0x05b605b6
+dd 0x05b805b7
+dd 0x05ba05b9
+dd 0x05bc05bb
+dd 0x05be05bd
+dd 0x05c005bf
+dd 0x05c105c1
+dd 0x05c305c2
+dd 0x05c505c4
+dd 0x05c705c6
+dd 0x05c905c8
+dd 0x05ca05ca
+dd 0x05cc05cb
+dd 0x05ce05cd
+dd 0x05d005cf
+dd 0x05d205d1
+dd 0x05d405d3
+dd 0x05d505d4
+dd 0x05d705d6
+dd 0x05d905d8
+dd 0x05db05da
+dd 0x05dc05dc
+dd 0x05de05dd
+dd 0x05e005df
+dd 0x05e205e1
+dd 0x05e405e3
+dd 0x05e505e5
+dd 0x05e705e6
+dd 0x05e905e8
+dd 0x05eb05ea
+dd 0x05ed05ec
+dd 0x05ee05ed
+dd 0x05f005ef
+dd 0x05f205f1
+dd 0x05f405f3
+dd 0x05f505f5
+dd 0x05f705f6
+dd 0x05f905f8
+dd 0x05fb05fa
+dd 0x05fc05fc
+dd 0x05fe05fd
+dd 0x060005ff
+dd 0x06020601
+dd 0x06040603
+dd 0x06050604
+dd 0x06070606
+dd 0x06090608
+dd 0x060b060a
+dd 0x060c060b
+dd 0x060e060d
+dd 0x0610060f
+dd 0x06120611
+dd 0x06130612
+dd 0x06150614
+dd 0x06170616
+dd 0x06180618
+dd 0x061a0619
+dd 0x061c061b
+dd 0x061e061d
+dd 0x061f061f
+dd 0x06210620
+dd 0x06230622
+dd 0x06250624
+dd 0x06260625
+dd 0x06280627
+dd 0x062a0629
+dd 0x062c062b
+dd 0x062d062c
+dd 0x062f062e
+dd 0x06310630
+dd 0x06320632
+dd 0x06340633
+dd 0x06360635
+dd 0x06380637
+dd 0x06390638
+dd 0x063b063a
+dd 0x063d063c
+dd 0x063e063d
+dd 0x0640063f
+dd 0x06420641
+dd 0x06430643
+dd 0x06450644
+dd 0x06470646
+dd 0x06490648
+dd 0x064a0649
+dd 0x064c064b
+dd 0x064e064d
+dd 0x064f064e
+dd 0x06510650
+dd 0x06530652
+dd 0x06540654
+dd 0x06560655
+dd 0x06580657
+dd 0x06590659
+dd 0x065b065a
+dd 0x065d065c
+dd 0x065e065e
+dd 0x0660065f
+dd 0x06620661
+dd 0x06630663
+dd 0x06650664
+dd 0x06670666
+dd 0x06680668
+dd 0x066a0669
+dd 0x066c066b
+dd 0x066d066d
+dd 0x066f066e
+dd 0x06710670
+dd 0x06720672
+dd 0x06740673
+dd 0x06760675
+dd 0x06770677
+dd 0x06790678
+dd 0x067b067a
+dd 0x067c067b
+dd 0x067e067d
+dd 0x0680067f
+dd 0x06810680
+dd 0x06830682
+dd 0x06850684
+dd 0x06860685
+dd 0x06880687
+dd 0x06890689
+dd 0x068b068a
+dd 0x068d068c
+dd 0x068e068d
+dd 0x0690068f
+dd 0x06920691
+dd 0x06930692
+dd 0x06950694
+dd 0x06960696
+dd 0x06980697
+dd 0x069a0699
+dd 0x069b069a
+dd 0x069d069c
+dd 0x069f069e
+dd 0x06a0069f
+dd 0x06a206a1
+dd 0x06a306a3
+dd 0x06a506a4
+dd 0x06a706a6
+dd 0x06a806a7
+dd 0x06aa06a9
+dd 0x06ab06ab
+dd 0x06ad06ac
+dd 0x06af06ae
+dd 0x06b006af
+dd 0x06b206b1
+dd 0x06b306b3
+dd 0x06b506b4
+dd 0x06b706b6
+dd 0x06b806b7
+dd 0x06ba06b9
+dd 0x06bb06bb
+dd 0x06bd06bc
+dd 0x06be06be
+dd 0x06c006bf
+dd 0x06c206c1
+dd 0x06c306c2
+dd 0x06c506c4
+dd 0x06c606c6
+dd 0x06c806c7
+dd 0x06ca06c9
+dd 0x06cb06ca
+dd 0x06cd06cc
+dd 0x06ce06cd
+dd 0x06d006cf
+dd 0x06d106d1
+dd 0x06d306d2
+dd 0x06d506d4
+dd 0x06d606d5
+dd 0x06d806d7
+dd 0x06d906d8
+dd 0x06db06da
+dd 0x06dc06dc
+dd 0x06de06dd
+dd 0x06df06df
+dd 0x06e106e0
+dd 0x06e306e2
+dd 0x06e406e3
+dd 0x06e606e5
+dd 0x06e706e6
+dd 0x06e906e8
+dd 0x06ea06e9
+dd 0x06ec06eb
+dd 0x06ed06ed
+dd 0x06ef06ee
+dd 0x06f006f0
+dd 0x06f206f1
+dd 0x06f306f3
+dd 0x06f506f4
+dd 0x06f706f6
+dd 0x06f806f7
+dd 0x06fa06f9
+dd 0x06fb06fa
+dd 0x06fd06fc
+dd 0x06fe06fd
+dd 0x070006ff
+dd 0x07010700
+dd 0x07030702
+dd 0x07040703
+dd 0x07060705
+dd 0x07070707
+dd 0x07090708
+dd 0x070a070a
+dd 0x070c070b
+dd 0x070d070d
+dd 0x070f070e
+dd 0x07100710
+dd 0x07120711
+dd 0x07130713
+dd 0x07150714
+dd 0x07160716
+dd 0x07180717
+dd 0x07190719
+dd 0x071b071a
+dd 0x071c071c
+dd 0x071e071d
+dd 0x071f071f
+dd 0x07210720
+dd 0x07220722
+dd 0x07240723
+dd 0x07250725
+dd 0x07270726
+dd 0x07280728
+dd 0x072a0729
+dd 0x072b072a
+dd 0x072d072c
+dd 0x072e072d
+dd 0x0730072f
+dd 0x07310730
+dd 0x07330732
+dd 0x07340733
+dd 0x07360735
+dd 0x07370736
+dd 0x07380738
+dd 0x073a0739
+dd 0x073b073b
+dd 0x073d073c
+dd 0x073e073e
+dd 0x0740073f
+dd 0x07410741
+dd 0x07430742
+dd 0x07440743
+dd 0x07460745
+dd 0x07470746
+dd 0x07490748
+dd 0x074a0749
+dd 0x074b074b
+dd 0x074d074c
+dd 0x074e074e
+dd 0x0750074f
+dd 0x07510750
+dd 0x07530752
+dd 0x07540753
+dd 0x07560755
+dd 0x07570756
+dd 0x07580758
+dd 0x075a0759
+dd 0x075b075b
+dd 0x075d075c
+dd 0x075e075d
+dd 0x0760075f
+dd 0x07610760
+dd 0x07620762
+dd 0x07640763
+dd 0x07650765
+dd 0x07670766
+dd 0x07680767
+dd 0x076a0769
+dd 0x076b076a
+dd 0x076c076c
+dd 0x076e076d
+dd 0x076f076e
+dd 0x07710770
+dd 0x07720771
+dd 0x07730773
+dd 0x07750774
+dd 0x07760776
+dd 0x07780777
+dd 0x07790778
+dd 0x077a077a
+dd 0x077c077b
+dd 0x077d077d
+dd 0x077f077e
+dd 0x0780077f
+dd 0x07810781
+dd 0x07830782
+dd 0x07840784
+dd 0x07860785
+dd 0x07870786
+dd 0x07880788
+dd 0x078a0789
+dd 0x078b078b
+dd 0x078d078c
+dd 0x078e078d
+dd 0x078f078f
+dd 0x07910790
+dd 0x07920791
+dd 0x07930793
+dd 0x07950794
+dd 0x07960796
+dd 0x07980797
+dd 0x07990798
+dd 0x079a079a
+dd 0x079c079b
+dd 0x079d079c
+dd 0x079e079e
+dd 0x07a0079f
+dd 0x07a107a1
+dd 0x07a307a2
+dd 0x07a407a3
+dd 0x07a507a5
+dd 0x07a707a6
+dd 0x07a807a7
+dd 0x07a907a9
+dd 0x07ab07aa
+dd 0x07ac07ab
+dd 0x07ad07ad
+dd 0x07af07ae
+dd 0x07b007af
+dd 0x07b107b1
+dd 0x07b307b2
+dd 0x07b407b4
+dd 0x07b607b5
+dd 0x07b707b6
+dd 0x07b807b8
+dd 0x07ba07b9
+dd 0x07bb07ba
+dd 0x07bc07bc
+dd 0x07be07bd
+dd 0x07bf07be
+dd 0x07c007c0
+dd 0x07c207c1
+dd 0x07c307c2
+dd 0x07c407c4
+dd 0x07c607c5
+dd 0x07c707c6
+dd 0x07c807c8
+dd 0x07ca07c9
+dd 0x07cb07ca
+dd 0x07cc07cc
+dd 0x07ce07cd
+dd 0x07cf07ce
+dd 0x07d007d0
+dd 0x07d207d1
+dd 0x07d307d2
+dd 0x07d407d3
+dd 0x07d507d5
+dd 0x07d707d6
+dd 0x07d807d7
+dd 0x07d907d9
+dd 0x07db07da
+dd 0x07dc07db
+dd 0x07dd07dd
+dd 0x07df07de
+dd 0x07e007df
+dd 0x07e107e1
+dd 0x07e307e2
+dd 0x07e407e3
+dd 0x07e507e4
+dd 0x07e607e6
+dd 0x07e807e7
+dd 0x07e907e8
+dd 0x07ea07ea
+dd 0x07ec07eb
+dd 0x07ed07ec
+dd 0x07ee07ee
+dd 0x07ef07ef
+dd 0x07f107f0
+dd 0x07f207f1
+dd 0x07f307f3
+dd 0x07f507f4
+dd 0x07f607f5
+dd 0x07f707f7
+dd 0x07f807f8
+dd 0x07fa07f9
+dd 0x07fb07fa
+dd 0x07fc07fc
+dd 0x07fe07fd
+dd 0x07ff07fe
+dd 0x00000800
+
+ref_00483430:
+dd 0x03170b3f
+dd 0x00160a2f
+dd 0x0215092e
+dd 0x0008012d
+dd 0x0314073e
+dd 0x0013062c
+dd 0x0212052b
+dd 0x0004012a
+dd 0x03110b3d
+dd 0x00100a29
+dd 0x020f0928
+dd 0x00080127
+dd 0x030e073c
+dd 0x000d0626
+dd 0x020c0525
+dd 0x00040124
+dd 0x03170b3b
+dd 0x00160a23
+dd 0x02150922
+dd 0x00080121
+dd 0x0314073a
+dd 0x00130620
+dd 0x0212051f
+dd 0x0004011e
+dd 0x03110b39
+dd 0x00100a1d
+dd 0x020f091c
+dd 0x0008011b
+dd 0x030e0738
+dd 0x000d061a
+dd 0x020c0519
+dd 0x00040118
+dd 0x03170b37
+dd 0x00160a2f
+dd 0x0215092e
+dd 0x0008012d
+dd 0x03140736
+dd 0x0013062c
+dd 0x0212052b
+dd 0x0004012a
+dd 0x03110b35
+dd 0x00100a29
+dd 0x020f0928
+dd 0x00080127
+dd 0x030e0734
+dd 0x000d0626
+dd 0x020c0525
+dd 0x00040124
+dd 0x03170b33
+dd 0x00160a23
+dd 0x02150922
+dd 0x00080121
+dd 0x03140732
+dd 0x00130620
+dd 0x0212051f
+dd 0x0004011e
+dd 0x03110b31
+dd 0x00100a1d
+dd 0x020f091c
+dd 0x0008011b
+dd 0x030e0730
+dd 0x000d061a
+dd 0x020c0519
+dd 0x00040118
+
+ref_00483530:
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+dd 0x04060508
+dd 0x03060507
+dd 0x04060507
+dd 0x03050407
+
+ref_00483630:
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00010001
+dd 0x00020001
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00020002
+dd 0x00030002
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00040004
+dd 0x00050004
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00080008
+dd 0x00090008
+dd 0x00100010
+dd 0x00100010
+dd 0x00100010
+dd 0x00100010
+dd 0x00100010
+dd 0x00100010
+dd 0x00100010
+dd 0x00100010
+dd 0x00100010
+dd 0x00110010
+dd 0x00200020
+dd 0x00200020
+dd 0x00200020
+dd 0x00200020
+dd 0x00210020
+dd 0x00400040
+dd 0x00400040
+dd 0x00800041
+dd 0x00c10080
+dd 0xffff0141
+dd 0x05040502
+dd 0x05080506
+dd 0x050c050a
+dd 0x0510050e
+dd 0x05140512
+dd 0x05180516
+dd 0x051c051a
+dd 0x0520051e
+dd 0x05240522
+dd 0x05280526
+dd 0x052c052a
+dd 0x0530052e
+dd 0x05340532
+dd 0x05380536
+dd 0x053c053a
+dd 0x0540053e
+dd 0x05440542
+dd 0x05480546
+dd 0x054c054a
+dd 0x0550054e
+dd 0x05540552
+dd 0x05580556
+dd 0x055c055a
+dd 0x0560055e
+dd 0x05640562
+dd 0x05680566
+dd 0x056c056a
+dd 0x0570056e
+dd 0x05740572
+dd 0x05780576
+dd 0x057c057a
+dd 0x0580057e
+dd 0x05840582
+dd 0x05880586
+dd 0x058c058a
+dd 0x0590058e
+dd 0x05940592
+dd 0x05980596
+dd 0x059c059a
+dd 0x05a0059e
+dd 0x05a405a2
+dd 0x05a805a6
+dd 0x05ac05aa
+dd 0x05b005ae
+dd 0x05b405b2
+dd 0x05b805b6
+dd 0x05bc05ba
+dd 0x05c005be
+dd 0x05c405c2
+dd 0x05c805c6
+dd 0x05cc05ca
+dd 0x05d005ce
+dd 0x05d405d2
+dd 0x05d805d6
+dd 0x05dc05da
+dd 0x05e005de
+dd 0x05e405e2
+dd 0x05e805e6
+dd 0x05ec05ea
+dd 0x05f005ee
+dd 0x05f405f2
+dd 0x05f805f6
+dd 0x05fc05fa
+dd 0x060005fe
+dd 0x06040602
+dd 0x06080606
+dd 0x060c060a
+dd 0x0610060e
+dd 0x06140612
+dd 0x06180616
+dd 0x061c061a
+dd 0x0620061e
+dd 0x06240622
+dd 0x06280626
+dd 0x062c062a
+dd 0x0630062e
+dd 0x06340632
+dd 0x06380636
+dd 0x063c063a
+dd 0x0640063e
+dd 0x06440642
+dd 0x06480646
+dd 0x064c064a
+dd 0x0650064e
+dd 0x06540652
+dd 0x06580656
+dd 0x065c065a
+dd 0x0660065e
+dd 0x06640662
+dd 0x06680666
+dd 0x066c066a
+dd 0x0670066e
+dd 0x06740672
+dd 0x06780676
+dd 0x067c067a
+dd 0x0680067e
+dd 0x06840682
+dd 0x06880686
+dd 0x068c068a
+dd 0x0690068e
+dd 0x06940692
+dd 0x06980696
+dd 0x069c069a
+dd 0x06a0069e
+dd 0x06a406a2
+dd 0x06a806a6
+dd 0x06ac06aa
+dd 0x06b006ae
+dd 0x06b406b2
+dd 0x06b806b6
+dd 0x06bc06ba
+dd 0x06c006be
+dd 0x06c406c2
+dd 0x06c806c6
+dd 0x06cc06ca
+dd 0x06d006ce
+dd 0x06d406d2
+dd 0x06d806d6
+dd 0x06dc06da
+dd 0x06e006de
+dd 0x06e406e2
+dd 0x06e806e6
+dd 0x06ec06ea
+dd 0x06f006ee
+dd 0x06f406f2
+dd 0x06f806f6
+dd 0x06fc06fa
+dd 0x070006fe
+dd 0x07040702
+dd 0x07080706
+dd 0x070c070a
+dd 0x0710070e
+dd 0x07140712
+dd 0x07180716
+dd 0x071c071a
+dd 0x0720071e
+dd 0x07240722
+dd 0x07280726
+dd 0x072c072a
+dd 0x0730072e
+dd 0x07340732
+dd 0x07380736
+dd 0x073c073a
+dd 0x0740073e
+dd 0x07440742
+dd 0x07480746
+dd 0x074c074a
+dd 0x0750074e
+dd 0x07540752
+dd 0x07580756
+dd 0x075c075a
+dd 0x0760075e
+dd 0x07640762
+dd 0x07680766
+dd 0x076c076a
+dd 0x0770076e
+dd 0x07740772
+dd 0x07780776
+dd 0x077c077a
+dd 0x0780077e
+dd 0x00000782
+dd 0x00080004
+dd 0x0010000c
+dd 0x00180014
+dd 0x0020001c
+dd 0x00280024
+dd 0x0030002c
+dd 0x00380034
+dd 0x0040003c
+dd 0x00480044
+dd 0x0050004c
+dd 0x00580054
+dd 0x0060005c
+dd 0x00680064
+dd 0x0070006c
+dd 0x00780074
+dd 0x0080007c
+dd 0x00880084
+dd 0x0090008c
+dd 0x00980094
+dd 0x00a0009c
+dd 0x00a800a4
+dd 0x00b000ac
+dd 0x00b800b4
+dd 0x00c000bc
+dd 0x00c800c4
+dd 0x00d000cc
+dd 0x00d800d4
+dd 0x00e000dc
+dd 0x00e800e4
+dd 0x00f000ec
+dd 0x00f800f4
+dd 0x010000fc
+dd 0x01080104
+dd 0x0110010c
+dd 0x01180114
+dd 0x0120011c
+dd 0x01280124
+dd 0x0130012c
+dd 0x01380134
+dd 0x0140013c
+dd 0x01480144
+dd 0x0150014c
+dd 0x01580154
+dd 0x0160015c
+dd 0x01680164
+dd 0x0170016c
+dd 0x01780174
+dd 0x0180017c
+dd 0x01880184
+dd 0x0190018c
+dd 0x01980194
+dd 0x01a0019c
+dd 0x01a801a4
+dd 0x01b001ac
+dd 0x01b801b4
+dd 0x01c001bc
+dd 0x01c801c4
+dd 0x01d001cc
+dd 0x01d801d4
+dd 0x01e001dc
+dd 0x01e801e4
+dd 0x01f001ec
+dd 0x01f801f4
+dd 0x020001fc
+dd 0x02080204
+dd 0x0210020c
+dd 0x02180214
+dd 0x0220021c
+dd 0x02280224
+dd 0x0230022c
+dd 0x02380234
+dd 0x0240023c
+dd 0x02480244
+dd 0x0250024c
+dd 0x02580254
+dd 0x0260025c
+dd 0x02680264
+dd 0x0270026c
+dd 0x02780274
+dd 0x0280027c
+dd 0x02880284
+dd 0x0290028c
+dd 0x02980294
+dd 0x02a0029c
+dd 0x02a802a4
+dd 0x02b002ac
+dd 0x02b802b4
+dd 0x02c002bc
+dd 0x02c802c4
+dd 0x02d002cc
+dd 0x02d802d4
+dd 0x02e002dc
+dd 0x02e802e4
+dd 0x02f002ec
+dd 0x02f802f4
+dd 0x030002fc
+dd 0x03080304
+dd 0x0310030c
+dd 0x03180314
+dd 0x0320031c
+dd 0x03280324
+dd 0x0330032c
+dd 0x03380334
+dd 0x0340033c
+dd 0x03480344
+dd 0x0350034c
+dd 0x03580354
+dd 0x0360035c
+dd 0x03680364
+dd 0x0370036c
+dd 0x03780374
+dd 0x0380037c
+dd 0x03880384
+dd 0x0390038c
+dd 0x03980394
+dd 0x03a0039c
+dd 0x03a803a4
+dd 0x03b003ac
+dd 0x03b803b4
+dd 0x03c003bc
+dd 0x03c803c4
+dd 0x03d003cc
+dd 0x03d803d4
+dd 0x03e003dc
+dd 0x03e803e4
+dd 0x03f003ec
+dd 0x03f803f4
+dd 0x040003fc
+dd 0x04080404
+dd 0x0410040c
+dd 0x04180414
+dd 0x0420041c
+dd 0x04280424
+dd 0x0430042c
+dd 0x04380434
+dd 0x0440043c
+dd 0x04480444
+dd 0x0450044c
+dd 0x04580454
+dd 0x0460045c
+dd 0x04680464
+dd 0x0470046c
+dd 0x04780474
+dd 0x0480047c
+dd 0x04880484
+dd 0x0490048c
+dd 0x04980494
+dd 0x04a0049c
+dd 0x04a804a4
+dd 0x04b004ac
+dd 0x04b804b4
+dd 0x04c004bc
+dd 0x04c804c4
+dd 0x04d004cc
+dd 0x04d804d4
+dd 0x04e004dc
+dd 0x04e804e4
+dd 0x04f004ec
+dd 0x04f804f4
+dd 0x028204fc
+dd 0x02840282
+dd 0x02860284
+dd 0x02880286
+dd 0x028a0288
+dd 0x028c028a
+dd 0x028e028c
+dd 0x0290028e
+dd 0x02920290
+dd 0x02940292
+dd 0x02960294
+dd 0x02980296
+dd 0x029a0298
+dd 0x029c029a
+dd 0x029e029c
+dd 0x02a0029e
+dd 0x02a202a0
+dd 0x02a402a2
+dd 0x02a602a4
+dd 0x02a802a6
+dd 0x02aa02a8
+dd 0x02ac02aa
+dd 0x02ae02ac
+dd 0x02b002ae
+dd 0x02b202b0
+dd 0x02b402b2
+dd 0x02b602b4
+dd 0x02b802b6
+dd 0x02ba02b8
+dd 0x02bc02ba
+dd 0x02be02bc
+dd 0x02c002be
+dd 0x02c202c0
+dd 0x02c402c2
+dd 0x02c602c4
+dd 0x02c802c6
+dd 0x02ca02c8
+dd 0x02cc02ca
+dd 0x02ce02cc
+dd 0x02d002ce
+dd 0x02d202d0
+dd 0x02d402d2
+dd 0x02d602d4
+dd 0x02d802d6
+dd 0x02da02d8
+dd 0x02dc02da
+dd 0x02de02dc
+dd 0x02e002de
+dd 0x02e202e0
+dd 0x02e402e2
+dd 0x02e602e4
+dd 0x02e802e6
+dd 0x02ea02e8
+dd 0x02ec02ea
+dd 0x02ee02ec
+dd 0x02f002ee
+dd 0x02f202f0
+dd 0x02f402f2
+dd 0x02f602f4
+dd 0x02f802f6
+dd 0x02fa02f8
+dd 0x02fc02fa
+dd 0x02fe02fc
+dd 0x030002fe
+dd 0x03020300
+dd 0x03040302
+dd 0x03060304
+dd 0x03080306
+dd 0x030a0308
+dd 0x030c030a
+dd 0x030e030c
+dd 0x0310030e
+dd 0x03120310
+dd 0x03140312
+dd 0x03160314
+dd 0x03180316
+dd 0x031a0318
+dd 0x031c031a
+dd 0x031e031c
+dd 0x0320031e
+dd 0x03220320
+dd 0x03240322
+dd 0x03260324
+dd 0x03280326
+dd 0x032a0328
+dd 0x032c032a
+dd 0x032e032c
+dd 0x0330032e
+dd 0x03320330
+dd 0x03340332
+dd 0x03360334
+dd 0x03380336
+dd 0x033a0338
+dd 0x033c033a
+dd 0x033e033c
+dd 0x0340033e
+dd 0x03420340
+dd 0x03440342
+dd 0x03460344
+dd 0x03480346
+dd 0x034a0348
+dd 0x034c034a
+dd 0x034e034c
+dd 0x0350034e
+dd 0x03520350
+dd 0x03540352
+dd 0x03560354
+dd 0x03580356
+dd 0x035a0358
+dd 0x035c035a
+dd 0x035e035c
+dd 0x0360035e
+dd 0x03620360
+dd 0x03640362
+dd 0x03660364
+dd 0x03680366
+dd 0x036a0368
+dd 0x036c036a
+dd 0x036e036c
+dd 0x0370036e
+dd 0x03720370
+dd 0x03740372
+dd 0x03760374
+dd 0x03780376
+dd 0x037a0378
+dd 0x037c037a
+dd 0x037e037c
+dd 0x0380037e
+dd 0x03820380
+dd 0x03840382
+dd 0x03860384
+dd 0x03880386
+dd 0x038a0388
+dd 0x038c038a
+dd 0x038e038c
+dd 0x0390038e
+dd 0x03920390
+dd 0x03940392
+dd 0x03960394
+dd 0x03980396
+dd 0x039a0398
+dd 0x039c039a
+dd 0x039e039c
+dd 0x03a0039e
+dd 0x03a203a0
+dd 0x03a403a2
+dd 0x03a603a4
+dd 0x03a803a6
+dd 0x03aa03a8
+dd 0x03ac03aa
+dd 0x03ae03ac
+dd 0x03b003ae
+dd 0x03b203b0
+dd 0x03b403b2
+dd 0x03b603b4
+dd 0x03b803b6
+dd 0x03ba03b8
+dd 0x03bc03ba
+dd 0x03be03bc
+dd 0x03c003be
+dd 0x03c203c0
+dd 0x03c403c2
+dd 0x03c603c4
+dd 0x03c803c6
+dd 0x03ca03c8
+dd 0x03cc03ca
+dd 0x03ce03cc
+dd 0x03d003ce
+dd 0x03d203d0
+dd 0x03d403d2
+dd 0x03d603d4
+dd 0x03d803d6
+dd 0x03da03d8
+dd 0x03dc03da
+dd 0x03de03dc
+dd 0x03e003de
+dd 0x03e203e0
+dd 0x03e403e2
+dd 0x03e603e4
+dd 0x03e803e6
+dd 0x03ea03e8
+dd 0x03ec03ea
+dd 0x03ee03ec
+dd 0x03f003ee
+dd 0x03f203f0
+dd 0x03f403f2
+dd 0x03f603f4
+dd 0x03f803f6
+dd 0x03fa03f8
+dd 0x03fc03fa
+dd 0x03fe03fc
+dd 0x040003fe
+dd 0x04020400
+dd 0x04040402
+dd 0x04060404
+dd 0x04080406
+dd 0x040a0408
+dd 0x040c040a
+dd 0x040e040c
+dd 0x0410040e
+dd 0x04120410
+dd 0x04140412
+dd 0x04160414
+dd 0x04180416
+dd 0x041a0418
+dd 0x041c041a
+dd 0x041e041c
+dd 0x0420041e
+dd 0x04220420
+dd 0x04240422
+dd 0x04260424
+dd 0x04280426
+dd 0x042a0428
+dd 0x042c042a
+dd 0x042e042c
+dd 0x0430042e
+dd 0x04320430
+dd 0x04340432
+dd 0x04360434
+dd 0x04380436
+dd 0x043a0438
+dd 0x043c043a
+dd 0x043e043c
+dd 0x0440043e
+dd 0x04420440
+dd 0x04440442
+dd 0x04460444
+dd 0x04480446
+dd 0x044a0448
+dd 0x044c044a
+dd 0x044e044c
+dd 0x0450044e
+dd 0x04520450
+dd 0x04540452
+dd 0x04560454
+dd 0x04580456
+dd 0x045a0458
+dd 0x045c045a
+dd 0x045e045c
+dd 0x0460045e
+dd 0x04620460
+dd 0x04640462
+dd 0x04660464
+dd 0x04680466
+dd 0x046a0468
+dd 0x046c046a
+dd 0x046e046c
+dd 0x0470046e
+dd 0x04720470
+dd 0x04740472
+dd 0x04760474
+dd 0x04780476
+dd 0x047a0478
+dd 0x047c047a
+dd 0x047e047c
+dd 0x0480047e
+dd 0x04820480
+dd 0x04840482
+dd 0x04860484
+dd 0x04880486
+dd 0x048a0488
+dd 0x048c048a
+dd 0x048e048c
+dd 0x0490048e
+dd 0x04920490
+dd 0x04940492
+dd 0x04960494
+dd 0x04980496
+dd 0x049a0498
+dd 0x049c049a
+dd 0x049e049c
+dd 0x04a0049e
+dd 0x04a204a0
+dd 0x04a404a2
+dd 0x04a604a4
+dd 0x04a804a6
+dd 0x04aa04a8
+dd 0x04ac04aa
+dd 0x04ae04ac
+dd 0x04b004ae
+dd 0x04b204b0
+dd 0x04b404b2
+dd 0x04b604b4
+dd 0x04b804b6
+dd 0x04ba04b8
+dd 0x04bc04ba
+dd 0x04be04bc
+dd 0x04c004be
+dd 0x04c204c0
+dd 0x04c404c2
+dd 0x04c604c4
+dd 0x04c804c6
+dd 0x04ca04c8
+dd 0x04cc04ca
+dd 0x04ce04cc
+dd 0x04d004ce
+dd 0x04d204d0
+dd 0x04d404d2
+dd 0x04d604d4
+dd 0x04d804d6
+dd 0x04da04d8
+dd 0x04dc04da
+dd 0x04de04dc
+dd 0x04e004de
+dd 0x04e204e0
+dd 0x04e404e2
+dd 0x04e604e4
+dd 0x04e804e6
+dd 0x04ea04e8
+dd 0x04ec04ea
+dd 0x04ee04ec
+dd 0x04f004ee
+dd 0x04f204f0
+dd 0x04f404f2
+dd 0x04f604f4
+dd 0x04f804f6
+dd 0x04fa04f8
+dd 0x04fc04fa
+dd 0x04fe04fc
+dd 0x050004fe
+dd 0x00000500
+dd 0x00020000
+dd 0x00060004
+dd 0x000a0008
+dd 0x000e000c
+dd 0x00120010
+dd 0x00160014
+dd 0x001a0018
+dd 0x001e001c
+dd 0x00220020
+dd 0x00260024
+dd 0x002a0028
+dd 0x002e002c
+dd 0x00320030
+dd 0x00360034
+dd 0x003a0038
+dd 0x003e003c
+dd 0x00420040
+dd 0x00460044
+dd 0x004a0048
+dd 0x004e004c
+dd 0x00520050
+dd 0x00560054
+dd 0x005a0058
+dd 0x005e005c
+dd 0x00620060
+dd 0x00660064
+dd 0x006a0068
+dd 0x006e006c
+dd 0x00720070
+dd 0x00760074
+dd 0x007a0078
+dd 0x007e007c
+dd 0x00820080
+dd 0x00860084
+dd 0x008a0088
+dd 0x008e008c
+dd 0x00920090
+dd 0x00960094
+dd 0x009a0098
+dd 0x009e009c
+dd 0x00a200a0
+dd 0x00a600a4
+dd 0x00aa00a8
+dd 0x00ae00ac
+dd 0x00b200b0
+dd 0x00b600b4
+dd 0x00ba00b8
+dd 0x00be00bc
+dd 0x00c200c0
+dd 0x00c600c4
+dd 0x00ca00c8
+dd 0x00ce00cc
+dd 0x00d200d0
+dd 0x00d600d4
+dd 0x00da00d8
+dd 0x00de00dc
+dd 0x00e200e0
+dd 0x00e600e4
+dd 0x00ea00e8
+dd 0x00ee00ec
+dd 0x00f200f0
+dd 0x00f600f4
+dd 0x00fa00f8
+dd 0x00fe00fc
+dd 0x01020100
+dd 0x01060104
+dd 0x010a0108
+dd 0x010e010c
+dd 0x01120110
+dd 0x01160114
+dd 0x011a0118
+dd 0x011e011c
+dd 0x01220120
+dd 0x01260124
+dd 0x012a0128
+dd 0x012e012c
+dd 0x01320130
+dd 0x01360134
+dd 0x013a0138
+dd 0x013e013c
+dd 0x01420140
+dd 0x01460144
+dd 0x014a0148
+dd 0x014e014c
+dd 0x01520150
+dd 0x01560154
+dd 0x015a0158
+dd 0x015e015c
+dd 0x01620160
+dd 0x01660164
+dd 0x016a0168
+dd 0x016e016c
+dd 0x01720170
+dd 0x01760174
+dd 0x017a0178
+dd 0x017e017c
+dd 0x01820180
+dd 0x01860184
+dd 0x018a0188
+dd 0x018e018c
+dd 0x01920190
+dd 0x01960194
+dd 0x019a0198
+dd 0x019e019c
+dd 0x01a201a0
+dd 0x01a601a4
+dd 0x01aa01a8
+dd 0x01ae01ac
+dd 0x01b201b0
+dd 0x01b601b4
+dd 0x01ba01b8
+dd 0x01be01bc
+dd 0x01c201c0
+dd 0x01c601c4
+dd 0x01ca01c8
+dd 0x01ce01cc
+dd 0x01d201d0
+dd 0x01d601d4
+dd 0x01da01d8
+dd 0x01de01dc
+dd 0x01e201e0
+dd 0x01e601e4
+dd 0x01ea01e8
+dd 0x01ee01ec
+dd 0x01f201f0
+dd 0x01f601f4
+dd 0x01fa01f8
+dd 0x01fe01fc
+dd 0x02020200
+dd 0x02060204
+dd 0x020a0208
+dd 0x020e020c
+dd 0x02120210
+dd 0x02160214
+dd 0x021a0218
+dd 0x021e021c
+dd 0x02220220
+dd 0x02260224
+dd 0x022a0228
+dd 0x022e022c
+dd 0x02320230
+dd 0x02360234
+dd 0x023a0238
+dd 0x023e023c
+dd 0x02420240
+dd 0x02460244
+dd 0x024a0248
+dd 0x024e024c
+dd 0x02520250
+dd 0x02560254
+dd 0x025a0258
+dd 0x025e025c
+dd 0x02620260
+dd 0x02660264
+dd 0x026a0268
+dd 0x026e026c
+dd 0x02720270
+dd 0x02760274
+dd 0x027a0278
+dd 0x027e027c
+dd 0x00000280
+
+ref_004847bc:
+db 0x00
+db 0x00
+
+ref_004847be:
+db 0x00
+db 0x00
+
+ref_004847c0:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00484cbc:
+dd 0x00000000
+
+ref_00484cc0:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_004851c2:
+db 0x00
+db 0x00
+
+ref_004851c4:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_004856c4:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00485948: ; may contain a jump table
+dd fcn_0045523e
+dd fcn_0045525c
+dd fcn_0045527a
+dd fcn_00455299
+
+ref_00485958: ; may contain a jump table
+dd fcn_00455337
+dd fcn_0045536c
+dd fcn_0045536c
+dd fcn_004553a1
+
+ref_00485968: ; may contain a jump table
+dd fcn_00455442
+dd fcn_00455480
+dd fcn_00455480
+dd fcn_004554be
+
+ref_00485978: ; may contain a jump table
+dd fcn_004555eb
+dd fcn_00455628
+dd fcn_0045566e
+dd fcn_004556ab
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x01010101
+dd 0x01010101
+dd 0x01010101
+dd 0x01010101
+dd 0x00000000
+dd 0x00000000
+dd 0x01010101
+dd 0x01010101
+dd 0x01010101
+dd 0x01010101
+dd 0x02020202
+dd 0x02020202
+dd 0x00000000
+dd 0x01010000
+dd 0x01010101
+dd 0x01010101
+dd 0x02020202
+dd 0x02020202
+dd 0x03030202
+dd 0x03030303
+dd 0x00000000
+dd 0x01010101
+dd 0x01010101
+dd 0x02020202
+dd 0x02020202
+dd 0x03030303
+dd 0x03030303
+dd 0x04040404
+dd 0x00000000
+dd 0x01010101
+dd 0x02020101
+dd 0x02020202
+dd 0x03030303
+dd 0x04040303
+dd 0x04040404
+dd 0x05050505
+dd 0x01000000
+dd 0x01010101
+dd 0x02020202
+dd 0x03030302
+dd 0x04030303
+dd 0x04040404
+dd 0x05050505
+dd 0x06060605
+dd 0x01000000
+dd 0x02010101
+dd 0x02020202
+dd 0x03030303
+dd 0x04040404
+dd 0x05050505
+dd 0x06060605
+dd 0x07070706
+dd 0x01010000
+dd 0x02020101
+dd 0x03030202
+dd 0x04040303
+dd 0x05050404
+dd 0x06060505
+dd 0x07070606
+dd 0x08080707
+dd 0x01010000
+dd 0x02020101
+dd 0x03030302
+dd 0x04040403
+dd 0x06050505
+dd 0x07060606
+dd 0x08080707
+dd 0x09090808
+dd 0x01010000
+dd 0x02020201
+dd 0x04030303
+dd 0x05050404
+dd 0x06060505
+dd 0x07070706
+dd 0x09080808
+dd 0x0a0a0909
+dd 0x01010000
+dd 0x02020201
+dd 0x04040303
+dd 0x05050504
+dd 0x07060606
+dd 0x08080707
+dd 0x0a090909
+dd 0x0b0b0a0a
+dd 0x01010000
+dd 0x03020202
+dd 0x04040303
+dd 0x06050505
+dd 0x07070706
+dd 0x09090808
+dd 0x0a0a0a09
+dd 0x0c0c0b0b
+dd 0x01010000
+dd 0x03030202
+dd 0x05040403
+dd 0x06060505
+dd 0x08080707
+dd 0x0a090908
+dd 0x0b0b0a0a
+dd 0x0d0d0c0c
+dd 0x01010000
+dd 0x03030202
+dd 0x05050404
+dd 0x07060605
+dd 0x09080807
+dd 0x0a0a0909
+dd 0x0c0c0b0b
+dd 0x0e0e0d0d
+dd 0x01010000
+dd 0x03030202
+dd 0x05050404
+dd 0x07070606
+dd 0x09090808
+dd 0x0b0b0a0a
+dd 0x0d0d0c0c
+dd 0x0f0f0e0e
+dd 0x02010100
+dd 0x04030302
+dd 0x06050504
+dd 0x08070706
+dd 0x0a090908
+dd 0x0c0b0b0a
+dd 0x0e0d0d0c
+dd 0x100f0f0e
+dd 0x02010100
+dd 0x04030302
+dd 0x06050504
+dd 0x08080707
+dd 0x0a0a0909
+dd 0x0d0c0c0b
+dd 0x0f0e0e0d
+dd 0x1110100f
+dd 0x02010100
+dd 0x04030302
+dd 0x06060505
+dd 0x09080807
+dd 0x0b0a0a09
+dd 0x0d0d0c0c
+dd 0x100f0f0e
+dd 0x12111110
+dd 0x02010100
+dd 0x04040302
+dd 0x07060605
+dd 0x09090807
+dd 0x0c0b0a0a
+dd 0x0e0d0d0c
+dd 0x11100f0f
+dd 0x13121211
+dd 0x02010100
+dd 0x05040303
+dd 0x07060605
+dd 0x0a090808
+dd 0x0c0c0b0a
+dd 0x0f0e0e0d
+dd 0x1111100f
+dd 0x14131312
+dd 0x02010100
+dd 0x05040303
+dd 0x07070605
+dd 0x0a090908
+dd 0x0d0c0c0b
+dd 0x100f0e0e
+dd 0x12121110
+dd 0x15141413
+dd 0x02010100
+dd 0x05040403
+dd 0x08070606
+dd 0x0b0a0909
+dd 0x0d0d0c0b
+dd 0x10100f0e
+dd 0x13121211
+dd 0x16151514
+dd 0x02010100
+dd 0x05040403
+dd 0x08070706
+dd 0x0b0a0a09
+dd 0x0e0d0d0c
+dd 0x1110100f
+dd 0x14131312
+dd 0x17161615
+dd 0x02020100
+dd 0x05050403
+dd 0x09080706
+dd 0x0c0b0a09
+dd 0x0f0e0d0c
+dd 0x1211100f
+dd 0x15141313
+dd 0x18171616
+dd 0x02020100
+dd 0x06050403
+dd 0x09080706
+dd 0x0c0b0a0a
+dd 0x0f0f0e0d
+dd 0x13121110
+dd 0x16151413
+dd 0x19181717
+dd 0x03020100
+dd 0x06050403
+dd 0x09080807
+dd 0x0d0c0b0a
+dd 0x100f0e0d
+dd 0x13121211
+dd 0x17161514
+dd 0x1a191817
+dd 0x03020100
+dd 0x06050403
+dd 0x0a090807
+dd 0x0d0c0b0a
+dd 0x11100f0e
+dd 0x14131211
+dd 0x18171615
+dd 0x1b1a1918
+dd 0x03020100
+dd 0x06050504
+dd 0x0a090807
+dd 0x0e0d0c0b
+dd 0x11100f0e
+dd 0x15141312
+dd 0x18171716
+dd 0x1c1b1a19
+dd 0x03020100
+dd 0x07060504
+dd 0x0a090807
+dd 0x0e0d0c0b
+dd 0x1211100f
+dd 0x16151413
+dd 0x19181716
+dd 0x1d1c1b1a
+dd 0x03020100
+dd 0x07060504
+dd 0x0b0a0908
+dd 0x0f0e0d0c
+dd 0x1211100f
+dd 0x16151413
+dd 0x1a191817
+dd 0x1e1d1c1b
+
+ref_00485d68:
+dd 0x03020100
+dd 0x07060504
+dd 0x0b0a0908
+dd 0x0f0e0d0c
+dd 0x13121110
+dd 0x17161514
+dd 0x1b1a1918
+dd 0x1f1e1d1c
+dd 0x04030201
+dd 0x08070605
+dd 0x0c0b0a09
+dd 0x100f0e0d
+dd 0x13121110
+dd 0x17161514
+dd 0x1b1a1918
+dd 0x1f1e1d1c
+dd 0x05040302
+dd 0x09080706
+dd 0x0c0b0a09
+dd 0x100f0e0d
+dd 0x14131211
+dd 0x18171615
+dd 0x1b1a1918
+dd 0x1f1e1d1c
+dd 0x06050403
+dd 0x09080807
+dd 0x0d0c0b0a
+dd 0x11100f0e
+dd 0x14131211
+dd 0x18171615
+dd 0x1b1a1a19
+dd 0x1f1e1d1c
+dd 0x07060504
+dd 0x0a090807
+dd 0x0e0d0c0b
+dd 0x11100f0e
+dd 0x15141312
+dd 0x18171615
+dd 0x1c1b1a19
+dd 0x1f1e1d1c
+dd 0x08070605
+dd 0x0b0a0908
+dd 0x0e0d0d0c
+dd 0x1211100f
+dd 0x15141312
+dd 0x18171716
+dd 0x1c1b1a19
+dd 0x1f1e1d1c
+dd 0x08080706
+dd 0x0c0b0a09
+dd 0x0f0e0d0c
+dd 0x12111010
+dd 0x15151413
+dd 0x19181716
+dd 0x1c1b1a19
+dd 0x1f1e1d1d
+dd 0x09090807
+dd 0x0c0c0b0a
+dd 0x100f0e0d
+dd 0x13121110
+dd 0x16151413
+dd 0x19181716
+dd 0x1c1b1a1a
+dd 0x1f1e1d1d
+dd 0x0a090908
+dd 0x0d0c0c0b
+dd 0x100f0f0e
+dd 0x13121211
+dd 0x16151514
+dd 0x19181817
+dd 0x1c1b1b1a
+dd 0x1f1e1e1d
+dd 0x0b0a0a09
+dd 0x0e0d0d0c
+dd 0x11100f0f
+dd 0x14131212
+dd 0x16161514
+dd 0x19191817
+dd 0x1c1b1b1a
+dd 0x1f1e1e1d
+dd 0x0c0b0b0a
+dd 0x0f0e0d0d
+dd 0x1111100f
+dd 0x14131312
+dd 0x17161615
+dd 0x1a191818
+dd 0x1c1c1b1a
+dd 0x1f1e1e1d
+dd 0x0d0c0c0b
+dd 0x100f0e0e
+dd 0x12111110
+dd 0x15141313
+dd 0x17171615
+dd 0x1a191918
+dd 0x1c1c1b1a
+dd 0x1f1e1e1d
+dd 0x0e0d0d0c
+dd 0x10100f0e
+dd 0x13121211
+dd 0x15151413
+dd 0x18171616
+dd 0x1a191918
+dd 0x1d1c1b1b
+dd 0x1f1e1e1d
+dd 0x0f0e0e0d
+dd 0x1110100f
+dd 0x13131212
+dd 0x16151514
+dd 0x18171716
+dd 0x1a1a1919
+dd 0x1d1c1c1b
+dd 0x1f1e1e1d
+dd 0x100f0f0e
+dd 0x12111110
+dd 0x14131312
+dd 0x16161515
+dd 0x18181717
+dd 0x1b1a1a19
+dd 0x1d1c1c1b
+dd 0x1f1e1e1d
+dd 0x1110100f
+dd 0x13121211
+dd 0x15141413
+dd 0x17161615
+dd 0x19181817
+dd 0x1b1a1a19
+dd 0x1d1c1c1b
+dd 0x1f1e1e1d
+dd 0x11111010
+dd 0x13131212
+dd 0x15151414
+dd 0x17171616
+dd 0x19191818
+dd 0x1b1b1a1a
+dd 0x1d1d1c1c
+dd 0x1f1f1e1e
+dd 0x12121111
+dd 0x14141313
+dd 0x16161515
+dd 0x18171716
+dd 0x1a191918
+dd 0x1b1b1a1a
+dd 0x1d1d1c1c
+dd 0x1f1f1e1e
+dd 0x13131212
+dd 0x15151414
+dd 0x17161615
+dd 0x18181717
+dd 0x1a1a1919
+dd 0x1c1b1b1a
+dd 0x1d1d1c1c
+dd 0x1f1f1e1e
+dd 0x14141313
+dd 0x16151515
+dd 0x17171616
+dd 0x19181818
+dd 0x1a1a1a19
+dd 0x1c1c1b1b
+dd 0x1d1d1d1c
+dd 0x1f1f1e1e
+dd 0x15151414
+dd 0x16161615
+dd 0x18181717
+dd 0x19191918
+dd 0x1b1a1a1a
+dd 0x1c1c1b1b
+dd 0x1e1d1d1d
+dd 0x1f1f1e1e
+dd 0x16161515
+dd 0x17171716
+dd 0x19181818
+dd 0x1a1a1919
+dd 0x1b1b1a1a
+dd 0x1c1c1c1b
+dd 0x1e1d1d1d
+dd 0x1f1f1e1e
+dd 0x17171616
+dd 0x18181717
+dd 0x19191918
+dd 0x1a1a1a19
+dd 0x1c1b1b1b
+dd 0x1d1c1c1c
+dd 0x1e1e1d1d
+dd 0x1f1f1e1e
+dd 0x18181717
+dd 0x19191818
+dd 0x1a1a1919
+dd 0x1b1b1a1a
+dd 0x1c1c1b1b
+dd 0x1d1d1c1c
+dd 0x1e1e1d1d
+dd 0x1f1f1e1e
+dd 0x19181818
+dd 0x1a191919
+dd 0x1a1a1a1a
+dd 0x1b1b1b1b
+dd 0x1c1c1c1c
+dd 0x1d1d1d1d
+dd 0x1e1e1e1d
+dd 0x1f1f1f1e
+dd 0x1a191919
+dd 0x1a1a1a1a
+dd 0x1b1b1b1b
+dd 0x1c1c1c1b
+dd 0x1d1c1c1c
+dd 0x1d1d1d1d
+dd 0x1e1e1e1e
+dd 0x1f1f1f1e
+dd 0x1a1a1a1a
+dd 0x1b1b1b1b
+dd 0x1c1c1b1b
+dd 0x1c1c1c1c
+dd 0x1d1d1d1d
+dd 0x1e1e1d1d
+dd 0x1e1e1e1e
+dd 0x1f1f1f1f
+dd 0x1b1b1b1b
+dd 0x1c1c1c1c
+dd 0x1c1c1c1c
+dd 0x1d1d1d1d
+dd 0x1d1d1d1d
+dd 0x1e1e1e1e
+dd 0x1e1e1e1e
+dd 0x1f1f1f1f
+dd 0x1c1c1c1c
+dd 0x1d1d1c1c
+dd 0x1d1d1d1d
+dd 0x1d1d1d1d
+dd 0x1e1e1e1e
+dd 0x1e1e1e1e
+dd 0x1f1f1e1e
+dd 0x1f1f1f1f
+dd 0x1d1d1d1d
+dd 0x1d1d1d1d
+dd 0x1e1e1e1e
+dd 0x1e1e1e1e
+dd 0x1e1e1e1e
+dd 0x1e1e1e1e
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1e1e1e1e
+dd 0x1e1e1e1e
+dd 0x1e1e1e1e
+dd 0x1e1e1e1e
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+dd 0x1f1f1f1f
+
+ref_00486168:
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x04050607
+dd 0x00010203
+
+ref_00486188:
+dd 0xf8007c00
+dd 0x0f00003f
+
+ref_00486190:
+dd 0x003f003f
+dd 0x000ff800
+
+ref_00486198:
+dd 0x00000000
+dd 0x1c180c04
+dd 0x14181c1e
+dd 0x0a0c0e10
+dd 0x06070809
+dd 0x02030405
+dd 0x00000001
+dd 0x00000000
+
+ref_004861b8:
+dd 0x00000000
+
+ref_004861bc:
+dd 0x00000028
+
+ref_004861c0:
+dd 0x000001b8
+
+ref_004861c4:
+dd 0x000001e0
+
+ref_004861c8:
+dd 0x00000000
+
+ref_004861cc:
+dd 0x00000000
+
+ref_004861d0:
+dd 0x00000000
+
+ref_004861d4:
+dd 0x00000000
+
+ref_004861d8:
+dd 0x00000000
+
+ref_004861dc:
+dd 0x00000000
+
+ref_004861e0:
+dd 0x00000000
+
+ref_004861e4:
+dd 0x00000000
+
+ref_004861e8:
+dd 0x00000000
+
+ref_004861ec:
+dd 0x00000000
+
+ref_004861f0:
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+dd 0x7fff0000
+
+ref_00486970:
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+dd 0x80000000
+
+ref_004870f0:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00487870:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00487ff0:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00488770:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00488ef0:
+dd 0xf8007c00
+dd 0x0f00003f
+dd 0x003f003f
+dd 0x000ff800
+
+ref_00488f00:
+dd 0x00000000
+
+ref_00488f04:
+dd 0x00000000
+
+ref_00488f08:
+dd 0x00000000
+
+ref_00488f0c:
+db '0123456789abcdefghijklmnopqrstuvwxyz',0x00,0x00,0x00,0x00
+
+ref_00488f34:
+db 0x00
+
+ref_00488f35:
+db 0x00
+db 0x00
+db 0x00
+dd 0x00000000
+
+ref_00488f3c:
+dd 0x2168c235
+dd 0xc90fdaa2
+dd 0x00004001
+
+ref_00488f48:
+dd 0xffffffff
+
+ref_00488f4c: ; may contain a jump table
+dd fcn_004585cd
+
+ref_00488f50: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f54: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f58: ; may contain a jump table
+dd fcn_004585d3
+
+ref_00488f5c: ; may contain a jump table
+dd fcn_004585e1
+
+ref_00488f60: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f64: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f68: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f6c:
+dd fcn_004585d2
+
+ref_00488f70: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f74:
+dd fcn_004585d2
+
+ref_00488f78: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f7c: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f80: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f84: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f88: ; may contain a jump table
+dd fcn_004585d2
+
+ref_00488f8c: ; may contain a jump table
+dd fcn_004585ee
+
+ref_00488f90: ; may contain a jump table
+dd fcn_004585ee
+
+ref_00488f94: ; may contain a jump table
+dd 0x00000000
+
+ref_00488f98:
+dd 0x00000000
+
+ref_00488f9c:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000001
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00020000
+dd 0x00010000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+db 0x02
+
+ref_00488fdd:
+db 0x00
+db 0x00
+db 0x00
+dd 0x00000002
+dd 0x00000000
+db 0x00
+db 0x00
+
+ref_00488fea:
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_004891a4:
+db 0x61
+
+ref_004891a5:
+db 0x00
+db 0x01
+db 0x00
+dd 0x00000000
+
+ref_004891ac: ; may contain a jump table
+dd 0x00000000
+
+ref_004891b0: ; may contain a jump table
+dd 0x00000000
+
+ref_004891b4: ; may contain a jump table
+dd 0x00000000
+
+ref_004891b8: ; may contain a jump table
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_004891d4: ; may contain a jump table
+dd 0x00000000
+
+ref_004891d8: ; may contain a jump table
+dd 0x00000000
+dd 0x00000000
+
+ref_004891e0: ; may contain a jump table
+dd 0x00000000
+dd 0x00000000
+
+ref_004891e8: ; may contain a jump table
+dd 0x00000000
+
+ref_004891ec: ; may contain a jump table
+dd 0x00000000
+
+ref_004891f0:
+dd ref_0046c418
+dd ref_0046c41c
+dd ref_0046c421
+dd ref_0046c428
+dd ref_0046c430
+
+ref_00489204:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_0048930c:
+dd 0x00000000
+
+ref_00489310:
+dd 0x00000000
+
+ref_00489314:
+dd 0x00000000
+
+ref_00489318:
+dd 0x00000000
+
+ref_0048931c:
+dd 0x00000000
+
+ref_00489320:
+dd 0x00000000
+
+ref_00489324:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00489330:
+dd 0x00000000
+
+ref_00489334:
+dd 0x00000000
+
+ref_00489338:
+dd 0x00000000
+
+ref_0048933c:
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00489348:
+dd 0x00000000
+db 0x00
+
+ref_0048934d:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_00489353:
+db 0x00
+
+ref_00489354:
+db 0x00
+
+ref_00489355:
+db 0x00
+db 0x00
+
+ref_00489357:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0048935b:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_0048935f:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_00489363:
+db 0x00
+db 0x00
+db 0x00
+db 0x00
+
+ref_00489367: ; may contain a jump table
+dd fcn_00459c50
+db 0x00
+
+ref_0048936c:
+dd 0x00000000
+
+ref_00489370:
+dd 0x01010100
+dd 0x01010101
+dd 0x03030101
+dd 0x01030303
+dd 0x01010101
+dd 0x01010101
+dd 0x01010101
+dd 0x01010101
+dd 0x0c0c0a01
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x3838380c
+dd 0x38383838
+dd 0x0c383838
+dd 0x0c0c0c0c
+dd 0x58580c0c
+dd 0x58585858
+dd 0x48484848
+dd 0x48484848
+dd 0x48484848
+dd 0x48484848
+dd 0x48484848
+dd 0x0c0c0c0c
+dd 0x98980c0c
+dd 0x98989898
+dd 0x88888888
+dd 0x88888888
+dd 0x88888888
+dd 0x88888888
+dd 0x88888888
+dd 0x0c0c0c0c
+dd 0x00000001
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_00489474:
+dd 0x00000000
+
+ref_00489478:
+dd 0x00000000
+
+ref_0048947c:
+dd 0x80000000
+
+ref_00489480:
+dd fcn_0045a037
+
+ref_00489484:
+dd fcn_0045a037
+
+ref_00489488: ; may contain a jump table
+dd fcn_0045a037
+
+ref_0048948c: ; may contain a jump table
+dd 0x00000000
+
+ref_00489490: ; may contain a jump table
+dd 0x00000000
+
+ref_00489494:
+db '0123456789abcdef',0x00,0x00,0x00,0x00
+
+ref_004894a8:
+dd 0x00000001
+
+ref_004894ac:
+dd 0x00010000
+
+ref_004894b0:
+dd 0x000000f4
+
+ref_004894b4:
+db 'Stack Overflow!',0x0d,0x0a,0x00,0x00,0x00
+
+ref_004894c8: ; may contain a jump table
+dd fcn_0045ae22
+
+ref_004894cc: ; may contain a jump table
+dd fcn_0045ae22
+
+ref_004894d0:
+db 0x00
+
+ref_004894d1:
+db 0x00
+db 0x00
+db 0x00
+dd 0x01010900
+dd 0x0504060b
+dd 0x03020505
+dd 0x0907ffff
+dd 0xff010806
+
+ref_004894e8:
+dd 0x00000014
+
+ref_004894ec:
+dd 0x00000001
+dd 0x00000002
+dd 0x00000002
+dd 0x00000003
+dd 0x00000002
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+ref_0048953c:
+dd ref_004894ec
+
+ref_00489540:
+dd ref_0045c259
+
+ref_00489544:
+dd ref_0045c259
+
+ref_00489548:
+dd 0x0000127f
+dd ref_0046c8ec
+dd ref_0046c8f1
+dd ref_0046c8f6
+dd ref_0046c8fb
+dd ref_0046c8ff
+dd ref_0046c904
+dd ref_0046c909
+dd ref_0046c90d
+dd ref_0046c913
+dd ref_0046c918
+dd ref_0046c91c
+dd ref_0046c922
+dd ref_0046c928
+dd ref_0046c92e
+dd ref_0046c933
+dd ref_0046c939
+dd ref_0046c93d
+dd ref_0046c941
+dd ref_0046c945
+dd ref_0046c948
+dd ref_0046c94b
+dd ref_0046c94e
+dd ref_0046c952
+
+ref_004895a8: ; may contain a jump table
+dd fcn_0045c4fb
+
+ref_004895ac:
+dd fcn_0045c4fb
+
+ref_004895b0:
+dd 0xffffffff
+
+ref_004895b4:
+dd 0xffffffff
+
+ref_004895b8:
+dd 0x00000001
+
+ref_004895bc:
+dd 0xffffffff
+dd 0x00000002
+dd 0xffffffff
+dd 0x00000001
+dd 0xffffffff
+dd 0x00000002
+dd 0xc000001d
+dd 0x00000002
+dd 0xc000013a
+dd 0x00000002
+dd 0xc0000005
+dd 0x00000002
+dd 0xc000013a
+dd 0x00000002
+dd 0xc000013a
+dd 0x00000001
+dd 0xffffffff
+dd 0x00000001
+dd 0xffffffff
+dd 0x00000001
+dd 0xffffffff
+dd 0x00000002
+dd 0xc0000094
+dd 0x00000001
+dd 0xc0000095
+
+ref_00489620:
+dd 0x00000000
+
+ref_00489624:
+db '0123456789abcdefghijklmnopqrstuvwxyz',0x00,0x00,0x00,0x00
+
+ref_0048964c:
+db '0123456789abcdefghijklmnopqrstuvwxyz',0x00,0x00,0x00,0x00
+
+ref_00489674:
+dd 0x00000000
+
+ref_00489678:
+dd 0x00000000
+dd ref_0046ca04
+dd ref_0046ca11
+dd ref_0046ca26
+dd ref_0046ca3b
+dd ref_0046ca51
+dd ref_0046ca6c
+
+ref_00489694: ; may contain a jump table
+dd fcn_0045edec
+
+ref_00489698:
+dd 0x00000000
+dd 0xa0000000
+dd 0x00004002
+dd 0x00000000
+dd 0x4005c800
+dd 0x00000000
+dd 0x9c400000
+dd 0x0000400c
+dd 0x20000000
+dd 0x4019bebc
+dd 0x04000000
+dd 0x8e1bc9bf
+dd 0xb59e4034
+dd 0xada82b70
+dd 0x40699dc5
+dd 0xffcfa6d5
+dd 0xc2781f49
+dd 0x8ce040d3
+dd 0x47c980e9
+dd 0x41a893ba
+dd 0x9df9de8e
+dd 0xaa7eebfb
+dd 0x91c74351
+dd 0xa0aea60e
+dd 0x46a3e319
+dd 0x81750c17
+dd 0xc9767586
+dd 0x5de54d48
+dd 0x3b5dc53d
+dd 0x5a929e8b
+dd 0x8a20979b
+dd 0xc4605202
+dd 0x00007525
+dd 0x00000000
+dd 0x7fff8000
+
+ref_00489724:
+dd 0x00000000
+
+ref_00489728:
+dd fcn_0045f7e8
+
+ref_0048972c: ; may contain a jump table
+dd fcn_0045f8cf
+
+ref_00489730: ; may contain a jump table
+dd fcn_0045e89e
+
+ref_00489734:
+dd fcn_0045ea68
+
+ref_00489738:
+dd 0x00000001
+dd 0x7fffffff
+dd 0x55555555
+dd 0x3fffffff
+dd 0x33333333
+dd 0x2aaaaaaa
+dd 0x24924924
+dd 0x1fffffff
+dd 0x1c71c71c
+dd 0x19999999
+dd 0x1745d174
+dd 0x15555555
+dd 0x13b13b13
+dd 0x12492492
+dd 0x11111111
+dd 0x0fffffff
+dd 0x0f0f0f0f
+dd 0x0e38e38e
+dd 0x0d79435e
+dd 0x0ccccccc
+dd 0x0c30c30c
+dd 0x0ba2e8ba
+dd 0x0b21642c
+dd 0x0aaaaaaa
+dd 0x0a3d70a3
+dd 0x09d89d89
+dd 0x097b425e
+dd 0x09249249
+dd 0x08d3dcb0
+dd 0x08888888
+dd 0x08421084
+dd 0x07ffffff
+dd 0x07c1f07c
+dd 0x07878787
+dd 0x07507507
+dd 0x071c71c7
+db 0x00
+
+ref_004897c9:
+db 0x00
+db 0x00
+db 0x00
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x08080800
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x08080808
+dd 0x0c0c0800
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0a0a080c
+dd 0x090a0a0a
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x09090909
+dd 0x0c0c0c09
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x0c0c0c0c
+dd 0x00000c0c
+db 0x00
+db 0x00
+
+ref_004898ca:
+db 0x00
+db 0x01
+dd fcn_00457dda
+db 0x00
+db 0x02
+dd fcn_00459c0c
+db 0x00
+db 0x20
+dd fcn_00459ce1
+db 0x00
+db 0x20
+dd fcn_0045bc21
+db 0x00
+db 0x20
+dd fcn_0045c914
+db 0x00
+db 0x20
+dd fcn_0045adb0
+db 0x00
+db 0x03
+dd fcn_0045c50b
+db 0x00
+db 0x20
+dd fcn_0045ce17
+db 0x00
+db 0x20
+dd fcn_0045d00b
+
+ref_00489900:
+db 0x00
+db 0x01
+dd fcn_00457ddb
+db 0x00
+db 0x20
+dd fcn_0045bcb1
+db 0x00
+db 0x0a
+dd fcn_0045a4c0
+
+ref_00489912:
+db 0x00
+db 0x00
+
+ref_00489914:
+dd 0x00000100
+dd 0x07000004
+dd 0x000a0000
+dd 0x00000d00
+dd 0x00000000
+dd 0x3fee0000
+
+ref_0048992c:
+dd 0x00000000
+dd 0x43f00000
+
+ref_00489934:
+dd 0x00000000
+dd 0x3bf00000
+dd 0x00000000
+dd 0x3ff00000
+
+ref_00489944:
+dd 0x00000000
+dd 0x3fe00000
+
+ref_0048994c:
+dd 0x00000000
+dd 0xffff0000
+dd 0x00007ffe
+
+ref_00489958:
+dd 0x00000100
+dd 0x07000004
+dd 0x000a0000
+dd 0x00000d00
+
+ref_00489968:
+dd 0x3f700000
+
+ref_0048996c:
+dd 0x5f000000
+
+ref_00489970:
+dd 0x00000100
+dd 0x07000004
+dd 0x000a0000
+dd 0x00000d00
+
+ref_00489980:
+dd 0x3f700000
+
+ref_00489984:
+dd 0x3f880000
+
+ref_00489988:
+dd 0x5f000000
+
+ref_0048998c: ; may contain a jump table
+dd loc_0045f13d
+dd loc_0045f143
+dd loc_0045f148
+dd loc_0045f14e
+dd loc_0045f153
+dd loc_0045f159
+dd loc_0045f15f
+dd loc_0045f165
+dd loc_0045f16b
+dd loc_0045f187
+dd loc_0045f18c
+dd loc_0045f1a2
+dd loc_0045f1a7
+dd loc_0045f1c3
+dd loc_0045f1d3
+dd loc_0045f1e7
+dd loc_0045f1f7
+dd loc_0045f217
+dd loc_0045f21c
+dd loc_0045f236
+dd loc_0045f23b
+dd loc_0045f25b
+dd loc_0045f26f
+dd loc_0045f287
+dd loc_0045f29b
+dd loc_0045f2bb
+dd loc_0045f2c0
+dd loc_0045f2da
+dd loc_0045f2df
+dd loc_0045f2ff
+dd loc_0045f313
+dd loc_0045f32b
+dd loc_0045f33f
+dd loc_0045f35f
+dd loc_0045f364
+dd loc_0045f37e
+dd loc_0045f383
+dd loc_0045f3a3
+dd loc_0045f3b7
+dd loc_0045f3cf
+dd loc_0045f3e3
+dd loc_0045f403
+dd loc_0045f408
+dd loc_0045f422
+dd loc_0045f427
+dd loc_0045f447
+dd loc_0045f45b
+dd loc_0045f473
+dd loc_0045f487
+dd loc_0045f4a7
+dd loc_0045f4ac
+dd loc_0045f4c6
+dd loc_0045f4cb
+dd loc_0045f4eb
+dd loc_0045f4ff
+dd loc_0045f517
+dd loc_0045f52b
+dd loc_0045f54b
+dd loc_0045f550
+dd loc_0045f56a
+dd loc_0045f56f
+dd loc_0045f58f
+dd loc_0045f5a3
+dd loc_0045f5bb
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+section .data
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+section .bss
+
+ref_0048a000:
+resb 16
+
+ref_0048a010:
+resb 64
+
+ref_0048a050:
+resb 4
+
+ref_0048a054:
+resb 4
+
+ref_0048a058:
+resb 4
+
+ref_0048a05c:
+resb 4
+
+ref_0048a060:
+resb 4
+
+ref_0048a064:
+resb 4
+
+ref_0048a068:
+resb 4
+
+ref_0048a06c:
+resb 4
+
+ref_0048a070:
+resb 4
+
+ref_0048a074:
+resb 4
+
+ref_0048a078:
+resb 20
+
+ref_0048a08c:
+resb 68
+
+ref_0048a0d0:
+resb 4
+
+ref_0048a0d4:
+resb 4
+
+ref_0048a0d8:
+resb 4
+
+ref_0048a0dc:
+resb 4
+
+ref_0048a0e0:
+resb 4
+
+ref_0048a0e4:
+resb 4
+
+ref_0048a0e8:
+resb 4
+
+ref_0048a0ec:
+resb 4
+
+ref_0048a0f0:
+resb 4
+
+ref_0048a0f4:
+resb 4
+
+ref_0048a0f8:
+resb 16
+
+ref_0048a108:
+resb 20
+
+ref_0048a11c:
+resb 72
+
+ref_0048a164:
+resb 4
+
+ref_0048a168:
+resb 4
+
+ref_0048a16c:
+resb 4
+
+ref_0048a170:
+resb 2
+
+ref_0048a172:
+resb 2
+
+ref_0048a174:
+resb 2
+
+ref_0048a176:
+resb 2
+
+ref_0048a178:
+resb 1
+
+ref_0048a179:
+resb 1
+
+ref_0048a17a:
+resb 6
+
+ref_0048a180:
+resb 4
+
+ref_0048a184:
+resb 4
+
+ref_0048a188:
+resb 19
+
+ref_0048a19b:
+resb 397
+
+ref_0048a328:
+resb 4
+
+ref_0048a32c:
+resb 4
+
+ref_0048a330:
+resb 4
+
+ref_0048a334:
+resb 4
+
+ref_0048a338:
+resb 4
+
+ref_0048a33c:
+resb 4
+
+ref_0048a340:
+resb 4
+
+ref_0048a344:
+resb 6
+
+ref_0048a34a:
+resb 4
+
+ref_0048a34e:
+resb 6
+
+ref_0048a354:
+resb 4
+
+ref_0048a358:
+resb 4
+
+ref_0048a35c:
+resb 3
+
+ref_0048a35f:
+resb 1
+
+ref_0048a360:
+resb 4
+
+ref_0048a364:
+resb 40
+
+ref_0048a38c:
+resb 4
+
+ref_0048a390:
+resb 4
+
+ref_0048a394:
+resb 4
+
+ref_0048a398:
+resb 4
+
+ref_0048a39c:
+resb 4
+
+ref_0048a3a0:
+resb 4
+
+ref_0048a3a4:
+resb 4
+
+ref_0048a3a8:
+resb 4
+
+ref_0048a3ac:
+resb 4
+
+ref_0048a3b0:
+resb 4
+
+ref_0048a3b4:
+resb 4
+
+ref_0048a3b8:
+resb 4
+
+ref_0048a3bc:
+resb 4
+
+ref_0048a3c0:
+resb 4
+
+ref_0048a3c4:
+resb 4
+
+ref_0048a3c8:
+resb 4
+
+ref_0048a3cc:
+resb 4
+
+ref_0048a3d0:
+resb 4
+
+ref_0048a3d4:
+resb 4
+
+ref_0048a3d8:
+resb 12
+
+ref_0048a3e4:
+resb 4
+
+ref_0048a3e8:
+resb 4
+
+ref_0048a3ec:
+resb 4
+
+ref_0048a3f0:
+resb 4
+
+ref_0048a3f4:
+resb 4
+
+ref_0048a3f8:
+resb 4
+
+ref_0048a3fc:
+resb 4
+
+ref_0048a400:
+resb 4
+
+ref_0048a404:
+resb 4
+
+ref_0048a408:
+resb 4
+
+ref_0048a40c:
+resb 1
+
+ref_0048a40d:
+resb 1
+
+ref_0048a40e:
+resb 1
+
+ref_0048a40f:
+resb 1
+
+ref_0048a410:
+resb 1
+
+ref_0048a411:
+resb 4
+
+ref_0048a415:
+resb 4
+
+ref_0048a419:
+resb 4
+
+ref_0048a41d:
+resb 4
+
+ref_0048a421:
+resb 4
+
+ref_0048a425:
+resb 4
+
+ref_0048a429:
+resb 4
+
+ref_0048a42d:
+resb 4
+
+ref_0048a431:
+resb 4
+
+ref_0048a435:
+resb 1
+
+ref_0048a436:
+resb 1
+
+ref_0048a437:
+resb 1
+
+ref_0048a438:
+resb 1
+
+ref_0048a439:
+resb 1
+
+ref_0048a43a:
+resb 1
+
+ref_0048a43b:
+resb 1
+
+ref_0048a43c:
+resb 4
+
+ref_0048a440:
+resb 4
+
+ref_0048a444:
+resb 4
+
+ref_0048a448:
+resb 4
+
+ref_0048a44c:
+resb 1024
+
+ref_0048a84c:
+resb 4
+
+ref_0048a850:
+resb 1
+
+ref_0048a851:
+resb 1
+
+ref_0048a852:
+resb 1
+
+ref_0048a853:
+resb 1
+
+ref_0048a854:
+resb 2
+
+ref_0048a856:
+resb 1522
+
+ref_0048ae48:
+resb 4
+
+ref_0048ae4c:
+resb 20
+
+ref_0048ae60:
+resb 4
+
+ref_0048ae64:
+resb 20
+
+ref_0048ae78:
+resb 24
+
+ref_0048ae90:
+resb 24
+
+ref_0048aea8:
+resb 1028
+
+ref_0048b2ac:
+resb 4
+
+ref_0048b2b0:
+resb 4
+
+ref_0048b2b4:
+resb 1024
+
+ref_0048b6b4:
+resb 512
+
+ref_0048b8b4:
+resb 16
+
+ref_0048b8c4:
+resb 512
+
+ref_0048bac4:
+resb 4
+
+ref_0048bac8:
+resb 4
+
+ref_0048bacc:
+resb 4
+
+ref_0048bad0:
+resb 4
+
+ref_0048bad4:
+resb 4
+
+ref_0048bad8:
+resb 4
+
+ref_0048badc:
+resb 4
+
+ref_0048bae0:
+resb 2
+
+ref_0048bae2:
+resb 2
+
+ref_0048bae4:
+resb 4
+
+ref_0048bae8:
+resb 4
+
+ref_0048baec:
+resb 4
+
+ref_0048baf0:
+resb 4
+
+ref_0048baf4:
+resb 4
+
+ref_0048baf8:
+resb 4
+
+ref_0048bafc:
+resb 4
+
+ref_0048bb00:
+resb 1
+
+ref_0048bb01:
+resb 7
+
+ref_0048bb08:
+resb 2
+
+ref_0048bb0a:
+resb 2
+
+ref_0048bb0c:
+resb 2
+
+ref_0048bb0e:
+resb 2
+
+ref_0048bb10:
+resb 1
+
+ref_0048bb11:
+resb 55
+
+ref_0048bb48:
+resb 1
+
+ref_0048bb49:
+resb 1
+
+ref_0048bb4a:
+resb 1
+
+ref_0048bb4b:
+resb 1
+
+ref_0048bb4c:
+resb 1
+
+ref_0048bb4d:
+resb 3
+
+ref_0048bb50:
+resb 8
+
+ref_0048bb58:
+resb 4
+
+ref_0048bb5c:
+resb 4
+
+ref_0048bb60:
+resb 4
+
+ref_0048bb64:
+resb 4
+
+ref_0048bb68:
+resb 4
+
+ref_0048bb6c:
+resb 4
+
+ref_0048bb70:
+resb 4
+
+ref_0048bb74:
+resb 4
+
+ref_0048bb78:
+resb 4
+
+ref_0048bb7c:
+resb 4
+
+ref_0048bb80:
+resb 4
+
+ref_0048bb84:
+resb 1
+
+ref_0048bb85:
+resb 1
+
+ref_0048bb86:
+resb 2
+
+ref_0048bb88:
+resb 4
+
+ref_0048bb8c:
+resb 2
+
+ref_0048bb8e:
+resb 4
+
+ref_0048bb92:
+resb 4
+
+ref_0048bb96:
+resb 4
+
+ref_0048bb9a:
+resb 4
+
+ref_0048bb9e:
+resb 4
+
+ref_0048bba2:
+resb 4
+
+ref_0048bba6:
+resb 4
+
+ref_0048bbaa:
+resb 2
+
+ref_0048bbac:
+resb 2
+
+ref_0048bbae:
+resb 6
+
+ref_0048bbb4:
+resb 4
+
+ref_0048bbb8:
+resb 4
+
+ref_0048bbbc:
+resb 4
+
+ref_0048bbc0:
+resb 4
+
+ref_0048bbc4:
+resb 2
+
+ref_0048bbc6:
+resb 2
+
+ref_0048bbc8:
+resb 2
+
+ref_0048bbca:
+resb 122
+
+ref_0048bc44:
+resb 2
+
+ref_0048bc46:
+resb 2
+
+ref_0048bc48:
+resb 124
+
+ref_0048bcc4:
+resb 1
+
+ref_0048bcc5:
+resb 3
+
+ref_0048bcc8:
+resb 4
+
+ref_0048bccc:
+resb 4
+
+ref_0048bcd0:
+resb 4
+
+ref_0048bcd4:
+resb 4
+
+ref_0048bcd8:
+resb 4
+
+ref_0048bcdc:
+resb 4
+
+ref_0048bce0:
+resb 4
+
+ref_0048bce4:
+resb 4
+
+ref_0048bce8:
+resb 4
+
+ref_0048bcec:
+resb 4
+
+ref_0048bcf0:
+resb 4
+
+ref_0048bcf4:
+resb 4
+
+ref_0048bcf8:
+resb 4
+
+ref_0048bcfc:
+resb 4
+
+ref_0048bd00:
+resb 4
+
+ref_0048bd04:
+resb 4
+
+ref_0048bd08:
+resb 4
+
+ref_0048bd0c:
+resb 4
+
+ref_0048bd10:
+resb 4
+
+ref_0048bd14:
+resb 20
+
+ref_0048bd28:
+resb 4
+
+ref_0048bd2c:
+resb 4
+
+ref_0048bd30:
+resb 4
+
+ref_0048bd34:
+resb 4
+
+ref_0048bd38:
+resb 4
+
+ref_0048bd3c:
+resb 4
+
+ref_0048bd40:
+resb 2
+
+ref_0048bd42:
+resb 2
+
+ref_0048bd44:
+resb 2
+
+ref_0048bd46:
+resb 2
+
+ref_0048bd48:
+resb 2
+
+ref_0048bd4a:
+resb 2
+
+ref_0048bd4c:
+resb 2
+
+ref_0048bd4e:
+resb 2
+
+ref_0048bd50:
+resb 2
+
+ref_0048bd52:
+resb 2
+
+ref_0048bd54:
+resb 2
+
+ref_0048bd56:
+resb 2
+
+ref_0048bd58:
+resb 1
+
+ref_0048bd59:
+resb 1
+
+ref_0048bd5a:
+resb 1
+
+ref_0048bd5b:
+resb 1
+
+ref_0048bd5c:
+resb 4
+
+ref_0048bd60:
+resb 4
+
+ref_0048bd64:
+resb 4
+
+ref_0048bd68:
+resb 4
+
+ref_0048bd6c:
+resb 4
+
+ref_0048bd70:
+resb 4
+
+ref_0048bd74:
+resb 4
+
+ref_0048bd78:
+resb 4
+
+ref_0048bd7c:
+resb 4
+
+ref_0048bd80:
+resb 4
+
+ref_0048bd84:
+resb 4
+
+ref_0048bd88:
+resb 4
+
+ref_0048bd8c:
+resb 4
+
+ref_0048bd90:
+resb 16
+
+ref_0048bda0:
+resb 16
+
+ref_0048bdb0:
+resb 4
+
+ref_0048bdb4:
+resb 4
+
+ref_0048bdb8:
+resb 4
+
+ref_0048bdbc:
+resb 4
+
+ref_0048bdc0:
+resb 4
+
+ref_0048bdc4:
+resb 4
+
+ref_0048bdc8:
+resb 4
+
+ref_0048bdcc:
+resb 4
+
+ref_0048bdd0:
+resb 4
+
+ref_0048bdd4:
+resb 4
+
+ref_0048bdd8:
+resb 4
+
+ref_0048bddc:
+resb 4
+
+ref_0048bde0:
+resb 4
+
+ref_0048bde4:
+resb 4
+
+ref_0048bde8:
+resb 4
+
+ref_0048bdec:
+resb 4
+
+ref_0048bdf0:
+resb 4
+
+ref_0048bdf4:
+resb 4
+
+ref_0048bdf8:
+resb 12
+
+ref_0048be04:
+resb 4
+
+ref_0048be08:
+resb 4
+
+ref_0048be0c:
+resb 4
+
+ref_0048be10:
+resb 4
+
+ref_0048be14:
+resb 4
+
+ref_0048be18:
+resb 4
+
+ref_0048be1c:
+resb 4
+
+ref_0048be20:
+resb 4
+
+ref_0048be24:
+resb 4
+
+ref_0048be28:
+resb 1
+
+ref_0048be29:
+resb 1
+
+ref_0048be2a:
+resb 1
+
+ref_0048be2b:
+resb 4
+
+ref_0048be2f:
+resb 5
+
+ref_0048be34:
+resb 1
+
+ref_0048be35:
+resb 1
+
+ref_0048be36:
+resb 1
+
+ref_0048be37:
+resb 1
+
+ref_0048be38:
+resb 1
+
+ref_0048be39:
+resb 19
+
+ref_0048be4c:
+resb 4
+
+ref_0048be50:
+resb 4
+
+ref_0048be54:
+resb 4
+
+ref_0048be58:
+resb 4
+
+ref_0048be5c:
+resb 4
+
+ref_0048be60:
+resb 4
+
+ref_0048be64:
+resb 10
+
+ref_0048be6e:
+resb 2
+
+ref_0048be70:
+resb 1024
+
+ref_0048c270:
+resb 4
+
+ref_0048c274:
+resb 4
+
+ref_0048c278:
+resb 4
+
+ref_0048c27c:
+resb 4
+
+ref_0048c280:
+resb 4
+
+ref_0048c284:
+resb 1
+
+ref_0048c285:
+resb 3
+
+ref_0048c288:
+resb 4
+
+ref_0048c28c:
+resb 4
+
+ref_0048c290:
+resb 4
+
+ref_0048c294:
+resb 4
+
+ref_0048c298:
+resb 3
+
+ref_0048c29b:
+resb 1
+
+ref_0048c29c:
+resb 12
+
+ref_0048c2a8:
+resb 4
+
+ref_0048c2ac:
+resb 4
+
+ref_0048c2b0:
+resb 4
+
+ref_0048c2b4:
+resb 4
+
+ref_0048c2b8:
+resb 1
+
+ref_0048c2b9:
+resb 1
+
+ref_0048c2ba:
+resb 1
+
+ref_0048c2bb:
+resb 1
+
+ref_0048c2bc:
+resb 1
+
+ref_0048c2bd:
+resb 2
+
+ref_0048c2bf:
+resb 1
+
+ref_0048c2c0:
+resb 1
+
+ref_0048c2c1:
+resb 1
+
+ref_0048c2c2:
+resb 1
+
+ref_0048c2c3:
+resb 1
+
+ref_0048c2c4:
+resb 2
+
+ref_0048c2c6:
+resb 2
+
+ref_0048c2c8:
+resb 2
+
+ref_0048c2ca:
+resb 1
+
+ref_0048c2cb:
+resb 1
+
+ref_0048c2cc:
+resb 4
+
+ref_0048c2d0:
+resb 4
+
+ref_0048c2d4:
+resb 4
+
+ref_0048c2d8:
+resb 4
+
+ref_0048c2dc:
+resb 4
+
+ref_0048c2e0:
+resb 4
+
+ref_0048c2e4:
+resb 1
+
+ref_0048c2e5:
+resb 4
+
+ref_0048c2e9:
+resb 1
+
+ref_0048c2ea:
+resb 1
+
+ref_0048c2eb:
+resb 1
+
+ref_0048c2ec:
+resb 1
+
+ref_0048c2ed:
+resb 1
+
+ref_0048c2ee:
+resb 4
+
+ref_0048c2f2:
+resb 6
+
+ref_0048c2f8:
+resb 8
+
+ref_0048c300:
+resb 4
+
+ref_0048c304:
+resb 4
+
+ref_0048c308:
+resb 4
+
+ref_0048c30c:
+resb 4
+
+ref_0048c310:
+resb 4
+
+ref_0048c314:
+resb 4
+
+ref_0048c318:
+resb 4
+
+ref_0048c31c:
+resb 15
+
+ref_0048c32b:
+resb 4
+
+ref_0048c32f:
+resb 1
+
+ref_0048c330:
+resb 3
+
+ref_0048c333:
+resb 4
+
+ref_0048c337:
+resb 4
+
+ref_0048c33b:
+resb 4
+
+ref_0048c33f:
+resb 4
+
+ref_0048c343:
+resb 4
+
+ref_0048c347:
+resb 1
+
+ref_0048c348:
+resb 1
+
+ref_0048c349:
+resb 1
+
+ref_0048c34a:
+resb 2
+
+ref_0048c34c:
+resb 4
+
+ref_0048c350:
+resb 1
+
+ref_0048c351:
+resb 3
+
+ref_0048c354:
+resb 4
+
+ref_0048c358:
+resb 4
+
+ref_0048c35c:
+resb 4
+
+ref_0048c360:
+resb 4
+
+ref_0048c364:
+resb 4
+
+ref_0048c368:
+resb 4
+
+ref_0048c36c:
+resb 4
+
+ref_0048c370:
+resb 1
+
+ref_0048c371:
+resb 1
+
+ref_0048c372:
+resb 1
+
+ref_0048c373:
+resb 4
+
+ref_0048c377:
+resb 4
+
+ref_0048c37b:
+resb 1
+
+ref_0048c37c:
+resb 1
+
+ref_0048c37d:
+resb 1
+
+ref_0048c37e:
+resb 2
+
+ref_0048c380:
+resb 4
+
+ref_0048c384:
+resb 4
+
+ref_0048c388:
+resb 4
+
+ref_0048c38c:
+resb 4
+
+ref_0048c390:
+resb 4
+
+ref_0048c394:
+resb 4
+
+ref_0048c398:
+resb 4
+
+ref_0048c39c:
+resb 4
+
+ref_0048c3a0:
+resb 1
+
+ref_0048c3a1:
+resb 1
+
+ref_0048c3a2:
+resb 1
+
+ref_0048c3a3:
+resb 1
+
+ref_0048c3a4:
+resb 1
+
+ref_0048c3a5:
+resb 1
+
+ref_0048c3a6:
+resb 4
+
+ref_0048c3aa:
+resb 1
+
+ref_0048c3ab:
+resb 1
+
+ref_0048c3ac:
+resb 1
+
+ref_0048c3ad:
+resb 1
+
+ref_0048c3ae:
+resb 1
+
+ref_0048c3af:
+resb 1
+
+ref_0048c3b0:
+resb 4
+
+ref_0048c3b4:
+resb 4
+
+ref_0048c3b8:
+resb 4
+
+ref_0048c3bc:
+resb 4
+
+ref_0048c3c0:
+resb 4
+
+ref_0048c3c4:
+resb 4
+
+ref_0048c3c8:
+resb 4
+
+ref_0048c3cc:
+resb 1
+
+ref_0048c3cd:
+resb 1
+
+ref_0048c3ce:
+resb 1
+
+ref_0048c3cf:
+resb 1
+
+ref_0048c3d0:
+resb 1
+
+ref_0048c3d1:
+resb 4
+
+ref_0048c3d5:
+resb 4
+
+ref_0048c3d9:
+resb 4
+
+ref_0048c3dd:
+resb 1
+
+ref_0048c3de:
+resb 1
+
+ref_0048c3df:
+resb 1
+
+ref_0048c3e0:
+resb 1
+
+ref_0048c3e1:
+resb 1
+
+ref_0048c3e2:
+resb 1
+
+ref_0048c3e3:
+resb 4
+
+ref_0048c3e7:
+resb 1
+
+ref_0048c3e8:
+resb 1
+
+ref_0048c3e9:
+resb 3
+
+ref_0048c3ec:
+resb 4
+
+ref_0048c3f0:
+resb 4
+
+ref_0048c3f4:
+resb 3
+
+ref_0048c3f7:
+resb 1
+
+ref_0048c3f8:
+resb 1
+
+ref_0048c3f9:
+resb 18
+
+ref_0048c40b:
+resb 1
+
+ref_0048c40c:
+resb 8
+
+ref_0048c414:
+resb 4
+
+ref_0048c418:
+resb 4
+
+ref_0048c41c:
+resb 4
+
+ref_0048c420:
+resb 1
+
+ref_0048c421:
+resb 4
+
+ref_0048c425:
+resb 4
+
+ref_0048c429:
+resb 1
+
+ref_0048c42a:
+resb 1
+
+ref_0048c42b:
+resb 1
+
+ref_0048c42c:
+resb 1
+
+ref_0048c42d:
+resb 1
+
+ref_0048c42e:
+resb 1
+
+ref_0048c42f:
+resb 1
+
+ref_0048c430:
+resb 4
+
+ref_0048c434:
+resb 2
+
+ref_0048c436:
+resb 2
+
+ref_0048c438:
+resb 4
+
+ref_0048c43c:
+resb 4
+
+ref_0048c440:
+resb 4
+
+ref_0048c444:
+resb 64
+
+ref_0048c484:
+resb 4
+
+ref_0048c488:
+resb 4
+
+ref_0048c48c:
+resb 4
+
+ref_0048c490:
+resb 4
+
+ref_0048c494:
+resb 4
+
+ref_0048c498:
+resb 4
+
+ref_0048c49c:
+resb 4
+
+ref_0048c4a0:
+resb 4
+
+ref_0048c4a4:
+resb 1
+
+ref_0048c4a5:
+resb 1
+
+ref_0048c4a6:
+resb 2
+
+ref_0048c4a8:
+resb 4
+
+ref_0048c4ac:
+resb 1
+
+ref_0048c4ad:
+resb 1
+
+ref_0048c4ae:
+resb 1
+
+ref_0048c4af:
+resb 1
+
+ref_0048c4b0:
+resb 1
+
+ref_0048c4b1:
+resb 3
+
+ref_0048c4b4:
+resb 4
+
+ref_0048c4b8:
+resb 4
+
+ref_0048c4bc:
+resb 4
+
+ref_0048c4c0:
+resb 4
+
+ref_0048c4c4:
+resb 4
+
+ref_0048c4c8:
+resb 1
+
+ref_0048c4c9:
+resb 3
+
+ref_0048c4cc:
+resb 4
+
+ref_0048c4d0:
+resb 4
+
+ref_0048c4d4:
+resb 4
+
+ref_0048c4d8:
+resb 4
+
+ref_0048c4dc:
+resb 4
+
+ref_0048c4e0:
+resb 4
+
+ref_0048c4e4:
+resb 4
+
+ref_0048c4e8:
+resb 4
+
+ref_0048c4ec:
+resb 4
+
+ref_0048c4f0:
+resb 1
+
+ref_0048c4f1:
+resb 1
+
+ref_0048c4f2:
+resb 1
+
+ref_0048c4f3:
+resb 1
+
+ref_0048c4f4:
+resb 1
+
+ref_0048c4f5:
+resb 1
+
+ref_0048c4f6:
+resb 2
+
+ref_0048c4f8:
+resb 4
+
+ref_0048c4fc:
+resb 4
+
+ref_0048c500:
+resb 4
+
+ref_0048c504:
+resb 1
+
+ref_0048c505:
+resb 1
+
+ref_0048c506:
+resb 1
+
+ref_0048c507:
+resb 1
+
+ref_0048c508:
+resb 4
+
+ref_0048c50c:
+resb 4
+
+ref_0048c510:
+resb 4
+
+ref_0048c514:
+resb 4
+
+ref_0048c518:
+resb 4
+
+ref_0048c51c:
+resb 4
+
+ref_0048c520:
+resb 4
+
+ref_0048c524:
+resb 4
+
+ref_0048c528:
+resb 4
+
+ref_0048c52c:
+resb 4
+
+ref_0048c530:
+resb 4
+
+ref_0048c534:
+resb 4
+
+ref_0048c538:
+resb 4
+
+ref_0048c53c:
+resb 4
+
+ref_0048c540:
+resb 4
+
+ref_0048c544:
+resb 4
+
+ref_0048c548:
+resb 14
+
+ref_0048c556:
+resb 2
+
+ref_0048c558:
+resb 4
+
+ref_0048c55c:
+resb 4
+
+ref_0048c560:
+resb 4
+
+ref_0048c564:
+resb 4
+
+ref_0048c568:
+resb 4
+
+ref_0048c56c:
+resb 4
+
+ref_0048c570:
+resb 4
+
+ref_0048c574:
+resb 4
+
+ref_0048c578:
+resb 4
+
+ref_0048c57c:
+resb 4
+
+ref_0048c580:
+resb 4
+
+ref_0048c584:
+resb 4
+
+ref_0048c588:
+resb 4
+
+ref_0048c58c:
+resb 8
+
+ref_0048c594:
+resb 1
+
+ref_0048c595:
+resb 3
+
+ref_0048c598:
+resb 4
+
+ref_0048c59c:
+resb 4
+
+ref_0048c5a0:
+resb 12
+
+ref_0048c5ac:
+resb 4
+
+ref_0048c5b0:
+resb 4
+
+ref_0048c5b4:
+resb 4
+
+ref_0048c5b8:
+resb 40
+
+ref_0048c5e0:
+resb 4
+
+ref_0048c5e4:
+resb 4
+
+ref_0048c5e8:
+resb 4
+
+ref_0048c5ec:
+resb 4
+
+ref_0048c5f0:
+resb 4
+
+ref_0048c5f4:
+resb 4
+
+ref_0048c5f8:
+resb 4
+
+ref_0048c5fc:
+resb 4
+
+ref_0048c600:
+resb 2
+
+ref_0048c602:
+resb 6
+
+ref_0048c608:
+resb 4
+
+ref_0048c60c:
+resb 4
+
+ref_0048c610:
+resb 4
+
+ref_0048c614:
+resb 4
+
+ref_0048c618:
+resb 4
+
+ref_0048c61c:
+resb 4
+
+ref_0048c620:
+resb 4
+
+ref_0048c624:
+resb 4
+
+ref_0048c628:
+resb 4
+
+ref_0048c62c:
+resb 4
+
+ref_0048c630:
+resb 512
+
+ref_0048c830:
+resb 4
+
+ref_0048c834:
+resb 4
+
+ref_0048c838:
+resb 4
+
+ref_0048c83c:
+resb 4
+
+ref_0048c840:
+resb 4
+
+ref_0048c844:
+resb 4
+
+ref_0048c848:
+resb 4
+
+ref_0048c84c:
+resb 4
+
+ref_0048c850:
+resb 4
+
+ref_0048c854:
+resb 4
+
+ref_0048c858:
+resb 4
+
+ref_0048c85c:
+resb 4
+
+ref_0048c860:
+resb 4
+
+ref_0048c864:
+resb 4
+
+ref_0048c868:
+resb 4
+
+ref_0048c86c:
+resb 4
+
+ref_0048c870:
+resb 4
+
+ref_0048c874:
+resb 4
+
+ref_0048c878:
+resb 4
+
+ref_0048c87c:
+resb 4
+
+ref_0048c880:
+resb 1
+
+ref_0048c881:
+resb 1
+
+ref_0048c882:
+resb 1
+
+ref_0048c883:
+resb 1
+
+ref_0048c884:
+resb 4
+
+ref_0048c888:
+resb 4
+
+ref_0048c88c:
+resb 4
+
+ref_0048c890:
+resb 4
+
+ref_0048c894:
+resb 4
+
+ref_0048c898:
+resb 512
+
+ref_0048ca98:
+resb 4
+
+ref_0048ca9c:
+resb 4
+
+ref_0048caa0:
+resb 4
+
+ref_0048caa4:
+resb 4
+
+ref_0048caa8:
+resb 3
+
+ref_0048caab:
+resb 1
+
+ref_0048caac:
+resb 1
+
+ref_0048caad:
+resb 9
+
+ref_0048cab6:
+resb 2
+
+ref_0048cab8:
+resb 2
+
+ref_0048caba:
+resb 4
+
+ref_0048cabe:
+resb 4
+
+ref_0048cac2:
+resb 2
+
+ref_0048cac4:
+resb 4
+
+ref_0048cac8:
+resb 4
+
+ref_0048cacc:
+resb 4
+
+ref_0048cad0:
+resb 4
+
+ref_0048cad4:
+resb 4
+
+ref_0048cad8:
+resb 4
+
+ref_0048cadc:
+resb 4
+
+ref_0048cae0:
+resb 4
+
+ref_0048cae4:
+resb 4
+
+ref_0048cae8:
+resb 64
+
+ref_0048cb28:
+resb 4
+
+ref_0048cb2c:
+resb 4
+
+ref_0048cb30:
+resb 4
+
+ref_0048cb34:
+resb 4
+
+ref_0048cb38:
+resb 4
+
+ref_0048cb3c:
+resb 2
+
+ref_0048cb3e:
+resb 2
+
+ref_0048cb40:
+resb 4
+
+ref_0048cb44:
+resb 4
+
+ref_0048cb48:
+resb 2
+
+ref_0048cb4a:
+resb 2
+
+ref_0048cb4c:
+resb 4
+
+ref_0048cb50:
+resb 32
+
+ref_0048cb70:
+resb 8
+
+ref_0048cb78:
+resb 4
+
+ref_0048cb7c:
+resb 4
+
+ref_0048cb80:
+resb 4
+
+ref_0048cb84:
+resb 1764
+
+ref_0048d268:
+resb 8068
+
+ref_0048f1ec:
+resb 4
+
+ref_0048f1f0:
+resb 4
+
+ref_0048f1f4:
+resb 4
+
+ref_0048f1f8:
+resb 4
+
+ref_0048f1fc:
+resb 4
+
+ref_0048f200:
+resb 4
+
+ref_0048f204:
+resb 4
+
+ref_0048f208:
+resb 56
+
+ref_0048f240:
+resb 4
+
+ref_0048f244:
+resb 80
+
+ref_0048f294:
+resb 30028
+
+ref_004967e0:
+resb 1
+
+ref_004967e1:
+resb 1
+
+ref_004967e2:
+resb 2
+
+ref_004967e4:
+resb 4
+
+ref_004967e8:
+resb 2
+
+ref_004967ea:
+resb 1
+
+ref_004967eb:
+resb 61
+
+ref_00496828:
+resb 260
+
+ref_0049692c:
+resb 4
+
+ref_00496930:
+resb 72
+
+ref_00496978:
+resb 4
+
+ref_0049697c:
+resb 4
+
+ref_00496980:
+resb 4
+
+ref_00496984:
+resb 2
+
+ref_00496986:
+resb 1
+
+ref_00496987:
+resb 1
+
+ref_00496988:
+resb 2
+
+ref_0049698a:
+resb 2
+
+ref_0049698c:
+resb 4
+
+ref_00496990:
+resb 4
+
+ref_00496994:
+resb 4
+
+ref_00496998:
+resb 4
+
+ref_0049699c:
+resb 4
+
+ref_004969a0:
+resb 400
+
+ref_00496b30:
+resb 4
+
+ref_00496b34:
+resb 1
+
+ref_00496b35:
+resb 3
+
+ref_00496b38:
+resb 40
+
+ref_00496b60:
+resb 4
+
+ref_00496b64:
+resb 2
+
+ref_00496b66:
+resb 1
+
+ref_00496b67:
+resb 1
+
+ref_00496b68:
+resb 4
+
+ref_00496b6c:
+resb 4
+
+ref_00496b70:
+resb 2
+
+ref_00496b72:
+resb 2
+
+ref_00496b74:
+resb 2
+
+ref_00496b76:
+resb 2
+
+ref_00496b78:
+resb 1
+
+ref_00496b79:
+resb 1
+
+ref_00496b7a:
+resb 1
+
+ref_00496b7b:
+resb 1
+
+ref_00496b7c:
+resb 1
+
+ref_00496b7d:
+resb 1
+
+ref_00496b7e:
+resb 1
+
+ref_00496b7f:
+resb 1
+
+ref_00496b80:
+resb 1
+
+ref_00496b81:
+resb 1
+
+ref_00496b82:
+resb 1
+
+ref_00496b83:
+resb 1
+
+ref_00496b84:
+resb 4
+
+ref_00496b88:
+resb 4
+
+ref_00496b8c:
+resb 4
+
+ref_00496b90:
+resb 4
+
+ref_00496b94:
+resb 4
+
+ref_00496b98:
+resb 2
+
+ref_00496b9a:
+resb 1
+
+ref_00496b9b:
+resb 1
+
+ref_00496b9c:
+resb 1
+
+ref_00496b9d:
+resb 1
+
+ref_00496b9e:
+resb 1
+
+ref_00496b9f:
+resb 1
+
+ref_00496ba0:
+resb 1
+
+ref_00496ba1:
+resb 2
+
+ref_00496ba3:
+resb 1
+
+ref_00496ba4:
+resb 1
+
+ref_00496ba5:
+resb 1
+
+ref_00496ba6:
+resb 1
+
+ref_00496ba7:
+resb 1
+
+ref_00496ba8:
+resb 1
+
+ref_00496ba9:
+resb 1
+
+ref_00496baa:
+resb 2
+
+ref_00496bac:
+resb 2
+
+ref_00496bae:
+resb 2
+
+ref_00496bb0:
+resb 2
+
+ref_00496bb2:
+resb 2
+
+ref_00496bb4:
+resb 16
+
+ref_00496bc4:
+resb 4
+
+ref_00496bc8:
+resb 4
+
+ref_00496bcc:
+resb 1
+
+ref_00496bcd:
+resb 1
+
+ref_00496bce:
+resb 1
+
+ref_00496bcf:
+resb 313
+
+ref_00496d08:
+resb 1
+
+ref_00496d09:
+resb 1
+
+ref_00496d0a:
+resb 2
+
+ref_00496d0c:
+resb 1
+
+ref_00496d0d:
+resb 1
+
+ref_00496d0e:
+resb 1
+
+ref_00496d0f:
+resb 1
+
+ref_00496d10:
+resb 4
+
+ref_00496d14:
+resb 4
+
+ref_00496d18:
+resb 4
+
+ref_00496d1c:
+resb 270
+
+ref_00496e2a:
+resb 24
+
+ref_00496e42:
+resb 790
+
+ref_00497158:
+resb 1
+
+ref_00497159:
+resb 1
+
+ref_0049715a:
+resb 1
+
+ref_0049715b:
+resb 1
+
+ref_0049715c:
+resb 1
+
+ref_0049715d:
+resb 3
+
+ref_00497160:
+resb 4
+
+ref_00497164:
+resb 4
+
+ref_00497168:
+resb 2
+
+ref_0049716a:
+resb 2
+
+ref_0049716c:
+resb 2
+
+ref_0049716e:
+resb 2
+
+ref_00497170:
+resb 2
+
+ref_00497172:
+resb 4
+
+ref_00497176:
+resb 2
+
+ref_00497178:
+resb 2
+
+ref_0049717a:
+resb 2
+
+ref_0049717c:
+resb 2
+
+ref_0049717e:
+resb 2
+
+ref_00497180:
+resb 2
+
+ref_00497182:
+resb 2
+
+ref_00497184:
+resb 2
+
+ref_00497186:
+resb 2
+
+ref_00497188:
+resb 2
+
+ref_0049718a:
+resb 2
+
+ref_0049718c:
+resb 2
+
+ref_0049718e:
+resb 2
+
+ref_00497190:
+resb 2
+
+ref_00497192:
+resb 2
+
+ref_00497194:
+resb 2
+
+ref_00497196:
+resb 2
+
+ref_00497198:
+resb 2
+
+ref_0049719a:
+resb 2
+
+ref_0049719c:
+resb 2
+
+ref_0049719e:
+resb 2
+
+ref_004971a0:
+resb 4
+
+ref_004971a4:
+resb 379
+
+ref_0049731f:
+resb 1
+
+ref_00497320:
+resb 1
+
+ref_00497321:
+resb 1
+
+ref_00497322:
+resb 1
+
+ref_00497323:
+resb 1
+
+ref_00497324:
+resb 1
+
+ref_00497325:
+resb 3
+
+ref_00497328:
+resb 6848
+
+ref_00498de8:
+resb 2
+
+ref_00498dea:
+resb 2
+
+ref_00498dec:
+resb 2
+
+ref_00498dee:
+resb 2
+
+ref_00498df0:
+resb 1
+
+ref_00498df1:
+resb 1
+
+ref_00498df2:
+resb 1
+
+ref_00498df3:
+resb 1
+
+ref_00498df4:
+resb 1
+
+ref_00498df5:
+resb 1
+
+ref_00498df6:
+resb 1
+
+ref_00498df7:
+resb 49
+
+ref_00498e28:
+resb 2
+
+ref_00498e2a:
+resb 2
+
+ref_00498e2c:
+resb 2
+
+ref_00498e2e:
+resb 2
+
+ref_00498e30:
+resb 1
+
+ref_00498e31:
+resb 1
+
+ref_00498e32:
+resb 1
+
+ref_00498e33:
+resb 1
+
+ref_00498e34:
+resb 1
+
+ref_00498e35:
+resb 1
+
+ref_00498e36:
+resb 1
+
+ref_00498e37:
+resb 49
+
+ref_00498e68:
+resb 2
+
+ref_00498e6a:
+resb 2
+
+ref_00498e6c:
+resb 2
+
+ref_00498e6e:
+resb 2
+
+ref_00498e70:
+resb 1
+
+ref_00498e71:
+resb 1
+
+ref_00498e72:
+resb 6
+
+ref_00498e78:
+resb 4
+
+ref_00498e7c:
+resb 4
+
+ref_00498e80:
+resb 4
+
+ref_00498e84:
+resb 4
+
+ref_00498e88:
+resb 4
+
+ref_00498e8c:
+resb 4
+
+ref_00498e90:
+resb 4
+
+ref_00498e94:
+resb 4
+
+ref_00498e98:
+resb 4
+
+ref_00498e9c:
+resb 4
+
+ref_00498ea0:
+resb 1
+
+ref_00498ea1:
+resb 1
+
+ref_00498ea2:
+resb 1
+
+ref_00498ea3:
+resb 1
+
+ref_00498ea4:
+resb 1
+
+ref_00498ea5:
+resb 3
+
+ref_00498ea8:
+resb 4
+
+ref_00498eac:
+resb 4
+
+ref_00498eb0:
+resb 4
+
+ref_00498eb4:
+resb 4
+
+ref_00498eb8:
+resb 4
+
+ref_00498ebc:
+resb 4
+
+ref_00498ec0:
+resb 4
+
+ref_00498ec4:
+resb 4
+
+ref_00498ec8:
+resb 4
+
+ref_00498ecc:
+resb 424
+
+ref_00499074:
+resb 4
+
+ref_00499078:
+resb 4
+
+ref_0049907c:
+resb 4
+
+ref_00499080:
+resb 4
+
+ref_00499084:
+resb 4
+
+ref_00499088:
+resb 4
+
+ref_0049908c:
+resb 4
+
+ref_00499090:
+resb 36
+
+ref_004990b4:
+resb 3
+
+ref_004990b7:
+resb 1
+
+ref_004990b8:
+resb 36
+
+ref_004990dc:
+resb 4
+
+ref_004990e0:
+resb 4
+
+ref_004990e4:
+resb 4
+
+ref_004990e8:
+resb 4
+
+ref_004990ec:
+resb 3
+
+ref_004990ef:
+resb 1
+
+ref_004990f0:
+resb 4
+
+ref_004990f4:
+resb 12
+
+ref_00499100:
+resb 4
+
+ref_00499104:
+resb 4
+
+ref_00499108:
+resb 4
+
+ref_0049910c:
+resb 4
+
+ref_00499110:
+resb 4
+
+ref_00499114:
+resb 4
+
+ref_00499118:
+resb 4
+
+ref_0049911c:
+resb 4
+
+ref_00499120:
+resb 59
+
+ref_0049915b:
+resb 1
+
+ref_0049915c:
+resb 1
+
+ref_0049915d:
+resb 1
+
+ref_0049915e:
+resb 1
+
+ref_0049915f:
+resb 1
+
+ref_00499160:
+resb 1
+
+ref_00499161:
+resb 6
+
+ref_00499167:
+resb 48
+
+ref_00499197:
+resb 1
+
+ref_00499198:
+resb 30
+
+ref_004991b6:
+resb 2
+
+ref_004991b8:
+resb 4
+
+ref_004991bc:
+resb 4
+
+ref_004991c0:
+resb 4
+
+ref_004991c4:
+resb 12
+
+ref_004991d0:
+resb 1
+
+ref_004991d1:
+resb 3
+
+ref_004991d4:
+resb 4
+
+ref_004991d8:
+resb 4
+
+ref_004991dc:
+resb 16
+
+ref_004991ec:
+resb 16
+
+ref_004991fc:
+resb 256
+
+ref_004992fc:
+resb 16
+
+ref_0049930c:
+resb 4
+
+ref_00499310:
+resb 12
+
+ref_0049931c:
+resb 16
+
+ref_0049932c:
+resb 16
+
+ref_0049933c:
+resb 4
+
+ref_00499340:
+resb 1536
+
+ref_00499940:
+resb 4
+
+ref_00499944:
+resb 4
+
+ref_00499948:
+resb 8
+
+ref_00499950:
+resb 4
+
+ref_00499954:
+resb 4
+
+ref_00499958:
+resb 4
+
+ref_0049995c:
+resb 1
+
+ref_0049995d:
+resb 259
+
+ref_00499a60:
+resb 4
+
+ref_00499a64:
+resb 4
+
+ref_00499a68:
+resb 408
+
+section .bss
+
+ref_00499c00:
+resb 1024
+
+section .rsrc
+dd 0x00000000
+dd 0x3840cd1f
+dd 0x00000000
+dd 0x00020000
+dd 0x00000003
+dd 0x80000020
+dd 0x0000000e
+dd 0x80000038
+dd 0x00000000
+dd 0x3840cd1f
+dd 0x00000000
+dd 0x00010000
+dd 0x00000001
+dd 0x80000050
+dd 0x00000000
+dd 0x3840cd1f
+dd 0x00000000
+dd 0x00000001
+dd 0x800000a0
+dd 0x80000068
+dd 0x00000000
+dd 0x3840cd1f
+dd 0x00000000
+dd 0x00010000
+dd 0x00000404
+dd 0x00000080
+dd 0x00000000
+dd 0x3840cd1f
+dd 0x00000000
+dd 0x00010000
+dd 0x00000404
+dd 0x00000090
+dd 0x000a50b8
+dd 0x000008a8
+dd 0x00000000
+dd 0x00000000
+dd 0x000a5960
+dd 0x00000014
+dd 0x00000000
+dd 0x00000000
+dd 0x0052000a
+dd 0x00430049
+dd 0x00340048
+dd 0x0049005f
+dd 0x004f0043
+dd 0x0000004e
+dd 0x00000028
+dd 0x00000020
+dd 0x00000040
+dd 0x00080001
+dd 0x00000000
+dd 0x00000480
+dd 0x00000000
+dd 0x00000000
+dd 0x00000100
+dd 0x00000000
+dd 0x00ffffff
+dd 0x00080808
+dd 0x00181818
+dd 0x00212121
+dd 0x00292929
+dd 0x00393939
+dd 0x00636363
+dd 0x007b7b7b
+dd 0x00848484
+dd 0x009c9c9c
+dd 0x00a5a5a5
+dd 0x00adadad
+dd 0x00c6c6c6
+dd 0x00cecece
+dd 0x00d6d6d6
+dd 0x00dedede
+dd 0x00efefef
+dd 0x00f7f7f7
+dd 0x00fff7f7
+dd 0x00d6cece
+dd 0x00ffefef
+dd 0x00efdede
+dd 0x00ffe7e7
+dd 0x00efd6d6
+dd 0x00d68484
+dd 0x00841010
+dd 0x00a50808
+dd 0x005a0000
+dd 0x007b0000
+dd 0x00e77b73
+dd 0x00b52118
+dd 0x00ad1008
+dd 0x00ef9c94
+dd 0x00de847b
+dd 0x00e7847b
+dd 0x00d6635a
+dd 0x00d63929
+dd 0x00ce3121
+dd 0x00bd1808
+dd 0x00c61808
+dd 0x00ad1000
+dd 0x00ce1000
+dd 0x00efada5
+dd 0x00de5242
+dd 0x00ce4231
+dd 0x00d64231
+dd 0x00b52110
+dd 0x00bd2110
+dd 0x00ad1808
+dd 0x00a51000
+dd 0x00efbdb5
+dd 0x00ce948c
+dd 0x00e77b6b
+dd 0x00de7363
+dd 0x00e76b5a
+dd 0x00de6352
+dd 0x00d63921
+dd 0x00ce3118
+dd 0x00d63118
+dd 0x00ce2910
+dd 0x00d62910
+dd 0x00ce2108
+dd 0x00d62108
+dd 0x00f7cec6
+dd 0x00f7c6bd
+dd 0x00ef9c8c
+dd 0x00ef9484
+dd 0x00e78473
+dd 0x00de5239
+dd 0x00d64229
+dd 0x00bd2910
+dd 0x00d62908
+dd 0x00d62100
+dd 0x00efa594
+dd 0x00de634a
+dd 0x00f7d6ce
+dd 0x00c6ada5
+dd 0x00ffefe7
+dd 0x00c6bdb5
+dd 0x00c6b5a5
+dd 0x00423931
+dd 0x006b5a4a
+dd 0x00211810
+dd 0x00fff7ef
+dd 0x00efe7de
+dd 0x00c6bdad
+dd 0x00635a4a
+dd 0x007b7363
+dd 0x00ada594
+dd 0x00312918
+dd 0x008c846b
+dd 0x007b735a
+dd 0x00f7f7ef
+dd 0x0084846b
+dd 0x00212118
+dd 0x00181808
+dd 0x00101000
+dd 0x00f7fff7
+dd 0x00a5cec6
+dd 0x00eff7f7
+dd 0x00f7ffff
+dd 0x00c6cece
+dd 0x00ced6d6
+dd 0x00d6dede
+dd 0x00dee7e7
+dd 0x00b5bdbd
+dd 0x00a5adad
+dd 0x00adb5b5
+dd 0x00bdc6c6
+dd 0x008c9494
+dd 0x00949c9c
+dd 0x009ca5a5
+dd 0x00848c8c
+dd 0x00737b7b
+dd 0x00efffff
+dd 0x006b7373
+dd 0x007b8484
+dd 0x00636b6b
+dd 0x00c6d6d6
+dd 0x00adbdbd
+dd 0x00b5c6c6
+dd 0x00a5b5b5
+dd 0x004a5252
+dd 0x009cadad
+dd 0x008c9c9c
+dd 0x00424a4a
+dd 0x00c6dede
+dd 0x00738484
+dd 0x00adc6c6
+dd 0x006b7b7b
+dd 0x00394242
+dd 0x00313939
+dd 0x009cb5b5
+dd 0x0094adad
+dd 0x00293131
+dd 0x00a5c6c6
+dd 0x00526363
+dd 0x007b9494
+dd 0x006b8484
+dd 0x00212929
+dd 0x00425252
+dd 0x005a7373
+dd 0x006b8c8c
+dd 0x00425a5a
+dd 0x005a7b7b
+dd 0x00182121
+dd 0x0084b5b5
+dd 0x00293939
+dd 0x00527373
+dd 0x008cc6c6
+dd 0x00395252
+dd 0x00213131
+dd 0x00101818
+dd 0x00314a4a
+dd 0x00395a5a
+dd 0x00081010
+dd 0x00082121
+dd 0x00000808
+dd 0x007badb5
+dd 0x007bb5bd
+dd 0x005a949c
+dd 0x00528c94
+dd 0x0042737b
+dd 0x00396b73
+dd 0x0031636b
+dd 0x00426b73
+dd 0x0039636b
+dd 0x0029525a
+dd 0x00214a52
+dd 0x00398494
+dd 0x004a6b73
+dd 0x0042636b
+dd 0x00428494
+dd 0x00397b8c
+dd 0x00317384
+dd 0x00395a63
+dd 0x00528c9c
+dd 0x00397384
+dd 0x00316b7b
+dd 0x00183942
+dd 0x00526b73
+dd 0x004a636b
+dd 0x00314a52
+dd 0x0029424a
+dd 0x00396b7b
+dd 0x00316373
+dd 0x00183139
+dd 0x00295a6b
+dd 0x00102931
+dd 0x00425a63
+dd 0x00213942
+dd 0x00396373
+dd 0x00397b94
+dd 0x00214a5a
+dd 0x004a849c
+dd 0x00315a6b
+dd 0x00295263
+dd 0x0039738c
+dd 0x00d6e7ef
+dd 0x009cadb5
+dd 0x005a6b73
+dd 0x0052636b
+dd 0x00395a6b
+dd 0x00315263
+dd 0x00293942
+dd 0x00dee7ef
+dd 0x007b848c
+dd 0x00182129
+dd 0x00e7eff7
+dd 0x00eff7ff
+dd 0x00ced6de
+dd 0x00adb5bd
+dd 0x00a5adb5
+dd 0x008c949c
+dd 0x006b737b
+dd 0x00000810
+dd 0x00b5bdc6
+dd 0x00949ca5
+dd 0x00737b84
+dd 0x00e7e7ef
+dd 0x00efeff7
+dd 0x00f7f7ff
+dd 0x00d6d6de
+dd 0x00dedee7
+dd 0x00b5b5bd
+dd 0x00adadb5
+dd 0x00bdbdc6
+dd 0x006b6b73
+dd 0x004a4a52
+dd 0x00292931
+dd 0x00212129
+dd 0x00efe7ef
+dd 0x00f7eff7
+dd 0x00f7e7ef
+dd 0x00e7d6de
+dd 0x00ceadbd
+dd 0x00ad738c
+dd 0x00bd94a5
+dd 0x00cea5b5
+dd 0x007b1839
+dd 0x00b57b8c
+dd 0x009c425a
+dd 0x00943952
+dd 0x00ceadb5
+dd 0x00a5848c
+dd 0x00841029
+dd 0x00840018
+dd 0x00633139
+dd 0x00630010
+dd 0x00941829
+dd 0x004a0810
+dd 0x00940818
+dd 0x00940810
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xb9aafdfd
+dd 0xfdfdfdb3
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xb8b4e3fd
+dd 0xfdb6a3a8
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xb2c96ffd
+dd 0xa1958f03
+dd 0xfdfdbcc4
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xadb56a75
+dd 0x8c96b7b1
+dd 0xbab9acb8
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xb1c96a76
+dd 0xc3a3acad
+dd 0xacacc0b1
+dd 0xfdfdc1b1
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x8cfdfdfd
+dd 0xb1c90b85
+dd 0xacacadac
+dd 0xb0a6ccad
+dd 0xc3adacac
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xc9fdfdfd
+dd 0xb1c9e16f
+dd 0xadadadad
+dd 0x928397ad
+dd 0xacadad9e
+dd 0xfdfda7ac
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x7771fdfd
+dd 0xb1c96ae0
+dd 0xadadadac
+dd 0x99b7b1ac
+dd 0xadacaf8f
+dd 0xfdfdc5ad
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xe26afdfd
+dd 0xa6736a7b
+dd 0xadacadb1
+dd 0xa4acacad
+dd 0xadadcbb7
+dd 0xfda8acad
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x77d375fd
+dd 0xd5666c67
+dd 0xadb8cac9
+dd 0xacadadc0
+dd 0xadacadac
+dd 0xfdadadad
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x897e79fd
+dd 0xdb001085
+dd 0xb573d96c
+dd 0xc0adb1bf
+dd 0xccb9acad
+dd 0xa7aca0a2
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x8381c78d
+dd 0x0000006a
+dd 0x69df6300
+dd 0xa3bdc86d
+dd 0x03b1a9c5
+dd 0xb19f629a
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x8a7fc888
+dd 0x00000010
+dd 0x11640000
+dd 0x716a66db
+dd 0xa4b1bfc9
+dd 0xa5949a93
+dd 0xfdfdfdaf
+dd 0x7dfdfdfd
+dd 0x666b797c
+dd 0x00000000
+dd 0x00000000
+dd 0xcddd0000
+dd 0xb58d6e65
+dd 0x9397b7c3
+dd 0xfdfdfdc2
+dd 0x75fdfdfd
+dd 0x10e2e065
+dd 0x00000000
+dd 0x00006400
+dd 0x00000000
+dd 0xd4687264
+dd 0xbfafc870
+dd 0xfdfdabac
+dd 0x70fdfdfd
+dd 0x0066d4e0
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x643f223f
+dd 0x746a66db
+dd 0xfdfdaabd
+dd 0x09fdfdfd
+dd 0x00106b80
+dd 0x16000000
+dd 0x0000004d
+dd 0x17000000
+dd 0x12242739
+dd 0xcd636400
+dd 0xfdfdce65
+dd 0x7bfdfdfd
+dd 0x00006677
+dd 0x1eeb0000
+dd 0x40432b38
+dd 0x23000000
+dd 0x00344827
+dd 0x00000000
+dd 0xfdfd7000
+dd 0x7157fdfd
+dd 0x00001181
+dd 0xfced0000
+dd 0x3b2c303c
+dd 0x392a4944
+dd 0x00e92c3b
+dd 0x00000000
+dd 0xfdfdfd0e
+dd 0x8d57fdfd
+dd 0x0000000b
+dd 0xf5ea0000
+dd 0x3131463b
+dd 0x3b39303e
+dd 0x0000493d
+dd 0x11000000
+dd 0xfdfdfde4
+dd 0x8770fdfd
+dd 0x00000010
+dd 0xf2000000
+dd 0xf4183c26
+dd 0x463c3cf7
+dd 0x0020392e
+dd 0x6f000000
+dd 0xfdfdfdfd
+dd 0x0f70fdfd
+dd 0x00000000
+dd 0xec000000
+dd 0x004248fc
+dd 0x2e3c2554
+dd 0x00373131
+dd 0xfd0f0000
+dd 0xfdfdfdfd
+dd 0x646efdfd
+dd 0x00000000
+dd 0xeb000000
+dd 0x00353dfb
+dd 0x213d2721
+dd 0x00164c13
+dd 0xfd750000
+dd 0xfdfdfdfd
+dd 0x000afdfd
+dd 0x00000000
+dd 0xdb000000
+dd 0x323727f9
+dd 0x4d453d39
+dd 0x00000000
+dd 0xfdfd6b00
+dd 0xfdfdfdfd
+dd 0x000dfdfd
+dd 0x00000000
+dd 0x00000000
+dd 0x2c4527f1
+dd 0x002a273d
+dd 0x00000000
+dd 0xfdfdfd10
+dd 0xfdfdfdfd
+dd 0x000ffdfd
+dd 0x00000000
+dd 0x00000000
+dd 0x3b3b1fec
+dd 0x0012373d
+dd 0x00000000
+dd 0xfdfdfd71
+dd 0xfdfdfdfd
+dd 0x07fdfdfd
+dd 0x00000066
+dd 0x00000000
+dd 0x3b3bf6eb
+dd 0x00004b3b
+dd 0xe0000000
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x0c70fdfd
+dd 0x0000005c
+dd 0x282cef54
+dd 0x0000001d
+dd 0xfd630000
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x12555bfd
+dd 0x33f4e900
+dd 0x00000012
+dd 0xfd5d0000
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x00535557
+dd 0x00000000
+dd 0xfdfd4e00
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x56fdfdfd
+dd 0x00005458
+dd 0xfdfdfd64
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0x4f51fdfd
+dd 0xfdfdfd5a
+dd 0xfdfdfdfd
+dd 0xfdfdfdfd
+dd 0xffffc7ff
+dd 0xffff81ff
+dd 0xff3f80ff
+dd 0xff0f00ff
+dd 0xff0300ff
+dd 0xff0000fe
+dd 0x3f0000fe
+dd 0x3f0000fc
+dd 0x1f0000fc
+dd 0x1f0000f8
+dd 0x0f0000f8
+dd 0x0f0000f0
+dd 0x070000f0
+dd 0x070000e0
+dd 0x030000e0
+dd 0x030000e0
+dd 0x030000e0
+dd 0x030000e0
+dd 0x070000c0
+dd 0x070000c0
+dd 0x0f0000c0
+dd 0x1f0000c0
+dd 0x1f0000c0
+dd 0x3f0000c0
+dd 0x7f0000c0
+dd 0x7f0000c0
+dd 0xff0000e0
+dd 0xff0100fc
+dd 0xff0180ff
+dd 0xff03f0ff
+dd 0xff07feff
+dd 0xffc7ffff
+dd 0x00010000
+dd 0x20200001
+dd 0x00010000
+dd 0x08a80008
+dd 0x00010000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+
+section .rsrc
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
+dd 0x00000000
diff --git a/r2/rich4_dump.py b/r2/rich4_dump.py
new file mode 100644
index 0000000..9c9b9ea
--- /dev/null
+++ b/r2/rich4_dump.py
@@ -0,0 +1,143 @@
+# The script to dump rich4.exe to assembly
+# SHA256(rich4.exe): 5a90aee28ee5f7a5c3ba5cb935c9e55751a529c25fcd91208748a66293569550
+
+from dumpbin_pe import R2PEDumper
+import r2pipe
+import sys
+
+if __name__ == "__main__":
+ if len(sys.argv) > 1:
+ r2dumpbin = R2PEDumper(r2pipe.open(sys.argv[1]))
+ else:
+ r2dumpbin = R2PEDumper()
+
+ # call back functions
+ r2dumpbin.mark_function(0x401010)
+ r2dumpbin.mark_function(0x4019dd)
+ r2dumpbin.mark_function(0x401f98)
+
+ # parameter of fcn_004018e7 (register_wait_callback)
+ callbacks = [0x40257a, 0x40363a, 0x4039c2, 0x404e44, 0x4060e9,
+ 0x406b14, 0x40a801, 0x4103a3, 0x410ac3, 0x411122,
+ 0x414858, 0x414bbc, 0x414fcd, 0x41dda9, 0x423cf3,
+ 0x4258c1, 0x42608f, 0x4267a4, 0x426c2e, 0x42704e,
+ 0x427c21, 0x429d65, 0x42aaff, 0x42b2ec, 0x42b3eb,
+ 0x42d37f, 0x42d73f, 0x42f7fc, 0x43010c, 0x4325c2,
+ 0x433088, 0x434492, 0x435062, 0x436034, 0x436ef8,
+ 0x437e61, 0x43a2dd, 0x43caab, 0x43da27, 0x43fae4,
+ 0x43ff56, 0x4402d7, 0x4413ec, 0x4416f0, 0x445e4d,
+ 0x445c14, 0x446774, 0x44e40b, 0x45156f, 0x452c02,
+ 0x45367e]
+
+ # fcn_00457e6c callbacks
+ callbacks += [0x4079f9, 0x42bed0, 0x42d0ef]
+
+ # fcn_0045ae76 callbacks
+ callbacks += [0x458d9e]
+
+ # SetUnhandledExceptionFilter callbacks
+ callbacks += [0x45a758]
+
+ callbacks += [0x45a98b]
+
+ for f in callbacks:
+ r2dumpbin.mark_function(f)
+
+ # jump table functions
+ # 0x402566
+ r2dumpbin.mark_function(0x40274c)
+ r2dumpbin.mark_function(0x40264d)
+ r2dumpbin.mark_function(0x4026e2)
+
+ # 0x408289
+ r2dumpbin.mark_function(0x409419)
+ r2dumpbin.mark_function(0x409426)
+ r2dumpbin.mark_function(0x409434)
+ r2dumpbin.mark_function(0x409442)
+ r2dumpbin.mark_function(0x409449)
+
+ # 0x40e023
+ r2dumpbin.mark_function(0x40e04d)
+ r2dumpbin.mark_function(0x40e059)
+ r2dumpbin.mark_function(0x40e065)
+ r2dumpbin.mark_function(0x40e071)
+
+ # 0x40ea9b
+ call_tab = [0x0040ec14, 0x0040ecf1, 0x0040ed8f, 0x0040ee50, 0x0040ef1b,
+ 0x0040efe4, 0x0040f083, 0x0040f155, 0x0040f205, 0x0040f258,
+ 0x0040ece6, 0x0040f2a0, 0x0040ece6, 0x0040ece6, 0x0040f2eb]
+
+ # 0x41034b
+ call_tab += [0x00410537, 0x00410572, 0x004105b9, 0x004105f4, 0x004105f4,
+ 0x004105f4, 0x00410668, 0x004106c1, 0x004106c1, 0x00410745,
+ 0x0041076e, 0x0041079c, 0x004107d8, 0x004107f3, 0x004107f3,
+ 0x004107f3]
+
+ # 0x41038b
+ call_tab += [0x00410838, 0x00410838, 0x00410838, 0x004104a5, 0x0041095b,
+ 0x00410969]
+
+ # 0x474d5c
+ call_tab += [0x4119e3, 0x411a86, 0x411a96]
+
+ # 0x475324
+ call_tab += [0x0041e6fe, 0x0041e779, 0x0041e9e2, 0x0041eae2,
+ 0x0041e6e3, 0x0041e6e3, 0x0041ed3e, 0x0041ef26,
+ 0x0041f037, 0x0041f1b3, 0x0041f400, 0x0041f6a9,
+ 0x0041f901, 0x0041facc, 0x0041fe4e, 0x0041fe6f,
+ 0x0041fe6f, 0x0041e6e3, 0x0041e6e3, 0x0041e6e3,
+ 0x0041e6e3, 0x0041ff77, 0x0041fff8, 0x00420055,
+ 0x004200ea, 0x004202d2, 0x0042040e, 0x0042062b,
+ 0x004207cc]
+
+ # 0x475d5c
+ call_tab += [0x004420d8, 0x004421b4, 0x00442325, 0x00442622,
+ 0x00442b02, 0x00442f4d, 0x0044309b, 0x00443225,
+ 0x004434c0, 0x004436e0, 0x00443917, 0x00443b0f,
+ 0x00443e3d, 0x00443f80, 0x004440ea, 0x004441dc,
+ 0x004444bf, 0x004420d5, 0x004420d5, 0x004420d5,
+ 0x004420d5, 0x00444c45, 0x00444e1a, 0x00444f25,
+ 0x0044503f, 0x004451f0, 0x0044542d, 0x00445593,
+ 0x00445710, 0x004458df]
+
+ # 0x475dd8 (begins at 0x475dd9)
+ call_tab += [0x00446afb, 0x00446baa, 0x00446c88, 0x00446d69,
+ 0x00446e4a, 0x00446f05, 0x00446fbc, 0x004470f8,
+ 0x00447295, 0x00447387, 0x00447428, 0x004479d2,
+ 0x00447ace, 0x00447c00 ]
+
+ # 0x4898ca
+ call_tab += [0x457dda, 0x459c0c, 0x459ce1, 0x45bc21, 0x45c914,
+ 0x45adb0, 0x45c50b, 0x45ce17, 0x45d00b, 0x457ddb,
+ 0x45bcb1, 0x45a4c0]
+
+ # 0x489728
+ r2dumpbin.mark_function(0x45f7e8)
+
+ # endloc: references jump table 0x48998c
+ r2dumpbin.mark_function(0x45f133)
+
+ # referenced at fcn_0045a3a0
+ callbacks = [0x45a15e, 0x45a170, 0x45a182, 0x45a190, 0x45a142,
+ 0x45a150, 0x45a1d5, 0x45a1df, 0x45a0b3, 0x45a11b,
+ 0x45a087, 0x45a1b6, 0x45a1c4, 0x45a1bd, 0x45a1ce,
+ 0x45a1f3, 0x45a378, 0x45a1e9, 0x45a1fd]
+ # referenced at fcn_0045ce17
+ callbacks += [0x45cdac, 0x45cdf0]
+ # CreateThread
+ callbacks += [0x45f738]
+ # SetConsoleCtrlHandler
+ callbacks += [0x45cb60]
+ # fcn_0045cdac
+ callbacks += [0x45cb3c, 0x45cd2a]
+ # fcn_00459bd3
+ callbacks += [0x459bc2, 0x459bcb]
+
+ for f in callbacks:
+ r2dumpbin.mark_function(f)
+
+ for f in call_tab:
+ r2dumpbin.mark_function(f)
+
+ r2dumpbin.run_tool()
+