Function at 0x4735b0
Capabilities:
Hide graphical window

Disassembly:
push ebp
xor eax, eax
mov ecx, 0xa
mov ebp, esp
push edi
push esi
mov esi, 0xdc
push ebx
lea ebx, [ebp - 0x258]
mov edi, ebx
sub esp, 0x318
mov dword [ebp - 0x2c0], 0
rep stosd dword es:[edi], eax
mov ecx, 0x37
lea edi, [ebp - 0x1c4]
mov dword [ebp - 0x2bc], 0
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1c4]
mov word [ebp - 0x180], si
mov dword [esp + 8], eax
mov eax, dword [sym.imp.user32.dll_EnumDisplaySettingsW]
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov dword [ebp - 0x2d8], eax
call eax
sub esp, 0xc
mov edi, eax
mov eax, 0xc29
call fcn.0044bd10
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], 0x56b884
mov dword [esp + 8], eax
call fcn.0044c570
mov eax, 0xc2a
call fcn.0044bd10
lea ecx, [ebp - 0x1c4]
mov edx, 0x5c81a0
mov eax, ecx
call fcn.0044b280
mov dword [esp + 4], 0x56cfd4
mov dword [esp], eax
call fcn.0044c570
lea ecx, [ebp - 0x1c4]
mov dword [esp + 4], 0xfffffffe
mov dword [esp + 8], ecx
mov dword [esp], 0
mov eax, dword [ebp - 0x2d8]
call eax
sub esp, 0xc
mov edi, eax
mov eax, 0xc2c
call fcn.0044bd10
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], 0x56b884
mov dword [esp + 8], eax
call fcn.0044c570
mov eax, 0xc2d
call fcn.0044bd10
mov edx, 0x5c81a0
lea eax, [ebp - 0x1c4]
call fcn.0044b280
mov dword [esp + 4], 0x56cfd4
mov dword [esp], eax
call fcn.0044c570
lea edx, [ebp - 0x2bc]
lea eax, [ebp - 0x2c0]
call fcn.0044ba70
mov edi, eax
mov eax, 0xc30
call fcn.0044bd10
mov dword [esp], edi
mov dword [esp + 4], 0x56cfec
call fcn.0044c570
call fcn.0044b5c0
mov esi, eax
mov eax, 0xc33
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x567888
setne al
mov dword [esp], eax
call fcn.0044c570
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0
mov eax, dword [esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x44b300
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [eax + 0x20]
sub esp, 0x14
mov edi, eax
mov eax, 0xc37
call fcn.0044bd10
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x56d014
mov dword [esp], edi
call fcn.0044c570
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov edi, eax
mov eax, 0xc39
call fcn.0044bd10
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x567a5f
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x2e4], eax
test eax, eax
je 0x4788b0
mov eax, dword [0x5c8250]
mov edx, dword [0x5c8250]
mov ecx, 0x37
lea edi, [ebp - 0x1c4]
mov dword [ebp - 0x2b4], 0
mov esi, dword [ebp - 0x27c]
mov dword [ebp - 0x2d0], eax
mov eax, dword [0x5c824c]
mov dword [ebp - 0x2a8], edx
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x2d4], eax
mov eax, dword [0x5c824c]
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x2f4], esi
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x29c], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2e4]
mov edi, esi
mov ecx, 0xdc
mov word [ebp - 0x180], cx
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x17c], 0x180000
mov dword [ebp - 0x114], eax
mov dword [esp], ecx
mov ecx, dword [sym.imp.user32.dll_ChangeDisplaySettingsW]
mov dword [esp + 4], 4
mov dword [ebp - 0x2e0], ecx
call ecx
sub esp, 8
mov esi, eax
mov eax, 0xc4c
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x56d088
mov dword [esp], eax
call fcn.0044c570
call fcn.0044b5c0
mov esi, eax
mov eax, 0xc4f
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x567888
setne al
mov dword [ebp - 0x2c8], esi
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xc53
mov dword [ebp - 0x254], 0x4644d0
mov dword [ebp - 0x234], 0x56b7c6
call fcn.0044bd10
mov esi, dword [sym.imp.user32.dll_RegisterClassA]
mov dword [esp], ebx
call esi
sub esp, 4
movzx eax, ax
mov dword [esp], eax
mov dword [esp + 4], 0x568cc0
call fcn.0044c570
mov eax, 0xc56
mov dword [ebp - 0x254], 0x4645b0
mov dword [ebp - 0x234], 0x56d0b2
call fcn.0044bd10
mov dword [esp], ebx
call esi
sub esp, 4
movzx eax, ax
mov dword [esp + 4], 0x568cc0
mov dword [esp], eax
call fcn.0044c570
mov ebx, dword [sym.imp.user32.dll_CreateWindowExA]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x64
mov dword [esp + 0x18], 0x64
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xcf0000
mov dword [esp + 8], 0x5674e0
mov dword [esp + 4], 0x56b7c6
mov dword [esp], 0
call ebx
sub esp, 0x30
mov dword [ebp - 0x2c4], eax
mov esi, eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0x64
mov dword [esp + 0x18], 0x64
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xcf0000
mov dword [esp + 8], 0x5674e0
mov dword [esp + 4], 0x56d0b2
mov dword [esp], 0
call ebx
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2f0], eax
sub esp, 0x30
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 8], 0x11
mov dword [esp + 4], esi
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc5e
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], ebx
call fcn.0044c570
lea ecx, [ebp - 0x294]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, dword [sym.imp.user32.dll_GetWindowRect]
mov dword [ebp - 0x2cc], ecx
call ecx
mov eax, 0xc61
sub esp, 8
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov ebx, eax
mov eax, dword [ebp - 0x2e4]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp edi, dword [ebp - 0x28c]
je 0x478958
mov dword [esp], edx
lea edi, [ebp - 0x228]
lea esi, [ebp - 0x2b8]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x569374
call fcn.0044c570
xor eax, eax
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xc6a
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xc6c
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xc6d
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x27c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xc6f
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x278]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
mov eax, 0xc73
sub esp, 8
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov ebx, eax
mov eax, dword [ebp - 0x2e4]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2f4]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
je 0x4788e0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], 0x569374
call fcn.0044c570
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp], eax
mov eax, dword [sym.imp.user32.dll_PeekMessageA]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x2dc], eax
call eax
mov eax, dword [ebp - 0x2b8]
mov dword [0x5c8188], 0x571160
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xc7c
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x2c8]
call fcn.0044b890
mov ebx, eax
mov eax, 0xc7e
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x567978
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xc80
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xc82
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xc84
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
xor ecx, ecx
mov eax, dword [ebp - 0x284]
mov esi, dword [0x5c8184]
mov ebx, dword [ebp - 0x280]
cmp edx, eax
je 0x478880
mov dword [esp + 0x10], edx
mov dword [esp], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x56d14c
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
mov eax, 0xc89
sub esp, 8
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov ebx, eax
mov eax, dword [ebp - 0x2e8]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2ec]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
je 0x478980
mov dword [esp + 0xc], ebx
lea edi, [ebp - 0x228]
lea esi, [ebp - 0x2b8]
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], 0x569374
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xc8d
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xc8e
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x27c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xc90
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x278]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
xor eax, eax
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xc9a
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xc9c
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xc9d
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xc9f
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
mov eax, 0xca3
sub esp, 8
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov ebx, eax
mov eax, dword [ebp - 0x2e8]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2ec]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
je 0x4789a8
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], 0x569374
call fcn.0044c570
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [ebp - 0x2b8]
mov dword [0x5c8188], 0x571160
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xcac
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 4
mov dword [esp], eax
mov eax, dword [ebp - 0x2e0]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xcae
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x56d088
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xcb0
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xcb2
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xcb4
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
xor ecx, ecx
mov eax, dword [ebp - 0x27c]
mov esi, dword [0x5c8184]
mov ebx, dword [ebp - 0x278]
cmp edx, eax
je 0x478870
mov dword [esp + 0x10], edx
mov dword [esp], ecx
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x56d14c
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
mov eax, 0xcb9
sub esp, 8
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov ebx, eax
mov eax, dword [ebp - 0x2e4]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2f4]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
je 0x478908
mov dword [esp], edx
lea edi, [ebp - 0x1c4]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x569374
call fcn.0044c570
mov dword [0x5c8188], 0x5710c0
call dword [sym.imp.user32.dll_GetDesktopWindow]
mov dword [esp], eax
call dword [sym.imp.user32.dll_SetForegroundWindow]
sub esp, 4
mov ebx, eax
mov eax, 0xcbe
call fcn.0044bd10
mov dword [esp], ebx
mov dword [esp + 4], 0x5693b4
call fcn.0044c570
mov eax, 0xcbf
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
xor eax, eax
mov ecx, 0x37
mov edx, 0xdc
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x1c4]
mov word [ebp - 0x180], dx
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov eax, dword [ebp - 0x2d8]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0xcc3
call fcn.0044bd10
mov dword [esp + 4], 0x56d178
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xcc4
call fcn.0044bd10
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
xor edx, edx
cmp eax, dword [0x5c824c]
je 0x478860
mov dword [esp + 0xc], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x56d198
call fcn.0044c570
mov esi, dword [sym.imp.user32.dll_ShowWindow]
mov dword [0x5c8188], 0x571040
mov dword [esp + 4], 9
mov edi, dword [ebp - 0x2c4]
mov dword [esp], edi
call esi
mov eax, 0xcca
sub esp, 8
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2cc]
call eax
mov eax, 0xccd
sub esp, 8
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov ebx, eax
mov eax, dword [ebp - 0x2e8]
mov dword [esp + 0x10], eax
mov edi, dword [ebp - 0x2ec]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp edi, dword [ebp - 0x28c]
je 0x478930
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x569374
call fcn.0044c570
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp], 0
mov eax, dword [ebp - 0x2d8]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0xcd0
call fcn.0044bd10
mov dword [esp + 4], 0x56d178
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xcd1
call fcn.0044bd10
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
xor edx, edx
cmp eax, dword [ebp - 0x284]
je 0x478848
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x56d198
call fcn.0044c570
mov edi, dword [ebp - 0x2c8]
mov eax, dword [edi]
mov dword [esp + 8], 0x11
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xcd6
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], ebx
call fcn.0044c570
mov ebx, dword [sym.imp.user32.dll_SendMessageA]
mov dword [0x5c8188], 0x571000
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf020
mov dword [esp + 4], 0x112
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], ecx
call ebx
mov eax, 0xcde
sub esp, 0x10
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov dword [0x5c8188], 0x570fc0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf120
mov dword [esp + 4], 0x112
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], ecx
call ebx
mov eax, 0xce3
sub esp, 0x10
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov dword [0x5c8188], 0x570f80
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf030
mov dword [esp + 4], 0x112
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], ecx
call ebx
mov eax, 0xce8
sub esp, 0x10
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [edi]
mov dword [0x5c8188], 0
mov dword [esp + 8], 0x11
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xcec
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], ebx
call fcn.0044c570
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [ebp - 0x2b8]
mov dword [0x5c8188], 0x571160
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xcf4
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [edi]
mov dword [esp], edi
call dword [eax + 0x4c]
sub esp, 4
mov ebx, eax
mov eax, 0xcf6
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5679a0
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xcf8
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
call fcn.0054f6e0
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x474a15
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0xcfb
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
jne 0x4749d8
mov dword [0x5c8188], 0
call fcn.0054f6e0
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x474aae
call fcn.0054f6e0
mov edx, dword [0x5c8180]
mov edi, dword [0x5c8184]
xor ecx, ecx
mov dword [eax], 0x567528
mov dword [eax + 4], 0xcfe
mov eax, dword [0x5c824c]
mov ebx, dword [0x5c8250]
cmp edx, eax
jne 0x474a86
xor ecx, ecx
cmp ebx, edi
sete cl
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x56d14c
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
jne 0x474a50
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov dword [ebp - 0x2e4], esi
mov ebx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x2d0]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x474b30
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
je 0x474be8
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0xd05
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x474b10
or ecx, dword [ebp - 0x290]
jne 0x474b10
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x474b10
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
mov esi, dword [ebp - 0x2e4]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xd09
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xd0a
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd0c
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov dword [esp + 4], 4
mov dword [esp], 0
mov eax, dword [ebp - 0x2e0]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xd12
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x56d088
mov dword [esp], eax
call fcn.0044c570
call fcn.0044b770
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
call dword [sym.imp.user32.dll_IsIconic]
sub esp, 4
test eax, eax
jne 0x478890
xor eax, eax
mov ecx, 0x18
lea edi, [ebp - 0x228]
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x22c], 1
lea esi, [ebp - 0x2b8]
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xd21
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xd23
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xd24
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd26
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x474e90
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
je 0x474f48
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0xd2b
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x474e70
or ecx, dword [ebp - 0x290]
jne 0x474e70
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x474e70
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ecx]
mov dword [esp + 8], 8
mov esi, dword [ebp - 0x2c4]
mov dword [esp], ecx
mov dword [esp + 4], esi
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xd2f
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], ebx
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x474ff0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov ebx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test ebx, ebx
je 0x4750a8
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0xd33
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov ebx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x474fd0
or ecx, dword [ebp - 0x290]
jne 0x474fd0
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x474fd0
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
lea edi, [ebp - 0x228]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov esi, eax
mov eax, 0xd37
call fcn.0044bd10
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x2b8]
not eax
mov dword [esp + 4], 0x5695b8
shr eax, 0x1f
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd38
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd3a
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, ebx
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xd44
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xd46
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xd47
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd49
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x4752f0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
je 0x4753a8
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0xd4e
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x4752d0
or ecx, dword [ebp - 0x290]
jne 0x4752d0
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x4752d0
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [ebp - 0x2b8]
mov dword [0x5c8188], 0x570f60
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xd57
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x17c], 0x180000
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 4
mov dword [esp], eax
mov eax, dword [ebp - 0x2e0]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xd5c
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x56d088
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
mov ebx, eax
mov eax, dword [0x628750]
sub esp, 4
call fcn.0044b590
jmp 0x4754f9
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0xd5e
xor eax, eax
cmp ebx, 0x887601c2
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x567725
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 0x10], 1
call fcn.0054f6e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4754c0
mov eax, 0xd60
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd62
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
mov eax, dword [0x5c8184]
mov dword [esp + 4], 0x56d198
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x4755e0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
je 0x475698
call fcn.0054f6e0
mov dword [eax], 0x567528
mov dword [eax + 4], 0xd66
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x4755c0
or ecx, dword [ebp - 0x290]
jne 0x4755c0
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x4755c0
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [ebp - 0x2b8]
mov dword [0x5c8188], 0x570f60
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xd6f
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x2c8]
call fcn.0044b890
mov ebx, eax
mov eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x2e8], eax
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x2e4], eax
cmp ebx, 0x887600e1
je 0x4789f0
mov eax, 0xd78
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x567978
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xd7a
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xd7c
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd7e
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd80
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
mov eax, dword [0x5c8184]
mov dword [esp + 4], 0x56d198
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x4758d0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov ebx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test ebx, ebx
je 0x475980
mov eax, 0xd84
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov ebx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x4758b0
or ecx, dword [ebp - 0x290]
jne 0x4758b0
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x4758b0
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
lea edi, [ebp - 0x228]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov esi, eax
mov eax, 0xd88
call fcn.0044bd10
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x2b8]
not eax
mov dword [esp + 4], 0x5695b8
shr eax, 0x1f
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd89
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd8b
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, ebx
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xd95
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xd97
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xd98
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xd9a
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x475bc8
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
je 0x475c78
mov eax, 0xd9f
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x475ba8
or ecx, dword [ebp - 0x290]
jne 0x475ba8
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x475ba8
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [ebp - 0x2b8]
mov dword [0x5c8188], 0x570f60
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xda8
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 0x4c]
sub esp, 4
mov ebx, eax
mov eax, 0xdaa
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5679a0
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xdac
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xdae
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xdb0
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
mov eax, dword [0x5c8184]
mov dword [esp + 4], 0x56d198
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x475e48
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov ebx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test ebx, ebx
je 0x475ef8
mov eax, 0xdb4
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov ebx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x475e28
or ecx, dword [ebp - 0x290]
jne 0x475e28
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x475e28
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
lea edi, [ebp - 0x228]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov esi, eax
mov eax, 0xdb8
call fcn.0044bd10
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x5695b8
shr eax, 0x1f
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xdb9
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xdbb
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x1c4]
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov eax, dword [ebp - 0x2d8]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0xdc0
call fcn.0044bd10
mov dword [esp], esi
mov dword [esp + 4], 0x56d178
call fcn.0044c570
mov eax, 0xdc1
call fcn.0044bd10
mov esi, dword [ebp - 0x114]
mov ecx, dword [0x5c8250]
mov edx, dword [ebp - 0x118]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d1f4
cmp esi, ecx
mov dword [esp + 0xc], ecx
sete cl
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0x10], edx
movzx eax, al
mov dword [esp + 0x14], esi
and eax, ecx
mov dword [esp], eax
call fcn.0044c570
mov dword [esp + 4], 4
mov dword [esp], 0
mov eax, dword [ebp - 0x2e0]
call eax
sub esp, 8
mov esi, eax
mov eax, 0xdc7
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x56d088
lea esi, [ebp - 0x2b8]
mov dword [esp], eax
call fcn.0044c570
mov eax, ebx
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xdcf
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xdd1
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xdd2
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xdd4
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x476210
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
je 0x4762c0
mov eax, 0xdd9
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x4761f0
or ecx, dword [ebp - 0x290]
jne 0x4761f0
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x4761f0
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ecx]
mov dword [esp + 8], 9
mov esi, dword [ebp - 0x2c4]
mov dword [esp], ecx
mov dword [esp + 4], esi
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xde0
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], ebx
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x476368
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov ebx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test ebx, ebx
je 0x476418
mov eax, 0xde4
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov ebx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x476348
or ecx, dword [ebp - 0x290]
jne 0x476348
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x476348
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
lea edi, [ebp - 0x228]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov esi, eax
mov eax, 0xde8
call fcn.0044bd10
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x2b8]
not eax
mov dword [esp + 4], 0x5695b8
shr eax, 0x1f
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xde9
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xdeb
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, ebx
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xdf5
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xdf7
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xdf8
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xdfa
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x476660
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
je 0x476710
mov eax, 0xdff
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x476640
or ecx, dword [ebp - 0x290]
jne 0x476640
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x476640
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [ebp - 0x2b8]
mov dword [0x5c8188], 0x570f60
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xe08
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x17c], 0x180000
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 4
mov dword [esp], eax
mov eax, dword [ebp - 0x2e0]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xe0d
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x56d088
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
mov ebx, eax
mov eax, dword [0x628750]
sub esp, 4
call fcn.0044b590
jmp 0x476851
mov eax, 0xe0f
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 0x10], 1
call fcn.0054f6e0
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x476820
mov eax, 0xe11
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe13
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
mov eax, dword [0x5c8184]
mov dword [esp + 4], 0x56d198
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x476938
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
je 0x4769e8
mov eax, 0xe17
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x476918
or ecx, dword [ebp - 0x290]
jne 0x476918
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x476918
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [ebp - 0x2b8]
mov dword [0x5c8188], 0x570f60
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xe20
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x2c8]
call fcn.0044b890
mov ebx, eax
mov eax, 0xe22
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x567978
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xe24
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xe26
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe28
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe2a
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
mov eax, dword [0x5c8184]
mov dword [esp + 4], 0x56d198
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x476c00
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov ebx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test ebx, ebx
je 0x476cb0
mov eax, 0xe2e
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov ebx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x476be0
or ecx, dword [ebp - 0x290]
jne 0x476be0
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x476be0
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
lea edi, [ebp - 0x228]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov esi, eax
mov eax, 0xe32
call fcn.0044bd10
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x2b8]
not eax
mov dword [esp + 4], 0x5695b8
shr eax, 0x1f
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe33
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe35
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, ebx
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xe3f
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xe41
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xe42
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe44
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2d0]
mov ebx, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x476ef8
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov edx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test edx, edx
je 0x476fa8
mov eax, 0xe49
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x476ed8
or ecx, dword [ebp - 0x290]
jne 0x476ed8
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x476ed8
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [ebp - 0x2b8]
mov dword [0x5c8188], 0x570f60
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xe52
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 0x4c]
sub esp, 4
mov ebx, eax
mov eax, 0xe54
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5679a0
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xe56
call fcn.0044bd10
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567725
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe58
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe5a
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
mov eax, dword [0x5c8184]
mov dword [esp + 4], 0x56d198
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x477178
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov ebx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test ebx, ebx
je 0x477228
mov eax, 0xe5e
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov ebx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x477158
or ecx, dword [ebp - 0x290]
jne 0x477158
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x477158
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
lea edi, [ebp - 0x228]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov esi, eax
mov eax, 0xe62
call fcn.0044bd10
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x5695b8
shr eax, 0x1f
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe63
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe65
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x1c4]
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov eax, dword [ebp - 0x2d8]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0xe6a
call fcn.0044bd10
mov dword [esp], esi
mov dword [esp + 4], 0x56d178
call fcn.0044c570
mov eax, 0xe6b
call fcn.0044bd10
mov esi, dword [ebp - 0x114]
mov ecx, dword [0x5c8250]
mov edx, dword [ebp - 0x118]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d1f4
cmp esi, ecx
mov dword [esp + 0xc], ecx
sete cl
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0x10], edx
movzx eax, al
mov dword [esp + 0x14], esi
and eax, ecx
mov dword [esp], eax
call fcn.0044c570
mov dword [esp + 4], 4
mov dword [esp], 0
mov eax, dword [ebp - 0x2e0]
call eax
sub esp, 8
mov esi, eax
mov eax, 0xe71
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x56d088
lea esi, [ebp - 0x2b8]
mov dword [esp], eax
call fcn.0044c570
mov eax, ebx
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xe79
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], ebx
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xe7b
call fcn.0044bd10
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], ebx
call fcn.0044c570
mov eax, 0xe7c
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe7e
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x294]
sub esp, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2d0]
mov esi, dword [ebp - 0x2d4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x477550
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x569374
call fcn.0044c570
call fcn.0054f6e0
shr dword [eax + 8], 1
call fcn.0054f6e0
mov ebx, dword [eax + 0xc]
mov dword [eax + 0xc], 0
test ebx, ebx
je 0x477600
mov eax, 0xe84
call fcn.0044bd10
mov eax, dword [ebp - 0x288]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x28c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x290]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x294]
mov dword [esp], 0x567531
mov dword [esp + 4], eax
call fcn.0044bd30
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov ebx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x567531
call fcn.0044bd30
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x477530
or ecx, dword [ebp - 0x290]
jne 0x477530
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x477530
mov edi, dword [ebp - 0x2c8]
mov eax, dword [edi]
mov dword [esp + 8], 0x11
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0xe89
call fcn.0044bd10
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], esi
call fcn.0044c570
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x280]
mov eax, edi
call fcn.0044b890
mov esi, eax
mov eax, 0xe8b
call fcn.0044bd10
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x567978
mov dword [esp], esi
call fcn.0044c570
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [edi]
mov dword [0x5c8188], 0x571160
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov dword [esp + 8], 8
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0xe93
call fcn.0044bd10
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], esi
call fcn.0044c570
mov eax, 0xe95
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xe97
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
xor ecx, ecx
mov eax, dword [0x5c824c]
mov edi, dword [0x5c8184]
mov esi, dword [0x5c8250]
cmp edx, eax
je 0x4789e0
mov dword [esp], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0x56d14c
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov edi, dword [ebp - 0x2cc]
call edi
mov eax, 0xe9e
sub esp, 8
call fcn.0044bd10
lea eax, [ebp - 0x294]
call fcn.0044bd70
mov edi, eax
lea eax, [ebp - 0x2b4]
call fcn.0044bd70
lea edx, [ebp - 0x2b4]
mov dword [esp + 4], edx
lea edx, [ebp - 0x294]
mov esi, eax
mov dword [esp], edx
call fcn.0044b0f0
sub esp, 8
mov dword [esp + 0xc], edi
lea edi, [ebp - 0x228]
mov dword [esp + 8], esi
xor esi, esi
mov dword [esp], eax
mov dword [esp + 4], 0x569374
call fcn.0044c570
mov eax, esi
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2c8]
mov dword [ebp - 0x22c], 1
lea edx, [ebp - 0x2b8]
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [edi]
mov dword [esp + 8], edx
lea edx, [ebp - 0x230]
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov edi, eax
mov eax, 0xea7
call fcn.0044bd10
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], edi
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
lea ecx, [ebp - 0x230]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov edi, eax
mov eax, 0xea9
call fcn.0044bd10
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], edi
call fcn.0044c570
mov eax, 0xeaa
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xeac
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov edi, dword [ebp - 0x2c8]
sub esp, 4
mov eax, dword [edi]
mov dword [esp + 8], 9
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov edi, eax
mov eax, 0xeb2
call fcn.0044bd10
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], edi
call fcn.0044c570
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x2c8]
call fcn.0044b890
mov edi, eax
mov eax, 0xeb4
call fcn.0044bd10
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x567978
mov dword [esp], edi
call fcn.0044c570
mov edi, dword [ebp - 0x2c8]
mov eax, dword [edi]
mov dword [esp + 8], 8
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov edi, eax
mov eax, 0xeb7
call fcn.0044bd10
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], edi
lea edi, [ebp - 0x228]
call fcn.0044c570
mov eax, esi
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2c8]
mov dword [ebp - 0x22c], 1
lea esi, [ebp - 0x2b8]
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [edi]
mov dword [esp + 8], esi
lea esi, [ebp - 0x230]
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp], edi
call dword [eax + 0x18]
sub esp, 0x10
mov esi, eax
mov eax, 0xebf
call fcn.0044bd10
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], esi
lea esi, [ebp - 0x230]
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov esi, eax
mov eax, 0xec1
call fcn.0044bd10
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], esi
call fcn.0044c570
mov eax, 0xec2
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xec4
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [edi]
sub esp, 4
mov dword [esp], edi
call dword [eax + 0x4c]
sub esp, 4
mov esi, eax
mov eax, 0xec9
call fcn.0044bd10
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x5679a0
mov dword [esp], esi
call fcn.0044c570
call fcn.0044b770
mov eax, dword [edi]
mov dword [esp + 8], 0x11
mov ecx, dword [ebp - 0x2c4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0xecf
call fcn.0044bd10
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], esi
call fcn.0044c570
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x280]
mov eax, edi
call fcn.0044b890
mov esi, eax
mov eax, 0xed1
call fcn.0044bd10
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x567978
mov dword [esp], esi
call fcn.0044c570
lea eax, [ebp - 0x274]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x2dc]
call eax
mov eax, dword [edi]
mov dword [0x5c8188], 0x571160
mov dword [0x5c8180], 0
sub esp, 0x14
mov dword [0x5c8184], 0
mov dword [0x5c8178], 0
mov dword [0x5c817c], 0
mov dword [esp + 8], 8
mov ecx, dword [ebp - 0x2f0]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0xedb
call fcn.0044bd10
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x567950
mov dword [esp], esi
call fcn.0044c570
mov eax, 0xedd
call fcn.0044bd10
mov eax, dword [0x5c8188]
mov eax, dword [eax]
mov dword [esp + 4], 0x56d11c
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xedf
mov dword [0x5c8188], 0
call fcn.0044bd10
mov edx, dword [0x5c8180]
mov eax, dword [0x5c8184]
mov dword [esp + 4], 0x56d198
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xee1
call fcn.0044bd10
mov edx, dword [0x5c8178]
mov eax, dword [0x5c824c]
mov esi, dword [0x5c817c]
mov ecx, dword [0x5c8250]
cmp edx, eax
je 0x4789d0
mov dword [esp + 0x10], edx
lea edi, [ebp - 0x294]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp], ebx
lea ebx, [ebp - 0x2a4]
mov dword [esp + 4], 0x56d220
call fcn.0044c570
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2cc]
call ecx
mov eax, 0xee6
sub esp, 8
call fcn.0044bd10
mov eax, edi
call fcn.0044bd70
mov edi, eax
mov eax, ebx
call fcn.0044bd70
lea edx, [ebp - 0x294]
mov dword [esp + 4], ebx
mov dword [esp], edx
mov esi, eax
call fcn.0044b0f0
sub esp, 8
mov dword [esp + 0xc], edi
lea edi, [ebp - 0x294]
mov dword [esp + 8], esi
lea esi, [ebp - 0x294]
mov dword [esp + 4], 0x569374
mov dword [esp], eax
call fcn.0044c570
mov dword [esp + 4], edi
mov edi, dword [ebp - 0x2f0]
mov dword [esp], edi
mov ecx, dword [ebp - 0x2cc]
call ecx
mov eax, 0xee9
sub esp, 8
call fcn.0044bd10
mov eax, esi
lea esi, [ebp - 0x2b4]
call fcn.0044bd70
mov edi, eax
mov eax, esi
call fcn.0044bd70
lea edx, [ebp - 0x2b4]
mov dword [esp + 4], edx
lea edx, [ebp - 0x294]
mov esi, eax
mov dword [esp], edx
call fcn.0044b0f0
sub esp, 8
mov dword [esp + 0xc], edi
lea edi, [ebp - 0x228]
mov dword [esp + 8], esi
xor esi, esi
mov dword [esp], eax
mov dword [esp + 4], 0x569374
call fcn.0044c570
mov eax, esi
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2c8]
mov dword [ebp - 0x22c], 1
lea edi, [ebp - 0x2b8]
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], edi
lea edi, [ebp - 0x230]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov edi, eax
mov eax, 0xef2
call fcn.0044bd10
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x568cec
mov dword [esp], edi
lea edi, [ebp - 0x230]
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov edi, eax
mov eax, 0xef4
call fcn.0044bd10
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x5695b8
mov dword [esp], edi
call fcn.0044c570
mov eax, 0xef5
call fcn.0044bd10
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5c824c]
mov dword [esp + 4], 0x56d0cc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, 0xef7
call fcn.0044bd10
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5c8250]
mov dword [esp + 4], 0x56d0f4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov ecx, dword [ebp - 0x2c8]
sub esp, 4
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 8]
sub esp, 4
mov edi, eax
mov eax, 0xefc
call fcn.0044bd10
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x567a5f
lea edi, [ebp - 0x294]
mov dword [esp], eax
call fcn.0044c570
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
mov ecx, dword [ebp - 0x2cc]
call ecx
mov eax, 0xeff
sub esp, 8
call fcn.0044bd10
mov eax, edi
call fcn.0044bd70
mov dword [ebp - 0x2c8], eax
mov eax, ebx
call fcn.0044bd70
lea ecx, [ebp - 0x294]
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov edi, eax
call fcn.0044b0f0
mov edx, dword [ebp - 0x2c8]
sub esp, 8
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], 0x569374
call fcn.0044c570
mov edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x2e4]
call fcn.0044b9c0
mov ebx, eax
mov eax, 0xf03
call fcn.0044bd10
mov dword [esp], ebx
mov dword [esp + 4], 0x56d250
call fcn.0044c570
mov eax, dword [ebp - 0x27c]
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x17c], 0x180000
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x114], eax
mov dword [esp + 4], 0x10000001
mov dword [esp], ecx
mov ecx, dword [ebp - 0x2e0]
call ecx
sub esp, 8
mov ebx, eax
mov eax, 0xf0a
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x56d274
mov dword [esp], eax
call fcn.0044c570
call fcn.0044b5c0
mov ebx, eax
mov eax, 0xf0d
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x567888
setne al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0xf0f
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567a5f
lea ebx, [ebp - 0xe8]
mov dword [esp], eax
mov edi, ebx
call fcn.0044c570
mov eax, esi
mov ecx, 0x37
rep stosd dword es:[edi], eax
mov eax, 0xdc
mov word [ebp - 0xa4], ax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2d8]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0xf14
call fcn.0044bd10
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], 0x56b884
mov dword [esp + 8], eax
call fcn.0044c570
mov eax, 0xf15
call fcn.0044bd10
mov edx, 0x5c81a0
mov eax, ebx
call fcn.0044b280
mov dword [esp + 4], 0x56cfd4
mov dword [esp], eax
call fcn.0044c570
mov edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x2e4]
call fcn.0044b9c0
mov esi, eax
mov eax, 0xf17
call fcn.0044bd10
mov dword [esp], esi
lea esi, [ebp - 0x1c4]
mov dword [esp + 4], 0x56d250
call fcn.0044c570
mov dword [esp + 4], 0x10000001
mov dword [esp], esi
mov esi, dword [ebp - 0x2e0]
call esi
sub esp, 8
mov esi, eax
mov eax, 0xf1b
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x56d274
mov dword [esp], eax
call fcn.0044c570
call fcn.0044b5c0
mov esi, eax
mov eax, 0xf1e
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x567888
setne al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [esi]
mov dword [esp + 8], 0x11
mov edx, dword [ebp - 0x2c4]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 0x50]
sub esp, 0xc
mov dword [ebp - 0x2c8], eax
mov eax, 0xf20
call fcn.0044bd10
mov edx, dword [ebp - 0x2c8]
xor eax, eax
mov dword [esp + 4], 0x567950
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [esi]
mov dword [esp + 8], 8
mov edx, dword [ebp - 0x2c4]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 0x50]
sub esp, 0xc
mov dword [ebp - 0x2c8], eax
mov eax, 0xf22
call fcn.0044bd10
mov edx, dword [ebp - 0x2c8]
xor eax, eax
mov dword [esp + 4], 0x567950
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov esi, eax
mov eax, 0xf24
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567a5f
mov dword [esp], eax
call fcn.0044c570
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2d8]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0xf27
call fcn.0044bd10
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], 0x56b884
mov dword [esp + 8], eax
call fcn.0044c570
mov eax, 0xf28
call fcn.0044bd10
mov edx, 0x5c81a0
mov eax, ebx
call fcn.0044b280
mov dword [esp + 4], 0x56cfd4
mov dword [esp], eax
call fcn.0044c570
mov edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x2e4]
call fcn.0044b9c0
mov esi, eax
mov eax, 0xf2a
call fcn.0044bd10
mov dword [esp], esi
mov dword [esp + 4], 0x56d250
call fcn.0044c570
call fcn.0044b5c0
mov esi, eax
mov eax, 0xf2f
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x567888
setne al
mov dword [esp], eax
call fcn.0044c570
mov ecx, dword [0x5c8250]
mov edx, dword [0x5c824c]
mov eax, esi
call fcn.0044b890
mov dword [ebp - 0x2c8], eax
mov eax, 0xf31
call fcn.0044bd10
mov edx, dword [ebp - 0x2c8]
xor eax, eax
mov dword [esp + 4], 0x567978
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0044c570
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 0x10000001
mov dword [esp], eax
mov eax, dword [ebp - 0x2e0]
call eax
sub esp, 8
mov dword [ebp - 0x2c8], eax
mov eax, 0xf34
call fcn.0044bd10
mov edx, dword [ebp - 0x2c8]
xor eax, eax
mov dword [esp + 4], 0x56d274
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov esi, eax
mov eax, 0xf37
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x567a5f
mov dword [esp], eax
call fcn.0044c570
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2d8]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0xf3a
call fcn.0044bd10
mov eax, dword [edi + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0x1c4]
mov dword [esp + 4], 0x56b884
mov dword [esp + 8], eax
call fcn.0044c570
mov eax, 0xf3b
call fcn.0044bd10
mov edx, esi
mov eax, ebx
call fcn.0044b280
mov dword [esp + 4], 0x56cfd4
mov dword [esp], eax
call fcn.0044c570
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffffe
mov dword [esp], 0
mov ecx, dword [ebp - 0x2d8]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0xf3d
call fcn.0044bd10
mov eax, dword [edi + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0x1c4]
mov dword [esp + 4], 0x56b884
mov dword [esp + 8], eax
call fcn.0044c570
mov eax, 0xf3e
call fcn.0044bd10
mov edx, esi
mov eax, ebx
call fcn.0044b280
mov dword [esp + 4], 0x56cfd4
mov dword [esp], eax
call fcn.0044c570
mov edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x2e4]
call fcn.0044b9c0
mov esi, eax
mov eax, 0xf40
call fcn.0044bd10
mov dword [esp], esi
mov dword [esp + 4], 0x56d250
call fcn.0044c570
call fcn.0044b5c0
mov esi, eax
mov eax, 0xf44
call fcn.0044bd10
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x567888
setne al
mov dword [esp], eax
call fcn.0044c570
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x284]
mov eax, esi
call fcn.0044b890
mov dword [ebp - 0x2c8], eax
mov eax, 0xf46
call fcn.0044bd10
mov edx, dword [ebp - 0x2c8]
xor eax, eax
mov dword [esp + 4], 0x567978
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0044c570
lea edx, [ebp - 0x1c4]
mov dword [esp + 4], 0x10000001
mov dword [esp], edx
mov eax, dword [ebp - 0x2e0]
call eax
sub esp, 8
mov dword [ebp - 0x2c8], eax
mov eax, 0xf49
call fcn.0044bd10
mov edx, dword [ebp - 0x2c8]
xor eax, eax
mov dword [esp + 4], 0x56d274
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 0x4c]
sub esp, 4
mov dword [ebp - 0x2c8], eax
mov eax, 0xf4c
call fcn.0044bd10
mov edx, dword [ebp - 0x2c8]
xor eax, eax
mov dword [esp + 4], 0x5679a0
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0044c570
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2d8]
call ecx
sub esp, 0xc
mov dword [ebp - 0x2c8], eax
mov eax, 0xf4f
call fcn.0044bd10
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x56b884
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2c8]
mov dword [esp], edx
call fcn.0044c570
mov eax, 0xf50
call fcn.0044bd10
lea edx, [ebp - 0x1c4]
mov eax, ebx
call fcn.0044b280
mov dword [esp + 4], 0x56cfd4
mov dword [esp], eax
call fcn.0044c570
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffffe
mov dword [esp], 0
mov ecx, dword [ebp - 0x2d8]
call ecx
sub esp, 0xc
mov dword [ebp - 0x2c8], eax
mov eax, 0xf52
call fcn.0044bd10
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x56b884
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2c8]
mov dword [esp], edx
call fcn.0044c570
mov eax, 0xf53
call fcn.0044bd10
lea edx, [ebp - 0x1c4]
mov eax, ebx
call fcn.0044b280
mov dword [esp + 4], 0x56cfd4
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0xf56
call fcn.0044bd10
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x567a5f
mov dword [esp], eax
call fcn.0044c570
mov eax, dword [ebp - 0x2c4]
mov ebx, dword [sym.imp.user32.dll_DestroyWindow]
mov dword [0x5c8188], 0
mov dword [esp], eax
call ebx
mov eax, dword [ebp - 0x2f0]
sub esp, 4
mov dword [esp], eax
call ebx
mov esi, dword [sym.imp.kernel32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp], 0
call esi
mov ebx, dword [sym.imp.user32.dll_UnregisterClassA]
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0x56b7c6
call ebx
sub esp, 8
mov dword [esp], 0
call esi
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0x56d0b2
call ebx
mov esi, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x2e8]
sub esp, 8
mov eax, esi
call fcn.0044b9c0
mov ebx, eax
mov eax, 0xf5f
call fcn.0044bd10
mov dword [esp], ebx
mov dword [esp + 4], 0x56d250
call fcn.0044c570
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll_free]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor edx, edx
cmp dword [ebp - 0x280], ecx
sete dl
jmp 0x4746f6
xor edx, edx
cmp dword [0x5c8250], ecx
sete dl
jmp 0x474573
xor ecx, ecx
cmp ebx, esi
sete cl
jmp 0x4743b5
xor ecx, ecx
cmp ebx, esi
sete cl
jmp 0x473ed3
mov dword [esp + 4], 9
mov eax, dword [ebp - 0x2c4]
mov dword [esp], eax
call esi
sub esp, 8
call fcn.0044b770
jmp 0x474d0b
mov eax, 0xc3d
call fcn.0044bd10
mov dword [esp], 0x56d040
call fcn.0044bfd0
mov eax, dword [ebp - 0x2c0]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_free]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
or ecx, dword [ebp - 0x290]
jne 0x473d51
xor edx, edx
mov ecx, dword [ebp - 0x2e4]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x473d51
or ecx, dword [ebp - 0x290]
jne 0x474477
xor edx, edx
mov ecx, dword [ebp - 0x2e4]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x474477
or ecx, dword [ebp - 0x290]
jne 0x47467a
xor edx, edx
mov ecx, dword [ebp - 0x2e8]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x47467a
or ecx, dword [ebp - 0x290]
jne 0x473b72
xor edx, edx
mov ecx, dword [ebp - 0x2e4]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x473b72
or ecx, dword [ebp - 0x290]
jne 0x473f95
xor edx, edx
mov ecx, dword [ebp - 0x2e8]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x473f95
or ecx, dword [ebp - 0x290]
jne 0x474231
xor edx, edx
mov ecx, dword [ebp - 0x2e8]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x474231
xor ebx, ebx
cmp ecx, esi
sete bl
jmp 0x477d3b
xor ecx, ecx
cmp esi, edi
sete cl
jmp 0x477776
mov eax, 0xd73
call fcn.0044bd10
mov dword [esp], str.Broken_SetDisplayMode____skipping_remaining_tests._n
call fcn.0044c540
mov eax, dword [ebp - 0x2b8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov ecx, dword [ebp - 0x2c8]
sub esp, 4
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 8]
sub esp, 4
jmp 0x478794