Function at 0x81c601
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Execute anti-debugging instructions
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov byte [esp + 0x31d], cl
cmp dx, 0x70f
mov byte [esp + 0x31e], 0x62
rcr dl, 0xe1
mov byte [esp + 0x320], bl
mov byte [esp + 0x464], cl
bts si, ax
mov byte [esp + 0x465], 0x62
mov byte [esp + 0x467], 0x5f
mov byte [esp + 0x468], 0x66
add esi, ecx
rcl dl, cl
mov byte [esp + 0x469], cl
jmp 0x716626
mov byte [esp + 0x593], 0x70
sbb si, ax
mov byte [esp + 0x594], 0x4d
mov byte [esp + 0x595], 0x67
btc esi, 0x87
rcl esi, 0x2a
mov byte [esp + 0x596], 0x72
mov byte [esp + 0x597], bl
btc si, 0x85
mov byte [esp + 0x300], 0x4c
mov byte [esp + 0x301], cl
shr si, 0x92
mov byte [esp + 0x302], 0x67
test di, dx
mov byte [esp + 0x303], 0x69
mov byte [esp + 0x304], 0x6e
stc
mov byte [esp + 0x305], 0x32
bsf si, sp
mov byte [esp + 0x306], 0x37
inc esi
mov byte [esp + 0x307], 0x30
btr esi, 0xe0
mov byte [esp + 0x308], 0x2e
mov byte [esp + 0x309], 0x44
mov byte [esp + 0x30a], 0x4c
xchg esi, esi
mov byte [esp + 0x30b], 0x4c
mov byte [esp + 0x30c], bl
mov byte [esp + 0x2f4], 0x48
add esi, edi
movzx esi, dx
mov byte [esp + 0x2f5], al
or si, bx
jmp 0x749602
push eax
setae ah
mov ah, 0x6d
push ecx
jmp 0x69cdb2
mov byte [esp + 0x3a9], bl
mov byte [esp + 0x2dc], 0x23
mov byte [esp + 0x2dd], 0x33
btr si, cx
sar esi, 0x25
mov byte [esp + 0x2de], 0x32
mov byte [esp + 0x2df], 0x37
mov esi, 0x1afd184e
bt esi, ebx
mov byte [esp + 0x2e0], 0x37
bswap esi
add esi, ebp
mov byte [esp + 0x2e1], 0x30
mov byte [esp + 0x2e2], bl
adc esi, ebp
bt esi, ebx
mov byte [esp + 0x35c], 0x43
bts si, ax
cmc
xadd esi, esi
mov byte [esp + 0x35d], cl
mov byte [esp + 0x35e], 0x6d
btr si, bp
mov byte [esp + 0x35f], 0x62
adc si, 0x5556
and si, cx
mov byte [esp + 0x360], cl
rcr esi, 6
sub si, sp
mov byte [esp + 0x361], 0x4c
xchg esi, esi
btr si, 0x47
test sp, bp
mov byte [esp + 0x362], 0x42
shrd si, si, 0x91
ror si, 0xd6
mov byte [esp + 0x363], cl
mov byte [esp + 0x364], 0x78
mov byte [esp + 0x365], bl
mov byte [esp + 0x44c], 0x70
mov byte [esp + 0x44d], 0x63
add si, sp
mov byte [esp + 0x44e], 0x68
mov byte [esp + 0x44f], 0x75
or esi, eax
mov byte [esp + 0x450], 0x6e
mov byte [esp + 0x451], 0x74
mov byte [esp + 0x452], al
mov byte [esp + 0x453], 0x72
mov si, 0x2bc1
and esi, esi
mov byte [esp + 0x454], bl
not si
mov byte [esp + 0x440], 0x50
and esi, esi
mov byte [esp + 0x441], 0x43
mov byte [esp + 0x442], 0x48
mov byte [esp + 0x443], 0x75
clc
shld esi, eax, 0xbc
mov byte [esp + 0x444], 0x6e
not esi
or esi, edi
movsx esi, di
mov byte [esp + 0x445], 0x74
mov byte [esp + 0x446], al
mov byte [esp + 0x447], 0x72
mov esi, esi
mov byte [esp + 0x448], bl
shld si, di, 0x48
add esi, 0x461e1984
mov byte [esp + 0x37c], 0x54
bt si, cx
sbb esi, 0x36884cc6
bswap esi
mov byte [esp + 0x37d], al
sbb si, 0x2081
or esi, edi
mov byte [esp + 0x37e], dl
neg esi
mov byte [esp + 0x37f], 0x6c
bsf si, sp
mov byte [esp + 0x380], 0x61
bt si, 0x6a
test cx, bp
mov byte [esp + 0x381], bl
adc esi, esp
test ch, 0xe2
mov byte [esp + 0x3ec], 0x54
bt esi, edi
bswap si
mov byte [esp + 0x3ed], 0x68
adc esi, esp
mov byte [esp + 0x3ee], 0x75
sub si, ax
and esi, 0x7e26b33
mov byte [esp + 0x3ef], 0x6e
mov byte [esp + 0x3f0], 0x64
and si, 0x6fba
shr si, 0x4c
mov byte [esp + 0x3f1], al
sbb si, 0x1ed5
mov byte [esp + 0x3f2], 0x72
bts si, sp
mov byte [esp + 0x3f3], 0x52
adc si, bx
mov byte [esp + 0x3f4], 0x54
bsf si, bp
mov byte [esp + 0x3f5], 0x36
mov byte [esp + 0x3f6], 0x4d
mov byte [esp + 0x3f7], 0x61
adc si, sp
bt si, si
mov byte [esp + 0x3f8], 0x69
shr esi, 0xe9
and esi, esi
mov byte [esp + 0x3f9], 0x6e
sal esi, 0x8d
mov byte [esp + 0x3fa], bl
test ecx, 0x8c64c06
not esi
ror esi, 0x12
mov byte [esp + 0x5e4], 0x54
mov byte [esp + 0x5e5], 0x68
mov byte [esp + 0x5e6], 0x75
adc esi, 0x5d785d12
sbb si, di
mov byte [esp + 0x5e7], 0x6e
cmc
test dl, al
mov byte [esp + 0x5e8], 0x64
bts si, sp
bsr si, si
and esi, ecx
mov byte [esp + 0x5e9], al
jmp 0x79e3e4
mov eax, 0x13cc
jmp 0x7b7bf5
mov byte [esp + 0x46a], 0x72
sal dl, cl
mov byte [esp + 0x46b], 0x6d
mov byte [esp + 0x46c], bl
mov byte [esp + 0x3fc], cl
ror dl, cl
dec esi
mov byte [esp + 0x3fd], 0x62
mov si, bp
mov byte [esp + 0x3ff], 0x5f
mov byte [esp + 0x400], 0x61
shr dl, 0x75
mov byte [esp + 0x401], 0x70
shl dl, 0xfd
mov byte [esp + 0x402], 0x70
jmp 0x763ae5
mov byte [esp + 0x3b2], 0x45
mov byte [esp + 0x3b3], 0x6e
setle dl
sar esi, 0x74
xchg si, si
mov byte [esp + 0x3b4], 0x67
mov byte [esp + 0x3b5], 0x69
stc
clc
mov byte [esp + 0x3b6], 0x6e
sar si, 0x99
ror esi, 0x1a
mov byte [esp + 0x3b7], al
mov byte [esp + 0x3b8], bl
shr dl, 0x1a
mov byte [esp + 0x60c], 0x54
rol si, 0x5f
cmp edx, 0x3e9e270a
mov byte [esp + 0x60d], 0x56
add si, 0x4bc2
rcl dl, 0xb9
bt si, ax
mov byte [esp + 0x60e], 0x61
mov byte [esp + 0x60f], 0x6c
cmp di, 0x1913
mov byte [esp + 0x610], 0x75
shl dl, 0xbe
shl dl, cl
add dl, 0x28
mov byte [esp + 0x611], al
rol dl, 0xc9
mov byte [esp + 0x612], 0x43
mov byte [esp + 0x613], 0x68
sal si, 0xba
mov byte [esp + 0x614], 0x61
sar dl, 0xd4
mov byte [esp + 0x615], 0x6e
mov esi, ebp
mov byte [esp + 0x616], 0x67
shr si, 0xaf
sbb dl, dl
ror dl, 0xc3
mov byte [esp + 0x617], al
inc dl
mov byte [esp + 0x618], 0x46
mov byte [esp + 0x619], cl
add esi, 0x57279f7
mov byte [esp + 0x61a], 0x72
btc esi, esp
mov byte [esp + 0x61b], 0x6d
shr dl, cl
test dx, 0x3990
mov byte [esp + 0x61c], bl
btr esi, 0xef
mov byte [esp + 0x488], 0x72
not dl
adc dl, 0x6e
mov byte [esp + 0x489], 0x61
test cx, cx
mov byte [esp + 0x48a], 0x70
cmp cl, 0xec
mov byte [esp + 0x48b], 0x68
mov byte [esp + 0x48c], 0x20
inc si
shld esi, esi, 0xe8
mov byte [esp + 0x48d], 0x2d
mov byte [esp + 0x48e], 0x20
sub dl, 0xbf
xor si, si
mov byte [esp + 0x48f], 0x5b
mov byte [esp + 0x490], bl
inc esi
sal esi, 0x40
mov byte [esp + 0x3e4], 0x2e
mov byte [esp + 0x3e5], 0x53
xor dl, 0xbf
sub esi, 0x527a1d9f
mov byte [esp + 0x3e6], 0x50
add dl, al
mov byte [esp + 0x3e7], 0x4b
rcl dl, 0xb3
rol dl, cl
inc esi
mov byte [esp + 0x3e8], 0x58
mov si, 0x68c1
add dl, cl
mov byte [esp + 0x3e9], 0x5d
sub si, sp
cmp edi, 0x6b8940c9
mov byte [esp + 0x3ea], bl
shl si, 0xec
test esp, esp
mov byte [esp + 0x434], 0x5b
mov byte [esp + 0x435], cl
clc
neg dl
mov dl, 0x73
bswap esi
mov byte [esp + 0x436], 0x6e
mov byte [esp + 0x437], 0x68
mov byte [esp + 0x438], cl
and esi, ebp
sub esi, eax
mov byte [esp + 0x439], cl
bsf si, sp
mov byte [esp + 0x43a], 0x6b
bsr esi, ebx
ror si, 0x6c
mov byte [esp + 0x43b], 0x2e
rcr esi, 0xc1
shl si, 0x3e
mov byte [esp + 0x43c], bl
sub esi, ebx
and esi, edi
mov byte [esp + 0x3a4], 0x2e
mov byte [esp + 0x3a5], dl
mov byte [esp + 0x3a6], al
mov byte [esp + 0x3a7], 0x72
mov byte [esp + 0x3a8], 0x5d
jmp 0x68b0d0
mov byte [esp + 0x2f6], 0x6c
neg si
jmp 0x74a0a8
mov byte [esp + 0x2f7], 0x70
mov byte [esp + 0x2f8], al
btc esi, ecx
mov byte [esp + 0x2f9], 0x72
mov byte [esp + 0x2fa], 0x2e
mov byte [esp + 0x2fb], 0x64
and esi, 0x6f3a3f57
mov byte [esp + 0x2fc], 0x6c
sal si, 0xfa
test bp, 0xfa1
rcl esi, 0x7f
mov byte [esp + 0x2fd], 0x6c
btr esi, 0x5d
rcl si, 0xeb
sal si, 0x30
mov byte [esp + 0x2fe], bl
btc esi, 0xd5
mov byte [esp + 0x284], dl
inc esi
bt si, 0xeb
mov byte [esp + 0x285], dl
xchg si, si
btr si, bp
mov byte [esp + 0x286], 0x2e
mov byte [esp + 0x287], 0x6d
rcl si, 0x51
rol esi, 0xb7
mov byte [esp + 0x288], 0x70
mov byte [esp + 0x289], 0x33
xchg si, si
mov byte [esp + 0x28a], bl
add si, ax
mov byte [esp + 0x2bc], 0x70
mov esi, eax
cmc
mov byte [esp + 0x2bd], dl
mov byte [esp + 0x2be], 0x64
cmc
mov byte [esp + 0x2bf], 0x2e
mov byte [esp + 0x2c0], 0x64
bswap esi
mov byte [esp + 0x2c1], 0x6c
movzx esi, bp
mov byte [esp + 0x2c2], 0x6c
bswap si
mov byte [esp + 0x2c3], bl
or esi, edx
mov byte [esp + 0x2b4], 0x4f
mov byte [esp + 0x2b5], 0x43
rcl si, 0x84
btr esi, 0xf2
bswap si
mov byte [esp + 0x2b6], 0x52
cmp di, sp
jmp loc.0040efde
mov byte [esp + 0x403], bl
mov byte [esp + 0x3dc], 0x57
ror dl, 0xd7
mov byte [esp + 0x3dd], 0x69
sub esi, edi
mov byte [esp + 0x3de], 0x6e
sbb dl, 0x9b
rcr dl, cl
mov byte [esp + 0x3df], 0x64
cmp esp, 0x66457a50
shr dl, 0x2c
sal dl, 0x15
mov byte [esp + 0x3e0], cl
test ecx, esi
stc
mov byte [esp + 0x3e1], 0x77
bt esi, 0x79
adc esi, 0x50ffa
mov byte [esp + 0x3e2], bl
not si
shld esi, ebp, 0x9e
mov byte [esp + 0x3ac], 0x43
mov byte [esp + 0x3ad], 0x68
bts esi, ebx
btr esi, 0x26
mov byte [esp + 0x3ae], al
xchg si, si
mov byte [esp + 0x3af], 0x61
shl dl, cl
mov byte [esp + 0x3b0], 0x74
mov byte [esp + 0x3b1], 0x20
bts si, di
jmp 0x72d567
mov byte [esp + 0x5ea], 0x72
bsr si, di
btr si, 0x13
mov byte [esp + 0x5eb], 0x52
btr si, 0x54
movzx esi, sp
xadd esi, esi
mov byte [esp + 0x5ec], 0x54
clc
btc esi, 0x29
mov byte [esp + 0x5ed], 0x36
mov byte [esp + 0x5ee], 0x46
mov byte [esp + 0x5ef], cl
mov byte [esp + 0x5f0], 0x72
mov byte [esp + 0x5f1], 0x6d
mov byte [esp + 0x5f2], 0x44
mov byte [esp + 0x5f3], 0x43
shld esi, edx, 0x3b
and si, 0x330e
mov byte [esp + 0x5f4], bl
mov byte [esp + 0x588], 0x56
bt si, ax
mov byte [esp + 0x589], 0x42
btc esi, esp
xadd esi, esi
mov byte [esp + 0x58a], 0x4d
sbb si, 0xfdd
mov byte [esp + 0x58b], dl
mov byte [esp + 0x58c], cl
bt esi, ebp
bts esi, ebp
test esi, 0x67ed6dd1
mov byte [esp + 0x58d], 0x53
mov byte [esp + 0x58e], 0x74
xchg esi, esi
btr si, 0x40
mov byte [esp + 0x58f], 0x64
sar esi, 0x93
mov byte [esp + 0x590], 0x43
not esi
dec esi
mov byte [esp + 0x591], cl
stc
mov byte [esp + 0x592], 0x6d
jmp 0x50d28e
call fcn.00444fa0
mov eax, dword [0x4ebe10]
xor eax, esp
sub dl, dl
and dl, 0x55
cmp si, di
mov dword [esp + 0x13c8], eax
push ebx
add al, al
push esi
push edi
xor cl, 0xfa
mov eax, dword [0x4ebe10]
xor eax, esp
shld esi, ebp, 0xd8
push eax
lea eax, [esp + 0x13e0]
test dh, 0xe0
shr cl, cl
mov dword fs:[0], eax
xor ebx, ebx
stc
sar cl, 0xe8
mov cl, 0x6f
cmc
mov al, 0x6a
xchg dl, dl
xor si, 0x34da
mov byte [esp + 0x31f], al
mov si, si
mov dl, 0x7c
mov byte [esp + 0x466], al
mov byte [esp + 0x3fe], al
mov al, 0x65
add dl, cl
mov byte [esp + 0x31c], 0x5f
jmp 0x5006be
push ebp
mov ebp, esp
and esp, 0xfffffff8
nop
movzx eax, ax
setns al
push 0xffffffffffffffff
mov al, ch
push 0x4b9102
setbe ah
xchg al, al
cbw
mov eax, dword fs:[0]
jmp 0x5a605e