Function at 0x52be14
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x3a
push 0
push 0
dec ecx
jne 0x52be1c
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x52da12
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.004f23d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1f4]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x52be59
mov eax, dword [ebp - 4]
call fcn.005315b4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1e0]
cmp dword [eax + 8], 0
jle 0x52be70
mov eax, dword [ebp - 4]
call fcn.005312d4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1f4]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x52beac
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1f4]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.00404494
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52be8e
mov eax, dword [ebp - 4]
add eax, 0x1f4
call fcn.004d6ec4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1f8]
call fcn.0040676c
dec eax
test eax, eax
jl 0x52bf2b
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1f8]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x52bf23
mov edi, eax
mov eax, edi
mov edx, dword [eax]
call dword [edx + 0x14]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x52bf0f
inc ebx
xor esi, esi
mov edx, esi
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.00404494
inc esi
dec ebx
jne 0x52befd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x1f8]
mov edx, dword [ebp - 0xc]
lea eax, [eax + edx*4]
call fcn.004d6ec4
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52bed7
push 0
mov eax, dword [ebp - 4]
add eax, 0x1f8
mov ecx, 1
mov edx, dword [0x52353c]
call fcn.00406948
add esp, 4
mov dword [ebp - 0x34], 0xffffffff
xor eax, eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x14]
call fcn.00405300
xor esi, esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x280]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x52bfd4
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x280]
mov edx, dword [ebp - 0xc]
call fcn.0041b474
test eax, eax
je 0x52bfcc
push dword [ebp - 0x14]
push 0x52da2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x280]
mov edx, dword [ebp - 0xc]
call fcn.0041b474
mov edx, dword [eax + 4]
lea ecx, [ebp - 0x44]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0x44]
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.004056ac
inc esi
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52bf7f
push 0x52da38
lea edx, [ebp - 0x48]
mov eax, esi
call fcn.0040a09c
push dword [ebp - 0x48]
push 0x52da54
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
call fcn.00409c90
push dword [ebp - 0x4c]
push 0x52da64
push 0x52da70
lea eax, [ebp - 0x10]
mov edx, 6
call fcn.004056ac
push 1
mov ecx, 2
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
lea eax, [ebp - 0x10]
call fcn.00405300
mov eax, dword [ebp - 4]
call fcn.004f0fdc
cmp dword [eax + 0xc], 0
je 0x52c06a
mov eax, dword [ebp - 4]
call fcn.004f0fdc
mov eax, dword [eax + 0xc]
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x52c06a
mov eax, dword [ebp - 4]
call fcn.0052b670
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x25c]
mov ecx, eax
mov eax, 0x52da7c
xchg edx, eax
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x52c139
lea eax, [ebp - 0x10]
mov edx, 0x52da88
call fcn.00405398
push dword [ebp - 0x10]
push 0x52da70
push 0x52dabc
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x52c11f
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
push dword [ebp - 0x10]
push 0x52dad0
lea ecx, [ebp - 0x50]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x25c]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
push dword [ebp - 0x50]
push 0x52da2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x25c]
mov edx, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edx, eax
lea ecx, [ebp - 0x54]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0x54]
lea eax, [ebp - 0x10]
mov edx, 5
call fcn.004056ac
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52c0c5
push dword [ebp - 0x10]
push 0x52dadc
push 0x52da70
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
cmp dword [eax + 8], 0
jle 0x52c1e2
lea eax, [ebp - 0x10]
mov edx, 0x52dae8
call fcn.004055f4
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x27c]
mov eax, dword [ebx + 8]
dec eax
test eax, eax
jl 0x52c1c8
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
push dword [ebp - 0x10]
push 0x52dafc
lea edx, [ebp - 0x58]
mov eax, dword [ebp - 0xc]
call fcn.0040a09c
push dword [ebp - 0x58]
push 0x52da2c
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.0041b474
mov eax, dword [eax + 0x78]
mov edx, dword [eax + 4]
lea ecx, [ebp - 0x5c]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0x5c]
push 0x52da2c
lea eax, [ebp - 0x10]
mov edx, 6
call fcn.004056ac
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52c175
push dword [ebp - 0x10]
push 0x52dadc
push 0x52da70
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
push dword [ebp - 0x10]
push 0x52db08
lea ecx, [ebp - 0x60]
mov edx, 4
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0x60]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x254]
call fcn.0040676c
test eax, eax
jg 0x52c246
mov eax, dword [ebp - 4]
call fcn.004f0fdc
cmp dword [eax + 0xc], 0
je 0x52c359
mov eax, dword [ebp - 4]
call fcn.004f0fdc
mov eax, dword [eax + 0xc]
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x52c359
lea eax, [ebp - 0x10]
mov edx, 0x52db1c
call fcn.004055f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x254]
call fcn.00406774
test eax, eax
jl 0x52c2fe
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x254]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x52c2f2
mov ebx, dword [eax + 8]
dec ebx
test ebx, ebx
jl 0x52c2f2
inc ebx
xor esi, esi
push dword [ebp - 0x10]
push 0x52db30
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0xc]
call fcn.0040a09c
push dword [ebp - 0x64]
lea edx, [ebp - 0x68]
mov eax, esi
call fcn.0040a09c
push dword [ebp - 0x68]
push 0x52da2c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x254]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
mov edx, esi
call fcn.0041b474
mov edx, dword [eax + 0x1c]
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0x6c]
lea eax, [ebp - 0x10]
mov edx, 6
call fcn.004056ac
inc esi
dec ebx
jne 0x52c292
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52c274
mov eax, dword [ebp - 4]
call fcn.004f0fdc
cmp dword [eax + 0xc], 0
je 0x52c34c
mov eax, dword [ebp - 4]
call fcn.004f0fdc
mov eax, dword [eax + 0xc]
mov edx, dword [eax]
call dword [edx + 0x1c]
test al, al
jne 0x52c34c
push dword [ebp - 0x10]
push 0x52db40
lea ecx, [ebp - 0x70]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x204]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0x70]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
lea eax, [ebp - 0x10]
mov edx, 0x52db50
call fcn.004055f4
lea eax, [ebp - 0x10]
mov edx, 0x52da70
call fcn.004055f4
push 1
mov ecx, 5
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
lea eax, [ebp - 0x10]
mov edx, 0x52db5c
call fcn.00405398
mov eax, dword [ebp - 4]
test byte [eax + 0x124], 1
je 0x52c39e
lea eax, [ebp - 0x10]
mov edx, 0x52db6c
call fcn.004055f4
mov eax, dword [ebp - 4]
test byte [eax + 0x124], 2
je 0x52c3b7
lea eax, [ebp - 0x10]
mov edx, 0x52db7c
call fcn.004055f4
lea eax, [ebp - 0x10]
mov edx, 0x52da64
call fcn.004055f4
push 1
mov ecx, 4
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
mov eax, dword [ebp - 4]
call fcn.0052f8f4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x52d23b
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
lea eax, [ebp - 0x14]
call fcn.00405300
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x3c]
call fcn.0041b474
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x74]
call fcn.004282f4
test al, al
je 0x52c457
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x74]
call fcn.004282f4
cmp al, 1
jne 0x52c444
call fcn.00407ba0
cmp eax, 0x4e4
je 0x52c457
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x74]
call fcn.004282f4
cmp al, 2
jne 0x52cb26
mov eax, dword [ebp - 4]
call fcn.0052b670
mov ebx, eax
mov esi, 0x20
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
mov eax, dword [eax + esi*4 - 0x78]
lea edx, [ebp - 0x74]
call fcn.0040a09c
push dword [ebp - 0x74]
push 0x52da2c
lea eax, [ebp - 0x14]
mov edx, 3
call fcn.004056ac
inc esi
cmp esi, 0x100
jne 0x52c466
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
cmp byte [eax + 0x3c8], 0
jne 0x52c8a3
lea edx, [ebp - 0x78]
mov eax, dword [ebp - 0xc]
call fcn.0040a09c
mov ecx, dword [ebp - 0x78]
lea eax, [ebp - 0x10]
mov edx, 0x52db90
call fcn.00405638
mov eax, dword [ebp - 4]
call fcn.0052f6d4
cmp byte [eax + 0x14], 2
jne 0x52c514
lea edx, [ebp - 0x7c]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x74]
call fcn.004281dc
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x264]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x52c514
push dword [ebp - 0x10]
push 0x52dbc0
mov eax, dword [ebp - 0x40]
push dword [eax + 4]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
jmp 0x52c52f
push dword [ebp - 0x10]
push 0x52dbdc
mov eax, dword [ebp - 0x40]
push dword [eax + 4]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
push dword [ebp - 0x10]
push 0x52dbf0
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x260]
push dword [eax*4 + 0x543918]
push 0x52dc08
lea edx, [ebp - 0x80]
mov eax, 0x20
call fcn.0040a09c
push dword [ebp - 0x80]
push 0x52dc1c
lea edx, [ebp - 0x84]
mov eax, 0xff
call fcn.0040a09c
push dword [ebp - 0x84]
lea eax, [ebp - 0x10]
mov edx, 7
call fcn.004056ac
push dword [ebp - 0x10]
push 0x52dc30
push 0x52dc44
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 0x14]
call fcn.00409c90
push dword [ebp - 0x88]
push 0x52da64
lea eax, [ebp - 0x10]
mov edx, 5
call fcn.004056ac
push dword [ebp - 0x10]
push 0x52dc50
lea ecx, [ebp - 0x8c]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0x8c]
push 0x52da70
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004056ac
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
mov eax, dword [ebp - 0x40]
mov esi, dword [eax + 0x78]
lea eax, [ebp - 0x10]
mov edx, 0x52dc6c
call fcn.00405398
mov eax, dword [ebp - 4]
call fcn.0052f6d4
cmp byte [eax + 0x14], 2
jne 0x52c664
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x74]
call fcn.004281dc
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x264]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x52c664
push dword [ebp - 0x10]
push 0x52dc8c
mov eax, dword [ebp - 0x40]
push dword [eax + 4]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
jmp 0x52c67f
push dword [ebp - 0x10]
push 0x52dca8
mov eax, dword [ebp - 0x40]
push dword [eax + 4]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
push dword [ebp - 0x10]
push 0x52dcbc
lea edx, [ebp - 0x94]
mov eax, dword [esi + 0x388]
call fcn.0040a09c
push dword [ebp - 0x94]
lea eax, [ebp - 0x98]
push eax
mov eax, dword [esi + 0x38c]
mov dword [ebp - 0xb8], eax
mov byte [ebp - 0xb4], 0
mov eax, dword [esi + 0x398]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0xac], 0
mov eax, dword [esi + 0x394]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0xa4], 0
mov eax, dword [esi + 0x390]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xb8]
mov ecx, 3
mov eax, 0x52dcd0
call fcn.0040b360
push dword [ebp - 0x98]
push 0x52dcf0
lea edx, [ebp - 0xbc]
mov eax, dword [esi + 0x39c]
call fcn.0040a09c
push dword [ebp - 0xbc]
push 0x52dd04
lea edx, [ebp - 0xc0]
mov eax, dword [esi + 0x3a0]
call fcn.0040a09c
push dword [ebp - 0xc0]
push 0x52dd18
lea edx, [ebp - 0xc4]
mov eax, dword [esi + 0x3a4]
call fcn.0040a09c
push dword [ebp - 0xc4]
push 0x52dd2c
lea edx, [ebp - 0xc8]
mov eax, dword [esi + 0x3a8]
call fcn.0040a09c
push dword [ebp - 0xc8]
push 0x52dd40
lea edx, [ebp - 0xcc]
mov eax, dword [esi + 0x3ac]
call fcn.0040a09c
push dword [ebp - 0xcc]
push 0x52dd54
lea edx, [ebp - 0xd0]
mov eax, dword [esi + 0x3ac]
call fcn.0040a09c
push dword [ebp - 0xd0]
push 0x52dd6c
lea edx, [ebp - 0xd4]
mov eax, dword [esi + 0x3b0]
call fcn.0040a09c
push dword [ebp - 0xd4]
push 0x52dd7c
lea edx, [ebp - 0xd8]
mov eax, dword [esi + 0x3b0]
call fcn.0040a09c
push dword [ebp - 0xd8]
push 0x52dd8c
lea edx, [ebp - 0xdc]
mov eax, dword [esi + 0x3b4]
call fcn.0040a09c
push dword [ebp - 0xdc]
lea eax, [ebp - 0x10]
mov edx, 0x16
call fcn.004056ac
mov eax, dword [ebp - 4]
call fcn.0052f6d4
cmp byte [eax + 0x14], 0
je 0x52c882
lea edx, [ebp - 0xe0]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x74]
call fcn.004281dc
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x264]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x52c882
mov eax, dword [ebp - 4]
call fcn.0052b670
mov dword [ebp - 0x20], eax
push dword [ebp - 0x10]
push 0x52dda4
lea ecx, [ebp - 0xe4]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0xe4]
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
lea eax, [ebp - 0x10]
mov edx, 0x52da70
call fcn.004055f4
push 1
mov ecx, ebx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
jmp 0x52cf8f
push 0x52ddb8
lea edx, [ebp - 0xe8]
mov eax, dword [ebp - 0xc]
call fcn.0040a09c
push dword [ebp - 0xe8]
push 0x52dbdc
mov eax, dword [ebp - 0x40]
push dword [eax + 4]
push 0x52dde4
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x260]
push dword [eax*4 + 0x543918]
push 0x52dc08
lea edx, [ebp - 0xec]
mov eax, 0x20
call fcn.0040a09c
push dword [ebp - 0xec]
push 0x52dc1c
lea edx, [ebp - 0xf0]
mov eax, 0xff
call fcn.0040a09c
push dword [ebp - 0xf0]
lea eax, [ebp - 0x10]
mov edx, 0xa
call fcn.004056ac
push dword [ebp - 0x10]
push 0x52dc30
push 0x52dc44
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0x14]
call fcn.00409c90
push dword [ebp - 0xf4]
push 0x52da64
lea eax, [ebp - 0x10]
mov edx, 5
call fcn.004056ac
push dword [ebp - 0x10]
push 0x52dc50
lea ecx, [ebp - 0xf8]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0xf8]
push 0x52da70
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004056ac
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
mov eax, dword [ebp - 0x40]
mov esi, dword [eax + 0x78]
push 0x52ddf8
mov eax, dword [ebp - 0x40]
push dword [eax + 4]
push 0x52de24
lea edx, [ebp - 0xfc]
mov eax, dword [esi + 0x388]
call fcn.0040a09c
push dword [ebp - 0xfc]
lea eax, [ebp - 0x100]
push eax
mov eax, dword [esi + 0x38c]
mov dword [ebp - 0xb8], eax
mov byte [ebp - 0xb4], 0
mov eax, dword [esi + 0x398]
mov dword [ebp - 0xb0], eax
mov byte [ebp - 0xac], 0
mov eax, dword [esi + 0x394]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0xa4], 0
mov eax, dword [esi + 0x390]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x9c], 0
lea edx, [ebp - 0xb8]
mov ecx, 3
mov eax, 0x52dcd0
call fcn.0040b360
push dword [ebp - 0x100]
push 0x52dcf0
lea edx, [ebp - 0x104]
mov eax, dword [esi + 0x39c]
call fcn.0040a09c
push dword [ebp - 0x104]
push 0x52dd04
lea edx, [ebp - 0x108]
mov eax, dword [esi + 0x3a0]
call fcn.0040a09c
push dword [ebp - 0x108]
push 0x52dd18
lea edx, [ebp - 0x10c]
mov eax, dword [esi + 0x3a4]
call fcn.0040a09c
push dword [ebp - 0x10c]
push 0x52dd2c
lea edx, [ebp - 0x110]
mov eax, dword [esi + 0x3a8]
call fcn.0040a09c
push dword [ebp - 0x110]
push 0x52dd40
lea edx, [ebp - 0x114]
mov eax, dword [esi + 0x3ac]
call fcn.0040a09c
push dword [ebp - 0x114]
push 0x52dd6c
lea edx, [ebp - 0x118]
mov eax, dword [esi + 0x3b0]
call fcn.0040a09c
push dword [ebp - 0x118]
push 0x52dd7c
lea edx, [ebp - 0x11c]
mov eax, dword [esi + 0x3b0]
call fcn.0040a09c
push dword [ebp - 0x11c]
lea eax, [ebp - 0x10]
mov edx, 0x13
call fcn.004056ac
lea eax, [ebp - 0x10]
mov edx, 0x52da70
call fcn.004055f4
push 1
mov ecx, ebx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
jmp 0x52cf8f
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
cmp byte [eax + 0x3c8], 0
jne 0x52cf2d
cmp dword [ebp - 0x34], 0xffffffff
jne 0x52cb4a
mov eax, dword [ebp - 4]
call fcn.0052b670
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 4]
call fcn.0052b670
mov esi, eax
lea ecx, [ebp - 0x120]
mov edx, esi
mov eax, dword [ebp - 4]
call fcn.0052b7ec
mov eax, dword [ebp - 0x120]
push eax
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x124]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x40]
call fcn.00511560
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
mov eax, dword [ebp - 4]
call fcn.0052b670
mov ebx, eax
lea ecx, [ebp - 0x128]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0052b7ec
mov edx, dword [ebp - 0x128]
lea ecx, [ebp - 0x10]
mov eax, dword [ebp - 0x40]
call fcn.0050fcb0
lea eax, [ebp - 0x12c]
push eax
push 0x52de34
push 0
lea eax, [ebp - 0x13c]
push eax
mov ecx, esi
mov edx, 0x52de40
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x188]
mov eax, dword [ebp - 0x13c]
lea edx, [ebp - 0x138]
call fcn.004d65c4
push dword [ebp - 0x138]
push 0x52de50
lea eax, [ebp - 0x134]
mov edx, 3
call fcn.004056ac
mov edx, dword [ebp - 0x134]
lea eax, [ebp - 0x130]
call fcn.00405bb8
mov eax, dword [ebp - 0x130]
push eax
lea eax, [ebp - 0x140]
mov edx, dword [ebp - 0x10]
call fcn.00405bb8
mov eax, dword [ebp - 0x140]
mov edx, 0x52de58
pop ecx
call fcn.004d69a0
mov edx, dword [ebp - 0x12c]
lea eax, [ebp - 0x10]
call fcn.004055b4
lea eax, [ebp - 0x144]
push eax
push 0x52de34
push 0
lea eax, [ebp - 0x154]
push eax
mov ecx, esi
mov edx, 0x52de70
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x188]
mov eax, dword [ebp - 0x154]
lea edx, [ebp - 0x150]
call fcn.004d65c4
push dword [ebp - 0x150]
push 0x52de50
lea eax, [ebp - 0x14c]
mov edx, 3
call fcn.004056ac
mov edx, dword [ebp - 0x14c]
lea eax, [ebp - 0x148]
call fcn.00405bb8
mov eax, dword [ebp - 0x148]
push eax
lea eax, [ebp - 0x158]
mov edx, dword [ebp - 0x10]
call fcn.00405bb8
mov eax, dword [ebp - 0x158]
mov edx, 0x52de80
pop ecx
call fcn.004d69a0
mov edx, dword [ebp - 0x144]
lea eax, [ebp - 0x10]
call fcn.004055b4
push 1
mov ecx, esi
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
mov eax, dword [ebp - 4]
call fcn.0052f6d4
cmp byte [eax + 0x14], 0
je 0x52cd76
lea edx, [ebp - 0x15c]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x74]
call fcn.004281dc
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x264]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x52cd76
mov eax, dword [ebp - 4]
call fcn.0052b670
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x160]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
mov edx, dword [ebp - 0x160]
lea ecx, [ebp - 0x10]
mov eax, dword [ebp - 0x40]
call fcn.00510ecc
jmp 0x52cd83
lea ecx, [ebp - 0x10]
xor edx, edx
mov eax, dword [ebp - 0x40]
call fcn.00510ecc
push 1
mov ecx, ebx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
cmp dword [ebp - 0x34], 0xffffffff
je 0x52cf8f
mov dl, 1
mov eax, dword [0x4d5dcc]
call fcn.004d5fc0
mov dword [ebp - 0x1c], eax
xor eax, eax
push ebp
push 0x52cf26
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
mov edx, dword [ebp - 0xc]
call fcn.0041b474
mov edx, dword [ebp - 0x1c]
call fcn.005100a8
mov eax, dword [ebp - 4]
call fcn.0052b670
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x164]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
mov ecx, dword [ebp - 0x164]
lea eax, [ebp - 0x10]
mov edx, 0x52dea0
call fcn.00405638
lea eax, [ebp - 0x10]
mov edx, 0x52deb4
call fcn.004055f4
push 0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
lea eax, [ebp - 0x10]
mov edx, 0x52ded0
call fcn.00405398
mov eax, dword [ebp - 0x10]
call fcn.004055ec
push eax
lea eax, [ebp - 0x10]
call fcn.00405844
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov dl, 1
mov eax, dword [0x419358]
call fcn.00404464
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x268]
mov al, byte [ebx + 4]
push eax
mov al, byte [ebx + 5]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.00523e70
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x34]
push eax
push 0
lea edx, [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x184]
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
mov edx, dword [ebp - 0x18]
call fcn.0041dedc
lea eax, [ebp - 0x10]
mov edx, 0x52dee4
call fcn.00405398
mov eax, dword [ebp - 0x10]
call fcn.004055ec
push eax
lea eax, [ebp - 0x10]
call fcn.00405844
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
lea eax, [ebp - 0x10]
mov edx, 0x52df04
call fcn.00405398
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
lea eax, [ebp - 0x10]
call fcn.0040a188
push 1
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52cf8f
mov eax, dword [ebp - 0x1c]
call fcn.00404494
mov eax, dword [ebp - 0x18]
call fcn.00404494
ret
push 0x52df10
lea edx, [ebp - 0x168]
mov eax, dword [ebp - 0xc]
call fcn.0040a09c
push dword [ebp - 0x168]
push 0x52dbdc
mov eax, dword [ebp - 0x40]
push dword [eax + 4]
push 0x52dde4
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x260]
push dword [eax*4 + 0x543918]
push 0x52da70
lea eax, [ebp - 0x10]
mov edx, 7
call fcn.004056ac
push 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
lea edx, [ebp - 0x16c]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x74]
call fcn.004281dc
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x264]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x52d22f
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
cmp byte [eax + 0x3c8], 0
jne 0x52d22f
mov eax, dword [ebp - 4]
call fcn.0052f6d4
cmp byte [eax + 0x14], 0
je 0x52d22f
mov dl, 1
mov eax, dword [0x4d5dcc]
call fcn.004d5fc0
mov dword [ebp - 0x1c], eax
mov dl, 1
mov eax, dword [0x4264f8]
call fcn.00427df8
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x74]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 4]
call fcn.0052f6d4
cmp byte [eax + 0x14], 1
jne 0x52d027
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
call fcn.0050f69c
jmp 0x52d032
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x40]
call fcn.00511208
xor eax, eax
push ebp
push 0x52d228
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
mov edx, dword [eax]
call dword [edx]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
push 0
push 0
mov eax, dword [ebp - 0x1c]
call fcn.0041dc60
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
lea eax, [ebp - 0x170]
call fcn.0040a188
mov ecx, dword [ebp - 0x170]
lea eax, [ebp - 0x10]
mov edx, 0x52df3c
call fcn.00405638
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x268]
cmp byte [eax + 4], 0
je 0x52d0d7
mov eax, dword [ebp - 4]
call fcn.0052b670
mov dword [ebp - 0x24], eax
push dword [ebp - 0x10]
push 0x52df50
push 0x52da70
lea ecx, [ebp - 0x174]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 4]
call fcn.0052b7ec
push dword [ebp - 0x174]
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004056ac
lea eax, [ebp - 0x10]
mov edx, 0x52deb4
call fcn.004055f4
jmp 0x52d108
push dword [ebp - 0x10]
push 0x52df50
push 0x52da70
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
lea eax, [ebp - 0x178]
call fcn.0040a188
push dword [ebp - 0x178]
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004056ac
push 0
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
lea eax, [ebp - 0x10]
mov edx, 0x52ded0
call fcn.00405398
mov eax, dword [ebp - 0x10]
call fcn.004055ec
push eax
lea eax, [ebp - 0x10]
call fcn.00405844
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov dl, 1
mov eax, dword [0x419358]
call fcn.00404464
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x268]
mov al, byte [ebx + 4]
push eax
mov al, byte [ebx + 5]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
call fcn.00523e70
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x20]
push eax
push 0
lea edx, [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x184]
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
mov edx, dword [ebp - 0x18]
call fcn.0041dedc
lea eax, [ebp - 0x10]
mov edx, 0x52dee4
call fcn.00405398
mov eax, dword [ebp - 0x10]
call fcn.004055ec
push eax
lea eax, [ebp - 0x10]
call fcn.00405844
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
lea eax, [ebp - 0x10]
mov edx, 0x52df04
call fcn.00405398
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
lea eax, [ebp - 0x10]
call fcn.0040a188
push 1
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52d22f
lea eax, [ebp - 0x1c]
call fcn.004d6ec4
lea eax, [ebp - 0x28]
call fcn.004d6ec4
lea eax, [ebp - 0x18]
call fcn.004d6ec4
ret
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52c404
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x17c]
lea eax, [ebp - 0x10]
call fcn.00405300
lea eax, [ebp - 0x10]
mov edx, 0x52df60
call fcn.004055f4
push dword [ebp - 0x10]
push 0
lea eax, [ebp - 0x180]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x294]
mov ecx, 3
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x188]
mov eax, dword [ebp - 0x180]
lea edx, [ebp - 0x17c]
call fcn.004d65c4
push dword [ebp - 0x17c]
push 0x52de50
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
lea eax, [ebp - 0x10]
mov edx, 0x52df78
call fcn.004055f4
push dword [ebp - 0x10]
push 0
lea eax, [ebp - 0x188]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x294]
mov ecx, 3
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x188]
mov eax, dword [ebp - 0x188]
lea edx, [ebp - 0x184]
call fcn.004d65c4
push dword [ebp - 0x184]
push 0x52de50
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
lea eax, [ebp - 0x10]
mov edx, 0x52df8c
call fcn.004055f4
mov eax, dword [ebp - 4]
call fcn.004f1018
mov edx, dword [eax + 8]
lea eax, [ebp - 0x14]
call fcn.004055b4
push dword [ebp - 0x10]
push 0
lea eax, [ebp - 0x190]
push eax
mov ecx, 3
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x188]
mov eax, dword [ebp - 0x190]
lea edx, [ebp - 0x18c]
call fcn.004d65c4
push dword [ebp - 0x18c]
push 0x52de50
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
mov eax, dword [ebp - 4]
call fcn.004f1018
mov eax, dword [eax + 0x14]
lea edx, [ebp - 0x194]
call fcn.00409ce0
mov eax, dword [ebp - 0x194]
xor edx, edx
call fcn.00405cf4
je 0x52d3d2
push dword [ebp - 0x10]
push 0x52dfa0
push 0
lea eax, [ebp - 0x198]
push eax
mov eax, dword [ebp - 4]
call fcn.004f1018
mov edx, dword [eax + 0x14]
mov ecx, 3
mov eax, dword [ebp - 4]
call fcn.00531420
push dword [ebp - 0x198]
push 0x52de50
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004056ac
mov eax, dword [ebp - 4]
call fcn.004f1018
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0x19c]
call fcn.00409ce0
mov eax, dword [ebp - 0x19c]
xor edx, edx
call fcn.00405cf4
je 0x52d438
push dword [ebp - 0x10]
push 0x52dfb4
push 0
lea eax, [ebp - 0x1a0]
push eax
mov eax, dword [ebp - 4]
call fcn.004f1018
mov edx, dword [eax + 0x10]
mov ecx, 3
mov eax, dword [ebp - 4]
call fcn.00531420
push dword [ebp - 0x1a0]
push 0x52de50
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004056ac
mov eax, dword [ebp - 4]
call fcn.004f1018
mov eax, dword [eax + 8]
lea edx, [ebp - 0x1a4]
call fcn.00409ce0
mov eax, dword [ebp - 0x1a4]
xor edx, edx
call fcn.00405cf4
je 0x52d49e
push dword [ebp - 0x10]
push 0x52dfc8
push 0
lea eax, [ebp - 0x1a8]
push eax
mov eax, dword [ebp - 4]
call fcn.004f1018
mov edx, dword [eax + 8]
mov ecx, 3
mov eax, dword [ebp - 4]
call fcn.00531420
push dword [ebp - 0x1a8]
push 0x52de50
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004056ac
mov eax, dword [ebp - 4]
call fcn.004f1018
mov eax, dword [eax + 0xc]
lea edx, [ebp - 0x1ac]
call fcn.00409ce0
mov eax, dword [ebp - 0x1ac]
xor edx, edx
call fcn.00405cf4
je 0x52d504
push dword [ebp - 0x10]
push 0x52dfdc
push 0
lea eax, [ebp - 0x1b0]
push eax
mov eax, dword [ebp - 4]
call fcn.004f1018
mov edx, dword [eax + 0xc]
mov ecx, 3
mov eax, dword [ebp - 4]
call fcn.00531420
push dword [ebp - 0x1b0]
push 0x52de50
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004056ac
mov eax, dword [ebp - 4]
call fcn.004f1018
mov eax, dword [eax + 0x18]
lea edx, [ebp - 0x1b4]
call fcn.00409ce0
mov eax, dword [ebp - 0x1b4]
xor edx, edx
call fcn.00405cf4
je 0x52d56a
push dword [ebp - 0x10]
push 0x52dff0
push 0
lea eax, [ebp - 0x1b8]
push eax
mov eax, dword [ebp - 4]
call fcn.004f1018
mov edx, dword [eax + 0x18]
mov ecx, 3
mov eax, dword [ebp - 4]
call fcn.00531420
push dword [ebp - 0x1b8]
push 0x52de50
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004056ac
lea eax, [ebp - 0x10]
mov edx, 0x52da70
call fcn.004055f4
push 1
mov ecx, 3
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0052bc5c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
mov edx, dword [eax]
call dword [edx]
mov dword [ebp - 8], eax
push 0x52e004
lea edx, [ebp - 0x1bc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24c]
inc eax
call fcn.0040a09c
push dword [ebp - 0x1bc]
push 0x52da70
lea eax, [ebp - 0x1c0]
push eax
mov cl, 0x66
mov edx, 0xffff
xor eax, eax
call fcn.0052bdb8
push dword [ebp - 0x1c0]
push 0x52da70
lea eax, [ebp - 0x10]
mov edx, 5
call fcn.004056ac
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x200]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24c]
dec eax
test eax, eax
jl 0x52d675
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
mov esi, dword [ebp - 0xc]
inc esi
mov edx, esi
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x5c]
inc eax
je 0x52d66d
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c4]
push eax
mov edx, esi
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov edx, eax
lea ecx, [ebp - 0x1c8]
mov eax, ebx
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x1c8]
xor edx, edx
call fcn.0040a214
mov cl, 0x6e
xor edx, edx
call fcn.0052bdb8
push dword [ebp - 0x1c4]
push 0x52da70
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52d60d
mov eax, dword [ebp - 0x10]
call fcn.004055ec
push eax
lea eax, [ebp - 0x10]
call fcn.00405844
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
lea eax, [ebp - 0x10]
mov edx, 0x52e018
call fcn.00405398
push dword [ebp - 0x10]
lea edx, [ebp - 0x1cc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x180]
push dword [ebp - 0x1cc]
push 0x52da70
lea eax, [ebp - 0x10]
mov edx, 3
call fcn.004056ac
push dword [ebp - 0x10]
push 0x52dadc
push 0x52da70
push 0x52e030
push 0x52da70
lea edx, [ebp - 0x1d0]
mov eax, dword [ebp - 8]
call fcn.0040a09c
push dword [ebp - 0x1d0]
push 0x52da70
push 0x52e044
lea eax, [ebp - 0x10]
mov edx, 8
call fcn.004056ac
mov eax, dword [ebp - 0x10]
call fcn.004055ec
push eax
lea eax, [ebp - 0x10]
call fcn.00405844
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 0x10]
mov eax, dword [ebp - 4]
add eax, 0x200
call fcn.004d6ec4
mov eax, dword [ebp - 4]
add eax, 0x25c
call fcn.004d6ec4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x52d788
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x27c]
mov edx, dword [ebp - 0xc]
call fcn.0041b474
call fcn.00404494
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52d76a
mov eax, dword [ebp - 4]
add eax, 0x27c
call fcn.004d6ec4
mov eax, dword [ebp - 4]
add eax, 0x250
call fcn.004d6ec4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x254]
call fcn.0040676c
dec eax
test eax, eax
jl 0x52d80e
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x254]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x52d7f2
mov edi, eax
mov ebx, dword [edi + 8]
dec ebx
test ebx, ebx
jl 0x52d7f2
inc ebx
xor esi, esi
mov edx, esi
mov eax, edi
call fcn.0041b474
call fcn.00404494
inc esi
dec ebx
jne 0x52d7e0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x254]
mov edx, dword [ebp - 0xc]
lea eax, [eax + edx*4]
call fcn.004d6ec4
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52d7c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x280]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x52d848
inc eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x280]
mov edx, dword [ebp - 0xc]
call fcn.0041b474
call fcn.00404494
inc dword [ebp - 0xc]
dec dword [ebp - 0x38]
jne 0x52d82a
mov eax, dword [ebp - 4]
add eax, 0x280
call fcn.004d6ec4
mov eax, dword [ebp - 4]
add eax, 0x258
call fcn.004d6ec4
mov eax, dword [ebp - 4]
add eax, 0x1fc
call fcn.004d6ec4
mov eax, dword [ebp - 4]
call fcn.0052f6d4
cmp byte [eax + 9], 0
jne 0x52d88b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x290]
call fcn.00404494
mov eax, dword [ebp - 4]
add eax, 0x1e8
call fcn.004d6ec4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52da1c
lea eax, [ebp - 0x1d0]
mov edx, 7
call fcn.00405324
lea eax, [ebp - 0x1b4]
call fcn.00405a38
lea eax, [ebp - 0x1b0]
call fcn.00405300
lea eax, [ebp - 0x1ac]
call fcn.00405a38
lea eax, [ebp - 0x1a8]
call fcn.00405300
lea eax, [ebp - 0x1a4]
call fcn.00405a38
lea eax, [ebp - 0x1a0]
call fcn.00405300
lea eax, [ebp - 0x19c]
call fcn.00405a38
lea eax, [ebp - 0x198]
call fcn.00405300
lea eax, [ebp - 0x194]
call fcn.00405a38
lea eax, [ebp - 0x190]
mov edx, 9
call fcn.00405324
lea eax, [ebp - 0x16c]
call fcn.00405300
lea eax, [ebp - 0x168]
mov edx, 3
call fcn.00405324
lea eax, [ebp - 0x15c]
call fcn.00405300
lea eax, [ebp - 0x158]
call fcn.00405a38
lea eax, [ebp - 0x154]
mov edx, 3
call fcn.00405324
lea eax, [ebp - 0x148]
mov edx, 3
call fcn.00405a50
lea eax, [ebp - 0x13c]
mov edx, 3
call fcn.00405324
lea eax, [ebp - 0x130]
mov edx, 2
call fcn.00405a50
lea eax, [ebp - 0x128]
mov edx, 0x12
call fcn.00405324
lea eax, [ebp - 0xe0]
call fcn.00405300
lea eax, [ebp - 0xdc]
mov edx, 9
call fcn.00405324
lea eax, [ebp - 0x98]
mov edx, 2
call fcn.00405324
lea eax, [ebp - 0x90]
call fcn.00405300
lea eax, [ebp - 0x8c]
mov edx, 4
call fcn.00405324
lea eax, [ebp - 0x7c]
call fcn.00405300
lea eax, [ebp - 0x78]
mov edx, 0xe
call fcn.00405324
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00405324
ret