Function at 0x401000
Capabilities:
Packed with generic packer

Disassembly:
mov eax, 0x4af0fc
push eax
push dword fs:[0]
mov dword fs:[0], esp
add byte [eax], al
add byte [eax], al
xor eax, eax
mov dword [eax], ecx
push eax
inc ebp
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x401080
arpl word [edx + esi], si
add al, 0x54
jb 0x40109d
lea ecx, gs:[0x701112c]
dec ecx
outsb dx, byte [esi]
je 0x401098
mov al, byte [0x1605]
pop ss
jb 0x40103f
and dword [eax - 0x7480ff01], eax
jg 0x400fcc
rol byte [edi + edx + 4], 0x42
jns 0x400ff8
lds esp, [ebp - 0x19]
aaa
inc dword [ebx]
nop
pop eax
adc edx, dword [edi + 0x6f]
jb 0x40108d
call 0x3a44b96
jmp [eax + ecx + 0x43]
mov al, byte [0xe162c5cf]
or al, 7
push esi
xor ebp, dword [ecx - 0x66]
je 0x401010
clc
lds ecx, [edi + 0x1f007f4e]
add al, 0xf0
cmp byte [eax + 0x3c], dh
mov cs, word [ebx + 0x3fc0b]
cmp al, 0x8e
mov ecx, dword [ebx]
cld
add eax, dword [eax]
cmp dword [eax + edi*8], eax
cmp byte [eax + 0x36], al
pop ss
add bh, cl
jecxz 0x401106
cwde
pop es
push esp
dec edi
bound ebp, qword [edx + 0x65]
arpl word [esp + eax + 0x11], si
or ebp, dword [esp + ebx*4]
cmp esi, dword [ebp + 0xc]
pushal
xchg ecx, eax
jns 0x401132
rol byte [esp + esi*4], cl
jo 0x401135
insd dword es:[edi], dx
and al, 0x1f
invalid
shl ch, 3
ror ah, cl
add dword [esp + 4], 0xfffffff8
jmp 0xa39211c7
or edi, dword [ecx + edx - 0xd]
pop ds
or al, 0x1d
mov ds, word [ebp - 0x4953e31b]
out dx, eax
jl 0x401178
mov byte [edx - 0x35], ah
pop edx
mov eax, 0x116298c3
push esp
ret 0xec64
jb 0x401199
rcl dword [edx + 0x13]
jb 0x40119a
push edx
adc esi, dword [edx + 0x61]
jns 0x401177
mov dh, 0x28
push esp
jle 0x4010dc
add eax, 0x25ff05a8
sub al, 0x52
dec ecx
add byte [edi], ch
pop es
sub byte [esi + 0x7e], bh
jle 0x4011ce
and al, 0x20
sbb al, 0x18
jle 0x4011d4
jle 0x4011d6
adc al, 0x10
or al, 8
jle 0x4011dd
jle 0x401165
add byte [eax - 4], al
push ecx
nop dword [edi]
aas
clc
hlt
iretd
iretd
mov al, 0x51
push ecx
jl 0x401199
cld
clc
lodsb al, byte [esi]
test al, 0x60
push edx
aas
jle 0x401225
pop esp
pop eax
movsb byte es:[edi], byte [esi]
push ecx
mov al, byte [0x3b013806]
pushfd
push ebx
add esp, 0xffffffbc
mov ebx, 0xe854830a
out 0, al
add dh, bh
div byte [eax + 0x2c3dc001]
add dword [ebp + eax + 0xf], esi
mov bh, 0x5c
and al, 0x30
mov eax, ebx
sbb eax, dword [ebx + ebx*2 - 0x3d]
sub esi, ebx
jecxz 0x40124e
ret
jecxz 0x40124e
jecxz 0x40124e
cwde
pop es
xchg esp, eax
nop
invalid
mov byte [eax + eax*4 + 0x2c00b07c], al
mov al, 0x53
push esi
mov esi, 0x830845e4
add byte ds:[ebp + 0x3a], dh
push 0x6a6b0644
add byte [eax + ebx*2], bl
mov eax, 0x8bb3036c
enter 0xffffffffffffc985, 0x75
add eax, 0x645ec033
mov eax, dword [0x8920e0]
add byte [eax + 0xd890116], al
pop es
xor edx, edx
mov eax, edx
add eax, eax
lea eax, [ecx + eax*8 + 4]
mov ebx, dword [esi]
mov dword [eax], ebx
mov dword [esi], eax
inc edx
cmp edx, 0x64
jne 0x4012a4
popal
jno 0x401231
in al, dx
mov eax, dword [esi]
mov edx, dword [eax]
mov dword [esi], edx
sub edx, dword [eax + 0x4402989]
xchg edi, eax
push edi
add byte [edi - 0x30], bl
add cl, byte [ebx + 0x4ad88bf2]
test eax, eax
dec eax
mov edx, dword [esi]
mov dword [eax + 8], edx
mov edx, dword [esi + 0x58]
sub al, 0x16
pop eax
add al, 5
or al, 0x8b
adc ecx, dword [ecx + 0x42095830]
add al, byte [ebx]
lds eax, [edx]
push ss
sub eax, 0x501b01b0
push eax
or byte [ecx + 0x651890a], cl
adc eax, 0xa7168b00
nop
push ds
mov dword [0x5747c306], eax
push ebp
push ecx
mov esi, ecx
mov ebx, ecx
rol edx, cl
add dl, byte [esp]
mov ebp, eax
mov ebx, dword [ebp - 0x50]
add al, 0x24
imul ebp, dword [0x99e4789], 0x3b8b02c0
mov eax, dword [ebx + 0x4f]
rol byte [ebx], 1
push ebx
or al, 0x3b
push ss
jne 0x4012b9
adc al, 0x12
insd dword es:[edi], dx
popal
adc ch, byte [ebp + 0x61]
add edi, esp
add al, 0x7b
adc dl, byte [ebp + 0x46010c04]
add al, 0xeb
daa
push ss
add eax, dword [eax]
fstp qword [edx + 0x60]
cmp eax, edx
jne 0x4012ce
sbb al, 0x17
mov ebx, edi
cmp ebp, ebx
jne 0x40128b
cmp bh, al
inc edx
or ecx, dword [ebx + 0x14c58bd6]
dec ebx
salc
mov eax, ebp
adc al, 0x4b
test byte [edi + 0x625a3404], bl
jmp 0x5f9d416c