Function at 0x140221100
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x1f8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x170], rcx
mov eax, dword [0x140259ad0]
mov edx, dword [0x140259ad4]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, eax
and ecx, 0x63c4a318
mov edx, 0x1cfa7667
xor edx, 0xe3058998
xor ecx, edx
mov edx, 0xbc973a5c
xor edx, 0xdf539944
add eax, edx
add eax, 1
add eax, ecx
or eax, 0x79c1ac68
mov ecx, 0xb744ca40
xor ecx, 0x5daddd88
and eax, ecx
cmp eax, 0x84604da3
je 0x1402223d6
mov eax, dword [0x140259ad8]
mov ecx, dword [0x140259adc]
xor eax, ecx
add eax, 0x135f48ec
mov edx, eax
and edx, 0x72317825
or eax, 0x72317825
mov ecx, eax
mov eax, edx
lea eax, [rax + rcx - 0x23b2b5a7]
mov dword [rbp + 0x15c], eax
mov eax, 0x10
mov qword [rbp + 0x130], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xa0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xa8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xb0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xb8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xc0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xc8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xd0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xd8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xe0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xe8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xf0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0xf8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x100], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x108], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x110], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x118], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x120], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x128], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x138], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x140], rax
sub rsp, 0x20
call fcn.1402257f0
add rsp, 0x20
mov qword [rbp + 0x150], rax
add rax, 0x50
mov qword [rbp + 0x148], rax
mov cx, 0xb59e
xor cx, 0xbba7
sub rsp, 0x20
call fcn.140063c67
mov rcx, qword [rbp + 0x150]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x15c]
mov qword [rbp + 0x160], rdx
cmp byte [rcx + 0x50], 0
sete cl
mov byte [rbp + 0x16f], cl
cmp eax, 0x1f08618e
jae 0x140221173
mov al, byte [rbp + 0x16f]
test al, 1
jne 0x14022145f
jmp 0x14022214d
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140018f50
add rsp, 0x20
mov qword [rbp + 0x70], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.14001b860
mov rcx, qword [rbp + 0x88]
add rsp, 0x20
mov qword [rbp + 0x78], rax
mov word [rcx], 0x84d
sub rsp, 0x20
call fcn.140063da0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x80], rcx
cmp byte [rax], 0
jne 0x140221c6e
mov ecx, dword [0x140259ae0]
mov edx, dword [0x140259ae4]
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
or ecx, edx
and ecx, eax
mov eax, ecx
and eax, 0x4ac6bcd9
or ecx, 0x4ac6bcd9
add eax, ecx
mov ecx, 0xc90b88a4
xor edx, edx
div ecx
mov ecx, 0x415b882e
xor edx, edx
div ecx
cmp eax, 0xc9b3b3a9
ja 0x1402223df
mov rcx, qword [rbp + 0xb0]
mov eax, dword [0x140259ae8]
sub eax, dword [0x140259aec]
xor eax, 0xea456c9a
sub eax, 0x9a018d0b
mov r8d, 0xe6708586
xor r8d, 0x2a759b98
xor edx, edx
div r8d
mov rdx, qword [rbp + 0xb8]
mov r8d, eax
mov rax, qword [rbp + 0x80]
mov dword [rbp + 0x68], r8d
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001ba7e
mov rcx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x78]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x3b2
sub rsp, 0x20
call fcn.1400644d0
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x148]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x68]
mov dword [rdx + 0x10], r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x6f], cl
cmp eax, 0x8b08f2e4
je 0x14022150f
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x1402215d2
jmp 0x140221c6e
mov ecx, 0x384
sub rsp, 0x20
call fcn.140063c67
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x60], rcx
cmp byte [rax], 0
jne 0x140221c6e
mov r8, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x60]
mov ecx, 0x400
sub rsp, 0x20
call fcn.140222427
add rsp, 0x20
test al, 1
jne 0x140221625
jmp 0x140221642
sub rsp, 0x20
call fcn.140008c92
mov rax, qword [rbp + 0x160]
add rsp, 0x20
mov qword [rbp + 0x58], rax
jmp 0x140221c73
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x90]
mov rdx, qword [rdx]
mov dword [rcx + 0x14], edx
mov qword [rax + 8], rcx
mov ecx, 0x89e
sub rsp, 0x20
call fcn.1400644d0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x148]
mov dword [rbp + 0x54], ecx
cmp byte [rax], 0
jne 0x140221c6e
mov r8d, dword [rbp + 0x54]
mov rdx, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x70]
mov r9, qword [0x1402649a0]
mov r10, qword [r9]
mov qword [rcx], r10
mov r9, qword [r9 + 8]
mov qword [rcx + 8], r9
mov qword [rdx], 1
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140176549
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x48], rcx
mov al, byte [rax]
mov cl, 0x2b
xor cl, 0x2b
cmp al, cl
jne 0x140221c6e
mov rcx, qword [rbp + 0x98]
mov word [rcx], 0x33e
sub rsp, 0x20
call fcn.140063da0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x40], rcx
cmp byte [rax], 0
jne 0x140221c6e
mov eax, dword [0x140259af0]
mov edx, dword [0x140259af4]
mov ecx, edx
and ecx, eax
mov r8d, 0xacb62d62
xor r8d, 0x5349d29d
xor ecx, r8d
add eax, edx
add eax, 1
add eax, ecx
mov r8d, 0x19c8bacd
xor r8d, 0xc6134041
mov ecx, 0x25950d44
xor ecx, 0xda6af2bb
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xdfdbfa8c
or eax, 0xdfdbfa8c
imul eax, edx
add eax, ecx
mov ecx, 0x205169c5
xor ecx, 0x54750ae2
or eax, ecx
mov ecx, 0x809d573
xor ecx, 0x4cf31e8c
xor eax, ecx
cmp eax, 0xa9ef862b
jb 0x1402223e8
mov rcx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0x40]
mov r10d, dword [0x140259af8]
xor r10d, 0x3d67a05b
or r10d, dword [0x140259afc]
and r10d, 0xcaaac6f5
mov r11d, 0x38feb9c3
xor r11d, 0xc701463c
mov r9d, r10d
xor r9d, r11d
mov r11d, r10d
xor r11d, 0xffffffff
or r9d, r11d
and r9d, 0x4320438e
xor r9d, 0xffffffff
mov r11d, 0xffffffff
xor r11d, 0x4320438e
mov esi, 0xffffffff
xor esi, 0x4320438e
or r11d, esi
xor r10d, 0xffffffff
xor r11d, 0xffffffff
or r10d, r11d
and r9d, r10d
xor r9d, 0xffffffff
mov r10d, r9d
xor r10d, 0xffffffff
mov r11d, 0x6735f2c2
xor r11d, 0xba2d9e6d
and r11d, r10d
mov esi, 0xffffffff
xor esi, 0xdd186caf
mov r10d, r9d
and r10d, esi
imul r10d, r11d
mov r11d, r9d
and r11d, 0xdd186caf
mov esi, 0xa23eb681
xor esi, 0x7f26da2e
or r9d, esi
imul r9d, r11d
add r9d, r10d
mov dword [rbp + 0x24], r9d
mov r9d, 0x3490635c
xor r9d, 0xabcdaa0b
mov dword [rbp + 0x20], r9d
mov r9, qword [0x1402d7fb8]
mov qword [rdx], r9
mov r9, qword [0x1402d7fc0]
mov qword [rdx + 8], r9
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.14022107f
mov r8, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0x148]
mov ecx, dword [rbp + 0x20]
mov eax, dword [rbp + 0x24]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rbp + 0x28], r9
mov r8, qword [r8 + 8]
mov qword [rbp + 0x30], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x3f], dl
cmp eax, ecx
jb 0x1402223e8
mov al, byte [rbp + 0x3f]
test al, 1
jne 0x1402218f9
jmp 0x140221c6e
mov rcx, qword [rbp + 0xa0]
mov word [rcx], 0xde3
sub rsp, 0x20
call fcn.140063da0
mov rcx, qword [rbp + 0x148]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x160]
mov qword [rbp + 0x10], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x18], rax
jne 0x140221b3c
mov rcx, qword [rbp + 0xe8]
mov r8, qword [rbp + 0xf8]
mov rdx, qword [rbp + 0xf0]
mov rax, qword [rbp + 0x10]
mov r9, qword [rbp + 0x30]
mov r10, qword [rbp + 0x28]
mov qword [rdx], r10
mov qword [rdx + 8], r9
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.14022107f
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0x148]
mov rax, qword [rbp + 0x160]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 8], rdx
mov cl, byte [rcx]
mov dl, 0x86
xor dl, 0x86
cmp cl, dl
mov qword [rbp + 0x18], rax
jne 0x140221b3c
mov rcx, qword [rbp + 0xa8]
mov edx, 0x10
sub rsp, 0x20
call fcn.14021c177
mov r9, qword [rbp + 0x170]
mov r8, qword [rbp]
mov rdx, qword [rbp + 8]
mov r10, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
lea r11, [0x14021c3a0]
mov qword [r10], r11
mov qword [r10 + 8], 0
mov r9, qword [r9]
add r9, 0x18
mov qword [rbp - 0x10], r9
mov qword [rax], r8
mov qword [rax + 8], rdx
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov r9, qword [rbp + 0xa8]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x100]
mov r10, qword [rbp + 0x108]
mov rax, qword [rbp + 0x110]
add rsp, 0x20
mov r11, qword [r9]
mov qword [rax], r11
mov r9, qword [r9 + 8]
mov qword [rax + 8], r9
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], r10
mov qword [rsp + 0x28], rax
call fcn.14018a450
mov rcx, qword [rbp + 0x148]
add rsp, 0x30
mov edx, eax
mov rax, qword [rbp + 0x160]
mov dword [rbp - 4], edx
mov cl, byte [rcx]
mov dl, pe_nt_image_headers64
xor dl, 0x80
cmp cl, dl
mov qword [rbp + 0x18], rax
jne 0x140221b3c
mov rdx, qword [rbp + 0x160]
mov eax, dword [rbp - 4]
movsxd r9, eax
mov rax, rdx
add rax, r9
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0x85bc353d02f149a9
and rdx, r8
mov r11, 0xffffffffffffffff
movabs r8, 0x85bc353d02f149a9
xor r11, r8
mov r10, rax
and r10, r11
movabs rsi, 0x266b92ae62d3db41
movabs r8, 0xd9946d519d2c24be
xor rsi, r8
mov r8, r9
xor r8, rsi
movabs rsi, 0x85bc353d02f149a9
and r8, rsi
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x18], rax
jge 0x140221b3c
sub rsp, 0x20
call fcn.140008c92
mov rax, qword [rbp + 0x160]
add rsp, 0x20
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x18], rax
mov eax, dword [0x140259b00]
xor eax, 0xad5de0f9
xor eax, dword [0x140259b04]
mov ecx, 0xff7c0176
xor ecx, 0x46eed8da
xor eax, ecx
imul eax, eax, 0xf0a1f70
mov ecx, 0x5330c855
xor ecx, 0xe993b0b
or eax, ecx
cmp eax, 0x2d6237fa
jb 0x1402223f1
mov rcx, qword [rbp + 0x30]
mov eax, dword [0x140259b08]
mov edx, dword [0x140259b0c]
xor edx, 0xf793f84
and eax, edx
mov r9d, 0xffffffff
xor r9d, 0x1d7ba51f
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x1d7ba51f
mov r9d, 0xd46aa11d
xor r9d, 0xc9110402
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x6bd7cadc
xor r8d, 0x2dfb5924
xor edx, edx
div r8d
mov edx, eax
mov r8d, 0xffffffff
xor r8d, 0xb99d8f2
mov eax, edx
xor eax, r8d
and eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x19], cl
cmp eax, 0x6c562289
jae 0x140221b80
mov rax, qword [rbp - 0x18]
mov cl, byte [rbp - 0x19]
test cl, 1
mov qword [rbp + 0x58], rax
jne 0x140221c73
jmp 0x140221c2d
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x30]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
mov qword [rbp + 0x58], rax
jne 0x140221c73
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14000eec9
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp + 0x58], rax
jmp 0x140221c73
jmp 0x14022214d
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x28], rax
mov r8d, dword [0x140259b10]
mov edx, dword [0x140259b14]
xor edx, 0xc37608ef
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x435e0529
xor eax, 0x27fab907
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x64a4bc2e
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x64a4bc2e
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
xor eax, 0xd8478b0b
mov ecx, 0x3ddd6a3c
xor ecx, 0x5290d72e
or eax, ecx
mov ecx, 0x8094bee0
xor ecx, 0x5748ace0
xor edx, edx
div ecx
cmp eax, 0xd49795ae
je 0x1402223fa
mov rcx, qword [rbp + 0x148]
mov eax, dword [0x140259b18]
mov edx, dword [0x140259b1c]
mov r8d, 0x9969e85d
xor r8d, 0xb00de57d
xor edx, r8d
and eax, edx
mov edx, 0x1aee6c22
xor edx, 0x6a920bb0
imul eax, edx
mov r8d, 0xaf1c3c7d
xor edx, edx
div r8d
mov r8d, 0x6e1c28bd
xor edx, edx
div r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x29], cl
cmp eax, 0x297f9191
je 0x140221cf1
mov al, byte [rbp - 0x29]
test al, 1
jne 0x140221d5e
jmp 0x14022214d
mov cx, 0x3440
xor cx, 0x3d5b
sub rsp, 0x20
call fcn.140063c67
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x148]
mov qword [rbp - 0x38], rcx
mov al, byte [rax]
mov cl, 0x99
xor cl, 0x99
cmp al, cl
jne 0x140222134
mov rax, qword [rbp - 0x38]
mov rcx, qword [rbp - 0x28]
cmp rax, rcx
jl 0x140221e66
mov eax, dword [0x140259b20]
xor edx, edx
div dword [0x140259b24]
mov ecx, eax
mov eax, ecx
and eax, 0x8dae1296
mov edx, 0x4b51f5e5
xor edx, 0x4b51f5e7
imul eax, edx
xor ecx, 0x8dae1296
add ecx, eax
add ecx, 0x660d4747
mov edx, 0xccb6a99c
xor edx, 0x55c21abc
mov eax, ecx
and eax, edx
xor ecx, 0x9974b320
or eax, ecx
cmp eax, 0xb33fe2cf
je 0x140222403
mov eax, dword [0x140259b28]
or eax, dword [0x140259b2c]
mov ecx, 0x9ec74ff3
xor edx, edx
div ecx
mov r8d, 0xfd7f8fec
xor r8d, 0x293a4086
mov ecx, 0x3718ad7a
xor ecx, 0xc8e75285
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd445cf6a
or eax, 0xd445cf6a
imul eax, edx
add eax, ecx
add eax, 0x434d59e3
mov ecx, 0x93664c97
xor ecx, 0xa46ae061
cmp eax, ecx
je 0x140222403
jmp 0x140222303
movabs rcx, 0x93f488152bf3ebb0
movabs rax, 0x93f488152bf3eba8
xor rcx, rax
movabs rdx, 0xc05110b4b2998916
movabs rax, 0xc05110b4b299891e
xor rdx, rax
sub rsp, 0x20
call fcn.140012610
mov rcx, qword [rbp + 0x118]
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov word [rcx], 0xf48
sub rsp, 0x20
call fcn.140063da0
mov rdx, qword [rbp + 0x148]
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x140222103
mov rcx, qword [rbp + 0x120]
mov r8, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp - 0x50]
mov r9, qword [0x1402d7fb8]
mov qword [rdx], r9
mov r9, qword [0x1402d7fc0]
mov qword [rdx + 8], r9
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.14022107f
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x148]
add rsp, 0x20
mov r8, qword [rcx]
mov qword [rax + 8], r8
mov rcx, qword [rcx + 8]
mov qword [rax + 0x10], rcx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x140222103
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001b860
mov rcx, qword [rbp + 0x140]
mov rdx, qword [rbp - 0x58]
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov qword [rax], 0
mov r8d, 0xdb7e3053
xor r8d, 0xdb7e3050
mov dword [rax + 8], r8d
mov r8d, 0x5e11bf8c
xor r8d, 0x5e11bf8d
mov dword [rax + 0xc], r8d
sub rsp, 0x20
call fcn.14007d380
mov r8, qword [rbp + 0x140]
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp + 0x148]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rcx + 0x10], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 0x18], r8
mov cl, 1
cmp byte [rdx], 0
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jne 0x140222103
mov eax, dword [0x140259b30]
mov r8d, dword [0x140259b34]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xc8210882
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0x63e3a88a
xor eax, 0xc240e24f
or ecx, eax
mov edx, 0xffffffff
xor edx, 0x9eadce8f
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0xaa5a52f2
jae 0x14022240c
mov eax, dword [0x140259b38]
mov ecx, dword [0x140259b3c]
xor ecx, 0x50ef05cc
xor edx, edx
div ecx
mov ecx, 0x4c99715b
xor edx, edx
div ecx
mov ecx, 0x2ffb6ef4
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x60]
mov ecx, eax
mov rax, qword [rbp + 0x170]
mov r8d, 0xb8a8c7d5
xor r8d, 0xe531eae7
sub ecx, r8d
mov dword [rbp - 0x68], ecx
mov ecx, 0xf9b5c62a
xor ecx, 0xc5135fd2
mov dword [rbp - 0x6c], ecx
mov rcx, qword [0x1402641f0]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x1402641f8]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140025ed0
mov rdx, qword [rbp + 0x148]
mov ecx, dword [rbp - 0x6c]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
mov dl, byte [rdx]
mov byte [rbp - 0x61], dl
cmp eax, ecx
jbe 0x14022240c
mov rax, qword [rbp - 0x58]
mov cl, byte [rbp - 0x61]
mov byte [rbp - 0x41], cl
mov qword [rbp - 0x40], rax
jmp 0x140222103
mov rax, qword [rbp + 0x148]
mov dl, byte [rbp - 0x41]
mov rcx, qword [rbp - 0x40]
mov byte [rbp - 0x6d], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14021b2f0
mov rax, qword [rbp + 0x148]
add rsp, 0x20
cmp byte [rax], 0
je 0x140222139
jmp 0x14022214d
mov al, byte [rbp - 0x6d]
mov rcx, qword [rbp + 0x148]
mov byte [rcx], al
cmp al, 0
je 0x140222303
sub rsp, 0x20
call fcn.140220da2
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x140222303
mov ecx, dword [0x140259b40]
mov edx, dword [0x140259b44]
mov eax, 0x23a573e9
xor eax, 0xdc5a8c16
mov r8d, ecx
xor r8d, eax
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf3f1b036
xor edx, 0x9d1f26e9
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x6eee96df
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x367965ba
xor r8d, 0x5897f365
mov edx, eax
and edx, r8d
or eax, 0x6eee96df
imul eax, edx
add eax, ecx
imul eax, eax, 0x7fa1438d
mov edx, eax
xor edx, 0xffffffff
and edx, 0xdb017533
mov r8d, 0xffffffff
xor r8d, 0xdb017533
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xdb017533
or eax, 0xdb017533
imul eax, edx
add eax, ecx
cmp eax, 0xabe53087
ja 0x140222415
mov rcx, qword [rbp - 0x78]
mov eax, dword [0x140259b48]
xor eax, 0x39aef0dd
xor eax, dword [0x140259b4c]
mov edx, 0x7f7e5bbb
xor edx, 0x7f7e5bbb
mov r8d, 0xc62c8e6d
xor r8d, 0x952ff994
sub edx, r8d
add eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x3fca0e
mov r9d, 0xffffffff
xor r9d, 0x3fca0e
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x3fca0e
or eax, 0x3fca0e
imul eax, r8d
add eax, edx
xor eax, 0x6b058dbe
mov rcx, qword [rcx + 0x18]
mov ecx, dword [rcx + 8]
mov edx, 0x4b726da6
xor edx, 0x8e004fc7
cmp ecx, edx
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0xd2f76c16
ja 0x14022221a
mov al, byte [rbp - 0x79]
test al, 1
jne 0x1402222bf
jmp 0x140222303
mov rax, qword [rbp + 0x148]
mov byte [rax], 0
sub rsp, 0x20
call fcn.140220db4
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.140099ce0
mov rax, qword [rbp + 0x148]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140222303
sub rsp, 0x20
call fcn.140220de1
add rsp, 0x20
mov eax, dword [0x140259b50]
mov ecx, dword [0x140259b54]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0xf0654b56
xor ecx, 0xdee78fba
imul eax, ecx
mov ecx, 0x2ccee04e
xor ecx, 0x10fd9d58
xor eax, ecx
and eax, 0xb048a704
cmp eax, 0x7d8eb4e9
je 0x14022241e
mov eax, dword [0x140259b58]
xor eax, 0xb3f71854
mov edx, dword [0x140259b5c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov edx, 0x48a0396
xor edx, 0x23fa4449
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x277047df
sub eax, ecx
mov ecx, 0x3e147975
xor ecx, 0xc1eb868a
mov edx, eax
xor edx, ecx
and edx, 0x900efa61
mov r8d, 0xbb1f92ef
xor r8d, 0x2b11688e
mov ecx, 0x312728bf
xor ecx, 0xced8d740
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x900efa61
or eax, 0x900efa61
imul eax, edx
add eax, ecx
add eax, 0xcb685ab2
cmp eax, 0x3507877c
jb 0x140222342
ret 0xc801
lea rsp, [rbp + 0x178]
pop rsi
pop rbp
ret
or esp, edi
loop 0x14022241f
jmp 0x140221173
push rbx
adc al, 0xba
out 0xe9, al
invalid
add dword [rax + rdi*8 - 0x6e], ebp
jmp 0x14022179b
xor edx, ebx
mov dword [rax - 0x17], 0xfffff786
sbb ah, al
xor dword [rax - 0x71117], eax
inc dword [rdi + rdx*4]
add al, 0x97
loop 0x1402223b9
jmp 0x140221df7
int3
or edi, esp
jmp 0x13e1f0dec
xchg ebx, eax
pop rax
invalid