Function at 0x52f786
Capabilities:
Packed with generic packer

Disassembly:
mov dword [esp + 8], 0xbc82e2dd
mov edx, dword [esp + edx + 0x7d5a0005]
call 0x9add97
lea ebp, [ebp + eax*2 - 0x2efe]
add dl, 0x26
mov dword [esp + eax*2 - 0x2f02], 0x8b080a83
xadd word [esp + eax - 0x177c], dx
xor ecx, ebx
jmp 0x9957c1
adc esi, 5
jmp 0x88062b
dec edx
rol edx, 3
or ecx, 0xb602a41f
push ecx
shr word [esp], 0x88
xor ebx, edx
add eax, 0xa00d4c13
and ecx, eax
push eax
adc ebp, edx
inc cl
cwde
rol eax, cl
mov eax, dword [eax + esi - 0x7fffe9ef]
movsx edx, word [esp]
sal cx, 0xd
ror ecx, 0xea
mov edx, dword [esi + ecx*2 - 0x50005c]
xor ecx, 0x6d2bed8f
shl cl, 0x47
mov cl, byte [esi + ecx - 0x6d03ed78]
adc dword [esp + 3], 0xc0022611
push 0x66bcc590
jb 0x829370
sub edi, 4
jmp 0x595bdd
ror eax, 0x44
add word [esp + eax - 0x10000177], ax
neg ecx
ror ecx, 2
xchg dl, al
dec ecx
not edx
cbw
neg eax
rol ecx, 1
xadd word [esp + edx*2 - 0xba7a70d], ax
add dword [esp + edx*2 - 0xba7a70c], 0x57a41600
inc ecx
ror ecx, 1
xadd eax, edx
jg 0x9add40
mov dword [esp + 2], eax
xor ebx, ecx
sar word [esp + 4], 0xc8
add edi, ecx
shl edx, 0x52
mov ecx, dword [esp + edx*2 - 0x4c0ffffc]
mov eax, dword [esi + edx*2 - 0x4c100000]
bswap ecx
or edx, edx
call fcn.00860809
mov esi, 0x3cce9f70
sti
fucomi st(4)
inc eax
sbb byte [eax - 0x5b], 0x31
fnstcw word [esi + 6]
or eax, 0x94f3931f
pop ecx
push ebx
or al, 0xf7
xchg ebp, eax
mov bh, 0x9f
dec ecx
push esi
scasd eax, dword es:[edi]
jbe 0x9958ae
or al, byte [esi + 0x56]
push ebx
add byte [esi + 0x5e], ah
add eax, 0x98185220
adc al, 0x91
das
pop ss
jbe 0x995814
dec esp
xor ah, byte [ecx + 0x79cabc2e]
int 0x68
lcall 0x4a61, 0xa229097
mov ebp, 0xdd6efcab
dec ebp
and al, 0x98
cmp ebx, dword [ecx + 0x31]
loope 0x995800
dec esp
aas
sbb al, 0x53
add eax, 0x701a35c3
aas
sub al, 0xb3
loopne 0x995860
jl 0x9958a8
pop esp
bound eax, qword [eax - 0x4a]
mov eax, dword [0x41c9461b]
invalid
movsb byte es:[edi], byte [esi]
mov cl, 0x45
outsb dx, byte [esi]
insd dword es:[edi], dx
scasd eax, dword es:[edi]
push ecx
sub eax, 0xfe578c52
inc ebp
sbb byte [esi + 0x44402dea], al
adc ebx, dword [edi - 0x5620e86b]
xchg esp, eax
pop ss
dec edi
invalid
not eax
sub edi, 4
movsx edx, ax
sub edx, edx
xor edx, dword [edx + edi]
lea eax, [eax + eax*2 + 0x142e493e]
movzx ecx, al
lea ecx, [ecx + ecx - 0x70c108e1]
xor edx, ebx
sal ecx, cl
sub ecx, 0xfeb7b21d
bswap edx
btc cx, cx
sub eax, 0xa0251a3
setle al
neg edx
inc edx
bswap ecx
cwde
ror ecx, cl
ror edx, 1
push ecx
xor ebx, edx
dec ecx
add esi, edx
sal ecx, 0x75
add cx, word [ebp]
push eax
call fcn.00743831
jb 0x447d7f
call fcn.006efa08
mov word [esi + eax], cx
movzx ecx, dx
xor eax, dword [eax + ebp]
jmp 0xa50bc3
lea ebp, [edx + ebp - 0x8fc]
ror ecx, 0xf3
sal cl, 0x22
rol ecx, 0xb5
xor eax, ebx
shl cl, 2
push ecx
sar edx, 0x32
neg eax
mov dword [esp + edx*4], 0x92ae82a8
push edx
inc eax
rol eax, 1
not eax
rol dword [esp + edx + 2], 0x3e
not cx
xor eax, 0xad974924
sub ecx, ecx
rol eax, 1
xor eax, 0x95127aad
and dword [esp + edx + 4], ecx
ror word [esp + edx*2 + 2], 0xaa
rol eax, 1
bswap eax
rol cx, 0x21
ror eax, 2
sal dword [esp + edx + 3], 0x7c
sbb cx, 0x6e1e
xor ebx, eax
and ecx, edx
xchg ecx, edx
not dword [esp + edx*2 + 2]
adc edi, eax
and edx, ecx
neg dword [esp + edx*8 + 4]
push ecx
pop ecx
pop edx
pop edx
jne fcn.009cfbdf
sysenter
push ecx
pushfd
mov ecx, 0x8f28d724
mov ecx, dword [esp + ecx + 0x70d728e0]
mov dword [esp + 4], 0x593d269a
lea esp, [esp + 4]
call fcn.009d7954
mov edx, 0x872be4b3
mov edx, dword [edi]
add edi, 4
mov eax, 0x57905b06
mov ecx, eax
xchg ah, al
xor edx, ebx
shr al, cl
and ecx, ecx
sub eax, ecx
not edx
xadd cx, ax
sbb al, ah
bswap edx
jp 0x901a96
mov eax, 0x10123612
lea edi, [eax + edi - 0x10123616]
cwde
bts ax, ax
mov eax, dword [edi + eax*8 - 0x1b0b0]
xor eax, ebx
mov ecx, 0x4e802a0b
lea ecx, [ecx + ecx*4 + 0x6909c98c]
call fcn.00a7ae00