Function at 0x10016140
Capabilities:
Execute anti-debugging instructions

Disassembly:
lea esp, [esp + 4]
and ah, 0x2b
mov eax, dword [0x1008d8fc]
cmc
cmp dword [eax + 0x144], 0x40
jne 0x1020f3aa
mov ecx, dword [0x1008d8fc]
cmp dword [ecx + 0x28], 0xa
jne 0x102193e8
mov edx, dword [0x1008d8fc]
cmc
cmp dword [edx + 0x2c], 0
jmp 0x1001721d
mov byte [ebp - 0x71], 0x68
xadd ax, cx
rol dx, 0x95
mov byte [ebp - 0x70], 0xff
rol ch, cl
mov byte [ebp - 0x6f], 0xff
rcl dl, 0x8f
mov byte [ebp - 0x6e], 0xff
movsx dx, dh
cdq
cwde
mov byte [ebp - 0x6d], 0xff
cwd
adc eax, esp
bt ecx, 0x86
mov byte [ebp - 0x6c], 0xdd
mov byte [ebp - 0x6b], 0xdd
bt edx, 0x8e
shl ah, 0x24
mov byte [ebp - 0x6a], 0xdd
seta cl
bts ecx, edi
sub edx, edi
mov byte [ebp - 0x69], 0xdd
sar ah, 0x39
cwde
mov byte [ebp - 0x68], 0xdd
adc ah, 0x9e
mov byte [ebp - 0x67], 0xdd
shl eax, 0x93
cmovae edx, esi
mov byte [ebp - 0x66], 0xdd
mov byte [ebp - 0x65], 0x83
cdq
mov byte [ebp - 0x64], 0xc4
bts ecx, esi
mov byte [ebp - 0x63], 4
mov byte [ebp - 0x62], 0xc2
bt eax, ebx
lahf
mov byte [ebp - 0x61], 0
cbw
cdq
mov byte [ebp - 0x60], 0
shl dl, 0x35
mov edx, 1
not al
adc ch, 0x80
shl edx, 0
movzx ecx, di
mov eax, dword [ebp + 8]
test bp, 0xea1d
mov dword [ebp + edx - 0x80], eax
movsx ecx, di
mov ecx, 1
sar dx, cl
shr dl, cl
sub ax, 0xc81a
imul edx, ecx, 6
test edx, 0x6e800310
mov eax, dword [ebp + 0xc]
mov dword [ebp + edx - 0x80], eax
mov ecx, 1
shl ax, cl
imul edx, ecx, 0xb
rol ah, 0x81
mov eax, dword [ebp + 0x14]
dec cl
test bx, 0xb38b
mov dword [ebp + edx - 0x80], eax
shl dx, 0xa7
mov ecx, dword [ebp - 0xcc]
ror ax, cl
setns al
jmp loc.10210d58
push ebp
mov ebp, esp
sub esp, 0xec
mov eax, dword [0x10048004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0xcc], ecx
push 0x10045bec
jmp 0x100069a5
jne 0x102193e8
mov eax, dword [ebp - 0xcc]
test bl, 0xa
xadd ch, ch
rcr ch, 0x1e
movzx ecx, byte [eax + 0x68]
test edi, 0xd289ec08
test ecx, ecx
je 0x1021aede
mov byte [ebp - 0xac], 0xb8
bsr eax, ebp
add ch, bl
btc edx, esp
mov byte [ebp - 0xab], 0xff
mov byte [ebp - 0xaa], 0xff
and ecx, eax
mov byte [ebp - 0xa9], 0xff
mov byte [ebp - 0xa8], 0xff
xadd cl, ah
bsr cx, sp
mov byte [ebp - 0xa7], 0xe8
bsf cx, ax
mov byte [ebp - 0xa6], 3
sub dx, bp
mov byte [ebp - 0xa5], 0
bts cx, si
mov byte [ebp - 0xa4], 0
mov byte [ebp - 0xa3], 0
mov byte [ebp - 0xa2], 0xc2
shld cx, dx, 0x8d
and cl, 0x88
sal dl, cl
mov byte [ebp - 0xa1], 0
inc ax
mov byte [ebp - 0xa0], 0
mov byte [ebp - 0x9f], 0xff
mov byte [ebp - 0x9e], 0xff
mov byte [ebp - 0x9d], 0xff
stc
cwde
mov byte [ebp - 0x9c], 0xff
btr cx, 0x31
inc edx
mov byte [ebp - 0x9b], 0xff
mov byte [ebp - 0x9a], 0xff
rcl cx, 0x31
stc
mov byte [ebp - 0x99], 0xff
movsx ecx, dx
mov byte [ebp - 0x98], 0xff
adc dx, 0x515
mov byte [ebp - 0x97], 0xff
cbw
add ax, bx
mov byte [ebp - 0x96], 0xff
mov byte [ebp - 0x95], 0xff
adc ax, 0x694
mov byte [ebp - 0x94], 0xff
lahf
bts eax, eax
mov byte [ebp - 0x93], 0xff
cwd
mov byte [ebp - 0x92], 0xff
sbb ecx, ebx
mov byte [ebp - 0x91], 0xff
rol dh, 0x29
mov byte [ebp - 0x90], 0xff
and dh, 0
mov byte [ebp - 0x8f], 0xff
bt dx, cx
shl dl, cl
rol cx, 0x8b
mov byte [ebp - 0x8e], 0xff
sbb cx, dx
xor ch, 0x28
movsx edx, di
mov byte [ebp - 0x8d], 0xff
sal eax, cl
cbw
mov byte [ebp - 0x8c], 0xff
xchg cx, ax
shr edx, 0xab
sar ch, 0xb
mov byte [ebp - 0x8b], 0xff
dec ah
movsx eax, cx
mov byte [ebp - 0x8a], 0xff
mov byte [ebp - 0x89], 0xff
bt cx, 0x39
clc
lahf
mov byte [ebp - 0x88], 0xff
mov byte [ebp - 0x87], 0xff
rol eax, cl
mov byte [ebp - 0x86], 0xff
adc cx, di
neg dh
or ecx, ebp
mov byte [ebp - 0x85], 0xff
mov byte [ebp - 0x84], 0xff
bts ax, cx
cdq
mov byte [ebp - 0x83], 0xff
cdq
adc dx, di
mov edx, 1
rol ah, 0x3c
cwde
or ch, 0x2b
shl edx, 0
bswap cx
btc cx, si
btr eax, 0xc
mov eax, dword [ebp + 8]
test bp, bp
mov dword [ebp + edx - 0xac], eax
inc ax
clc
cdq
mov ecx, dword [ebp + 0x10]
bsf ax, cx
rol dx, cl
shl ecx, 2
rol ax, cl
mov edx, 1
cmovae eax, ecx
xadd al, ah
imul eax, edx, 0xb
jmp loc.10210406
mov byte [ebp - 0x80], 0xb8
btr ax, di
btr edx, 0xb4
shl eax, cl
mov byte [ebp - 0x7f], 0xff
ror edx, 0x18
mov byte [ebp - 0x7e], 0xff
btc ax, si
lahf
sub ax, 0xc00f
mov byte [ebp - 0x7d], 0xff
bt eax, esi
btc ax, 0x18
mov byte [ebp - 0x7c], 0xff
test di, 0xa525
mov byte [ebp - 0x7b], 0xb9
movzx ax, ah
xchg ecx, ecx
mov byte [ebp - 0x7a], 0xff
xor ah, 0x92
rcl dl, 0xb3
mov byte [ebp - 0x79], 0xff
mov byte [ebp - 0x78], 0xff
bt cx, di
btr dx, 0x85
cmc
mov byte [ebp - 0x77], 0xff
shr dl, cl
sal edx, 0xb5
add edx, 0x6ea10516
mov byte [ebp - 0x76], 0xba
cmp eax, eax
mov byte [ebp - 0x75], 0xff
sbb dx, 0x6c8d
shr al, 0xa0
mov byte [ebp - 0x74], 0xff
bts dx, ax
mov byte [ebp - 0x73], 0xff
xadd dx, ax
mov byte [ebp - 0x72], 0xff
jmp 0x1000cc15
mov eax, dword [0x1008d8fc]
cmp dword [eax + 0x28], 6
jne 0x1002285c
mov ecx, dword [0x1008d8fc]
cmp dword [ecx + 0x2c], 0
jne 0x1002285c
mov byte [ebp - 0x5c], 0xb8
cmp si, ax
btr edx, esp
xor dl, 0xb7
mov byte [ebp - 0x5b], 0xff
cbw
cwd
mov byte [ebp - 0x5a], 0xff
mov byte [ebp - 0x59], 0xff
cbw
adc edx, ebp
mov byte [ebp - 0x58], 0xff
ror dl, 0x9b
shr ax, 0x20
mov byte [ebp - 0x57], 0xb9
mov byte [ebp - 0x56], 0xff
test bp, 0xe5ba
sub dx, si
cmovnp dx, bx
mov byte [ebp - 0x55], 0xff
cwde
mov byte [ebp - 0x54], 0xff
rol ch, 0x2e
shr dx, 0x15
cwde
mov byte [ebp - 0x53], 0xff
mov byte [ebp - 0x52], 0xba
rcr ecx, 0x29
sub cl, ch
shr al, cl
mov byte [ebp - 0x51], 0xff
mov byte [ebp - 0x50], 0xff
sal cl, cl
mov byte [ebp - 0x4f], 0xff
sbb dh, 0x35
cwde
mov byte [ebp - 0x4e], 0xff
add ah, 0xab
mov byte [ebp - 0x4d], 0x68
sub dh, 0x1e
btc ax, 0xae
mov byte [ebp - 0x4c], 0xff
movsx ecx, di
stc
mov byte [ebp - 0x4b], 0xff
xor ch, 0x9a
mov ecx, 0x932e7790
mov byte [ebp - 0x4a], 0xff
movzx cx, ah
mov byte [ebp - 0x49], 0xff
mov byte [ebp - 0x48], 0xdd
or ax, 0xc726
shrd ax, sp, 0xab
sar edx, cl
mov byte [ebp - 0x47], 0xdd
jmp loc.10017b71
mov byte [ebp - 0x14], 0xb8
rcl edx, cl
bsf dx, sp
bt cx, di
mov byte [ebp - 0x13], 0xff
ror ax, 0x31
mov byte [ebp - 0x12], 0xff
mov byte [ebp - 0x11], 0xff
rol eax, 0x9f
cdq
mov byte [ebp - 0x10], 0xff
sbb cx, 0xf516
mov byte [ebp - 0xf], 0xba
mov byte [ebp - 0xe], 0xff
mov byte [ebp - 0xd], 0xff
or ah, 0xae
movzx cx, dl
mov byte [ebp - 0xc], 0xff
xor ah, 0x93
btr ax, ax
mov byte [ebp - 0xb], 0xff
sub cx, ax
mov byte [ebp - 0xa], 0xcd
mov byte [ebp - 9], 0x2e
mov byte [ebp - 8], 0xc3
clc
mov edx, 1
cbw
shl edx, 0
bswap ecx
rcr cx, 0x2b
lahf
mov eax, dword [ebp + 8]
mov dword [ebp + edx - 0x14], eax
mov ecx, 1
btc dx, 9
sbb al, 0x29
imul edx, ecx, 6
xchg ch, cl
mov eax, dword [ebp + 0x14]
cmovg cx, ax
xchg ch, cl
mov dword [ebp + edx - 0x14], eax
seto dh
movsx ecx, di
mov ecx, dword [ebp - 0xcc]
cmovnp ax, si
mov edx, dword [ecx]
cwde
cmovs ax, bp
mov ax, 0x4b09
mov dword [ebp - 0xc8], edx
movsx edx, dx
setl dl
mov eax, dword [ebp - 0xc8]
jmp fcn.1000f415
mov eax, dword [0x1008d8fc]
cmp dword [eax + 0x28], 6
jmp 0x1021a03c
jne 0x1020eef2
mov ecx, dword [0x1008d8fc]
clc
cmp dword [ecx + 0x2c], 2
jmp loc.10005f87
mov byte [ebp - 0x3c], 0xb8
rcl dx, cl
movsx ecx, sp
mov byte [ebp - 0x3b], 0xff
or ecx, edx
mov byte [ebp - 0x3a], 0xff
add edx, 0xcb2d032f
cmp sp, bx
mov byte [ebp - 0x39], 0xff
mov byte [ebp - 0x38], 0xff
cmp dx, 0x9596
adc dh, 0x92
mov byte [ebp - 0x37], 0xe8
dec dx
cbw
mov byte [ebp - 0x36], 3
xor cx, di
test dx, 0xd3a4
lahf
mov byte [ebp - 0x35], 0
btr eax, 0xbc
sal ecx, 0x8d
sub eax, 0x3e0abda3
mov byte [ebp - 0x34], 0
cwd
sub ch, 0x98
sar dx, 0xa1
mov byte [ebp - 0x33], 0
test esp, esp
mov byte [ebp - 0x32], 0xc2
xadd edx, edx
sbb cl, al
mov byte [ebp - 0x31], 0
rol cx, cl
mov byte [ebp - 0x30], 0
mov byte [ebp - 0x2f], 0xff
setg al
sub edx, 0x98bfa22c
mov byte [ebp - 0x2e], 0xff
mov byte [ebp - 0x2d], 0xff
shl dx, cl
movzx ax, cl
mov al, 0x2f
mov byte [ebp - 0x2c], 0xff
cmp ebx, ebp
sar ax, cl
shl edx, cl
mov byte [ebp - 0x2b], 0xff
shr ah, cl
mov byte [ebp - 0x2a], 0xff
cwde
and eax, esi
mov byte [ebp - 0x29], 0xff
rdtsc
bsr ax, ax
mov ecx, 1
btr edx, 0x16
movsx eax, ax
rol edx, 0x87
shl ecx, 0
sub ah, 0xa4
add ax, 0x4ca6
cdq
mov edx, dword [ebp + 8]
lahf
sal al, 0xab
mov dword [ebp + ecx - 0x3c], edx
test ah, 0x8e
setp ch
mov eax, dword [ebp + 0x10]
shl eax, 2
movsx edx, si
test ax, 0x396
ror edx, 0xb7
mov ecx, 1
sub edx, 0x938daf09
imul edx, ecx, 0xb
jmp loc.10022042