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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x514529
sub esp, 0x9c
mov ecx, dword [esp + 0xb0]
cmp ecx, 2
jne 0x514247
mov edx, dword [esp + 0xac]
cmp word [edx], 0x7069
jne 0x5141fb
mov ebx, dword [esp + 0xb8]
test ebx, ebx
je 0x5141f2
mov eax, dword [esp + 0xb4]
xor ebp, ebp
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea esi, [0x51e260]
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ebp
test ebx, ebx
jne 0x513f57
lea edi, [esp + 0x74]
xor eax, eax
call fcn.0045e0ab
mov ecx, dword [esp + 0xb0]
cmp ecx, 2
jne 0x513d64
cmp word [edx], 0x7069
jne 0x5144d8
lea eax, [0x5ea5c0]
mov dword [esp], eax
call fcn.0040b8d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x513d5a
mov dword [edi], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [edi + 0x10], ecx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x513d47
mov dword [edi + 0xc], eax
lea eax, [0x65fc58]
mov dword [esp + 0x50], edi
mov dword [esp + 0x30], eax
lea ecx, [0x5d66c0]
mov dword [esp], ecx
call fcn.0040b8d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x30]
mov dword [eax], ecx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x513d35
mov ecx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
add esp, 0x9c
ret
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.0045de10
mov eax, ecx
jmp 0x513cfb
lea ecx, [edi + 0xc]
mov edx, edi
mov edi, ecx
call fcn.0045de10
mov edi, edx
jmp 0x513cc4
call fcn.0045de10
jmp 0x513ca2
mov dword [esp + 0x34], ebp
cmp ecx, 3
je 0x513eca
cmp ecx, 4
jne 0x5144d4
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [0x60f3c9]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
call fcn.004027b0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x513e37
mov eax, dword [esp + 0xac]
cmp dword [eax], 0x34706374
jne 0x513e2a
lea eax, [0x5f0dc0]
mov dword [esp], eax
call fcn.0040b8d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x513e23
mov dword [edi], eax
mov ecx, dword [esp + 0x34]
mov dword [edi + 0xc], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [edi + 0x14], ecx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x513e13
mov dword [edi + 0x10], eax
lea eax, [0x65fc70]
jmp 0x513cca
lea ecx, [edi + 0x10]
mov edx, edi
mov edi, ecx
call fcn.0045de10
mov edi, edx
jmp 0x513e08
call fcn.0045de10
jmp 0x513de3
cmp dword [eax], 0x36706374
je 0x513db3
jmp 0x5144c9
mov eax, dword [esp + 0xac]
cmp dword [eax], 0x34706475
jne 0x513ebd
lea eax, [0x5f0e40]
mov dword [esp], eax
call fcn.0040b8d0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x513eb6
mov dword [edi], eax
mov ecx, dword [esp + 0x34]
mov dword [edi + 0xc], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov dword [edi + 0x14], ecx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x513ea6
mov dword [edi + 0x10], eax
lea eax, [0x65fc88]
jmp 0x513cca
lea ecx, [edi + 0x10]
mov edx, edi
mov edi, ecx
call fcn.0045de10
mov edi, edx
jmp 0x513e9b
call fcn.0045de10
jmp 0x513e76
cmp dword [eax], 0x36706475
je 0x513e46
jmp 0x5144c9
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [0x60f1c1]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
call fcn.004027b0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x513f25
mov eax, dword [esp + 0xac]
movzx ecx, word [eax]
cmp cx, 0x7069
jne 0x513f10
cmp byte [eax + 2], 0x34
je 0x513c6e
cmp cx, 0x7069
jne 0x5144c9
cmp byte [eax + 2], 0x36
je 0x513c6e
jmp 0x5144c9
mov eax, dword [esp + 0xac]
cmp word [eax], 0x6374
jne 0x513f3d
cmp byte [eax + 2], 0x70
je 0x513db3
cmp word [eax], 0x6475
jne 0x5144c9
cmp byte [eax + 2], 0x70
je 0x513e46
jmp 0x5144c9
mov dword [esp + 0x48], ebx
mov dword [esp + 0x5c], eax
mov ebp, dword [esp + 0xa0]
mov dword [esp], ebp
mov ebp, dword [esp + 0xa4]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0xa8]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
call fcn.00515550
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test eax, eax
jne 0x5141bc
mov dword [esp + 0x38], ebp
cmp ebp, 1
je 0x514168
xor eax, eax
test al, al
je 0x51415d
lea edi, [esp + 0x88]
xor eax, eax
call fcn.0045e0ab
mov ecx, dword [0x7835c0]
mov edx, dword [0x7835c4]
mov eax, ebx
mov ebx, dword [0x7835c8]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ebx
lea ecx, [ebp + 1]
cmp esi, ecx
jb 0x514129
mov dword [esp + 0x3c], ecx
mov edx, dword [0x7a0970]
lea ebx, [ebp + ebp*4]
lea edi, [eax + ebx*4]
test edx, edx
jne 0x5140f7
mov edx, esi
lea esi, [esp + 0x88]
call fcn.0045e58e
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xb0]
test ebx, ebx
je 0x5140ee
mov ebp, dword [esp + 0xac]
lea esi, [ebp + ebx - 1]
cmp byte [esi], 0x34
jne 0x5140e2
test ebx, ebx
lea esi, [0x626fe4]
je 0x5140de
lea ebx, [ebp + ebx - 1]
cmp byte [ebx], 0x36
jne 0x5140de
lea ebx, [0x626fe8]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
lea eax, [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x18], eax
call fcn.00513220
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ebp
add esp, 0x9c
ret
mov ebx, esi
jmp 0x514074
test ebx, ebx
mov esi, 0
jmp 0x514063
mov ebp, dword [esp + 0xac]
jmp 0x5140e4
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], esi
lea eax, [0x5ea5c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x88]
mov dword [esp + 8], eax
call fcn.004106a0
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
jmp 0x514034
lea edx, [0x5ea5c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.00445150
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
inc ecx
mov ebp, dword [esp + 0x38]
jmp 0x51400d
mov edx, esi
mov ecx, ebp
mov eax, ebx
jmp 0x514038
mov dword [esp + 0x40], esi
mov dword [esp + 0x58], ebx
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov ebp, dword [0x77d770]
mov esi, dword [0x77d774]
mov edi, dword [0x77d778]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
call fcn.00510d10
movzx eax, byte [esp + 0x18]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
jmp 0x513fc3
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
add esp, 0x9c
ret
xor ebx, ebx
xor eax, eax
jmp 0x513c08
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.00409130
mov eax, dword [esp + 8]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
lea ecx, [0x65ed98]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
add esp, 0x9c
ret
cmp ecx, 3
je 0x51441b
cmp ecx, 4
je 0x51425e
mov edx, dword [esp + 0xac]
jmp 0x5141fb
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x60f3c9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
call fcn.004027b0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x5143fa
mov ecx, dword [esp + 0xac]
cmp dword [ecx], 0x34706374
jne 0x5143e2
mov edx, dword [esp + 0xb8]
test edx, edx
jne 0x5142cc
xor eax, eax
xor edx, edx
xor ebx, ebx
mov ecx, dword [esp + 0xb0]
mov ebp, eax
mov eax, ebx
mov ebx, edx
mov edx, dword [esp + 0xac]
jmp 0x513c0a
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00513590
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 8]
mov edi, dword [esp + 0xc]
test eax, eax
jne 0x5143ac
mov dword [esp + 0x4c], edi
mov dword [esp + 0x60], esi
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xa8]
mov dword [esp + 8], edx
mov esi, dword [esp + 0xac]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebp
call fcn.00516000
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
test ecx, ecx
jne 0x514376
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x60]
jmp 0x5142b3
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], ebx
add esp, 0x9c
ret
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
add esp, 0x9c
ret
cmp dword [ecx], 0x36706374
je 0x5142a2
mov ecx, dword [esp + 0xb0]
jmp 0x514255
mov ecx, dword [esp + 0xac]
cmp dword [ecx], 0x34706475
je 0x5142a2
cmp dword [ecx], 0x36706475
je 0x5142a2
jmp 0x5143ee
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x60f1c1]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
call fcn.004027b0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x51449e
mov ecx, dword [esp + 0xac]
movzx edx, word [ecx]
cmp dx, 0x7069
jne 0x514477
cmp byte [ecx + 2], 0x34
jne 0x514472
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
jmp 0x513bf2
cmp dx, 0x7069
jne 0x514492
cmp byte [ecx + 2], 0x36
jne 0x514492
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
jmp 0x513bf2
mov ecx, dword [esp + 0xb0]
jmp 0x514255
mov ecx, dword [esp + 0xac]
cmp word [ecx], 0x6374
jne 0x5144b6
cmp byte [ecx + 2], 0x70
je 0x5142a2
cmp word [ecx], 0x6475
jne 0x514492
cmp byte [ecx + 2], 0x70
je 0x5142a2
jmp 0x514492
mov ecx, dword [esp + 0xb0]
mov edx, eax
jmp 0x5144d8
mov eax, edx
jmp 0x5144c9
mov dword [esp], 0
lea eax, [0x614142]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x14
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004484b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409130
mov eax, dword [esp + 8]
lea ecx, [0x5db180]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00431a30
nop
call fcn.0045c8b0
jmp fcn.00513bb0