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

Disassembly:
mov ecx, dword [0x6c4e70]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x4b4]
cmp eax, dword [ecx + 8]
jbe 0x5201b0
sub esp, 0x534
mov eax, dword [esp + 0x538]
mov dword [esp], eax
call fcn.0051cd20
mov eax, dword [esp + 4]
test eax, eax
je 0x51ee71
mov ebx, dword [eax]
cmp ebx, 0x12
je 0x51eb70
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x88], ebp
mov ecx, dword [eax + 4]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x80], edx
cmp ebx, 0x13
je 0x51e880
cmp ebx, 0x14
je 0x51e649
mov ebx, ebp
mov esi, edx
mov edi, ecx
mov ecx, 0
mov dword [esp + 0x38], ecx
mov edx, 0
mov dword [esp + 0xe4], edx
mov ebx, 0
mov dword [esp + 0x28], ebx
mov ebp, 0
mov dword [esp + 0x24], ebp
mov esi, 0
mov dword [esp + 0xe0], esi
mov edi, 0
mov dword [esp + 0x34], edi
mov ecx, 0
mov dword [esp + 0x2c], ecx
mov ecx, 0
mov dword [esp + 0x30], ecx
mov ecx, 0
mov dword [esp + 0x5c], ecx
mov ecx, 0
mov dword [esp + 0x58], ecx
mov ecx, 0
mov dword [esp + 0xec], ecx
mov ebp, dword [esp + 0x88]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov ebx, ebp
mov esi, edx
mov edi, ecx
jmp 0x51e844
mov esi, dword [eax + 0x20]
mov dword [esp + 0xe4], esi
mov edi, dword [eax + 0x24]
mov dword [esp + 0x38], edi
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0xe0], ecx
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
nop
mov ebp, dword [esp + 0x538]
mov byte [ebp + 0xf8], 0
inc dword [ebp + 0xf4]
mov esi, dword [ebp + 0xe8]
mov edi, dword [ebp + 0xf0]
cmp esi, edi
jbe 0x5201a6
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0xe4]
lea ecx, [edi + edi*8]
lea eax, [eax + ecx*8]
cmp dword [eax], 2
sete al
mov byte [ebp + 0xdd], al
inc dword [ebp + 0xf0]
mov dword [esp], ebp
call fcn.0051cd20
mov eax, dword [esp + 4]
test eax, eax
je 0x51e871
cmp dword [eax], 0x13
je 0x51e712
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x14
mov ecx, 0
mov edx, 0
mov ebx, 0
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
jmp 0x51e7bc
mov edx, dword [eax + 0x20]
mov dword [esp + 0xec], edx
mov ebx, dword [eax + 0x24]
mov ebp, dword [eax + 0x28]
mov esi, dword [eax + 0x14]
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x78], eax
nop
mov edx, dword [esp + 0x538]
mov byte [edx + 0xf8], 0
inc dword [edx + 0xf4]
mov eax, dword [edx + 0xe8]
mov ecx, dword [edx + 0xf0]
cmp eax, ecx
jbe 0x52019b
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], esi
mov eax, dword [edx + 0xe4]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*8]
cmp dword [eax], 2
sete al
mov byte [edx + 0xdd], al
inc dword [edx + 0xf0]
mov dword [esp], edx
call fcn.0051cd20
mov eax, dword [esp + 4]
test eax, eax
je 0x51e862
mov ecx, dword [esp + 0x7c]
cmp ecx, 0x14
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x34], eax
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x58], eax
mov dword [esp + 0xec], ebx
mov edx, esi
mov ecx, edi
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0xd4]
sete bl
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xa4]
jmp 0x51eace
mov byte [esp + 0x544], 0
add esp, 0x534
ret
mov byte [esp + 0x544], 0
add esp, 0x534
ret
mov ebx, dword [eax + 0x20]
mov dword [esp + 0xec], ebx
mov esi, dword [eax + 0x24]
mov dword [esp + 0x58], esi
mov edi, dword [eax + 0x28]
mov ebp, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
nop
mov ebx, dword [esp + 0x538]
mov byte [ebx + 0xf8], 0
inc dword [ebx + 0xf4]
mov ecx, dword [ebx + 0xe8]
mov esi, dword [ebx + 0xf0]
cmp ecx, esi
jbe 0x520194
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x5c], edi
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0xe4]
lea ecx, [esi + esi*8]
lea eax, [eax + ecx*8]
cmp dword [eax], 2
sete al
mov byte [ebx + 0xdd], al
inc dword [ebx + 0xf0]
mov dword [esp], ebx
call fcn.0051cd20
mov eax, dword [esp + 4]
test eax, eax
je 0x51eb61
mov ebx, dword [eax]
cmp ebx, 0x14
je 0x51e96b
mov ecx, 0
mov edx, 0
mov ebx, 0
mov ebp, 0
mov esi, 0
mov edi, 0
mov ecx, 0
mov dword [esp + 0x2c], ecx
mov ecx, 0
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x50], ebx
mov ecx, 0
mov edx, 0
mov ebx, 0
jmp 0x51ea6e
mov edx, dword [eax + 0x20]
mov dword [esp + 0xe4], edx
mov ebp, dword [eax + 0x24]
mov esi, dword [eax + 0x2c]
mov edi, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x68], ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x64], eax
nop
mov edx, dword [esp + 0x538]
mov byte [edx + 0xf8], 0
inc dword [edx + 0xf4]
mov eax, dword [edx + 0xe8]
mov ecx, dword [edx + 0xf0]
cmp eax, ecx
jbe 0x520189
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], ebp
mov dword [esp + 0xe0], esi
mov dword [esp + 0x60], ebx
mov eax, dword [edx + 0xe4]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*8]
cmp dword [eax], 2
sete al
mov byte [edx + 0xdd], al
inc dword [edx + 0xf0]
mov dword [esp], edx
call fcn.0051cd20
mov eax, dword [esp + 4]
test eax, eax
je 0x51eb52
mov ebx, dword [esp + 0x60]
cmp ebx, 0x14
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
sete al
mov dword [esp + 0x38], ecx
mov dword [esp + 0xe4], edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0xe0], esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x34], edi
mov byte [esp + 0xac], al
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xdc]
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
movzx ebx, byte [esp + 0xac]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0xdc], eax
test bl, bl
je 0x51eb3a
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x51eb17
mov dword [esp + 0x4c], edx
mov ebp, dword [esp + 0x538]
mov edx, dword [ebp + 0x140]
mov dword [esp + 0x78], edx
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x8c]
jmp 0x51ff08
mov ebx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0xe8], ebx
mov ebx, dword [esp + 0x28]
jmp 0x51fed2
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 0xe8], ebx
xor ebx, ebx
mov dword [esp + 0x40], ebx
xor ebx, ebx
jmp 0x51ee93
mov byte [esp + 0x544], 0
add esp, 0x534
ret
mov byte [esp + 0x544], 0
add esp, 0x534
ret
mov ebx, dword [esp + 0x538]
mov ecx, dword [ebx + 0x128]
lea ebp, [ecx - 1]
cmp ecx, ebp
jbe 0x51ee8c
mov ebp, dword [ebx + 0x124]
mov ebp, dword [ebp + ecx*4 - 4]
mov dword [ebx + 0x120], ebp
mov edx, dword [ebx + 0x12c]
mov ebp, dword [ebx + 0x128]
lea ecx, [ebp - 1]
cmp edx, ecx
jb 0x51ee87
mov dword [esp + 0xdc], eax
mov dword [ebx + 0x128], ecx
lea edi, [esp + 0x4ac]
xor eax, eax
call fcn.004610ce
mov byte [esp + 0x4ac], 5
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 8]
mov ebp, dword [ecx + 0xc]
mov eax, dword [ecx + 4]
mov dword [esp + 0x4b0], eax
mov dword [esp + 0x4b4], edx
mov dword [esp + 0x4b8], ebp
mov edx, dword [ecx + 0x14]
mov ebp, dword [ecx + 0x18]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x4bc], eax
mov dword [esp + 0x4c0], edx
mov dword [esp + 0x4c4], ebp
mov edx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x50c], edx
mov dword [esp + 0x510], ebp
mov dword [esp + 0x514], ecx
mov edi, dword [esp + 0x53c]
test byte [edi], al
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x51ec71
lea eax, [0x57b0c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x4ac]
mov dword [esp + 8], eax
call fcn.00410740
mov ebx, dword [esp + 0x538]
mov edi, dword [esp + 0x53c]
lea esi, [esp + 0x4ac]
call fcn.004614ac
mov ecx, dword [ebx + 0x94]
mov edx, dword [ebx + 0x98]
nop
mov ebp, dword [ebx + 0x90]
mov eax, ebx
mov ebx, dword [esp + 0x53c]
mov dword [ebx + 0x34], ecx
mov dword [ebx + 0x38], edx
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x51ecb6
call fcn.00460f00
mov dword [edi], ebp
mov edx, dword [ebx + 0x30]
mov dword [edi + 4], edx
mov dword [ebx + 0x30], ebp
mov edx, dword [eax + 0xa0]
mov ebp, dword [eax + 0xa4]
mov esi, dword [eax + 0x9c]
mov dword [ebx + 0x40], edx
mov dword [ebx + 0x44], ebp
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51ece8
call fcn.00460f00
mov dword [edi], esi
mov edx, dword [ebx + 0x3c]
mov dword [edi + 4], edx
mov dword [ebx + 0x3c], esi
mov edx, dword [eax + 0xac]
mov ebp, dword [eax + 0xb0]
mov esi, dword [eax + 0xa8]
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x50], ebp
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51ed1a
call fcn.00460f00
mov dword [edi], esi
mov edx, dword [ebx + 0x48]
mov dword [edi + 4], edx
mov dword [ebx + 0x48], esi
mov dword [eax + 0x94], 0
mov dword [eax + 0x98], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51ed48
mov edx, dword [eax + 0x90]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0x90], 0
mov dword [eax + 0xa0], 0
mov dword [eax + 0xa4], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51ed7d
mov edx, dword [eax + 0x9c]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0x9c], 0
mov dword [eax + 0xac], 0
mov dword [eax + 0xb0], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51edb2
mov edx, dword [eax + 0xa8]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0xa8], 0
mov dword [eax + 0xb8], 0
mov dword [eax + 0xbc], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51ede7
mov edx, dword [eax + 0xb4]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0xb4], 0
mov dword [eax + 0xc4], 0
mov dword [eax + 0xc8], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51ee1c
mov edx, dword [eax + 0xc0]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0xc0], 0
nop
mov byte [eax + 0xf8], 0
inc dword [eax + 0xf4]
mov ecx, dword [eax + 0xe8]
mov edx, dword [eax + 0xf0]
cmp ecx, edx
jbe 0x51ee80
mov ecx, dword [eax + 0xe4]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*8]
cmp dword [ecx], 2
sete cl
mov byte [eax + 0xdd], cl
inc dword [eax + 0xf0]
mov byte [esp + 0x544], 1
add esp, 0x534
ret
mov byte [esp + 0x544], 0
add esp, 0x534
ret
mov eax, edx
call fcn.00460f60
call fcn.00460fa0
mov eax, ebp
call fcn.00460f60
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
movzx ebp, byte [esp + 0x541]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x51efd3
cmp dword [eax], 0xe
jne 0x51efd3
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0x538]
mov dword [ebp + 0x120], 0xa
mov ebp, edi
lea edi, [esp + 0x424]
lea esi, [0x5c1088]
call fcn.004614ac
mov dword [esp + 0x428], ebp
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x42c], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x430], ecx
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x438], eax
mov dword [esp + 0x43c], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x488], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48c], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x490], eax
mov dword [esp + 0x494], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x498], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x4a8], al
mov edi, dword [esp + 0x53c]
test byte [edi], al
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51efb8
lea eax, [0x57b0c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x424]
mov dword [esp + 8], eax
call fcn.00410740
mov edi, dword [esp + 0x53c]
lea esi, [esp + 0x424]
call fcn.004614ac
mov byte [esp + 0x544], 1
add esp, 0x534
ret
mov dword [esp + 0x3c], ebx
mov ebp, dword [eax]
cmp ebp, 0x15
jne 0x51f3b2
mov ebp, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x10]
test ebx, ebx
jne 0x51eff5
cmp byte [eax + 0x44], 2
je 0x51f00a
cmp ebx, 1
jne 0x51f022
mov ebx, dword [esp + 0xe8]
cmp byte [ebx], 0x21
jne 0x51f029
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x9c], eax
mov eax, 1
mov byte [esp + 0x22], al
xor eax, eax
mov byte [esp + 0x21], al
jmp 0x51f043
mov ebx, dword [esp + 0xe8]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x94], eax
xor eax, eax
mov byte [esp + 0x22], al
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x21], al
mov dword [esp + 0x84], ecx
mov ebx, dword [esp + 0x538]
mov eax, dword [ebx + 0x128]
lea ecx, [eax - 1]
cmp eax, ecx
jbe 0x51fec7
mov ecx, dword [ebx + 0x124]
mov eax, dword [ecx + eax*4 - 4]
mov dword [ebx + 0x120], eax
mov eax, dword [ebx + 0x12c]
mov ecx, dword [ebx + 0x128]
dec ecx
cmp eax, ecx
jb 0x51fec0
mov dword [ebx + 0x128], ecx
mov eax, edi
lea edi, [esp + 0x39c]
lea esi, [0x5c0cd0]
call fcn.004614ac
mov dword [esp + 0x3a0], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x3a4], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x3a8], ecx
mov dword [esp + 0x3ac], edx
mov dword [esp + 0x3b0], ebp
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x3b4], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x3fc], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x400], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x404], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x408], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0xdc]
mov edx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x24]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x414], edx
mov dword [esp + 0x418], ebp
mov dword [esp + 0x41c], eax
movzx edx, byte [esp + 0x22]
mov byte [esp + 0x420], dl
movzx edx, byte [esp + 0x21]
mov byte [esp + 0x421], dl
movzx ecx, byte [ecx + 0x44]
mov byte [esp + 0x422], cl
mov edi, dword [esp + 0x53c]
test byte [edi], al
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x51f1ae
lea eax, [0x57b0c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x39c]
mov dword [esp + 8], eax
call fcn.00410740
mov ebx, dword [esp + 0x538]
mov edi, dword [esp + 0x53c]
lea esi, [esp + 0x39c]
call fcn.004614ac
mov ecx, dword [ebx + 0x94]
mov edx, dword [ebx + 0x98]
nop
mov ebp, dword [ebx + 0x90]
mov eax, ebx
mov ebx, dword [esp + 0x53c]
mov dword [ebx + 0x34], ecx
mov dword [ebx + 0x38], edx
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x51f1f3
call fcn.00460f00
mov dword [edi], ebp
mov edx, dword [ebx + 0x30]
mov dword [edi + 4], edx
mov dword [ebx + 0x30], ebp
mov edx, dword [eax + 0xa0]
mov ebp, dword [eax + 0xa4]
mov esi, dword [eax + 0x9c]
mov dword [ebx + 0x40], edx
mov dword [ebx + 0x44], ebp
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51f225
call fcn.00460f00
mov dword [edi], esi
mov edx, dword [ebx + 0x3c]
mov dword [edi + 4], edx
mov dword [ebx + 0x3c], esi
mov edx, dword [eax + 0xac]
mov ebp, dword [eax + 0xb0]
mov esi, dword [eax + 0xa8]
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x50], ebp
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51f257
call fcn.00460f00
mov dword [edi], esi
mov edx, dword [ebx + 0x48]
mov dword [edi + 4], edx
mov dword [ebx + 0x48], esi
mov dword [eax + 0x94], 0
mov dword [eax + 0x98], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51f285
mov edx, dword [eax + 0x90]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0x90], 0
mov dword [eax + 0xa0], 0
mov dword [eax + 0xa4], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51f2ba
mov edx, dword [eax + 0x9c]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0x9c], 0
mov dword [eax + 0xac], 0
mov dword [eax + 0xb0], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51f2ef
mov edx, dword [eax + 0xa8]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0xa8], 0
mov dword [eax + 0xb8], 0
mov dword [eax + 0xbc], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51f324
mov edx, dword [eax + 0xb4]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0xb4], 0
mov dword [eax + 0xc4], 0
mov dword [eax + 0xc8], 0
mov edx, dword [0x6c4f80]
test edx, edx
je 0x51f359
mov edx, dword [eax + 0xc0]
call fcn.00460ef0
mov dword [edi], edx
mov dword [eax + 0xc0], 0
nop
mov byte [eax + 0xf8], 0
inc dword [eax + 0xf4]
mov ecx, dword [eax + 0xe8]
mov edx, dword [eax + 0xf0]
cmp ecx, edx
jbe 0x51feb9
mov ecx, dword [eax + 0xe4]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*8]
cmp dword [ecx], 2
sete cl
mov byte [eax + 0xdd], cl
inc dword [eax + 0xf0]
mov byte [esp + 0x544], 1
add esp, 0x534
ret
cmp ebp, 0xa
jne 0x51f67e
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0x538]
mov dword [ebp + 0x120], 0xe
lea edi, [esp + 0x314]
lea esi, [0x5c1110]
call fcn.004614ac
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x318], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x31c], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x320], ecx
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x328], eax
mov dword [esp + 0x32c], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x374], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x378], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x380], eax
mov dword [esp + 0x384], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x388], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x398], al
mov edi, dword [esp + 0x53c]
test byte [edi], al
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f4bc
lea eax, [0x57b0c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x314]
mov dword [esp + 8], eax
call fcn.00410740
mov ebp, dword [esp + 0x538]
mov edi, dword [esp + 0x53c]
lea esi, [esp + 0x314]
call fcn.004614ac
mov eax, dword [ebp + 0x94]
mov ecx, dword [ebp + 0x98]
nop
mov edx, dword [ebp + 0x90]
mov ebx, dword [esp + 0x53c]
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x38], ecx
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f4ff
call fcn.00460f00
mov dword [edi], edx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], edx
mov eax, dword [ebp + 0xa0]
mov ecx, dword [ebp + 0xa4]
mov edx, dword [ebp + 0x9c]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], ecx
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f531
call fcn.00460f00
mov dword [edi], edx
mov eax, dword [ebx + 0x3c]
mov dword [edi + 4], eax
mov dword [ebx + 0x3c], edx
mov eax, dword [ebp + 0xac]
mov ecx, dword [ebp + 0xb0]
mov edx, dword [ebp + 0xa8]
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], ecx
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f563
call fcn.00460f00
mov dword [edi], edx
mov eax, dword [ebx + 0x48]
mov dword [edi + 4], eax
mov dword [ebx + 0x48], edx
mov dword [ebp + 0x94], 0
mov dword [ebp + 0x98], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f591
mov eax, dword [ebp + 0x90]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0x90], 0
mov dword [ebp + 0xa0], 0
mov dword [ebp + 0xa4], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f5c6
mov eax, dword [ebp + 0x9c]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0x9c], 0
mov dword [ebp + 0xac], 0
mov dword [ebp + 0xb0], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f5fb
mov eax, dword [ebp + 0xa8]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0xa8], 0
mov dword [ebp + 0xb8], 0
mov dword [ebp + 0xbc], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f630
mov eax, dword [ebp + 0xb4]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0xb4], 0
mov dword [ebp + 0xc4], 0
mov dword [ebp + 0xc8], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f665
mov eax, dword [ebp + 0xc0]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0xc0], 0
mov byte [esp + 0x544], 1
add esp, 0x534
ret
cmp ebp, 0xc
jne 0x51f94a
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
mov ebp, dword [esp + 0x538]
mov dword [ebp + 0x120], 0x13
lea edi, [esp + 0x28c]
lea esi, [0x5c1198]
call fcn.004614ac
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x290], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x294], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x298], ecx
mov dword [esp + 0x29c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2a4], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x2ec], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2f0], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2fc], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x300], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x310], al
mov edi, dword [esp + 0x53c]
test byte [edi], al
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f788
lea eax, [0x57b0c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x28c]
mov dword [esp + 8], eax
call fcn.00410740
mov ebp, dword [esp + 0x538]
mov edi, dword [esp + 0x53c]
lea esi, [esp + 0x28c]
call fcn.004614ac
mov eax, dword [ebp + 0x94]
mov ecx, dword [ebp + 0x98]
nop
mov edx, dword [ebp + 0x90]
mov ebx, dword [esp + 0x53c]
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x38], ecx
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f7cb
call fcn.00460f00
mov dword [edi], edx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], edx
mov eax, dword [ebp + 0xa0]
mov ecx, dword [ebp + 0xa4]
mov edx, dword [ebp + 0x9c]
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], ecx
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f7fd
call fcn.00460f00
mov dword [edi], edx
mov eax, dword [ebx + 0x3c]
mov dword [edi + 4], eax
mov dword [ebx + 0x3c], edx
mov eax, dword [ebp + 0xac]
mov ecx, dword [ebp + 0xb0]
mov edx, dword [ebp + 0xa8]
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], ecx
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f82f
call fcn.00460f00
mov dword [edi], edx
mov eax, dword [ebx + 0x48]
mov dword [edi + 4], eax
mov dword [ebx + 0x48], edx
mov dword [ebp + 0x94], 0
mov dword [ebp + 0x98], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f85d
mov eax, dword [ebp + 0x90]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0x90], 0
mov dword [ebp + 0xa0], 0
mov dword [ebp + 0xa4], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f892
mov eax, dword [ebp + 0x9c]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0x9c], 0
mov dword [ebp + 0xac], 0
mov dword [ebp + 0xb0], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f8c7
mov eax, dword [ebp + 0xa8]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0xa8], 0
mov dword [ebp + 0xb8], 0
mov dword [ebp + 0xbc], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f8fc
mov eax, dword [ebp + 0xb4]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0xb4], 0
mov dword [ebp + 0xc4], 0
mov dword [ebp + 0xc8], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51f931
mov eax, dword [ebp + 0xc0]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebp + 0xc0], 0
mov byte [esp + 0x544], 1
add esp, 0x534
ret
movzx ebx, byte [esp + 0x540]
test bl, bl
je 0x51fc9a
cmp ebp, 7
jne 0x51faf6
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
mov ebx, dword [esp + 0x538]
mov dword [ebx + 0x120], 8
mov ebp, edi
lea edi, [esp + 0x204]
lea esi, [0x5c1088]
call fcn.004614ac
mov dword [esp + 0x208], ebp
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x210], ecx
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x26c], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x274], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x278], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x288], al
mov edi, dword [esp + 0x53c]
test byte [edi], al
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51fa69
lea eax, [0x57b0c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x204]
mov dword [esp + 8], eax
call fcn.00410740
mov ebx, dword [esp + 0x538]
mov edi, dword [esp + 0x53c]
lea esi, [esp + 0x204]
call fcn.004614ac
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x51fae7
mov ecx, dword [ebx + 0xc4]
mov edx, dword [ebx + 0xc8]
mov ebp, dword [esp + 0x53c]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], edx
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x51faaf
call fcn.00460f00
mov dword [edi], eax
mov ecx, dword [ebp + 0x30]
mov dword [edi + 4], ecx
mov dword [ebp + 0x30], eax
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51fadd
mov eax, dword [ebx + 0xc0]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebx + 0xc0], 0
mov byte [esp + 0x544], 1
add esp, 0x534
ret
test bl, bl
je 0x51fc9a
cmp ebp, 8
jne 0x51fc9a
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
mov ebx, dword [esp + 0x538]
mov dword [ebx + 0x120], 0xb
mov ebp, edi
lea edi, [esp + 0x17c]
lea esi, [0x5c1220]
call fcn.004614ac
mov dword [esp + 0x180], ebp
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], edx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1f0], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x200], al
mov edi, dword [esp + 0x53c]
test byte [edi], al
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51fc0d
lea eax, [0x57b0c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x17c]
mov dword [esp + 8], eax
call fcn.00410740
mov ebx, dword [esp + 0x538]
mov edi, dword [esp + 0x53c]
lea esi, [esp + 0x17c]
call fcn.004614ac
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x51fc8b
mov ecx, dword [ebx + 0xc4]
mov edx, dword [ebx + 0xc8]
mov ebp, dword [esp + 0x53c]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], edx
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x51fc53
call fcn.00460f00
mov dword [edi], eax
mov ecx, dword [ebp + 0x30]
mov dword [edi + 4], ecx
mov dword [ebp + 0x30], eax
mov dword [ebx + 0xc4], 0
mov dword [ebx + 0xc8], 0
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51fc81
mov eax, dword [ebx + 0xc0]
call fcn.00460ef0
mov dword [edi], eax
mov dword [ebx + 0xc0], 0
mov byte [esp + 0x544], 1
add esp, 0x534
ret
mov ebp, dword [esp + 0x58]
test ebp, ebp
jne 0x51fcb2
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x51fdea
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x538]
mov eax, dword [ebx + 0x128]
lea ebp, [eax - 1]
cmp eax, ebp
jbe 0x51feb0
mov ebp, dword [ebx + 0x124]
mov eax, dword [ebp + eax*4 - 4]
mov dword [ebx + 0x120], eax
mov eax, dword [ebx + 0x12c]
mov ebp, dword [ebx + 0x128]
dec ebp
cmp eax, ebp
jb 0x51fea7
mov dword [ebx + 0x128], ebp
mov eax, edi
lea edi, [esp + 0xf4]
mov ebx, esi
lea esi, [0x5c12a8]
call fcn.004614ac
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x168], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x178], al
mov edi, dword [esp + 0x53c]
test byte [edi], al
mov eax, dword [0x6c4f80]
test eax, eax
je 0x51fdcf
lea eax, [0x57b0c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xf4]
mov dword [esp + 8], eax
call fcn.00410740
mov edi, dword [esp + 0x53c]
lea esi, [esp + 0xf4]
call fcn.004614ac
mov byte [esp + 0x544], 1
add esp, 0x534
ret
test bl, bl
je 0x51fdfb
mov ecx, 0x1a
lea edx, [0x58cbfd]
jmp 0x51fe06
mov ecx, 0x19
lea edx, [0x58c63a]
nop
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x84], ebp
mov eax, dword [eax + 4]
mov ebp, dword [esp + 0x538]
mov dword [ebp], 4
mov dword [ebp + 0x24], ecx
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x51fe51
mov dword [esp + 0x80], ebx
mov ecx, edi
call fcn.00460f00
mov dword [edi], edx
mov ebx, dword [ebp + 0x20]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x80]
mov edi, ecx
mov dword [ebp + 0x20], edx
mov dword [ebp + 0x28], edi
mov dword [ebp + 0x2c], esi
mov ecx, dword [esp + 0x88]
mov dword [ebp + 0x30], ecx
mov dword [ebp + 8], 0x22
mov ecx, dword [0x6c4f80]
test ecx, ecx
je 0x51fe7f
mov ecx, dword [ebp + 4]
call fcn.00460ef0
mov dword [edi], ecx
lea ecx, [0x58f7ab]
mov dword [ebp + 4], ecx
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], ebx
mov eax, dword [esp + 0x84]
mov dword [ebp + 0x1c], eax
mov byte [esp + 0x544], 0
add esp, 0x534
ret
mov ecx, ebp
mov edx, eax
call fcn.00460fa0
mov ecx, eax
mov eax, ebp
call fcn.00460f60
mov eax, edx
call fcn.00460f60
mov edx, eax
call fcn.00460fa0
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.00460f60
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x3c]
jmp 0x51ee93
lea eax, [ebx + 1]
mov ecx, dword [esp + 0x538]
mov ecx, dword [esp + 0x50]
mov ebx, ebp
mov ebp, dword [esp + 0x538]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xdc]
mov ebx, dword [esp + 0x48]
cmp ebx, edx
jge 0x5200cc
mov ecx, dword [ebp + 0x140]
cmp ebx, ecx
jae 0x520182
mov ecx, dword [ebp + 0x13c]
lea eax, [ebx + ebx*2]
lea esi, [ecx + eax*8]
mov esi, dword [esi + 4]
lea ecx, [ecx + eax*8]
mov ebp, dword [esp + 0x38]
cmp ebp, esi
je 0x51ff40
xor ecx, ecx
jmp 0x51ff7b
mov dword [esp + 0x74], eax
mov eax, dword [ecx]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00403360
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x84]
mov ecx, eax
mov eax, dword [esp + 0x74]
test cl, cl
je 0x51fedf
mov edx, dword [esp + 0x538]
mov ecx, dword [edx + 0x140]
cmp ebx, ecx
jae 0x52017b
mov ecx, dword [edx + 0x13c]
lea ebx, [ecx + eax*8]
mov ebx, dword [ebx + 0x10]
lea eax, [ecx + eax*8 + 0xc]
mov eax, dword [eax]
test ebx, ebx
ja 0x51ffb6
xor ecx, ecx
xor ebp, ebp
xor esi, esi
jmp 0x520004
mov dword [esp + 0xf0], eax
mov dword [esp + 0x78], ebx
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ebx
lea eax, [0x560b60]
mov dword [esp + 0x10], eax
call fcn.004495c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov ebp, eax
mov esi, ecx
mov eax, dword [esp + 0xf0]
mov ecx, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0xe8], ebp
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004617e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x52003f
mov ebp, dword [esp + 0xe8]
jmp 0x52007a
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
lea ecx, [0x560b60]
mov dword [esp + 0x10], ecx
call fcn.004495c0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov ebx, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0xe8], ebp
mov dword [esp + 0x3c], edx
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004617e0
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x538]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
jmp 0x5200db
xor edx, edx
xor ebx, ebx
xor edx, edx
mov dword [esp + 0xe8], edx
xor edx, edx
test edx, edx
jne 0x52016a
mov dword [ebp], 4
mov dword [ebp + 0x24], 0x14
mov eax, dword [0x6c4f80]
test eax, eax
je 0x520109
mov eax, dword [ebp + 0x20]
mov ecx, edi
call fcn.00460ef0
mov dword [edi], eax
mov edi, ecx
lea eax, [0x58a86b]
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x28], edi
mov dword [ebp + 0x2c], esi
mov eax, dword [esp + 0x88]
mov dword [ebp + 0x30], eax
mov dword [ebp + 8], 0x1a
mov eax, dword [0x6c4f80]
test eax, eax
je 0x52013d
mov eax, dword [ebp + 4]
call fcn.00460ef0
mov dword [edi], eax
lea eax, [0x58cbe3]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ebp + 0x14], eax
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x1c], eax
mov byte [esp + 0x544], 0
add esp, 0x534
ret
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x4c]
jmp 0x51fed2
mov eax, ebx
call fcn.00460f60
mov eax, ebx
call fcn.00460f60
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.00460f60
mov eax, esi
call fcn.00460f60
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.00460f60
mov eax, edi
mov ecx, esi
call fcn.00460f60
nop
call fcn.0045faf0
jmp fcn.0051e540