Function at 0x14015db70
Capabilities:
Authenticate hmac
Encode data using base64
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov rsi, rdx
mov r12, rcx
nop dword [rax + rax]
mov eax, dword [0x1415c38f8]
xor edx, edx
div dword [0x1415c38fc]
imul rcx, rax, 0x30166b01
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xfffffffe
and ecx, 0x77875aa5
imul ecx, edx
mov edx, eax
and edx, 1
or eax, 0x77875aa5
imul eax, edx
add eax, ecx
imul ecx, eax, 0x8fafbe87
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r10, rsp
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r9, rsp
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r11, rsp
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov rax, rsp
cmp ecx, 0x60fcc2e6
je 0x14015db90
mov qword [rbp - 0x58], rax
nop dword [rax]
mov ecx, dword [0x1415c3900]
add ecx, dword [0x1415c3904]
mov eax, ecx
or eax, 0x1400001
xor eax, 0x52209d52
or ecx, 0x21416221
and ecx, eax
and ecx, 0x7361ff73
xor ecx, 0xe20d0da8
mov eax, 0x20
call fcn.14021cf50
sub rsp, rax
mov r13, rsp
mov eax, 0x400
call fcn.14021cf50
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xe227c3da
je 0x14015dc30
mov rbx, qword [rsi + 8]
nop dword [rax + rax]
mov eax, dword [0x1415c3908]
add eax, dword [0x1415c390c]
xor eax, 0xf8b69fd7
mov ecx, eax
and ecx, 0x27c86278
or eax, 0x27c86278
add eax, ecx
or eax, 0xae20f538
cmp eax, 0x1c48013c
jb 0x14015dc90
mov r15, qword [rsi + 0x10]
cmp r15, 4
mov qword [rbp], rbx
mov qword [rbp - 0x20], r9
mov qword [rbp - 0x50], r11
mov byte [rbp - 1], r8b
jb 0x14015ddfc
mov r8, rbx
movabs r14, 0x5c003f003f005c
lea rcx, [r14 + 0x1d0000]
xor eax, eax
cmp rcx, qword [rbx]
setne al
nop word cs:[rax + rax]
mov ecx, dword [0x1415c3910]
sub ecx, dword [0x1415c3914]
mov edx, ecx
xor edx, 0xa8220308
xor ecx, 0x56d5dcb7
mov r8d, ecx
and r8d, 0x534ca0d5
and edx, 0xacb35f2a
imul edx, r8d
mov r8d, ecx
and r8d, 0xacb35f2a
or ecx, 0xacb35f2a
imul ecx, r8d
add ecx, edx
mov edx, ecx
not edx
or edx, 0xc089047d
add edx, ecx
cmp edx, 0xceaeeb89
je 0x14015dd00
nop dword [rax + rax]
mov ecx, dword [0x1415c3918]
mov edx, dword [0x1415c391c]
mov r8d, ecx
xor r8d, edx
not edx
and edx, ecx
add edx, edx
sub edx, r8d
imul ecx, edx, 0x46809e55
add ecx, 0x7cf874e3
or ecx, 0x927a8182
cmp ecx, 0xe21e571f
ja 0x14015dd60
test eax, eax
je 0x14015e26c
mov qword [rbp - 0x28], r10
mov eax, dword [0x1415c3920]
add eax, dword [0x1415c3924]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4d080dcb
and ecx, 0xb2f7f234
imul ecx, edx
mov edx, eax
and edx, 0xb2f7f234
or eax, 0xb2f7f234
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x70113d0a
and eax, 0x70113d08
or eax, ecx
add eax, 0xa9ad4a39
cmp eax, 0xa4085f38
mov rbx, qword [rbp]
ja 0x14015e056
jmp 0x14015e01a
cmp r15, 2
jg 0x14015def5
cmp r15, 1
jne 0x14015dec0
mov eax, dword [0x1415c3934]
add eax, dword [0x1415c3930]
mov ecx, eax
not ecx
and ecx, 0x2fcc03a1
and eax, 0xd033fc5e
sub eax, ecx
mov edx, eax
xor edx, 0xad08400
xor eax, 0xf42e33f7
or edx, 0xb10f4819
and edx, eax
xor eax, eax
cmp word [rbx], 0
setne cl
cmp edx, 0x790f395c
jb 0x14015de10
mov al, cl
mov ecx, 0xa03b50ab
nop word [rax + rax]
mov edx, dword [0x1415c3938]
mov r8d, dword [0x1415c393c]
mov r9d, r8d
and r9d, edx
add edx, r8d
sub edx, r9d
mov r8d, edx
and r8d, 0x30631ffc
xor edx, 0xb0631ffc
lea edx, [rdx + r8*2]
imul rdx, rcx
shr rdx, 0x3c
mov r8d, edx
xor r8d, 0x85e3aca4
or edx, 0xb
and edx, r8d
cmp edx, 0xd95b0567
ja 0x14015de60
test eax, eax
jne 0x14015e330
jmp 0x14015e26c
mov eax, dword [0x1415c3b60]
mov ecx, dword [0x1415c3b64]
mov edx, ecx
and edx, eax
add eax, ecx
sub eax, edx
imul eax, eax, 0xcb1e8c45
add eax, 0xfb53ac4e
cmp eax, 0x83dcfc03
jb 0x14015dec0
cmp r15, 1
ja 0x14015e2b0
jmp 0x14015e330
movzx eax, word [rbx + 2]
nop dword [rax]
mov ecx, dword [0x1415c3b30]
add ecx, dword [0x1415c3b34]
and ecx, 0x8360120
add ecx, 0xf58ee97
cmp ecx, 0xe453353d
ja 0x14015df00
mov ecx, 0xfdcf9f9b
nop word cs:[rax + rax]
mov edx, dword [0x1415c3b38]
and edx, dword [0x1415c3b3c]
imul rdx, rcx
shr rdx, 0x3d
or edx, 0x15d66aca
add edx, 0x3321edcf
cmp edx, 0x4e830174
ja 0x14015df30
cmp ax, 0x3a
jne 0x14015e2b0
mov r9, qword [rbp]
movzx eax, word [r9 + 4]
nop dword [rax + rax]
mov ecx, dword [0x1415c3b40]
mov edx, dword [0x1415c3b44]
mov r8d, ecx
xor r8d, edx
not r8d
or ecx, edx
and ecx, r8d
mov edx, ecx
xor edx, 0x9cbb2f1f
and edx, ecx
xor edx, 0x1b59ee39
mov ecx, edx
or ecx, 0x157e084e
sub ecx, edx
cmp ecx, 0xada2d49f
ja 0x14015df70
test ax, ax
jne 0x14015e1ff
movzx eax, word [r9]
nop dword [rax]
mov ecx, dword [0x1415c3b48]
mov edx, dword [0x1415c3b4c]
not ecx
not edx
or edx, ecx
not edx
or edx, 0xd8ff1d79
add edx, 0x3a52e0b9
mov ecx, edx
not ecx
and ecx, 0xe687bf0d
and edx, 0x19504082
sub edx, ecx
cmp edx, 0x92899059
ja 0x14015dfc0
cmp ax, 0x5c
jge 0x14015e00f
cmp ax, 0x2f
je 0x14015e2b0
jmp 0x14015f1a1
jne 0x14015f1a1
jmp 0x14015e2b0
mov eax, dword [0x1415c3928]
mov ecx, dword [0x1415c392c]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
imul rax, rax, 0x30c560b3
shr rax, 0x3c
imul edx, eax, 0x5f5ecb27
and edx, 0x3b02446b
xor eax, eax
cmp r14, qword [rbx]
setne cl
cmp edx, 0xa6dad7c5
jbe 0x14015e075
sub rsp, 0x20
lea rcx, [0x14159ec10]
mov r8d, 8
mov rdx, rbx
call fcn.140219be0
add rsp, 0x20
jmp 0x14015e01a
mov al, cl
test eax, eax
mov r10, qword [rbp - 0x28]
je 0x14015e26c
mov eax, 0xafe9d70b
nop dword [rax + rax]
mov ecx, dword [0x1415c3940]
and ecx, dword [0x1415c3944]
mov edx, ecx
xor edx, 0x7709a80
add edx, ecx
and ecx, 0xf88f657f
sub edx, ecx
imul rdx, rax
shr rdx, 0x3d
add edx, 0xe1776d9d
cmp edx, 0x6844f87d
jb 0x14015e090
cmp r15, 0xf8
jae 0x14015e330
nop word cs:[rax + rax]
mov eax, dword [0x1415c3b68]
mov ecx, dword [0x1415c3b6c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
not ecx
and ecx, 0xf80d7c3
mov edx, eax
and edx, 0xf07f283c
imul edx, ecx
mov ecx, eax
and ecx, 0xf80d7c3
or eax, 0xf80d7c3
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xfb5184aa
and ecx, 0x4ae7b55
imul ecx, edx
mov edx, eax
and edx, 0x4ae7b55
or eax, 0x4ae7b55
imul eax, edx
add eax, ecx
xor eax, 0x3e759120
cmp eax, 0x12f19d9
jb 0x14015e0e0
mov rax, qword [rbp]
movzx eax, word [rax + 2]
nop word cs:[rax + rax]
mov ecx, dword [0x1415c3b70]
sub ecx, dword [0x1415c3b74]
imul ecx, ecx, 0xcbc038e6
xor ecx, 0xbe839fd7
mov edx, ecx
and edx, 0x46002c98
add edx, edx
sub ecx, edx
cmp ecx, 0xb6a90773
je 0x14015e180
cmp ax, 0x3a
jne 0x14015e2b0
nop word cs:[rax + rax]
mov eax, dword [0x1415c3b78]
xor eax, dword [0x1415c3b7c]
mov ecx, eax
and ecx, 0x77c7c774
xor eax, 0xf7c7c774
lea eax, [rax + rcx*2]
mov ecx, eax
xor ecx, 0x1d30c1db
xor eax, 0x60400600
or eax, 0x8bbff8e5
add eax, ecx
cmp eax, 0x5d989044
je 0x14015e1c0
mov rax, qword [rbp]
movzx eax, word [rax + 4]
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x14015e210
cmp ax, 0x5c
jge 0x14015e282
cmp ax, 0x2f
jne 0x14015e2b0
nop word cs:[rax + rax]
mov eax, dword [0x1415c3b80]
or eax, dword [0x1415c3b84]
mov ecx, eax
xor ecx, 0xe7a528bb
xor eax, 0x32501a15
and eax, ecx
xor eax, 0xc596d720
cmp eax, 0x7da5a2a
jb 0x14015e230
mov rax, qword [rbp]
movzx eax, word [rax]
cmp ax, 0x5c
jl 0x14015e295
jne 0x14015f1a1
jmp 0x14015e2e0
mov rax, qword [rsi + 0x10]
mov qword [r12 + 0x10], rax
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
jmp 0x14015f63d
jne 0x14015e2b0
mov rax, qword [rbp]
movzx eax, word [rax]
cmp ax, 0x5c
jge 0x14015f17a
cmp ax, 0x2f
jne 0x14015f1a1
jmp 0x14015e2e0
mov eax, dword [0x1415c3b88]
or eax, dword [0x1415c3b8c]
or eax, 0xefa7d3b7
add eax, 0x6fe204bf
cmp eax, 0x250136f8
jb 0x14015e2b0
mov rax, qword [rbp]
movzx eax, word [rax]
nop word cs:[rax + rax]
mov ecx, dword [0x1415c3b94]
xor ecx, dword [0x1415c3b90]
add ecx, 0x7f4ecd3e
not ecx
or ecx, 0xcaa58de5
and ecx, 0xeaaf9ff5
add ecx, 0x6c41fddc
jae 0x14015e2e0
cmp ax, 0x5c
jge 0x14015e312
cmp ax, 0x2f
jne 0x14015e330
mov rax, qword [rbp]
movzx eax, word [rax + 2]
cmp ax, 0x5c
jge 0x14015eb97
cmp ax, 0x2f
je 0x14015eb9d
mov eax, dword [0x1415c3948]
or eax, dword [0x1415c394c]
imul rcx, rax, 0x1e07fb17
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
or eax, 0xe4fbadd8
cmp eax, 0xab6f6912
jae 0x14015e374
mov qword [r13], 0
mov qword [r13 + 8], 2
mov qword [r13 + 0x10], 0
mov qword [rbp - 0x28], r10
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], rsi
mov ecx, dword [0x1415c3950]
mov eax, dword [0x1415c3954]
not ecx
not eax
mov edx, ecx
or edx, eax
and eax, ecx
not eax
and eax, edx
add eax, 0x9a210fcc
mov ecx, eax
and ecx, 0x4ec30f77
add ecx, ecx
sub eax, ecx
add eax, 0x4ec30f77
mov ecx, eax
not ecx
and ecx, 0x548f34cc
mov edx, eax
and edx, 0xab70cb33
imul edx, ecx
mov ecx, eax
and ecx, 0x548f34cc
or eax, 0x548f34cc
imul eax, ecx
add eax, edx
mov qword [r13], 0
mov qword [r13 + 8], 2
mov qword [r13 + 0x10], 0
cmp eax, 0x1b8cb44f
jb 0x14015e380
mov ebx, 0x200
mov eax, 2
mov qword [rbp - 0x10], rax
xor eax, eax
mov qword [rbp - 0x18], rax
xor r12d, r12d
mov r14, qword [rbp]
nop word cs:[rax + rax]
mov eax, dword [0x1415c3958]
or eax, dword [0x1415c395c]
add eax, 0xecc82c36
and eax, 0x180e6fb7
add eax, 0x6d1aee52
cmp eax, 0x5c77e815
jb 0x14015e420
mov esi, 0x200
cmp rbx, 0x201
jae 0x14015e458
mov r15, rdi
jmp 0x14015e506
mov eax, dword [0x1415c3960]
xor edx, edx
div dword [0x1415c3964]
mov eax, dword [0x1415c3968]
xor edx, edx
div dword [0x1415c396c]
cmp eax, 0x6548a2ce
je 0x14015e466
sub rbx, r12
mov rdx, qword [rbp - 0x18]
mov rax, rdx
xor rax, r12
mov rcx, r12
not rcx
and rcx, rdx
add rcx, rcx
sub rcx, rax
cmp rbx, rcx
ja 0x14015e60f
mov eax, dword [0x1415c3970]
or eax, dword [0x1415c3974]
add eax, 0xfefa1c02
mov ecx, eax
not ecx
or ecx, 0xf83d08e8
or eax, 0x7c2f717
and eax, ecx
add eax, 0xedc0cb2d
cmp eax, 0x34a5aa68
jae 0x14015e4e2
mov rcx, qword [rbp - 0x18]
mov eax, 0xffffffff
cmp rcx, rax
cmovb rax, rcx
mov qword [r13 + 0x10], rax
mov rax, qword [rbp - 0x18]
mov ecx, 0xffffffff
cmp rax, rcx
mov r12d, 0xffffffff
cmovb r12, rax
mov qword [r13 + 0x10], r12
mov rsi, r12
mov r15, qword [rbp - 0x10]
mov rbx, r12
sub rsp, 0x20
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, r14
mov edx, ebx
mov qword [rbp - 0x30], r15
mov r8, r15
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
add rsp, 0x20
mov r14d, eax
test eax, eax
jne 0x14015e5a3
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
nop
mov ecx, dword [0x1415c3990]
mov edx, dword [0x1415c3994]
mov r8d, edx
and r8d, ecx
add ecx, edx
sub ecx, r8d
not ecx
or ecx, 0xddc549e3
mov edx, ecx
not edx
mov r8d, edx
and r8d, 0x202b208
and ecx, 0x34f90cb7
imul ecx, r8d
mov r8d, edx
and r8d, 0x20380414
or edx, 0x34f90cb7
imul edx, r8d
add ecx, edx
add ecx, 0xee0e07c6
cmp ecx, 0x49bb6dba
ja 0x14015e540
test eax, eax
jne 0x14015e9d0
mov r15d, r14d
cmp rbx, r15
jne 0x14015e5db
sub rsp, 0x20
call sub.KERNEL32.dll_GetLastError
add rsp, 0x20
cmp eax, 0x7a
mov r14, qword [rbp]
jne 0x14015f34b
cmp rbx, 0x7fffffff
lea rbx, [rbx + rbx]
mov eax, 0xffffffff
cmova rbx, rax
jmp 0x14015e5f0
jae 0x14015e6f2
mov rbx, r15
mov r14, qword [rbp]
nop dword [rax + rax]
mov eax, dword [0x1415c39a8]
xor edx, edx
div dword [0x1415c39ac]
xor eax, 0x80396219
cmp eax, 0x4ec206eb
je 0x14015e5f0
jmp 0x14015e420
mov eax, dword [0x1415c3978]
add eax, dword [0x1415c397c]
or eax, 0xf7df5b9a
add eax, 0xb3296c5c
xor eax, 0xee7afc04
cmp eax, 0xcd3283ea
ja 0x14015e6d7
mov eax, dword [0x1415c3984]
add eax, dword [0x1415c3980]
imul esi, eax, 0xd70cff2a
add esi, 0xcc821332
sub rsp, 0x20
mov rcx, r13
mov rdx, r12
mov r8, rbx
call fcn.140247fa0
add rsp, 0x20
cmp esi, 0x86c670b8
jb 0x14015e6d7
nop dword [rax + rax]
mov eax, dword [0x1415c3988]
xor eax, dword [0x1415c398c]
mov ecx, eax
or ecx, 0x24482100
not eax
and eax, 0xc2160801
and ecx, 0x34c9e1b2
sub ecx, eax
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x94090111
and eax, 0x43f6fcee
imul eax, edx
mov edx, ecx
and edx, 0x62f6f8ee
or ecx, 0x63f6fcee
imul ecx, edx
add ecx, eax
cmp ecx, 0x1fb4f8f5
jb 0x14015e670
mov rax, qword [r13]
mov qword [rbp - 0x18], rax
mov rax, qword [r13 + 8]
mov qword [rbp - 0x10], rax
jmp 0x14015e4a0
sub rsp, 0x20
mov rcx, r13
mov rdx, r12
mov r8, rbx
call fcn.14021bcb0
add rsp, 0x20
jmp 0x14015e635
cmp rsi, r15
jb 0x14015f376
mov r12, qword [rbp - 0x40]
mov r13, qword [rbp - 0x58]
mov qword [r12 + 0x10], 0
cmp r14d, 0xf6
ja 0x14015e840
cmp byte [rbp - 1], 0
jne 0x14015e840
lea r14, [r15 + 1]
nop word [rax + rax]
mov eax, dword [0x1415c39d0]
and eax, dword [0x1415c39d4]
xor eax, 0xa1c0a280
and eax, 0xa1c7e2b4
add eax, 0x6bd02a5d
cmp eax, 0x13218e97
jb 0x14015e730
mov r8, qword [r12]
nop word cs:[rax + rax]
mov eax, dword [0x1415c39d8]
mov ecx, dword [0x1415c39dc]
xor ecx, eax
not ecx
and ecx, eax
add ecx, 0x6a7fab22
or ecx, 0x54323092
and ecx, 0x75327892
cmp ecx, 0x4434fb34
jb 0x14015e760
cmp r8, r15
ja 0x14015f5ab
lea rbx, [r14 + r14]
nop dword [rax]
mov eax, dword [0x1415c39e0]
mov ecx, dword [0x1415c39e4]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
imul eax, ecx, 0x3f9301da
add eax, 0xbc78a82c
cmp eax, 0x128d9666
ja 0x14015e7a0
test r8, r8
mov qword [rbp - 0x38], r15
je 0x14015f158
add r8, r8
nop word [rax + rax]
mov eax, dword [0x1415c39e8]
sub eax, dword [0x1415c39ec]
mov ecx, eax
not ecx
and ecx, 0xce0793ce
mov edx, eax
and edx, 0x31f86c31
imul edx, ecx
mov ecx, eax
and ecx, 0xce0793ce
or eax, 0xce0793ce
imul eax, ecx
add eax, edx
add eax, 0x18191776
cmp eax, 0xb8e80dab
ja 0x14015e7e0
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x50]
mov qword [rcx], rax
mov qword [rcx + 0x10], r8
mov esi, 2
jmp 0x14015f15a
mov ecx, dword [0x1415c39c8]
mov edx, dword [0x1415c39cc]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0x81014a4
and ecx, 0x5702e009
or ecx, r9d
or eax, r8d
and r8d, 0x81014a4
and edx, 0x5702e009
or edx, r8d
xor edx, ecx
not eax
or eax, edx
and eax, 0x5f12f4ad
add eax, 0x27c40160
not eax
or eax, 0x7e3e107a
add eax, 0x2b8a594a
jae 0x14015e840
cmp r14d, 2
mov rdi, qword [rbp - 0x30]
jbe 0x14015e940
nop dword [rax + rax]
mov eax, dword [0x1415c3a48]
imul eax, dword [0x1415c3a4c]
imul rax, rax, 0x57a59b97
shr rax, 0x3d
add eax, 0x42455e41
xor eax, 0xfb12dab4
cmp eax, 0xf241cbfb
ja 0x14015e8b0
movzx eax, word [rdi + 2]
nop dword [rax]
mov ecx, dword [0x1415c3a50]
or ecx, dword [0x1415c3a54]
mov edx, ecx
xor edx, 0x5045590
xor ecx, 0x8c38264
and ecx, 0xf8d3a26f
and edx, 0x72c5d90
sub edx, ecx
or edx, 0x3ba8ab20
cmp edx, 0xe39845f6
je 0x14015e8e0
cmp ax, 0x3a
jne 0x14015ebe5
cmp word [rdi + 4], 0x5c
jne 0x14015ebe5
lea rsi, [0x14159f058]
mov r13d, 4
jmp 0x14015eccf
mov eax, dword [0x1415c3a38]
mov ecx, dword [0x1415c3a3c]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
add eax, 0x96f087f3
mov ecx, eax
or ecx, 0x800d126
not eax
and eax, 0x10082808
and ecx, 0xec11d7e6
sub ecx, eax
cmp ecx, 0x9797f930
je 0x14015e940
cmp r14d, 2
jne 0x14015ecc7
movzx ecx, word [rdi]
mov rbx, qword [rbp]
mov r14, qword [rbp - 0x20]
nop
mov eax, dword [0x1415c3a40]
xor eax, dword [0x1415c3a44]
mov edx, eax
xor edx, 0xf97598e2
add edx, eax
and eax, 0x68a671d
sub edx, eax
add edx, 0x26b1c95
xor edx, 0x76eb40e6
cmp edx, 0x93a1d873
jae 0x14015e990
cmp cx, 0x5c
je 0x14015ecee
jmp 0x14015edae
sub rsp, 0x20
call fcn.14021a080
add rsp, 0x20
mov esi, eax
shl rsi, 0x20
cmp qword [rbp - 0x18], 0
mov rbx, qword [rbp - 0x40]
mov r14, qword [rbp - 0x48]
je 0x14015ea99
nop word cs:[rax + rax]
mov eax, dword [0x1415c3998]
xor edx, edx
div dword [0x1415c399c]
imul rax, rax, 0x8069ab
shr rax, 0x36
mov ecx, eax
xor ecx, 0xfb434799
add ecx, eax
and eax, 0xfffffffe
sub ecx, eax
mov eax, ecx
xor eax, 0xec63ba57
and ecx, 0x13004588
add ecx, ecx
sub ecx, eax
mov rdi, qword [0x1415d3918]
cmp ecx, 0x237b5807
je 0x14015ea00
mov eax, dword [0x1415c39a0]
or eax, dword [0x1415c39a4]
imul rax, rax, 0x46e5d4bf
shr rax, 0x3e
xor eax, 0x6cfede29
cmp eax, 0x8637cf85
jbe 0x14015ea82
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, qword [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
sub rsp, 0x20
mov rcx, rdi
xor edx, edx
mov r8, qword [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
or rsi, 2
movabs rax, 0x8000000000000000
nop word [rax + rax]
mov ecx, dword [0x1415c3b20]
mov edx, dword [0x1415c3b24]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
and ecx, 0xb00d10fc
lea edx, [rcx - 0x670845f0]
not edx
or edx, 0xaf4ebe2b
add ecx, edx
add ecx, 0x98f7ba11
mov qword [r14 + 8], rsi
mov qword [r14], rax
cmp ecx, 0xc44ffa38
jbe 0x14015eb15
mov qword [r14 + 8], rsi
mov qword [r14], rax
jmp 0x14015eab0
mov rax, qword [rbx]
nop dword [rax + rax]
mov ecx, dword [0x1415c3b28]
sub ecx, dword [0x1415c3b2c]
or ecx, 0xb9bf4b5f
add ecx, 0xe2be23d0
cmp ecx, 0x79c62a6e
jb 0x14015eb20
test rax, rax
mov r14, qword [rbp]
je 0x14015f63d
mov rsi, qword [0x1415d3918]
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov ebx, dword [0x1415c3ba8]
or ebx, dword [0x1415c3bac]
or ebx, 0xbfbf7dbe
add ebx, 0x5a551edb
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call rdi
add rsp, 0x20
cmp ebx, 0xb87096ab
ja 0x14015eb60
jmp 0x14015f63d
jne 0x14015e330
mov eax, dword [0x1415c3b98]
sub eax, dword [0x1415c3b9c]
mov ecx, eax
not ecx
and ecx, 0x74bb81ea
mov edx, eax
and edx, 0x8b447e15
imul edx, ecx
mov ecx, eax
and ecx, 0x74bb81ea
or eax, 0x74bb81ea
imul eax, ecx
add eax, edx
add eax, 0xed1fe4e8
cmp eax, 0x6b661514
jb 0x14015f3f0
jmp 0x14015f3a2
movzx ecx, word [rdi]
cmp r14d, 3
jbe 0x14015ecdc
mov edx, 0xbccdde3f
nop word [rax + rax]
mov r8d, dword [0x1415c3aa0]
add r8d, dword [0x1415c3aa4]
and r8d, 0xb077e1cb
imul r8, rdx
shr r8, 0x3f
cmp r8d, 0x54e77fb4
ja 0x14015ec00
mov edx, 0x89758d89
mov rbx, qword [rbp]
mov r14, qword [rbp - 0x20]
nop word cs:[rax + rax]
mov r9d, dword [0x1415c3aa8]
mov r10d, dword [0x1415c3aac]
mov r8d, r9d
not r8d
mov r11d, r10d
not r11d
mov esi, r8d
and esi, 0xf31db8ea
and r9d, 0xce24715
or r9d, esi
or r8d, r11d
and r11d, 0xf31db8ea
and r10d, 0xce24715
or r10d, r11d
xor r10d, r9d
not r8d
or r8d, r10d
imul r8, rdx
shr r8, 0x3e
add r8d, 0x93b6cb06
cmp r8d, 0xc9ed36f2
ja 0x14015ec40
mov esi, 2
cmp cx, 0x5c
jne 0x14015edb3
cmp ax, 0x5c
jge 0x14015f235
cmp ax, 0x3f
je 0x14015edb3
jmp 0x14015ecf2
mov esi, 2
xor r13d, r13d
mov rbx, qword [rbp]
mov r14, qword [rbp - 0x20]
jmp 0x14015edb6
mov rbx, qword [rbp]
mov r14, qword [rbp - 0x20]
cmp cx, 0x5c
jne 0x14015edae
movzx eax, word [rdi + 2]
cmp ax, 0x5c
jne 0x14015edae
add r15, 0xfffffffffffffffe
mov eax, dword [0x1415c3ac8]
sub eax, dword [0x1415c3acc]
or eax, 0xf2b7687e
add eax, 0xc96d96e2
mov ecx, eax
xor ecx, 0xa2a18992
or eax, 0x5d4c7661
and eax, ecx
cmp eax, 0xa5789af1
ja 0x14015ed00
add rdi, 4
mov eax, dword [0x1415c3ad0]
mov ecx, dword [0x1415c3ad4]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
or ecx, 0x32e183ee
or eax, 0xcd1e7c11
and eax, ecx
xor eax, 0xe34ccfe
cmp eax, 0x10370608
je 0x14015ed30
mov qword [rbp - 0x30], rdi
lea rsi, [0x14159f060]
nop word [rax + rax]
mov eax, dword [0x1415c3ad8]
mov ecx, dword [0x1415c3adc]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
and eax, 0xec7c30a2
mov ecx, eax
xor ecx, 0x316fcaa2
or eax, 0xcc103000
and eax, ecx
add eax, 0x647170d1
cmp eax, 0x7096fc6a
ja 0x14015ed70
mov r13d, 8
jmp 0x14015edb6
mov esi, 2
xor r13d, r13d
mov rdi, r13
or rdi, 1
add rdi, r15
mov ecx, dword [str.l_R]
mov edx, dword [0x1415c3a5c]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0x9d7c9110
and ecx, 0x40030022
or ecx, r9d
or eax, r8d
and r8d, 0x9d7c9110
and edx, 0x40030022
or edx, r8d
xor edx, ecx
not eax
or eax, edx
and eax, 0xdd7f9132
add eax, 0xeeece204
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xf058132
and ecx, 0xf0fa1008
imul ecx, edx
mov edx, eax
and edx, 0xf0fa7204
or eax, 0xf0fa720c
imul eax, edx
add eax, ecx
cmp eax, 0xedf046ba
ja 0x14015edc0
mov rcx, qword [r12]
cmp rcx, rdi
jae 0x14015ef4e
lea r8, [rdi + rdi]
test rcx, rcx
je 0x14015f069
add rcx, rcx
nop word [rax + rax]
mov eax, dword [0x1415c3a60]
sub eax, dword [0x1415c3a64]
mov edx, eax
and edx, 0x79dc86b6
xor eax, 0x79dc86b6
lea eax, [rax + rdx*2]
mov edx, eax
not edx
or edx, 0x82ccd07b
add eax, edx
inc eax
mov edx, eax
not edx
and edx, 0x33bd8363
mov r9d, eax
and r9d, 0xcc427c9c
imul r9d, edx
mov edx, eax
and edx, 0x33bd8363
or eax, 0x33bd8363
imul eax, edx
add eax, r9d
cmp eax, 0x5a2055e3
je 0x14015ee60
mov r9, qword [rbp - 0x28]
mov qword [r9], rbx
nop word cs:[rax + rax]
mov eax, dword [0x1415c3a68]
xor edx, edx
div dword [0x1415c3a6c]
add eax, 0xa0db3ce0
mov edx, eax
not edx
and edx, 0xb9240d3f
mov r10d, eax
and r10d, 0x46dbf2c0
imul r10d, edx
mov edx, eax
and edx, 0xb9240d3f
or eax, 0xb9240d3f
imul eax, edx
add eax, r10d
mov edx, eax
not edx
and edx, 0xdf49fa27
mov r10d, eax
and r10d, 0x20b605d8
imul r10d, edx
mov edx, eax
and edx, 0xdf49fa27
or eax, 0xdf49fa27
imul eax, edx
add eax, r10d
mov qword [r9 + 0x10], rcx
cmp eax, 0xdadc5505
jne 0x14015f062
mov qword [r9 + 0x10], rcx
jmp 0x14015eed0
mov rdi, rcx
cmp rdi, r13
mov qword [rbp - 0x38], r15
jae 0x14015f0ac
mov eax, dword [0x1415c3a78]
xor eax, dword [0x1415c3a7c]
add eax, 0x4d55df94
shr eax, 1
mov ecx, 0x84e01655
imul rcx, rax
shr rcx, 0x3d
or ecx, 0x9d55f73e
cmp ecx, 0x38154b2a
jae 0x14015efb0
sub rsp, 0x20
mov rcx, r12
xor edx, edx
mov r8, r13
call fcn.140219ee0
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x1415c3a80]
xor edx, edx
div dword [0x1415c3a84]
mov ebx, eax
add ebx, 0xd067511b
mov eax, ebx
xor eax, 0x6fc16235
and ebx, 0x103e9dca
add ebx, ebx
sub ebx, eax
add ebx, 0x8a1fa36f
sub rsp, 0x20
mov rcx, r12
xor edx, edx
mov r8, r13
call fcn.1402569f0
add rsp, 0x20
cmp ebx, 0xf596f44
jb 0x14015efb0
mov rax, r12
mov r12, qword [r12 + 0x10]
mov r9, qword [rax]
mov rbx, qword [rax + 8]
mov ecx, 0x9b9d2d23
nop
mov eax, dword [0x1415c3a88]
xor edx, edx
div dword [0x1415c3a8c]
imul rax, rcx
shr rax, 0x3e
mov edx, eax
not edx
mov r8d, eax
and r8d, 0xfffffffe
and edx, 0x14df32d1
imul edx, r8d
mov r8d, eax
and r8d, 1
or eax, 0x14df32d1
imul eax, r8d
add eax, edx
xor eax, 0xafa779c3
cmp eax, 0x1973d396
jb 0x14015f010
mov qword [rbp], r9
mov rdi, rsi
jmp 0x14015f0b6
mov eax, 2
jmp 0x14015f06f
xor eax, eax
mov r9, qword [rbp - 0x28]
mov qword [r9 + 8], rax
sub rsp, 0x20
mov edx, 2
mov rcx, r14
call fcn.140219c20
add rsp, 0x20
cmp qword [r14], 0
jne 0x14015f126
mov rbx, qword [r14 + 8]
mov qword [r12 + 8], rbx
mov qword [r12], rdi
cmp rdi, r13
mov qword [rbp - 0x38], r15
jb 0x14015ef5e
mov qword [rbp], rdi
mov rdi, rsi
xor r12d, r12d
lea r14, [r13*2]
mov eax, dword [0x1415c3a90]
mov ecx, dword [0x1415c3a94]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0x5ba89b0
and eax, 0x7a45764f
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x1981de1c
and ecx, 0x67e21e3
imul ecx, edx
mov edx, eax
and edx, 0x67e21e3
or eax, 0x67e21e3
imul eax, edx
add eax, ecx
or eax, 0xea309fc2
cmp eax, 0xc2532cd
mov r15, qword [rbp - 0x40]
mov rsi, r13
jb 0x14015f696
jmp 0x14015f64e
mov eax, dword [0x1415c3a70]
add eax, dword [0x1415c3a74]
or eax, 0x32f98e6b
mov ecx, eax
xor ecx, 0xc9f70dfa
add ecx, eax
and eax, 0x3608f205
sub ecx, eax
xor ecx, 0xec07b32f
cmp ecx, 0xd66745aa
ja 0x14015f126
ud2
xor esi, esi
mov eax, dword [0x1415c39f0]
sub eax, dword [0x1415c39f4]
cmp eax, 0x6c3469e2
mov rdi, qword [rbp - 0x50]
je 0x14015f448
jmp 0x14015f403
jne 0x14015f1a1
jmp 0x14015e2e0
mov rax, qword [rsi + 0x10]
mov qword [r12 + 0x10], rax
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
mov eax, dword [0x1415c3b50]
xor edx, edx
div dword [0x1415c3b54]
add eax, 0x3c2f5630
mov ecx, eax
not ecx
and ecx, 0x6e26f2e8
mov edx, eax
and edx, 0x91d90d17
imul edx, ecx
mov ecx, eax
and ecx, 0x6e26f2e8
or eax, 0x6e26f2e8
imul eax, ecx
add eax, edx
or eax, 0x4bdd43af
mov rcx, qword [rsi + 0x10]
mov qword [r12 + 0x10], rcx
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
cmp eax, 0x91657daf
jb 0x14015f190
nop dword [rax + rax]
mov eax, dword [0x1415c3b58]
mov ecx, dword [0x1415c3b5c]
mov edx, eax
and edx, ecx
or eax, ecx
add eax, edx
add eax, 0xd2e1cf62
imul rax, rax, 0xcd3df5
shr rax, 0x36
add eax, 0x5c84ab8b
cmp eax, 0xff5291ab
jae 0x14015f200
jmp 0x14015f63d
jne 0x14015ecf2
movzx eax, word [rdi + 4]
mov ecx, dword [0x1415c3ab0]
and ecx, dword [0x1415c3ab4]
xor ecx, 0x5292fdea
add ecx, 0xc954520a
not ecx
and ecx, 0xcab31b66
cmp ecx, 0x50c8ff97
jb 0x14015f23f
cmp ax, 0x3f
jge 0x14015f2e6
cmp ax, 0x2e
jne 0x14015ecfc
mov eax, dword [0x1415c3ab8]
mov ecx, dword [0x1415c3abc]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
xor ecx, 0x86080413
or eax, 0x30a12048
and eax, ecx
or eax, 0x4956dba4
imul eax, eax, 0x5f4c9ae5
cmp eax, 0x985795bf
jb 0x14015f277
cmp word [rdi + 6], 0x5c
jne 0x14015ecfc
movabs rax, 0xdab5b191435ce972
sub r15, rax
add r15, rax
add r15, 0xfffffffffffffffc
add rdi, 8
mov qword [rbp - 0x30], rdi
lea rsi, [0x14159f058]
mov r13d, 4
jmp 0x14015edb6
jne 0x14015ecfc
mov eax, dword [0x1415c3ac0]
mov ecx, dword [0x1415c3ac4]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
mov r8d, 0x69347e10
sub r8d, eax
sub r8d, ecx
add eax, ecx
add eax, 0x96cb81ef
and r8d, 0x8008cd00
and eax, 0x8030087
add eax, r8d
add eax, 0x77f43278
cmp eax, 0x85b438b0
ja 0x14015f2ec
movzx eax, word [rdi + 6]
xor ecx, ecx
test cl, cl
jne 0x14015f338
cmp ax, 0x5c
je 0x14015edb3
jmp 0x14015ecfc
mov eax, dword [0x1415c39b0]
and eax, dword [0x1415c39b4]
xor eax, 0x14b034e9
add eax, 0x11976d1a
or eax, 0xe0dc7729
cmp eax, 0x7702166a
jb 0x14015f976
jmp 0x14015f949
mov eax, dword [0x1415c3b08]
or eax, dword [0x1415c3b0c]
xor eax, 0x9f88ee2
imul eax, eax, 0xe53eae73
xor eax, 0x4e16973a
cmp eax, 0x5cc15860
jb 0x14015f9cc
jmp 0x14015f9b7
mov eax, dword [0x1415c3ba0]
mov ecx, dword [0x1415c3ba4]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
mov ecx, eax
xor ecx, 0xa10899a8
add ecx, eax
and eax, 0x5ef76657
sub ecx, eax
imul eax, ecx, 0xec2e175a
add eax, 0xab436c74
mov rcx, qword [rsi + 0x10]
mov qword [r12 + 0x10], rcx
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
cmp eax, 0x47861401
jbe 0x14015f63d
mov rax, qword [rsi + 0x10]
mov qword [r12 + 0x10], rax
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
jmp 0x14015f3a2
mov eax, dword [0x1415c39f8]
sub eax, dword [0x1415c39fc]
and eax, 0x4f5d511c
xor eax, 0xf2dfe586
imul r15d, eax, 0x80f095f5
mov qword [rdi + 8], rsi
sub rsp, 0x20
mov edx, 2
mov rcx, r13
mov r8, rbx
mov r9, rdi
call fcn.140219c20
add rsp, 0x20
cmp r15d, 0x2ae10cba
jne 0x14015f469
mov qword [rdi + 8], rsi
sub rsp, 0x20
mov edx, 2
mov rcx, r13
mov r8, rbx
mov r9, rdi
call fcn.140219c20
add rsp, 0x20
jmp 0x14015f403
cmp qword [r13], 0
jne 0x14015f60e
mov ecx, 0xd4f3bd83
mov r15, qword [rbp - 0x38]
nop dword [rax]
mov eax, dword [0x1415c3a08]
xor edx, edx
div dword [0x1415c3a0c]
imul rax, rcx
shr rax, 0x3d
mov edx, eax
not edx
and edx, 0x65f6a3
and eax, 0xfffffffc
or eax, edx
not edx
mov r8d, eax
and r8d, 0x1b685
and edx, 0xe710081a
imul edx, r8d
mov r8d, eax
and r8d, 0x644022
or eax, 0xe774483a
imul eax, r8d
add eax, edx
cmp eax, 0x7038329a
je 0x14015f480
nop word [rax + rax]
mov eax, dword [0x1415c3a10]
xor edx, edx
div dword [0x1415c3a14]
imul eax, eax, 0xe77886a9
mov ecx, eax
xor ecx, 0x50928203
xor eax, 0x81402460
and eax, 0x8b4c74f0
and ecx, 0x74b38b0f
sub ecx, eax
cmp ecx, 0x958d5a01
jb 0x14015f4e0
mov rcx, qword [r13 + 8]
nop word [rax + rax]
mov eax, dword [0x1415c3a18]
xor edx, edx
div dword [0x1415c3a1c]
mov edx, eax
xor edx, 0xe5be6f43
add edx, eax
and eax, 0x1a4190bc
sub edx, eax
mov eax, edx
not eax
and eax, 0xe1b891ca
mov r8d, edx
and r8d, 0x1e476e35
imul r8d, eax
mov eax, edx
and eax, 0xe1b891ca
or edx, 0xe1b891ca
imul edx, eax
add edx, r8d
mov eax, edx
not eax
and eax, 0xe05ca61b
mov r8d, edx
and r8d, 0x1fa359e4
imul r8d, eax
mov eax, edx
and eax, 0xe05ca61a
or edx, 0xe05ca61b
imul edx, eax
add edx, r8d
mov qword [r12 + 8], rcx
mov qword [r12], r14
cmp edx, 0x2c821046
jb 0x14015f520
mov r8, r14
xor r9d, r9d
mov r14, qword [rbp - 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x1415c3a20]
xor edx, edx
div dword [0x1415c3a24]
not eax
or eax, 0x112bc239
mov ecx, eax
not ecx
and eax, 0x792b93b5
mov edx, ecx
and edx, 0x6d42c42
imul edx, eax
mov eax, ecx
and eax, 0x68001184
or ecx, 0x792b93b5
imul ecx, eax
add ecx, edx
or ecx, 0x88324b03
cmp ecx, 0xec3c06db
ja 0x14015f5c0
jmp 0x14015f6c6
mov eax, dword [0x1415c3a00]
xor eax, dword [0x1415c3a04]
mov ecx, eax
and ecx, 0x3f56fe8
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x17008da2
or eax, 0xfbccbe54
cmp eax, 0xb576e1dd
jb 0x14015f60e
ud2
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x1415c3a98]
mov r13d, dword [0x1415c3a9c]
not eax
not r13d
or r13d, eax
lea rcx, [rbx + r12*2]
sub rsp, 0x20
mov rdx, rdi
mov r8, r14
call fcn.14022aa10
add rsp, 0x20
mov eax, r12d
and eax, esi
mov rcx, r12
xor rcx, rsi
lea r9, [rcx + rax*2]
mov qword [r15 + 0x10], r9
cmp r13d, 0xcfb28278
jne 0x14015f6b7
lea rcx, [rbx + r12*2]
sub rsp, 0x20
mov rdx, rdi
mov r8, r14
call fcn.14022aa10
add rsp, 0x20
lea rax, [r12 + rsi]
mov qword [r15 + 0x10], rax
jmp 0x14015f64e
mov r12, r15
mov r14, qword [rbp - 0x10]
mov r15, qword [rbp - 0x38]
mov r8, qword [rbp]
lea rbx, [r15 + r15]
mov rax, r8
not rax
and rax, r9
mov rcx, r9
not rcx
and rcx, r8
sub rcx, rax
cmp rcx, r15
jb 0x14015f894
mov r13, r8
mov rdi, qword [r12 + 8]
lea rcx, [rdi + r9*2]
sub rsp, 0x20
mov rdx, qword [rbp - 0x30]
mov r8, rbx
mov rsi, r9
call fcn.14022aa10
add rsp, 0x20
add r15, rsi
mov qword [r12 + 0x10], r15
cmp r15, r13
jne 0x14015f75f
sub rsp, 0x20
mov rcx, r12
call fcn.1401ed270
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x1415c3ae0]
mov ecx, eax
not ecx
or ecx, dword [0x1415c3ae4]
add eax, ecx
inc eax
mov ecx, eax
xor ecx, 0x5e2714d9
xor eax, 0x62971e42
and eax, ecx
cmp eax, 0xf2a63213
je 0x14015f730
mov rdi, qword [r12 + 8]
mov word [rdi + r15*2], 0
inc r15
mov qword [r12 + 0x10], r15
cmp qword [rbp - 0x18], 0
je 0x14015f810
mov rsi, qword [0x1415d3918]
mov eax, dword [0x1415c3ae8]
mov ecx, dword [0x1415c3aec]
mov edx, eax
xor edx, ecx
not edx
or eax, ecx
and eax, edx
and eax, 0x8fc7de53
xor eax, 0x29e18e36
add eax, 0x46d6c06
cmp eax, 0xc011feaf
jbe 0x14015f7c2
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call qword [sym.imp.KERNEL32.dll_HeapFree]
add rsp, 0x20
mov rdi, qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
mov ebx, dword [0x1415c3af0]
sub ebx, dword [0x1415c3af4]
and ebx, 0xbc4eda78
add ebx, 0x8c620078
sub rsp, 0x20
mov rcx, rsi
xor edx, edx
mov r8, r14
call rdi
add rsp, 0x20
cmp ebx, 0xfe7f1a83
ja 0x14015f7d0
nop word cs:[rax + rax]
mov eax, dword [0x1415c3af8]
xor edx, edx
div dword [0x1415c3afc]
mov ecx, eax
and ecx, 0xbbeb8a9
xor eax, 0xbbeb8a9
lea eax, [rax + rcx*2]
imul eax, eax, 0x23e7e246
cmp eax, 0xaf54f518
je 0x14015f810
mov rax, qword [r12 + 0x10]
mov rcx, qword [rbp - 0x48]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [r12]
movups xmmword [rcx], xmm0
mov eax, dword [0x1415c3b00]
sub eax, dword [0x1415c3b04]
add eax, 0xa2b986fd
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x60173011
and ecx, 0x9fe8cfee
imul ecx, edx
mov edx, eax
and edx, 0x9fe8cfee
or eax, 0x9fe8cfee
imul eax, edx
add eax, ecx
cmp eax, 0xfc1c6552
je 0x14015f850
jmp 0x14015f63d
sub rsp, 0x20
mov rcx, r12
mov rdx, r9
mov r8, r15
call fcn.1402569f0
add rsp, 0x20
nop word [rax + rax]
mov eax, dword [0x1415c3a28]
sub eax, dword [0x1415c3a2c]
xor eax, 0x57e71c60
add eax, 0x25a72cc6
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x4ad4e110
and ecx, 0xb52b1eef
imul ecx, edx
mov edx, eax
and edx, 0xb52b1eef
or eax, 0xb52b1eef
imul eax, edx
add eax, ecx
cmp eax, 0x75f4c7f5
jb 0x14015f8b0
mov r9, qword [r12 + 0x10]
nop dword [rax]
mov eax, dword [0x1415c3a30]
mov ecx, dword [0x1415c3a34]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add eax, ecx
add eax, 0x9cb6cdb8
mov ecx, eax
and ecx, 0x5adb13ae
xor ecx, 0x525b0282
and eax, 0x525b0282
or eax, ecx
or eax, 0xa524ec51
cmp eax, 0x3d328c33
je 0x14015f900
mov r13, qword [r12]
jmp 0x14015f6eb
mov eax, dword [0x1415c39b8]
sub eax, dword [0x1415c39bc]
mov ecx, 0xb022f2b7
imul rcx, rax
shr rcx, 0x3e
imul eax, ecx, 0x85068302
add eax, 0xf63d9663
ud2
ud2
mov eax, dword [0x1415c3b10]
add eax, dword [0x1415c3b14]
ud2
ud2