Function at 0x140129c40
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x10], edx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x4c0
mov qword [rsp + 0xe0], 0xfffffffffffffffe
mov rax, qword [0x140735840]
xor rax, rsp
mov qword [rsp + 0x4b0], rax
mov qword [rsp + 0x88], rcx
mov dword [rsp + 0x48], r8d
xor esi, esi
mov dword [rsp + 0xa8], esi
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
mov byte [rsp + 0x20], sil
lea rcx, [rsp + 0x58]
call fcn.140130ff0
nop
mov rax, qword [rsp + 0x60]
cmp qword [rsp + 0x58], rax
sete al
test al, al
je 0x14012a056
mov dword [rsp + 0x260], 0x30
mov eax, dword [rsp + 0x260]
xor eax, 0x4e
add eax, 4
mov byte [rsp + 0x264], al
movsx ecx, byte [rsp + 0x264]
xor ecx, 0x6f
add ecx, 4
mov byte [rsp + 0x265], cl
movsx ecx, byte [rsp + 0x265]
xor ecx, 0x20
add ecx, 4
mov byte [rsp + 0x266], cl
movsx ecx, byte [rsp + 0x266]
xor ecx, 0x4f
add ecx, 4
mov byte [rsp + 0x267], cl
movsx ecx, byte [rsp + 0x267]
xor ecx, 0x70
add ecx, 4
mov byte [rsp + 0x268], cl
movsx ecx, byte [rsp + 0x268]
xor ecx, 0x65
add ecx, 4
mov byte [rsp + 0x269], cl
movsx ecx, byte [rsp + 0x269]
xor ecx, 0x6e
add ecx, 4
mov byte [rsp + 0x26a], cl
movsx ecx, byte [rsp + 0x26a]
xor ecx, 0x43
add ecx, 4
mov byte [rsp + 0x26b], cl
movsx ecx, byte [rsp + 0x26b]
xor ecx, 0x4c
add ecx, 4
mov byte [rsp + 0x26c], cl
movsx ecx, byte [rsp + 0x26c]
xor ecx, 0x20
add ecx, 4
mov byte [rsp + 0x26d], cl
movsx ecx, byte [rsp + 0x26d]
xor ecx, 0x70
add ecx, 4
mov byte [rsp + 0x26e], cl
movsx ecx, byte [rsp + 0x26e]
xor ecx, 0x6c
add ecx, 4
mov byte [rsp + 0x26f], cl
movsx ecx, byte [rsp + 0x26f]
xor ecx, 0x61
add ecx, 4
mov byte [rsp + 0x270], cl
movsx ecx, byte [rsp + 0x270]
xor ecx, 0x74
add ecx, 4
mov byte [rsp + 0x271], cl
movsx ecx, byte [rsp + 0x271]
xor ecx, 0x66
add ecx, 4
mov byte [rsp + 0x272], cl
movsx ecx, byte [rsp + 0x272]
xor ecx, 0x6f
add ecx, 4
mov byte [rsp + 0x273], cl
movsx ecx, byte [rsp + 0x273]
xor ecx, 0x72
add ecx, 4
mov byte [rsp + 0x274], cl
movsx ecx, byte [rsp + 0x274]
xor ecx, 0x6d
add ecx, 4
mov byte [rsp + 0x275], cl
movsx ecx, byte [rsp + 0x275]
xor ecx, 0x73
add ecx, 4
mov byte [rsp + 0x276], cl
movsx ecx, byte [rsp + 0x276]
xor ecx, 0x20
add ecx, 4
mov byte [rsp + 0x277], cl
movsx ecx, byte [rsp + 0x277]
xor ecx, 0x66
add ecx, 4
mov byte [rsp + 0x278], cl
movsx ecx, byte [rsp + 0x278]
xor ecx, 0x6f
add ecx, 4
mov byte [rsp + 0x279], cl
movsx ecx, byte [rsp + 0x279]
xor ecx, 0x75
add ecx, 4
mov byte [rsp + 0x27a], cl
movsx ecx, byte [rsp + 0x27a]
xor ecx, 0x6e
add ecx, 4
mov byte [rsp + 0x27b], cl
movsx ecx, byte [rsp + 0x27b]
xor ecx, 0x64
add ecx, 4
mov byte [rsp + 0x27c], cl
mov byte [rsp + 0x27d], sil
movzx eax, byte [rsp + 0x264]
lea rdx, [rsp + 0x2c0]
lea rcx, [rsp + 0x260]
call fcn.14012de20
nop
cmp qword [rax + 0x18], 0x10
jb 0x140129f04
mov rax, qword [rax]
mov rcx, rax
call fcn.140048440
nop
mov rax, qword [rsp + 0x2d8]
cmp rax, 0x10
jb 0x140129f6b
inc rax
mov rcx, qword [rsp + 0x2c0]
cmp rax, 0x1000
jb 0x140129f66
test cl, 0x1f
je 0x140129f39
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x140129f48
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x140129f57
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x140129f63
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rsp + 0x2d8], 0xf
mov qword [rsp + 0x2d0], rsi
mov byte [rsp + 0x2c0], 0
mov rbx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x28]
mov qword [rbx], rax
mov rax, qword [rsp + 0x30]
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x38]
mov qword [rbx + 0x10], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x140129fe5
mov r8, qword [rsp + 0x68]
sub r8, rdx
sar r8, 3
lea rcx, [rsp + 0x58]
call fcn.140179ca0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rsi
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x14012a049
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
call fcn.140075fe0
mov rcx, qword [rsp + 0x38]
sub rcx, qword [rsp + 0x28]
movabs rax, 0xc30c30c30c30c30d
imul rcx
add rdx, rcx
sar rdx, 7
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x28]
call fcn.1400823c0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
mov rax, qword [rsp + 0x88]
jmp 0x14012b85a
call fcn.14013c100
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rdx
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xb0], rax
movabs r13, 0xc30c30c30c30c30d
mov r15d, 1
mov rcx, qword [rsp + 0x50]
cmp rcx, qword [rsp + 0xb0]
je 0x14012a4b9
call fcn.140130a10
mov r12d, eax
mov dword [rsp + 0x40], eax
test eax, eax
jne 0x14012a0aa
jmp 0x14012a4a9
cmp dword [rsp + 0x508], 1
jne 0x14012a0bb
cmp eax, 1
je 0x14012a0ca
jmp 0x14012a0a5
cmp dword [rsp + 0x508], 2
jne 0x14012a0ca
cmp eax, 2
jne 0x14012a0a5
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x90]
call fcn.1401309b0
nop
mov rdi, qword [rsp + 0x90]
mov rbx, rdi
mov r14, qword [rsp + 0x98]
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0x80], rbx
cmp rbx, qword [rsp + 0xb8]
je 0x14012a434
mov r8, rbx
mov edx, r12d
lea rcx, [rsp + 0x300]
call fcn.14015c1f0
mov r14, rax
mov rcx, qword [rsp + 0x30]
cmp rax, rcx
jae 0x14012a17f
mov rax, qword [rsp + 0x28]
cmp rax, r14
ja 0x14012a17f
sub r14, rax
mov rax, r13
imul r14
lea rdi, [r14 + rdx]
sar rdi, 7
mov rax, rdi
shr rax, 0x3f
add rdi, rax
cmp rcx, qword [rsp + 0x38]
jne 0x14012a167
mov rdx, r15
lea rcx, [rsp + 0x28]
call fcn.1400812e0
imul rdx, rdi, 0xa8
add rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14012a1aa
jmp 0x14012a1a5
mov rax, qword [rsp + 0x38]
cmp qword [rsp + 0x30], rax
jne 0x14012a198
mov rdx, r15
lea rcx, [rsp + 0x28]
call fcn.1400812e0
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x14012a1aa
mov rdx, r14
call fcn.14007b870
add qword [rsp + 0x30], 0xa8
mov rax, qword [rsp + 0x378]
cmp rax, 0x10
jb 0x14012a211
inc rax
mov rcx, qword [rsp + 0x360]
cmp rax, 0x1000
jb 0x14012a20c
test cl, 0x1f
je 0x14012a1df
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14012a1ee
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x14012a1fd
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x14012a209
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rsp + 0x378], 0xf
mov qword [rsp + 0x370], rsi
mov byte [rsp + 0x360], 0
mov rax, qword [rsp + 0x358]
cmp rax, 0x10
jb 0x14012a28b
inc rax
mov rcx, qword [rsp + 0x340]
cmp rax, 0x1000
jb 0x14012a286
test cl, 0x1f
je 0x14012a259
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14012a268
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x14012a277
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x14012a283
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rsp + 0x358], 0xf
mov qword [rsp + 0x350], rsi
mov byte [rsp + 0x340], 0
mov rax, qword [rsp + 0x338]
cmp rax, 0x10
jb 0x14012a305
inc rax
mov rcx, qword [rsp + 0x320]
cmp rax, 0x1000
jb 0x14012a300
test cl, 0x1f
je 0x14012a2d3
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14012a2e2
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x14012a2f1
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x14012a2fd
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rsp + 0x338], 0xf
mov qword [rsp + 0x330], rsi
mov byte [rsp + 0x320], 0
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0xe8], rcx
lea rdi, [rcx - 0xa8]
movzx eax, byte [rsp + 0x20]
cmp qword [rdi + 0x80], 0xffffffffffffffff
cmove eax, r15d
mov byte [rsp + 0x20], al
cmp qword [0x140741d10], 0
je 0x14012a3fa
xor edx, edx
mov rcx, rdi
call fcn.14013a4b0
test rax, rax
je 0x14012a3fa
lea rdx, [rax + 0x520]
test rdx, rdx
je 0x14012a3fa
mov qword [rsp + 0x2f8], 0xf
mov qword [rsp + 0x2f0], rsi
mov byte [rsp + 0x2e0], 0
cmp byte [rdx], 0
jne 0x14012a3a1
mov r8, rsi
jmp 0x14012a3af
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x14012a3a5
lea rcx, [rsp + 0x2e0]
call fcn.14001f040
nop
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0x450]
call fcn.14012bdc0
lea rcx, [rdi + 0x60]
mov rdx, rax
call fcn.14002e050
lea rcx, [rsp + 0x450]
call fcn.14001c970
nop
lea rcx, [rsp + 0x2e0]
call fcn.14001c970
nop
jmp 0x14012a41b
add rbx, 0x10
mov r14, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x90]
jmp 0x14012a0f8
test rdi, rdi
je 0x14012a497
cmp rdi, r14
je 0x14012a464
nop
mov rcx, qword [rdi]
test rcx, rcx
je 0x14012a453
cmp byte [rdi + 8], 0
je 0x14012a453
call fcn.14021e550
add rdi, 0x10
cmp rdi, r14
jne 0x14012a440
mov rdi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xa0]
sub r8, rdi
sar r8, 4
mov rdx, rdi
lea rcx, [rsp + 0x90]
call fcn.14017ea60
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], rsi
jmp 0x14012a4a9
add qword [rsp + 0x50], 8
mov rdx, qword [rsp + 0x58]
jmp 0x14012a082
test rdx, rdx
je 0x14012a4e2
mov r8, qword [rsp + 0x68]
sub r8, rdx
sar r8, 3
lea rcx, [rsp + 0x58]
call fcn.140179ca0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rsi
jmp 0x14012a4e6
cmp byte [rsp + 0x20], 0
je 0x14012b81d
call fcn.14013c100
cmp qword [0x140741d10], 0
je 0x14012a50e
mov edx, dword [rsp + 0x48]
lea rcx, [rsp + 0x28]
call fcn.14013a600
mov dword [rsp + 0x110], 0x7b
mov eax, dword [rsp + 0x110]
add al, 0x7b
movsx ecx, al
xor ecx, 0x5c
mov dword [rsp + 0x114], ecx
mov eax, dword [rsp + 0x114]
mov ecx, dword [rsp + 0x110]
xor ecx, eax
xor ecx, 0x44
mov byte [rsp + 0x118], cl
movsx ecx, byte [rsp + 0x118]
mov eax, dword [rsp + 0x110]
inc al
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x119], al
movsx ecx, byte [rsp + 0x119]
mov eax, dword [rsp + 0x110]
add al, 2
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x11a], al
movsx ecx, byte [rsp + 0x11a]
mov eax, dword [rsp + 0x110]
add al, 3
xor eax, ecx
xor eax, 0x76
mov byte [rsp + 0x11b], al
movsx ecx, byte [rsp + 0x11b]
mov eax, dword [rsp + 0x110]
add al, 4
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x11c], al
movsx ecx, byte [rsp + 0x11c]
mov eax, dword [rsp + 0x110]
add al, 5
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x11d], al
movsx ecx, byte [rsp + 0x11d]
mov eax, dword [rsp + 0x110]
add al, 6
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x11e], al
movsx ecx, byte [rsp + 0x11e]
mov eax, dword [rsp + 0x110]
add al, 7
xor eax, ecx
xor eax, 0x62
mov byte [rsp + 0x11f], al
movsx ecx, byte [rsp + 0x11f]
mov eax, dword [rsp + 0x110]
add al, 8
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x120], al
movsx ecx, byte [rsp + 0x120]
mov eax, dword [rsp + 0x110]
add al, 9
xor eax, ecx
xor eax, 0x67
mov byte [rsp + 0x121], al
movsx ecx, byte [rsp + 0x121]
mov eax, dword [rsp + 0x110]
add al, 0xa
xor eax, ecx
xor eax, 0x3a
mov byte [rsp + 0x122], al
movsx ecx, byte [rsp + 0x122]
mov eax, dword [rsp + 0x110]
add al, 0xb
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x123], al
movsx ecx, byte [rsp + 0x123]
mov eax, dword [rsp + 0x110]
add al, 0xc
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x124], al
movsx ecx, byte [rsp + 0x124]
mov eax, dword [rsp + 0x110]
add al, 0xd
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x125], al
movsx ecx, byte [rsp + 0x125]
mov eax, dword [rsp + 0x110]
add al, 0xe
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x126], al
movsx ecx, byte [rsp + 0x126]
mov eax, dword [rsp + 0x110]
add al, 0xf
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x127], al
movsx ecx, byte [rsp + 0x127]
mov eax, dword [rsp + 0x110]
add al, 0x10
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x128], al
movsx ecx, byte [rsp + 0x128]
mov eax, dword [rsp + 0x110]
add al, 0x11
xor eax, ecx
xor eax, 0x62
mov byte [rsp + 0x129], al
movsx ecx, byte [rsp + 0x129]
mov eax, dword [rsp + 0x110]
add al, 0x12
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x12a], al
movsx ecx, byte [rsp + 0x12a]
mov eax, dword [rsp + 0x110]
add al, 0x13
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x12b], al
movsx ecx, byte [rsp + 0x12b]
mov eax, dword [rsp + 0x110]
add al, 0x14
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x12c], al
movsx ecx, byte [rsp + 0x12c]
mov eax, dword [rsp + 0x110]
add al, 0x15
xor eax, ecx
xor eax, 0x49
mov byte [rsp + 0x12d], al
movsx ecx, byte [rsp + 0x12d]
mov eax, dword [rsp + 0x110]
add al, 0x16
xor eax, ecx
xor eax, 0x44
mov byte [rsp + 0x12e], al
movsx ecx, byte [rsp + 0x12e]
mov eax, dword [rsp + 0x110]
add al, 0x17
xor eax, ecx
xor eax, 0x73
mov byte [rsp + 0x12f], al
movsx ecx, byte [rsp + 0x12f]
mov eax, dword [rsp + 0x110]
add al, 0x18
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x130], al
movsx ecx, byte [rsp + 0x130]
mov eax, dword [rsp + 0x110]
add al, 0x19
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x131], al
movsx ecx, byte [rsp + 0x131]
mov eax, dword [rsp + 0x110]
add al, 0x1a
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x132], al
movsx ecx, byte [rsp + 0x132]
mov eax, dword [rsp + 0x110]
add al, 0x1b
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x133], al
movsx ecx, byte [rsp + 0x133]
mov eax, dword [rsp + 0x110]
add al, 0x1c
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x134], al
movsx ecx, byte [rsp + 0x134]
mov eax, dword [rsp + 0x110]
add al, 0x1d
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x135], al
movsx ecx, byte [rsp + 0x135]
mov eax, dword [rsp + 0x110]
add al, 0x1e
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x136], al
movsx ecx, byte [rsp + 0x136]
mov eax, dword [rsp + 0x110]
add al, 0x1f
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x137], al
movsx ecx, byte [rsp + 0x137]
mov eax, dword [rsp + 0x110]
add al, 0x20
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x138], al
movsx ecx, byte [rsp + 0x138]
mov eax, dword [rsp + 0x110]
add al, 0x21
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x139], al
movsx ecx, byte [rsp + 0x139]
mov eax, dword [rsp + 0x110]
add al, 0x22
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x13a], al
movsx ecx, byte [rsp + 0x13a]
mov eax, dword [rsp + 0x110]
add al, 0x23
xor eax, ecx
xor eax, 0x70
mov byte [rsp + 0x13b], al
movsx ecx, byte [rsp + 0x13b]
mov eax, dword [rsp + 0x110]
add al, 0x24
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x13c], al
movsx ecx, byte [rsp + 0x13c]
mov eax, dword [rsp + 0x110]
add al, 0x25
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x13d], al
movsx ecx, byte [rsp + 0x13d]
mov eax, dword [rsp + 0x110]
add al, 0x26
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x13e], al
movsx ecx, byte [rsp + 0x13e]
mov eax, dword [rsp + 0x110]
add al, 0x27
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x13f], al
movsx ecx, byte [rsp + 0x13f]
mov eax, dword [rsp + 0x110]
add al, 0x28
xor eax, ecx
xor eax, 0x64
mov byte [rsp + 0x140], al
movsx ecx, byte [rsp + 0x140]
mov eax, dword [rsp + 0x110]
add al, 0x29
xor eax, ecx
xor eax, 0x3b
mov byte [rsp + 0x141], al
movsx ecx, byte [rsp + 0x141]
mov eax, dword [rsp + 0x110]
add al, 0x2a
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x142], al
movsx ecx, byte [rsp + 0x142]
mov eax, dword [rsp + 0x110]
add al, 0x2b
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x143], al
movsx ecx, byte [rsp + 0x143]
mov eax, dword [rsp + 0x110]
add al, 0x2c
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x144], al
movsx ecx, byte [rsp + 0x144]
mov eax, dword [rsp + 0x110]
add al, 0x2d
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x145], al
movsx ecx, byte [rsp + 0x145]
mov eax, dword [rsp + 0x110]
add al, 0x2e
xor eax, ecx
xor eax, 0x65
mov byte [rsp + 0x146], al
movsx ecx, byte [rsp + 0x146]
mov eax, dword [rsp + 0x110]
add al, 0x2f
xor eax, ecx
xor eax, 0x6d
mov byte [rsp + 0x147], al
movsx ecx, byte [rsp + 0x147]
mov eax, dword [rsp + 0x110]
add al, 0x30
xor eax, ecx
xor eax, 0x70
mov byte [rsp + 0x148], al
movsx ecx, byte [rsp + 0x148]
mov eax, dword [rsp + 0x110]
add al, 0x31
xor eax, ecx
xor eax, 0x74
mov byte [rsp + 0x149], al
movsx ecx, byte [rsp + 0x149]
mov eax, dword [rsp + 0x110]
add al, 0x32
xor eax, ecx
xor eax, 0x69
mov byte [rsp + 0x14a], al
movsx ecx, byte [rsp + 0x14a]
mov eax, dword [rsp + 0x110]
add al, 0x33
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x14b], al
movsx ecx, byte [rsp + 0x14b]
mov eax, dword [rsp + 0x110]
add al, 0x34
xor eax, ecx
xor eax, 0x67
mov byte [rsp + 0x14c], al
movsx ecx, byte [rsp + 0x14c]
mov eax, dword [rsp + 0x110]
add al, 0x35
xor eax, ecx
xor eax, 0x20
mov byte [rsp + 0x14d], al
movsx ecx, byte [rsp + 0x14d]
mov eax, dword [rsp + 0x110]
add al, 0x36
xor eax, ecx
xor eax, 0x77
mov byte [rsp + 0x14e], al
movsx ecx, byte [rsp + 0x14e]
mov eax, dword [rsp + 0x110]
add al, 0x37
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x14f], al
movsx ecx, byte [rsp + 0x14f]
mov eax, dword [rsp + 0x110]
add al, 0x38
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x150], al
movsx ecx, byte [rsp + 0x150]
mov eax, dword [rsp + 0x110]
add al, 0x39
xor eax, ecx
xor eax, 0x6b
mov byte [rsp + 0x151], al
movsx ecx, byte [rsp + 0x151]
mov eax, dword [rsp + 0x110]
add al, 0x3a
xor eax, ecx
xor eax, 0x61
mov byte [rsp + 0x152], al
movsx ecx, byte [rsp + 0x152]
mov eax, dword [rsp + 0x110]
add al, 0x3b
xor eax, ecx
xor eax, 0x72
mov byte [rsp + 0x153], al
movsx ecx, byte [rsp + 0x153]
mov eax, dword [rsp + 0x110]
add al, 0x3c
xor eax, ecx
xor eax, 0x6f
mov byte [rsp + 0x154], al
movsx ecx, byte [rsp + 0x154]
mov eax, dword [rsp + 0x110]
add al, 0x3d
xor eax, ecx
xor eax, 0x75
mov byte [rsp + 0x155], al
movsx ecx, byte [rsp + 0x155]
mov eax, dword [rsp + 0x110]
add al, 0x3e
xor eax, ecx
xor eax, 0x6e
mov byte [rsp + 0x156], al
movsx ecx, byte [rsp + 0x156]
mov eax, dword [rsp + 0x110]
add al, 0x3f
xor eax, ecx
xor eax, 0x64
mov byte [rsp + 0x157], al
xor eax, eax
mov byte [rsp + 0x158], al
movzx eax, byte [rsp + 0x118]
lea rdx, [rsp + 0x3f0]
lea rcx, [rsp + 0x110]
call fcn.14012daf0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14012ac9d
mov rax, qword [rax]
mov rcx, rax
call fcn.14002a110
nop
lea rcx, [rsp + 0x3f0]
call fcn.14001c970
mov dword [rsp + 0x1f0], 0x3e
mov eax, dword [rsp + 0x1f0]
xor eax, 0x54
add eax, 3
mov byte [rsp + 0x1f4], al
movsx ecx, byte [rsp + 0x1f4]
xor ecx, 0x68
add ecx, 3
mov byte [rsp + 0x1f5], cl
movsx ecx, byte [rsp + 0x1f5]
xor ecx, 0x65
add ecx, 3
mov byte [rsp + 0x1f6], cl
movsx ecx, byte [rsp + 0x1f6]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x1f7], cl
movsx ecx, byte [rsp + 0x1f7]
xor ecx, 0x47
add ecx, 3
mov byte [rsp + 0x1f8], cl
movsx ecx, byte [rsp + 0x1f8]
xor ecx, 0x50
add ecx, 3
mov byte [rsp + 0x1f9], cl
movsx ecx, byte [rsp + 0x1f9]
xor ecx, 0x55
add ecx, 3
mov byte [rsp + 0x1fa], cl
movsx ecx, byte [rsp + 0x1fa]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x1fb], cl
movsx ecx, byte [rsp + 0x1fb]
xor ecx, 0x6f
add ecx, 3
mov byte [rsp + 0x1fc], cl
movsx ecx, byte [rsp + 0x1fc]
xor ecx, 0x72
add ecx, 3
mov byte [rsp + 0x1fd], cl
movsx ecx, byte [rsp + 0x1fd]
xor ecx, 0x64
add ecx, 3
mov byte [rsp + 0x1fe], cl
movsx ecx, byte [rsp + 0x1fe]
xor ecx, 0x65
add ecx, 3
mov byte [rsp + 0x1ff], cl
movsx ecx, byte [rsp + 0x1ff]
xor ecx, 0x72
add ecx, 3
mov byte [rsp + 0x200], cl
movsx ecx, byte [rsp + 0x200]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x201], cl
movsx ecx, byte [rsp + 0x201]
xor ecx, 0x6d
add ecx, 3
mov byte [rsp + 0x202], cl
movsx ecx, byte [rsp + 0x202]
xor ecx, 0x61
add ecx, 3
mov byte [rsp + 0x203], cl
movsx ecx, byte [rsp + 0x203]
xor ecx, 0x79
add ecx, 3
mov byte [rsp + 0x204], cl
movsx ecx, byte [rsp + 0x204]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x205], cl
movsx ecx, byte [rsp + 0x205]
xor ecx, 0x62
add ecx, 3
mov byte [rsp + 0x206], cl
movsx ecx, byte [rsp + 0x206]
xor ecx, 0x65
add ecx, 3
mov byte [rsp + 0x207], cl
movsx ecx, byte [rsp + 0x207]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x208], cl
movsx ecx, byte [rsp + 0x208]
xor ecx, 0x77
add ecx, 3
mov byte [rsp + 0x209], cl
movsx ecx, byte [rsp + 0x209]
xor ecx, 0x72
add ecx, 3
mov byte [rsp + 0x20a], cl
movsx ecx, byte [rsp + 0x20a]
xor ecx, 0x6f
add ecx, 3
mov byte [rsp + 0x20b], cl
movsx ecx, byte [rsp + 0x20b]
xor ecx, 0x6e
add ecx, 3
mov byte [rsp + 0x20c], cl
movsx ecx, byte [rsp + 0x20c]
xor ecx, 0x67
add ecx, 3
mov byte [rsp + 0x20d], cl
movsx ecx, byte [rsp + 0x20d]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x20e], cl
movsx ecx, byte [rsp + 0x20e]
xor ecx, 0x61
add ecx, 3
mov byte [rsp + 0x20f], cl
movsx ecx, byte [rsp + 0x20f]
xor ecx, 0x6e
add ecx, 3
mov byte [rsp + 0x210], cl
movsx ecx, byte [rsp + 0x210]
xor ecx, 0x64
add ecx, 3
mov byte [rsp + 0x211], cl
movsx ecx, byte [rsp + 0x211]
xor ecx, 0x2f
add ecx, 3
mov byte [rsp + 0x212], cl
movsx ecx, byte [rsp + 0x212]
xor ecx, 0x6f
add ecx, 3
mov byte [rsp + 0x213], cl
movsx ecx, byte [rsp + 0x213]
xor ecx, 0x72
add ecx, 3
mov byte [rsp + 0x214], cl
movsx ecx, byte [rsp + 0x214]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x215], cl
movsx ecx, byte [rsp + 0x215]
xor ecx, 0x74
add ecx, 3
mov byte [rsp + 0x216], cl
movsx ecx, byte [rsp + 0x216]
xor ecx, 0x68
add ecx, 3
mov byte [rsp + 0x217], cl
movsx ecx, byte [rsp + 0x217]
xor ecx, 0x65
add ecx, 3
mov byte [rsp + 0x218], cl
movsx ecx, byte [rsp + 0x218]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x219], cl
movsx ecx, byte [rsp + 0x219]
xor ecx, 0x74
add ecx, 3
mov byte [rsp + 0x21a], cl
movsx ecx, byte [rsp + 0x21a]
xor ecx, 0x65
add ecx, 3
mov byte [rsp + 0x21b], cl
movsx ecx, byte [rsp + 0x21b]
xor ecx, 0x6d
add ecx, 3
mov byte [rsp + 0x21c], cl
movsx ecx, byte [rsp + 0x21c]
xor ecx, 0x70
add ecx, 3
mov byte [rsp + 0x21d], cl
movsx ecx, byte [rsp + 0x21d]
xor ecx, 0x2f
add ecx, 3
mov byte [rsp + 0x21e], cl
movsx ecx, byte [rsp + 0x21e]
xor ecx, 0x66
add ecx, 3
mov byte [rsp + 0x21f], cl
movsx ecx, byte [rsp + 0x21f]
xor ecx, 0x61
add ecx, 3
mov byte [rsp + 0x220], cl
movsx ecx, byte [rsp + 0x220]
xor ecx, 0x6e
add ecx, 3
mov byte [rsp + 0x221], cl
movsx ecx, byte [rsp + 0x221]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x222], cl
movsx ecx, byte [rsp + 0x222]
xor ecx, 0x69
add ecx, 3
mov byte [rsp + 0x223], cl
movsx ecx, byte [rsp + 0x223]
xor ecx, 0x6e
add ecx, 3
mov byte [rsp + 0x224], cl
movsx ecx, byte [rsp + 0x224]
xor ecx, 0x66
add ecx, 3
mov byte [rsp + 0x225], cl
movsx ecx, byte [rsp + 0x225]
xor ecx, 0x6f
add ecx, 3
mov byte [rsp + 0x226], cl
movsx ecx, byte [rsp + 0x226]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x227], cl
movsx ecx, byte [rsp + 0x227]
xor ecx, 0x6d
add ecx, 3
mov byte [rsp + 0x228], cl
movsx ecx, byte [rsp + 0x228]
xor ecx, 0x61
add ecx, 3
mov byte [rsp + 0x229], cl
movsx ecx, byte [rsp + 0x229]
xor ecx, 0x79
add ecx, 3
mov byte [rsp + 0x22a], cl
movsx ecx, byte [rsp + 0x22a]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x22b], cl
movsx ecx, byte [rsp + 0x22b]
xor ecx, 0x62
add ecx, 3
mov byte [rsp + 0x22c], cl
movsx ecx, byte [rsp + 0x22c]
xor ecx, 0x65
add ecx, 3
mov byte [rsp + 0x22d], cl
movsx ecx, byte [rsp + 0x22d]
xor ecx, 0x20
add ecx, 3
mov byte [rsp + 0x22e], cl
movsx ecx, byte [rsp + 0x22e]
xor ecx, 0x6d
add ecx, 3
mov byte [rsp + 0x22f], cl
movsx ecx, byte [rsp + 0x22f]
xor ecx, 0x69
add ecx, 3
mov byte [rsp + 0x230], cl
movsx ecx, byte [rsp + 0x230]
xor ecx, 0x73
add ecx, 3
mov byte [rsp + 0x231], cl
movsx ecx, byte [rsp + 0x231]
xor ecx, 0x6d
add ecx, 3
mov byte [rsp + 0x232], cl
movsx ecx, byte [rsp + 0x232]
xor ecx, 0x61
add ecx, 3
mov byte [rsp + 0x233], cl
movsx ecx, byte [rsp + 0x233]
xor ecx, 0x74
add ecx, 3
mov byte [rsp + 0x234], cl
movsx ecx, byte [rsp + 0x234]
xor ecx, 0x63
add ecx, 3
mov byte [rsp + 0x235], cl
movsx ecx, byte [rsp + 0x235]
xor ecx, 0x68
add ecx, 3
mov byte [rsp + 0x236], cl
movsx ecx, byte [rsp + 0x236]
xor ecx, 0x65
add ecx, 3
mov byte [rsp + 0x237], cl
movsx ecx, byte [rsp + 0x237]
xor ecx, 0x64
add ecx, 3
mov byte [rsp + 0x238], cl
mov byte [rsp + 0x239], 0
movzx eax, byte [rsp + 0x1f4]
lea rdx, [rsp + 0x410]
lea rcx, [rsp + 0x1f0]
call fcn.14012dbd0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14012b296
mov rax, qword [rax]
mov rcx, rax
call fcn.14002a110
nop
lea rcx, [rsp + 0x410]
call fcn.14001c970
cmp dword [rsp + 0x48], 0
jne 0x14012b81d
mov dword [rsp + 0x1a0], 0x26
mov eax, dword [rsp + 0x1a0]
xor eax, 0x59
add eax, 0xa
mov byte [rsp + 0x1a4], al
movsx ecx, byte [rsp + 0x1a4]
xor ecx, 0x6f
add ecx, 0xa
mov byte [rsp + 0x1a5], cl
movsx ecx, byte [rsp + 0x1a5]
xor ecx, 0x75
add ecx, 0xa
mov byte [rsp + 0x1a6], cl
movsx ecx, byte [rsp + 0x1a6]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1a7], cl
movsx ecx, byte [rsp + 0x1a7]
xor ecx, 0x6d
add ecx, 0xa
mov byte [rsp + 0x1a8], cl
movsx ecx, byte [rsp + 0x1a8]
xor ecx, 0x61
add ecx, 0xa
mov byte [rsp + 0x1a9], cl
movsx ecx, byte [rsp + 0x1a9]
xor ecx, 0x79
add ecx, 0xa
mov byte [rsp + 0x1aa], cl
movsx ecx, byte [rsp + 0x1aa]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1ab], cl
movsx ecx, byte [rsp + 0x1ab]
xor ecx, 0x74
add ecx, 0xa
mov byte [rsp + 0x1ac], cl
movsx ecx, byte [rsp + 0x1ac]
xor ecx, 0x72
add ecx, 0xa
mov byte [rsp + 0x1ad], cl
movsx ecx, byte [rsp + 0x1ad]
xor ecx, 0x79
add ecx, 0xa
mov byte [rsp + 0x1ae], cl
movsx ecx, byte [rsp + 0x1ae]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1af], cl
movsx ecx, byte [rsp + 0x1af]
xor ecx, 0x74
add ecx, 0xa
mov byte [rsp + 0x1b0], cl
movsx ecx, byte [rsp + 0x1b0]
xor ecx, 0x6f
add ecx, 0xa
mov byte [rsp + 0x1b1], cl
movsx ecx, byte [rsp + 0x1b1]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1b2], cl
movsx ecx, byte [rsp + 0x1b2]
xor ecx, 0x61
add ecx, 0xa
mov byte [rsp + 0x1b3], cl
movsx ecx, byte [rsp + 0x1b3]
xor ecx, 0x64
add ecx, 0xa
mov byte [rsp + 0x1b4], cl
movsx ecx, byte [rsp + 0x1b4]
xor ecx, 0x64
add ecx, 0xa
mov byte [rsp + 0x1b5], cl
movsx ecx, byte [rsp + 0x1b5]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1b6], cl
movsx ecx, byte [rsp + 0x1b6]
xor ecx, 0x74
add ecx, 0xa
mov byte [rsp + 0x1b7], cl
movsx ecx, byte [rsp + 0x1b7]
xor ecx, 0x68
add ecx, 0xa
mov byte [rsp + 0x1b8], cl
movsx ecx, byte [rsp + 0x1b8]
xor ecx, 0x65
add ecx, 0xa
mov byte [rsp + 0x1b9], cl
movsx ecx, byte [rsp + 0x1b9]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1ba], cl
movsx ecx, byte [rsp + 0x1ba]
xor ecx, 0x6f
add ecx, 0xa
mov byte [rsp + 0x1bb], cl
movsx ecx, byte [rsp + 0x1bb]
xor ecx, 0x70
add ecx, 0xa
mov byte [rsp + 0x1bc], cl
movsx ecx, byte [rsp + 0x1bc]
xor ecx, 0x74
add ecx, 0xa
mov byte [rsp + 0x1bd], cl
movsx ecx, byte [rsp + 0x1bd]
xor ecx, 0x69
add ecx, 0xa
mov byte [rsp + 0x1be], cl
movsx ecx, byte [rsp + 0x1be]
xor ecx, 0x6f
add ecx, 0xa
mov byte [rsp + 0x1bf], cl
movsx ecx, byte [rsp + 0x1bf]
xor ecx, 0x6e
add ecx, 0xa
mov byte [rsp + 0x1c0], cl
movsx ecx, byte [rsp + 0x1c0]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1c1], cl
movsx ecx, byte [rsp + 0x1c1]
xor ecx, 0x27
add ecx, 0xa
mov byte [rsp + 0x1c2], cl
movsx ecx, byte [rsp + 0x1c2]
xor ecx, 0x2d
add ecx, 0xa
mov byte [rsp + 0x1c3], cl
movsx ecx, byte [rsp + 0x1c3]
xor ecx, 0x61
add ecx, 0xa
mov byte [rsp + 0x1c4], cl
movsx ecx, byte [rsp + 0x1c4]
xor ecx, 0x6c
add ecx, 0xa
mov byte [rsp + 0x1c5], cl
movsx ecx, byte [rsp + 0x1c5]
xor ecx, 0x74
add ecx, 0xa
mov byte [rsp + 0x1c6], cl
movsx ecx, byte [rsp + 0x1c6]
xor ecx, 0x61
add ecx, 0xa
mov byte [rsp + 0x1c7], cl
movsx ecx, byte [rsp + 0x1c7]
xor ecx, 0x64
add ecx, 0xa
mov byte [rsp + 0x1c8], cl
movsx ecx, byte [rsp + 0x1c8]
xor ecx, 0x6c
add ecx, 0xa
mov byte [rsp + 0x1c9], cl
movsx ecx, byte [rsp + 0x1c9]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1ca], cl
movsx ecx, byte [rsp + 0x1ca]
xor ecx, 0x31
add ecx, 0xa
mov byte [rsp + 0x1cb], cl
movsx ecx, byte [rsp + 0x1cb]
xor ecx, 0x27
add ecx, 0xa
mov byte [rsp + 0x1cc], cl
movsx ecx, byte [rsp + 0x1cc]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1cd], cl
movsx ecx, byte [rsp + 0x1cd]
xor ecx, 0x74
add ecx, 0xa
mov byte [rsp + 0x1ce], cl
movsx ecx, byte [rsp + 0x1ce]
xor ecx, 0x6f
add ecx, 0xa
mov byte [rsp + 0x1cf], cl
movsx ecx, byte [rsp + 0x1cf]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1d0], cl
movsx ecx, byte [rsp + 0x1d0]
xor ecx, 0x66
add ecx, 0xa
mov byte [rsp + 0x1d1], cl
movsx ecx, byte [rsp + 0x1d1]
xor ecx, 0x69
add ecx, 0xa
mov byte [rsp + 0x1d2], cl
movsx ecx, byte [rsp + 0x1d2]
xor ecx, 0x78
add ecx, 0xa
mov byte [rsp + 0x1d3], cl
movsx ecx, byte [rsp + 0x1d3]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1d4], cl
movsx ecx, byte [rsp + 0x1d4]
xor ecx, 0x74
add ecx, 0xa
mov byte [rsp + 0x1d5], cl
movsx ecx, byte [rsp + 0x1d5]
xor ecx, 0x68
add ecx, 0xa
mov byte [rsp + 0x1d6], cl
movsx ecx, byte [rsp + 0x1d6]
xor ecx, 0x65
add ecx, 0xa
mov byte [rsp + 0x1d7], cl
movsx ecx, byte [rsp + 0x1d7]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1d8], cl
movsx ecx, byte [rsp + 0x1d8]
xor ecx, 0x47
add ecx, 0xa
mov byte [rsp + 0x1d9], cl
movsx ecx, byte [rsp + 0x1d9]
xor ecx, 0x50
add ecx, 0xa
mov byte [rsp + 0x1da], cl
movsx ecx, byte [rsp + 0x1da]
xor ecx, 0x55
add ecx, 0xa
mov byte [rsp + 0x1db], cl
movsx ecx, byte [rsp + 0x1db]
xor ecx, 0x20
add ecx, 0xa
mov byte [rsp + 0x1dc], cl
movsx ecx, byte [rsp + 0x1dc]
xor ecx, 0x6f
add ecx, 0xa
mov byte [rsp + 0x1dd], cl
movsx ecx, byte [rsp + 0x1dd]
xor ecx, 0x72
add ecx, 0xa
mov byte [rsp + 0x1de], cl
movsx ecx, byte [rsp + 0x1de]
xor ecx, 0x64
add ecx, 0xa
mov byte [rsp + 0x1df], cl
movsx ecx, byte [rsp + 0x1df]
xor ecx, 0x65
add ecx, 0xa
mov byte [rsp + 0x1e0], cl
movsx ecx, byte [rsp + 0x1e0]
xor ecx, 0x72
add ecx, 0xa
mov byte [rsp + 0x1e1], cl
mov byte [rsp + 0x1e2], 0
movzx eax, byte [rsp + 0x1a4]
lea rdx, [rsp + 0x430]
lea rcx, [rsp + 0x1a0]
call fcn.14012dee0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14012b807
mov rax, qword [rax]
mov rcx, rax
call fcn.14002a110
nop
lea rcx, [rsp + 0x430]
call fcn.14001c970
mov rbx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x28]
mov qword [rbx], rcx
mov rcx, qword [rsp + 0x30]
mov qword [rbx + 8], rcx
mov rcx, qword [rsp + 0x38]
mov qword [rbx + 0x10], rcx
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], rsi
lea rcx, [rsp + 0x28]
call fcn.140081ba0
mov rax, rbx
mov rcx, qword [rsp + 0x4b0]
xor rcx, rsp
call fcn.14034de80
add rsp, 0x4c0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret