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

Disassembly:
mov ecx, dword [0x6d0e30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x314]
cmp eax, dword [ecx + 8]
jbe 0x515105
sub esp, 0x394
mov ebx, dword [esp + 0x398]
movzx ebp, byte [ebx + 0xa8]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x513b7c
mov eax, 1
jmp 0x513b90
mov dword [esp], ebx
call fcn.0051b940
movzx eax, byte [esp + 4]
mov ebx, dword [esp + 0x398]
test al, al
je 0x513bb7
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0xa0]
cmp ecx, eax
jbe 0x5150ff
mov ebp, dword [ebx + 0x94]
lea eax, [eax + eax*8]
lea ebp, [ebp + eax*8]
jmp 0x513bb9
xor ebp, ebp
test ebp, ebp
je 0x5143d6
mov eax, dword [ebp]
cmp eax, 0x12
je 0x514293
mov ecx, dword [ebp + 8]
mov dword [esp + 0xb8], ecx
mov edx, dword [ebp + 4]
mov dword [esp + 0xb4], edx
mov esi, dword [ebp + 0xc]
mov dword [esp + 0xb0], esi
cmp eax, 0x13
jne 0x513ec3
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x58], eax
mov edi, dword [ebp + 0x28]
mov esi, dword [ebp + 0x20]
mov dword [esp + 0xcc], esi
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
mov ebp, dword [ebp + 0x14]
nop
mov byte [ebx + 0xa8], 0
inc dword [ebx + 0xa4]
mov eax, dword [ebx + 0x98]
mov esi, dword [ebx + 0xa0]
cmp eax, esi
jbe 0x5150f6
mov dword [esp + 0x5c], edi
mov eax, dword [ebx + 0x94]
lea esi, [esi + esi*8]
lea eax, [eax + esi*8]
cmp dword [eax], 2
sete al
mov byte [ebx + 0x8d], al
inc dword [ebx + 0xa0]
movzx eax, byte [ebx + 0xa8]
test al, al
je 0x513c67
mov eax, 1
jmp 0x513ca9
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], ecx
mov dword [esp], ebx
call fcn.0051b940
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x398]
mov ebp, dword [esp + 0xa8]
mov edi, dword [esp + 0x5c]
test al, al
je 0x513ccf
mov eax, dword [ebx + 0x98]
mov esi, dword [ebx + 0xa0]
cmp esi, eax
jae 0x5150ed
mov eax, dword [ebx + 0x94]
lea esi, [esi + esi*8]
lea eax, [eax + esi*8]
jmp 0x513cd1
xor eax, eax
test eax, eax
je 0x513eb4
mov esi, dword [eax]
cmp esi, 0x14
jne 0x513e4d
mov ebp, dword [eax + 0x24]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0xc4], ecx
mov edx, dword [eax + 0x30]
mov edi, dword [eax + 0x34]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0xc0], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0xac], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa8], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0xa4], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xa0], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x9c], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x98], eax
nop
mov byte [ebx + 0xa8], 0
inc dword [ebx + 0xa4]
mov eax, dword [ebx + 0x98]
mov ecx, dword [ebx + 0xa0]
cmp ecx, eax
jae 0x5150e2
mov eax, dword [ebx + 0x94]
lea ecx, [ecx + ecx*8]
lea eax, [eax + ecx*8]
cmp dword [eax], 2
sete al
mov byte [ebx + 0x8d], al
inc dword [ebx + 0xa0]
movzx eax, byte [ebx + 0xa8]
test al, al
je 0x513d8f
mov eax, 1
jmp 0x513dc9
mov dword [esp + 0x94], esi
mov dword [esp + 0x38], ebp
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov dword [esp], ebx
call fcn.0051b940
movzx eax, byte [esp + 4]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x398]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x94]
mov edi, dword [esp + 0x28]
test al, al
je 0x513def
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0xa0]
cmp ecx, eax
jbe 0x5150dd
mov ecx, dword [ebx + 0x94]
lea eax, [eax + eax*8]
lea eax, [ecx + eax*8]
jmp 0x513df1
xor eax, eax
test eax, eax
je 0x513e3e
cmp esi, 0x14
mov esi, ebp
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x98]
mov ecx, dword [esp + 0xa0]
mov edi, dword [esp + 0x5c]
jmp 0x513e9c
mov byte [esp + 0x3a4], 0
add esp, 0x394
ret
mov esi, 0
mov esi, 0
mov dword [esp + 0xc4], esi
mov esi, 0
mov dword [esp + 0x24], esi
mov esi, 0
mov dword [esp + 0x28], esi
mov esi, 0
mov dword [esp + 0xc0], esi
mov esi, 0
mov dword [esp + 0x34], esi
mov esi, 0
mov dword [esp + 0x2c], esi
mov esi, 0
mov dword [esp + 0x30], esi
mov esi, 0
sete bl
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x68]
jmp 0x514219
mov byte [esp + 0x3a4], 0
add esp, 0x394
ret
cmp eax, 0x14
jne 0x51417e
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x38], edi
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0xc4], ecx
mov ecx, dword [ebp + 0x30]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x34]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0xc0], ecx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
mov ebp, dword [ebp + 0x14]
nop
mov byte [ebx + 0xa8], 0
inc dword [ebx + 0xa4]
mov esi, dword [ebx + 0x98]
mov edi, dword [ebx + 0xa0]
cmp esi, edi
jbe 0x5150d4
mov dword [esp + 0x90], eax
mov esi, dword [ebx + 0x94]
lea edi, [edi + edi*8]
lea esi, [esi + edi*8]
cmp dword [esi], 2
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
mov byte [ebx + 0x8d], al
xchg esi, eax
inc dword [ebx + 0xa0]
movzx esi, byte [ebx + 0xa8]
xchg esi, eax
test al, al
xchg esi, eax
je 0x513f5f
mov esi, 1
jmp 0x513fa6
mov dword [esp + 0xac], ebp
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xa4], edx
mov dword [esp], ebx
call fcn.0051b940
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x398]
mov ebp, dword [esp + 0xac]
mov esi, eax
mov eax, dword [esp + 0x90]
xchg esi, eax
test al, al
xchg esi, eax
je 0x513fce
mov esi, dword [ebx + 0x98]
mov edi, dword [ebx + 0xa0]
cmp esi, edi
jbe 0x5150cb
mov esi, dword [ebx + 0x94]
lea edi, [edi + edi*8]
lea esi, [esi + edi*8]
jmp 0x513fd0
xor esi, esi
test esi, esi
je 0x51416f
cmp dword [esi], 0x13
jne 0x5140f1
mov ebp, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x5c], ecx
mov edx, dword [esi + 0x20]
mov dword [esp + 0xcc], edx
mov edi, dword [esi + 0x10]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0xac], ecx
mov esi, dword [esi + 0x14]
nop
mov byte [ebx + 0xa8], 0
inc dword [ebx + 0xa4]
mov ecx, dword [ebx + 0x98]
mov edx, dword [ebx + 0xa0]
cmp ecx, edx
jbe 0x5150c4
mov ecx, dword [ebx + 0x94]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*8]
cmp dword [ecx], 2
sete cl
mov byte [ebx + 0x8d], cl
inc dword [ebx + 0xa0]
movzx ecx, byte [ebx + 0xa8]
test cl, cl
je 0x514057
mov ecx, 1
jmp 0x514098
mov dword [esp + 0x58], ebp
mov dword [esp + 0xa0], esi
mov dword [esp + 0x9c], edi
mov dword [esp], ebx
call fcn.0051b940
movzx eax, byte [esp + 4]
mov ebx, dword [esp + 0x398]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
mov ecx, eax
mov eax, dword [esp + 0x90]
test cl, cl
je 0x5140be
mov ecx, dword [ebx + 0x98]
mov edx, dword [ebx + 0xa0]
cmp ecx, edx
jbe 0x5150bd
mov ecx, dword [ebx + 0x94]
lea edx, [edx + edx*8]
lea ecx, [ecx + edx*8]
jmp 0x5140c0
xor ecx, ecx
test ecx, ecx
je 0x5140e2
cmp eax, 0x14
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0xac]
mov eax, esi
mov esi, ecx
mov ecx, edi
mov edi, ebp
mov ebp, eax
mov eax, dword [esp + 0x5c]
jmp 0x51410f
mov byte [esp + 0x3a4], 0
add esp, 0x394
ret
cmp eax, 0x14
mov eax, 0
mov edi, 0
mov eax, 0
mov dword [esp + 0xcc], eax
mov eax, 0
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x34], edx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], edi
mov ecx, ebp
mov edx, dword [esp + 0x80]
mov edi, eax
mov ebp, esi
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
jmp 0x5141fc
mov byte [esp + 0x3a4], 0
add esp, 0x394
ret
mov edi, ecx
mov eax, 0
mov dword [esp + 0x38], eax
mov ecx, 0
mov dword [esp + 0xc4], ecx
mov esi, 0
mov dword [esp + 0x28], esi
mov edi, 0
mov dword [esp + 0x24], edi
mov eax, 0
mov dword [esp + 0xc0], eax
mov eax, 0
mov dword [esp + 0x2c], eax
mov eax, 0
mov dword [esp + 0x30], eax
mov eax, 0
mov dword [esp + 0x34], eax
mov eax, 0
mov dword [esp + 0x5c], eax
mov eax, 0
mov dword [esp + 0x58], eax
mov eax, 0
mov dword [esp + 0xcc], eax
mov esi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb8]
mov edi, ecx
sete al
mov ebx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], eax
mov eax, ebp
mov edi, dword [esp + 0x5c]
mov ebp, ecx
mov ecx, edx
mov edx, esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0xbc], eax
test bl, bl
je 0x514282
test esi, esi
je 0x514263
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x398]
mov edx, dword [ebx + 0xf0]
mov dword [esp + 0xac], edx
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
jmp 0x514e37
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 0x24]
jmp 0x514e0d
xor ebx, ebx
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x40], ebx
xor ebx, ebx
jmp 0x5143f4
mov ecx, dword [ebx + 0xd8]
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x5143ef
mov eax, dword [ebx + 0xd4]
mov eax, dword [eax + ecx*4 - 4]
mov dword [ebx + 0xd0], eax
mov edx, dword [ebx + 0xdc]
mov eax, dword [ebx + 0xd8]
lea ecx, [eax - 1]
cmp edx, ecx
jb 0x5143ea
mov dword [ebx + 0xd8], ecx
lea edi, [esp + 0x338]
xor eax, eax
call fcn.00464cda
mov byte [esp + 0x338], 5
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 4]
mov dword [esp + 0x33c], eax
mov dword [esp + 0x340], ecx
mov dword [esp + 0x344], edx
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x348], eax
mov dword [esp + 0x34c], ecx
mov dword [esp + 0x350], edx
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov ebp, dword [ebp + 0x28]
mov dword [esp + 0x368], ecx
mov dword [esp + 0x36c], edx
mov dword [esp + 0x370], ebp
mov edi, dword [esp + 0x39c]
test byte [edi], al
mov ecx, dword [0x6d0ed8]
test ecx, ecx
je 0x51437f
lea eax, [0x570820]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x338]
mov dword [esp + 8], eax
call fcn.004113d0
mov ebx, dword [esp + 0x398]
mov edi, dword [esp + 0x39c]
lea esi, [esp + 0x338]
call fcn.00465124
nop
mov byte [ebx + 0xa8], 0
inc dword [ebx + 0xa4]
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0xa0]
cmp ecx, eax
jbe 0x5143e5
mov ecx, dword [ebx + 0x94]
lea eax, [eax + eax*8]
lea eax, [ecx + eax*8]
cmp dword [eax], 2
sete al
mov byte [ebx + 0x8d], al
inc dword [ebx + 0xa0]
mov byte [esp + 0x3a4], 1
add esp, 0x394
ret
mov byte [esp + 0x3a4], 0
add esp, 0x394
ret
call fcn.00464b70
call fcn.00464bb0
call fcn.00464b70
mov dword [esp + 0xc8], esi
test ebx, ebx
sete dl
mov byte [esp + 0x23], dl
movzx ebp, byte [esp + 0x3a1]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x514538
cmp dword [eax], 0xe
jne 0x514538
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xac], ecx
mov ebp, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x398]
mov dword [edx + 0xd0], 0xa
mov edx, edi
lea edi, [esp + 0x2e0]
lea esi, [0x5b6e18]
call fcn.00465124
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x2e4], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x2e8], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x2ec], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x2f0], ecx
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2f8], ebp
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x314], eax
mov dword [esp + 0x318], edx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x324], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x334], al
mov edi, dword [esp + 0x39c]
test byte [edi], al
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x51451d
lea eax, [0x570820]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x2e0]
mov dword [esp + 8], eax
call fcn.004113d0
mov edi, dword [esp + 0x39c]
lea esi, [esp + 0x2e0]
call fcn.00465124
mov byte [esp + 0x3a4], 1
add esp, 0x394
ret
mov dword [esp + 0x3c], ebx
mov ebp, dword [eax]
cmp ebp, 0x15
jne 0x51474f
mov ebp, dword [eax + 0x10]
mov ecx, dword [eax + 0x18]
mov edi, dword [eax + 0x14]
test ebx, ebx
jne 0x51455a
cmp byte [eax + 0x44], 1
je 0x514564
cmp ebx, 1
jne 0x514576
cmp byte [esi], 0x21
jne 0x514576
mov edx, 1
xor edx, edx
mov byte [esp + 0x21], dl
mov edx, 1
jmp 0x514583
xor edx, edx
movzx edx, byte [esp + 0x23]
mov byte [esp + 0x21], dl
xor edx, edx
mov byte [esp + 0x22], dl
mov ebx, dword [esp + 0x398]
mov edx, dword [ebx + 0xd8]
lea eax, [edx - 1]
cmp edx, eax
jbe 0x514e06
mov eax, dword [ebx + 0xd4]
mov eax, dword [eax + edx*4 - 4]
mov dword [ebx + 0xd0], eax
mov edx, dword [ebx + 0xdc]
mov eax, dword [ebx + 0xd8]
dec eax
cmp edx, eax
jb 0x514dff
mov dword [esp + 0xac], ecx
mov dword [ebx + 0xd8], eax
mov eax, edi
lea edi, [esp + 0x288]
mov edx, esi
lea esi, [0x5b6d10]
call fcn.00465124
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x290], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x294], ecx
mov dword [esp + 0x298], ebp
mov dword [esp + 0x29c], eax
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x2a0], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x2bc], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x2c0], ecx
mov dword [esp + 0x2c4], edx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c8], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x2cc], ecx
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x24]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x2d4], ebp
mov dword [esp + 0x2d8], eax
movzx edx, byte [esp + 0x22]
mov byte [esp + 0x2dc], dl
movzx edx, byte [esp + 0x21]
mov byte [esp + 0x2dd], dl
movzx ecx, byte [ecx + 0x44]
mov byte [esp + 0x2de], cl
mov edi, dword [esp + 0x39c]
test byte [edi], al
mov ecx, dword [0x6d0ed8]
test ecx, ecx
je 0x5146f4
lea eax, [0x570820]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x288]
mov dword [esp + 8], eax
call fcn.004113d0
mov ebx, dword [esp + 0x398]
mov edi, dword [esp + 0x39c]
lea esi, [esp + 0x288]
call fcn.00465124
nop
mov byte [ebx + 0xa8], 0
inc dword [ebx + 0xa4]
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0xa0]
cmp eax, ecx
jae 0x514dfa
mov ecx, dword [ebx + 0x94]
lea eax, [eax + eax*8]
lea eax, [ecx + eax*8]
cmp dword [eax], 2
sete al
mov byte [ebx + 0x8d], al
inc dword [ebx + 0xa0]
mov byte [esp + 0x3a4], 1
add esp, 0x394
ret
cmp ebp, 0xa
jne 0x514871
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xac], ecx
mov ebp, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x398]
mov dword [edx + 0xd0], 0xe
mov edx, edi
lea edi, [esp + 0x230]
lea esi, [0x5b6e70]
call fcn.00465124
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x234], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x240], ecx
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], ebp
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x264], eax
mov dword [esp + 0x268], edx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x274], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x284], al
mov edi, dword [esp + 0x39c]
test byte [edi], al
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x514856
lea eax, [0x570820]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x230]
mov dword [esp + 8], eax
call fcn.004113d0
mov edi, dword [esp + 0x39c]
lea esi, [esp + 0x230]
call fcn.00465124
mov byte [esp + 0x3a4], 1
add esp, 0x394
ret
cmp ebp, 0xc
jne 0x514993
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xac], ecx
mov ebp, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x398]
mov dword [edx + 0xd0], 0x13
mov edx, edi
lea edi, [esp + 0x1d8]
lea esi, [0x5b6ec8]
call fcn.00465124
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x1dc], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], ebp
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], edx
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], ebx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x21c], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x22c], al
mov edi, dword [esp + 0x39c]
test byte [edi], al
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x514978
lea eax, [0x570820]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1d8]
mov dword [esp + 8], eax
call fcn.004113d0
mov edi, dword [esp + 0x39c]
lea esi, [esp + 0x1d8]
call fcn.00465124
mov byte [esp + 0x3a4], 1
add esp, 0x394
ret
movzx ebx, byte [esp + 0x3a0]
test bl, bl
je 0x514bed
cmp ebp, 7
jne 0x514ac4
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xac], ecx
mov ebx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov ebp, dword [esp + 0x398]
mov dword [ebp + 0xd0], 8
mov ebp, edi
lea edi, [esp + 0x180]
lea esi, [0x5b6e18]
call fcn.00465124
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x188], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ebx
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], ebp
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c0], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c4], eax
mov byte [esp + 0x1d4], dl
mov edi, dword [esp + 0x39c]
test byte [edi], al
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x514aa9
lea eax, [0x570820]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x180]
mov dword [esp + 8], eax
call fcn.004113d0
mov edi, dword [esp + 0x39c]
lea esi, [esp + 0x180]
call fcn.00465124
mov byte [esp + 0x3a4], 1
add esp, 0x394
ret
test bl, bl
je 0x514bed
cmp ebp, 8
jne 0x514bed
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xac], ecx
mov ebx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov ebp, dword [esp + 0x398]
mov dword [ebp + 0xd0], 0xb
mov ebp, edi
lea edi, [esp + 0x128]
lea esi, [0x5b6f20]
call fcn.00465124
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], ebx
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], ebp
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x164], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x16c], eax
mov byte [esp + 0x17c], dl
mov edi, dword [esp + 0x39c]
test byte [edi], al
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x514bd2
lea eax, [0x570820]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x128]
mov dword [esp + 8], eax
call fcn.004113d0
mov edi, dword [esp + 0x39c]
lea esi, [esp + 0x128]
call fcn.00465124
mov byte [esp + 0x3a4], 1
add esp, 0x394
ret
mov ebp, dword [esp + 0x58]
test ebp, ebp
jne 0x514c05
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x514d40
mov ebp, dword [esp + 0x58]
mov ebx, dword [esp + 0x398]
mov eax, dword [ebx + 0xd8]
lea edx, [eax - 1]
cmp eax, edx
jbe 0x514df1
mov edx, dword [ebx + 0xd4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebx + 0xd0], eax
mov edx, dword [ebx + 0xdc]
mov eax, dword [ebx + 0xd8]
dec eax
cmp edx, eax
jb 0x514dea
mov dword [ebx + 0xd8], eax
mov eax, edi
lea edi, [esp + 0xd0]
mov edx, esi
lea esi, [0x5b6f78]
call fcn.00465124
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], ebp
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x114], eax
movzx eax, byte [esp + 0x23]
mov byte [esp + 0x124], al
mov edi, dword [esp + 0x39c]
test byte [edi], al
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x514d25
lea eax, [0x570820]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xd0]
mov dword [esp + 8], eax
call fcn.004113d0
mov edi, dword [esp + 0x39c]
lea esi, [esp + 0xd0]
call fcn.00465124
mov byte [esp + 0x3a4], 1
add esp, 0x394
ret
test bl, bl
je 0x514d51
mov ecx, 0x1a
lea edx, [0x58250c]
jmp 0x514d5c
mov ecx, 0x19
lea edx, [0x581fae]
nop
mov ebx, dword [eax + 4]
mov ebp, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov esi, dword [esp + 0x398]
mov dword [esi], 4
mov dword [esi + 0x24], ecx
mov ecx, dword [0x6d0ed8]
test ecx, ecx
je 0x514d8d
call fcn.00464b00
mov dword [edi], edx
mov ecx, dword [esi + 0x20]
mov dword [edi + 4], ecx
mov dword [esi + 0x20], edx
mov ecx, dword [esp + 0xb4]
mov dword [esi + 0x28], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esi + 0x2c], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esi + 0x30], ecx
mov dword [esi + 8], 0x22
mov ecx, dword [0x6d0ed8]
test ecx, ecx
je 0x514dc9
mov ecx, dword [esi + 4]
call fcn.00464af0
mov dword [edi], ecx
lea ecx, [0x5850a9]
mov dword [esi + 4], ecx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebp
mov byte [esp + 0x3a4], 0
add esp, 0x394
ret
mov ecx, eax
call fcn.00464bb0
mov ecx, eax
mov eax, edx
call fcn.00464b70
call fcn.00464b70
mov ecx, eax
call fcn.00464bb0
mov ecx, edx
call fcn.00464b70
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0xc8]
jmp 0x5143f4
lea eax, [ebp + 1]
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xbc]
mov ebp, dword [esp + 0x48]
cmp ebp, edx
jge 0x514ff9
mov ecx, dword [ebx + 0xf0]
cmp ebp, ecx
jae 0x5150b6
mov ecx, dword [ebx + 0xec]
lea edi, [ebp + ebp*2]
lea eax, [ecx + edi*8]
mov eax, dword [eax + 4]
lea ecx, [ecx + edi*8]
cmp esi, eax
je 0x514e6c
xor eax, eax
jmp 0x514eae
mov dword [esp + 0xa8], edi
mov ecx, dword [ecx]
mov dword [esp], ecx
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004030e0
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x398]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0xa8]
test al, al
je 0x514e1d
mov ecx, dword [ebx + 0xf0]
cmp ebp, ecx
jae 0x5150af
mov eax, dword [ebx + 0xec]
lea ecx, [eax + edi*8]
mov ecx, dword [ecx + 0x10]
lea eax, [eax + edi*8 + 0xc]
mov eax, dword [eax]
test ecx, ecx
ja 0x514ee2
xor edx, edx
xor ebp, ebp
xor esi, esi
jmp 0x514f34
mov dword [esp + 0xac], ecx
mov dword [esp + 0x390], eax
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
lea eax, [0x5575c0]
mov dword [esp + 0x10], eax
call fcn.0044b6b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, eax
mov esi, ecx
mov eax, dword [esp + 0x390]
mov ecx, dword [esp + 0xac]
mov dword [esp + 0xc8], ebp
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004653e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x514f6f
mov ebp, dword [esp + 0xc8]
jmp 0x514faa
mov ecx, dword [esp + 0xc8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
lea ecx, [0x5575c0]
mov dword [esp + 0x10], ecx
call fcn.0044b6b0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov ebx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0xc8], ebp
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004653e0
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x398]
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0xc8]
jmp 0x514fff
xor edx, edx
xor ebp, ebp
xor esi, esi
test edx, edx
jne 0x515097
mov dword [ebx], 4
mov dword [ebx + 0x24], 0x14
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x515028
mov eax, dword [ebx + 0x20]
call fcn.00464af0
mov dword [edi], eax
lea eax, [0x58018b]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0xb4]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0xb8]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0xb0]
mov dword [ebx + 0x30], eax
mov dword [ebx + 8], 0x1a
mov eax, dword [0x6d0ed8]
test eax, eax
je 0x51506a
mov eax, dword [ebx + 4]
call fcn.00464af0
mov dword [edi], eax
lea eax, [0x5824f2]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x1c], eax
mov byte [esp + 0x3a4], 0
add esp, 0x394
ret
mov ebx, edx
mov dword [esp + 0xc8], esi
mov edx, dword [esp + 0x54]
mov esi, ebp
mov ebp, dword [esp + 0x4c]
jmp 0x514e0d
mov eax, ebp
call fcn.00464b70
mov eax, ebp
call fcn.00464b70
mov eax, edx
call fcn.00464b70
mov eax, edx
call fcn.00464b70
mov eax, edi
mov ecx, esi
call fcn.00464b70
mov eax, edi
mov ecx, esi
call fcn.00464b70
call fcn.00464b70
mov edx, eax
mov eax, ecx
mov ecx, edx
call fcn.00464b70
mov ecx, eax
mov eax, esi
call fcn.00464b70
mov ecx, eax
mov eax, esi
call fcn.00464b70
call fcn.00464b70
nop
call fcn.004636f0
jmp fcn.00513b40