Function at 0x40f9c4
Capabilities:
Packed with generic packer

Disassembly:
inc ecx
add byte [eax], dl
inc ecx
add byte [esp], bl
sbb al, 0x64
inc ecx
add byte [esi], dl
push esp
dec ecx
outsb dx, byte [esi]
jbe 0x40fa43
imul esp, dword [ebp + 0x61], 0x62
insb byte es:[edi], dx
push esi
push esi
popal
jb 0x40fa47
popal
outsb dx, byte [esi]
je 0x40fa36
jns 0x40fa54
nop
jb 0x40faa1
popal
outsb dx, byte [esi]
je 0x40fa85
outsb dx, byte [esi]
jbe fcn.0040faa0
insb byte es:[edi], dx
imul esp, dword [edi + ecx*2 + 0x70], 0x6f727245
jo 0x40fa8a
jb 0x40fab9
outsd dx, dword [esi]
jb 0x40f9da
inc esp
call fcn.0040fa90
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc esp
call 0x4cfab0
add byte [eax], al
clc
jl 0x40fab5
add byte [esp + esi + 0x40], dl
add byte [eax + 0x34], ah
pushal
xor al, 0x40
add byte [esp + esi + 0x40], ah
add byte [eax + 0x34], ch
invalid
xor al, 0x40
add byte [esp + esi + 0x40], bl
add byte [ecx + esi + 0x31c00040], ah
movsb byte es:[edi], byte [esi]
xor dword [eax], eax
sal byte [ecx], 0x40
inc eax
add ah, bh
xor dword [eax], eax
adc eax, 0x72615645
imul esp, dword [ecx + 0x6e], 0x70795474
jns 0x40fb12
popal
outsb dx, byte [esi]
je 0x40faf4
jo 0x40fb08
inc ebx
popal
jae 0x40fb1b
inc ebp
jb 0x40fb1c
outsd dx, dword [esi]
jb 0x40fa38
shr byte [eax + 0x40e8], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
test al, 0xe8
inc eax
add byte [eax + eax], cl
add byte [eax], al
clc
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0xc0040e8], ch
add byte [eax], al
add al, bh
jl 0x40fb19
add byte [esp + esi + 0x40], dl
add byte [eax + 0x34], ah
inc eax
add byte [esp + esi + 0x40], ah
add byte [eax + 0x34], ch
inc eax
add byte [esp + esi + 0x40], bl
add byte [ecx + esi + 0x31c00040], ah
invalid
invalid
inc eax
add ah, bh
xor dword [eax], eax
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x40fb51
jb 0x40fb80
outsd dx, dword [esi]
jb 0x40fa9c
ror byte [ecx + ebp*8], 0x40
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + ebp*8], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or al, 0xe9
inc eax
add byte [eax + eax], cl
add byte [ecx + esi + 0x31c00040], ah
inc eax
add ah, bh
xor dword [eax], eax
pop ss
inc ebp
push esi
popal
jb 0x40fbcd
popal
outsb dx, byte [esi]
je 0x40fbb1
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al