Function at 0x874cfc
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ecx
adc ebp, eax
rol edx, 0x3a
mov edx, dword [esi + ecx*4 - 0x31caca00]
inc cl
js 0x89c611
mov edx, 0x6ba9de3f
movzx ebp, dl
xor ebp, 0x7aa9094
mov edx, dword [edx + edi - 0x6ba9de3f]
lea edi, [ebp + edi - 0x7aa90a7]
dec ebp
mov esi, edx
mov ebp, edi
mov eax, 0x6a323426
movsx edx, al
jno fcn.009a6f3c
mov eax, dword [edi]
mov esi, 0x8dbe9c11
movzx edx, si
lea edi, [edi + edx - 0x9c0d]
btr esi, edx
push esi
push edx
mov esi, eax
mov ebp, edx
xchg dword [esp + edx - 0x9c0d], ebp
rol byte [esp + edx - 0x9c0b], 2
mov ebp, edi
pop eax
pop edx
jae fcn.009a6f3c
lea edx, [eax + edx - 0x350931ab]
xor ebx, edx
cwde
add esi, edx
ror word [esp + eax - 0x159e], cl
jb 0x976dd2
mov edx, 0x77058105
shl dl, 0xc4
bswap edx
lea ebp, [ebp + edx - 0x5081057b]
mov eax, dword [ebp + edx - 0x50810577]
btr edx, edx
mov ecx, edx
and edx, ecx
xor eax, ebx
imul edx, ecx
adc cl, ch
xor eax, 0xf2a37433
xchg edx, ecx
bswap edx
bts edx, edx
inc eax
btc ecx, ecx
jb 0x88a6f8
mov eax, dword [edi + ecx - 0x4ae46d56]
lea edi, [edi + ecx - 0x4ae46d56]
not edx
sal cl, 0x27
sar ecx, 0x18
btr cx, cx
not eax
or edx, eax
mov dword [edi + ecx - 0x4a], edx
lea edx, [ecx + ecx*8 - 0x6043adde]
jmp ebp
or eax, dword [esp + edx - 0xc60e]
bt edx, 0x81
lea esi, [edx + esi - 0xc616]
movzx edx, byte [esi + edx - 0xc615]
lea ecx, [eax + eax*4 - 0x415663cd]
xor dl, bl
mov dword [esp], eax
neg dl
push ecx
dec dl
sal byte [esp + 0xf], 0x81
rol dl, 1
and word [esp + 0xd], 0x171b
adc ecx, ecx
jbe 0x89ca61
sub esi, 4
mov edx, 0x500001af
mov ecx, dword [esi + edx - 0x500001af]
lea eax, [edx*4 - 0x6b5e25fc]
dec dx
xor ecx, ebx
bts edx, 7
jb 0x8e551c
neg eax
or dx, cx
ror eax, 1
sal edx, 0x63
xor ebx, eax
xadd edx, ecx
shl edx, cl
add esi, eax
ror dl, 0x66
shl edx, 0x67
lea ebp, [ebp + edx - 0x63ec8002]
movzx ecx, word [ebp + edx - 0x63ec8000]
xor cx, bx
bts dx, dx
call fcn.0092bcfd
xor edx, 0x13b20617
setnp al
neg ecx
shr dx, 0xc2
xor ebx, ecx
xchg al, dl
add edi, ecx
xor dx, dx
movsx ecx, ax
lea esi, [esi + edx*2 - 0x8e80004]
rol eax, 0xdf
btc eax, ecx
add dl, 0x2b
mov ecx, dword [esi + edx*2 - 0x8e80056]
and edx, edx
shl dx, 0xcd
xor ecx, ebx
or edx, edx
jns 0x968100
adc ecx, eax
xor edx, 0x403a9d09
dec edx
xor ebx, edx
add ebp, edx
lea edx, [eax + ecx - 0x58ca8761]
sub cl, dh
and ax, 0x298e
je fcn.0084da17
pushfd
push ebx
call fcn.0090e1d0
mov ecx, 0xb3365a1c
sub esi, 4
mov ecx, dword [esi]
push 0x453cc1bc
mov edx, 0x9da19695
xor ecx, ebx
sal dword [esp], 0x19
call fcn.009be6dd
mov edx, dword [edi + 4]
bt ecx, ecx
mov eax, dword [esi + ecx*2 - 0x18e564fe]
setno cl
adc dword [esp + ecx*8 - 0x63959000], ecx
jl 0x89753e
sbb dl, 3
not cx
xor bl, dl
sal cl, 0x67
call fcn.0084dae4
not al
bswap ecx
sub al, dh
lea ecx, [ecx + edx*4 - 0x55fa3519]
je 0x86e488
or eax, edx
xor eax, edx
bswap ecx
not ecx
add eax, 0xfb1adcb9
call fcn.0086c35c
xor ebx, eax
and cl, ch
jnp 0x845586
call fcn.008664a5
adc edi, 1
jmp 0x94c866
jno 0x88f424
mov eax, 0x871af482
mov ecx, dword [esi]
add eax, 0x2d2cef9e
movzx edx, ax
rol dx, 0x6e
lea esi, [esi + edx - 0x3904]
sub dl, ah
cwde
xor ecx, ebx
jmp 0x988c30
adc edi, 4
shl dl, 0xc7
and al, cl
shr edx, 0x3d
not al
call fcn.00913730
and dword [ebp - 0x54], ebx
mov edi, 0x3317943f
lahf
sbb byte [esi], 0xe6
xchg edx, eax
sub eax, dword ss:[ebp + 0x5dbad2e2]
mov esi, 0xff4dd67
invalid
not ecx
inc eax
bswap ecx
rol ecx, 1
xadd ax, dx
shr eax, 0x5f
lea ecx, [ecx + eax*2 - 0x6f2b5083]
neg ecx
cbw
add ecx, eax
cdq
xor ecx, 0x4a99d016
neg dx
jae 0x93e9a7
pop edx
pop eax
jb fcn.00880f1a
push edx
xor ecx, ebx
xor word [esp + edx - 0x28], 0xbd2b
setg dl
cwde
inc ecx
neg ecx
xor dword [esp + eax*2 - 0xd050], eax
not ecx
shl eax, 0xe2
ror eax, 0x43
mul edx
adc ecx, 0xbb39d503
pop edx
shr eax, 0xaf
xor ecx, 0x18a3602a
not al
sub eax, eax
or eax, edx
lea ecx, [ecx + eax*2 + 0x5e9a6fc9]
jnp 0x890166
shl eax, 0x65
shl dl, 1
xor ebx, ecx
cwd
push edx
xor dl, 0x99
adc ebp, ecx
and eax, 0x240f33a8
lea ecx, [edx*4 - 0x22c68265]
rol edx, cl
mov eax, dword [edi + eax*4 - 0x288480]
xadd cl, dh
jns 0x934786
xor cl, bl
sub dword [esp], edx
shr dl, 0xc3
rol cl, 1
shr ax, 1
xchg byte [esp + 1], dh
bts dx, 0x25
dec cl
pop eax
rol cl, 1
neg cl
ror cl, 1
add cl, 0x29
ror eax, 0x92
add dword [esp + eax - 0x7fc1fc0c], edx
xor cl, 0x10
add al, byte [esp + eax - 0x7fc1fc0a]
cbw
shr eax, 0x50
xor bl, cl
push edx
lea ecx, [esp + ecx + 8]
movzx dx, byte [ecx + eax*8 - 0x3fe08]
lea ecx, [eax + eax + 0x2f98ed38]
btr cx, ax
cbw
lea edi, [edi + eax*8 - 0x7fe0a]
mov word [edi + ecx - 0x2f99ecb8], dx
movsx edx, ax
sub ax, dx
pop edx
pop ecx
jge fcn.00880f1a
not ecx
cbw
bswap ecx
jmp 0x41f195