Function at 0x47b7e0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x85
push 0
push 0
dec ecx
jne 0x47b7e9
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
xor eax, eax
push ebp
push 0x47cdf8
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x47cc56
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x58], 0
jne 0x47b82c
call fcn.00404dd4
jmp 0x47cc5d
lea eax, [ebp - 0x3c]
call fcn.004053f4
mov eax, dword [0x4a69a4]
mov byte [eax], 1
xor eax, eax
push ebp
push 0x47b865
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x50]
call fcn.0047932c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47b877
lea eax, [ebp - 0x25c]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp - 0x25c]
lea edx, [ebp - 0x258]
call fcn.004096f8
mov edx, dword [ebp - 0x258]
mov eax, dword [ebp + 0x1c]
call fcn.004157f4
lea edx, [ebp - 0x260]
mov eax, 0x47ce14
call fcn.004096f8
mov eax, dword [ebp - 0x260]
push eax
lea eax, [ebp - 0x264]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov edx, dword [ebp - 0x264]
pop eax
call fcn.004059d0
test eax, eax
jle 0x47b918
lea edx, [ebp - 0x268]
mov eax, 0x47ce44
call fcn.004096f8
mov eax, dword [ebp - 0x268]
push eax
lea eax, [ebp - 0x26c]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov edx, dword [ebp - 0x26c]
pop eax
call fcn.004059d0
test eax, eax
jg 0x47b918
call fcn.00404dd4
jmp 0x47cc5d
lea eax, [ebp - 0x270]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov edx, dword [ebp - 0x270]
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
call fcn.0047b69c
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x7c], 0
je 0x47bba0
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x80], 0
je 0x47bba0
lea edx, [ebp - 0x278]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x80]
call fcn.00409a5c
mov eax, dword [ebp - 0x278]
lea edx, [ebp - 0x274]
call fcn.00409670
mov eax, dword [ebp - 0x274]
push eax
lea edx, [ebp - 0x280]
mov eax, dword [ebp - 0x40]
call fcn.00409a5c
mov eax, dword [ebp - 0x280]
lea edx, [ebp - 0x27c]
call fcn.00409670
mov edx, dword [ebp - 0x27c]
pop eax
call fcn.0040581c
jne 0x47bba0
mov dl, 1
mov eax, dword [0x41a56c]
call fcn.004043c0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x7c]
mov eax, 0x47ce80
call fcn.004059d0
mov ebx, eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x47b9e1
sub eax, 4
mov eax, dword [eax]
mov esi, eax
lea eax, [ebp - 0x1c]
push eax
mov ecx, ebx
dec ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x7c]
mov edx, 1
call fcn.004058ec
lea eax, [ebp - 0x20]
push eax
mov ecx, esi
sub ecx, ebx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x7c]
call fcn.004058ec
lea eax, [ebp - 0x284]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov edx, dword [ebp - 0x284]
mov eax, 0x47ce8c
call fcn.004059d0
mov ebx, eax
test ebx, ebx
jle 0x47bb1b
lea eax, [ebp - 0x288]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x47ba61
sub eax, 4
mov eax, dword [eax]
mov esi, eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x290]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp - 0x290]
mov ecx, ebx
mov edx, 1
call fcn.004058ec
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x294]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp - 0x294]
mov ecx, esi
dec ecx
lea edx, [ebx + 1]
call fcn.004058ec
jmp 0x47baff
mov edx, dword [ebp - 0x28]
mov eax, 0x47ce98
call fcn.004059d0
mov esi, eax
lea eax, [ebp - 0x298]
push eax
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x28]
call fcn.004058ec
mov edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x47baec
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x28]
push eax
mov ecx, ebx
sub ecx, esi
lea edx, [esi + 1]
mov eax, dword [ebp - 0x28]
call fcn.004058ec
mov edx, dword [ebp - 0x28]
mov eax, 0x47ce98
call fcn.004059d0
test eax, eax
jg 0x47baac
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x47bba0
inc esi
xor ebx, ebx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x29c]
mov edx, ebx
mov eax, dword [ebp - 0x54]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x29c]
lea ecx, [ebp - 0x2c]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
call fcn.00472084
lea edx, [ebp - 0x2a0]
mov eax, dword [ebp - 0x2c]
call fcn.00409670
mov eax, dword [ebp - 0x2a0]
push eax
lea edx, [ebp - 0x2a4]
mov eax, dword [ebp - 0x1c]
call fcn.00409670
mov edx, dword [ebp - 0x2a4]
pop eax
call fcn.0040581c
jne 0x47bb9c
mov eax, dword [ebp - 0x4c]
add eax, 0x7c
call fcn.004053f4
call fcn.00404dd4
jmp 0x47cc5d
inc ebx
dec esi
jne 0x47bb2d
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x2a8]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov edx, dword [ebp - 0x2a8]
lea ecx, [ebp - 0x3c]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
call fcn.0047449c
mov eax, dword [ebp - 8]
mov edx, 0x47cea4
call fcn.0040581c
je 0x47bddc
mov eax, dword [ebp - 0x4c]
add eax, 0x80
call fcn.004053f4
mov eax, dword [ebp - 0x4c]
add eax, 0x7c
call fcn.004053f4
mov eax, dword [ebp - 0x4c]
add eax, 0x74
mov edx, 0x47ceb0
call fcn.00405448
lea eax, [ebp - 0x2ac]
call fcn.00405bfc
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0x78]
call fcn.00407048
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x4c]
add eax, 0x70
call fcn.0040567c
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 4], 0
jne 0x47bcde
xor eax, eax
push ebp
push 0x47bca1
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x2b4]
mov edx, dword [ebp - 0x50]
mov ecx, 0x47ceb8
call fcn.00406f7c
mov eax, dword [ebp - 0x2b4]
push eax
mov eax, dword [eax]
call dword [eax + 0x4c]
call fcn.00407048
cmp word [ebp - 0x2b0], 1
sbb eax, eax
inc eax
test al, al
jne 0x47bc97
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00404dd4
jmp 0x47cc5d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47bcde
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 4], 0
je 0x47bcf8
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0x38]
call fcn.00407048
mov eax, dword [ebp - 0x4c]
add eax, 0x64
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x50]
call fcn.0047932c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x4c]
call fcn.0047b59c
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00463948
push 2
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [0x463308]
call fcn.0046352c
push eax
push 0x47ced0
mov eax, dword [ebp - 0x4c]
push dword [eax + 0x64]
push 0x47cee4
push dword [ebp - 0x3c]
lea eax, [ebp - 0x2bc]
mov edx, 4
call fcn.00405788
mov ecx, dword [ebp - 0x2bc]
mov edx, 0x47cef8
pop eax
call fcn.00463538
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x18]
push eax
lea eax, [ebp - 0x2cc]
mov edx, dword [ebp - 8]
call fcn.004157f4
lea eax, [ebp - 0x2cc]
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0xd0]
call fcn.00407048
mov eax, dword [ebp - 0x4c]
add eax, 0x6c
mov edx, dword [ebp - 8]
call fcn.00405448
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x68], 0
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x50]
call fcn.00479514
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x54], 0
call fcn.00404dd4
jmp 0x47cc5d
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x2d0]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov edx, dword [ebp - 0x2d0]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x40]
call fcn.004739b4
mov eax, dword [ebp - 0xc]
mov edx, 0x47cea4
call fcn.0040581c
je 0x47c109
lea eax, [ebp - 0x252]
push eax
push 0xff
push 0xd
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x60]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebp - 0x4c]
add eax, 0x70
lea edx, [ebp - 0x252]
mov ecx, 0xff
call fcn.00405664
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 4], 0
jne 0x47bef4
xor eax, eax
push ebp
push 0x47beb7
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x2b0]
push eax
lea eax, [ebp - 0x2d4]
mov edx, dword [ebp - 0x50]
mov ecx, 0x47ceb8
call fcn.00406f7c
mov eax, dword [ebp - 0x2d4]
push eax
mov eax, dword [eax]
call dword [eax + 0x4c]
call fcn.00407048
cmp word [ebp - 0x2b0], 1
sbb eax, eax
inc eax
test al, al
jne 0x47bead
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.00404dd4
jmp 0x47cc5d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x47bef4
mov eax, dword [ebp - 0x4c]
cmp byte [eax + 4], 0
je 0x47bf0e
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0x38]
call fcn.00407048
mov eax, dword [ebp - 0x4c]
add eax, 0x74
mov edx, 0x47cf10
call fcn.00405448
mov eax, dword [ebp - 0x4c]
add eax, 0x80
mov edx, dword [ebp - 0x40]
call fcn.00405448
mov eax, dword [ebp - 0x4c]
add eax, 0x7c
mov edx, dword [0x4a6c00]
mov edx, dword [edx]
mov edx, dword [edx + 0x39c]
call fcn.00405448
lea eax, [ebp - 0x2dc]
call fcn.00405bfc
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0x78]
call fcn.00407048
mov edx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x4c]
add eax, 0x70
call fcn.0040567c
mov eax, dword [ebp - 0x4c]
add eax, 0x64
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x64]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x39c]
call fcn.004059d0
test eax, eax
je 0x47c033
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x64]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x39c]
call fcn.004059d0
mov ebx, eax
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x39c]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x47bfdf
sub eax, 4
mov eax, dword [eax]
mov esi, eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x64]
test eax, eax
je 0x47bff0
sub eax, 4
mov eax, dword [eax]
mov edi, eax
lea eax, [ebp - 0x1c]
push eax
mov ecx, ebx
dec ecx
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x64]
mov edx, 1
call fcn.004058ec
lea eax, [ebp - 0x20]
push eax
mov ecx, edi
sub ecx, ebx
sub ecx, esi
inc ecx
lea edx, [esi + ebx]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x64]
call fcn.004058ec
mov eax, dword [ebp - 0x4c]
add eax, 0x64
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
call fcn.0040570c
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x50]
call fcn.0047932c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x4c]
call fcn.0047b59c
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00463948
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x18]
push eax
lea eax, [ebp - 0x2ec]
mov edx, dword [ebp - 0xc]
call fcn.004157f4
lea eax, [ebp - 0x2ec]
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0xd0]
call fcn.00407048
push 2
mov eax, dword [ebp - 0x4c]
push eax
mov eax, dword [0x463308]
call fcn.0046352c
push eax
push 0x47cf20
mov eax, dword [ebp - 0x4c]
push dword [eax + 0x64]
push 0x47cf38
push dword [ebp - 0xc]
lea eax, [ebp - 0x2f0]
mov edx, 4
call fcn.00405788
mov ecx, dword [ebp - 0x2f0]
mov edx, 0x47cef8
pop eax
call fcn.00463538
mov eax, dword [ebp - 0x4c]
add eax, 0x6c
mov edx, dword [ebp - 0xc]
call fcn.00405448
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x68], 0
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x50]
call fcn.00479514
mov eax, dword [ebp - 0x4c]
mov byte [eax + 0x54], 0
call fcn.00404dd4
jmp 0x47cc5d
mov eax, dword [ebp - 0x4c]
add eax, 0x74
mov edx, 0x47cf10
call fcn.00405448
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0x80], 0
je 0x47c18c
lea edx, [ebp - 0x2f8]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x80]
call fcn.00409a5c
mov eax, dword [ebp - 0x2f8]
lea edx, [ebp - 0x2f4]
call fcn.00409670
mov eax, dword [ebp - 0x2f4]
push eax
lea edx, [ebp - 0x300]
mov eax, dword [ebp - 0x40]
call fcn.00409a5c
mov eax, dword [ebp - 0x300]
lea edx, [ebp - 0x2fc]
call fcn.00409670
mov edx, dword [ebp - 0x2fc]
pop eax
call fcn.0040581c
jne 0x47c18c
mov eax, dword [ebp - 0x4c]
add eax, 0x64
mov edx, dword [ebp + 0x1c]
call fcn.00414650
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x40]
call fcn.0040548c
lea edx, [ebp - 0x304]
mov eax, dword [ebp - 0x38]
call fcn.00409670
mov eax, dword [ebp - 0x304]
push eax
lea edx, [ebp - 0x308]
mov eax, 0x47cf54
call fcn.00409670
mov eax, dword [ebp - 0x308]
pop edx
call fcn.004059d0
test eax, eax
jne 0x47c26f
lea edx, [ebp - 0x30c]
mov eax, dword [ebp - 0x38]
call fcn.00409670
mov eax, dword [ebp - 0x30c]
push eax
lea edx, [ebp - 0x310]
mov eax, 0x47cf68
call fcn.00409670
mov eax, dword [ebp - 0x310]
pop edx
call fcn.004059d0
test eax, eax
jne 0x47c26f
lea edx, [ebp - 0x314]
mov eax, dword [ebp - 0x38]
call fcn.00409670
mov eax, dword [ebp - 0x314]
push eax
lea edx, [ebp - 0x318]
mov eax, 0x47cf78
call fcn.00409670
mov eax, dword [ebp - 0x318]
pop edx
call fcn.004059d0
test eax, eax
jne 0x47c26f
lea edx, [ebp - 0x31c]
mov eax, dword [ebp - 0x38]
call fcn.00409670
mov eax, dword [ebp - 0x31c]
push eax
lea edx, [ebp - 0x320]
mov eax, 0x47cf88
call fcn.00409670
mov eax, dword [ebp - 0x320]
pop edx
call fcn.004059d0
test eax, eax
je 0x47c279
call fcn.00404dd4
jmp 0x47cc5d
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x47c721
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x324]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
cmp dword [ebp - 0x324], 0
je 0x47c719
lea ecx, [ebp - 0x328]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x47c2f5
sub eax, 4
mov eax, dword [eax]
cmp eax, 4
jl 0x47c719
lea ecx, [ebp - 0x32c]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x32c]
mov eax, 0x47cf98
call fcn.004059d0
test eax, eax
jne 0x47c53b
lea ecx, [ebp - 0x330]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x330]
mov eax, 0x47ce8c
call fcn.004059d0
test eax, eax
jne 0x47c53b
lea ecx, [ebp - 0x338]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x338]
lea edx, [ebp - 0x334]
call fcn.00409670
mov eax, dword [ebp - 0x334]
push eax
lea edx, [ebp - 0x33c]
mov eax, dword [ebp - 0x38]
call fcn.00409670
mov edx, dword [ebp - 0x33c]
pop eax
call fcn.004059d0
test eax, eax
je 0x47c719
mov eax, dword [ebp - 0x4c]
add eax, 0x80
call fcn.004053f4
mov eax, dword [ebp - 0x4c]
add eax, 0x74
mov edx, 0x47cfa4
call fcn.00405448
mov eax, dword [ebp - 0x4c]
add eax, 0x84
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp + 8]
mov word [eax], 0xffff
lea eax, [ebp - 0x340]
call fcn.00405bfc
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0x78]
call fcn.00407048
mov edx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x4c]
add eax, 0x70
call fcn.0040567c
lea edx, [ebp - 0x344]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x70]
call fcn.00409670
mov eax, dword [ebp - 0x344]
push eax
lea edx, [ebp - 0x348]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x84]
call fcn.00409670
mov eax, dword [ebp - 0x348]
pop edx
call fcn.004059d0
test eax, eax
jg 0x47c491
lea edx, [ebp - 0x34c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x84]
call fcn.00409670
mov eax, dword [ebp - 0x34c]
push eax
lea edx, [ebp - 0x350]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x70]
call fcn.00409670
mov eax, dword [ebp - 0x350]
pop edx
call fcn.004059d0
test eax, eax
jle 0x47c4cc
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x18]
push eax
lea eax, [ebp - 0x360]
mov edx, 0x47cfb4
call fcn.004157f4
lea eax, [ebp - 0x360]
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0xd0]
call fcn.00407048
push 2
mov eax, dword [ebp - 0x4c]
push eax
push 0x47cfd0
mov eax, dword [ebp - 0x4c]
push dword [eax + 0x84]
push 0x47cee4
lea ecx, [ebp - 0x368]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x368]
lea eax, [ebp - 0x364]
mov edx, 4
call fcn.00405788
mov eax, dword [ebp - 0x364]
push eax
mov eax, dword [0x463308]
call fcn.0046352c
mov edx, 0x47cef8
pop ecx
call fcn.00463538
call fcn.00404dd4
jmp 0x47cc5d
lea ecx, [ebp - 0x18]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [ebp - 0x34]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
lea edx, [ebp - 0x36c]
mov eax, dword [ebp - 0x18]
call fcn.00409670
mov eax, dword [ebp - 0x36c]
push eax
lea edx, [ebp - 0x370]
mov eax, dword [ebp - 0x40]
call fcn.00409670
mov eax, dword [ebp - 0x370]
pop edx
call fcn.004632ac
test al, al
je 0x47c719
mov eax, dword [ebp - 0x4c]
add eax, 0x80
call fcn.004053f4
mov eax, dword [ebp - 0x4c]
add eax, 0x74
mov edx, 0x47cfa4
call fcn.00405448
mov eax, dword [ebp - 0x4c]
add eax, 0x84
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp + 8]
mov word [eax], 0xffff
lea eax, [ebp - 0x374]
call fcn.00405bfc
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0x78]
call fcn.00407048
mov edx, dword [ebp - 0x374]
mov eax, dword [ebp - 0x4c]
add eax, 0x70
call fcn.0040567c
lea edx, [ebp - 0x378]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x70]
call fcn.00409670
mov eax, dword [ebp - 0x378]
push eax
lea edx, [ebp - 0x37c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x84]
call fcn.00409670
mov eax, dword [ebp - 0x37c]
pop edx
call fcn.004059d0
test eax, eax
jg 0x47c66f
lea edx, [ebp - 0x380]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x84]
call fcn.00409670
mov eax, dword [ebp - 0x380]
push eax
lea edx, [ebp - 0x384]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x70]
call fcn.00409670
mov eax, dword [ebp - 0x384]
pop edx
call fcn.004059d0
test eax, eax
jle 0x47c6aa
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x18]
push eax
lea eax, [ebp - 0x394]
mov edx, 0x47cfb4
call fcn.004157f4
lea eax, [ebp - 0x394]
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0xd0]
call fcn.00407048
push 2
mov eax, dword [ebp - 0x4c]
push eax
push 0x47cfd0
mov eax, dword [ebp - 0x4c]
push dword [eax + 0x84]
push 0x47cee4
lea ecx, [ebp - 0x39c]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x39c]
lea eax, [ebp - 0x398]
mov edx, 4
call fcn.00405788
mov eax, dword [ebp - 0x398]
push eax
mov eax, dword [0x463308]
call fcn.0046352c
mov edx, 0x47cef8
pop ecx
call fcn.00463538
call fcn.00404dd4
jmp 0x47cc5d
inc ebx
dec esi
jne 0x47c299
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x47cbda
inc esi
xor ebx, ebx
lea ecx, [ebp - 0x3a0]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
cmp dword [ebp - 0x3a0], 0
je 0x47cbd2
lea ecx, [ebp - 0x3a4]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x28c]
test eax, eax
je 0x47c79d
sub eax, 4
mov eax, dword [eax]
cmp eax, 4
jl 0x47cbd2
lea ecx, [ebp - 0x3a8]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x3a8]
mov eax, 0x47cf98
call fcn.004059d0
test eax, eax
jne 0x47c9f4
lea ecx, [ebp - 0x3ac]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x3ac]
mov eax, 0x47ce8c
call fcn.004059d0
test eax, eax
jne 0x47c9f4
lea ecx, [ebp - 0x3b4]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x3b4]
lea edx, [ebp - 0x3b0]
call fcn.00409670
mov eax, dword [ebp - 0x3b0]
push eax
lea eax, [ebp - 0x3bc]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp - 0x3bc]
lea edx, [ebp - 0x3b8]
call fcn.00409670
mov edx, dword [ebp - 0x3b8]
pop eax
call fcn.004059d0
test eax, eax
je 0x47cbd2
mov eax, dword [ebp - 0x4c]
add eax, 0x80
call fcn.004053f4
mov eax, dword [ebp - 0x4c]
add eax, 0x74
mov edx, 0x47cfa4
call fcn.00405448
mov eax, dword [ebp - 0x4c]
add eax, 0x84
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp + 8]
mov word [eax], 0xffff
lea eax, [ebp - 0x3c0]
call fcn.00405bfc
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0x78]
call fcn.00407048
mov edx, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x4c]
add eax, 0x70
call fcn.0040567c
lea edx, [ebp - 0x3c4]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x70]
call fcn.00409670
mov eax, dword [ebp - 0x3c4]
push eax
lea edx, [ebp - 0x3c8]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x84]
call fcn.00409670
mov eax, dword [ebp - 0x3c8]
pop edx
call fcn.004059d0
test eax, eax
jg 0x47c94a
lea edx, [ebp - 0x3cc]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x84]
call fcn.00409670
mov eax, dword [ebp - 0x3cc]
push eax
lea edx, [ebp - 0x3d0]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x70]
call fcn.00409670
mov eax, dword [ebp - 0x3d0]
pop edx
call fcn.004059d0
test eax, eax
jle 0x47c985
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x18]
push eax
lea eax, [ebp - 0x3e0]
mov edx, 0x47cfb4
call fcn.004157f4
lea eax, [ebp - 0x3e0]
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0xd0]
call fcn.00407048
push 2
mov eax, dword [ebp - 0x4c]
push eax
push 0x47cfd0
mov eax, dword [ebp - 0x4c]
push dword [eax + 0x84]
push 0x47cee4
lea ecx, [ebp - 0x3e8]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x3e8]
lea eax, [ebp - 0x3e4]
mov edx, 4
call fcn.00405788
mov eax, dword [ebp - 0x3e4]
push eax
mov eax, dword [0x463308]
call fcn.0046352c
mov edx, 0x47cef8
pop ecx
call fcn.00463538
call fcn.00404dd4
jmp 0x47cc5d
lea ecx, [ebp - 0x18]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c8]
mov edx, ebx
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [ebp - 0x34]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
lea edx, [ebp - 0x3ec]
mov eax, dword [ebp - 0x18]
call fcn.00409670
mov eax, dword [ebp - 0x3ec]
push eax
lea edx, [ebp - 0x3f0]
mov eax, dword [ebp - 0x40]
call fcn.00409670
mov eax, dword [ebp - 0x3f0]
pop edx
call fcn.004632ac
test al, al
je 0x47cbd2
mov eax, dword [ebp - 0x4c]
add eax, 0x80
call fcn.004053f4
mov eax, dword [ebp - 0x4c]
add eax, 0x74
mov edx, 0x47cfa4
call fcn.00405448
mov eax, dword [ebp - 0x4c]
add eax, 0x84
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp + 8]
mov word [eax], 0xffff
lea eax, [ebp - 0x3f4]
call fcn.00405bfc
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0x78]
call fcn.00407048
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x4c]
add eax, 0x70
call fcn.0040567c
lea edx, [ebp - 0x3f8]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x70]
call fcn.00409670
mov eax, dword [ebp - 0x3f8]
push eax
lea edx, [ebp - 0x3fc]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x84]
call fcn.00409670
mov eax, dword [ebp - 0x3fc]
pop edx
call fcn.004059d0
test eax, eax
jg 0x47cb28
lea edx, [ebp - 0x400]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x84]
call fcn.00409670
mov eax, dword [ebp - 0x400]
push eax
lea edx, [ebp - 0x404]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x70]
call fcn.00409670
mov eax, dword [ebp - 0x404]
pop edx
call fcn.004059d0
test eax, eax
jle 0x47cb63
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x18]
push eax
lea eax, [ebp - 0x414]
mov edx, 0x47cfb4
call fcn.004157f4
lea eax, [ebp - 0x414]
push eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x58]
push eax
mov eax, dword [eax]
call dword [eax + 0xd0]
call fcn.00407048
push 2
mov eax, dword [ebp - 0x4c]
push eax
push 0x47cfd0
mov eax, dword [ebp - 0x4c]
push dword [eax + 0x84]
push 0x47cee4
lea ecx, [ebp - 0x41c]
mov eax, dword [0x4a6c00]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c4]
mov edx, ebx
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x41c]
lea eax, [ebp - 0x418]
mov edx, 4
call fcn.00405788
mov eax, dword [ebp - 0x418]
push eax
mov eax, dword [0x463308]
call fcn.0046352c
mov edx, 0x47cef8
pop ecx
call fcn.00463538
call fcn.00404dd4
jmp 0x47cc5d
inc ebx
dec esi
jne 0x47c741
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47cc5d
lea edx, [ebp - 0x424]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x40]
call fcn.00409a5c
mov eax, dword [ebp - 0x424]
lea edx, [ebp - 0x420]
call fcn.00409670
mov eax, dword [ebp - 0x420]
push eax
lea eax, [ebp - 0x430]
mov edx, dword [ebp + 0x1c]
call fcn.00414650
mov eax, dword [ebp - 0x430]
lea edx, [ebp - 0x42c]
call fcn.00409a5c
mov eax, dword [ebp - 0x42c]
lea edx, [ebp - 0x428]
call fcn.00409670
mov edx, dword [ebp - 0x428]
pop eax
call fcn.0040581c
jne 0x47cc55
mov eax, dword [ebp - 0x4c]
mov byte [eax + 4], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47ce02
lea eax, [ebp - 0x430]
mov edx, 7
call fcn.00405418
lea eax, [ebp - 0x414]
call fcn.004110c0
lea eax, [ebp - 0x404]
mov edx, 4
call fcn.00405418
lea eax, [ebp - 0x3f4]
call fcn.00405bfc
lea eax, [ebp - 0x3f0]
mov edx, 4
call fcn.00405418
lea eax, [ebp - 0x3e0]
call fcn.004110c0
lea eax, [ebp - 0x3d0]
mov edx, 4
call fcn.00405418
lea eax, [ebp - 0x3c0]
call fcn.00405bfc
lea eax, [ebp - 0x3bc]
mov edx, 0xa
call fcn.00405418
lea eax, [ebp - 0x394]
call fcn.004110c0
lea eax, [ebp - 0x384]
mov edx, 4
call fcn.00405418
lea eax, [ebp - 0x374]
call fcn.00405bfc
lea eax, [ebp - 0x370]
mov edx, 4
call fcn.00405418
lea eax, [ebp - 0x360]
call fcn.004110c0
lea eax, [ebp - 0x350]
mov edx, 4
call fcn.00405418
lea eax, [ebp - 0x340]
call fcn.00405bfc
lea eax, [ebp - 0x33c]
mov edx, 0x14
call fcn.00405418
lea eax, [ebp - 0x2ec]
call fcn.004110c0
lea eax, [ebp - 0x2dc]
call fcn.00405bfc
lea eax, [ebp - 0x2d8]
call fcn.004053f4
lea eax, [ebp - 0x2d4]
call fcn.00406f38
lea eax, [ebp - 0x2d0]
call fcn.004053f4
lea eax, [ebp - 0x2cc]
call fcn.004110c0
lea eax, [ebp - 0x2bc]
mov edx, 2
call fcn.00405418
lea eax, [ebp - 0x2b4]
call fcn.00406f38
lea eax, [ebp - 0x2ac]
call fcn.00405bfc
lea eax, [ebp - 0x2a8]
mov edx, 7
call fcn.00405418
lea eax, [ebp - 0x288]
mov edx, 0xd
call fcn.00405418
lea eax, [ebp - 4]
call fcn.004053f4
lea eax, [ebp - 0x48]
call fcn.00406f38
lea eax, [ebp - 0x44]
mov edx, 0x10
call fcn.00405418
ret