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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x515f11
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 0x515d2f
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 0x515ef1
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
je 0x515d94
movzx ebx, byte [esp + 0x22]
cmp bl, al
jne 0x515e44
mov ebx, dword [esp + 0x38]
lea ebp, [ebx + 1]
mov esi, dword [esp + 0x30]
cmp esi, ebp
jb 0x515da9
mov edx, dword [esp + 0x4c]
jmp 0x515def
mov byte [esp + 0x23], al
lea eax, [0x6dc9a0]
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.0044baf0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x24]
mov edx, ebp
mov ebp, eax
mov esi, ebx
movzx eax, byte [esp + 0x23]
mov ebx, dword [esp + 0x38]
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 [0x9b1930]
lea ebx, [edx + ebx*8 + 4]
test ecx, ecx
jne 0x515e14
mov ecx, dword [esp + 0x44]
mov dword [ebx], ecx
jmp 0x515e27
mov ecx, edi
mov edi, ebx
mov ebp, eax
mov eax, dword [esp + 0x44]
call fcn.00463350
mov eax, ebp
mov edi, 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 0x515d11
mov ebp, dword [esp + 0x34]
lea esi, [ebp + 1]
mov eax, ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, esi
jb 0x515e5b
mov edx, dword [esp + 0x50]
jmp 0x515e9d
lea eax, [0x6dc9a0]
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.0044baf0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea esi, [ecx + 1]
movzx ebx, byte [esp + 0x22]
mov ebp, dword [esp + 0x34]
mov edx, eax
mov ecx, edi
mov eax, dword [esp + 0x24]
mov edi, ecx
lea ecx, [edx + ebp*8]
mov ebx, dword [esp + 0x28]
mov dword [ecx], ebx
mov ecx, dword [0x9b1930]
lea ebx, [edx + ebp*8 + 4]
test ecx, ecx
jne 0x515ebe
mov ecx, dword [esp + 0x44]
mov dword [ebx], ecx
jmp 0x515ed1
mov ecx, edi
mov edi, ebx
mov ebp, eax
mov eax, dword [esp + 0x44]
call fcn.00463350
mov eax, ebp
mov edi, 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 0x515d11
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.00461f40
jmp fcn.00515ce0