Function at 0x40876f
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
cmp dword [0x408784], 0xd337c7
je 0x4088c1
jmp 0x408788
mov edx, 0xfad9af9e
xor edx, 0xfd2cf5cb
mov ebx, 0xfb9408e7
call fcn.00408843
xor edx, 0xf10e0e
mov ebx, 0xff265b7e
mov ebx, 0xf903612d
mov ebx, 0xfa8353e4
xor ebx, 0xfeb17aae
cmp eax, 0xad72f29d
jne 0x401698
jmp 0x408854
jmp 0x4088c1
mov dword [0x408784], 0xd337c7
call fcn.0040886d
jmp 0x4087c8
div edx
lea edi, [eax - 0x52cf9bf5]
push ss
scasd eax, dword es:[edi]
jp 0x4088f1
sahf
jns 0x4088d7
mov eax, dword [0x2e78b416]
js 0x408903
jne 0x4088d3
stc
clc
lea esp, [eax + 0x71632622]
mov ch, 0xa3
retf
popfd
jns 0x408923
mov ecx, 0xf52cf114
invalid
cmp al, 0xa7
push ds
xor al, 0x7c
scasb al, byte es:[edi]
insd dword es:[edi], dx
add esi, edx
sar dl, 0xf9
mov dh, 0x16
cmpsd dword [esi], dword es:[edi]
invalid
jb 0x408958
inc edi
sub dword [edx - 0x5e], esi
lodsb al, byte [esi]
ret
add byte [eax], al
push 3
push 0x40876b
call fcn.00404920
cmp eax, 0
jne 0x408971
mov esp, ebp
pop ebp
ret 4
cmp dword [0x408983], 0xa9cd4d
je 0x408ac6
jmp 0x408987
mov ebx, 0xf9472032
mov edx, 0xfb624ee0
mov ebx, 0xf7f6e521
call fcn.004089f8
xor edx, 0xfd2e080e
mov ebx, 0xf89069a3
mov edx, 0xfc51877d
cmp eax, 0x16abf7e8
jne 0x401698
jmp 0x4089e0
call fcn.00408a32
mov edx, 0xdafa9ba8
jmp 0x408ac6
mov ebx, 0xdd33ccad
mov dword [0x408983], 0xa9cd4d
jmp 0x4089b8
jmp 0x408ad8
mov dword [0x408ad0], esi
mov dword [0x402ba5], 0
mov dword [0x408ac8], ebp
mov dword [0x408acc], esp
mov dword [0x408ad4], 0
pushal
mov esi, 0x416877
push esi
push dword fs:[0]
mov dword fs:[0], esp
mov esi, dword [0x408ad0]
cmp dword [0x402ba1], 1
jne 0x408b2c
mov dword [0x4086f9], 1
mov dword [ebp - 0x84], 0
rdtsc
xor eax, edx
xor edx, edx
mov ebx, 0x3e7
div ebx
mov eax, edx
add eax, 0x3e7
push eax
call dword [fcn.004294ee]
mov dword [ebp - 0x80], 0
lea eax, [ebp - 0x80]
push eax
push 8
call dword [ebp + 8]
cmp dword [ebp - 0x80], 2
je 0x408b6d
cmp dword [ebp - 0x80], 0
jne 0x408b88
mov dword [0x408767], 0
mov dword [ebp - 0x84], 1
jmp 0x416875
mov dword [0x408767], 1
mov eax, dword [0x40173f]
xor eax, 0x663e3e77
lea esi, [0x4085d6]
push esi
push 8
push eax
call fcn.004288a8
mov eax, dword [0x40173f]
xor eax, 0x3d2a3e3e
lea esi, [0x4085df]
push esi
push 8
push eax
call fcn.004288a8
push 0x4085df
push 0
call dword [0x429606]
cmp eax, 0
je 0x408be5
mov dword [ebp - 0x84], 1
jmp 0x416875
push dword [ebp + 8]
pop dword [0x4085c6]
push 0
call dword [0x42955a]
mov dword [0x408695], eax
mov dword [ebp - 0x7c], eax
push 0x4086e5
push 0x11
call dword [0x4085c6]
cmp dword [0x4086e5], 0x27
jne 0x408c1e
mov dword [0x4086ed], 1
cmp dword [0x4086e5], 0x27
je 0x408c54
cmp dword [0x4086e5], 0xf4
je 0x408c54
cmp dword [0x4086e5], 0xc
je 0x408c54
cmp dword [0x4086e5], 0xf2
je 0x408c54
cmp dword [0x4086e5], 0xb7
jne 0x408c5e
mov dword [0x4086f1], 1
call fcn.004241d3
mov dword [0x4086d1], eax
mov dword [0x408763], 0
call fcn.00416c7a
push 0
call dword [0x42966a]
mov dword [ebp - 0x74], eax
push 1
call dword [0x42966a]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x74]
sub eax, 0x3e8
shr eax, 1
mov dword [0x408745], eax
mov eax, dword [ebp - 0x78]
sub eax, 0x190
shr eax, 1
mov dword [0x408749], eax
cmp dword [0x408749], 0x64
jbe 0x408cbe
mov dword [0x408749], 0x64
push 0x418bd7
push 0x1e
push 0x22b8
push 0
call dword [0x42960e]
mov dword [0x4086d9], 0
mov dword [0x4086d5], 0
mov dword [ebp - 0x30], 0x30
mov dword [ebp - 0x2c], 3
mov dword [ebp - 0x28], 0x418f99
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
push dword [0x408695]
pop dword [ebp - 0x1c]
xor eax, eax
mov ah, 0x32
shl eax, 8
mov ah, 0x12
mov al, 0
push eax
call dword [0x4296aa]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0x4085d6
push 0x7f00
push 0
call dword [0x42960a]
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0
push 0x7f00
push 0
call dword [0x429612]
mov dword [ebp - 0x14], eax
lea ebx, [ebp - 0x30]
push ebx
call dword [0x429616]
push 0
push dword [ebp - 0x7c]
push 0
push 0
push dword [ebp - 0x78]
push dword [ebp - 0x74]
push 0
push 0
push 0x80000000
lea eax, [0x4085df]
push eax
lea eax, [0x4085d6]
push eax
push 0
call dword [0x42961a]
mov dword [0x40869d], eax
cmp dword [0x4086e5], 0x27
jne 0x416813
push 0x4086a5
push 0x4086a1
push 0x408e0f
push 0x4086a9
call fcn.0040876f
push 0x4086b1
push 0x4086ad
push 0x40ca45
push 0x4086b5
call fcn.0040876f
push 0x4086bd
push 0x4086b9
push 0x4111bb
push 0x4086c1
call fcn.0040876f
push 0x4086c9
push 0x4086c5
push 0x412439
push 0x4086cd
call fcn.0040876f
jmp 0x416813
cmp dword [0x4085ce], 0
jne 0x41683c
lea eax, [0x4085d2]
push eax
push 0
push dword [0x40869d]
lea eax, [0x41822a]
push eax
push 0
push 0
call dword [fcn.0042958a]
mov dword [0x4086d9], 0
mov dword [0x4086d5], 0
push 1
push dword [0x40869d]
call dword [0x42963e]
push dword [0x40869d]
call fcn.004177df
push dword [0x40869d]
call dword [0x42961e]
jmp 0x41689c
pop dword fs:[0]
add esp, 0x24
mov ebp, dword [0x408ac8]
mov esp, dword [0x408acc]
cmp dword [0x408ad4], 1
jne 0x4168c5
push 0x754c
call fcn.00404dad
mov dword [0x408983], 0xdc99b5
rdtsc
xor dword [0x4089e1], eax
xor dword [0x4089be], eax
xor dword [0x4089f2], eax
call fcn.004089f8
mov dword [0x4089ac], eax
call fcn.00408a32
nop
nop
push 0x40876b
call fcn.00404af0
cmp dword [ebp - 0x84], 1
jne 0x416915
push 0
call dword [0x429586]
mov esp, ebp
pop ebp
ret 4
jmp 0x416927
mov dword [0x41691f], esi
mov dword [0x402ba5], 0
mov dword [0x416917], ebp
mov dword [0x41691b], esp
mov dword [0x416923], 0
pushal
mov esi, 0x4169ad
push esi
push dword fs:[0]
mov dword fs:[0], esp
mov esi, dword [0x41691f]
push 0
push 0
push 0
lea eax, [0x408679]
push eax
call dword [0x429622]
mov dword [ebp - 0x88], eax
add dword [ebp - 0x88], 0x2ee0
and eax, eax
je 0x4169ab
lea eax, [0x408679]
push eax
call dword [0x429626]
lea eax, [0x408679]
push eax
call dword [0x42962a]
jmp 0x416968
jmp 0x4169d2
pop dword fs:[0]
add esp, 0x24
mov ebp, dword [0x416917]
mov esp, dword [0x41691b]
cmp dword [0x416923], 1
jne 0x4169fb
push 0x754d
call fcn.00404dad
mov eax, dword [0x408681]
push 0
call dword [0x429586]
mov esp, ebp
pop ebp
ret 4