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

Disassembly:
and dword [ebp - 0x2c], 0
push esp
push ebp
push ebx
push esi
inc edi
pop ebp
inc esp
jns 0x510f0c
dec edi
dec esi
pushal
dec esp
pop edi
outsd dx, dword [esi]
push 0xe9415f50
hlt
inc edi
je 0x510f19
arpl word gs:[ebx + 0x464afc4d], cx
cmp dword [ebx + 0x14], 0x19930520
add esi, eax
and byte [0xf0031993], al
push edx
pop ebx
pop ebx
push edi
inc esp
imul ecx, dword [ecx + 0x418bec4d], 0x38
outsd dx, dword [esi]
dec eax
push esi
push 0x69
pop esp
fstp qword [ebp - 8]
push esp
push ecx
outsd dx, dword [esi]
cmp edx, 0x8a4dbba3
cmove esi, ecx
sub eax, 1
push ecx
push edx
push edi
push edi
push eax
push 0xbe195379
push eax
push edx
push 0xfffffa76
lea esp, [esp - 2]
mov word [esp], ax
lahf
lock xchg word [esp], ax
lea esp, [esp - 4]
mov dword [esp], ebp
call 0x510fd5
dec edx
dec edx
pop ebp
jnp 0x510fe1
pushal
jns 0x510fd4
pop ebx
insd dword es:[edi], dx
dec ebx
imul ebp, dword [ebp + 0x6d], 0x4b
jns 0x510ffb
inc di
push esi
pushal
push ebx
pop eax
push edi
pop esi
pop eax
dec ebx
dec eax
inc ecx
inc edi
arpl word [ecx + 0x53], cx
insb byte es:[edi], dx
dec edi
bound edx, qword [ebp + 0x55]
inc edi
pop eax
imul eax, dword [edi + 0x5f], 0x486a6b65
jns 0x510ff0
inc ecx
push esi
dec eax
dec ecx
pop esi
imul eax, dword [esi + ebx*2 + 0x6c], 0x44
push esi
dec edx
push eax
pop edx
push ebx
push edx
dec esp
imul ecx, dword [edi + 0x55], 0x6e654b46
inc ebp
bound edx, qword [edi + 0x5c]
outsd dx, dword [esi]
dec esp
inc ecx
dec eax
dec eax
inc ecx
inc eax
jnp 0x511016
imul ecx, dword [eax + 0x48], 0x60
push esp
inc ebp
inc edi
bound ebp, qword [eax + 0x52]
imul edx, dword [ebp + ebx*2 - 0x73], 0x64
and al, 0xfc
push esp
pop ebp
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, 0x114
cmovne ecx, dword [esp + 0xa]
add byte [edi], cl
inc ebp
dec esp
and al, 0xa
add ebp, ecx
lock xchg dword [esp + 0xa], ebp
mov ecx, dword [esp]
lea esp, [esp + 4]
and al, 0x8d
and al, 4
pop ebp
lock xchg word [esp], ax
sahf
mov ax, word [esp]
lea esp, [esp + 2]
ret 0x20
jg 0x511018
add byte [ebp - 0xf8a0025], al
jmp 0x511036
dec ebp
imul ebx, dword [edi + 0x69], 0xffffff83
ror byte [eax + edx*2], 0x8b
dec ebp
adc byte [ecx + 0x61], dl
pop edi
imul eax, dword [ebx - 0x74aff340], 0x6151104d
test ecx, ecx
push edx
pop ebx
jae 0x511041
push ebx
push esp
push ecx
imul ebx, dword [ebp + 0x6a], 0x6e
push 0x6e
push edi
pop edi
inc edx
push esi
push eax
bound ebx, qword [ecx + 0x53]
inc esi
push ecx
pop ebp
popal
dec esp
je 0x511058
push ebx
inc edx
insb byte es:[edi], dx
jne 0x51105f
mov al, 1
push edi
imul esp, dword [ebx + ebx*2 + 0x61], 0x5b4f5368
add dword [edi + 0x69], edx
pop ebx
popal
push 0xff5b4f53
jne 0x511029
push ebx
dec edi
pop ebx
push dword [ebp - 0x3c]
inc esp
imul ecx, dword [esi + 0x62], 0x69
inc esp
je 0x511084
movsd dword es:[edi], dword [esi]
jae 0x511027
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
inc edx
pop eax
mov dword [ebp - 0xc], eax
inc ecx
outsb dx, byte [esi]
dec esi
add edx, ecx
inc ebx
dec ebx
cmp dword [esp + 0x78], 0x8b87bee1
je 0x5110a4
and al, 0x78
loope 0x511046
xchg dword [ebx - 0x7ea9e78c], ecx
jl 0x5110b4
push esi
cmp dword [esp - 0x80], 0x43ae8ba3
je 0x5d87f9
and byte [ebx + 0xf43ae8b], 0x84
pop esi
ja 0x5110a6
add al, ch
xor eax, dword [eax]
add byte [eax], al
call 0x5110d3
dec ebx
pop ebx
inc ecx
dec edi
push eax
pop edi
inc edi
je 0x5110bb
jnp 0x5110ee
push edi
push esp
push edi
je 0x5110b5
pop esp
pop ebx
jmp 0x8c69c79
mov esi, dword [ebp + 8]
jne 0x5110bf
cmp eax, esi
jne 0x5110c3
push edi
dec ebx
mov eax, dword [ebp - 0x3a4]
push dword [ebp + 0xc]
inc esi
push eax
dec esi
pop edx
push ebx
and esi, 0xffffffef
push ebx
imul edi, edi, 0x44812434
and al, 0
pushal
in eax, 0xff
inc dword [ecx + 0x6b042444]
add byte [eax], al
add bl, al
inc esp
inc ecx
dec esi
bound eax, qword [esi + ecx*2 + 0x5c]
test dword [esp + edi*8 - 1], ebx
invalid
push ebx
inc eax
push esp
arpl word [ecx + 0x63], ax
pop ebx
jns 0x51115c
inc eax
dec ecx
pop sp
pop esp
jnp 0x51115b
push 0x4141796f
arpl word [edi + 0x4a], ax
push ecx
dec esi
dec eax
arpl word gs:[ecx - 0x72319405], ax
stosb byte es:[edi], al
cmove esi, esi
add esp, 4
mov dword [ebp - 0x24], eax
cmp ecx, 0xa777c18d
jne 0x51115b
insd dword es:[edi], dx
dec esi
pop eax
jns 0x51119a
dec esi
insd dword es:[edi], dx
outsd dx, dword [esi]
imul ebx, dword [eax + 0x64], 0x57
imul ebx, dword [ecx + 0x62], 0x5b
push edi
add byte [edi + 0x45], dl
push edi
dec ebp
dec ebx
div ecx
movdqu xmm1, xmmword [esi + 0x10]
push ebp
add esi, 4
pop eax
pop eax
pop edx
dec esi
dec eax
js 0x5111b1
inc ebx
push ebp
pushal
dec ebx
push esp
xor edx, edx
push ecx
inc eax
outsb dx, byte [esi]
inc ebp
and dword [ebp - 0x30], 0
rol byte gs:[eax], 1
test bl, bl
push edx
push 0x2b968832
push ebx
push 0x6cf0ab59
push ebp
push eax
push 0xffffffffffffff9d
push 0x22f8ca3f
push 0x1527021b
pushf
push ebx
call fcn.005111ac
push ebp
mov dword [esp + 0x18], edx
jmp 0x5111cf
test edi, edi
dec esi
pop ecx
jns 0x5111f7
pop eax
popal
dec ebp
pop edx
mov esi, dword [ebp + 0xc]
pop esp
insd dword es:[edi], dx
add al, 0
ret
and al, 4
push edx
mov edx, 0x1527013f
cmove edx, dword [esp + 0xa]
lea edx, [ebx + edx - 0x1527007b]
lock xchg dword [esp + 0xa], edx
pop edx
pop ebx
lock xchg word [esp], ax
add al, 0x24
mov ah, al
sahf
mov ax, word [esp]
lea esp, [esp + 2]
ret 0x20
dec ebp
inc ecx