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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x513213
sub esp, 0x54
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x50], eax
xor eax, eax
jmp 0x51302f
inc edi
mov byte [esp + 0x3c], al
mov eax, dword [esp + 0x48]
mov dword [esp + 0x50], eax
mov eax, edi
mov edi, ebx
mov ebx, esi
mov esi, ebp
mov ebp, edx
mov edx, ecx
movzx ecx, byte [esp + 0x3c]
mov byte [esp + 0x22], cl
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jle 0x5131f3
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x58]
lea ebx, [ecx + eax*8]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x44], ebp
mov ebx, dword [ebx]
mov dword [esp + 0x28], ebx
mov edx, dword [esp + 0x64]
mov esi, dword [edx]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call esi
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x51313a
mov ebx, dword [esp + 0x38]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x30]
cmp ebp, esi
ja 0x5130f3
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x38], ebp
mov edi, ecx
lea ecx, [edx + ebx*8]
mov ebp, dword [esp + 0x28]
mov dword [ecx], ebp
mov ecx, dword [0x7a0970]
lea ebx, [edx + ebx*8 + 4]
test ecx, ecx
jne 0x5130de
mov ecx, dword [esp + 0x44]
mov dword [ebx], ecx
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x38]
jmp 0x513011
mov ecx, edi
mov edi, ebx
mov ebp, eax
mov eax, dword [esp + 0x44]
call fcn.0045de10
mov eax, ebp
mov edi, ecx
jmp 0x5130c1
mov byte [esp + 0x23], al
lea eax, [0x5e5940]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00445150
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebp, [eax + 1]
movzx eax, byte [esp + 0x23]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x38]
jmp 0x51309e
movzx ebx, byte [esp + 0x22]
cmp al, bl
je 0x51308b
mov ebp, dword [esp + 0x34]
lea esi, [ebp + 1]
mov eax, ecx
mov ecx, dword [esp + 0x2c]
cmp esi, ecx
ja 0x5131b0
mov edx, dword [esp + 0x50]
mov edi, ecx
lea ecx, [edx + ebp*8]
mov ebx, dword [esp + 0x28]
mov dword [ecx], ebx
mov ecx, dword [0x7a0970]
lea ebx, [edx + ebp*8 + 4]
test ecx, ecx
jne 0x51319b
mov ecx, dword [esp + 0x44]
mov dword [ebx], ecx
mov ecx, dword [esp + 0x38]
mov ebx, edi
mov ebp, esi
mov dword [esp + 0x48], edx
mov edi, eax
movzx eax, byte [esp + 0x22]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
jmp 0x513011
mov ecx, edi
mov edi, ebx
mov ebp, eax
mov eax, dword [esp + 0x44]
call fcn.0045de10
mov eax, ebp
mov edi, ecx
jmp 0x51317b
lea eax, [0x5e5940]
mov dword [esp], eax
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.00445150
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x24]
movzx ebx, byte [esp + 0x22]
mov ebp, dword [esp + 0x34]
jmp 0x51315c
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
add esp, 0x54
ret
call fcn.0045c8b0
jmp fcn.00512fe0