Function at 0x9476f4
Capabilities:
Execute anti-debugging instructions

Disassembly:
xor al, 0x8a
xchg ch, cl
sar ecx, 0xd3
xchg edx, ecx
xor bl, al
add eax, esp
mov edx, dword [eax + ecx*8]
lea ecx, [ecx*8 - 0x15ca2bfb]
lea eax, [ecx + ecx - 0x1f72a2d9]
jmp 0x850209
sub edi, 4
sal ecx, 0xad
mov dword [edi], edx
movzx edx, ax
shl dx, 0xc1
jnp fcn.008ac5bb
lea edi, [edi + edx - 0x58178248]
sbb word [esp + edx - 0x58178249], dx
shl eax, cl
ror dword [esp + edx - 0x5817824a], 0x53
ror dword [esp + edx - 0x5817824a], 0xf
mov dword [edx + edi - 0x5817824a], eax
mov edx, dword [esi + edx - 0x5817824a]
adc esi, 3
pop eax
movzx ecx, ax
xor edx, ebx
rol eax, 0xc4
neg ecx
ror edx, 1
imul cx, cx
not edx
or al, 0x38
xadd ecx, eax
push eax
rol edx, 1
bts cx, 0x11
shr ecx, 0x4f
neg edx
jmp 0x98d3e1
lea ebp, [ebp + eax - 0x78000002]
cbw
bswap eax
xor ecx, ecx
mov word [ebp + ecx*8], dx
not eax
je fcn.008f8cf2
mov edx, 0xb1eab24
mov ecx, dword [edi + edx - 0xb1eab24]
movzx eax, dl
shl ax, 0xef
lea edi, [edi + edx*2 - 0x163d5644]
setbe dl
and eax, eax
neg al
push ecx
xchg edx, eax
popfd
movsx ecx, ax
call fcn.008a9f58
sar cl, 0x46
mov edx, dword [edi]
lea eax, [ecx + ecx*2 - 0x1d35df8]
neg eax
sal cl, 0x83
mov ecx, dword [edi + 4]
inc eax
neg eax
lea edi, [edi + eax - 0x5686a203]
jb 0x9822fe
push esi
pushfd
mov esi, 0xb697a03b
xor si, si
lea esi, [esi + esi - 0x2c6e0df8]
mov esi, dword [esp + 4]
mov dword [esp + 4], 0x25936118
push dword [esp]
popfd
lea esp, [esp + 4]
call fcn.0087b11e
lea ecx, [ecx + edx*8 - 0x78fa4edb]
xor eax, 0x988a9fbd
sal ecx, 0x84
sal ecx, cl
rol byte [esp + ecx - 0x5fefffff], 0x27
bswap eax
add edx, dword [esp + ecx - 0x5ff00000]
xor ebx, eax
add ecx, 0x64030c3e
adc ebp, eax
lea eax, [ecx + edx - 0x96ef7ce]
sar dword [esp + edx*2 - 0x7ec569fc], cl
mov edx, dword [edi + edx*2 - 0x7ec569fc]
call fcn.008d203b
mov eax, dword [ebp]
mov ecx, 0x3a2318a1
or cl, ch
mov ecx, dword ss:[eax + ecx*2 - 0x74463172]
mov eax, 0x4c2064bc
mov edx, 0xae34769f
mov dword [ebp + eax - 0x4c2064bc], ecx
add edx, edx
add edx, eax
lea esi, [esi + eax - 0x4c2064c0]
cbw
inc dx
movsx ecx, dl
mov edx, dword [esi + eax - 0x4c20ffbc]
ja 0x8caa42
cmovno edx, eax
xor ebx, ecx
add eax, 0xa7161504
adc edi, ecx
neg dl
rol eax, 0x3f
mov dx, word [ebp + edx*2 - 0x4930c800]
mov cx, word [ebp + eax - 0x538b0a80]
seta al
inc ax
lea ebp, [eax + ebp - 0x538b09ff]
not eax
or dx, cx
movzx ecx, ax
ror ecx, 0x1a
not dx
mov word [ebp + ecx*2 - 0x7aff00], dx
jmp edi
xor edx, 0x8f048d2e
and eax, 0xed2d6804
rol eax, cl
xchg word [esp + ecx*4 - 0x22493512], ax
lea edx, [edx + ecx*8 - 0x7b35c7d0]
mov byte [esp + ecx - 0x8924d42], ah
inc ecx
bswap edx
setp byte [esp + ecx - 0x8924d46]
dec dword [esp + ecx - 0x8924d46]
not edx
rol edx, 1
shr cx, cl
rol ax, 0x67
dec edx
inc ecx
shl dword [esp + ecx - 0x8920136], cl
shl al, 0x62
neg edx
bt eax, eax
xchg byte [esp + ecx - 0x8920134], ah
dec edx
lea ecx, [eax*2 - 0x4ceeec6e]
not cx
xor ebx, edx
sub byte [esp + eax*2 - 0x1180a7], 0x3d
add ebp, edx
mov edx, dword [esp + eax*8 - 0x4602a0]
or word [esp + eax - 0x8c053], dx
mov dword [esp + eax - 0x8c054], ebp
ret
xor al, bl
sal ecx, 0x16
rol al, 1
neg al
or edx, edx
inc al
jmp 0x9c07d9
sbb al, byte [esp + ecx*2 - 0x7e833fff]
push ecx
ror edx, cl
and dword [esp + ecx*2 - 0x7e833ffe], eax
lea edx, [edx + eax - 0x6bbc182b]
rol byte [esp + ecx*2 - 0x7e833ffc], cl
xor ebx, edx
ror ax, cl
dec cl
add ebp, edx
neg word [esp + ecx - 0x3f41a000]
push ecx
call fcn.009871a1
call fcn.0083bb8f
shl ecx, 0x58
xor edx, ebx
lea ecx, [eax + ecx*8 + 0x5a8d55a2]
ror edx, 1
push ecx
not edx
neg ecx
cbw
xchg cx, ax
lea edx, [edx + eax*2 + 0x57799f42]
not edx
call fcn.00856810
mov ecx, 0xdf9e2e39
lea edx, [ecx + ecx*2 - 0x28fb2452]
lea esi, [esi + edx - 0x75df665d]
mov ecx, dword [esi + edx - 0x75df6659]
xor ecx, ebx
sub edx, edx
call fcn.008ab24b
not al
mov word [edi + ecx - 0x48b61d8e], dx
jmp esi
xor ecx, 0xd88c612d
shr eax, 0x95
xor ebx, ecx
sub eax, edx
ror eax, 0xa2
adc ebp, ecx
ror edx, 0x79
adc edx, ebp
jmp edx
lea eax, [edi + edi*8 - 0x24642f57]
neg eax
lea esi, [esi + eax - 0x5f800074]
mov edi, edx
cdq
jge 0x8ea958
mov ecx, 0xc81e06a8
or ecx, ecx
mov eax, dword [ebp]
adc ebp, 4
movzx edx, cx
push ecx
xor eax, ebx
shr dl, 7
dec cx
lea eax, [edx + eax + 0x1baa3888]
bswap eax
ror eax, 1
sar cx, 0x8f
pop ecx
lea eax, [eax + edx - 0x683d1833]
bts ecx, 0xa6
sbb dl, ch
rol eax, 1
not dx
xor ebx, eax
sal edx, 0x11
shr cl, 0xa6
imul cx, dx
adc esi, eax
jmp 0x88e98a
mov ebx, edi
mov ebp, 0xfb251298
mov edx, 0
mov ecx, ebp
and ecx, ebp
sbb ebx, edx
mov edx, 0xb01a3200
lea ecx, [edx*8 - 0x7ee141f9]
lea ebp, [0x8ea96a]
mov eax, ecx
lea edi, [edi + ecx - 0x1f04e0b]
cwde
or al, dh
mov ecx, dword [edi + ecx - 0x1f04e07]
btc ax, dx
imul edx, edx
cmovo edx, eax
xor ecx, ebx
lea ecx, [edx + ecx - 0x57a8df51]
not ecx
cdq
sal al, 0x86
lea ecx, [ecx + edx*4 + 0x188312b7]
neg ecx
jmp 0x8d53f3
inc eax
sal byte [esp + 1], 0x86
ror eax, 1
xor ebx, eax
add ebp, eax
call fcn.0092067c
xor eax, ebx
not eax
inc cl
jp 0x9a6f12
inc eax
xor eax, 0x7d97cb2e
ror edx, cl
sal cx, 0x8a
jnp 0x9a8727
dec eax
inc edx
and edx, edx
adc cx, 0xf7b8
xor ebx, eax
shl dl, 0xe4
or dl, ch
jns 0x98fe15
mov ecx, dword [edi]
jmp 0x946885
mov edx, dword [edi + 4]
mov eax, 0xf318413f
bswap eax
sar ax, 0x25
lea edi, [edi + eax*2 - 0x7e82018a]
jns 0x98dde9
sal dword [esp], 0xab
movzx eax, word [esp]
ror edx, 3
add cx, word [esp + eax - 0x3fff]
neg ecx
jne 0x8b6b83
neg eax
mov dword [esp], ecx
add dl, ch
not byte [esp + 3]
inc eax
rol eax, 1
jmp 0x93cd37
movzx eax, byte [eax + esi - 0x50000000]
or edx, edx
lea esi, [edx + esi - 0x4fffffff]
xor al, bl
bt cx, dx
sar ecx, cl
not al
cmovae ecx, edx
or edx, edx
rol al, 1
sub dl, dl
sbb al, 0xa5
inc dx
inc edx
ror al, 1
xchg ch, dl
add al, 3
and ecx, 0xe732daa6
not al
adc ecx, edx
rol al, 1
shl edx, 0x5e
dec al
ror dl, 0x83
jae 0x848a6a
sub ebp, 1
mov edx, 0xeb088230
movzx edx, byte [ebp]
mov eax, 0xaf291001
push eax
lea ecx, [eax + eax - 0x45484cfe]
xor dl, bl
rol dl, 1
btc eax, 0xb7
sbb dl, al
rol dl, 1
neg dl
add dword [esp + ecx*2 - 0x3213a608], 0xcd026cb2
sbb dword [esp + ecx - 0x1909d304], 0xae82851c
xor word [esp + ecx*2 - 0x3213a607], ax
ror dl, 1
add dl, 0x29
inc cx
shr eax, cl
xor dl, 0x10
sar cl, cl
or cl, cl
xor bl, dl
add dword [esp + eax*2 - 0xafa9100], 0x7c85e21e
jle 0x89faf5
sar ecx, 0x79
lea edx, [esp + edx + 4]
xchg dword [esp + eax*4 - 0x15f52200], ecx
push ecx
movzx ax, byte [edx + eax*4 - 0x15f52200]
dec ecx
xchg word [esp + ecx - 0x4a3ed8ad], cx
lea edi, [edi + ecx - 0x4a3e0002]
mov word [ecx + edi - 0x4a3e0000], ax
lea eax, [ecx*2 + 0x40305407]
lea ebp, [ebp + ecx - 0x4a3e0004]
movsx edx, byte [esp + ecx - 0x4a3e0000]
cmovl ax, dx
xor cx, cx
mov edx, dword [ebp + ecx - 0x4a3e0000]
inc dword [esp + ecx - 0x4a3dfffe]
xor edx, ebx
cwde
btr ecx, 0xa9
lea edx, [edx + eax*4 - 0x6527c21f]
bswap edx
and cl, byte [esp + eax*4 - 0x1501a]
sar eax, 0x1d
dec edx
ror dword [esp + ecx - 0x4a3e0000], 0xa7
xor dword [esp + ecx - 0x4a3dfffc], eax
ror cl, 0x46
xor edx, 0x118d223f
xor ebx, edx
add esi, edx
pop eax
pop ecx
jmp fcn.00880f1a
xor ax, ax
lock xchg dword ss:[edx + eax - 0x56860000], ecx
mul eax
cdq
mul eax
mov dword [edi + eax], ecx
cdq
mov ecx, edx
cdq
or eax, esi
jmp eax
inc ecx
rol edx, 1
neg al
sete al
xor ebx, edx
push eax
lea eax, [ecx*2 - 0x78f92b00]
and word [esp + eax + 0x78f7a1b5], 0x87be
adc ebp, edx
div cl
mov dword [esp + eax + 0x78f78771], ebp
ret 4
add ax, ax
lock xchg dword ss:[ecx + eax*2 - 0x7e82031c], edx
dec al
mov dword [eax + edi - 0x3f41018d], edx
mov ecx, eax
btr eax, eax
mov edx, dword [eax + esi - 0x3f41018d]
lea esi, [esi + eax - 0x3f410189]
sal cx, cl
ror eax, 0x22
neg al
xor edx, ebx
push ecx
lea eax, [eax + 0x7b1c952b]
imul eax, dword [esp + ecx - 0x3f41a000]
sbb edx, 0xcbaf2d21
inc ecx
ror edx, 2
rol al, 1
btc ax, cx
lea edx, [edx + ecx - 0x6162c119]
jae 0x8c25dc
xor edx, 0x4f2c1723
sal eax, 0x92
bts ecx, eax
or al, al
inc edx
sub cx, ax
xor ebx, edx
imul ecx, ecx
add edi, edx
mov edx, ebp
jmp 0x877661
adc edi, eax
neg ecx
mov ebp, dword [ebp + edx - 0x59d3e043]
inc dx
bt edx, edx
jae fcn.008f8cf2
mov ecx, 0x452a57b4
mov ecx, dword [esi + ecx - 0x452a57b4]
mov edx, 0xff0015b2
sub edx, edx
rol edx, 0x63
lea esi, [esi + edx + 4]
xor ecx, ebx
sar edx, 0x48
movzx eax, dl
xor dx, ax
not ecx
ror dl, 0x87
rol ecx, 2
sar dl, 0x21
cwd
xor ecx, 0xf32dcf85
bt edx, edx
btc eax, 0x9b
lea ecx, [ecx + edx*2 - 0x410f101f]
mul edx
bswap ecx
xor ebx, ecx
add edi, ecx
movsx ecx, dl
neg eax
adc al, byte [esi + edx*2]
imul ecx, edx
lea esi, [esi + edx + 1]
sal edx, 0xba
jns 0x8c1fcc
mov ecx, 0xed89153d
mov edx, dword [esi]
movzx eax, cl
lea esi, [esi + eax - 0x39]
ror cl, 0x47
xor edx, ebx
call fcn.0090f4fb
bt eax, 0x85
imul dx
neg ecx
mul edx
jo 0x8b1c7f
mov edx, dword [esp]
jl 0x870fd6
mov edi, 0xc08b21a7
mov edx, dword [esi]
jmp 0x8ea80f
movsx ecx, ax
push edx
sar eax, 0x94
lea edx, [ecx*8 + 0x5e2e5510]
mov dword [esp + eax + 0x17], ebp
mov dword [esp + eax + 0x1b], edi
mov ebp, esp
shr al, 0x47
neg edx
not edx
xor ebx, edx
xchg cx, ax
btr eax, eax
sal eax, 0xfb
add ebp, edx
mov edx, eax
sar dx, 0x41
jae 0x96148e
bts eax, edx
inc ecx
call fcn.009c275e
mov ecx, 0xd1b017bc
sub esi, 4
movzx eax, cx
movzx edx, cl
mov eax, dword [esi + eax*8 - 0xbde0]
xor eax, ebx
xor eax, 0xc9a7a003
sub eax, 0xdfa09fb3
not dx
bswap eax
ror ecx, 0x9f
neg eax
call fcn.009a5c83
xor ecx, 0xd4182f05
rol al, 1
xchg ecx, edx
dec dl
xor al, 8
rol edx, 0x2f
xor bl, al
push ecx
push ecx
shl dword [esp + edx - 0x17826a0c], 0x8e
lea eax, [esp + eax + 8]
neg dword [esp + edx - 0x17826a08]
dec dl
setae cl
mov dx, word [eax + edx*4 - 0x5e09a82c]
lea ebp, [ebp + ecx*2 - 4]
mov eax, 0xd987f3af
sub dword [esp + ecx*2 + 2], ecx
call fcn.0084583e