Function at 0x4ddd20
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 - 0x268]
mov edi, ebx
sub esp, 0x308
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, 0xd19
call fcn.00492d60
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], 0x574e44
mov dword [esp + 8], eax
call fcn.00493590
mov eax, 0xd1a
call fcn.00492d60
lea ecx, [ebp - 0x1c4]
mov edx, 0x5d82c0
mov eax, ecx
call fcn.004921d0
mov dword [esp + 4], 0x5754de
mov dword [esp], eax
call fcn.00493590
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, 0xd1c
call fcn.00492d60
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], 0x574e44
mov dword [esp + 8], eax
call fcn.00493590
mov eax, 0xd1d
call fcn.00492d60
mov edx, 0x5d82c0
lea eax, [ebp - 0x1c4]
call fcn.004921d0
mov dword [esp + 4], 0x5754de
mov dword [esp], eax
call fcn.00493590
lea edx, [ebp - 0x2ac]
lea eax, [ebp - 0x2b0]
call fcn.00492ac0
mov edi, eax
mov eax, 0xd20
call fcn.00492d60
mov dword [esp], edi
mov dword [esp + 4], 0x5754f8
call fcn.00493590
call fcn.00492530
mov esi, eax
mov eax, 0xd23
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x571e04
setne al
mov dword [esp], eax
call fcn.00493590
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x288], 0
mov eax, dword [esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x492250
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, 0xd27
call fcn.00492d60
mov dword [esp + 8], edi
not edi
shr edi, 0x1f
mov dword [esp + 4], 0x579f04
mov dword [esp], edi
call fcn.00493590
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov edi, eax
mov eax, 0xd29
call fcn.00492d60
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], 0x571eeb
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x2dc], eax
test eax, eax
je 0x4e3180
mov eax, dword [0x5d8370]
mov ecx, 0x37
lea edi, [ebp - 0x1c4]
mov esi, dword [ebp - 0x28c]
mov dword [ebp - 0x2c0], eax
mov eax, dword [0x5d836c]
mov dword [ebp - 0x2e4], esi
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x290]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x2d8], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x2dc]
mov ecx, 0xdc
mov edi, esi
mov word [ebp - 0x180], cx
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x118], esi
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 - 0x2d0], ecx
call ecx
sub esp, 8
mov esi, eax
mov eax, 0xd3c
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x579f78
mov dword [esp], eax
call fcn.00493590
call fcn.00492530
mov esi, eax
mov eax, 0xd3f
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x571e04
setne al
mov dword [ebp - 0x2bc], esi
mov dword [esp], eax
call fcn.00493590
mov eax, 0xd43
mov dword [ebp - 0x264], 0x49c240
mov dword [ebp - 0x244], 0x574d86
call fcn.00492d60
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], 0x5731b0
call fcn.00493590
mov eax, 0xd46
mov dword [ebp - 0x264], 0x49c1d0
mov dword [ebp - 0x244], 0x579fa2
call fcn.00492d60
mov dword [esp], ebx
call esi
sub esp, 4
movzx eax, ax
mov dword [esp + 4], 0x5731b0
mov dword [esp], eax
call fcn.00493590
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], 0x571aa0
mov dword [esp + 4], 0x574d86
mov dword [esp], 0
call ebx
sub esp, 0x30
mov dword [ebp - 0x2b4], 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], 0x571aa0
mov dword [esp + 4], 0x579fa2
mov dword [esp], 0
call ebx
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x2e0], 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, 0xd4e
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571d8c
mov dword [esp], ebx
call fcn.00493590
lea ecx, [ebp - 0x2a4]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, dword [sym.imp.user32.dll_GetWindowRect]
mov dword [ebp - 0x2b8], ecx
call ecx
mov eax, 0xd51
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2dc]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp edi, dword [ebp - 0x29c]
je 0x4e3230
mov dword [esp], edx
lea edi, [ebp - 0x238]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x573838
call fcn.00493590
xor eax, eax
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x23c], 1
lea edi, [ebp - 0x2a8]
mov dword [ebp - 0x1d8], 0x200
mov eax, dword [ecx]
mov dword [esp + 8], edi
lea edi, [ebp - 0x240]
mov dword [esp], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 4], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xd5a
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xd5c
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xd5d
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x28c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xd5f
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x288]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xd63
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2dc]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2e4]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
je 0x4e3320
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], 0x573838
call fcn.00493590
lea eax, [ebp - 0x284]
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 - 0x2cc], eax
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5d82ac], 0x57d800
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xd6c
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x2bc]
call fcn.00492800
mov ebx, eax
mov eax, 0xd6e
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571db4
mov dword [esp], ebx
call fcn.00493590
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, 0xd70
call fcn.00492d60
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov eax, 0xd72
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xd74
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
xor ecx, ecx
mov eax, dword [ebp - 0x294]
mov esi, dword [0x5d82a4]
mov ebx, dword [ebp - 0x290]
cmp edx, eax
je 0x4e3130
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], 0x57a00c
call fcn.00493590
lea eax, [ebp - 0x2a4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xd79
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2d4]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2d8]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
je 0x4e32d0
mov dword [esp + 0xc], ebx
lea edi, [ebp - 0x238]
lea esi, [ebp - 0x240]
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], 0x573838
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
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, 0xd7d
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xd7e
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x28c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xd80
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x288]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
xor eax, eax
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
sub esp, 4
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x1d8], 0x200
lea edi, [ebp - 0x2a8]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xd8a
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xd8c
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xd8d
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x294]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xd8f
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x290]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xd93
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2d4]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2d8]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
je 0x4e32f8
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], 0x573838
call fcn.00493590
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5d82ac], 0x57d800
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xd9c
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 4
mov dword [esp], eax
mov eax, dword [ebp - 0x2d0]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xd9e
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x579f78
mov dword [esp], eax
call fcn.00493590
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, 0xda0
call fcn.00492d60
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov eax, 0xda2
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xda4
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
xor ecx, ecx
mov eax, dword [ebp - 0x28c]
mov esi, dword [0x5d82a4]
mov ebx, dword [ebp - 0x288]
cmp edx, eax
je 0x4e3120
mov dword [esp + 0x10], edx
mov dword [esp], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x14], esi
mov dword [esp + 4], 0x57a00c
call fcn.00493590
lea eax, [ebp - 0x2a4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xda9
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2dc]
mov dword [esp + 0x10], eax
mov edi, dword [ebp - 0x2e4]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp edi, dword [ebp - 0x29c]
je 0x4e31b0
mov dword [esp], edx
lea edi, [ebp - 0x1c4]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x573838
call fcn.00493590
mov eax, dword [ebp - 0x2bc]
mov dword [0x5d82ac], 0x57d740
mov dword [0x5d82a8], eax
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, 0xdaf
call fcn.00492d60
mov dword [esp], ebx
mov dword [esp + 4], 0x573878
call fcn.00493590
mov eax, 0xdb0
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
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 [0x5d82a8], 0
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, 0xdb6
call fcn.00492d60
mov dword [esp + 4], 0x57a038
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xdb7
call fcn.00492d60
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
xor edx, edx
cmp eax, dword [0x5d836c]
je 0x4e3110
mov dword [esp + 0xc], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x57a058
call fcn.00493590
mov esi, dword [sym.imp.user32.dll_ShowWindow]
mov dword [0x5d82ac], 0x57d6a0
mov dword [esp + 4], 9
mov edi, dword [ebp - 0x2b4]
mov dword [esp], edi
call esi
mov eax, 0xdbd
sub esp, 8
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xdc0
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2d4]
mov dword [esp + 0x10], eax
mov edi, dword [ebp - 0x2d8]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp edi, dword [ebp - 0x29c]
je 0x4e3258
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x573838
call fcn.00493590
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, 0xdc3
call fcn.00492d60
mov dword [esp + 4], 0x57a038
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xdc4
call fcn.00492d60
mov ecx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x118]
xor edx, edx
cmp eax, dword [ebp - 0x294]
je 0x4e3100
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x57a058
call fcn.00493590
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, 0xdc9
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571d8c
mov dword [esp], ebx
call fcn.00493590
mov ebx, dword [sym.imp.user32.dll_SendMessageA]
mov dword [0x5d82ac], 0x57d640
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, 0xdd1
sub esp, 0x10
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov dword [0x5d82ac], 0x57d5e0
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, 0xdd6
sub esp, 0x10
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov dword [0x5d82ac], 0x57d580
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, 0xddb
sub esp, 0x10
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [edi]
mov dword [0x5d82ac], 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, 0xddf
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571d8c
mov dword [esp], ebx
call fcn.00493590
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5d82ac], 0x57d800
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xde7
call fcn.00492d60
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov eax, dword [edi]
mov dword [esp], edi
call dword [eax + 0x4c]
sub esp, 4
mov ebx, eax
mov eax, 0xde9
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571ddc
mov dword [esp], ebx
call fcn.00493590
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, 0xdeb
call fcn.00492d60
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
call fcn.0054f6e0
mov edx, dword [eax + 8]
mov dword [eax + 0xc], 1
lea edx, [edx + edx + 1]
mov dword [eax + 8], edx
jmp 0x4df13d
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xdee
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
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 0x4df100
mov dword [0x5d82ac], 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 0x4df1d6
call fcn.0054f6e0
mov edx, dword [0x5d82a0]
mov edi, dword [0x5d82a4]
xor ecx, ecx
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xdf1
mov eax, dword [0x5d836c]
mov ebx, dword [0x5d8370]
cmp edx, eax
jne 0x4df1ae
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], 0x57a00c
call fcn.00493590
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 0x4df178
lea eax, [ebp - 0x2a4]
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 - 0x2dc], 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 0x4df258
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4df310
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xdf8
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4df238
or ecx, dword [ebp - 0x2a0]
jne 0x4df238
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4df238
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
mov esi, dword [ebp - 0x2dc]
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, 0xdfc
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xdfd
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x294]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xdff
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x290]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
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 - 0x2d0]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xe05
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x579f78
mov dword [esp], eax
call fcn.00493590
call fcn.004926e0
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
call dword [sym.imp.user32.dll_IsIconic]
sub esp, 4
test eax, eax
jne 0x4e3160
xor eax, eax
mov ecx, 0x1d
lea edi, [ebp - 0x238]
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x23c], 1
lea esi, [ebp - 0x240]
mov dword [ebp - 0x1d8], 0x200
lea edi, [ebp - 0x2a8]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xe14
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xe16
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xe17
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe19
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4df5c0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4df678
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xe1e
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4df5a0
or ecx, dword [ebp - 0x2a0]
jne 0x4df5a0
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4df5a0
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, 0xe22
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571d8c
mov dword [esp], ebx
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4df720
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4df7d8
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xe26
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
jne 0x4df700
or ecx, dword [ebp - 0x2a0]
jne 0x4df700
xor edx, edx
cmp dword [ebp - 0x298], edi
sete dl
jmp 0x4df700
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
lea edi, [ebp - 0x238]
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, 0xe2a
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x240]
not eax
mov dword [esp + 4], 0x573d74
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe2b
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe2d
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, ebx
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
sub esp, 4
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x1d8], 0x200
lea edi, [ebp - 0x2a8]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xe37
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xe39
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xe3a
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe3c
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4dfa20
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4dfad8
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xe41
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4dfa00
or ecx, dword [ebp - 0x2a0]
jne 0x4dfa00
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4dfa00
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5d82ac], 0x57d560
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xe4a
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x17c], 0x180000
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 4
mov dword [esp], eax
mov eax, dword [ebp - 0x2d0]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xe4f
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x579f78
mov dword [esp], eax
call fcn.00493590
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.00492500
jmp 0x4dfc29
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xe51
xor eax, eax
cmp ebx, 0x887601c2
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x571c8b
call fcn.00493590
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 0x4dfbf0
mov eax, 0xe53
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe55
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
mov eax, dword [0x5d82a4]
mov dword [esp + 4], 0x57a058
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4dfd10
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4dfdc8
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xe59
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4dfcf0
or ecx, dword [ebp - 0x2a0]
jne 0x4dfcf0
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4dfcf0
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5d82ac], 0x57d560
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xe62
call fcn.00492d60
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x2bc]
call fcn.00492800
mov ebx, eax
mov eax, 0xe64
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571db4
mov dword [esp], ebx
call fcn.00493590
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, 0xe66
call fcn.00492d60
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
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, 0xe68
call fcn.00492d60
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe6a
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe6c
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
mov eax, dword [0x5d82a4]
mov dword [esp + 4], 0x57a058
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4dffe0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e0098
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xe70
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
jne 0x4dffc0
or ecx, dword [ebp - 0x2a0]
jne 0x4dffc0
xor edx, edx
cmp dword [ebp - 0x298], edi
sete dl
jmp 0x4dffc0
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
lea edi, [ebp - 0x238]
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, 0xe74
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x240]
not eax
mov dword [esp + 4], 0x573d74
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe75
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe77
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, ebx
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
sub esp, 4
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x1d8], 0x200
lea edi, [ebp - 0x2a8]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xe81
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xe83
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xe84
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x294]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe86
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x290]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4e02e0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e0398
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xe8b
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4e02c0
or ecx, dword [ebp - 0x2a0]
jne 0x4e02c0
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4e02c0
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5d82ac], 0x57d560
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xe94
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
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, 0xe96
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571ddc
mov dword [esp], ebx
call fcn.00493590
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, 0xe98
call fcn.00492d60
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe9a
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xe9c
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
mov eax, dword [0x5d82a4]
mov dword [esp + 4], 0x57a058
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4e0568
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e0620
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xea0
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
jne 0x4e0548
or ecx, dword [ebp - 0x2a0]
jne 0x4e0548
xor edx, edx
cmp dword [ebp - 0x298], edi
sete dl
jmp 0x4e0548
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
lea edi, [ebp - 0x238]
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, 0xea4
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x573d74
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov eax, 0xea5
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x294]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xea7
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x290]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
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, 0xeac
call fcn.00492d60
mov dword [esp], esi
mov dword [esp + 4], 0x57a038
call fcn.00493590
mov eax, 0xead
call fcn.00492d60
mov esi, dword [ebp - 0x118]
mov ecx, dword [0x5d836c]
mov edx, dword [ebp - 0x114]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x57567c
cmp esi, ecx
mov dword [esp + 8], ecx
sete cl
cmp edx, eax
mov dword [esp + 0xc], eax
sete al
mov dword [esp + 0x14], edx
movzx eax, al
mov dword [esp + 0x10], esi
and eax, ecx
mov dword [esp], eax
call fcn.00493590
mov dword [esp + 4], 4
mov dword [esp], 0
mov eax, dword [ebp - 0x2d0]
call eax
sub esp, 8
mov esi, eax
mov eax, 0xeb3
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x579f78
lea esi, [ebp - 0x240]
mov dword [esp], eax
call fcn.00493590
mov eax, ebx
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x23c], 1
lea edi, [ebp - 0x2a8]
mov dword [ebp - 0x1d8], 0x200
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xebb
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xebd
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xebe
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xec0
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4e0938
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e09f0
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xec5
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4e0918
or ecx, dword [ebp - 0x2a0]
jne 0x4e0918
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4e0918
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, 0xecc
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571d8c
mov dword [esp], ebx
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4e0a98
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e0b50
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xed0
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
jne 0x4e0a78
or ecx, dword [ebp - 0x2a0]
jne 0x4e0a78
xor edx, edx
cmp dword [ebp - 0x298], edi
sete dl
jmp 0x4e0a78
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
lea edi, [ebp - 0x238]
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, 0xed4
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x240]
not eax
mov dword [esp + 4], 0x573d74
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov eax, 0xed5
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xed7
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, ebx
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
sub esp, 4
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x1d8], 0x200
lea edi, [ebp - 0x2a8]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xee1
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xee3
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xee4
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xee6
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4e0d98
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e0e50
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xeeb
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4e0d78
or ecx, dword [ebp - 0x2a0]
jne 0x4e0d78
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4e0d78
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5d82ac], 0x57d560
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xef4
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x17c], 0x180000
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x114], eax
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 4
mov dword [esp], eax
mov eax, dword [ebp - 0x2d0]
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xef9
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x579f78
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
mov esi, dword [0x628750]
sub esp, 4
mov ebx, eax
call fcn.0054f6e0
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test esi, esi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x4e0fb9
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xefb
xor eax, eax
cmp ebx, 0x887601c2
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], 0x571c8b
call fcn.00493590
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 0x4e0f80
mov eax, 0xefd
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xeff
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
mov eax, dword [0x5d82a4]
mov dword [esp + 4], 0x57a058
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4e10a0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e1158
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xf03
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4e1080
or ecx, dword [ebp - 0x2a0]
jne 0x4e1080
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4e1080
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5d82ac], 0x57d560
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x6c]
sub esp, 4
mov ebx, eax
mov eax, 0xf0c
call fcn.00492d60
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0x2bc]
call fcn.00492800
mov ebx, eax
mov eax, 0xf0e
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571db4
mov dword [esp], ebx
call fcn.00493590
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, 0xf10
call fcn.00492d60
xor eax, eax
cmp ebx, 0x8876024b
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
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, 0xf12
call fcn.00492d60
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf14
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf16
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
mov eax, dword [0x5d82a4]
mov dword [esp + 4], 0x57a058
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4e1370
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e1428
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xf1a
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
jne 0x4e1350
or ecx, dword [ebp - 0x2a0]
jne 0x4e1350
xor edx, edx
cmp dword [ebp - 0x298], edi
sete dl
jmp 0x4e1350
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
lea edi, [ebp - 0x238]
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, 0xf1e
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x240]
not eax
mov dword [esp + 4], 0x573d74
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf1f
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf21
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, ebx
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
sub esp, 4
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x1d8], 0x200
lea edi, [ebp - 0x2a8]
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xf2b
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xf2d
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xf2e
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x294]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf30
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x290]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4e1670
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e1728
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xf35
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4e1650
or ecx, dword [ebp - 0x2a0]
jne 0x4e1650
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4e1650
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [ebp - 0x2a8]
mov dword [0x5d82ac], 0x57d560
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x60]
sub esp, 4
mov ebx, eax
mov eax, 0xf3e
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
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, 0xf40
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571ddc
mov dword [esp], ebx
call fcn.00493590
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, 0xf42
call fcn.00492d60
xor eax, eax
cmp ebx, 0x887601c2
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571c8b
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf44
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf46
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
mov eax, dword [0x5d82a4]
mov dword [esp + 4], 0x57a058
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
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 0x4e18f8
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e19b0
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xf4a
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
jne 0x4e18d8
or ecx, dword [ebp - 0x2a0]
jne 0x4e18d8
xor edx, edx
cmp dword [ebp - 0x298], edi
sete dl
jmp 0x4e18d8
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
lea edi, [ebp - 0x238]
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, 0xf4e
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x573d74
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf4f
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x294]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf51
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x290]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
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, 0xf56
call fcn.00492d60
mov dword [esp], esi
mov dword [esp + 4], 0x57a038
call fcn.00493590
mov eax, 0xf57
call fcn.00492d60
mov esi, dword [ebp - 0x114]
mov ecx, dword [0x5d8370]
mov edx, dword [ebp - 0x118]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x57567c
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.00493590
mov dword [esp + 4], 4
mov dword [esp], 0
mov eax, dword [ebp - 0x2d0]
call eax
sub esp, 8
mov esi, eax
mov eax, 0xf5d
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x579f78
lea esi, [ebp - 0x240]
mov dword [esp], eax
call fcn.00493590
mov eax, ebx
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x23c], 1
lea edi, [ebp - 0x2a8]
mov dword [ebp - 0x1d8], 0x200
mov eax, dword [ecx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xf65
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xf67
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xf68
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf6a
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
lea eax, [ebp - 0x2a4]
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 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 0x4e1ce0
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x573838
call fcn.00493590
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 0x4e1d98
call fcn.0054f6e0
mov dword [eax], 0x571ae8
mov dword [eax + 4], 0xf70
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
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], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp ebx, dword [ebp - 0x29c]
jne 0x4e1cc0
or ecx, dword [ebp - 0x2a0]
jne 0x4e1cc0
xor edx, edx
cmp dword [ebp - 0x298], esi
sete dl
jmp 0x4e1cc0
mov esi, dword [ebp - 0x2bc]
mov dword [ebp - 0x2dc], edx
mov eax, dword [esi]
mov dword [esp + 8], 0x11
mov edi, dword [ebp - 0x2b4]
mov dword [esp], esi
mov dword [esp + 4], edi
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xf75
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571d8c
mov dword [esp], ebx
call fcn.00493590
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x294]
mov eax, esi
call fcn.00492800
mov ebx, eax
mov eax, 0xf77
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571db4
mov dword [esp], ebx
call fcn.00493590
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [esi]
mov dword [0x5d82ac], 0x57d800
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov dword [esp], esi
mov dword [esp + 8], 8
mov dword [esp + 4], edi
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xf7f
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571d8c
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xf81
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf83
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
xor ecx, ecx
mov eax, dword [0x5d836c]
mov esi, dword [0x5d82a4]
mov ebx, dword [0x5d8370]
cmp edx, eax
je 0x4e3150
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], 0x57a00c
call fcn.00493590
lea eax, [ebp - 0x2a4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xf8a
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2c0]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2c4]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
je 0x4e3280
mov dword [esp], edx
lea edi, [ebp - 0x238]
mov dword [esp + 0xc], ebx
xor ebx, ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x573838
call fcn.00493590
mov eax, ebx
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2bc]
mov dword [ebp - 0x23c], 1
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x1d8], 0x200
mov eax, dword [edi]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x240]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov esi, eax
mov eax, 0xf93
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x5731dc
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
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, 0xf95
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x573d74
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf96
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xf98
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
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 + 8], 9
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, 0xf9e
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x571d8c
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov edx, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x290]
mov eax, edi
call fcn.00492800
mov esi, eax
mov eax, 0xfa0
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
not eax
mov dword [esp + 4], 0x571db4
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
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 - 0x238]
call dword [eax + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0xfa3
call fcn.00492d60
mov eax, esi
mov dword [esp + 8], esi
lea esi, [ebp - 0x2a8]
not eax
mov dword [esp + 4], 0x571d8c
shr eax, 0x1f
mov dword [esp], eax
call fcn.00493590
mov eax, ebx
mov ecx, 0x1d
mov dword [ebp - 0x240], 0x7c
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2bc]
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x1d8], 0x200
mov eax, dword [edi]
mov dword [esp + 8], esi
lea esi, [ebp - 0x240]
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp], edi
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xfab
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
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, 0xfad
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xfae
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x294]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xfb0
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x290]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
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 ebx, eax
mov eax, 0xfb5
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571ddc
mov dword [esp], ebx
call fcn.00493590
call fcn.004926e0
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, 0xfbb
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571d8c
mov dword [esp], ebx
call fcn.00493590
mov edx, dword [ebp - 0x294]
mov ecx, dword [ebp - 0x290]
mov eax, edi
call fcn.00492800
mov ebx, eax
mov eax, 0xfbd
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571db4
mov dword [esp], ebx
call fcn.00493590
lea eax, [ebp - 0x284]
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 - 0x2cc]
call eax
mov eax, dword [edi]
mov dword [0x5d82ac], 0x57d800
mov dword [0x5d82a0], 0
sub esp, 0x14
mov dword [0x5d82a4], 0
mov dword [0x5d8298], 0
mov dword [0x5d829c], 0
mov dword [esp + 8], 8
mov ecx, dword [ebp - 0x2e0]
mov dword [esp], edi
mov dword [esp + 4], ecx
call dword [eax + 0x50]
sub esp, 0xc
mov ebx, eax
mov eax, 0xfc7
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x571d8c
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xfc9
call fcn.00492d60
mov eax, dword [0x5d82ac]
mov eax, dword [eax]
mov dword [esp + 4], 0x579ddc
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xfcb
mov dword [0x5d82ac], 0
call fcn.00492d60
mov edx, dword [0x5d82a0]
mov eax, dword [0x5d82a4]
mov dword [esp + 4], 0x57a058
mov dword [esp + 0xc], eax
or eax, edx
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xfcd
call fcn.00492d60
mov edx, dword [0x5d8298]
xor ecx, ecx
mov eax, dword [0x5d836c]
mov esi, dword [0x5d829c]
mov ebx, dword [0x5d8370]
cmp edx, eax
je 0x4e3140
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], 0x57a080
call fcn.00493590
lea eax, [ebp - 0x2a4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xfd2
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2d4]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2d8]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp esi, dword [ebp - 0x29c]
je 0x4e32a8
mov dword [esp], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x573838
call fcn.00493590
lea eax, [ebp - 0x2a4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2e0]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xfd5
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2c0]
mov dword [esp + 0x10], eax
mov edi, dword [ebp - 0x2c4]
mov dword [esp + 8], 0
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov ecx, dword [ebp - 0x2a4]
xor edx, edx
cmp edi, dword [ebp - 0x29c]
je 0x4e31d8
mov dword [esp], edx
lea edi, [ebp - 0x238]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x573838
call fcn.00493590
xor eax, eax
mov ecx, 0x1d
mov esi, dword [ebp - 0x2bc]
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x240], 0x7c
mov dword [ebp - 0x23c], 1
mov dword [ebp - 0x1d8], 0x200
mov eax, dword [esi]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x240]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0xc], 0
call dword [eax + 0x18]
sub esp, 0x10
mov ebx, eax
mov eax, 0xfde
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x5731dc
mov dword [esp], ebx
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x240]
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, 0xfe0
call fcn.00492d60
mov dword [esp + 8], ebx
not ebx
shr ebx, 0x1f
mov dword [esp + 4], 0x573d74
mov dword [esp], ebx
call fcn.00493590
mov eax, 0xfe1
call fcn.00492d60
mov edx, dword [ebp - 0x234]
mov eax, dword [0x5d836c]
mov dword [esp + 4], 0x579fbc
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, 0xfe3
call fcn.00492d60
mov edx, dword [ebp - 0x238]
mov eax, dword [0x5d8370]
mov dword [esp + 4], 0x579fe4
cmp edx, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [esi]
sub esp, 4
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0xfe8
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571eeb
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x2a4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
mov eax, dword [ebp - 0x2b8]
call eax
mov eax, 0xfeb
sub esp, 8
call fcn.00492d60
mov eax, dword [ebp - 0x298]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x29c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x2a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2a4]
mov dword [esp], 0x571af1
mov dword [esp + 4], eax
call fcn.00492d80
mov ebx, eax
mov eax, dword [ebp - 0x2d4]
mov dword [esp + 0x10], eax
mov esi, dword [ebp - 0x2d8]
mov dword [esp + 8], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], 0
mov dword [esp], 0x571af1
call fcn.00492d80
mov edx, dword [ebp - 0x2a4]
cmp esi, dword [ebp - 0x29c]
je 0x4e3200
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], 0x573838
mov eax, dword [ebp - 0x2dc]
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebp - 0x2ac]
mov esi, dword [ebp - 0x2b0]
mov edx, eax
mov dword [ebp - 0x2b8], eax
mov eax, esi
mov dword [ebp - 0x2bc], esi
call fcn.00492a10
mov ebx, eax
mov eax, 0xfef
call fcn.00492d60
mov dword [esp], ebx
mov dword [esp + 4], 0x575590
call fcn.00493590
mov eax, dword [ebp - 0x28c]
lea ecx, [ebp - 0x1c4]
mov dword [ebp - 0x17c], 0x180000
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x114], eax
mov dword [esp + 4], 0x10000001
mov dword [esp], ecx
mov ecx, dword [ebp - 0x2d0]
call ecx
sub esp, 8
mov ebx, eax
mov eax, 0xff6
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x57a0b0
mov dword [esp], eax
call fcn.00493590
call fcn.00492530
mov ebx, eax
mov eax, 0xff9
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x571e04
setne al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [ebx]
mov dword [esp], ebx
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0xffb
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571eeb
lea ebx, [ebp - 0xe8]
mov dword [esp], eax
mov edi, ebx
call fcn.00493590
xor eax, eax
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 - 0x2c8]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1000
call fcn.00492d60
mov edi, dword fs:[0x18]
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], 0x574e44
mov dword [esp + 8], eax
call fcn.00493590
mov eax, 0x1001
call fcn.00492d60
mov edx, 0x5d82c0
mov eax, ebx
call fcn.004921d0
mov dword [esp + 4], 0x5754de
mov dword [esp], eax
call fcn.00493590
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2bc]
call fcn.00492a10
mov esi, eax
mov eax, 0x1003
call fcn.00492d60
mov dword [esp], esi
mov dword [esp + 4], 0x575590
call fcn.00493590
lea edx, [ebp - 0x1c4]
mov dword [esp + 4], 0x10000001
mov dword [esp], edx
mov esi, dword [ebp - 0x2d0]
call esi
sub esp, 8
mov esi, eax
mov eax, 0x1007
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x57a0b0
mov dword [esp], eax
call fcn.00493590
call fcn.00492530
mov esi, eax
mov eax, 0x100a
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x571e04
setne al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [esi]
mov dword [esp + 8], 0x11
mov edx, dword [ebp - 0x2b4]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 0x50]
sub esp, 0xc
mov dword [ebp - 0x2c0], eax
mov eax, 0x100c
call fcn.00492d60
mov edx, dword [ebp - 0x2c0]
xor eax, eax
mov dword [esp + 4], 0x571d8c
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [esi]
mov dword [esp + 8], 8
mov edx, dword [ebp - 0x2b4]
mov dword [esp], esi
mov dword [esp + 4], edx
call dword [eax + 0x50]
sub esp, 0xc
mov dword [ebp - 0x2c0], eax
mov eax, 0x100e
call fcn.00492d60
mov edx, dword [ebp - 0x2c0]
xor eax, eax
mov dword [esp + 4], 0x571d8c
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov esi, eax
mov eax, 0x1010
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x571eeb
mov dword [esp], eax
call fcn.00493590
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1013
call fcn.00492d60
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], 0x574e44
mov dword [esp + 8], eax
call fcn.00493590
mov eax, 0x1014
call fcn.00492d60
mov edx, 0x5d82c0
mov eax, ebx
call fcn.004921d0
mov dword [esp + 4], 0x5754de
mov dword [esp], eax
call fcn.00493590
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2bc]
call fcn.00492a10
mov esi, eax
mov eax, 0x1016
call fcn.00492d60
mov dword [esp], esi
mov dword [esp + 4], 0x575590
call fcn.00493590
call fcn.00492530
mov esi, eax
mov eax, 0x101b
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x571e04
setne al
mov dword [esp], eax
call fcn.00493590
mov ecx, dword [0x5d8370]
mov edx, dword [0x5d836c]
mov eax, esi
call fcn.00492800
mov dword [ebp - 0x2c0], eax
mov eax, 0x101d
call fcn.00492d60
mov edx, dword [ebp - 0x2c0]
xor eax, eax
mov dword [esp + 4], 0x571db4
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 0x10000001
mov dword [esp], eax
mov edx, dword [ebp - 0x2d0]
call edx
sub esp, 8
mov dword [ebp - 0x2c0], eax
mov eax, 0x1020
call fcn.00492d60
mov edx, dword [ebp - 0x2c0]
xor eax, eax
mov dword [esp + 4], 0x57a0b0
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov esi, eax
mov eax, 0x1023
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x571eeb
mov dword [esp], eax
call fcn.00493590
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1026
call fcn.00492d60
mov eax, dword [edi + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0x1c4]
mov dword [esp + 4], 0x574e44
mov dword [esp + 8], eax
call fcn.00493590
mov eax, 0x1027
call fcn.00492d60
mov edx, esi
mov eax, ebx
call fcn.004921d0
mov dword [esp + 4], 0x5754de
mov dword [esp], eax
call fcn.00493590
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffffe
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1029
call fcn.00492d60
mov eax, dword [edi + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0x1c4]
mov dword [esp + 4], 0x574e44
mov dword [esp + 8], eax
call fcn.00493590
mov eax, 0x102a
call fcn.00492d60
mov edx, esi
mov eax, ebx
call fcn.004921d0
mov dword [esp + 4], 0x5754de
mov dword [esp], eax
call fcn.00493590
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x2bc]
call fcn.00492a10
mov esi, eax
mov eax, 0x102c
call fcn.00492d60
mov dword [esp], esi
mov dword [esp + 4], 0x575590
call fcn.00493590
call fcn.00492530
mov esi, eax
mov eax, 0x1030
call fcn.00492d60
xor eax, eax
test esi, esi
mov dword [esp + 4], 0x571e04
setne al
mov dword [esp], eax
call fcn.00493590
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x294]
mov eax, esi
call fcn.00492800
mov dword [ebp - 0x2c0], eax
mov eax, 0x1032
call fcn.00492d60
mov edx, dword [ebp - 0x2c0]
xor eax, eax
mov dword [esp + 4], 0x571db4
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00493590
lea eax, [ebp - 0x1c4]
mov dword [esp + 4], 0x10000001
mov dword [esp], eax
mov eax, dword [ebp - 0x2d0]
call eax
sub esp, 8
mov dword [ebp - 0x2c0], eax
mov eax, 0x1035
call fcn.00492d60
mov edx, dword [ebp - 0x2c0]
xor eax, eax
mov dword [esp + 4], 0x57a0b0
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00493590
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 0x4c]
sub esp, 4
mov dword [ebp - 0x2c0], eax
mov eax, 0x1038
call fcn.00492d60
mov edx, dword [ebp - 0x2c0]
xor eax, eax
mov dword [esp + 4], 0x571ddc
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00493590
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov dword [ebp - 0x2c0], eax
mov eax, 0x103b
call fcn.00492d60
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x574e44
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2c0]
mov dword [esp], edx
call fcn.00493590
mov eax, 0x103c
call fcn.00492d60
lea eax, [ebp - 0x1c4]
mov edx, eax
mov eax, ebx
call fcn.004921d0
mov dword [esp + 4], 0x5754de
mov dword [esp], eax
call fcn.00493590
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xfffffffe
mov dword [esp], 0
mov ecx, dword [ebp - 0x2c8]
call ecx
sub esp, 0xc
mov dword [ebp - 0x2c0], eax
mov eax, 0x103e
call fcn.00492d60
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x574e44
lea edi, [ebp - 0x1c4]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2c0]
mov dword [esp], edx
call fcn.00493590
mov eax, 0x103f
call fcn.00492d60
mov edx, edi
mov eax, ebx
call fcn.004921d0
mov dword [esp + 4], 0x5754de
mov dword [esp], eax
call fcn.00493590
mov eax, dword [esi]
mov dword [esp], esi
call dword [eax + 8]
sub esp, 4
mov ebx, eax
mov eax, 0x1042
call fcn.00492d60
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], 0x571eeb
mov dword [esp], eax
call fcn.00493590
mov ecx, dword [ebp - 0x2b4]
mov ebx, dword [sym.imp.user32.dll_DestroyWindow]
mov dword [0x5d82ac], 0
mov dword [esp], ecx
call ebx
mov ecx, dword [ebp - 0x2e0]
sub esp, 4
mov dword [esp], ecx
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], 0x574d86
call ebx
sub esp, 8
mov dword [esp], 0
call esi
sub esp, 4
mov dword [esp + 4], eax
mov dword [esp], 0x579fa2
call ebx
mov esi, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2b8]
sub esp, 8
mov eax, esi
call fcn.00492a10
mov ebx, eax
mov eax, 0x104a
call fcn.00492d60
mov dword [esp], ebx
mov dword [esp + 4], 0x575590
call fcn.00493590
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 - 0x290], ecx
sete dl
jmp 0x4dee24
xor edx, edx
cmp dword [0x5d8370], ecx
sete dl
jmp 0x4deca1
xor ecx, ecx
cmp ebx, esi
sete cl
jmp 0x4deace
xor ecx, ecx
cmp ebx, esi
sete cl
jmp 0x4de5ec
xor ecx, ecx
cmp ebx, esi
sete cl
jmp 0x4e2514
xor ecx, ecx
cmp ebx, esi
sete cl
jmp 0x4e1f0e
mov dword [esp + 4], 9
mov eax, dword [ebp - 0x2b4]
mov dword [esp], eax
call esi
sub esp, 8
call fcn.004926e0
jmp 0x4df433
mov eax, 0xd2d
call fcn.00492d60
mov dword [esp], 0x579f30
call fcn.00492ff0
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 - 0x2a0]
jne 0x4deb90
xor edx, edx
mov ecx, dword [ebp - 0x2dc]
cmp dword [ebp - 0x298], ecx
sete dl
jmp 0x4deb90
or ecx, dword [ebp - 0x2a0]
jne 0x4e2690
xor edx, edx
mov ecx, dword [ebp - 0x2c0]
cmp dword [ebp - 0x298], ecx
sete dl
jmp 0x4e2690
or edx, dword [ebp - 0x2a0]
jne 0x4e28b4
mov ecx, dword [ebp - 0x2d4]
cmp dword [ebp - 0x298], ecx
sete cl
movzx ecx, cl
mov dword [ebp - 0x2dc], ecx
jmp 0x4e28b4
or ecx, dword [ebp - 0x2a0]
jne 0x4de28b
xor edx, edx
mov ecx, dword [ebp - 0x2dc]
cmp dword [ebp - 0x298], ecx
sete dl
jmp 0x4de28b
or ecx, dword [ebp - 0x2a0]
jne 0x4deda8
xor edx, edx
mov ecx, dword [ebp - 0x2d4]
cmp dword [ebp - 0x298], ecx
sete dl
jmp 0x4deda8
or ecx, dword [ebp - 0x2a0]
jne 0x4e1fd0
xor edx, edx
mov ecx, dword [ebp - 0x2c0]
cmp dword [ebp - 0x298], ecx
sete dl
jmp 0x4e1fd0
or ecx, dword [ebp - 0x2a0]
jne 0x4e25d6
xor edx, edx
mov ecx, dword [ebp - 0x2d4]
cmp dword [ebp - 0x298], ecx
sete dl
jmp 0x4e25d6
or ecx, dword [ebp - 0x2a0]
jne 0x4de6ae
xor edx, edx
mov ecx, dword [ebp - 0x2d4]
cmp dword [ebp - 0x298], ecx
sete dl
jmp 0x4de6ae
or ecx, dword [ebp - 0x2a0]
jne 0x4de94a
xor edx, edx
mov ecx, dword [ebp - 0x2d4]
cmp dword [ebp - 0x298], ecx
sete dl
jmp 0x4de94a
or ecx, dword [ebp - 0x2a0]
jne 0x4de46a
xor edx, edx
mov ecx, dword [ebp - 0x2dc]
cmp dword [ebp - 0x298], ecx
sete dl
jmp 0x4de46a