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

Disassembly:
mov edi, edi
or dword [eax + 0xc], 4
and dword [ebp + edi*4 - 0x740], 0
pop esi
push eax
push esp
push ecx
inc edx
pop esi
mov ecx, 0xfffd
inc ebx
js 0x51c7a8
dec esi
insd dword es:[edi], dx
call fcn.0051fa6c
push ecx
dec ebp
push esi
imul ebp, dword [bp + di + 0x63], 0x67
js 0x51c7a1
inc esp
inc esp
dec eax
call fcn.0052d70a
outsd dx, dword [esi]
jnp 0x51c7e3
jne 0x51c773
or dword [ebx + 0x556d4eec], ecx
mov ebp, esp
dec esi
insd dword es:[edi], dx
push ebp
insd dword es:[edi], dx
dec edx
pop ecx
mov dword fs:[ebp + 0xc], ecx
mov dword [ebp + 0xc], ecx
mov eax, dword [edx + 4]
cmp dword [ebp + 0x1c], esi
push 0x4a446a45
bound edi, qword [ecx + 0x79]
pop ebx
outsb dx, byte [esi]
shr eax, 2
call dword [0x41a118]
push ebx
dec ebp
dec esi
ret
js 0x51c769
push es
add byte [ecx - 0x7f], bl
cli
pop ds
test eax, 0x840faa00
mov byte [0x5f000e23], al
cmp dword [esp + 0x3c], 0xf846b70d
jne 0x51c7e6
pop ebp
push esi
pop ebp
push ecx
push eax
dec ecx
inc esp
js 0x51c819
push 0x5e
outsb dx, byte [esi]
inc eax
dec ecx
jns 0x51c815
bound ebx, qword [bp + di + 0x45]
push edi
push esp
pushal
arpl word [ebp + 0x78], sp
dec esp
dec ebp
popal
dec bp
push ebp
imul ebp, dword [ecx + 0x5e], 0xffffff81
jl 0x51c80e
pop esi
cmp dword [esp + 0x7c], 0xa8b86563
jne 0x51c81f
jl 0x51c84f
mov eax, 0x5e2e75a8
pop esi
push ebp
pop ecx
pop ebx
cmp edi, 0x19feeacb
jne 0x51c867
pop ebx
dec ecx
inc esp
dec eax
pop edx
arpl word [ecx + 0x40], di
insb byte es:[edi], dx
pop edi
dec edi
outsd dx, dword [esi]
push edx
dec eax
dec ecx
push ecx
popal
arpl word [ebp + 0x66], cx
bound eax, qword [esi + 0x5b]
popal
push edx
push edx
jnp 0x51c8a9
inc edx
jns 0x51c8ab
push ecx
dec ebp
push ebx
inc edx
js 0x51c892
pop edx
inc edi
pop edx
pop eax
inc ecx
jnp 0x51c8ce
push ecx
push ebx
pop ax
dec ecx
pop esp
dec esi
pop ecx
push ebx
inc edi
imul esp, dword [esp + ebx*2 + 0x49], 0x55
pop edx
pop edx
mov ecx, dword [ebp - 0x10]
cmp dword [esp + 0x74], 0xa0090d0d
je 0x51c8ee
xor ecx, ebp
cmp dword [esp - 0x80], 0x897e25c7
cmove eax, eax
call 0x51c8af
push si
mov ecx, dword [eax + edi + 0x18]
push 0x88486f45
sbb dh, byte [edi + eax*2 + 0x3b]
push esp
and al, 0x14
je 0x51c8db
cmp edx, dword [esp + 0x14]
sub esp, 0x24
je 0x51c8a0
dec esp
inc eax
mov dword [ebp - 0xf8], ecx
inc esp
pop ecx
add dword [ecx], eax
lea ecx, [eax]
invalid
pop edx
add eax, esi
dec eax
pop edx
push eax
push dword [esp]
add dword [esp], 0xffee52bf
add dword [esp + 4], 0x6e
ret
invalid
push ecx
inc ecx
jnp 0x51c91b
arpl word [edi + 0x52], dx
outsd dx, dword [esi]
inc eax
push 0x52
pushal
inc ebp
dec esi
pop ebx
pop ebp
pop ebx
pop ecx
push edi
inc eax
push ecx
imul ebx, dword [edx + 0x4b], 0x6e
inc ebp
dec ebx
pop ebp
push esi
pop ecx
jnp 0x51c94c
pop edi
pop edx
popal
imul edx, dword [ebx + 0x62], 0x30247c81
popfd
mov esp, 0x850f92f2
or al, byte [eax]
add byte [eax], al
jne 0x51c919
push ebp
inc esi
pop esp
push edx
insb byte es:[edi], dx
inc esi
push 1
leave
cmp edi, 0x6a8a603d
cmove ebx, edx
ret
push ebp
cmp dword [esp + 0x20], 0x95001951
cmove ebp, esi
mov ebp, esp
jl 0x51c941
and byte [ecx + 0x19], dl
add byte [ebp - 0x7411bbf1], dl
in al, dx
cmp dword [esp + 0x1c], 0x6681525f
je 0x51c9a9
push ecx
cmp ebp, 0x565adf87
jne 0x51c9a3
add byte gs:[eax], al
add byte [ecx + 0x7b], cl
pop esi
dec ecx
jnp 0x51c99f
pop esi
pop ebx
dec esp
add sp, 0x10
push dword [ebp + 0x24]
pop ebp
cmp dword [esi + 0x14], 0x19930521
verw word [edx + 0xa]
pop esi
pop edi
push edi
dec esp
push 0xff59425d
jne 0x51c972
jne 0x51c973
stosd dword es:[edi], eax
imul esp, dword [esi + 0x75], 6
mov dword [eax], ecx
dec ebp
push edx
push 0x4751c944
inc edx
push ebp
dec ebp
dec edx
push edx
dec ebp
arpl word [ebp + ebx*2 + 0x69], ax
dec edx
push edi
push edi
inc ebp
imul esp, dword [ebp + 0x4f], 0x65466c44
pop ebp
mov ebx, dword [ebp + 0x24]
pop esi
pushal
inc ebp
push eax
push eax
insd dword es:[edi], dx
pushal
mov al, byte [ebp - 1]
mov eax, dword [0x421080]
jmp 0x49b5587
add al, 0x6e
push 0x7c815357
and al, 0x3c
add edi, dword [edi - 0x73]
push ebx
cmp dword [esp + 0x3c], 0xc38d7f03
je 0x51c9c5
jg 0x51c938
ret
push esi
cmp dword [esp + 4], 0x47b4ff29
je 0x51c93a
mov esi, dword [ebp + 8]
cmp dword [esp + 0x4c], 0xf550ab25
cmove ecx, ecx
inc esp
leave
xor eax, eax
cmp dword [esp + 0x64], 0xa02e3eb9
cmove ebx, ebp
push edi
cmp dword [esp + 0x48], 0xb489ee87
jne 0x51ca04
inc esp
fst qword [edi - 0x7f]
jl 0x51c9fc
dec eax
xchg esi, ebp
mov dword [ebp + esi*2 + 0x5e785225], esi
push edx
js 0x51ca40
insd dword es:[edi], dx
dec esi
dec edx
push ebp
dec ebx
inc edi
pop edx
pop eax
pop esp
pop edi
push ebx
jns 0x51ca32
dec eax
dec edi
inc eax
pop edx
mov cl, byte [edx + esi - 1]
mov eax, esi
pushal
insd dword es:[edi], dx
pop ecx
inc esp
dec edx
inc eax
push esi
inc ebp
imul ebp, dword [ecx - 0x75], 0x81ababfe
call ecx
xor eax, 0x5874d207
mov edi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
cmp edi, 0xd20735d1
je 0x51ca68
stosd dword es:[edi], eax
mov edi, dword [ebp + 0xc]
cmp edx, 0x3486053d
jne 0x51ca75
imul ebx, dword gs:[esi + 0xf], 0xbc84
add byte [ebx + 0x5e], ch
push edx
pushal
inc ebx
insb byte es:[edi], dx
mov dword [esi + 8], eax
inc esp
popal
insd dword es:[edi], dx
or byte [ecx + 0x6d], al
push ecx
push edi
inc edx
push esi
imul ecx, dword [ecx + 0x4c], 0x40
or edx, eax
js 0x51caa9
push ecx
jns 0x51c9d2
test esp, edi
jmp 0x51ca48
invalid
pop esi
pop edi
push 0x6b694048
insb byte es:[edi], dx
call fcn.0051d14b
imul ebp, dword [edi + 0x53], 0xe083006a
invalid
invalid
push 0
and eax, 8
invalid