Function at 0x40e538
Capabilities:
Packed with generic packer

Disassembly:
pop es
adc eax, 0x46786354
imul ebp, dword [esp + esi*2 + 0x65], 0x69724372
je 0x40e2c1
jb 0x40e2c7
popal
dec ecx
je 0x40e2c7
insd dword es:[edi], dx
fsubr st(1), st(0)
inc eax
add byte [eax + 0x40], bl
or byte [ebx + 0x78], ah
inc esi
imul ebp, dword [esp + esi*2 + 0x65], 0xe9000072
invalid
inc edi
jno 0x40e287
add byte [eax + 0x3fe99090], dl
jno 0x40e28f
add byte [eax + 0x37e99090], dl
jno 0x40e297
nop
add byte [eax - 0x1d6b6f70], dl
inc eax
nop
xchg esp, eax
loop 0x40e2d3
add byte [ebx], al
push ss
push esp
arpl word [eax + 0x46], di
imul ebp, dword [esp + esi*2 + 0x65], 0x6c615672
jne 0x40e309
dec ecx
je 0x40e30c
insd dword es:[edi], dx
dec ebx
imul ebp, dword [esi + 0x64], 1
add byte [edi], al
add byte [eax], al
add byte [eax + 0x60040e2], dl
jbe 0x40e326
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
or dword [esi + 0x76], esp
imul eax, dword [ebx + 0x75], 0x6d6f7473
jbe 0x40e32d
inc ebx
jne 0x40e33a
je 0x40e338
insd dword es:[edi], dx
or dword [esi + 0x76], esp
imul eax, dword [edx + 0x6c], 0x736b6e61
or al, 0x66
jbe 0x40e341
jae 0x40e2e1
jbe 0x40e341
dec esi
outsd dx, dword [esi]
outsb dx, byte [esi]
inc edx
insb byte es:[edi], dx
popal
outsb dx, byte [esi]
imul esi, dword [ebx + 7], 0x66
jbe 0x40e34e
pop es
jbe 0x40e34e
push ebp
jae 0x40e34d
jb 0x40e2f2
jbe 0x40e356
push esi
popal
insb byte es:[edi], dx
jne 0x40e357
push es
jbe 0x40e35f
dec ebp
push edx
push ebp
pcmpgtd mm6, qword [esi + 0x69]
dec ebp
push edx
push ebp
push ebx
jo 0x40e365
jb 0x40e367
je 0x40e377
jb 0x40e312
or byte [ebx + 0x78], ah
arpl word [eax + 0x46], di
inc esi
imul ebp, dword [esp + esi*2 + 0x65], 0x60909072
nop
nop
pushal
jecxz 0x40e357
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 [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
js 0x40e319
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x1d], bh
inc eax
add byte [eax], dl
add byte [eax], al
add byte [ecx + edi], cl
adc byte [eax], al
add byte [eax], al
or al, 0x39
dec esp
add byte [eax - 0x3bffb39e], bh
bound ecx, qword [eax + eax - 0x3c]
bound ecx, qword [eax + eax - 0x38]
bound ecx, qword [eax + eax - 0x34]
bound ecx, qword [eax + eax - 0x40]
dec esp
add al, al
bound ecx, qword [eax + eax + 8]
pushal
dec esp
add byte [eax], ah
dec esp
add byte [eax], bl
adc al, byte [ecx]
add ah, bl
adc eax, 0x11cc0041
adc dword [ecx], eax
dec esp
adc al, byte [ecx]
cwde
adc eax, dword [ecx]
clc
inc ecx
add byte [edx + edx + 0x41], cl
add byte [eax - 0x7ffbeed], bl
adc eax, dword [ecx]
push esp
adc eax, 0x54120041
add byte [edx], dl
push esp
arpl word [eax + 0x46], di
imul ebp, dword [esp + esi*2 + 0x65], 0x6c615672
jne 0x40e3ec
dec esp
imul esi, dword [ebx + 0x74], 0x40e39090
add byte [ebx], al
add edx, dword [edi]
push esp
arpl word [eax + 0x46], di
imul ebp, dword [esp + esi*2 + 0x65], 0x69724372
je 0x40e405
jb 0x40e40b
popal
dec edi
jo 0x40e41a
imul ebp, dword [edi + 0x6e], 1
add byte [eax + eax], al
add byte [eax], al
mov ebx, fs
inc eax
add byte [edx], dl
arpl word [edi + 0x43], bp
popal
jae 0x40e423
dec ecx
outsb dx, byte [esi]
jae 0x40e427
outsb dx, byte [esi]
jae 0x40e42e
je 0x40e430
jbe 0x40e42e
sbb ah, byte [esi + 0x63]
outsd dx, dword [esi]
push ebx
push 0x704f776f
jb 0x40e437
je 0x40e447
jb 0x40e41e
jae 0x40e440
jb 0x40e448
jo 0x40e455
imul ebp, dword [edi + 0x6e], 0x6f63660b
push ebx
outsd dx, dword [esi]
je 0x40e43b
dec esi
jne 0x40e45b
insb byte es:[edi], dx
push cs
arpl word [edi + 0x53], bp
outsd dx, dword [esi]
je 0x40e43c
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x40e45e
jb 0x40e464
or eax, 0x496f6366
outsb dx, byte [si]
outsb dx, byte [esi]
outsd dx, dword [esi]
jb 0x40e46e
dec esi
jne 0x40e478
insb byte es:[edi], dx
insb byte es:[edi], dx
or byte [ebx + 0x78], ah
inc esi
imul ebp, dword [esp + esi*2 + 0x65], 0x1c909072
in al, 0x40
inc eax
add byte [esi], al
sbb byte [ebx + 0x78], dl
inc esi
push esp
arpl word [eax + 0x46], di
imul ebp, dword [esp + esi*2 + 0x65], 0x69724372
insb byte es:[edi], dx
je 0x40e48b
jb 0x40e46b
inc ebx
jb 0x40e493
je 0x40e491
jb 0x40e497
popal
dec edi
jo 0x40e4a6
imul ebp, dword [edi + 0x6e], 0xe38c0173
mov ebx, fs
inc eax
add byte [eax + sym.usafeadmin.exe__Cxfilter_TcxFilterCriteria_], dl
nop
mov ah, ah
inc eax
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], dl
in eax, 0x40
adc ch, ah
inc eax
add byte [eax], bh
in eax, 0x40
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 [edx], ah
in eax, 0x40
inc eax
add byte [eax], dh
add byte [eax], al
add byte [eax + edx + 0x62b8004a], ch
dec esp
lodsb al, byte [esi]
adc byte [edx], cl
mov eax, 0xc4004c62
add ah, al
bound ecx, qword [eax + eax - 0x38]
dec esp
add al, cl
bound ecx, qword [eax + eax - 0x34]
bound ecx, qword [eax + eax - 0x40]
bound ecx, qword [eax + eax + 8]
pushal
dec esp
shl byte [edx + 0x4c], 0
or byte [eax + 0x4c], ah
add byte [eax], ah
dec esp
add ah, ch
pop ss
inc ecx
add byte [edi + eax*2 + 0x4a], cl
dec esp
inc edi
dec edx
add byte [edi + eax*2 + 0x4a], dl
add byte [eax], ah
sbb byte [ecx], al
and byte [eax], 0x41
add byte [eax - 0x3bffbee0], al
add ah, al
and byte [ecx], al
fsub dword [eax]
inc ecx
add byte [eax], dh
and eax, dword [ecx]
cmp byte [ebx], ah
inc ecx
add byte [eax], dl
inc ecx
add byte [eax + 0x26], dh
inc ecx
add ah, al
push ebx
dec esp
add byte [esi + 0x268c0041], al
inc ecx
add byte [eax + 0x27], dh
inc ecx
add byte [eax - 0x1bffbed9], bl
daa
inc ecx
add ah, al
push ebx
dec esp
add al, dh
sub dword [ecx], eax
sub byte [eax], 0x41
add byte [eax - 0x7ffbed8], dl
sub dword [ecx], eax
cld
sub dword [ecx], eax
clc
sbb byte [ecx], al
and byte [ecx], bl
inc ecx
add al, ah
sbb dword [ecx], eax
les ebx, [edx]
inc ecx
add ah, ah
sbb eax, dword [ecx]
add al, 0x1c
inc ecx
add byte [eax], bl
sbb al, 0x41
add byte [eax + 0x1000411e], dl
pop ds
inc ecx
add byte [eax + 0x20], bl
inc ecx
add byte [edi + ebx + 0x41], ch
add ah, bh
pop ds
inc ecx
add byte [esi], cl
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add al, bl
dec esp
add byte [eax], cl
add byte [eax], al
add byte [ecx], dl
push esp
arpl word [eax + 0x46], di
imul ebp, dword [esp + esi*2 + 0x65], 0x69724372
je 0x40e596
jb 0x40e59c
popal
cmp ch, ah
inc eax
add byte [edi], al
pop es
adc dword [ebx + 0x78], edx
inc esi
imul ebp, dword [esp + esi*2 + 0x65], 0x69724372
je 0x40e5ad
jb 0x40e5b3
popal
mov ah, ah
inc eax
add byte [eax], bh
push es
dec edx
add byte [0x78630800], al
inc esi
imul ebp, dword [esp + esi*2 + 0x65], 0x38000572
cmp byte [eax + eax + 0x10], cl
add byte [eax], al
call dword [eax]
add byte [eax], al
inc dword [ecx]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
adc dword [ebp + 0x61], ecx
js 0x40e5d5
popal
insb byte es:[edi], dx
jne 0x40e5e8
dec esp
imul esi, dword [ebx + 0x74], 0x6e756f43
je 0x40e5a5
in al, 0x40
add byte [eax], dl
sub al, byte [ecx]
and al, 0x2b
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
pop es
add byte [edi], al
dec edi
jo 0x40e61e
imul ebp, dword [edi + 0x6e], 0x4c380c73
add byte [0x44ff0000], dl
sub eax, dword [ecx]
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax + 0x25], al
add al, byte [eax]
jae 0x40e5bb
cmp byte [eax + eax + 0x15], cl
add byte [eax], al
inc dword [ebx + ebp + 0x41]
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and byte [0x2000000], 0
invalid
popal
jb 0x40e63c
or al, 0x38
dec esp
add byte [eax], ah
add byte [eax], al
call [eax + 0x2b]
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
sbb byte [edi], 0
add byte [ebx], al
add byte [edx], dl
push ebp
outsb dx, byte [esi]
add byte [eax], al
add byte [eax + 0x5f], al
add eax, dword [eax]
adc dl, byte [ebp + 0x6e]
jb 0x40e66c
arpl word [edi + 0x72], bp
push edi
imul ebp, dword [esp + 0x63], 0xb0647261
or byte [edx], cl
sub byte [eax], al
add bh, bh
sub byte [eax], al
add bh, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax - 0x80000000], al
add al, 0
or dword [edi + 0x6e], ecx
add byte [ecx], cl
dec edi
outsb dx, byte [esi]
inc ebx
push 0x65676e61
nop
nop
nop
mov dh, ah
inc eax
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 ah, cl
out 0x40, 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 + 0x340040e6], bh
add byte [eax], al
add byte [eax], ah
pop ds
dec edx
add al, dl
int3
les esp, [edx + 0x4c]
add byte [esi + eax*8], ah
dec edx
add ah, cl
bound ecx, qword [eax + eax - 0x40]
bound ecx, qword [eax + eax + 8]
pushal
dec esp
add byte [eax], ah
dec esp
add byte [ebp + eax*8 + 0x474c004a], ch
dec edx
add al, bl
enter 0x4a, 0x68
inc esi
dec edx
add byte [eax + 0x7c004ac9], dh
enter 0x4a, 0xffffffffffffffc0
leave
dec edx
add byte [eax - 0x17ffb536], bh
int3