Function at 0x4ad07d70
Capabilities:
Packed with generic packer

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x220
mov eax, dword [0x4ad33b78]
mov ecx, dword [ebp + 0x10]
and dword [ebp - 0x214], 0
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [eax + 0x1c]
test ebx, ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x21c], ebx
je 0x4ad15f70
push dword [ebx]
call fcn.4ad01a8d
cmp word [eax], 0x3a
je 0x4ad1609c
cmp dword [ebp + 0x18], 0
je 0x4ad07ddb
push dword [ebx]
call fcn.4ad01a8d
cmp word [eax], 0x2a
je 0x4ad0e8da
push dword [ebp + 0x14]
push dword [esi + 4]
push dword [ebx]
push dword [ebp - 0x210]
call fcn.4ad07e61
test eax, eax
jne 0x4ad1621f
push 0
lea eax, [ebp - 0x20c]
push eax
mov esi, 0x104
push esi
push dword [ebp - 0x210]
call dword [0x4ad012cc]
cmp eax, esi
ja 0x4ad16234
xor edx, edx
cmp dword [ebp + 0x18], edx
je 0x4ad07e47
mov ecx, dword [ebp - 0x21c]
cmp ecx, edx
mov eax, 0x2000
je 0x4ad07e38
test dword [ecx + 0x18], eax
jne 0x4ad1624a
mov ecx, dword [ebp - 0x220]
test dword [ecx + 0x18], eax
jne 0x4ad1624a
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x214]
pop edi
pop esi
pop ebx
call fcn.4ad01305
leave
ret 0x14
invalid
jo 0x4ad16103
bound eax, qword [eax]
add byte [eax], al
add byte [ebp + 0x47], dl
push eax
add byte [eax], dl
add byte [eax], al
and byte [eax + eax], al
add byte [esi], ch
je 0x4ad16117
js 0x4ad16128
and al, 0x6c
jo 0x4ad160e8
xor dword [ebx + 0x73], esp
jb 0x4ad16130
jae 0x4ad160ed
js 0x4ad16127
and dword [ebx], esi
xor eax, 0x6279685f
jb 0x4ad16134
bound ebp, qword fs:[edi + 0x6f]
je 0x4ad160d1
add byte [eax], al
and byte [eax + eax], dl
add byte [eax + 0x2e000002], al
je 0x4ad16143
js 0x4ad16154
and al, 0x6d
outsb dx, byte [esi]
add byte [eax], al
add byte [eax], al
mov al, byte [0x12000016]
add byte [eax], al
add byte [esi], ch
je 0x4ad16157
push ss
add byte [eax], al
adc al, byte [eax]
add byte [eax], al
je 0x4ad16157
js 0x4ad16168
and al, 0x6d
outsb dx, byte [esi]
and al, 0x30
xor byte [eax], al
mov dl, 0x16
add byte [eax], al
pop edx
add byte [eax], al
add byte [esi], ch
je 0x4ad1616b
je 0x4ad1616b
js 0x4ad1617c
and al, 0x7a
jns 0x4ad1610c
add byte [eax], al
add byte [eax], al
and byte [eax], al
add byte [eax], dl
add dword [eax], eax
add byte [esi], ch
jb 0x4ad1617e
jb 0x4ad1617e
popal
je 0x4ad1617e
and al, 0x62
jb 0x4ad16184
add byte [eax], al
adc byte [ecx], ah
add byte [eax], al
nop
add byte [eax], al
add byte [esi], ch
imul esp, dword [ecx + 0x74], 0x352461
popal
and al, 0x35
add byte [eax], al
add byte [eax], al
mov al, byte [0x10000021]
add byte [eax], al
add byte [eax + 0x10000021], ah
add byte [eax], al
add byte [esi], ch
xor byte [eax], dh
arpl word [esi + 0x67], sp
add byte [eax], al
add byte [bx + si], al
mov al, 0x21
add byte [eax], al
or al, 0
add byte [eax], al
imul sp, word cs:[si + 0x73], 0
jae 0x4ad16156
add byte [ecx + 0x40000], bh
add byte [eax], al
imul esp, dword cs:[bx + di + 0x74], 0xc0000073
mov esp, 0x4000021
add byte [eax], al
add byte [esi], ch
imul esp, dword [bx + di + 0x74], 0xc0000073
and dword [eax], eax
add byte [eax], bl
add byte [eax], al
jb 0x4ad161d6
pop eax
add byte [eax], al
add byte [esi], ch
jb 0x4ad161d6
popal
je 0x4ad161d6
add byte [eax], al
sbb byte [edx], ah
add byte [eax], al
enter 1, 0
jb 0x4ad161e6
add dword [eax], eax
add byte [esi], ch
jb 0x4ad161e6
popal
je 0x4ad161e6
popal
and al, 0x7a
jp 0x4ad16203
bound esp, qword fs:[edi]
add byte [eax], al
loopne 0x4ad161b4
add byte [eax], al
je 0x4ad16195
add byte [eax], al
js 0x4ad161fe
popal
je 0x4ad161fe
add byte [eax], al
push esp
and al, 0
add byte [eax], ch
add byte [eax], al
add byte [esi], ch
imul esp, dword [ecx + 0x74], 0x322461
add byte [eax], al
add byte [esp], bh
and al, 0
add byte [eax + eax], dl
add byte [eax], al
imul esp, dword cs:[ecx + 0x74], 0x332461
add byte [eax], al
add byte [eax - 0x6fffffdc], dl
add byte [eax], al
add byte [esi], ch
imul esp, dword [ecx + 0x74], 0x342461
xor al, 0
add byte [eax], al
add byte [eax], ah
and eax, 0x1980000
add byte [eax], al
imul esp, dword cs:[ecx + 0x74], 0x362461
add byte [eax], al
add byte [eax], al
xor byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [esi], ch
popal
popal
je 0x4ad1624a
and al, 0x36
add byte [eax], al
add byte [eax], al
add byte [eax], dh
add byte [eax], al
adc byte [eax], al
add byte [eax], al
popal
je 0x4ad1625d
add byte [eax], al
add byte [eax], dl
xor byte [eax], al
add byte [eax + 5], dh
jo 0x4ad1620a
add byte [eax], al
bound esi, qword cs:[ebx + 0x73]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], bh
jae 0x4ad1620c
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
js 0x4ad16215
add byte [eax], al
jo 0x4ad1627e
popal
je 0x4ad1627e
add byte [eax], al
add byte [eax], dl
add al, dh
add byte [eax], al
add byte [esi], ch
jb 0x4ad1629d
jb 0x4ad1628f
and al, 0x30
xor dword [eax], eax
add byte [eax], al
add al, dh
push eax
add byte [eax], al
adc byte [edi], al
add byte [eax], al
jb 0x4ad162b1
jb 0x4ad162a3
and al, 0x30
xor al, byte [eax]
add byte [eax], al
add byte [ecx], al
push es
add al, byte [eax]
push es
add byte [esi], al
xor al, byte [edx]
xor byte [ecx], al
adc dword [ecx], ecx
add byte [ecx], dl
or byte [0x9e00bf0], 0xd0
pop es
rol byte [0x3600470], 0x50
add eax, 0x3600470
push eax
add dh, byte [eax]
add byte [eax], al
and dword [eax], eax
add byte [eax], al
and byte [eax], dl
add byte [eax], al
sub eax, 0xe8000013
and eax, dword [eax]
add byte [ecx], al
or al, byte [eax + eax]
or dh, byte [eax + ecx]
add byte [edx], cl
push edx
push es
jo 0x4ad162a5
add byte [eax], al
add byte [eax], dh
adc eax, dword [eax]
add byte [ebx], bl
adc al, 0
add byte [eax], dl
and al, 0
adc byte [eax + eax], ah
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add al, 1
add byte [edx + eax*2], al
add dword [eax], eax
add al, 0x42
add byte [eax], al
add dword [edx + eax], ecx
add byte [ecx + eax], cl
add al, byte [eax]
or al, 1
adc dword [eax], eax
add dword [ecx], ecx
add dword [eax], eax
or dword [edx], esp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
test al, 0x24
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
invalid