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

Disassembly:
sub esp, 0x24
push ebx
push ebp
mov ebp, dword [esp + 0x30]
push esi
push edi
push ebp
call fcn.0051e480
mov esi, eax
add esp, 4
test esi, esi
je 0x510bdf
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x510bdf
mov eax, dword [edi + 0x14]
test eax, eax
je 0x510bdf
mov eax, dword [edi + 0x48]
mov ecx, dword [ebp]
push eax
push ecx
call fcn.0050ae10
mov edx, dword [ebp]
mov ebx, eax
mov dword [esp + 0x38], ebx
mov ecx, dword [edx + 8]
lea eax, [ebx + ebx*2]
mov edx, dword [ecx + eax*8]
mov eax, dword [edi + 4]
push edx
push 0
push eax
push 0x1c
push ebp
call fcn.00515430
add esp, 0x1c
test eax, eax
jne 0x510bdf
mov ecx, dword [edi + 4]
mov edx, dword [edi + 0x18]
push ecx
push eax
push edx
push ebx
push ebp
call fcn.005154e0
mov edi, dword [edi + 0x14]
mov eax, dword [ebp + 0x44]
add esp, 0x14
mov dword [esp + 0x10], eax
test edi, edi
mov dword [esp + 0x18], edi
je 0x510bdf
jmp 0x5108c1
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
push edi
push ebp
call fcn.00518e50
mov ebx, dword [edi + 4]
mov dword [esp + 0x34], eax
lea ecx, [ebx + 1]
push ecx
push 0
push 0x66
push esi
call fcn.005107e0
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ecx, dword [edi + 0x14]
push 0xfffffffffffffff0
push edx
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
push 0xe
push esi
call fcn.0050fb10
mov eax, dword [esp + 0x78]
mov ecx, dword [ebp + 0x48]
add esp, 0x34
lea edi, [eax + ebx*2]
mov dword [esp + 0x2c], edi
add edi, 3
lea eax, [edi + 1]
cmp eax, ecx
jle 0x510918
mov dword [ebp + 0x48], eax
xor ebp, ebp
test ebx, ebx
jl 0x510962
mov ecx, dword [esp + 0x44]
lea edx, [ecx + ebp]
push edx
push 0
push 0x31
push esi
call fcn.005107e0
add esp, 0x10
inc ebp
cmp ebp, ebx
jle 0x51091e
test ebx, ebx
jle 0x510962
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], ebx
lea ebp, [ebx + eax + 1]
push ebp
push 0
push 0x75
push esi
call fcn.005107e0
mov eax, dword [esp + 0x30]
add esp, 0x10
inc ebp
dec eax
mov dword [esp + 0x20], eax
jne 0x510948
push esi
call fcn.00510c10
mov ecx, dword [esp + 0x14]
push eax
push ecx
push 0x78
push esi
mov dword [esp + 0x38], eax
call fcn.005107e0
push esi
call fcn.00510c90
mov edx, dword [esp + 0x5c]
push 1
push edx
push 0x2b
push esi
mov dword [esp + 0x50], eax
call fcn.005107e0
add esp, 0x28
xor ebp, ebp
test ebx, ebx
jle 0x5109e0
mov eax, dword [esp + 0x44]
lea ecx, [ebx + eax + 1]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x10]
push edi
push ebp
push edx
push 3
push esi
call fcn.0050fb50
mov eax, dword [esp + 0x28]
push eax
push 0
push edi
push 0x48
push esi
call fcn.0050fb50
push 8
push esi
call fcn.00510800
mov ecx, dword [esp + 0x44]
add esp, 0x30
inc ebp
inc ecx
cmp ebp, ebx
mov dword [esp + 0x14], ecx
jl 0x5109a8
mov ecx, dword [esp + 0x24]
push ecx
push 0
push 0x61
push esi
call fcn.005107e0
add esp, 0x10
xor ebp, ebp
test ebx, ebx
jle 0x510a66
mov eax, dword [esp + 0x44]
lea edx, [ebx + eax + 1]
inc eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
add eax, 2
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.00510ca0
mov edx, dword [esp + 0x24]
push 1
push edx
push 0x2b
push esi
call fcn.005107e0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
push eax
push ebp
push ecx
push 3
push esi
call fcn.0050fb50
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
add esp, 0x2c
inc ebp
add eax, 2
inc edx
inc ecx
cmp ebp, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
jl 0x510a14
mov edx, dword [esp + 0x24]
push edx
push esi
call fcn.00510c70
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
push eax
push ebp
push 0x6b
push esi
call fcn.005107e0
push ebp
push 0x22
push esi
call fcn.00510bf0
mov ecx, dword [esp + 0x68]
push ecx
push 0x45
push esi
call fcn.00510bf0
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
push 0
mov eax, dword [edx + 4]
push eax
push 0
push ebp
push 0
push 0x5d
push esi
call fcn.0050fb10
mov ecx, dword [esp + 0x64]
add esp, 0x4c
lea eax, [ebp + 1]
mov edx, dword [ecx]
push 0
push edx
push 0
push eax
push 0
push 0x5d
push esi
call fcn.0050fb10
mov ecx, dword [esp + 0x60]
add ebp, 2
push ebp
push ecx
push 9
push esi
call fcn.005107e0
add esp, 0x2c
test ebx, ebx
jle 0x510b80
mov ecx, dword [esp + 0x44]
or eax, 0xffffffff
sub eax, ecx
lea edx, [ecx + 1]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edx
push 0
push 0x5ecec8
push 0
push edi
push 0
push 0x5d
push esi
call fcn.0050fb10
push ebp
push ebp
push edi
push 0x58
push esi
call fcn.0050fb50
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x74]
push edi
push eax
push ecx
push 0x53
push esi
call fcn.0050fb50
add esp, 0x44
push 0xffffffffffffffff
push edi
push 0x2b
push esi
call fcn.005107e0
mov edx, dword [esp + 0x24]
push edi
push edi
push edx
push 0x56
push esi
call fcn.0050fb50
push edi
push 0x90
push esi
call fcn.00510bf0
push ebp
push ebp
push edi
push 0x58
push esi
call fcn.0050fb50
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x6c]
add esp, 0x44
inc eax
add ecx, eax
mov dword [esp + 0x14], eax
cmp ecx, ebx
jl 0x510b04
mov edx, dword [esp + 0x2c]
push 0
lea ebx, [edi + 1]
push 0x5eeba4
push ebx
push 3
push edx
push 0x5a
push esi
call fcn.0050fb10
mov ebp, dword [esp + 0x5c]
push edi
push ebp
push 0x1b
push esi
call fcn.005107e0
push edi
push ebx
push ebp
push 0x6e
push esi
call fcn.0050fb50
add esp, 0x40
push 8
push esi
call fcn.00510800
mov eax, dword [esp + 0x2c]
push eax
push esi
call fcn.00510ca0
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov eax, dword [ecx + 0x20]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x5108b9
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret