Function at 0x8e9980
Capabilities:
Packed with generic packer

Disassembly:
push cs
ret
add dword [edx + 0x476bbf5], ecx
movsb byte es:[edi], byte [esi]
sahf
sub byte [ecx], dl
xor byte [eax + eax], dl
in al, dx
mov eax, 0x10d17301
enter 0x203f, 0x4b
add al, bh
pop ecx
add esp, edi
salc
loope 0x8e994c
jnp 0x8e996d
leave
cmp al, 4
insd dword es:[edi], dx
je 0x8e99af
jnp 0x8e99b4
fidiv word [esi + edi*8 + 0xfb021d4]
add dword [ecx + 0x70], ebx
les ebp, [edi - 0x72]
pushal
xchg edx, eax
pop ecx
jo 0x8e9913
outsd dx, dword [esi]
mov fs, word [eax + 0x2e]
xchg edx, eax
imul byte [eax - 0x52590094]
popal
pop es
add dword [eax + 0x22], eax
jb 0x8e99d6
jb 0x8e99c8
jnp 0x8e999d
cmp byte [eax], bh
xchg dword [esi + 0x4fd00e22], edx
fnclex
ror byte [edi + 0x3e], 1
fnclex
inc edi
inc eax
xor byte [eax], al
retf 0xee4e
inc edi
nop
adc eax, 0xc1731e0
popal
xor esi, dword [esi]
fcmovbe st(0), st(7)
sbb al, 0x36
pop ss
jo 0x8e999f
push eax
pop ss
dec edi
out dx, al
jge 0x8e9919
xchg dword [edi - 0x61], esp
sbb al, 0x5a
add dword [edi + 0x62], edx
push edi
bound ecx, qword [esi]
push cs
ror byte [edx + 0x1b], 0x6c
mov al, 0xa1
dec edi
inc edx
jle 0x8e99d8
push 0x7c431fa8
xchg edx, eax
and al, 0x49
ret 0x4c
add byte [eax], al
add byte [eax + 0xff4a], al
add byte [eax], al
add byte [eax], al
pushal
mov esi, section.UPX1
lea edi, [esi - 0xe8000]
push edi
or ebp, 0xffffffff
add byte [eax - 0x7ca8000f], al
int 0xff
jmp 0x8e99e2
nop
nop
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x8e99e9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x8e99d8
mov eax, 1
add ebx, ebx
jne 0x8e99fb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x8e9a0c
jne 0x8e9a2b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x8e9a2b
dec eax
add ebx, ebx
jne 0x8e9a18
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x8e99f0
add ebx, ebx
jne 0x8e9a27
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x8e9a7d
xor ecx, ecx
sub eax, 3
jb 0x8e9a43
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x8e9ab2
sar eax, 1
mov ebp, eax
jmp 0x8e9a4e
add ebx, ebx
jne 0x8e9a4e
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x8e9a1c
inc ecx
add ebx, ebx
jne 0x8e9a5c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x8e9a1c
add ebx, ebx
jne 0x8e9a69
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x8e9a5e
jne 0x8e9a7a
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x8e9a5e
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x8e9a9c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x8e9a8e
jmp 0x8e99de
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x8e9a9c
add edi, ecx
jmp 0x8e99de
pop esi
mov edi, esi
mov ecx, 0x137b4a
mov al, 0xe8
repne scasb al, byte es:[edi]
jne 0x8e9ad7
cmp byte [edi], 0x15
jne 0x8e9abc
mov eax, dword [edi]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
add eax, esi
stosd dword es:[edi], eax
jmp 0x8e9aba
lea edi, [esi + 0x4c7000]
mov eax, dword [edi]
or eax, eax
je 0x8e9b28
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x502f50]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x502f8c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x8e9add
mov ecx, edi
jns 0x8e9b0c
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 + 0x502f90]
or eax, eax
je 0x8e9b22
mov dword [ebx], eax
add ebx, 4
jmp 0x8e9afa
call dword [esi + 0x502fa0]
mov ebp, dword [esi + 0x502f94]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x1d7]
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 0x8e9b5c
sub esp, 0xffffff80
jmp 0x408154