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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov ecx, dword [ebp + 0xc]
cmp ecx, 0x4ff
ja 0x51c9ed
mov eax, dword [ebp + 8]
mov ebx, ecx
shr ecx, 5
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 0xa0]
test ecx, ecx
je 0x51c672
mov edx, dword [ebp - 0x10]
dec ecx
lea esi, [eax + edx*4]
mov edx, ecx
nop word cs:[eax + eax]
cmp ecx, 0x27
ja 0x51c9b6
mov edi, dword [ebp - 0x10]
add edi, edx
cmp edi, 0x28
jae 0x51c9a4
mov edi, dword [eax + edx*4]
mov dword [esi + edx*4], edi
add edx, 0xffffffff
jb 0x51c650
mov edx, ebx
cmp ebx, 0x20
jb 0x51c902
mov esi, dword [ebp - 0x10]
mov ecx, 1
mov dword [eax], 0
cmp esi, 2
cmovae ecx, esi
cmp edx, 0x40
jb 0x51c902
cmp ecx, 2
mov dword [eax + 4], 0
je 0x51c902
cmp ecx, 3
mov dword [eax + 8], 0
je 0x51c902
cmp ecx, 4
mov dword [eax + 0xc], 0
je 0x51c902
cmp ecx, 5
mov dword [eax + 0x10], 0
je 0x51c902
cmp ecx, 6
mov dword [eax + 0x14], 0
je 0x51c902
cmp ecx, 7
mov dword [eax + 0x18], 0
je 0x51c902
cmp ecx, 8
mov dword [eax + 0x1c], 0
je 0x51c902
cmp ecx, 9
mov dword [eax + 0x20], 0
je 0x51c902
cmp ecx, 0xa
mov dword [eax + 0x24], 0
je 0x51c902
cmp ecx, 0xb
mov dword [eax + 0x28], 0
je 0x51c902
cmp ecx, 0xc
mov dword [eax + 0x2c], 0
je 0x51c902
cmp ecx, 0xd
mov dword [eax + 0x30], 0
je 0x51c902
cmp ecx, 0xe
mov dword [eax + 0x34], 0
je 0x51c902
cmp ecx, 0xf
mov dword [eax + 0x38], 0
je 0x51c902
cmp ecx, 0x10
mov dword [eax + 0x3c], 0
je 0x51c902
cmp ecx, 0x11
mov dword [eax + 0x40], 0
je 0x51c902
cmp ecx, 0x12
mov dword [eax + 0x44], 0
je 0x51c902
cmp ecx, 0x13
mov dword [eax + 0x48], 0
je 0x51c902
cmp ecx, 0x14
mov dword [eax + 0x4c], 0
je 0x51c902
cmp ecx, 0x15
mov dword [eax + 0x50], 0
je 0x51c902
cmp ecx, 0x16
mov dword [eax + 0x54], 0
je 0x51c902
cmp ecx, 0x17
mov dword [eax + 0x58], 0
je 0x51c902
cmp ecx, 0x18
mov dword [eax + 0x5c], 0
je 0x51c902
cmp ecx, 0x19
mov dword [eax + 0x60], 0
je 0x51c902
cmp ecx, 0x1a
mov dword [eax + 0x64], 0
je 0x51c902
cmp ecx, 0x1b
mov dword [eax + 0x68], 0
je 0x51c902
cmp ecx, 0x1c
mov dword [eax + 0x6c], 0
je 0x51c902
cmp ecx, 0x1d
mov dword [eax + 0x70], 0
je 0x51c902
cmp ecx, 0x1e
mov dword [eax + 0x74], 0
je 0x51c902
cmp ecx, 0x1f
mov dword [eax + 0x78], 0
je 0x51c902
cmp ecx, 0x20
mov dword [eax + 0x7c], 0
je 0x51c902
cmp ecx, 0x21
mov dword [eax + 0x80], 0
je 0x51c902
cmp ecx, 0x22
mov dword [eax + 0x84], 0
je 0x51c902
cmp ecx, 0x23
mov dword [eax + 0x88], 0
je 0x51c902
cmp ecx, 0x24
mov dword [eax + 0x8c], 0
je 0x51c902
cmp ecx, 0x25
mov dword [eax + 0x90], 0
je 0x51c902
cmp ecx, 0x26
mov dword [eax + 0x94], 0
je 0x51c902
cmp ecx, 0x27
mov dword [eax + 0x98], 0
je 0x51c902
cmp ecx, 0x28
mov dword [eax + 0x9c], 0
jne 0x51ca03
mov edi, dword [eax + 0xa0]
and edx, 0x1f
mov ecx, edx
mov dword [ebp - 0x14], edx
add edi, dword [ebp - 0x10]
test edx, edx
je 0x51c996
lea ecx, [edi - 1]
cmp ecx, 0x27
ja 0x51c9db
mov edx, dword [eax + edi*4 - 4]
mov ecx, ebx
neg ecx
and ecx, 0x1f
mov dword [ebp - 0x20], ecx
mov esi, edx
shr esi, cl
mov ecx, edi
test esi, esi
je 0x51c946
cmp edi, 0x27
ja 0x51c9a4
mov dword [eax + edi*4], esi
lea ecx, [edi + 1]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x10]
inc ecx
cmp ecx, edi
mov dword [ebp - 0x1c], ecx
jae 0x51c98a
nop word cs:[eax + eax]
nop
lea ecx, [edi - 2]
cmp ecx, 0x28
jae 0x51c9c8
mov ebx, dword [eax + edi*4 - 8]
mov esi, eax
mov ecx, dword [ebp - 0x14]
shl edx, cl
mov ecx, dword [ebp - 0x20]
mov eax, ebx
shr eax, cl
or eax, edx
mov edx, ebx
mov dword [esi + edi*4 - 4], eax
dec edi
mov eax, esi
cmp dword [ebp - 0x1c], edi
jb 0x51c960
mov edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
shl dword [eax + edx*4], cl
mov dword [eax + 0xa0], edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
push 0xa5ff74
push 0x28
push edi
call fcn.00512540
add esp, 0xc
ud2
push 0xa5ff74
push 0x28
push edx
call fcn.00512540
add esp, 0xc
ud2
push 0xa5ff74
push 0x28
push 0xffffffffffffffff
call fcn.00512540
add esp, 0xc
ud2
push 0xa5ff74
push 0x28
push ecx
call fcn.00512540
add esp, 0xc
ud2
push 0xa5ff74
push 0x1d
push 0xa5ff9e
call fcn.00512480
add esp, 0xc
ud2
push 0xa5ff74
push 0x28
push 0x28
call fcn.00512540
add esp, 0xc
ud2