Function at 0x4ad152
Capabilities:
Packed with generic packer

Disassembly:
add byte [ebx + 0x65], dl
insb byte es:[edi], dx
add al, byte [eax]
add al, byte [eax]
add byte [eax], al
or al, 0x7d
inc eax
add cl, dl
add byte [edx + 0x65], dh
popal
je 0x4ad1cd
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
or byte [eax], al
add ah, byte [eax + eax + 0x4096]
add byte [ebx + edx*2], al
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 0x4ad1f4
jb 0x4ad193
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 0x4ad206
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 [edi], ah
add byte [eax], dh
or byte [eax], al
add byte [edi], al
inc esp
jae 0x4ad24d
jb 0x4ad1db
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 0x4ad23a
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 0x4ad243
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 0x4ad31e
jb 0x4ad2bb
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 0x4ad2e2
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 0x4ad373
push edx
popal
rol dword [eax], 1
dec esi
add byte [eax], dh
add byte [eax], 0
add byte [esi + 0x73], ch
jb 0x4ad385
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 0x4ad33b
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 0x4ad3d3
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 0x4ad38b
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 0x4ad436
je 0x4ad3d3
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 0x4ad3d2
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 0x4ad409
add byte [edx], al
add byte [eax], al
add byte [eax + 0xb004081], al
jl 0x4ad413
insb byte es:[edi], dx
je 0x4ad47c
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 [ebx + edx*2], al
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 0x4ad454
add byte [eax], al
add al, 0xba
inc edi
add byte [edx], al
add byte [eax], al
add byte [ebx + 0x6f], al
jne 0x4ad4be
je 0x4ad472
add byte [edx], al
add byte [ecx], al
mov ah, 0x82
inc eax
add byte [eax], al
inc ebp
js 0x4ad4d3
jb 0x4ad4c2
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 0x4ad4ec
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 0x4ad4fb
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 0x4ad50c
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 0x4ad50b
add byte [esi + 0x64], ch
js 0x4ad513
outsb dx, byte [esi]
js 0x4ad513
cmp byte [eax], al
add al, 0xba
inc edi
add byte [edx], al
add byte [eax], cl
add byte [eax], al
ja 0x4ad567
outsb dx, byte [esi]
leave
add byte [eax], al
add al, byte [eax]
xor byte [eax], al
cmp byte [eax + eax + 0x69460500], al
jb 0x4ad5a4
jns 0x4ad533
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 0x4ad5d5
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 0x4ad538
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 0x4ad532
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 0x4ad63d
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 0x4ad5e7
add byte [esi + 0x64], ch
js 0x4ad677
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 0x4ad643
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 0x4ad6d1
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 0x4ad683
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 0x4ad71b
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 0x4ad733
jb 0x4ad6d2
add byte [eax + eax + 0x49], dh
je 0x4ad6d3
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 0x4ad759
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 0x4ad7a2
push ebx
add byte [eax], al
jb 0x4ad791
push 0x650003
inc edi
add byte [eax + eax], cl
add al, byte [eax]
add byte [ecx + 0x6e], cl