Function at 0x4ad099e4
Capabilities:
Packed with generic packer

Disassembly:
push 0x88
push 0x4ad09bf8
call fcn.4ad0162f
mov eax, dword [0x4ad33b78]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp + 8]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x8c], 0x70
xor ebx, ebx
inc ebx
mov dword [ebp - 0x88], ebx
xor esi, esi
mov dword [ebp - 0x84], esi
push 0x19
pop ecx
xor eax, eax
lea edi, [ebp - 0x80]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x90], esi
mov eax, dword [0x4ad2fac4]
mov dword [eax + 4], esi
mov eax, dword [0x4ad2fac4]
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
mov eax, dword [0x4ad2fac4]
mov dword [eax + 0x14], esi
cmp byte [0x4ad2fa64], 0
je 0x4ad09a5f
mov eax, dword [edx + 0x38]
cmp word [eax], 0x3a
je 0x4ad0a246
push 0x104
mov esi, 0x4ad250a0
push esi
mov eax, dword [0x4ad2fac4]
push dword [eax]
call fcn.4ad01ab9
test eax, eax
jne 0x4ad11be9
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x4ad09a95
push eax
push esi
call dword [fcn.4ad01114]
pop ecx
pop ecx
push esi
mov ebx, dword [fcn.4ad01118]
call ebx
pop ecx
lea edi, [eax*2 + 0x4ad250a2]
and word [edi], 0
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x3c]
test eax, eax
jne 0x4ad0a490
mov eax, dword [0x4ad2fac4]
push dword [eax + 8]
call fcn.4ad014fd
push esi
call ebx
pop ecx
mov ecx, dword [0x4ad2fac4]
mov dword [ecx + 0x48], eax
mov eax, dword [0x4ad2fac4]
mov eax, dword [eax + 0x48]
lea eax, [eax + eax + 2]
push eax
call fcn.4ad01725
mov ecx, dword [0x4ad2fac4]
mov dword [ecx + 0x20], eax
mov eax, dword [0x4ad2fac4]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x4ad11bd6
push esi
push eax
mov esi, dword [fcn.4ad01114]
call esi
pop ecx
pop ecx
mov eax, dword [0x4ad2fac4]
mov ecx, dword [eax + 0x20]
mov dword [eax + 0x70], ecx
push 0x4c
pop eax
mov ecx, dword [0x4ad2fac4]
and dword [eax + ecx - 0x28], 0
mov ecx, dword [0x4ad2fac4]
and dword [eax + ecx], 0
add eax, 4
cmp eax, 0x70
jl 0x4ad09b1a
xor eax, eax
cmp word [edi], ax
jne 0x4ad0a49f
mov ecx, dword [0x4ad2fac4]
mov dword [ecx + 0x1c], eax
mov ecx, dword [0x4ad2fac4]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4ad2fac4]
mov edx, dword [0x4ad2b9f0]
mov dword [ecx + 0xc], edx
mov byte [0x4ad3cba8], 0
mov dword [ebp - 4], eax
mov ecx, dword [0x4ad2fac4]
mov ecx, dword [ecx]
mov dword [ebp - 0x84], ecx
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x8c]
push eax
xor edi, edi
inc edi
push edi
call dword [0x4ad21010]
test eax, eax
je 0x4ad11c88
xor esi, esi
push esi
push edi
mov eax, dword [0x4ad2fac4]
add eax, 0x14
push eax
push esi
push dword [ebp - 0x90]
call dword [0x4ad2100c]
test eax, eax
je 0x4ad11c93
push dword [ebp - 0x90]
call dword [0x4ad21008]
mov eax, dword [0x4ad2fac4]
mov eax, dword [eax + 0x14]
cmp eax, esi
jne 0x4ad11c63
or dword [ebp - 4], 0xffffffff
mov byte [0x4ad3cba8], 1
xor eax, eax
mov ecx, dword [ebp - 0x1c]
call fcn.4ad01305
call fcn.4ad01447
ret 8
outsb dx, byte [esi]
and byte [ecx + 0x74], al
popal
pop esp
inc ecx
jo 0x4ad0a2c0
insb byte es:[edi], dx
imul esp, dword [ebx + 0x61], 0x6e6f6974
and byte [ecx + 0x74], al
popal
pop esp
inc ecx
jo 0x4ad0a2d1
insb byte es:[edi], dx
imul esp, dword [ebx + 0x61], 0x6e6f6974
and byte [ecx + 0x74], al
popal
pop esp
inc ecx
jo 0x4ad0a2e2
insb byte es:[edi], dx
imul esp, dword [ebx + 0x61], 0x6e6f6974
and byte [ecx + 0x74], al
popal
pop esp
inc ecx
jo 0x4ad0a2f3
insb byte es:[edi], dx
imul esp, dword [ebx + 0x61], 0x6e6f6974
and byte [ecx + 0x74], al
popal
pop esp
inc ecx
jo 0x4ad0a304
insb byte es:[edi], dx
imul esp, dword [ebx + 0x61], 0x6e6f6974
and byte [ecx + 0x74], al
popal
pop esp
inc ecx
jo 0x4ad0a315
insb byte es:[edi], dx
imul esp, dword [ebx + 0x61], 0x6e6f6974
and byte [ecx + 0x74], al
popal
pop esp
push eax
popal
arpl word [ebx + 0x61], bp
and byte gs:[bp + di + 0x61], al
arpl word [eax + 0x65], bp
pop esp
jnp 0x4ad0a2f8
xor esp, dword [esi + 0x31]
arpl word fs:[ecx], di
sub eax, 0x34396465
sub eax, 0x30353634
sub eax, 0x39373061
sub eax, 0x37393231
xor eax, 0x30612d30
aaa
cmp dword [0x37393231], ebp
cmp byte [0x39376563], dh
xor byte [0x43565c7d], dh
aaa
cmp dword [eax], esi
xor eax, 0x43565c7d
pop edi
jb 0x4ad0a352
imul esi, dword fs:[ebx + 0x74], 0x3436782e
js 0x4ad0a35e
xor al, 0x2e
js 0x4ad0a35e
add byte gs:[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
inc eax
add byte [ebp + 0x5a], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec ebp
pop edx
nop
add byte [ebx], al
add byte [eax], al
add byte [eax + eax], al
add al, 0
add byte [eax], al
invalid
add byte [eax], al
push cs
pop ds
mov edx, 0x9b4000e
mov ah, 9
or ebp, ecx
and dword [eax + 0x21cd4c01], edi
int 0x21
mov eax, 0x21cd4c01
push esp
push 0x70207369
jb 0x4ad0a3d2
jae 0x4ad0a380
jo 0x4ad0a3d4
outsd dx, dword [esi]
jb 0x4ad0a3c7
insd dword es:[edi], dx
and byte [ebx + 0x61], ah
outsb dx, byte [esi]
outsb dx, byte [esi]
outsd dx, dword [esi]
je 0x4ad0a38f
bound esp, qword [ebp + 0x20]
jb 0x4ad0a3e9
and byte gs:[edx + 0x75], dh
jne 0x4ad0a3e3
outsb dx, byte [esi]
and byte [ecx + 0x6e], ch
and byte [edi + ecx*2 + 0x53], al
push ebx
and byte [ebp + 0x6f], ch
or eax, 0x240a0d
or eax, 0x240a0d
add byte [eax], al
add byte [eax], al
add byte [eax], al
arpl bp, di
sbb esp, ebp
daa
pushfd
jne 0x4ad0a34b
daa
pushfd
jne 0x4ad0a34f
daa
pushfd
jne 0x4ad0a353
xchg ebx, eax
add byte [esi + esi*4 - 0x498a63d2], al
mov dh, 0x2e
pushfd
jne 0x4ad0a35b
xchg ebx, eax
add byte [esi + 0x759c5bb6], al
mov dh, 0x93
add byte [edi + 0x759c3fb6], al
mov dh, 0x1c
ret 0xb776
xchg dword [esi - 0x498a63c1], esi
sbb al, 0xc2
jbe 0x4ad0a370
xor al, 0x9c
jne 0x4ad0a373
sbb al, 0xc2
jno 0x4ad0a378
xor al, 0x9c
jne 0x4ad0a37b
sbb al, 0xc2
jo 0x4ad0a380
add dword [ebp + esi*2 - 0x91bd14a], ebx
mov dh, 0x22
pushfd
jne 0x4ad0a38b
mov dh, 0x2e
in al, 0xe6
in al, 0xe6
mov dh, 0x36
pushfd
jne 0x4ad0a393
daa
pushfd
je 0x4ad0a397
jbe 0x4ad0a380
jne 0x4ad0a39b
mov al, 0xc2
jo 0x4ad0a3a0
insb byte es:[edi], dx
pushfd
jne 0x4ad0a3a3
mov ch, 0xc2
mov dh, byte [esi - 0x498a63da]
daa
pushfd
loop 0x4ad0a3af
and eax, 0xb0b6759c
ret 0xb777
add byte [eax], al
adc byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esp + eax*4 + 0xb40006], ah
add byte [eax], al
add al, dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
movsb byte es:[edi], byte [esi]
test byte [esi], al
add byte [eax + eax - 0x10000000], dh
push es
add byte [ebx + edi], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
or byte [esi + 0x23f00009], bh
add byte [eax], al
add byte [eax], dh
pop es
add byte [ebp + edi + 0x74200000], cl
push es
add byte [eax + eax], dl
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 [esp + esi*2 + 6], dh
add byte [eax], bl
add byte [eax], al
add byte [eax + 0x6e], al
push es
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 + 0x3d00004], dh
add byte [eax], al
and al, 0x80
push es
add byte [eax], al
add dword [eax], 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 [esi], ch
je 0x4ad0a585
js 0x4ad0a596
add byte [eax], al
add bh, dl
xchg edi, eax
add al, 0
add byte [eax], dl
add byte [eax], al
add byte [eax + 0x4000004], 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
and byte [eax], al
add byte [eax + 0x2e], ah
jb 0x4ad0a5ac
popal
je 0x4ad0a5ac
add byte [eax], al
hlt
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
shr byte [esi], 0x77
imul edi, dword [eax + 0x62], 0x386e7275
add byte [eax], al
add byte [eax], al
rol byte [esi], 0
add byte [edx], al
add byte [eax], al
add byte [edx + 6], dl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
inc eax
je 0x4ad0a62c
ja 0x4ad0a601
js 0x4ad0a5fc
jne 0x4ad0a60e
outsb dx, byte [esi]
cmp byte [eax], al
add byte [eax], al
add al, al
push es
add byte [eax], al
add al, byte [eax]
add byte [eax], al
xchg edx, eax
push es
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 + 0x2e], al
je 0x4ad0a62c
jae 0x4ad0a5c2
add byte [eax], al
add byte [ecx], cl
add byte [eax], al
add byte [eax], al
rol byte [esi], 1
add byte [eax], al
add al, byte [eax]
add byte [eax], al
xchg esp, eax
push es
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 al, al
imul sp, word cs:[si + 0x73], 0
loopne 0x4ad0a5ef
add byte [eax], al
add al, ah
push es
add byte [eax], al
add al, byte [eax]
add byte [eax], al
xchg esi, eax
push es
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 + 0x2e], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
inc eax
jb 0x4ad0a683
jb 0x4ad0a683
jb 0x4ad0a675
add byte [eax], al
add byte [ebx + edi], bl
add byte [eax], al
add al, dh
push es
add byte [eax], al
cmp al, 0
add byte [eax], al
cwde
push es
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 + 0x2e], al
jb 0x4ad0a69d
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
add byte [ebp + edi + 0x30000000], cl
pop es
add byte [eax], al
add byte ds:[eax], al
add ah, dl
push es
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 [edx], 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
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
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
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
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 [ecx + 0x44b084], ah
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
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
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
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
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
mov eax, dword [0x44b084]
mov dword [0x46b648], eax
ret
and eax, 0
add byte [eax], al
int3
add byte [eax], al
add byte [eax], al
mov fs, word [esi]
add byte [eax], al
add byte [eax], al
add byte [eax], al
and byte [0], ah
add byte [eax], al
sahf
and eax, 0
add byte [eax], al
dec esp
add byte es:[eax], al
add byte [eax], al
add byte [eax], al
pushal
add byte es:[eax], al
add byte [eax], al
add byte [eax], al
jb 0x4ad11c3d
add byte [eax], al
add byte [eax], al
add byte [eax], al
scasb al, byte es:[edi]
add byte es:[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
imul eax, dword [edx], 0x6554744e
jb 0x4ad11ca2
imul ebp, dword [esi + 0x61], 0x68546574
jb 0x4ad11ca3
popal
popal
add byte fs:[edi + 0x6c745205], al
push ebx
je 0x4ad11c9f
outsb dx, byte [esi]
push 0x6c646e61
inc ebp
js 0x4ad11cb8
jo 0x4ad11ccc
imul ebp, dword [edi + 0x6e], 0x746c6946
jb 0x4ad11c62
add byte [0x53744e02], bh
cmp eax, 0x53744e02
je 0x4ad11cb4
outsb dx, byte [esi]
outsw dx, word [esi]
jb 0x4ad11cdd
popal
je 0x4ad11cdc
outsd dx, dword [esi]
outsb dx, byte [esi]
push eax
jb 0x4ad11ce7
arpl word [ebp + 0x73], sp
jae 0x4ad11c7d
add eax, 0x536c7452
je 0x4ad11cce
popal
jo 0x4ad11cd3
outsb dx, byte [esi]
outsw dx, word [esi]
jb 0x4ad11cfc
popal
je 0x4ad11cfb
outsd dx, dword [esi]
outsb dx, byte [esi]
add byte [eax + 2], ch
dec esi
je 0x4ad11cee
jb 0x4ad11d0a
imul ebp, dword [esi + 0x61], 0x72506574
outsd dx, dword [esi]
popal
je 0x4ad11d07
push eax
jb 0x4ad11d14
arpl word [ebp + 0x73], sp
jae 0x4ad11caa
add bh, ah
add dl, byte [edx + 0x74]
insb byte es:[edi], dx
inc ebx
popal
jo 0x4ad11d28
jne 0x4ad11d28
inc ebx
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x4ad11d21
js 0x4ad11d32
add bl, al
add al, 0x52
je 0x4ad11d30
dec esp
outsd dx, dword [esi]
outsd dx, dword [esi]
imul esi, dword [ebp + 0x70], 0x46
jne 0x4ad11d3b
outsb dx, byte [esi]
arpl word [ecx + ebp*2 + 0x6f], si
je 0x4ad11d39
outsd dx, dword [esi]
outsb dx, byte [esi]
inc ebp
outsb dx, byte [esi]
je 0x4ad11d48
jns 0x4ad11cd8
add dl, ch
add eax, 0x566c7452
je 0x4ad11d4a
insb byte es:[edi], dx
push esi
imul esi, dword [edx + 0x74], 0x556c6175
outsb dx, byte [esi]
ja 0x4ad11d52
outsb dx, byte [esi]
add byte fs:[eax], al
mov eax, 0x6c745205
push ebp
add eax, 0x556c7452
outsb dx, byte [esi]
push 0x6c646e61
inc ebp
inc ebp
js 0x4ad11d61
jo 0x4ad11d75
imul ebp, dword [edi + 0x6e], 0x746c6946
jb 0x4ad11d0b
je 0x4ad11d6e
jb 0x4ad11d0b
add byte [esi + 0x74], ch
insb byte es:[edi], dx
outsb dx, byte [esi]
je 0x4ad11d72
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
add byte [ebx], bl
add byte [ebx + 0x73], al
jb 0x4ad11d70
outsb dx, byte [esi]
push 0x6c646e61
je 0x4ad11d93
outsd dx, dword [esi]
outsb dx, byte [esi]
inc esi
imul ebp, dword [esp + esi*2 + 0x65], 0x170072
inc ebx
jae 0x4ad11daa
add byte [edi], dl
push ebx
jbe 0x4ad11da2
add dl, byte [edx + 0x74]
insb byte es:[edi], dx
imul ebp, dword [esi + 0x67], 0x6e416f54