Function at 0x52c930
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x62
push 0
push 0
dec ecx
jne 0x52c938
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x1d4], edx
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d4]
call fcn.00404edc
xor eax, eax
push ebp
push 0x52dfcd
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x4197c4]
call fcn.00403be8
mov dword [ebp - 0x1fc], eax
mov edx, dword [ebp - 0x1d4]
lea eax, [ebp - 0x1cc]
call fcn.00402fb0
lea eax, [ebp - 0x1cc]
call fcn.00402d40
call fcn.00402948
xor eax, eax
push ebp
push 0x52df68
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x210]
xor eax, eax
call fcn.00402b68
mov eax, dword [ebp - 0x210]
lea edx, [ebp - 0x20c]
call fcn.00409ce8
mov eax, dword [ebp - 0x20c]
lea edx, [ebp - 0x208]
call fcn.0040eda4
mov edx, dword [ebp - 0x208]
lea eax, [ebp - 0x1ec]
mov ecx, 0x52dfe4
call fcn.00404d38
mov eax, dword [ebp - 0x1ec]
call fcn.00409a1c
test al, al
je 0x52ca77
mov edx, dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
call dword [ecx + 0x68]
jmp 0x52ca68
lea ecx, [ebp - 0x218]
xor edx, edx
mov eax, dword [ebp - 0x1fc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x218]
lea edx, [ebp - 0x214]
call fcn.00409114
cmp dword [ebp - 0x214], 0
je 0x52ca5b
lea ecx, [ebp - 0x21c]
xor edx, edx
mov eax, dword [ebp - 0x1fc]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x21c]
cmp byte [eax], 0x23
jne 0x52ca77
xor edx, edx
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x1fc]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x52ca10
lea eax, [ebp - 0x1e0]
push eax
mov eax, 0x52dff8
mov dword [ebp - 0x234], eax
mov byte [ebp - 0x230], 0xb
call fcn.0040b3f4
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x238]
call fcn.0040cd50
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x22c], eax
mov byte [ebp - 0x228], 0xb
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
call fcn.00458bc0
mov dword [ebp - 0x224], eax
mov byte [ebp - 0x220], 0
lea eax, [ebp - 0x234]
push eax
lea edx, [ebp - 0x23c]
mov eax, dword [0x5441f4]
call fcn.00406974
mov eax, dword [ebp - 0x23c]
mov ecx, 2
pop edx
call fcn.0040a674
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e014
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e07c
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e0c4
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x240]
push eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
xor edx, edx
call fcn.0045d130
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e0f4
call fcn.0040a674
mov eax, dword [ebp - 0x240]
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x24c]
push eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov edx, 2
call fcn.0045d130
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e148
call fcn.0040a674
mov eax, dword [ebp - 0x24c]
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x250]
push eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov edx, 3
call fcn.0045d130
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e148
call fcn.0040a674
mov eax, dword [ebp - 0x250]
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x254]
push eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov edx, 4
call fcn.0045d130
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e148
call fcn.0040a674
mov eax, dword [ebp - 0x254]
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x258]
push eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov edx, 5
call fcn.0045d130
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e148
call fcn.0040a674
mov eax, dword [ebp - 0x258]
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x25c]
push eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov edx, 6
call fcn.0045d130
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e19c
call fcn.0040a674
mov eax, dword [ebp - 0x25c]
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x260]
push eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov edx, 7
call fcn.0045d130
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e1f0
call fcn.0040a674
mov eax, dword [ebp - 0x260]
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x264]
push eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov edx, 9
call fcn.0045d130
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e244
call fcn.0040a674
mov eax, dword [ebp - 0x264]
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e298
call fcn.0052c73c
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
call fcn.00458bc0
sub eax, 1
jno 0x52cdc1
call fcn.00403b58
test eax, eax
jl 0x52d092
inc eax
mov dword [ebp - 0x200], eax
xor esi, esi
push ebp
mov eax, 0x52e2a8
call fcn.0052c73c
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0x1e0]
call fcn.00404ac4
lea eax, [ebp - 0x1e8]
mov edx, dword [ebp - 0x1e0]
call fcn.00404ac4
lea eax, [ebp - 0x1e4]
push eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x274], eax
mov byte [ebp - 0x270], 0xb
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x26c], eax
mov byte [ebp - 0x268], 0xb
lea edx, [ebp - 0x274]
mov ecx, 1
mov eax, 0x52e2c8
call fcn.0040a674
push dword [ebp - 0x1e4]
push 0x52e314
lea eax, [ebp - 0x278]
push eax
mov eax, esi
add eax, 1
jno 0x52ce76
call fcn.00403b58
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e330
call fcn.0040a674
push dword [ebp - 0x278]
lea eax, [ebp - 0x1e4]
mov edx, 3
call fcn.00404dac
push ebp
mov eax, dword [ebp - 0x1e4]
call fcn.0052c760
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x1e0]
mov edx, 1
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1e0]
call fcn.00404eec
call fcn.004c21e0
test al, al
je 0x52cf09
lea eax, [ebp - 0x1e8]
mov edx, dword [ebp - 0x1e0]
call fcn.00404ac4
push ebp
mov edx, dword [ebp - 0x1e0]
xor eax, eax
call fcn.0052c824
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x1e0]
mov edx, 2
mov ebx, dword [eax]
call dword [ebx + 0xc]
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c760
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x1e0]
mov edx, 3
mov ebx, dword [eax]
call dword [ebx + 0xc]
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c760
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x1e0]
mov edx, 4
mov ebx, dword [eax]
call dword [ebx + 0xc]
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c760
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x1e0]
mov edx, 5
mov ebx, dword [eax]
call dword [ebx + 0xc]
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c760
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x1e0]
mov edx, 6
mov ebx, dword [eax]
call dword [ebx + 0xc]
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c760
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x1e0]
mov edx, 8
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea eax, [ebp - 0x1e0]
call fcn.004da480
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c760
pop ecx
push ebp
mov eax, 0x52e298
call fcn.0052c73c
pop ecx
inc esi
dec dword [ebp - 0x200]
jne 0x52cdd2
push ebp
mov eax, 0x52e3a4
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e3b8
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e3dc
call fcn.0052c73c
pop ecx
push ebp
xor eax, eax
call fcn.0052c73c
pop ecx
push ebp
xor eax, eax
call fcn.0052c73c
pop ecx
push ebp
xor eax, eax
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e3f4
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e43c
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e47c
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e4c8
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e4fc
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e520
call fcn.0052c73c
pop ecx
push ebp
xor eax, eax
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e014
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e07c
call fcn.0052c73c
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
call fcn.00458bc0
sub eax, 1
jno 0x52d15b
call fcn.00403b58
test eax, eax
jl 0x52df0a
inc eax
mov dword [ebp - 0x200], eax
xor esi, esi
push ebp
mov eax, 0x52e530
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e550
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e578
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e5c0
call fcn.0052c73c
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
lea edx, [ebp - 0x1e8]
call fcn.004d7a20
lea eax, [ebp - 0x1e0]
push eax
mov eax, esi
add eax, 1
jno 0x52d1d3
call fcn.00403b58
mov dword [ebp - 0x274], eax
mov byte [ebp - 0x270], 0
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x26c], eax
mov byte [ebp - 0x268], 0xb
lea edx, [ebp - 0x274]
mov ecx, 1
mov eax, 0x52e5ec
call fcn.0040a674
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e610
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e620
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e688
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e6a0
call fcn.0052c73c
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov ebx, dword [eax + 0xc]
test ebx, ebx
je 0x52d49b
cmp dword [ebx + 0xa0], 0
je 0x52d49b
mov eax, dword [ebx + 0xa0]
cmp dword [eax + 8], 0
jle 0x52d49b
push ebp
mov eax, 0x52e2a8
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x27c]
push eax
mov eax, dword [ebx + 0xa0]
mov edi, dword [eax + 8]
mov eax, edi
add eax, 1
jno 0x52d2af
call fcn.00403b58
mov dword [ebp - 0x274], eax
mov byte [ebp - 0x270], 0
mov dword [ebp - 0x26c], edi
mov byte [ebp - 0x268], 0
lea edx, [ebp - 0x274]
mov ecx, 1
mov eax, 0x52e6b4
call fcn.0040a674
mov eax, dword [ebp - 0x27c]
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e700
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e744
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e784
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e298
call fcn.0052c73c
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x1e8]
mov edx, 1
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x1e8]
call fcn.00404eec
call fcn.004c21e0
test al, al
jne 0x52d381
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov edx, dword [eax + 0x24]
lea eax, [ebp - 0x1e8]
call fcn.00404ac4
mov eax, dword [ebx + 0xa0]
mov eax, dword [eax + 8]
sub eax, 1
jno 0x52d394
call fcn.00403b58
test eax, eax
jl 0x52d49b
inc eax
mov dword [ebp - 0x204], eax
xor edi, edi
mov eax, dword [ebx + 0xa0]
mov edx, edi
call fcn.0041bbc4
mov dword [ebp - 0x1f8], eax
push ebp
mov eax, 0x52e7c4
call fcn.0052c73c
pop ecx
lea eax, [ebp - 0x1e0]
mov edx, dword [ebp - 0x1f8]
mov edx, dword [edx]
call fcn.00404ac4
lea eax, [ebp - 0x1e0]
call fcn.004da480
push ebp
lea eax, [ebp - 0x280]
push eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x234], eax
mov byte [ebp - 0x230], 0xb
mov eax, dword [ebp - 0x1f8]
mov eax, dword [eax]
mov dword [ebp - 0x22c], eax
mov byte [ebp - 0x228], 0xb
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x224], eax
mov byte [ebp - 0x220], 0xb
lea edx, [ebp - 0x234]
mov ecx, 2
mov eax, 0x52e7e4
call fcn.0040a674
mov eax, dword [ebp - 0x280]
call fcn.0052c760
pop ecx
push ebp
mov eax, dword [ebp - 0x1f8]
mov eax, dword [eax + 4]
call fcn.0052c760
pop ecx
lea eax, [ebp - 0x1e0]
mov edx, dword [ebp - 0x1f8]
mov edx, dword [edx + 8]
call fcn.00404ac4
lea eax, [ebp - 0x1e0]
call fcn.004da480
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c760
pop ecx
push ebp
mov eax, 0x52e298
call fcn.0052c73c
pop ecx
inc edi
dec dword [ebp - 0x204]
jne 0x52d3a5
test ebx, ebx
je 0x52d65f
cmp dword [ebx + 0x88], 0
je 0x52d65f
mov eax, dword [ebx + 0x88]
mov dl, 0xd
call fcn.004c355c
mov edi, eax
push ebp
mov eax, 0x52e7c4
call fcn.0052c73c
pop ecx
push ebp
lea eax, [ebp - 0x284]
push eax
mov dword [ebp - 0x248], edi
mov byte [ebp - 0x244], 0
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e834
call fcn.0040a674
mov eax, dword [ebp - 0x284]
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e874
call fcn.0052c73c
pop ecx
xor eax, eax
mov dword [ebp - 0x1f4], eax
lea eax, [ebp - 0x1f0]
mov edx, dword [ebx + 0x88]
call fcn.00404ac4
lea eax, [ebp - 0x1f0]
call fcn.004da480
jmp 0x52d63c
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x1f4]
mov dl, 0xd
mov eax, dword [ebp - 0x1f0]
call fcn.004c34b0
cmp dword [ebp - 0x1e0], 0
je 0x52d63c
mov edx, dword [ebp - 0x1e0]
mov eax, 0x52e89c
call fcn.00405030
mov edi, eax
test edi, edi
jle 0x52d63c
lea eax, [ebp - 0x288]
push eax
mov ecx, edi
sub ecx, 1
jno 0x52d587
call fcn.00403b58
mov edx, 1
mov eax, dword [ebp - 0x1e0]
call fcn.00404f4c
mov eax, dword [ebp - 0x288]
lea edx, [ebp - 0x1d8]
call fcn.00409114
lea eax, [ebp - 0x28c]
push eax
mov eax, dword [ebp - 0x1e0]
call fcn.00404cec
mov ecx, eax
sub ecx, edi
jno 0x52d5c5
call fcn.00403b58
mov edx, edi
add edx, 1
jno 0x52d5d1
call fcn.00403b58
mov eax, dword [ebp - 0x1e0]
call fcn.00404f4c
mov eax, dword [ebp - 0x28c]
lea edx, [ebp - 0x1dc]
call fcn.00409114
push ebp
lea eax, [ebp - 0x290]
push eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x274], eax
mov byte [ebp - 0x270], 0xb
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x26c], eax
mov byte [ebp - 0x268], 0xb
lea edx, [ebp - 0x274]
mov ecx, 1
mov eax, 0x52e8a8
call fcn.0040a674
mov eax, dword [ebp - 0x290]
call fcn.0052c73c
pop ecx
mov eax, dword [ebp - 0x1f0]
call fcn.00404cec
cmp eax, dword [ebp - 0x1f4]
jg 0x52d533
push ebp
mov eax, 0x52e6a0
call fcn.0052c73c
pop ecx
test ebx, ebx
je 0x52d8dc
cmp dword [ebx + 0x9c], 0
je 0x52d8dc
mov edi, dword [ebx + 0x9c]
push ebp
mov eax, 0x52e7c4
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e8c4
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e874
call fcn.0052c73c
pop ecx
lea eax, [ebp - 0x1e0]
mov edx, dword [edi]
call fcn.00404ac4
lea eax, [ebp - 0x1e0]
call fcn.004da480
cmp dword [ebp - 0x1e0], 0
je 0x52d6f8
push ebp
lea eax, [ebp - 0x294]
push eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e904
call fcn.0040a674
mov eax, dword [ebp - 0x294]
call fcn.0052c73c
pop ecx
cmp dword [edi + 4], 0
je 0x52d734
push ebp
lea eax, [ebp - 0x298]
push eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e928
call fcn.0040a674
mov eax, dword [ebp - 0x298]
call fcn.0052c73c
pop ecx
cmp dword [edi + 8], 0
jbe 0x52d781
push ebp
lea eax, [ebp - 0x29c]
push eax
lea edx, [ebp - 0x2a0]
mov eax, dword [edi + 8]
call fcn.004d77b8
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e94c
call fcn.0040a674
mov eax, dword [ebp - 0x29c]
call fcn.0052c73c
pop ecx
lea eax, [ebp - 0x1e0]
mov edx, dword [edi + 0xc]
call fcn.00404ac4
lea eax, [ebp - 0x1e0]
call fcn.004da480
cmp dword [ebp - 0x1e0], 0
je 0x52d7dc
push ebp
lea eax, [ebp - 0x2a4]
push eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e970
call fcn.0040a674
mov eax, dword [ebp - 0x2a4]
call fcn.0052c73c
pop ecx
lea eax, [ebp - 0x1e0]
mov edx, dword [edi + 0x10]
call fcn.00404ac4
lea eax, [ebp - 0x1e0]
call fcn.004da480
cmp dword [ebp - 0x1e0], 0
je 0x52d837
push ebp
lea eax, [ebp - 0x2a8]
push eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e994
call fcn.0040a674
mov eax, dword [ebp - 0x2a8]
call fcn.0052c73c
pop ecx
lea eax, [ebp - 0x1e0]
mov edx, dword [edi + 0x14]
call fcn.00404ac4
lea eax, [ebp - 0x1e0]
call fcn.004da480
cmp dword [ebp - 0x1e0], 0
je 0x52d892
push ebp
lea eax, [ebp - 0x2ac]
push eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e9b4
call fcn.0040a674
mov eax, dword [ebp - 0x2ac]
call fcn.0052c73c
pop ecx
cmp word [edi + 0x18], 0
jbe 0x52d8d0
push ebp
lea eax, [ebp - 0x2b0]
push eax
movzx eax, word [edi + 0x18]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52e9d8
call fcn.0040a674
mov eax, dword [ebp - 0x2b0]
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e6a0
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e7c4
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e9fc
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e874
call fcn.0052c73c
pop ecx
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x1e0]
xor edx, edx
mov edi, dword [eax]
call dword [edi + 0xc]
lea edx, [ebp - 0x2b4]
mov eax, dword [ebp - 0x1e0]
call fcn.004d6950
mov edx, dword [ebp - 0x2b4]
lea eax, [ebp - 0x1e0]
call fcn.00404ac4
push ebp
lea eax, [ebp - 0x2b8]
push eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52ea38
call fcn.0040a674
mov eax, dword [ebp - 0x2b8]
call fcn.0052c73c
pop ecx
lea eax, [ebp - 0x1e0]
call fcn.00404a2c
mov edi, ebx
fld qword [edi + 0xc]
fcomp dword [0x52ea58]
fnstsw ax
sahf
je 0x52da33
lea eax, [ebp - 0x2bc]
push eax
push dword [edi + 0x10]
push dword [edi + 0xc]
lea eax, [ebp - 0x2c0]
call fcn.0040cd50
mov eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52ea64
call fcn.0040a674
mov eax, dword [ebp - 0x2bc]
push eax
lea eax, [ebp - 0x2c4]
push eax
lea edx, [ebp - 0x2c8]
mov al, byte [edi + 0xa]
call fcn.004d67e8
mov eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52ea84
call fcn.0040a674
mov edx, dword [ebp - 0x2c4]
lea eax, [ebp - 0x1e0]
pop ecx
call fcn.00404d38
fld qword [edi + 0x18]
fcomp dword [0x52ea58]
fnstsw ax
sahf
je 0x52dae3
push dword [ebp - 0x1e0]
push 0x52eaa8
lea eax, [ebp - 0x2cc]
push eax
lea edx, [ebp - 0x2d0]
mov al, byte [edi + 0x14]
call fcn.004d67e8
mov eax, dword [ebp - 0x2d0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52eab4
call fcn.0040a674
push dword [ebp - 0x2cc]
lea eax, [ebp - 0x2d4]
push eax
push dword [edi + 0x1c]
push dword [edi + 0x18]
lea eax, [ebp - 0x2d8]
call fcn.0040cd50
mov eax, dword [ebp - 0x2d8]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52ead8
call fcn.0040a674
push dword [ebp - 0x2d4]
lea eax, [ebp - 0x1e0]
mov edx, 4
call fcn.00404dac
fld qword [edi + 0x24]
fcomp dword [0x52ea58]
fnstsw ax
sahf
je 0x52db93
push dword [ebp - 0x1e0]
push 0x52eaa8
lea eax, [ebp - 0x2dc]
push eax
lea edx, [ebp - 0x2e0]
mov al, byte [edi + 0x20]
call fcn.004d67e8
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52eaf8
call fcn.0040a674
push dword [ebp - 0x2dc]
lea eax, [ebp - 0x2e4]
push eax
push dword [edi + 0x28]
push dword [edi + 0x24]
lea eax, [ebp - 0x2e8]
call fcn.0040cd50
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52eb1c
call fcn.0040a674
push dword [ebp - 0x2e4]
lea eax, [ebp - 0x1e0]
mov edx, 4
call fcn.00404dac
fld qword [edi + 0x30]
fcomp dword [0x52ea58]
fnstsw ax
sahf
je 0x52dc43
push dword [ebp - 0x1e0]
push 0x52eaa8
lea eax, [ebp - 0x2ec]
push eax
lea edx, [ebp - 0x2f0]
mov al, byte [edi + 0x2c]
call fcn.004d67e8
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52eb3c
call fcn.0040a674
push dword [ebp - 0x2ec]
lea eax, [ebp - 0x2f4]
push eax
push dword [edi + 0x34]
push dword [edi + 0x30]
lea eax, [ebp - 0x2f8]
call fcn.0040cd50
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52eb60
call fcn.0040a674
push dword [ebp - 0x2f4]
lea eax, [ebp - 0x1e0]
mov edx, 4
call fcn.00404dac
cmp dword [ebp - 0x1e0], 0
je 0x52dc59
push ebp
mov eax, dword [ebp - 0x1e0]
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e6a0
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e7c4
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52eb80
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e874
call fcn.0052c73c
pop ecx
lea eax, [ebp - 0x1e0]
call fcn.00404a2c
test ebx, ebx
je 0x52dca9
lea edx, [ebp - 0x1e0]
mov eax, dword [ebx + 0x84]
call fcn.00409114
cmp dword [ebp - 0x1e0], 0
jne 0x52dcc3
push ebp
mov eax, 0x52ebbc
call fcn.0052c73c
pop ecx
jmp 0x52dd47
lea eax, [ebp - 0x1e0]
call fcn.004da480
xor eax, eax
mov dword [ebp - 0x1f4], eax
jmp 0x52dd34
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x1f4]
mov dl, 0xd
mov eax, dword [ebp - 0x1e0]
call fcn.004c34b0
cmp dword [ebp - 0x1d8], 0
je 0x52dd34
push ebp
lea eax, [ebp - 0x2fc]
push eax
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52ebe0
call fcn.0040a674
mov eax, dword [ebp - 0x2fc]
call fcn.0052c73c
pop ecx
mov eax, dword [ebp - 0x1e0]
call fcn.00404cec
cmp eax, dword [ebp - 0x1f4]
jg 0x52dcd8
lea eax, [ebp - 0x1e0]
call fcn.00404a2c
test ebx, ebx
je 0x52dd7a
lea eax, [ebp - 0x300]
lea edx, [ebx + 0x48]
mov ecx, 0x3c
call fcn.00404c9c
mov eax, dword [ebp - 0x300]
lea edx, [ebp - 0x1e0]
call fcn.00409114
cmp dword [ebp - 0x1e0], 0
jne 0x52ddfc
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 0x3e0]
mov eax, dword [eax + 0x22c]
mov edx, esi
call fcn.00458c18
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x304]
mov edx, 2
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x304]
lea edx, [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1fc]
call fcn.004d552c
test al, al
je 0x52ddfc
test ebx, ebx
je 0x52ddfc
mov eax, dword [ebp - 0x1e0]
call fcn.00404cec
mov edx, eax
mov eax, 0x3c
call fcn.00430260
push eax
mov eax, dword [ebp - 0x1e0]
call fcn.00404eec
mov edx, eax
lea eax, [ebx + 0x48]
pop ecx
call fcn.00409fe0
push ebp
lea eax, [ebp - 0x308]
push eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52ec04
call fcn.0040a674
mov eax, dword [ebp - 0x308]
call fcn.0052c73c
pop ecx
lea eax, [ebp - 0x1e0]
call fcn.00404a2c
test ebx, ebx
je 0x52de5a
cmp word [ebx + 0x46], 0xffff
je 0x52de5a
lea edx, [ebp - 0x1e0]
movsx eax, word [ebx + 0x46]
call fcn.00409508
push ebp
lea eax, [ebp - 0x30c]
push eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52ec28
call fcn.0040a674
mov eax, dword [ebp - 0x30c]
call fcn.0052c73c
pop ecx
lea eax, [ebp - 0x1e0]
call fcn.00404a2c
test ebx, ebx
je 0x52deb8
cmp word [ebx + 0x44], 0xffff
je 0x52deb8
lea edx, [ebp - 0x1e0]
movsx eax, word [ebx + 0x44]
call fcn.00409508
push ebp
lea eax, [ebp - 0x310]
push eax
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x248], eax
mov byte [ebp - 0x244], 0xb
lea edx, [ebp - 0x248]
xor ecx, ecx
mov eax, 0x52ec48
call fcn.0040a674
mov eax, dword [ebp - 0x310]
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e6a0
call fcn.0052c73c
pop ecx
inc esi
dec dword [ebp - 0x200]
jne 0x52d16c
push ebp
mov eax, 0x52e3a4
call fcn.0052c73c
pop ecx
push ebp
mov eax, 0x52e3b8
call fcn.0052c73c
pop ecx
push ebp
lea edx, [ebp - 0x314]
mov eax, dword [0x544114]
call fcn.00406974
mov eax, dword [ebp - 0x314]
call fcn.0052c73c
pop ecx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52df6f
mov eax, dword [ebp - 0x1fc]
call fcn.00403c18
lea eax, [ebp - 0x1cc]
call fcn.00403078
call fcn.00402948
ret