Function at 0x1000193e
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
lea edx, [eax + edx]
push eax
push esi
bswap edx
push esi
sub edx, 0xffffff9d
push edi
mov dh, 0x65
not edx
push 0x18
mov edx, ecx
pop esi
lea edx, [ecx + eax]
xor eax, eax
or edx, 0xffffffc4
movsx edx, al
xor edi, edi
add edx, 0xffffffb2
mov edx, eax
lea eax, [eax]
lea eax, [eax]
xor edx, eax
mov dword [esp + 8], edi
imul edx, edx, 0xffffff99
pop edi
add edx, 0x47
pop esi
mov edx, edx
sub esp, 0x10
lea ebx, [ecx + eax*4]
and edx, 0xffffff99
mov dword [esp + 0xc], 0xeb873b2a
sub edx, eax
mov eax, ecx
mov dword [esp + 8], 0xc89137ba
lea edx, [eax + eax]
sub eax, ecx
xor edx, 0x12
not eax
xor eax, 0xffffff87
and ebx, 3
mov dword [esp], 0x8894b201
lea ebx, [eax + ecx]
lea edx, [ecx + ecx]
lea eax, [esp]
push ecx
sub ebx, eax
mov ecx, 0xd630
lea edx, [edx + ecx]
push ecx
sub edx, 0xffffffe6
and edx, 0x75
neg ebx
and ebx, 0xffffff93
inc ebx
push 0x10
xor eax, 0x12345600
and edx, 0xffffffce
mov dword [esp + 8], eax
sub ebx, 0x34
shl dword [esp + 0x1c], 8
add ebx, ecx
add ebx, edx
xor eax, eax
push eax
call fcn.10001929
lea eax, [eax]
or ebx, eax
mov dx, 0xa5b5
add ebx, 0x6c
imul ebx, edx, 0xd
mov eax, dword [esp - 4]
lea ebx, [ecx + eax]
lea esi, [esi]
sub edi, 0
sub ax, ax
add ebx, edx
and ebx, 0xffffffd4
mov ecx, dword [eax]
lea ebx, [ecx + eax]
dec cx
mov bl, 0xcc
and ebx, 0xffffffb2
add ecx, edx
and ebx, 0x21
and ebx, eax
dec cx
add ebx, edx
lea ebx, [eax + ecx*2]
sub ebx, 0x21
lea ebx, [eax + ecx*2]
mov ebx, eax
sub ebx, eax
sub ebx, edx
add ebx, ecx
xor ebx, 0x33
and ebx, 0xfffffffe
mov ebx, eax
lea ebx, [ecx - 0x5f]
inc ebx
add ebx, ecx
add ebx, edx
mov ebx, ecx
lea ebx, [eax - 0x4b]
sub ebx, edx
and ebx, eax
mov ax, cx
xor ebx, ecx
lea eax, [eax]
not edx
inc ecx
and ebx, 0x7b
lea ecx, [eax + 0x1d030]
xor ebx, 0xffffffd2
lea eax, [eax + 0x1dbc0]
inc ebx
inc edx
push ecx
push eax
lea edx, [eax + edx]
mov bh, 0x53
push ecx
sub edx, 7
lea ebx, [eax + ecx*4]
mov edx, edx
sub ebx, 0x5b
or edx, 0xffffffbd
and ebx, eax
and ebx, 0x2c
mov bl, 0xce
sub edx, 0xffffffc6
xor ebx, 0xffffff9d
sub ebx, 0xffffffac
lea edx, [ecx + ecx]
not ebx
or ebx, edx
lea edx, [ecx + edx]
add esi, 0
push esi
neg ebx
add dword [esp + 0x20], 0xffffffff
imul ebx, edx, 0xffffffcb
mov bh, 0xd1
and edx, 0x25
movzx ebx, cx
xor edx, 0xffffffa1
sub ebx, ecx
and edx, edx
mov ebx, edx
add edx, ecx
not edx
movsx ebx, cx
imul ebx, ecx, 0xffffff84
lea ecx, [eax + edx]
add edi, 0
push ebx
and edx, eax
lea ebx, [eax + edx]
push edi
xor ebx, eax
not edx
mov edi, dword [esp + 0x1c]
add ebx, edx
push edi
xor ebx, 0x56
push edi
mov edx, ecx
push edi
lea edx, [ecx + edx]
push edi
movzx ecx, dx
lea ecx, [edx + 0x11]
inc ebx
inc ebx
push edi
not ebx
mov edx, edx
and ebx, 0xffffffba
lea edx, [edx + ecx*2]
mov edx, eax
lea ecx, [ecx + ecx]
bswap ebx
xor ecx, ecx
and edx, 0xffffffe2
or ecx, 0xffffffa2
mov dword [esp], 0x74726946
sub ecx, 0xfffffff8
push esp
lea eax, [eax]
and edx, 0xfffffffd
push 0
add ecx, eax
add ecx, eax
push 0
sub edx, 0x2d
lea edx, [eax + edx]
push 0
inc ebx
inc edx
push 0x69
mov ebx, eax
not ecx
push edi
bswap edx
bswap edx
push edi
mov ecx, ecx
inc edx
add ebx, 0xffffffbf
lea ebx, [eax + eax*4]
sub ecx, 0x14
inc ebx
and edx, 0xfffffff3
and edx, 0x6a
or ebx, 0xffffffea
and ecx, edx
and edx, 0xffffffaa
movzx ecx, ax
add ecx, 0x43
inc ebx
inc edx
add ebx, edx
xor ecx, edx
and ecx, 0x78
push edi
lea edx, [eax + eax]
mov ecx, eax
lea ecx, [ecx + 0x75]
sub ecx, 0xffffffe7
bswap ecx
lea ebx, [ecx + ecx]
movzx edx, dx
inc ebx
movsx ebx, dx
lea ecx, [ecx + edx*2]
mov ebx, eax
sub ebx, edx
push edi
mov ecx, edx
and ebx, 0xffffff89
and ebx, 0xffffffc1
movzx ecx, dl
and edx, 0xffffffeb
mov ebx, ecx
and edx, 0xf
lea ebx, [edx + edx]
mov bh, 0x5c
movsx edx, dl
xor ebx, 0x15
inc ecx
and ebx, 0xffffffa8
or ebx, 4
and ecx, 0x60
lea ebx, [edx + ecx]
mov ch, 0xcd
and ebx, 0x28
push edi
mov ebx, ecx
and edx, 0x61
mov dh, 0x92
xor ecx, 0xffffffe8
inc edx
neg ebx
and ebx, 0x1d
sub edx, ecx
inc edx
xor ecx, ecx
imul ebx, eax, 0x6a
and edx, 0xffffffd0
add ecx, 0xffffffaa
and ebx, 0x77
lea ebx, [edx + eax]
or edx, 0x35
inc ecx
or edx, eax
and ecx, ecx
mov edx, eax
add ebx, ecx
sub edx, 0xffffff80
lea ebx, [edx + 0x18]
add ebx, edx
mov ebx, eax
mov ecx, ecx
neg ecx
add ebx, ecx
inc ecx
or edx, 0x4a
lea ecx, [eax + edx]
and edx, eax
mov bl, 7
and ebx, 0xffffffed
add byte [esp], 0x12
inc ebx
and ecx, 0x6b
inc ecx
mov edx, eax
inc ebx
xor ebx, 0x5f
sub edx, 0x41
lea ebx, [eax + eax]
mov edi, esp
movzx edx, ax
mov ecx, eax
push edi
inc edx
sub ebx, eax
neg ebx
and ebx, 0xffffffb9
add ebx, 0xffffff9f
mov dl, 0xd3
inc edx
and edx, 0x4a
lea edx, [edx + eax*4]
sub ecx, ecx
xor ebx, 0x2a
add ebx, 6
and ebx, 0x20
mov ebx, ecx
and ebx, 0xfffffff9
xor ecx, 0x51
lea ecx, [eax + eax]
lea ebx, [ecx + eax]
mov ecx, edx
inc edx
sub ecx, 0xffffff99
lea ecx, [ecx + edx]
sub edx, 0xffffff89
mov ecx, eax
movsx edx, ax
movsx edx, dl
add edx, ecx
call fcn.100017d4
sub edx, 0xffffffe5
inc ecx
lea ecx, [eax + eax]
and ebx, 0x5f
lea edx, [edx + ecx]
add ecx, 0x10
mov ebx, edx
lea ecx, [eax + ecx]
neg ebx
cmp byte [esp + 7], 0x74
je 0x1000141f
sub edx, 0xffffff81
mov dword [esp], eax
or ebx, edx
mov ecx, edx
xor dword [esp + 0x64], 0x12345600
or edx, ecx
xor ebx, eax
inc ebx
and ecx, 0xffffffbb
and ebx, 0xffffffa0
or ebx, 0x12
imul ecx, ecx, 0xb
sub edx, edx
inc ecx
mov ecx, eax
mov ax, 0x7785
inc edx
and ecx, 0xffffffa2
shl eax, 0x10
inc ecx
movsx edx, dl
mov ax, 0x97fd
and edx, 0xffffffda
add edx, 0xffffffed
push eax
imul ebx, edx, 0x1c
lea edx, [ecx + eax]
lea eax, [esp + 0x70]
sub ebx, eax
movzx ebx, dx
pop dword [eax]
sub ecx, 0x2a
mov dh, 0x17
mov ebx, eax
lea ecx, [eax + 0x2f]
xor ebx, 0x6f
mov ebx, eax
mov ch, 0x83
inc ebx
xor edx, 0xffffffae
mov ecx, ecx
add esp, 0x24
mov ebx, eax
and ecx, 0xffffff94
pop eax
lea edx, [edx + eax]
jmp 0x1000137d
lea ebx, [ecx + ecx]
push ecx
xor edx, 0x71
movsx edx, dl
push eax
lea edx, [eax + edx]
and edx, ecx
push esp
xor ebx, 0xffffffaf
not ebx
push 0x40
lea ebx, [eax + ecx]
or ebx, eax
push dword [esp + 0x48]
sub ebx, ecx
sub edx, eax
push dword [esp + 0x40]
not edx
mov ebx, edx
mov edi, esp
mov dl, 0x67
bswap ebx
push 0xffffffffffffffff
and edx, edx
mov bh, 0x5c
call eax
lea edx, [ecx + eax*2]
mov ebx, edx
add edx, ecx
neg edx
add esp, 0x20
and ebx, 0x24
add ebx, edx
pop edi
lea edx, [eax + ecx]
xor ebx, 0x6a
pop ebx
xor ebx, 0xffffffb4
inc edx
pop esi
movsx ebx, dx
sub ebx, 0x7a
sub esp, 0x108
and ebx, 0xffffffb5
inc edx
mov eax, dword [esp + 0x110]
and edx, 0x2a
sub ebx, 0x36
mov ecx, dword [esp + 0x120]
lea edx, [edx - 2]
mov ebx, edx
mov dword [esp], eax
xor ebx, 0xffffff92
and ebx, 0xffffffe2
mov dword [esp + 4], ecx
add edx, 0xffffffa6
inc ebx
xor eax, eax
movsx edx, dx
not ebx
dec eax
xor ebx, 0x7a
mov ebx, eax
xor ecx, ecx
sub ebx, 0xb
bswap ebx
mov byte [esp + 8], cl
sub ebx, 0xffffffb0
and ebx, edx
mov edx, ecx
xor ebx, eax
xor ebx, 0xffffffdf
add edx, 9
mov bh, 0xa3
add ebx, 0x31
add edx, esp
or ebx, ecx
lea ebx, [ecx + ecx]
mov byte ss:[edx], cl
or ebx, 0xffffffd9
bswap ebx
inc byte [esp + ecx + 9]
and ebx, 0x4f
xor ebx, 0xffffff8e
inc ecx
xor ebx, 0x1d
xor ebx, ecx
cmp ecx, 0xff
jb 0x100014cd
not ebx
push ebp
lea ebx, [edx + edx]
and ebx, 0xfffffffc
push esi
lea ebx, [eax + ecx]
and ebx, 0xffffff96
push edi
imul ebx, edx, 0x14
lea ebx, [edx + edx]
lea edi, [esp + 0x140]
lea ebx, [edx + edx]
inc ebx
mov eax, dword [edi]
mov ebx, ecx
lea ebx, [edx + eax]
mov edi, dword [edi + 4]
xor ebx, 0xffffffe4
mov ebx, eax
sub eax, 6
je 0x1000156d
add ebx, eax
call dword [edi + 4]
sub ebx, eax
and ebx, 0x52
call dword [edi + 0x10]
mov ebx, ecx
xor ebx, 0xffffffde
call dword [edi + 0xc]
xor ebx, 0xffffff99
sub ebx, edx
call dword [edi + 0x20]
add ebx, edx
sub ebx, ecx
call dword [edi + 4]
mov bh, 0x8b
inc ebx
iretd
not ebx
lea edi, [esp + 0x24]
not ebx
inc ebx
mov edi, dword [edi + 0x100]
and ebx, 0x53
imul ebx, ecx, 0xffffffc8
xor esi, esi
imul ebx, ecx, 0x6b
mov ebx, eax
xor eax, eax
mov bl, 0x76
or ebx, ecx
xor ebp, ebp
lea ebx, [edx + edx]
xor ebx, 0xffffff93
push ebx
xor ebx, 0x3e
lea ebx, [ecx + edx*4]
mov cl, byte [esp + ebp + 0x18]
and ebx, 0xffffffe5
movzx ebx, dx
mov edx, dword [esp + 0x14]
add ebx, edx
add ebx, edx
movzx edx, byte [edx + eax]
lea ebx, [edx + ecx]
lea ebx, [edx + eax*4]
push ecx
or ebx, 0xffffffb4
add ebx, ecx
movzx ecx, cl
lea ebx, [edx + eax]
movzx ebx, dl
add ecx, esi
sub ebx, 0xffffff9a
and ebx, 1
add edx, ecx
and ebx, 0xffffff9a
inc ebx
pop ecx
lea ebx, [ecx - 0x70]
movzx ebx, ax
movzx edx, dl
and ebx, eax
xor ebx, 0x7e
inc eax
xor ebx, 0x74
or ebx, 0x52
mov esi, edx
not ebx
and ebx, 0x60
cmp eax, edi
jb 0x10001604
sub ebx, 0xfffffff0
xor eax, eax
movsx ebx, dx
and ebx, 0xffffffd1
mov dl, byte [esp + esi + 0x18]
and ebx, 0xffffffed
add ebx, 0x6a
inc ebp
sub ebx, 0xffffffcc
sub ebx, 0xffffffb5
push eax
lea ebx, [eax + ecx]
and ebx, 0x58
lea eax, [esp + ebp + 0x1a]
mov bh, 0x2b
and ebx, eax
mov byte ss:[eax + 1], dl
lea ebx, [edx + eax]
and ebx, 0x1c
lea eax, [esp + esi + 0x1b]
neg ebx
not ebx
mov dl, cl
movzx ebx, dx
inc ebx
mov byte [eax + 1], dl
lea ebx, [ecx + ecx]
sub ebx, eax
pop eax
lea ebx, [edx + edx]
add ebx, 0x2f
mov ecx, ebp
add ebx, 0xd
add ebx, 0xffffffb6
test cl, cl
jne 0x1000159b
mov ebx, eax
xor esi, esi
add ebx, ecx
and ebx, 0x58
xor eax, eax
mov bl, 0x40
or ebx, eax
pop ebx
and ebx, 0xfffffff1
or ebx, ecx
mov ebp, dword [esp + 0x128]
sub ebx, ecx
neg ebx
mov edi, dword [esp + 0xc]
lea ebx, [eax + edx*4]
sub ebx, ecx
test ebp, ebp
jbe 0x10001796
and ebx, 0x6a
inc eax
lea ebx, [ecx + edx]
mov bl, 0x65
movzx eax, al
lea ebx, [edx + edx*2]
mov bh, 0x33
push dword [esp + eax + 0x14]
mov ebx, eax
lea ebx, [eax + edx]
pop ecx
and ebx, 0xffffff89
lea ebx, [edx + 0x52]
movzx edx, cl
bswap ebx
or ebx, 0xffffff9c
add edx, esi
inc ebx
inc ebx
movzx edx, dl
mov ebx, eax
bswap ebx
mov esi, edx
and ebx, 0x63
and ebx, 0xfffffffb
mov edx, dword [esp + esi + 0x14]
imul ebx, eax, 0x3b
movsx ebx, al
add esp, eax
sub ebx, ecx
and ebx, 0xffffffaa
add esp, 0x15
or ebx, edx
and ebx, eax
mov byte [esp - 1], 0
mov ebx, ecx
mov ebx, eax
dec esp
and ebx, 0xfffffffe
sub ebx, 0xffffff95
sub esp, eax
mov bh, 0x3c
xor ebx, 0xf
mov byte [esp + eax], dl
not ebx
not ebx
and ebx, 0xffffffc6
movzx ebx, al
mov ebx, edx
and ebx, 0x57
inc ebx
mov ebx, eax
lea esp, [esp + esi]
imul ebx, eax, 0xa
and ebx, 0x42
mov byte [esp], 0xff
inc ebx
xor ebx, eax
mov ch, cl
add ebx, 0x39
add ebx, 0x79
and byte [esp], ch
mov bl, 0xa
mov bl, 0x1c
sub esp, esi
mov ebx, edx
and ebx, 0x3a
lea esp, [esp - 0x14]
sub ebx, eax
mov bh, 0xb1
xor ebx, edx
add ebx, ecx
mov ebx, edx
bswap ebx
add edx, ecx
add ebx, eax
movsx ebx, dl
movzx edx, dl
movsx ebx, dx
and ebx, 0xffffffaf
lea ecx, ds:[esp + edx + 0x14]
mov ebx, eax
and ebx, 0x61
movzx edx, byte [ecx]
mov bh, 0x98
mov bh, 0x58
push eax
xor ebx, ecx
inc ebx
xor edx, dword [edi]
or ebx, eax
xor ebx, 0xffffff89
dec edi
and ebx, eax
lea ebx, [edx + edx]
mov byte [edi + 1], dl
lea ebx, [edx + edx]
bswap ebx
inc edi
and ebx, edx
add ebx, ecx
add ebx, 0x66
neg ebx
lea ebx, [eax + eax]
xor ebx, 0xffffffd3
bswap ebx
mov bl, 0x15
pop eax
sub ebx, eax
inc ebx
inc edi
inc ebx
add ebx, ecx
dec ebp
jne 0x1000168f
lea ebx, [edx + eax]
pop edi
lea ebx, [edx + edx*4]
imul ebx, edx, 0xffffffcc
pop esi
lea ebx, [edx + ecx*4]
inc ebx
pop ebp
lea ebx, [eax + edx]
bswap ebx
add esp, 0x10c
neg ebx
and ebx, eax
pop eax
sub ebx, 0x48
lea ebx, [ecx + ecx*4]
add esp, 0x2c
inc ebx
lea ebx, [edx + eax]
push eax
sub ebx, 0x7f
ret
neg al
inc eax
and al, 7
add al, cl
dec eax
jne 0x10001051
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop ss
inc edx
lodsb al, byte ss:[esi]
xchg byte [ecx + 0x73], dh
dec ecx
je 0x100019cd
lds eax, [ebp + edi*8 - 0x116df849]
push ebp
lea esp, [edx + 0x76]
sbb ebx, edi
jbe 0x10001983
sti
ljmp 0xcdc1:0x8c65232
dec ebp
call 0x224b0fff
outsb dx, byte [esi]
movsd dword es:[edi], dword [esi]
and eax, 0xb9bafac9
adc ecx, dword [ecx + esi*4 - 0x4309e39a]
dec esi
adc esp, eax
push ebp
jp 0x100019d3
xor dword [edx + 0x31], esp
bound esi, qword [ecx]
or esp, dword [eax]
push ebp
jo 0x100019f6
retf 0xe5cb
dec edi
das
pop es
mov ch, 0xf7
mov ebx, 0xd98d21a0
js 0x10001968
retf 0x4a6
jne 0x100019bb
in eax, 0x5f
jg 0x100019e2
adc al, 0x95
or edi, dword [eax - 0x2e]
lock and dword [edi + 0x23], edi
pop ds
push esp
dec esp
xchg edx, eax
adc eax, 0xdfcc9fb6
xor ecx, dword [ebx - 0x25]
scasd eax, dword es:[edi]
aad 0x52
dec edx
sub al, 0xbb
outsb dx, byte [esi]
jo 0x1000199e
lahf
int3
mov eax, 0xa620ba6b
cmpsb byte [esi], byte es:[edi]
xchg edx, eax
xchg ebp, eax
and al, 0xbd
enter 0x4af2, 0x53
sbb al, 0xa9
inc ebp
outsd dx, dword [esi]
sub ebx, dword fs:[eax]
mov esi, 0x3d3c3cb4
and ebp, dword [ebx - 0x4b53c932]
mov ebx, 0xfb82bfd2
je 0x100019af
mov edx, esi
add dword [ecx + edi*4], edx
mov esi, 0x340cae59
cmp al, 0x24
sub eax, 0xaf8e29d7
add ah, byte [esp + edi*8]
adc ebp, ebx
cmp al, 2
leave
sahf
call 0x100b8b3e
pop ss
or byte [0x54c04df1], al
mov word [ebx + 0x222b599e], ss
pop esp
push 0x1607bff8
push ebp
xor ebx, dword [ecx + ebx - 0x7a]
xor ch, byte [edx - 0x7c]
shl byte [ebx - 0x7a4384fa], cl
ja 0x10001a85
loope 0x10001aab
xchg ebx, eax
sbb al, 0x4d
sbb edx, dword [eax]
shr dword [esi - 0x2fc139f6], 0x77
les eax, [esi - 0x48]
pop ss
dec esp
xor ecx, dword [esi - 0x5f]
and eax, 0xf17f7c8d
mov eax, 0x7358a313
ja 0x10001a9b
invalid
lodsb al, byte [esi]
jmp 0x10001ad9
push 0x296845cf
or eax, ebx
aad 0x31
fldcw word [eax]
xor al, 0x74
ljmp 0xc39d
pop esp
in al, 0xb6
in eax, 0xf1
mov al, 0x81
or byte [eax + 9], ch
dec edx
pop edx
cmpsb byte [esi], byte es:[edi]
xchg edi, eax
pop ebp
sub eax, edi
adc byte [edi - 0x12b8b184], bl
outsb dx, byte [esi]
dec eax
mov ebp, 0x813e4b59
mov bh, 0x4c
setno byte [esi]
test al, 9
pushal
mov word [ebp + 0x73], gs
test al, 0xb0
out 0xcb, al
fld xword fs:[edi - 0x7804ddb4]
fadd dword [ecx - 0x6cb1e5f2]
cwde
fld xword [ebp - 0xa]
in eax, dx
imul ch
xchg edi, eax
leave
dec esi
dec esp
jns 0x10001a65
cmpsb byte [esi], byte es:[edi]
or al, 0x79
invalid