Function at 0x4956b2
Capabilities:
Packed with generic packer

Disassembly:
add byte [esi + 0x40], dl
add al, 0x53
add byte [eax], al
add al, byte [eax]
or bh, byte [esi + ecx*4 + 0x20000]
or dword [ecx + 0x43], eax
outsd dx, dword [esi]
add byte [eax], al
popal
jb 0x495734
jb 0x4956d3
movsd dword es:[edi], dword [esi]
add byte [eax], al
cmp al, byte [eax]
mov al, byte [0x407d]
add byte [edx], bh
add byte [eax + 0x407d], ah
add byte [edx + 0x65], dh
popal
je 0x495746
outsb dx, byte [esi]
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [edx], al
add byte [eax], al
xchg esi, eax
inc eax
add byte [eax], al
add ch, ch
add byte [ebp + 0x6c], ah
add al, byte [eax]
or byte [eax + 0x2000000], bh
add byte [edx], cl
inc ebx
out 0, eax
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add byte [eax], al
add al, byte [eax]
daa
add byte [eax], dh
or byte [eax], al
add byte [edi], al
inc esp
jae 0x49578d
jb 0x49571b
add byte [ebx], al
add byte [eax], al
add byte [eax], al
xchg ebp, eax
add byte [eax], al
add dword [eax], ecx
dec eax
xchg esi, eax
inc eax
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
test al, 0
add al, byte [eax]
xor al, byte [eax]
pushal
jle 0x49577a
add byte [edx], dh
add byte [eax + 0x7e], ah
inc eax
add byte [eax], al
inc ecx
add eax, dword fs:[eax]
mov ebx, 0x8004700
add byte [edx], al
or byte [eax], cl
add byte [eax], al
add byte [eax], al
add al, 0x53
pop ebp
add byte [esi + 2], ah
add byte [edx], al
invalid
add byte [eax], al
or byte [ecx + 0x64], al
push edx
jno 0x495783
add eax, dword gs:[bx + si]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add cl, byte [eax]
dec eax
xchg esi, eax
bound eax, qword [eax]
add byte [eax], al
add al, 0x53
insb byte es:[edi], dx
add byte [eax], al
or dl, byte [eax]
mov eax, dword [eax]
salc
add byte [edx], cl
inc ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[eax], ax
add byte [edi + 0x6e], ch
add al, byte [eax]
add ch, byte [eax + eax + 0x407ebc00]
add byte [eax], cl
inc ecx
add byte [eax], al
push edx
popal
outsb dx, byte [esi]
pop es
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [edx], al
add byte [eax], al
xchg esi, eax
inc eax
add byte [eax], al
add byte [ecx + 0x666c6500], ah
add al, byte [eax]
or byte [eax + 0x1000000], bh
add byte [edx], cl
inc ebx
add al, byte [eax]
insb byte es:[edi], dx
arpl word gs:[ecx + ebp*2 + 0x6f], si
outsb dx, byte [esi]
add byte [eax], al
add al, byte [eax]
inc esp
add al, cl
xchg edi, eax
add byte [eax], al
push es
dec ecx
outsb dx, byte [esi]
jae 0x49585e
jb 0x4957fb
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 3
or byte [eax - 0x6a], cl
inc eax
add byte [eax], al
add byte [eax], al
push ebx
insb byte es:[edi], dx
add dh, byte [esi]
add al, 0xba
inc edi
add byte [ecx], al
add byte [0x65640000], al
js 0x495822
add byte [edi + 0x47bb00], dl
add al, byte [eax]
add byte [ebx + 0x20047], bh
add eax, 0x75000056
add al, byte gs:[eax]
add ch, byte [edx + 0x7f500000]
inc eax
add byte [ebx], cl
dec ecx
add byte [eax], al
jb 0x4958b3
push edx
popal
rol dword [eax], 1
dec esi
add byte [eax], dh
add byte [eax], 0
add byte [esi + 0x73], ch
jb 0x4958c5
push 0
outsb dx, byte [esi]
add eax, dword gs:[bx + si]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add ecx, dword [eax]
dec eax
daa
add byte [eax], al
add byte [eax], al
add al, 0x53
insb byte es:[edi], dx
add byte [eax], al
add byte [eax], al
add al, 0xba
inc edi
or eax, 0x49050000
outsb dx, byte [esi]
js 0x49587b
add byte [edx], cl
adc byte [ebx + 0x120040], cl
or al, byte [ebx + 0x6f]
insb byte es:[edi], dx
insb byte es:[edi], dx
arpl word gs:[eax], ax
add byte [edi + 0x6e], ch
add al, byte [eax]
add ah, byte [edx]
add byte [eax], al
mov ah, pe_nt_image_headers32
inc eax
add byte [ebx], cl
dec ecx
add byte [eax], al
jb 0x495913
push edx
popal
mov ecx, 0x36500
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ecx, dword [eax]
dec eax
xchg esi, eax
inc eax
lodsb al, byte [esi]
add byte [eax], al
add al, 0x53
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [edx + edi*4], al
inc edi
add byte [ecx], al
add al, 0
dec ecx
outsb dx, byte [esi]
js 0x4958cb
add byte [eax], al
add byte [esi + 0x40], dh
add byte [edx], al
add byte [edi + 0x6c6c6f00], ch
arpl word gs:[ecx + ebp*2], si
add byte [edx], al
add byte [edx], al
add byte [0x4081006d], dh
add byte [esi], al
push edx
insd dword es:[edi], dx
add byte [eax], al
add eax, dword gs:[eax]
add al, 0xba
scasb al, byte es:[edi]
add byte [eax], cl
add byte [edx], al
or byte [eax - 0x6a], cl
inc eax
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
out dx, al
add byte [eax], al
add dh, al
mov ebx, 0x10047
add byte [esi + 0x61], dl
insb byte es:[edi], dx
jne 0x495976
je 0x495913
add byte [edx], al
add byte [0x40817800], dh
add al, byte [eax]
xor eax, 0x40817800
add byte [eax], al
inc esp
insb byte es:[edi], dx
je 0x495912
add byte [eax], al
add byte [eax], al
add byte [eax], al
or byte [eax], al
add byte [eax], al
dec eax
xchg esi, eax
inc eax
add byte [eax], al
stosb byte es:[edi], al
add byte [ebx + 0x65], dl
insb byte es:[edi], dx
add al, byte [eax]
add byte [eax], al
add byte [edi], al
add dword [eax], eax
add eax, 0x656400f6
js 0x495949
add byte [edx], al
add byte [eax], al
add byte [eax + 0xb004081], al
jl 0x495953
insb byte es:[edi], dx
je 0x4959bc
push edx
popal
outsb dx, byte [esi]
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
add byte [ecx + 0x8030000], dh
dec eax
xchg esi, eax
inc eax
add byte [eax], al
add byte [eax], al
add al, 0x53
insb byte es:[edi], dx
sldt word [eax]
add al, 0xba
inc edi
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0x6e], cl
js 0x495994
add byte [eax], al
add al, 0xba
inc edi
add byte [edx], al
add byte [eax], al
add byte [ebx + 0x6f], al
jne 0x4959fe
je 0x4959b2
add byte [edx], al
add byte [ecx], al
mov ah, 0x82
inc eax
add byte [eax], al
inc ebp
js 0x495a13
jb 0x495a02
mov ah, 0
add eax, dword [eax]
invalid
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add al, byte [eax]
add byte [eax], al
mov ebx, 0x10047
add dword [eax], eax
popal
insb byte es:[edi], dx
jne 0x495a2c
add al, byte [eax]
inc eax
add byte [eax], al
inc edi
add byte [edx], al
add byte [ecx], al
movsb byte es:[edi], byte [esi]
add byte [eax], al
add al, byte [eax]
dec eax
add al, dh
add byte [eax], 0
or byte [ebp + 0x78], al
arpl word [eax + 0xc], bp
add byte [edi + 0x65], ah
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ecx, dword [eax]
dec eax
xchg esi, eax
test eax, 0x4000000
push ebx
insb byte es:[edi], dx
add byte [eax], al
add byte [edx + edi*4], al
inc edi
add byte [ecx + 0x6e490600], cl
mov edx, 0x890047
push es
add byte [esi], al
dec ecx
outsb dx, byte [esi]
js 0x495a3b
add byte [eax], al
add byte [edx + edi*4], al
inc edi
add byte [eax + eax + 6], dh
push es
dec ecx
outsb dx, byte [esi]
js 0x495a4c
add byte [eax], al
add al, byte [eax]
dec eax
add byte [esi + edx], bl
add byte [ecx*2 + 0x365766f], al
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx + 0x40964800], ch
add byte [eax], al
add byte [eax + eax], al
add byte [esi + 2], ch
add byte [eax], al
mov ebx, 0x1004700
add byte [eax], cl
inc ebx
jne 0x495a4b
add byte [esi + 0x64], ch
js 0x495a53
outsb dx, byte [esi]
js 0x495a53
cmp byte [eax], al
add al, 0xba
inc edi
add byte [edx], al
add byte [eax], cl
add byte [eax], al
ja 0x495aa7
outsb dx, byte [esi]
leave
add byte [eax], al
add al, byte [eax]
xor byte [eax], al
cmp byte [eax + eax + 0x69460500], al
jb 0x495ae4
jns 0x495a73
add byte [eax], al
invalid
add al, dh
mov ebx, 0x80047
or byte [eax], al
add byte [eax], al
dec eax
xchg esi, eax
inc eax
add byte [eax], al
adc byte [eax], al
push ebx
insb byte es:[edi], dx
add al, byte [eax]
inc eax
add byte [eax], al
inc edi
add byte [ecx], al
add byte [ecx], al
and eax, dword [eax]
add byte [edx], al
add byte [edi], ch
add byte [esp + eax*4], cl
add byte [esp + ecx*2], al
popal
jae 0x495b15
aam 0
invalid
or byte [eax], al
add al, byte [eax]
add byte [esi + 0x40], dl
test al, 0
insb byte es:[edi], dx
add al, byte [eax]
inc eax
lock add byte [eax], al
add byte [ecx], al
add byte [ecx], al
add dword [esi], eax
add byte [edx], al
add byte [0x40846400], ah
add byte [eax], al
inc ebx
insb byte es:[edi], dx
popal
jb 0x495a78
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
add byte [eax], al
xchg esi, eax
inc eax
add byte [eax], al
add byte [ecx], ch
insb byte es:[edi], dx
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
jl 0x495a72
inc eax
add byte [eax], cl
stosb byte es:[edi], al
add byte [esi + 0x74], ch
popal
imul ebp, dword [esi + 0x73], 0xb9000003
inc edi
add byte [eax], cl
add byte [edx + 0x40964800], cl
add byte [eax], al
add byte [eax + eax], al
add byte [esi + 2], ch
add byte [edx], al
xchg byte [eax], al
inc edi
add byte [ecx], al
add byte [0x6156], al
add dword [eax], eax
add eax, 0x6156
add al, byte gs:[eax]
add al, byte [eax]
mov dword [0x40849400], eax
add byte [edi], al
pop es
dec ecx
outsb dx, byte [esi]
add byte [eax], al
js 0x495b7d
add ax, word [eax]
scasb al, byte es:[edi]
add byte [edi], al
or byte [eax], al
add cl, byte [eax]
dec eax
add byte [eax], al
add byte [eax], al
add byte [ebx + edx*2], al
fiadd dword [eax]
add al, byte [eax]
add dh, al
mov ebx, 0x47
add eax, 0x4d6c6156
add byte [edx], al
add byte [edx], al
add byte [edx], bh
add al, dl
add byte [eax], al
add byte [ebx], cl
dec esp
popal
jae 0x495b27
add byte [esi + 0x64], ch
js 0x495bb7
add ax, word [eax]
add byte [edx + 0x80047], bh
str word [eax - 0x6a]
inc eax
add byte [eax], al
add byte [eax + eax], al
add byte [esi + 2], ch
add byte [edx], al
loopne 0x495b83
add al, byte [eax]
add ah, al
add byte [edi], al
add dword [eax], eax
add eax, 0x6156
inc edi
add byte [ecx], al
add byte [0x6156], al
add al, byte gs:[eax]
add al, byte [eax]
add eax, 0x40850800
add byte [edi], al
push edx
add byte gs:[eax], al
jb 0x495c11
add eax, dword gs:[eax]
xlatb
add byte [eax], al
add byte [eax], cl
add byte [ecx], al
or byte [eax], cl
add byte [eax], al
add byte [eax], al
add al, 0x53
leave
add byte [esi + 2], ah
add byte [edx], al
add byte [eax + eax], ah
add byte [eax], al
inc eax
add byte [ebx + edx*2], al
outsd dx, dword [esi]
jbe 0x495bc3
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add byte [eax], cl
dec eax
xchg esi, eax
inc eax
add byte [ebp + 0x65530400], ah
insb byte es:[edi], dx
add al, byte [eax]
add byte [eax], al
aaa
add byte [ebp + eax*4 + 0x53006d40], ch
outsd dx, dword [esi]
jb 0x495c5b
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
mov eax, dword [0x4000]
add byte [ebx + edx*2], al
add byte gs:[eax], al
add al, byte [eax]
or bh, byte [edx + ecx*4 + 0x100c8]
or dword [ecx + 0x43], eax
outsd dx, dword [esi]
insd dword es:[edi], dx
add byte [eax], al
jb 0x495c73
jb 0x495c12
add byte [eax + eax + 0x49], dh
je 0x495c13
add byte [ecx], cl
fadd dword [ebp + 0xc0040]
dec ecx
add al, bl
test dword [eax], eax
or al, 0
add byte [esi + 0x61], ch
jb 0x495c99
push ebx
lock add byte [edx + 0x63], dh
push 0xb9680003
add byte [eax], al
or byte [eax], al
add ecx, dword [eax]
dec eax
cmp al, 0
add byte [eax], al
add byte [ebx + edx*2], al
insb byte es:[edi], dx
add byte [eax], al
add byte [edx], al
invalid
add byte [eax + eax + 0x10], bl
xchg byte [eax - 0x4f], al
add byte [edx + 0x69], al
outsb dx, byte [esi]
popal
jb 0x495ce2
push ebx
add byte [eax], al
jb 0x495cd1
push 0x650003
inc edi
add byte [eax + eax], cl
add al, 8
dec eax
add byte [eax], al
add byte [eax], al
add byte [ebx + edx*2], al
jne 0x495c83
add al, byte [eax]
add dh, al
mov ebx, 0x47
add al, 0x49
je 0x495cf6
dec edi
add byte [eax], al
and byte [edx + edi*4], al
inc edi
add byte [edx], al
add byte [eax], al
dec ecx
outsb dx, byte [esi]
add al, byte [eax]
add byte [ecx + 0x6e], cl
js 0x495c77
add byte [edx], cl
mov esp, 0x800408a
add byte [eax], al
add byte [ebx + 0x6f], al
insd dword es:[edi], dx
jo 0x495d12
fiadd word [eax]
jb 0x495cb7
add byte [edx], al
add byte [edx], ch
add byte [eax], al
add byte [eax], al
or byte [eax], al
add cl, byte [eax]
add byte [eax], al
inc eax
add byte [eax], al
add byte [ebx + ebx*8], al
add byte [eax], al
sub eax, 0x4086e800
invalid
invalid
inc eax