Function at 0x4ac37f
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x46f3e7
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
push ebx
push esi
push edi
mov eax, dword [0x48cc80]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov eax, dword [0x48f4f0]
push eax
lea ecx, [esp + 0x3c]
call 0x4cf45f
lea esi, [esp + 0x70]
mov dword [esp + 0xc0], 0
call fcn.004adfff
push 0x47ba28
push eax
lea ecx, [esp + 0x3c]
push ecx
mov byte [esp + 0xcc], 1
call fcn.004a48ef
add esp, 0xc
mov byte [esp + 0xc0], 3
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4ac417
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xa0]
call 0x4e0575
mov eax, dword [ebp + 8]
add eax, 0x2d8
push 0x47ba68
push eax
lea ecx, [esp + 0x34]
push ecx
mov byte [esp + 0xcc], 4
call fcn.004a48ef
add esp, 0xc
lea edx, [esp + 0xa0]
mov byte [esp + 0xc0], 5
mov eax, dword [eax]
push edx
push eax
lea ecx, [esp + 0x40]
call 0x4cf38f
mov byte [esp + 0xc0], 4
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ac48a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor esi, esi
cmp dword [esp + 0xa8], esi
jle 0x4acf2c
lea ebx, [ebx]
call 0x4d5997
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4acfab
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x3c], eax
lea eax, [esi + 1]
push eax
lea ecx, [esp + 0x40]
push 0x47bd6c
push ecx
mov byte [esp + 0xcc], 6
mov dword [esp + 0x90], eax
call fcn.004a791f
mov eax, dword [ebp + 8]
push 0x47ba68
mov edx, 0xd8050047
add al, byte [eax]
add byte [eax - 0x73], dl
xchg esp, eax
and al, 0x94
add byte [eax], al
add byte [edx - 0x18], dl
out dx, eax
cmp edi, 0xffffffff
fistp qword [esi]
pop dword [eax + 0x5a]
cwde
cmp al, 2
adc dword [ebp + 0x475a45b2], 0x97f9b914
sub byte [ebp + 0x647c2c3a], al
invalid
mov dword [0x918d96b8], eax
test eax, 0x248e150b
xchg ebp, eax
push ss
rcl byte [ebx + 0x19baf2a6], cl
xchg esp, eax
adc eax, 0x7142f9f4
mov ebp, 0x65d64f5e
mov eax, 0xd2daf936
sbb ah, byte [edx + 0x3a]
cmp bh, cl
mov ebp, 0x659fcab
dec ebx
xor ecx, dword [ebp - 0x6c]
mov cl, 0x66
movsd dword es:[edi], dword [esi]
push es
loop 0x4ad01a
jne 0x4ad058
jne 0x4ad03f
xor eax, 0x6d6b24fa
outsb dx, byte [esi]
wait
push ds
ror byte [ebx - 6], cl
shld dword [ecx - 0x56aebcdf], ebx, 0x42
cmp byte [edi - 0x62], dl
push ecx
test eax, 0x9e573842
movsb byte es:[edi], byte [esi]
push ebx
div dword [edi]
enter 0x7409, 0xffffffffffffffb9
push esp
lodsb al, byte [esi]
sub byte [ecx + 0x7936b5a5], ch
push 0xe5761f7d
movsd dword es:[edi], dword [esi]
mov ch, 0x36
jns 0x4ad074
jge 0x4ad02d
jbe 0x4acff5
rol esi, cl
ret 0x2359
or byte [ebx + 0x75], bl
xchg dh, ch
out dx, al
pop edi
cmp dword [esi + esi*8 + 0x70], ebx
cmc
jo 0x4ad016
pop edi
pop ebp
and eax, 0x84c555d9
jnp 0x4ad01f
test eax, 0xc9b75429
mov bh, 0xc9
push ebp
jne 0x4ad062
pop ecx
or dword [ebp + 0x7f], edx
mov edi, edi
jns 0x4ad0a1
xchg ebp, eax
rcr byte [eax], 0x87
dec esp
leave
stosb byte es:[edi], al
pushal
imul esp, dword [ebx - 0x52], 0x995d7a66
jne 0x4ad064
add al, 8
or ebp, dword [ecx + ebp - 0x45c90aa0]
sbb al, 0xbb
insd dword es:[edi], dx
push ebp
jmp 0x4ad07b
push ds
mov cl, 9
mov bl, bh
pop ebp
sbb eax, 0xcb30dd55
inc ebx
push dword [ebx]
xor eax, 0xcf15e94b
invalid
fnsave dword [eax]
retf
and al, 0xad
dec eax
push ecx
leave
sar byte [ebp - 0x1d], 1
cmp dl, bl
xor dword [ebp - 0xd], edx
je 0x4ad007
jecxz 0x4ad0b7
sal dword [ecx], cl
push ebp
je 0x4ad007
inc edi
fisttp qword [edi - 0x42]
jne 0x4ad0e2
jae 0x4ad10a
adc ebp, dword [edi + 0x295daf10]
fild dword [edi]
adc ecx, dword [0x29834e4d]
mov cl, 0xca
xchg esp, eax
or dword [ecx + ebx + 0x45], edx
call 0x8bbcb9ce
sub ecx, ebp
jno 0x4ad030
sbb eax, 0xc35c15c9
imul esi, dword [ecx + 0x44c067b7], 0x100e51c
outsd dx, dword [esi]
shl dword [0xd9416f71], 1
sbb al, 0x29
jno 0x4ad128
inc ecx
fstp dword [ecx + ebp]
dec ecx
imul ecx, dword [ebx - 0x6a], 0x8b45d93a
push edi
sbb al, byte [ebp - 0x2a]
cmp byte [esi + 0x3c322d21], ah
cld
cmp dl, byte [ebx]
sbb esi, dword [eax]
jle 0x4ad05c
jns 0x4ad058
sub esp, ecx
jno 0x4ad0ef
jno 0x4ad0ef
xchg ebx, eax
pushfd
call 0x9d73ce98
into
push ecx
mov esp, 0x99002c23
std
sub byte [ebp - 0x43aec132], bl
and ebp, dword [eax + eax]
cdq
mov cl, 0x58
int1
ret
lodsb al, byte [esi]
and eax, 0x7dc7058
jb 0x4ad15e
mov eax, dword [0x488e6935]
int 0x28
jmp 0x956a7578
out dx, al
imul ecx, dword [esi - 0x722c119e], 0xce991169
outsb dx, byte gs:[esi]
or al, 0x4d
sub ecx, 0x7ba6d0b6
push ebp
xchg ecx, eax
xchg bl, dh
jns 0x4ad0db
lcall 0xa0a9, 0x55395558
sti
in al, 0xb6
adc al, 0x4d
mov dh, 0xb9
aad 0x78
hlt
stc
int 0xf8
push edx
jmp 0x25e09cc1