Function at 0x405d24
Capabilities:
Packed with generic packer

Disassembly:
ja 0x405d9d
ja 0x405d5c
outsd dx, dword cs:[esi]
jb 0x405d94
das
xor dword [ecx], edi
cmp dword [ecx], edi
das
xor byte [edx], dh
das
xor dh, byte [edx]
sub eax, 0x2d666472
jae 0x405db8
outsb dx, byte [esi]
je 0x405da3
js 0x405d71
outsb dx, byte [esi]
jae 0x405d6a
and bh, byte [esi]
and byte [edx + esi*2], bh
cmp al, byte fs:[ebp + 0x73]
arpl word [edx + 0x69], si
jo 0x405dcb
imul ebp, dword [edi + 0x6e], 0x66647220
cmp ah, byte [ecx + 0x62]
cmp ah, byte fs:[ecx + 0x62]
outsd dx, dword [esi]
jne 0x405dd8
cmp eax, 0x78202222
insd dword es:[edi], dx
insb byte es:[edi], dx
outsb dx, byte [esi]
jae 0x405da8
js 0x405ddd
jo 0x405dbf
dec ebp
dec ebp
cmp eax, 0x74746822
jo 0x405db4
das
das
outsb dx, byte [esi]
jae 0x405dad
popal
outsd dx, dword fs:[esi]
bound esp, qword [ebp + 0x2e]
arpl word [edi + 0x6d], bp
das
js 0x405dec
jo 0x405dbc
xor dword [esi], ebp
xor byte [edi], ch
insd dword es:[edi], dx
insd dword es:[edi], dx
das
and ah, byte [eax]
js 0x405e05
insb byte es:[edi], dx
outsb dx, byte [esi]
jae 0x405dd6
jae 0x405e12
je 0x405df1
push edx
cmp ax, 0x6822
je 0x405e1a
push 0x3a707474
jo 0x405de2
das
das
outsb dx, byte [esi]
jae 0x405ddb
popal
outsd dx, dword fs:[esi]
bound esp, qword [ebp + 0x2e]
arpl word [edi + 0x6d], bp
outsd dx, dword [esi]
insd dword es:[edi], dx
das
js 0x405e1a
popal
jo 0x405dea
xor dword [esi], ebp
xor byte [edi], ch
xor byte cs:[edi], ch
jae 0x405e15
jns 0x405e33
das
push edx
jae 0x405e38
jne 0x405e3d
arpl word [ebp + 0x52], sp
and sp, word gs:[edx]
and byte [eax + 0x6d], bh
insb byte es:[edi], dx
outsb dx, byte [esi]
jae 0x405e13
cmp bh, byte [eax + 0x6d]
js 0x405e48
jo 0x405e1a
and ch, byte [eax + 0x74]
je 0x405e52
cmp ch, byte [edi]
das
outsb dx, byte [esi]
jae 0x405e16
popal
outsd dx, dword fs:[esi]
outsd dx, dword [esi]
bound esp, qword [ebp + 0x2e]
arpl word [edi + 0x6d], bp
arpl word cs:[edi + 0x6d], bp
das
js 0x405e55
jo 0x405e25
xor dword [esi], ebp
xor byte [edi], ch
and ah, byte [eax]
js 0x405e6b
jo 0x405e4d
dec ebp
cmp cl, byte [edi + 0x72]
imul esp, dword [edi + 0x69], 0x446c616e
outsd dx, dword [esi]
arpl word [ebp + 0x6d], si
imul ebp, dword [bp + 0x61], 0x636f446c
jne 0x405e7c
outsb dx, byte gs:[esi]
je 0x405e5c
dec ecx
inc esp
cmp eax, 0x706d7822
imul esp, dword fs:[edx + edi + 0x32], 0x44314638
and bh, byte [eax + 0x6d]
js 0x405e85
jo 0x405e48
imul esp, dword fs:[edx + edi + 0x32], 0x44314638
xor byte [ecx], dh
aaa
cmp byte [ecx], bh
xor byte [edx + 0x45], al
xor dword [ecx], esi
xor dword [ecx + 0x45], eax
cmp dword [eax], edi
cmp byte [ecx], dh
aaa
xor dword [edi], esi
inc ebx
inc ebp
xor dword [ebp + 0x42], eax
inc ebp
inc edx
inc ecx
inc esi
cmp byte [ecx], dh
and ah, byte [eax]
js 0x405eaf
xor dword [edx], esp
and byte [eax + 0x6d], bh
jo 0x405e91
dec ebp
cmp al, byte [edi + ebp*2 + 0x63]
jne 0x405eb8
arpl word [ebp + 0x6d], si
outsb dx, byte gs:[esi]
je 0x405e98
inc esp
cmp eax, 0x706d7822
js 0x405ec1
jo 0x405e84
imul esp, dword fs:[edx + edi + 0x30], 0x44353346
imul esp, dword fs:[edx + edi + 0x30], 0x44353346
xor esi, dword [0x33443644]
xor byte [esi + 0x33], al
aaa
inc esp
xor esi, dword [eax]
inc esi
xor esi, dword [edi]
xor dword [ecx], esi
inc ebp
xor dword [edx + 0x46], eax
inc esi
inc esp
inc ecx
cmp byte [edx + 0x36], al
xor eax, 0x43383545
xor eax, dword [ebx + 0x43]
inc ecx
and ah, byte [eax]
js 0x405eeb
jo 0x405ecd
dec ebp
cmp cl, byte [ecx + 0x6e]
jae 0x405efa
je 0x405ee8
popal
outsb dx, byte [esi]
arpl word [ebp + 0x49], sp
inc esp
cmp eax, 0x706d7822
imul ebp, dword cs:[ecx + 0x64], 0x3346303a
xor eax, 0x32443644
xor esi, dword [0x32443644]
xor byte [esi + 0x33], al
aaa
xor dword [ecx], esi
inc ebp
xor dword [edx + 0x46], eax
inc esp
inc ecx
cmp byte [edx + 0x36], al
xor eax, 0x43383545
xor eax, dword [ebx + 0x43]
xor eax, 0x43334338
inc ebx
inc ecx
and ah, byte [eax]
js 0x405f27
jo 0x405ef6
inc ebx
jb 0x405f24
popal
je 0x405f31
outsd dx, dword [esi]
jb 0x405f18
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
cmp eax, 0x6f644122
bound esp, qword [ebp + 0x20]
push eax
push 0x736f746f
push 0x4320706f
and byte gs:[eax + 0x68], dl
outsd dx, dword [esi]
je 0x405f43
jae 0x405f3e
outsd dx, dword [esi]
jo 0x405ef9
inc ebx
push ebx
xor eax, 0x6e695720
outsd dx, dword fs:[esi]
ja 0x405f57
and bh, byte [esi]
and byte [eax + edi*2], bh
insd dword es:[edi], dx
js 0x405f57
jo 0x405f39
dec ebp
dec ebp
cmp al, byte [ebp + 0x72]
imul esi, dword [esi + 0x65], 0x6f724664
jb 0x405f67
insd dword es:[edi], dx
and byte [ebx + 0x74], dh
jae 0x405f70
push edx
cmp ch, byte gs:[ecx + 0x6e]
jae 0x405f78
popal
outsb dx, byte [esi]
arpl word [ebp + 0x49], sp
inc esp
cmp eax, 0x706d7822
imul ebp, dword cs:[ecx + 0x64], 0x3032303a
inc ecx
inc ecx
xor eax, dword [ebp + 0x36]
xor esi, dword [esi]
xor byte [esi + 0x45], al
xor dword [ecx], esi
xor dword [ecx], edi
xor eax, 0x35433832
cmp dword [0x35433832], esi
cmp byte [ebx + 0x35], al
inc esp
inc ecx
cmp dword [eax], esi
xor byte [ecx + 0x39], al
inc esi
xor al, 0x46
and ah, byte [eax]
jae 0x405fac
push edx
cmp ah, byte gs:[edi + ebp*2 + 0x63]
jne 0x405fae
arpl word [ebp + 0x6d], si
outsb dx, byte gs:[esi]
je 0x405f8e
inc esp
cmp eax, 0x706d7822
imul esp, dword fs:[edx + edi + 0x32], 0x44314638
and bh, byte [eax + 0x6d]
jo 0x405f7a
imul esp, dword fs:[edx + edi + 0x32], 0x44314638
xor byte [ecx], dh
aaa
cmp byte [ecx], bh
xor byte [edx + 0x45], al
xor dword [ecx], esi
xor dword [ecx + 0x45], eax
cmp dword [eax], edi
cmp byte [ecx], dh
aaa
inc ebx
inc ebp
xor dword [ebp + 0x42], eax
inc ecx
inc esi
cmp byte [ecx], dh
and ch, byte [edi]
and byte ds:[edi + ebp], bh
jb 0x405fdc
cmp al, byte [ebp + 0x73]
arpl word [edx + 0x69], si
inc esp
jae 0x405fe1
jb 0x405fe9
jo 0x405ff6
imul ebp, dword [edi + 0x6e], 0x2f3c203e
jb 0x405fef
cmp dl, byte [edx + 0x44]
inc esp
inc esi
and byte ds:[edi + ebp], bh
js 0x405fd0
js 0x406005
jo 0x406007
je 0x405ffe
and byte ds:[edi + edi], bh
js 0x406013
popal
arpl word [ebx + 0x65], bp
je 0x405fc9
outsb dx, byte gs:[esi]
cmp eax, 0x3f227222
cmp eax, 0x3f227222
jb 0x405fd2
aas
pop ds
mov eax, 0xf6ab
add dl, ch
dec ecx
inc esp
inc ecx
push esp
js 0x405f9a
insb byte es:[edi], dx
rcl ecx, 1
jno 0x405f47
inc eax
adc byte [eax - 0x6b0f7a1f], al
test eax, esi
xchg esp, eax
mov bh, 0x4b
pop es
fiadd dword [edx - 0x6ef8b7d3]
sub byte [0x12910748], 0x48
or dword [esi + 0x4a412d04], esp
dec eax
pop es
xchg ecx, eax
adc cl, byte [eax + 9]
cmpsb byte [esi], byte es:[edi]
add al, 0x2d
inc ecx
dec edx
nop
adc ah, byte [esp + eax - 0x43287e98]
shl dword [ebx + 0x42], 0x46
push 0xc1bcd781
arpl word [edx + 0x46], ax
cmp edi, edi
cmp eax, 0x93321cf7
xchg ebx, eax
popfd
stc
invalid
fild dword [ebx - 0x73b4403c]
cmp eax, 0x6f2dac4a
invalid
lodsb al, byte [esi]
sub eax, 0x4e89f06f
push 0x2f
das
test eax, 0x8f608abf
add ebp, dword [edx]
and al, 0x78
mov edi, 0x38f608a
sub ah, byte [eax + edi*2]
mov bl, 0xf9
or ebx, dword [esi + ebp*8 + 0x5026674a]
out dx, al
dec edx
push eax
mov byte [0x11f2d1c7], al
adc eax, 0xba7fe9c
mov bl, 0xf9
aaa
sbb al, 0xa3
mov ebx, 0x2e1bf946
push cs
pop esi
inc edx
lds ecx, [ecx + 0x5834930a]
mov dword [0x3c6c5cb4], eax
mov byte [0xc29c547a], al
cmpsb byte [esi], byte es:[edi]
add dl, byte [edi]
pushfd
mov al, 0xc5
invalid