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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x51bf17
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 + 0x3c], eax
jmp 0x51bd40
inc esi
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x50]
mov byte [esp + 0x40], al
mov eax, esi
mov esi, ecx
movzx ecx, byte [esp + 0x40]
mov ecx, edx
mov edx, ebp
mov ebp, ebx
mov ebx, ecx
movzx ecx, byte [esp + 0x40]
mov byte [esp + 0x23], cl
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jle 0x51bef7
mov dword [esp + 0x24], eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x30], ebp
mov ecx, dword [esp + 0x58]
lea ebx, [ecx + eax*8]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x48], 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 0x51bda5
movzx ebx, byte [esp + 0x23]
cmp bl, al
jne 0x51be47
mov byte [esp + 0x23], al
mov ebx, dword [esp + 0x30]
inc ebx
mov ebp, dword [esp + 0x34]
cmp ebp, ebx
jb 0x51bdbc
mov edx, dword [esp + 0x4c]
jmp 0x51bdfd
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x703080]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov ebp, edx
mov edx, ebx
mov ebx, eax
movzx eax, byte [esp + 0x23]
lea esi, [edx + ebx*8 - 8]
mov edi, dword [esp + 0x28]
mov dword [esi], edi
mov esi, dword [0x995310]
lea edi, [edx + ebx*8 - 4]
test esi, esi
je 0x51be32
mov esi, edi
call fcn.00468e70
mov ecx, dword [esp + 0x48]
mov dword [edi], ecx
mov eax, dword [esi]
mov dword [edi + 4], eax
movzx eax, byte [esp + 0x23]
mov ecx, dword [esp + 0x24]
mov edi, esi
mov esi, ecx
mov ecx, dword [esp + 0x48]
mov dword [edi], ecx
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
jmp 0x51bd1d
mov eax, dword [esp + 0x3c]
inc eax
mov ebp, dword [esp + 0x38]
cmp ebp, eax
jb 0x51be5a
mov edi, dword [esp + 0x50]
jmp 0x51be97
mov ecx, dword [esp + 0x50]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x703080]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
movzx ebx, byte [esp + 0x23]
mov ebp, esi
lea esi, [edi + eax*8 - 8]
mov edx, ecx
mov ecx, dword [esp + 0x28]
mov dword [esi], ecx
mov ecx, dword [0x995310]
lea esi, [edi + eax*8 - 4]
test ecx, ecx
je 0x51bed1
mov dword [esp + 0x2c], eax
mov ecx, edi
call fcn.00468e70
mov eax, dword [esp + 0x48]
mov dword [edi], eax
mov edx, dword [esi]
mov dword [edi + 4], edx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov edi, ecx
mov ecx, dword [esp + 0x48]
mov dword [esi], ecx
mov esi, edx
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
mov ecx, ebp
mov dword [esp + 0x50], edi
mov ebp, dword [esp + 0x34]
mov edi, eax
movzx eax, byte [esp + 0x23]
jmp 0x51bd1d
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], esi
add esp, 0x54
ret
call fcn.00467a60
jmp fcn.0051bcf0