Function at 0x4319a8
Capabilities:
Packed with generic packer

Disassembly:
imul esi, dword [ebx + 0x74], 0x756c6f43
insd dword es:[edi], dx
outsb dx, byte [esi]
add dword [eax], ecx
inc ebx
insb byte es:[edi], dx
insb byte es:[edi], dx
inc esp
popal
je 0x431a1c
push es
jae 0x431a32
jb 0x431a29
outsb dx, byte [esi]
add byte [si + 0x12], al
inc eax
add byte [ebx + ebx*8 + 0x57], cl
add byte [ebx + esi*8], al
push edi
add byte [ecx + edx - 0x276fffc0], bl
sbb dword [esi], esp
or byte [eax], bl
push esp
pop eax
push eax
push esp
jb 0x431a45
dec esp
imul esi, dword [ebx + 0x74], 0x74697257
inc ebx
insb byte es:[edi], dx
insb byte es:[edi], dx
inc esp
popal
je 0x431a53
add byte [eax + ecx], al
push es
push ebx
outsb dx, byte gs:[esi]
jb 0x431a04
push esp
dec edi
bound ebp, qword [edx + 0x65]
arpl word [eax + ecx + 5], si
inc ecx
dec esi
outsd dx, dword [esi]
andps xmm4, xmmword gs:[eax + edi*2 + 0x54]
or byte [0x646f4e41], al
andps xmm4, xmmword gs:[eax + edi*2 + 0x54]
jb 0x431a77
dec esp
imul esi, dword [ebx + 0x74], 0x65646f4e
or byte [edi], al
pop es
inc ecx
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
jne 0x431a90
outsb dx, byte [esi]
adc dword [esp + 0x78], edx
push esp
jb 0x431a90
dec esp
imul esi, dword [ebx + 0x74], 0x756c6f43
insd dword es:[edi], dx
insb byte es:[edi], dx
jne 0x431aa2
outsb dx, byte [esi]
add byte [eax], cl
inc ebx
insb byte es:[edi], dx
insb byte es:[edi], dx
inc esp
popal
je 0x431aa1
push es
jae 0x431ab7
jb 0x431aae
outsb dx, byte [esi]
add byte [si + 0x12], al
inc eax
add byte [ebx + ebx*8 + 0x57], cl
add byte [ebx + esi*8], al
push edi
add byte [ecx + edx + 0x1a5c0040], bl
add byte [eax], cl
sbb eax, 0x54505854
jb 0x431ac9
dec esp
imul esi, dword [ebx + 0x74], 0x446e6143
insb byte es:[edi], dx
je 0x431ad7
push ebx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
je 0x431ae2
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [edx], al
or byte [esi], al
push ebx
outsb dx, byte gs:[esi]
jb 0x431a8d
push esp
dec edi
bound ebp, qword [edx + 0x65]
arpl word [ecx + eax + 5], si
inc ecx
add dword [0x6f6c6c41], eax
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x431a9c
inc edx
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
popal
outsb dx, byte [esi]
add byte [edx + edx + 0x40], al
add byte [eax], al
add byte [eax], dl
inc eax
add byte [ebp + 0x1aac0040], cl
add byte [eax], cl
and byte [eax + ebx*2 + 0x50], dl
adc byte [eax], al
lea eax, [eax]
lodsb al, byte [esi]
sbb ah, byte [esi]
or byte [eax], ah
push esp
pop eax
push eax
push esp
jb 0x431b19
dec esp
imul esi, dword [ebx + 0x74], 0x4f6e6143
jae 0x431b2d
inc ebx
popal
outsb dx, byte [esi]
dec edi
jbe 0x431b24
jb 0x431b38
jb 0x431b2c
je 0x431b2a
push ebx
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
arpl word [ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add byte [edx], al
or byte [esi], al
push ebx
outsb dx, byte gs:[esi]
jb 0x431ae0
jb 0x431ae0
push esp
dec edi
bound ebp, qword [edx + 0x65]
arpl word [ecx + eax + 5], si
add dword [0x6f6c6c41], eax
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x431aef
inc edx
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
popal
outsb dx, byte [esi]
add byte [edx + edx + 0x40], al
add byte [eax], al
adc byte [eax], al
cld
sbb ah, byte [esi]
or byte [ebx], bl
push esp
pop eax
push eax
push esp
jb 0x431b69
dec esp
imul esi, dword [ebx + 0x74], 0x74696445
inc ecx
outsb dx, byte [esi]
inc ebx
push 0x65676e61
add byte fs:[edx], al
add byte [edx], al
or byte [esi], al
push ebx
outsb dx, byte gs:[esi]
jb 0x431b2b
push esp
dec edi
bound ebp, qword [edx + 0x65]
arpl word [eax + ecx + 4], si
je 0x431b34
or byte [esi + ecx*2], al
add al, 0x4e
dec esi
outsd dx, dword [esi]
andps xmm4, xmmword gs:[eax + edi*2 + 0x54]
js 0x431b8a
jb 0x431b9d
dec esp
imul esi, dword [ebx + 0x74], 0x65646f4e
add byte [edx + edx + 0x40], al
add byte [ebx + ebx*8 + 0x57], cl
add byte [ebx + 0x661b50c0], cl
add byte [eax], cl
push ds
push esp
pop eax
push eax
push ebp
jo 0x431bbc
popal
je 0x431bc0
dec esi
outsd dx, dword [esi]
inc esi
jb 0x431bd1
insd dword es:[edi], dx
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
jne 0x431bd5
outsb dx, byte [esi]
push ebx
je 0x431bde
imul ebp, dword [esi + 0x67], 0x8040073
push es
push ebx
outsb dx, byte gs:[esi]
jb 0x431b82
push esp
dec edi
bound ebp, qword [edx + 0x65]
arpl word [eax + ecx + 4], si
dec esi
or byte [esi + ecx*2], al
outsd dx, dword [esi]
andps xmm4, xmmword gs:[eax + edi*2 + 0x54]
js 0x431be1
jb 0x431bf4
dec esp
imul esi, dword [ebx + 0x74], 0x65646f4e
or byte [ebx], cl
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
jne 0x431c0c
outsb dx, byte [esi]
dec ecx
je 0x431c08
insd dword es:[edi], dx
jae 0x431bae
push esp
push ebx
je 0x431c1c
imul ebp, dword [esi + 0x67], 0x54180073
add byte [eax], bl
push esp
popal
jb 0x431c1b
je 0x431bfa
outsd dx, dword [esi]
insb byte es:[edi], dx
jne 0x431c28
outsb dx, byte [esi]
push esi
imul esi, dword [ebx + 0x69], 0x49656c62
bound ebp, qword [ebp + 0x49]
outsb dx, byte [esi]
js 0x431bd0
dec ecx
outsb dx, byte [esi]
je 0x431c32
jb 0x431bd1
add byte [edx + edx + 0x40], al
add byte [ebx + ebx*8 + 0x57], cl
add byte [eax + 0x29], ah
inc edx
add byte [eax + edx + 0x408d0040], al
add byte [eax], dh
sbb al, 0x66
inc esp
adc al, byte [eax]
dec esp
fist dword [edi]
pushal
sub dword [edx], eax
test byte [eax], dl
inc eax
add byte [ebp + 0x1c300040], cl
add byte [eax], al
adc byte [eax], al
lea eax, [eax]
xor byte [esi], bl
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 + 0x458bfc45], cl
cld
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x2ac], 0
lodsb al, byte [esi]
add al, byte [eax]
add byte [eax], al
add byte [edi + ebx - 0x76], dh
adc eax, 0x620c34
je 0x431c2e
mov dl, byte [0x620c34]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2ac]
add al, byte [eax]
add al, ch
movsd dword es:[edi], dword [esi]
jno 0x431c21
add byte [eax], al
call 0x428dc8
mov eax, dword [ebp - 4]
xor edx, edx
invalid
dec dword [ebx - 0x2dcc03bb]
mov dword [eax + 0x2ac], edx
pop ecx
pop ebp
ret
add byte [eax], al
and byte [eax], al
add byte [eax], al