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

Disassembly:
push 0xffffffffffffffff
push 0x604fe1
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x767500]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x767500]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov ebx, ecx
mov ecx, dword [esp + 0x74]
mov eax, 0xf
xor edi, edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edi
mov byte [esp + 0x48], 0
mov dword [esp + 0x40], eax
mov eax, ecx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x3c], edi
mov byte [esp + 0x2c], 0
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x51e5b6
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x30]
call fcn.00402a80
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x78], 1
call fcn.00402920
cmp dword [esp + 0x40], 0x10
mov byte [esp + 0x6c], 0
jb 0x51e5f9
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0055d56e
add esp, 4
mov esi, dword [ebx + 0xb8]
mov edi, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
add edx, edi
cmp edi, edx
jbe 0x51e610
call fcn.0055d9b4
mov ebp, dword [esi]
mov dword [esp + 0x18], ebp
mov ebx, edi
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0xb8]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x1c]
add edi, eax
mov dword [esp + 0x1c], ebx
cmp eax, edi
jbe 0x51e637
call fcn.0055d9b4
mov esi, dword [esi]
test ebp, ebp
je 0x51e641
cmp ebp, esi
je 0x51e646
call fcn.0055d9b4
cmp ebx, edi
je 0x51e7be
lea ecx, [esp + 0x18]
call fcn.004fd710
cmp dword [esp + 0x5c], 0x10
mov edx, dword [esp + 0x48]
jae 0x51e666
lea edx, [esp + 0x48]
mov esi, dword [eax + 0x14]
mov ecx, esi
cmp ecx, esi
jae 0x51e66f
mov edi, dword [esp + 0x58]
mov ecx, esi
cmp esi, edi
jb 0x51e67b
mov ecx, edi
cmp dword [eax + 0x18], 0x10
jb 0x51e686
mov eax, dword [eax + 4]
jmp 0x51e689
add eax, 4
push ecx
push edx
push eax
call fcn.0040e940
add esp, 0xc
test eax, eax
jne 0x51e6a5
cmp esi, edi
jb 0x51e6a5
cmp esi, edi
setne al
test eax, eax
je 0x51e6ce
test ebp, ebp
jne 0x51e6c7
call fcn.0055d9b4
xor ecx, ecx
xor eax, eax
mov edx, dword [eax + 0x1c]
add edx, dword [ecx + 0x18]
cmp ebx, edx
jb 0x51e6c1
call fcn.0055d9b4
inc ebx
jmp 0x51e618
mov ecx, dword [ebp]
mov eax, ecx
jmp 0x51e6b2
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0xb8]
mov dword [esp + 0x24], ebx
test ebp, ebp
jne 0x51e6ff
call fcn.0055d9b4
xor eax, eax
xor ecx, ecx
mov ecx, dword [ecx + 0x1c]
add ecx, dword [eax + 0x18]
lea esi, [ebx + 1]
cmp esi, ecx
ja 0x51e70d
test ebp, ebp
je 0x51e706
mov eax, dword [ebp]
jmp 0x51e708
mov eax, dword [ebp]
mov ecx, eax
jmp 0x51e6e9
xor eax, eax
cmp esi, dword [eax + 0x18]
jae 0x51e716
call fcn.0055d9b4
mov ebx, dword [esp + 0x1c]
push esi
push ebp
push ebx
push ebp
lea edx, [esp + 0x30]
push edx
mov ecx, edi
call fcn.0051e1e0
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0xb8]
mov ecx, dword [esi + 0x1c]
inc ecx
cmp dword [esi + 0x14], ecx
ja 0x51e742
push 1
mov ecx, esi
call fcn.0051cf20
mov edi, dword [esi + 0x18]
test edi, edi
jne 0x51e74c
mov edi, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
dec edi
cmp dword [edx + edi*4], 0
jne 0x51e766
push 0x1c
call fcn.0055d594
mov ecx, dword [esi + 0x10]
add esp, 4
mov dword [ecx + edi*4], eax
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + edi*4]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov byte [esp + 0x6c], 2
test ecx, ecx
je 0x51e79d
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x4c]
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push eax
mov byte [ecx + 4], 0
call fcn.00402920
inc dword [esi + 0x1c]
mov dword [esi + 0x18], edi
cmp dword [esp + 0x5c], 0x10
jb 0x51e7b7
mov ecx, dword [esp + 0x48]
push ecx
call fcn.0055d56e
add esp, 4
mov eax, 1
jmp 0x51e7d4
cmp dword [esp + 0x5c], 0x10
jb 0x51e7d2
mov edx, dword [esp + 0x48]
push edx
call fcn.0055d56e
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.0055d4e2
add esp, 0x5c
ret 4