Function at 0x1017079a
Capabilities:
Authenticate hmac
Encode data using xor
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
add ebp, edx
sub eax, ecx
xchg ecx, eax
jp 0x101262e2
mov edx, 0xefb7808c
mov eax, dword [edi]
lea ecx, [edx*2 + 0x3119d322]
mov cl, byte [ecx + edi - 0x1088d436]
push edx
dec word [esp]
add edi, 2
sal eax, cl
mov ecx, edx
xchg ecx, edx
xchg dword [esp], edx
mov dword [edi], eax
sub esi, 4
dec dword [esp]
mov edx, dword [esi]
mov eax, ecx
xor edx, ebx
cbw
dec word [esp + 2]
dec edx
xor edx, 0x410e39bd
imul ecx, dword [esp]
inc edx
cwde
ror word [esp + ecx - 0x70cc04], 0x87
sar cl, cl
rol edx, 3
pop ecx
rol ax, cl
xor ebx, edx
cwde
add ebp, edx
call fcn.1021f496
dec esp
mov esp, dword [edi]
mov eax, 0x9703fa07
dec eax
mov edx, dword [edi + 8]
inc esp
mov ebx, eax
movzx esi, ax
mov cl, byte [esi + edi - 0xf9f7]
inc ebp
movzx ebp, bl
call fcn.100fc514
dec ecx
add ebx, edx
inc ebp
movsx eax, bp
btc ax, dx
jb 0x1021d147
inc ecx
movzx ecx, ch
dec ebp
lea ecx, [ecx + ecx*8 - 0x584]
inc ebp
mov esp, dword [ecx + ecx - 0xb0]
dec eax
bswap ecx
inc ebp
xor esp, edi
inc esp
movzx esi, cl
inc ecx
shr esi, 0x34
inc ecx
not esp
inc ebp
movsx edx, si
inc ecx
ror esp, 2
movsx ebp, cl
inc cx
inc ecx
movzx edx, si
inc esp
add esp, ecx
movsx eax, cl
cwd
inc ecx
neg esp
inc ecx
push edi
inc esi
xor dword [esp + esi*8], esp
inc esp
movzx ebx, ch
inc ecx
pop edi
inc ecx
bswap ebx
dec ebp
arpl sp, sp
inc ecx
push esi
dec ecx
add ebx, esp
inc edx
movzx esi, word [esp + esi*2 + 3]
inc esi
and dword [esp + esi + 1], edx
inc ecx
mov eax, 0x58b5b5a5
dec edi
lea ecx, [ecx + esi*2 - 4]
inc edx
inc byte [esp + edx*2 + 6]
inc ecx
push ebx
inc ebx
mov ecx, dword [ecx + esi]
inc ebp
sub ebx, edx
inc ecx
xor ecx, edi
dec ecx
inc esi
bswap esi
dec eax
bswap ebp
rol ecx, 1
dec eax
cdq
dec eax
sal edx, 0x26
inc ecx
adc ecx, esi
dec eax
neg esi
dec eax
idiv eax
inc ecx
shl edx, 0x51
bswap ecx
xor ebx, edx
jmp 0x100e14fc
dec ax
movsx ebp, cl
ror esi, 2
neg esi
ror esi, 2
inc cx
shl edx, 0x69
not esi
inc ecx
push edi
inc eax
sbb ch, 0xf
sal ax, 0xcb
call fcn.101f9af8
adc al, 0x44
dec ebx
invalid
inc ecx
not esp
ror ebp, 1
push edx
inc ecx
xor eax, 0x6507d292
inc edx
lea ebp, [ebp + eax*2 - 0x20dedd67]
inc ecx
mov eax, eax
dec esi
mov dword [esp + ebx*8 - 0x36170], edi
inc dx
ror dword [esp + ebx - 0x6c2d], 0x23
inc esi
add bl, byte [esp + ebx - 0x6c2c]
call fcn.1010f7e9
dec ecx
adc ebx, ebp
inc ecx
btr esp, eax
inc ecx
pop eax
inc ecx
pop edx
jae fcn.10115f46
inc ecx
mov esi, 0xcc91e6a4
inc ecx
movsx edx, si
inc ecx
movzx ecx, byte [ecx - 1]
inc esp
movsx eax, dl
inc esp
movzx ebx, dl
inc ecx
xor cl, bh
inc ecx
mov esp, 0x8a21942e
add cl, 0
inc ecx
add dl, ah
inc ecx
movzx esi, ah
inc ecx
movsx ebp, dh
not cl
xor cl, 8
neg cl
inc sp
xadd edx, ebx
inc esp
movzx ebp, si
rol cl, 1
dec ecx
shr ebx, 0x79
dec bp
xor cl, 0x18
neg cl
inc ecx
push ebp
inc esp
xor bh, cl
inc ecx
sal esi, 0x17
inc ecx
push eax
dec eax
lea ecx, [esp + ecx + 0x10]
dec ecx
xchg ebx, esi
inc esp
and bl, dh
inc ecx
not ebx
inc esp
mov ebx, dword [ecx + esi]
inc esp
mov dword [esi + edi - 4], ebx
inc ecx
add esi, 0x869a350f
shr byte [esp + esi*4 + 0xf], 0x86
bt bp, bp
inc ebx
movzx ecx, byte [ecx + ebp*8 - 0x172]
inc cx
shr eax, 8
inc ecx
xor cl, bh
dec esp
lea edx, [esi + esi*8 - 0x49c3d566]
inc ecx
neg eax
xor cl, 0xd
inc ecx
shl edx, 0xbb
inc edx
shl byte [esp + eax*4 - 0x3fbff], 0x24
not cl
inc bp
add esi, eax
pop edx
sbb cl, 0xaf
sal edx, 0x93
ja 0x1015bf2b
shr dx, 0x61
not cl
inc esp
xor bh, cl
dec ecx
bt eax, 0x11
jae 0x10202b90
mov edx, 0x839bd931
lea ecx, [edx + edx*8 + 0x3a305abb]
bts dx, 0x37
sbb esi, 4
xchg dh, dl
movsx eax, cx
add cl, dl
mov edx, dword [esi]
sub eax, 0x4b950899
xor edx, ebx
xor eax, 0x821ffd1b
ror edx, 2
add ecx, eax
imul ax, cx
sub ecx, eax
lea edx, [edx + eax - 0x5da7a36d]
add ecx, 0xbc29303e
not edx
inc edx
jmp 0x100ea258
dec eax
lea ecx, [esp + ecx + 8]
inc ecx
mov ebx, 0x1e9e63a7
inc dx
mov dword [esp + eax - 0xfefd], ebp
inc ebp
mov ebp, dword [eax + ecx - 0xff01]
inc ebp
mov dword [eax + edi - 0xff09], ebp
dec edx
rol dword [esp + eax - 0xff01], 0x49
inc ecx
neg ah
dec edx
lea edi, [edi + eax*4 - 0x3fc0c]
inc esp
btr esi, esp
inc ecx
dec ah
inc si
add dword [esp + eax - 0xfefc], esi
inc ebx
mov eax, dword [ecx + eax - 0xff07]
dec edi
lea ecx, [eax + ecx - 0xff07]
inc ecx
xor eax, edi
sub eax, 0x83863438
inc eax
and dh, 0x19
or word [esp + esi], dx
neg eax
inc edx
rol byte [esp + eax - 0xfefb], 0x27
inc ecx
push esi
dec ebx
lea ecx, [esi + 0x1a29f00d]
inc edx
lea eax, [eax + eax*8 - 0x64acc592]
inc ecx
pop ebx
inc dx
add dword [esp + eax - 0xfefb], ecx
rol eax, 2
inc edx
dec byte [esp + eax*2 - 0x1fdff]
dec esi
mov dword [esp + eax - 0xff01], edi
inc ecx
push esp
dec ebp
xor edx, ebx
inc ecx
rol esp, 0x14
inc edx
xor dword [esp + eax - 0xfef9], eax
dec esi
mov edi, dword [esp + eax*4 - 0x3fbfc]
inc esi
add dword [esp + eax - 0xfefd], edx
dec esi
mov dword [esp - 0x4d18a211], esi
dec eax
arpl ax, ax
inc edx
sal dword [esp + eax*2 - 0x1fdf8], 0xd3
dec eax
adc ebx, eax
pop ebp
inc ecx
pop ebx
jmp fcn.10115f46
dec eax
add edx, ebx
jmp edx