Function at 0x515050
Capabilities:
Packed with generic packer

Disassembly:
push 0xffffffffffffffd2
adc byte [eax - 0x80], al
push edi
movsx ebp, byte [ebx + 0x6f]
fisttp dword [0xce6b6c01]
jl 0x515041
inc eax
or al, 0
push 0x591536f2
add byte [ebp + 0x40], dl
pop edx
in eax, dx
adc al, 0xdb
fisub word [eax]
insb byte es:[edi], dx
in al, dx
fsubr st(6)
sbb al, 0
add dword [eax + 0x27], esi
mov es, word [eax - 0x59]
nop
insd dword es:[edi], dx
pushal
and eax, edx
pop esi
pop eax
or byte [esi], ch
je 0x51502a
sbb ebp, 0x747865e7
je 0x514fba
dec eax
invalid
enter 0xffffffffffffb122, 0xffffffffffffffee
fldcw word [esi + ebp*2 - 0x11]
inc eax
dec ebp
dec esi
xor al, 0x9f
add byte [eax - 0x3eff9df5], ah
stc
inc ebx
mov dl, 0x8c
or eax, eax
jb 0x5150a5
jb 0x515097
xlatb
jae 0x514feb
out 0xc1, eax
out 0, al
hlt
push cs
push esp
enter 0xffffffffffffa48c, 7
dec esi
cmpsb byte [esi], byte es:[edi]
sbb byte [edx - 0x1dff5933], dl
cmovb ebx, dword [eax + 0x36]
and al, 0xe1
xchg ebp, eax
fild dword [eax + 0x75]
jle 0x515015
call dword [eax]
sbb dword [edi], esi
adc dword [eax], eax
inc eax
and eax, 0xff9249
add byte [eax - 0x42], ah
add byte [eax], dl
dec esp
add byte [ebp - 0xbffff42], cl
call dword [edi - 0x15]
or edx, dword [eax - 0x77b9f976]
pop es
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x51508a
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x515079
mov eax, 1
add ebx, ebx
jne 0x51509c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x5150ad
jne 0x5150cc
mov ebx, dword [esi]
push ds
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x5150cc
dec eax
add ebx, ebx
jne 0x5150b9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x515091
add ebx, ebx
jne 0x5150c8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x51511e
xor ecx, ecx
sub eax, 3
jb 0x5150e4
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x515153
sar eax, 1
mov ebp, eax
jmp 0x5150ef
add ebx, ebx
jne 0x5150ef
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x5150bd
inc ecx
add ebx, ebx
jne 0x5150fd
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x5150bd
add ebx, ebx
jne 0x51510a
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x5150ff
jne 0x51511b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x5150ff
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x51513d
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x51512f
jmp 0x51507f
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x51513d
add edi, ecx
jmp 0x51507f
pop esi
mov edi, esi
mov ecx, 0x3eef
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x51515b
cmp byte [edi], 0x11
jne 0x51515b
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x515160
lea edi, [esi + 0x10e000]
mov eax, dword [edi]
or eax, eax
je 0x5151d8
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x151f98]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x152114]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x51518d
mov ecx, edi
jns 0x5151bc
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x152118]
or eax, eax
je 0x5151d2
mov dword [ebx], eax
add ebx, 4
jmp 0x5151aa
call dword [esi + 0x152128]
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x515209
cmp al, 0xef
ja 0x5151fc
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x5151de
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x5151eb
mov ebp, dword [esi + 0x15211c]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x22f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x51523d
sub esp, 0xffffff80
jmp 0x426c10