Function at 0x443060
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ecx, 0xa
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x258]
mov esi, 0xdc
push ebx
xor ebx, ebx
mov eax, ebx
sub esp, 0x304
mov dword [ebp - 0x2b0], 0
rep stosd dword es:[edi], eax
mov ecx, 0x37
lea edi, [ebp - 0x1c4]
mov dword [ebp - 0x2ac], 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 - 0x2c8], eax
call eax
sub esp, 0xc
mov edi, eax
mov eax, 0xbcd
call fcn.0040adb0
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], 0x5616f8
mov dword [esp + 8], eax
call fcn.0040b610
mov eax, 0xbce
call fcn.0040adb0
lea ecx, [ebp - 0x1c4]
mov edx, 0x5b8080
mov eax, ecx
call fcn.0040a3a0
mov dword [esp + 4], 0x561721
mov dword [esp], eax
call fcn.0040b610
lea ecx, [ebp - 0x1c4]
mov dword [esp + 4], 0xfffffffe
mov dword [esp + 8], ecx
mov dword [esp], 0
mov eax, dword [ebp - 0x2c8]
call eax
sub esp, 0xc
mov edi, eax
mov eax, 0xbd0
call fcn.0040adb0
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], 0x5616f8
mov dword [esp + 8], eax
call fcn.0040b610
mov eax, 0xbd1
call fcn.0040adb0
mov edx, 0x5b8080
lea eax, [ebp - 0x1c4]
call fcn.0040a3a0
mov dword [esp + 4], 0x561721
mov dword [esp], eax
call fcn.0040b610
lea edx, [ebp - 0x2ac]
lea eax, [ebp - 0x2b0]
call fcn.0040aa80
mov edi, eax
mov eax, 0xbd4
call fcn.0040adb0
mov dword [esp], edi
mov dword [esp + 4], 0x561738
call fcn.0040b610
call fcn.0040a6e0
mov esi, eax
mov eax, 0xbd7
call fcn.0040adb0
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x55e6e4
setne al
mov dword [esp], eax
call fcn.0040b610
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], 0x40a420
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, 0xbdb
call fcn.0040adb0
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x564534
mov dword [esp], edi
call fcn.0040b610
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov edi, eax
mov eax, 0xbdd
call fcn.0040adb0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x55e74c
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x2d4], eax
test eax, eax
je 0x447b50
mov eax, dword [0x5b8130]
mov ecx, 0x37
lea edi, [ebp - 0x1c4]
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x2a4], 0
mov esi, dword [ebp - 0x27c]
mov dword [ebp - 0x2c0], eax
mov eax, dword [0x5b812c]
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x2e0], esi
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x29c], eax
mov eax, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2d4]
mov ecx, 0xdc
mov dword [ebp - 0x17c], 0x180000
mov word [ebp - 0x180], cx
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x118], esi
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 - 0x2cc], ecx
call ecx
sub esp, 8
mov ebx, eax
mov eax, 0xbf0
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5645a8
mov dword [esp], eax
call fcn.0040b610
call fcn.0040a6e0
mov edi, eax
mov dword [ebp - 0x2bc], eax
mov eax, 0xbf3
call fcn.0040adb0
xor eax, eax
test edi, edi
mov dword [esp + 4], 0x55e6e4
setne al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xbf7
mov dword [ebp - 0x254], 0x41fca0
mov dword [ebp - 0x234], 0x561b37
call fcn.0040adb0
lea ecx, [ebp - 0x258]
mov dword [esp], ecx
call dword [sym.imp.user32.dll_RegisterClassA]
sub esp, 4
movzx eax, ax
mov dword [esp + 4], 0x55fce8
mov dword [esp], eax
call fcn.0040b610
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], 0x55e380
mov dword [esp + 4], 0x561b37
mov dword [esp], 0
call dword [sym.imp.user32.dll_CreateWindowExA]
mov ecx, eax
mov eax, dword [edi]
sub esp, 0x30
mov dword [esp + 8], 0x11
mov dword [ebp - 0x2b4], ecx
mov dword [esp + 4], ecx
mov dword [esp], edi
lea edi, [ebp - 0x294]
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xbfd
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560110
mov dword [esp], ebx
call fcn.0040b610
mov dword [esp + 4], edi
mov ecx, dword [ebp - 0x2b4]
mov dword [esp], ecx
mov ecx, dword [sym.imp.user32.dll_GetWindowRect]
mov dword [ebp - 0x2b8], ecx
call ecx
mov eax, 0xc00
sub esp, 8
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
mov ebx, eax
mov eax, dword [ebp - 0x2d4]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0
mov dword [esp], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
je 0x447ba8
mov dword [esp], edx
lea edi, [ebp - 0x228]
lea esi, [ebp - 0x2a8]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x560190
call fcn.0040b610
xor eax, eax
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
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, 0xc09
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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, 0xc0b
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xc0c
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x27c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xc0e
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x278]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xc12
sub esp, 8
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
mov ebx, eax
mov eax, dword [ebp - 0x2d4]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2e0]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
je 0x447bd0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 - 0x2d0], eax
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5b8060], 0x566c80
mov dword [0x5b8058], 0
sub esp, 0x14
mov dword [0x5b805c], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xc1b
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x2bc]
call fcn.0040a900
mov ebx, eax
mov eax, 0xc1d
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55ffa0
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xc1f
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xc21
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xc23
mov dword [0x5b8060], 0
call fcn.0040adb0
mov edx, dword [0x5b8058]
xor ecx, ecx
mov eax, dword [ebp - 0x284]
mov esi, dword [0x5b805c]
mov ebx, dword [ebp - 0x280]
cmp edx, eax
je 0x447af0
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], 0x564624
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xc28
sub esp, 8
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
mov ebx, eax
mov eax, dword [ebp - 0x2d8]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2dc]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
je 0x447bf8
mov dword [esp + 0xc], ebx
lea edi, [ebp - 0x228]
lea esi, [ebp - 0x2a8]
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], 0x560190
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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, 0xc2c
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xc2d
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x27c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xc2f
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x278]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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 - 0x2bc]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
lea edi, [ebp - 0x230]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xc39
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xc3b
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xc3c
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xc3e
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xc42
sub esp, 8
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
mov ebx, eax
mov eax, dword [ebp - 0x2d8]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2dc]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
je 0x447c20
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 - 0x2d0]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5b8060], 0x566c80
mov dword [0x5b8058], 0
sub esp, 0x14
mov dword [0x5b805c], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xc4b
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 4
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xc4d
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5645a8
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xc4f
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xc51
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xc53
mov dword [0x5b8060], 0
call fcn.0040adb0
mov edx, dword [0x5b8058]
xor ecx, ecx
mov eax, dword [ebp - 0x27c]
mov esi, dword [0x5b805c]
mov ebx, dword [ebp - 0x278]
cmp edx, eax
je 0x447b20
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], 0x564624
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xc58
sub esp, 8
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
mov ebx, eax
mov eax, dword [ebp - 0x2d4]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2e0]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
je 0x447b80
mov dword [esp], edx
lea edi, [ebp - 0x1c4]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x560190
call fcn.0040b610
mov dword [0x5b8060], 0x566be0
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, 0xc5d
call fcn.0040adb0
mov dword [esp], ebx
mov dword [esp + 4], 0x55f920
call fcn.0040b610
mov eax, 0xc5e
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
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 - 0x2c8]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0xc62
call fcn.0040adb0
mov dword [esp + 4], 0x564650
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xc63
call fcn.0040adb0
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
xor edx, edx
cmp eax, dword [0x5b812c]
je 0x447b10
mov dword [esp + 0xc], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x564670
call fcn.0040b610
mov esi, dword [sym.imp.user32.dll_ShowWindow]
mov dword [0x5b8060], 0x566b60
mov dword [esp + 4], 9
mov edi, dword [ebp - 0x2b4]
mov dword [esp], edi
call esi
mov eax, 0xc69
sub esp, 8
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xc6c
sub esp, 8
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
mov ebx, eax
mov eax, dword [ebp - 0x2d8]
mov dword [esp + 0x10], eax
mov edi, dword [ebp - 0x2dc]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0
mov dword [esp], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp edi, dword [ebp - 0x28c]
je 0x447c48
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x560190
call fcn.0040b610
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp], 0
mov eax, dword [ebp - 0x2c8]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0xc6f
call fcn.0040adb0
mov dword [esp + 4], 0x564650
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xc70
call fcn.0040adb0
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
xor edx, edx
cmp eax, dword [ebp - 0x284]
je 0x447b00
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x564670
call fcn.0040b610
mov edi, dword [ebp - 0x2bc]
mov eax, dword [edi]
mov dword [esp + 8], 0x11
mov ecx, dword [ebp - 0x2b4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc75
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560110
mov dword [esp], ebx
call fcn.0040b610
mov ebx, dword [sym.imp.user32.dll_SendMessageA]
mov dword [0x5b8060], 0x566b20
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf020
mov dword [esp + 4], 0x112
mov ecx, dword [ebp - 0x2b4]
mov dword [esp], ecx
call ebx
mov eax, 0xc7d
sub esp, 0x10
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov dword [0x5b8060], 0x566ae0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf120
mov dword [esp + 4], 0x112
mov ecx, dword [ebp - 0x2b4]
mov dword [esp], ecx
call ebx
mov eax, 0xc82
sub esp, 0x10
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov dword [0x5b8060], 0x566aa0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xf030
mov dword [esp + 4], 0x112
mov ecx, dword [ebp - 0x2b4]
mov dword [esp], ecx
call ebx
mov eax, 0xc87
sub esp, 0x10
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [edi]
mov dword [0x5b8060], 0
mov dword [esp + 8], 0x11
mov ecx, dword [ebp - 0x2b4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc8b
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560110
mov dword [esp], ebx
call fcn.0040b610
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 - 0x2d0]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5b8060], 0x566c80
mov dword [0x5b8058], 0
sub esp, 0x14
mov dword [0x5b805c], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xc93
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [edi]
mov dword [esp], edi
call dword [eax + 0x4c]
sub esp, 4
mov ebx, eax
mov eax, 0xc95
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5616d0
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xc97
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
call fcn.0054f6e0
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x4443f5
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xc9a
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
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 0x4443b8
mov dword [0x5b8060], 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 0x44448e
call fcn.0054f6e0
mov edx, dword [0x5b8058]
mov edi, dword [0x5b805c]
xor ecx, ecx
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xc9d
mov eax, dword [0x5b812c]
mov ebx, dword [0x5b8130]
cmp edx, eax
jne 0x444466
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], 0x564624
call fcn.0040b610
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 0x444430
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov dword [ebp - 0x2d4], esi
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x2c0]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x444510
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x4445c8
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xca4
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x4444f0
or ecx, dword [ebp - 0x290]
jne 0x4444f0
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x4444f0
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x230]
mov esi, dword [ebp - 0x2d4]
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, 0xca8
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xca9
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xcab
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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 - 0x2cc]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xcb1
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5645a8
mov dword [esp], eax
call fcn.0040b610
call fcn.0040a7e0
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
call dword [sym.imp.user32.dll_IsIconic]
sub esp, 4
test eax, eax
jne 0x447b30
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 - 0x2bc]
mov dword [ebp - 0x22c], 1
lea esi, [ebp - 0x2a8]
mov dword [ebp - 0x1c8], 0x200
lea edi, [ebp - 0x230]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xcc0
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xcc2
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xcc3
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xcc5
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5b8130]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x444870
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x444928
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xcca
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x444850
or ecx, dword [ebp - 0x290]
jne 0x444850
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x444850
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx]
mov dword [esp + 8], 8
mov esi, dword [ebp - 0x2b4]
mov dword [esp], ecx
mov dword [esp + 4], esi
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xcce
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560110
mov dword [esp], ebx
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x4449d0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x444a88
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xcd2
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x4449b0
or ecx, dword [ebp - 0x290]
jne 0x4449b0
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x4449b0
mov eax, dword [ebp - 0x2a8]
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, 0xcd6
call fcn.0040adb0
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x2a8]
not eax
mov dword [esp + 4], 0x560684
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xcd7
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xcd9
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5b8130]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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 - 0x2bc]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
lea edi, [ebp - 0x230]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xce3
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xce5
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xce6
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xce8
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5b8130]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x444cd0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x444d88
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xced
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x444cb0
or ecx, dword [ebp - 0x290]
jne 0x444cb0
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x444cb0
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 - 0x2d0]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5b8060], 0x566a88
mov dword [0x5b8058], 0
sub esp, 0x14
mov dword [0x5b805c], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xcf6
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
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 - 0x2cc]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xcfb
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5645a8
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
mov ebx, eax
mov eax, dword [0x628750]
sub esp, 4
call fcn.0040a6b0
jmp 0x444ed9
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xcfd
xor eax, eax
cmp ebx, 0x887601c2
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x55e733
call fcn.0040b610
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 0x444ea0
mov eax, 0xcff
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd01
mov dword [0x5b8060], 0
call fcn.0040adb0
mov edx, dword [0x5b8058]
mov eax, dword [0x5b805c]
mov dword [esp + 4], 0x564670
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x444fc0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x445078
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x444fa0
or ecx, dword [ebp - 0x290]
jne 0x444fa0
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x444fa0
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 - 0x2d0]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5b8060], 0x566a88
mov dword [0x5b8058], 0
sub esp, 0x14
mov dword [0x5b805c], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xd0e
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x2bc]
call fcn.0040a900
mov ebx, eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x2d8], eax
cmp ebx, 0x887600e1
je 0x447c70
mov eax, 0xd17
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55ffa0
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xd19
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xd1b
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd1d
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd1f
mov dword [0x5b8060], 0
call fcn.0040adb0
mov edx, dword [0x5b8058]
mov eax, dword [0x5b805c]
mov dword [esp + 4], 0x564670
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x4452b0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x445368
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xd23
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x445290
or ecx, dword [ebp - 0x290]
jne 0x445290
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x445290
mov eax, dword [ebp - 0x2a8]
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, 0xd27
call fcn.0040adb0
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x2a8]
not eax
mov dword [esp + 4], 0x560684
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd28
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd2a
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5b8130]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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 - 0x2bc]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
lea edi, [ebp - 0x230]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xd34
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xd36
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xd37
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd39
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x4455b0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x445668
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xd3e
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x445590
or ecx, dword [ebp - 0x290]
jne 0x445590
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x445590
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 - 0x2d0]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5b8060], 0x566a88
mov dword [0x5b8058], 0
sub esp, 0x14
mov dword [0x5b805c], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xd47
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 0x4c]
sub esp, 4
mov ebx, eax
mov eax, 0xd49
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5616d0
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xd4b
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd4d
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd4f
mov dword [0x5b8060], 0
call fcn.0040adb0
mov edx, dword [0x5b8058]
mov eax, dword [0x5b805c]
mov dword [esp + 4], 0x564670
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x445838
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x4458f0
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xd53
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x445818
or ecx, dword [ebp - 0x290]
jne 0x445818
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x445818
mov eax, dword [ebp - 0x2a8]
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, 0xd57
call fcn.0040adb0
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x560684
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd58
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd5a
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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 - 0x2c8]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0xd5f
call fcn.0040adb0
mov dword [esp], esi
mov dword [esp + 4], 0x564650
call fcn.0040b610
mov eax, 0xd60
call fcn.0040adb0
mov esi, dword [ebp - 0x114]
mov ecx, dword [0x5b8130]
mov edx, dword [ebp - 0x118]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5618e8
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.0040b610
mov dword [esp + 4], 4
mov dword [esp], 0
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
mov esi, eax
mov eax, 0xd66
call fcn.0040adb0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5645a8
lea esi, [ebp - 0x2a8]
mov dword [esp], eax
call fcn.0040b610
mov eax, ebx
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x22c], 1
lea edi, [ebp - 0x230]
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xd6e
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xd70
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xd71
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd73
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5b8130]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x445c08
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x445cc0
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xd78
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x445be8
or ecx, dword [ebp - 0x290]
jne 0x445be8
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x445be8
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx]
mov dword [esp + 8], 9
mov esi, dword [ebp - 0x2b4]
mov dword [esp], ecx
mov dword [esp + 4], esi
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xd7f
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560110
mov dword [esp], ebx
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x445d68
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x445e18
mov eax, 0xd83
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x445d48
or ecx, dword [ebp - 0x290]
jne 0x445d48
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x445d48
mov eax, dword [ebp - 0x2a8]
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, 0xd87
call fcn.0040adb0
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x2a8]
not eax
mov dword [esp + 4], 0x560684
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd88
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd8a
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5b8130]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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 - 0x2bc]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
lea edi, [ebp - 0x230]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xd94
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xd96
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xd97
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xd99
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5b8130]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x446060
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x446118
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xd9e
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x446040
or ecx, dword [ebp - 0x290]
jne 0x446040
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x446040
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 - 0x2d0]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5b8060], 0x566a88
mov dword [0x5b8058], 0
sub esp, 0x14
mov dword [0x5b805c], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xda7
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
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 - 0x2cc]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xdac
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5645a8
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
mov ebx, eax
mov eax, dword [0x628750]
sub esp, 4
call fcn.0040a6b0
jmp 0x446269
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xdae
xor eax, eax
cmp ebx, 0x887601c2
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x55e733
call fcn.0040b610
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 0x446230
mov eax, 0xdb0
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xdb2
mov dword [0x5b8060], 0
call fcn.0040adb0
mov edx, dword [0x5b8058]
mov eax, dword [0x5b805c]
mov dword [esp + 4], 0x564670
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x446350
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x446400
mov eax, 0xdb6
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x446330
or ecx, dword [ebp - 0x290]
jne 0x446330
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x446330
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 - 0x2d0]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5b8060], 0x566a88
mov dword [0x5b8058], 0
sub esp, 0x14
mov dword [0x5b805c], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xdbf
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x2bc]
call fcn.0040a900
mov ebx, eax
mov eax, 0xdc1
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55ffa0
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xdc3
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xdc5
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xdc7
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xdc9
mov dword [0x5b8060], 0
call fcn.0040adb0
mov edx, dword [0x5b8058]
mov eax, dword [0x5b805c]
mov dword [esp + 4], 0x564670
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x446610
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x4466c0
mov eax, 0xdcd
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x4465f0
or ecx, dword [ebp - 0x290]
jne 0x4465f0
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x4465f0
mov eax, dword [ebp - 0x2a8]
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, 0xdd1
call fcn.0040adb0
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x2a8]
not eax
mov dword [esp + 4], 0x560684
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xdd2
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xdd4
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5b8130]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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 - 0x2bc]
sub esp, 4
mov dword [ebp - 0x22c], 1
mov dword [ebp - 0x1c8], 0x200
lea edi, [ebp - 0x230]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xdde
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 8
mov ebx, eax
mov eax, 0xde0
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xde1
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xde3
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov esi, dword [ebp - 0x2c0]
mov ebx, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x446908
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x4469c0
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xde8
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp ebx, dword [ebp - 0x28c]
jne 0x4468e8
or ecx, dword [ebp - 0x290]
jne 0x4468e8
xor edx, edx
cmp dword [ebp - 0x288], esi
sete dl
jmp 0x4468e8
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 - 0x2d0]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5b8060], 0x566a88
mov dword [0x5b8058], 0
sub esp, 0x14
mov dword [0x5b805c], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xdf1
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 0x4c]
sub esp, 4
mov ebx, eax
mov eax, 0xdf3
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5616d0
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xdf5
call fcn.0040adb0
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e733
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xdf7
call fcn.0040adb0
mov eax, dword [0x5b8060]
mov eax, dword [eax]
mov dword [esp + 4], 0x564158
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xdf9
mov dword [0x5b8060], 0
call fcn.0040adb0
mov edx, dword [0x5b8058]
mov eax, dword [0x5b805c]
mov dword [esp + 4], 0x564670
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x446b90
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x446c40
mov eax, 0xdfd
call fcn.0040adb0
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x446b70
or ecx, dword [ebp - 0x290]
jne 0x446b70
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x446b70
mov eax, dword [ebp - 0x2a8]
lea esi, [ebp - 0x230]
lea edi, [ebp - 0x228]
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, 0xe01
call fcn.0040adb0
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x560684
shr eax, 0x1f
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xe02
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xe04
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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 - 0x2c8]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0xe09
call fcn.0040adb0
mov dword [esp], esi
mov dword [esp + 4], 0x564650
call fcn.0040b610
mov eax, 0xe0a
call fcn.0040adb0
mov esi, dword [ebp - 0x114]
mov ecx, dword [0x5b8130]
mov edx, dword [ebp - 0x118]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5618e8
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.0040b610
mov dword [esp + 4], 4
mov dword [esp], 0
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
mov esi, eax
mov eax, 0xe10
call fcn.0040adb0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5645a8
lea esi, [ebp - 0x230]
mov dword [esp], eax
call fcn.0040b610
mov eax, ebx
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x22c], 1
lea edi, [ebp - 0x2a8]
mov dword [ebp - 0x1c8], 0x200
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xe18
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], ebx
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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, 0xe1a
call fcn.0040adb0
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], ebx
call fcn.0040b610
mov eax, 0xe1b
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [0x5b812c]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xe1d
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [0x5b8130]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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 - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
sub esp, 8
call fcn.0054f6e0
mov edi, dword [ebp - 0x2c0]
mov esi, dword [ebp - 0x2c4]
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x446f70
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x560190
call fcn.0040b610
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 0x447028
call fcn.0054f6e0
mov dword [eax], 0x55e3cb
mov dword [eax + 4], 0xe23
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], 0x55e3d4
mov dword [esp + 4], eax
call fcn.0040add0
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], 0x55e3d4
call fcn.0040add0
mov ecx, dword [ebp - 0x294]
xor edx, edx
cmp esi, dword [ebp - 0x28c]
jne 0x446f50
or ecx, dword [ebp - 0x290]
jne 0x446f50
xor edx, edx
cmp dword [ebp - 0x288], edi
sete dl
jmp 0x446f50
mov edi, dword [ebp - 0x2bc]
mov eax, dword [edi]
mov dword [esp + 8], 0x11
mov ecx, dword [ebp - 0x2b4]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0xe28
call fcn.0040adb0
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x560110
mov dword [esp], esi
call fcn.0040b610
mov edx, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x280]
mov eax, edi
call fcn.0040a900
mov esi, eax
mov eax, 0xe2a
call fcn.0040adb0
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x55ffa0
mov dword [esp], esi
call fcn.0040b610
mov eax, dword [edi]
mov dword [esp + 8], 8
mov ecx, dword [ebp - 0x2b4]
mov dword [esp + 4], ecx
mov dword [ebp - 0x2bc], edi
mov dword [esp], edi
lea edi, [ebp - 0x228]
call dword [eax + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0xe2d
call fcn.0040adb0
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x560110
mov dword [esp], esi
lea esi, [ebp - 0x2a8]
call fcn.0040b610
mov eax, ebx
mov ecx, 0x18
mov dword [ebp - 0x230], 0x6c
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2bc]
mov dword [ebp - 0x22c], 1
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], edi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov esi, eax
mov eax, 0xe35
call fcn.0040adb0
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x55fb18
mov dword [esp], esi
lea esi, [ebp - 0x230]
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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, 0xe37
call fcn.0040adb0
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x560684
mov dword [esp], esi
call fcn.0040b610
mov eax, 0xe38
call fcn.0040adb0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x284]
mov dword [esp + 4], 0x5645d4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, 0xe3a
call fcn.0040adb0
mov edx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5645fc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2a8]
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, 0xe3e
call fcn.0040adb0
mov dword [esp + 8], esi
not esi
shr esi, 0x1f
mov dword [esp + 4], 0x5616d0
mov dword [esp], esi
call fcn.0040b610
mov eax, dword [edi]
mov dword [esp], edi
call dword [eax + 8]
sub esp, 4
mov esi, eax
mov eax, 0xe41
call fcn.0040adb0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x55e74c
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x294]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0x2b4]
mov dword [esp], ecx
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xe44
sub esp, 8
call fcn.0040adb0
lea eax, [ebp - 0x294]
call fcn.0040ae10
lea edx, [ebp - 0x2a4]
mov edi, eax
mov eax, edx
call fcn.0040ae10
lea edx, [ebp - 0x2a4]
mov esi, eax
lea eax, [ebp - 0x294]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0040a1b0
sub esp, 8
mov dword [esp + 0xc], edi
lea edi, [ebp - 0x1c4]
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], 0x560190
call fcn.0040b610
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x2d8]
call fcn.0040a9d0
mov esi, eax
mov eax, 0xe48
call fcn.0040adb0
mov dword [esp], esi
mov dword [esp + 4], 0x5617fc
call fcn.0040b610
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
mov dword [esp], edi
mov dword [esp + 4], 0x10000001
mov esi, dword [ebp - 0x2cc]
call esi
sub esp, 8
mov esi, eax
mov eax, 0xe4f
call fcn.0040adb0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5646cc
mov dword [esp], eax
call fcn.0040b610
call fcn.0040a6e0
mov esi, eax
mov eax, 0xe52
call fcn.0040adb0
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x55e6e4
setne al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov esi, eax
mov eax, 0xe54
call fcn.0040adb0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x55e74c
lea esi, [ebp - 0xe8]
mov dword [esp], eax
mov edi, esi
call fcn.0040b610
mov eax, ebx
mov ecx, 0x37
rep stosd dword es:[edi], eax
mov eax, 0xdc
mov word [ebp - 0xa4], ax
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0xe59
call fcn.0040adb0
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], 0x5616f8
mov dword [esp + 8], eax
call fcn.0040b610
mov eax, 0xe5a
call fcn.0040adb0
mov edx, 0x5b8080
mov eax, esi
call fcn.0040a3a0
mov dword [esp + 4], 0x561721
mov dword [esp], eax
call fcn.0040b610
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x2d8]
call fcn.0040a9d0
mov ebx, eax
mov eax, 0xe5c
call fcn.0040adb0
mov dword [esp], ebx
lea ebx, [ebp - 0x1c4]
mov dword [esp + 4], 0x5617fc
call fcn.0040b610
mov dword [esp + 4], 0x10000001
mov dword [esp], ebx
mov ebx, dword [ebp - 0x2cc]
call ebx
sub esp, 8
mov ebx, eax
mov eax, 0xe60
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x5646cc
mov dword [esp], eax
call fcn.0040b610
call fcn.0040a6e0
mov ebx, eax
mov eax, 0xe63
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x55e6e4
setne al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebx]
mov dword [esp + 8], 0x11
mov edx, dword [ebp - 0x2b4]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x50]
sub esp, 0xc
mov dword [ebp - 0x2b8], eax
mov eax, 0xe65
call fcn.0040adb0
mov edx, dword [ebp - 0x2b8]
xor eax, eax
mov dword [esp + 4], 0x560110
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebx]
mov dword [esp + 8], 8
mov edx, dword [ebp - 0x2b4]
mov dword [esp], ebx
mov dword [esp + 4], edx
call dword [eax + 0x50]
sub esp, 0xc
mov dword [ebp - 0x2b8], eax
mov eax, 0xe67
call fcn.0040adb0
mov edx, dword [ebp - 0x2b8]
xor eax, eax
mov dword [esp + 4], 0x560110
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0xe69
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e74c
mov dword [esp], eax
call fcn.0040b610
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0xe6c
call fcn.0040adb0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], 0x5616f8
mov dword [esp + 8], eax
call fcn.0040b610
mov eax, 0xe6d
call fcn.0040adb0
mov edx, 0x5b8080
mov eax, esi
call fcn.0040a3a0
mov dword [esp + 4], 0x561721
mov dword [esp], eax
call fcn.0040b610
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x2d8]
call fcn.0040a9d0
mov ebx, eax
mov eax, 0xe6f
call fcn.0040adb0
mov dword [esp], ebx
mov dword [esp + 4], 0x5617fc
call fcn.0040b610
call fcn.0040a6e0
mov ebx, eax
mov eax, 0xe74
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x55e6e4
setne al
mov dword [esp], eax
call fcn.0040b610
mov ecx, dword [0x5b8130]
mov edx, dword [0x5b812c]
mov eax, ebx
call fcn.0040a900
mov dword [ebp - 0x2b8], eax
mov eax, 0xe76
call fcn.0040adb0
mov edx, dword [ebp - 0x2b8]
xor eax, eax
mov dword [esp + 4], 0x55ffa0
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0040b610
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 0x10000001
mov dword [esp], eax
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
mov dword [ebp - 0x2b8], eax
mov eax, 0xe79
call fcn.0040adb0
mov edx, dword [ebp - 0x2b8]
xor eax, eax
mov dword [esp + 4], 0x5646cc
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0xe7c
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e74c
mov dword [esp], eax
call fcn.0040b610
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0xe7f
call fcn.0040adb0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
lea ebx, [ebp - 0x1c4]
mov dword [esp + 4], 0x5616f8
mov dword [esp + 8], eax
call fcn.0040b610
mov eax, 0xe80
call fcn.0040adb0
mov edx, ebx
mov eax, esi
call fcn.0040a3a0
mov dword [esp + 4], 0x561721
mov dword [esp], eax
call fcn.0040b610
mov dword [esp + 8], esi
mov dword [esp + 4], 0xfffffffe
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0xe82
call fcn.0040adb0
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
lea ebx, [ebp - 0x1c4]
mov dword [esp + 4], 0x5616f8
mov dword [esp + 8], eax
call fcn.0040b610
mov eax, 0xe83
call fcn.0040adb0
mov edx, ebx
mov eax, esi
call fcn.0040a3a0
mov dword [esp + 4], 0x561721
mov dword [esp], eax
call fcn.0040b610
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x2d8]
call fcn.0040a9d0
mov ebx, eax
mov eax, 0xe85
call fcn.0040adb0
mov dword [esp], ebx
mov dword [esp + 4], 0x5617fc
call fcn.0040b610
call fcn.0040a6e0
mov ebx, eax
mov eax, 0xe89
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x55e6e4
setne al
mov dword [esp], eax
call fcn.0040b610
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x284]
mov eax, ebx
call fcn.0040a900
mov dword [ebp - 0x2b8], eax
mov eax, 0xe8b
call fcn.0040adb0
mov edx, dword [ebp - 0x2b8]
xor eax, eax
mov dword [esp + 4], 0x55ffa0
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0040b610
lea edx, [ebp - 0x1c4]
mov dword [esp + 4], 0x10000001
mov dword [esp], edx
mov eax, dword [ebp - 0x2cc]
call eax
sub esp, 8
mov dword [ebp - 0x2b8], eax
mov eax, 0xe8e
call fcn.0040adb0
mov edx, dword [ebp - 0x2b8]
xor eax, eax
mov dword [esp + 4], 0x5646cc
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 0x4c]
sub esp, 4
mov dword [ebp - 0x2b8], eax
mov eax, 0xe91
call fcn.0040adb0
mov edx, dword [ebp - 0x2b8]
xor eax, eax
mov dword [esp + 4], 0x5616d0
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.0040b610
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov dword [ebp - 0x2b8], eax
mov eax, 0xe94
call fcn.0040adb0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5616f8
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2b8]
mov dword [esp], edx
call fcn.0040b610
mov eax, 0xe95
call fcn.0040adb0
lea edx, [ebp - 0x1c4]
mov eax, esi
call fcn.0040a3a0
mov dword [esp + 4], 0x561721
mov dword [esp], eax
call fcn.0040b610
mov dword [esp + 8], esi
mov dword [esp + 4], 0xfffffffe
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov dword [ebp - 0x2b8], eax
mov eax, 0xe97
call fcn.0040adb0
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5616f8
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2b8]
mov dword [esp], edx
call fcn.0040b610
mov eax, 0xe98
call fcn.0040adb0
lea edx, [ebp - 0x1c4]
mov eax, esi
call fcn.0040a3a0
mov dword [esp + 4], 0x561721
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0xe9b
call fcn.0040adb0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x55e74c
mov dword [esp], eax
call fcn.0040b610
mov eax, dword [ebp - 0x2b4]
mov dword [0x5b8060], 0
mov dword [esp], eax
call dword [sym.imp.user32.dll_DestroyWindow]
sub esp, 4
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0x561b37
call dword [sym.imp.user32.dll_UnregisterClassA]
mov esi, dword [ebp - 0x2d8]
mov edx, dword [ebp - 0x2d4]
sub esp, 8
mov eax, esi
call fcn.0040a9d0
mov ebx, eax
mov eax, 0xea2
call fcn.0040adb0
mov dword [esp], ebx
mov dword [esp + 4], 0x5617fc
call fcn.0040b610
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 ecx, ecx
cmp ebx, esi
sete cl
jmp 0x4438b5
xor edx, edx
cmp dword [ebp - 0x280], ecx
sete dl
jmp 0x4440d8
xor edx, edx
cmp dword [0x5b8130], ecx
sete dl
jmp 0x443f55
xor ecx, ecx
cmp ebx, esi
sete cl
jmp 0x443d97
mov dword [esp + 4], 9
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
call esi
sub esp, 8
call fcn.0040a7e0
jmp 0x4446eb
mov eax, 0xbe1
call fcn.0040adb0
mov dword [esp], 0x564560
call fcn.0040b070
mov eax, dword [ebp - 0x2b0]
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 0x443e59
xor edx, edx
mov ecx, dword [ebp - 0x2d4]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x443e59
or ecx, dword [ebp - 0x290]
jne 0x443554
xor edx, edx
mov ecx, dword [ebp - 0x2d4]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x443554
or ecx, dword [ebp - 0x290]
jne 0x443733
xor edx, edx
mov ecx, dword [ebp - 0x2d4]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x443733
or ecx, dword [ebp - 0x290]
jne 0x443977
xor edx, edx
mov ecx, dword [ebp - 0x2d8]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x443977
or ecx, dword [ebp - 0x290]
jne 0x443c13
xor edx, edx
mov ecx, dword [ebp - 0x2d8]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x443c13
or ecx, dword [ebp - 0x290]
jne 0x44405c
xor edx, edx
mov ecx, dword [ebp - 0x2d8]
cmp dword [ebp - 0x288], ecx
sete dl
jmp 0x44405c
mov eax, 0xd12
call fcn.0040adb0
mov dword [esp], 0x564698
call fcn.0040b5e0
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov ecx, dword [ebp - 0x2bc]
sub esp, 4
mov eax, dword [ecx]
mov dword [esp], ecx
call dword [eax + 8]
sub esp, 4
jmp 0x447a6d