Function at 0x180040fc0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 7]
sub rsp, 0xf0
mov rax, qword [0x1800791a8]
xor rax, rsp
mov qword [rbp - 9], rax
mov rax, qword [rbp + 0x6f]
mov r10, r9
mov r14, qword [rbp + 0x87]
mov edi, dword [rsp + 0x60]
mov ebx, dword [rsp + 0x60]
mov qword [rbp - 0x39], rax
mov rax, qword [rbp + 0x77]
mov qword [rbp - 0x51], rax
mov rax, qword [rbp + 0x7f]
mov qword [rbp - 0x71], rax
mov rax, qword [rbp + 0x8f]
mov qword [rbp - 0x59], rax
lea eax, [rdx - 0xe]
mov qword [rbp - 0x31], r8
mov r8, qword [rbp + 0x67]
mov qword [rbp - 0x41], rcx
mov ecx, edx
mov qword [rsp + 0x68], r9
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x58], r8
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x38], eax
cmp edx, eax
jbe 0x1800417af
movsxd r13, dword [rsp + 0x60]
lea eax, [rdx - 0x58]
mov edx, dword [rsp + 0x60]
mov r12, r13
mov r9d, dword [rsp + 0x60]
mov esi, dword [rsp + 0x60]
mov r15, qword [rbp - 0x31]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x40]
mov dword [rsp + 0x34], eax
mov eax, ecx
mov ecx, dword [rsp + 0x38]
mov dword [rsp + 0x4c], edx
mov dword [rsp + 0x48], r9d
nop word [rax + rax]
cmp r11d, 0x35
ja case.default.0x1800410bd
lea rcx, [0x180000000]
mov eax, r11d
movzx eax, byte [rcx + rax + 0x42168]
mov ecx, dword [rcx + rax*4 + 0x4212c]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
cmp dword [rbp - 0x29], 0
je 0x18004111d
nop word [rax + rax]
mov rax, qword [rbp - 0x19]
lea r9, [rbp - 0x29]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x60], 8
lea rdx, [rbp - 0x29]
mov qword [rsp + 0x20], 0
inc r13d
movzx ecx, byte [rax]
mov byte [r12 + r10], cl
mov ecx, 0xbe
inc r12
call fcn.1800074f0
mov edi, eax
test eax, eax
jne 0x180041777
mov r10, qword [rsp + 0x68]
cmp dword [rbp - 0x29], eax
jne 0x1800410d0
xor r9d, r9d
mov dword [rsp + 0x60], r13d
lea r8, [rsp + 0x60]
mov rdx, r10
lea ecx, [r9 + 0x62]
call fcn.1800471f0
xor edx, edx
lea rcx, [rbp - 0x29]
lea r8d, [rdx + 0x3e]
call fcn.180048840
xor edi, edi
mov r10, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
jmp 0x1800416e2
mov r8, qword [rbp - 0x61]
mov rdx, qword [rbp - 0x69]
mov rcx, qword [r10]
call qword [0x18007b998]
mov dword [rsp + 0x34], eax
test eax, eax
je 0x180041147
mov r8, qword [rbp - 0x71]
mov ecx, dword [rsp + 0x60]
mov r15, qword [rbp - 0x71]
mov r12, qword [rbp - 0x71]
mov qword [rbp - 0x49], r8
mov r8, qword [rbp - 0x71]
mov qword [rbp - 0x79], r8
mov dword [rsp + 0x30], ecx
mov r14d, dword [rsp + 0x50]
mov r13d, 0x5f
jmp case.0x180041dc7.97
mov eax, dword [r14 + 0x4000]
cmp eax, 0x80000000
ja 0x1800411bb
cmp rax, r10
jbe case.0x1800410bd.6
mov r10d, 0xf6
mov eax, r10d
sub eax, 0xf6
je 0x180041244
sub eax, 1
je 0x1800411ef
cmp eax, 1
jne 0x18004125f
mov eax, dword [r14 + 0x4018]
mov rcx, r15
sub rcx, rax
mov qword [r14 + 0x4008], rcx
jmp 0x18004125f
xor r8d, r8d
mov r9d, 0x1000
nop dword [rax + rax]
mov ecx, dword [r14 + r8]
lea r8, [r8 + 4]
sub ecx, esi
xor eax, eax
cmp dword [r14 + r8 - 4], esi
cmovae eax, ecx
mov dword [r14 + r8 - 4], eax
sub r9, 1
jne 0x180041200
cmp dword [r14 + 0x4018], 0x10000
mov dword [r14 + 0x4000], 0x10000
jbe 0x18004125f
mov dword [r14 + 0x4018], 0x10000
jmp 0x18004125f
mov esi, dword [r14 + 0x4000]
mov r15d, dword [r14 + 0x4018]
sub esi, 0x10000
add r15, qword [r14 + 0x4008]
inc r10d
cmp r10d, 0xf9
jb 0x1800411c1
mov r10, qword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
jmp 0x1800416e2
test r14, r14
jne 0x1800412b5
lea rax, str.P___NULL
mov dword [rsp + 0x60], r14d
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor edx, edx
lea r8d, [r14 + 0x33]
lea rcx, [0x18006d014]
call fcn.18002d470
mov r10, qword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
test r10, r10
jne 0x1800412ec
lea rax, str.R___NULL
mov dword [rsp + 0x60], r10d
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor edx, edx
lea r8d, [r10 + 0x33]
lea rcx, [0x18006d014]
call fcn.18002d470
mov r10, qword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
test r8, r8
jne 0x1800416dd
lea rax, str.payloadEncoding
xor edx, edx
mov dword [rsp + 0x60], 0
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea rcx, [0x18006d014]
lea r8d, [rdx + 0x33]
call fcn.18002d470
mov r10, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
jmp 0x1800416e2
mov rcx, qword [rbp - 0x51]
lea rdx, [rsp + 0x60]
mov r8d, 0x6b
mov eax, dword [rcx]
xor ecx, ecx
mov dword [rsp + 0x60], eax
call fcn.180056ff0
test eax, eax
jne 0x180041788
mov rax, qword [rbp - 0x71]
lea r8, [rsp + 0x60]
xor r9d, r9d
mov dword [rsp + 0x20], 0xe7
xor edx, edx
xor ecx, ecx
mov eax, dword [rax]
mov dword [rsp + 0x60], eax
call fcn.180057750
mov rbx, rax
test eax, eax
jne 0x180041788
mov rax, qword [rbp - 0x51]
lea rcx, [0x180000000]
mov r10, qword [rsp + 0x68]
mov r9d, 0
mov r11d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
movsxd rax, dword [rax]
shl rax, 7
mov edx, dword [rax + rcx + 0x7a8ec]
mov rax, qword [rbp - 0x31]
mov dword [rsp + 0x4c], edx
mov eax, dword [rax]
test al, 7
setne r9b
shr eax, 3
add r9d, eax
mov dword [rsp + 0x48], r9d
jmp case.0x1800410bd.6
mov rdx, qword [rbp - 0x69]
mov rcx, qword [r10 + 0x10]
call qword [0x18007b9b8]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov r8, qword [rbp - 0x59]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x69]
call qword [0x18007ba10]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x10]
mov rdx, qword [rax + 8]
mov r8, rcx
call qword [0x18007b9a8]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov r10, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
jmp 0x1800416e2
test r14, r14
jne 0x180041470
lea rax, str.Bookmarks_Panel
mov dword [rsp + 0x60], r14d
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor edx, edx
lea r8d, [r14 + 0x33]
lea rcx, [0x18006d014]
call fcn.18002d470
cmp qword [rbp - 0x41], 0
jne 0x1800414a2
xor edx, edx
mov dword [rsp + 0x60], 0
lea rax, str.X_X_XaXXX
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea rcx, [0x18006d014]
lea r8d, [rdx + 0x33]
call fcn.18002d470
cmp qword [rbp - 0x39], 0
jne 0x180041147
lea rax, str.jinalamtumiaji
jmp 0x1800412fc
cmp qword [rbp - 0x59], 0
jne 0x1800414eb
xor edx, edx
mov dword [rsp + 0x60], 0
lea rax, str.Fill_Image
lea r9, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea rcx, [0x18006d014]
lea r8d, [rdx + 0x33]
call fcn.18002d470
xor r8d, r8d
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x69]
call fcn.180042270
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041788
mov r10, qword [rsp + 0x68]
cmp r14, r10
je 0x18004114c
mov rdx, qword [r10]
mov rcx, qword [r14]
call qword [0x18007b910]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov rdx, qword [rsp + 0x68]
mov rcx, qword [r14 + 8]
mov rdx, qword [rdx + 8]
call qword [0x18007b910]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov rax, qword [rsp + 0x68]
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rax + 0x10]
call qword [0x18007b910]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov r10, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
jmp 0x1800416e2
xor r13d, r13d
xor r12d, r12d
jmp case.0x1800410bd.6
mov r8, qword [rbp - 0x59]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [r10 + 0x10]
call qword [0x18007ba10]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x10]
mov r8, rcx
mov rdx, rcx
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
call qword [0x18007b938]
cmp eax, 0xffffffff
je 0x180041147
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
mov r8, rcx
jmp 0x180041166
mov rcx, qword [rbp - 0x61]
xor edx, edx
call qword [0x18007b940]
cmp eax, 0xffffffff
jne 0x18004162c
mov rcx, qword [rbp - 0x61]
mov rdx, qword [rsp + 0x58]
mov r8, rcx
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov rax, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x69]
mov r8, rcx
mov rdx, qword [rax]
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x69]
call qword [0x18007b938]
cmp eax, 0xffffffff
je 0x18004167f
mov rcx, qword [rbp - 0x69]
mov rdx, qword [rsp + 0x58]
mov r8, rcx
call qword [0x18007b998]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041174
mov rdx, qword [rbp - 0x61]
mov rcx, qword [rbp - 0x69]
mov r8, rdx
call qword [0x18007b9a8]
jmp 0x18004116c
mov eax, dword [r8]
cmp eax, r9d
ja 0x1800416a7
add eax, 2
add eax, edx
cmp r9d, eax
jae case.0x1800410bd.6
mov eax, 0x16
jmp 0x180041788
lea r9, [rbp - 0x29]
mov r8, r14
mov edx, 0x120
xor ecx, ecx
call fcn.18004bef0
test eax, eax
jne 0x180041788
mov r10, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x40]
mov r8, qword [rsp + 0x58]
jmp 0x1800416e2
mov r11d, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x48]
mov edx, dword [rsp + 0x4c]
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x38]
dec eax
dec r11d
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x40], r11d
cmp eax, ecx
ja 0x180041090
mov r11d, dword [rsp + 0x4c]
mov ecx, dword [rsp + 0x50]
mov rdx, qword [rbp - 0x71]
lea eax, [rcx + 0xe]
mov r15, qword [rbp - 0x71]
mov r12, qword [rbp - 0x71]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x40], eax
mov qword [rbp - 0x79], rdx
cmp ecx, eax
jae 0x180041d78
mov r13, qword [rbp - 0x71]
lea esi, [rcx - 0x5d]
mov dword [rsp + 0x60], esi
mov eax, ecx
mov r9d, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x40]
mov dword [rsp + 0x30], r9d
mov qword [rbp - 0x49], r13
cmp esi, 0x15
ja case.default.0x180041775
lea rcx, [0x180000000]
mov ecx, dword [rcx + rsi*4 + 0x421a0]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
xor edx, edx
lea rcx, [rbp - 0x29]
lea r8d, [rdx + 0x3e]
call fcn.180048840
mov eax, edi
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.180068d70
mov rbx, qword [rsp + 0x138]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x60]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], r11d
jmp 0x180041712
mov rcx, qword [rbp - 0x61]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rbp - 0x59]
call qword [0x18007ba10]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
jmp 0x1800419a0
mov rdx, qword [r10]
mov rcx, qword [rbp - 0x69]
call qword [0x18007b9b8]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rax, qword [rsp + 0x68]
mov r8, qword [rbp - 0x59]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rax]
call qword [0x18007ba10]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov r8, rcx
call qword [0x18007b998]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rax, qword [rsp + 0x68]
xor edx, edx
mov rcx, qword [rax]
call qword [0x18007b940]
cmp eax, 0xffffffff
jne 0x1800419a0
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rax]
mov r8, rcx
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
jmp 0x1800419a0
mov rcx, qword [rbp - 0x61]
call qword [0x18007b930]
test eax, eax
jle 0x1800418cb
mov rcx, qword [rbp - 0x61]
xor edx, edx
call qword [0x18007b928]
test al, 1
je 0x1800418cb
mov rcx, qword [rbp - 0x61]
mov rdx, qword [rsp + 0x58]
mov r8, rcx
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rcx, qword [rbp - 0x61]
mov rdx, rcx
call qword [0x18007b9c8]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov r8, rcx
call qword [0x18007b9a8]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
jmp 0x1800417d2
mov rax, qword [rbp - 0x51]
lea rcx, [rbp - 0x11]
mov r8d, dword [r10]
lea r9, [0x180000000]
mov rdx, r14
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + r9 + 0x7a940]
mov ebx, eax
test eax, eax
jne 0x180041d68
mov rcx, qword [rsp + 0x58]
lea r9, [0x180000000]
mov rax, qword [rbp - 0x51]
mov rdx, r13
mov r8d, dword [rcx]
lea rcx, [rbp - 0x11]
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + r9 + 0x7a940]
mov ebx, eax
test eax, eax
jne 0x180041d68
mov rax, qword [rbp - 0x51]
lea rcx, [rbp - 0x11]
mov rdx, qword [rbp - 0x79]
lea r8, [0x180000000]
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + r8 + 0x7a948]
mov ebx, eax
test eax, eax
jne 0x180041d68
mov rdx, qword [rbp - 0x79]
mov r9d, dword [rsp + 0x30]
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x40]
inc eax
inc esi
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x60], esi
cmp eax, ecx
jae 0x180041d8c
mov r10, qword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
mov r11d, dword [rsp + 0x4c]
jmp 0x180041754
xor r9d, r9d
mov dword [rsp + 0x30], r9d
jmp case.0x180041775.8
mov ecx, dword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
jmp 0x1800419a0
mov rcx, qword [r10 + 8]
mov r8, rcx
mov rdx, rcx
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
call qword [0x18007b938]
cmp eax, 0xffffffff
je 0x180041a4a
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
mov r8, rcx
call qword [0x18007b998]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
mov rdx, rcx
call qword [0x18007b9b8]
jmp 0x1800418f9
mov rdx, qword [rbp - 0x61]
mov rcx, qword [r10 + 8]
call qword [0x18007b9b8]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
jmp case.0x180041775.0
mov esi, dword [rsp + 0x48]
mov ecx, esi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, esi
mov r12, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, esi
mov qword [rbp - 0x49], rax
mov r13, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbp - 0x79], rax
mov rdx, rax
test r15, r15
je 0x180041ac5
test r12, r12
je 0x180041ac5
test r13, r13
je 0x180041ac5
test rax, rax
jne 0x180041d5a
mov esi, 0x1c
nop word [rax + rax]
cmp esi, 0x1c
je 0x180041af6
cmp esi, 0x38
jne 0x180041b20
mov rdx, qword [rbp - 0x79]
test rdx, rdx
je 0x180041aec
mov rcx, rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xd
jmp 0x180041788
test r15, r15
je 0x180041b04
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r12, r12
je 0x180041b12
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r13, r13
je 0x180041b20
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esi, 0x1c
cmp esi, 0x38
jbe 0x180041ad0
mov esi, dword [rsp + 0x60]
jmp 0x1800419a0
mov eax, dword [rsp + 0x48]
xor edx, edx
sub eax, r11d
mov ecx, r9d
sub eax, dword [r8]
add rcx, r15
lea r8d, [rax - 2]
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [rsp + 0x30]
mov rdx, qword [rsp + 0x58]
add ecx, 0xfffffffe
mov eax, dword [rsp + 0x48]
sub eax, dword [rsp + 0x4c]
sub eax, dword [rdx]
add ecx, eax
mov byte [rcx + r15], 1
inc ecx
mov r8d, dword [rdx]
mov rdx, r13
mov dword [rsp + 0x30], ecx
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1800419a0
mov rcx, qword [r10]
mov rdx, qword [r10 + 8]
mov r8, rcx
call qword [0x18007b998]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rax, qword [rsp + 0x68]
xor edx, edx
mov rcx, qword [rax]
call qword [0x18007b940]
cmp eax, 0xffffffff
jne 0x180041bd5
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rax]
mov r8, rcx
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov r8, rcx
call qword [0x18007b998]
jmp 0x1800417e1
mov rcx, qword [rbp - 0x61]
mov r8, qword [rbp - 0x69]
mov rdx, rcx
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x69]
call qword [0x18007b938]
cmp eax, 0xffffffff
je 0x180041c3e
mov rcx, qword [rbp - 0x69]
mov rdx, qword [rsp + 0x58]
mov r8, rcx
call qword [0x18007b998]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rcx, qword [rbp - 0x69]
mov rdx, qword [rbp - 0x61]
mov r8, rcx
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180041194
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x69]
call qword [0x18007b938]
cmp eax, 0xffffffff
je 0x1800419a0
mov rcx, qword [rbp - 0x69]
mov rdx, qword [rsp + 0x58]
mov r8, rcx
call qword [0x18007b998]
jmp 0x1800417e1
mov rcx, qword [r10 + 8]
xor edx, edx
call qword [0x18007b940]
cmp eax, 0xffffffff
jne 0x1800419a0
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rax + 8]
mov r8, rcx
call qword [0x18007b988]
jmp 0x1800417e1
mov edx, dword [r8]
test edx, edx
je 0x180041cef
mov rax, qword [rbp - 0x71]
mov rcx, r13
mov r8, qword [rbp - 0x59]
movsxd rax, dword [rax]
lea r9, [rax + rax*4]
add r9, r9
lea rax, [0x180000000]
call qword [rax + r9*8 + 0x7baa8]
mov rcx, qword [rsp + 0x58]
cmp eax, dword [rcx]
jne 0x180041d63
mov rax, qword [rbp - 0x51]
lea rcx, [rbp - 0x11]
lea rdx, [0x180000000]
movsxd rax, dword [rax]
shl rax, 7
call qword [rax + rdx + 0x7a938]
mov ebx, eax
test eax, eax
jne 0x180041d68
mov r9d, 0x99
mov qword [rsp + 0x60], 8
mov r8, r15
lea rdx, [rsp + 0x60]
xor ecx, ecx
call fcn.180015650
mov rcx, qword [rbp - 0x51]
lea r8d, [rbx + 8]
mov rdx, r15
lea r9, [0x180000000]
movsxd rax, dword [rcx]
lea rcx, [rbp - 0x11]
shl rax, 7
call qword [rax + r9 + 0x7a940]
jmp 0x180041996
mov esi, dword [rsp + 0x60]
jmp 0x1800419a4
mov ebx, 9
mov r14d, dword [rsp + 0x50]
mov r13d, 0x73
jmp case.0x180041dc7.97
mov rsi, qword [rbp - 0x71]
mov r9d, dword [rsp + 0x60]
mov qword [rbp - 0x49], rsi
mov dword [rsp + 0x30], r9d
jmp 0x180041d94
mov rsi, qword [rbp - 0x49]
mov ecx, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x50]
mov r13d, ecx
lea eax, [rcx + 0x10]
cmp r13d, eax
jae case.0x180041dc7.120
lea eax, [r13 - 0x5d]
cmp eax, 0x1b
ja case.default.0x180041dc7
lea r8, [0x180000000]
mov ecx, dword [r8 + rax*4 + 0x421f8]
add rcx, r8
jmp rcx
mov rsi, qword [rsp + 0x68]
xor edx, edx
mov rcx, qword [rsi + 8]
call qword [0x18007b940]
cmp eax, 0xffffffff
jne 0x180041dfd
mov rcx, qword [rsi + 8]
mov rdx, qword [rsp + 0x58]
mov r8, rcx
call qword [0x18007b988]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800420e0
xor eax, eax
mov dword [rsp + 0x34], eax
lea r13d, [rax + 0x5f]
jmp case.0x180041dc7.97
mov r8d, dword [rsp + 0x48]
mov rdx, r15
sub r8d, dword [rsp + 0x4c]
mov ecx, r14d
dec r8d
add rcx, qword [rbp - 0x41]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x48]
sub eax, dword [rsp + 0x4c]
dec eax
add r14d, eax
jmp case.0x180041dc7.97
mov rcx, r12
jmp 0x1800420f4
mov r10d, dword [rsp + 0x48]
xor r14d, r14d
mov r9d, r10d
sub r9d, dword [rsp + 0x4c]
sub r9d, 1
je 0x180041f31
cmp r9d, 0x40
jb 0x180041efc
lea eax, [r9 - 1]
lea rdx, [r15 + rax]
add rax, r12
cmp r15, rax
ja 0x180041e7f
cmp rdx, r12
jae 0x180041efc
mov r8d, r9d
and r8d, 0xffffffc0
mov edx, 0x20
nop dword [rax + rax]
movdqu xmm0, xmmword [r14 + r15]
lea eax, [rdx - 0x10]
movdqu xmm1, xmmword [r14 + r12]
pxor xmm1, xmm0
movdqu xmmword [r14 + r15], xmm1
add r14d, 0x40
movdqu xmm0, xmmword [rax + r15]
movdqu xmm1, xmmword [rax + r12]
pxor xmm1, xmm0
movdqu xmmword [rax + r15], xmm1
mov eax, edx
movdqu xmm0, xmmword [rax + r15]
movdqu xmm1, xmmword [rax + r12]
pxor xmm1, xmm0
movdqu xmmword [rax + r15], xmm1
lea eax, [rdx + 0x10]
add edx, 0x40
movdqu xmm0, xmmword [rax + r15]
movdqu xmm1, xmmword [rax + r12]
pxor xmm1, xmm0
movdqu xmmword [rax + r15], xmm1
cmp r14d, r8d
jb 0x180041e90
cmp r14d, r9d
jae 0x180041f31
mov eax, r14d
mov r8, r12
add rax, r15
sub r8, r15
mov edx, r9d
sub edx, r14d
mov r14d, r9d
nop word [rax + rax]
movzx ecx, byte [r8 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub rdx, 1
jne 0x180041f20
mov rax, qword [rbp - 0x39]
cmp dword [rax], r10d
jae 0x180041f4b
mov ebx, 6
mov dword [rax], r10d
lea r13d, [rbx + 0x6d]
jmp case.0x180041dc7.97
xor r14d, r14d
jmp case.0x180041dc7.97
mov rax, qword [rsp + 0x68]
mov rdx, qword [rbp - 0x69]
mov rcx, qword [rax + 8]
mov r8, rcx
call qword [0x18007b9a8]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800420e0
jmp case.0x180041dc7.97
mov rdx, qword [rbp - 0x41]
mov r10d, dword [rsp + 0x48]
mov eax, r14d
lea ecx, [r10*8]
mov byte [rax + rdx], 0xbc
mov rax, qword [rbp - 0x31]
sub ecx, dword [rax]
mov eax, 0xff
inc ecx
sar eax, cl
and byte [rdx], al
mov rax, qword [rbp - 0x39]
xor ebx, ebx
mov dword [rax], r10d
jmp case.0x180041dc7.97
mov ecx, dword [rsp + 0x4c]
mov r9, rdx
mov eax, dword [rsp + 0x48]
lea rdx, [rsp + 0x40]
sub eax, ecx
mov dword [rsp + 0x60], ecx
dec eax
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x40], eax
mov r8, r12
mov rax, qword [rbp - 0x51]
mov eax, dword [rax]
mov dword [rsp + 0x38], eax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x42
call fcn.18004aff0
mov ebx, eax
test eax, eax
jne case.0x180041dc7.115
jmp case.0x180041dc7.97
mov rax, qword [rsp + 0x58]
add r9d, dword [rax]
mov dword [rsp + 0x30], r9d
jmp case.0x180041dc7.97
mov esi, dword [rsp + 0x48]
lea rdx, [rbp - 0x71]
mov r9d, 0x99
mov qword [rbp - 0x71], rsi
mov r8, r15
xor ecx, ecx
call fcn.180015650
mov r9d, 0x99
mov qword [rbp - 0x71], rsi
mov r8, r12
lea rdx, [rbp - 0x71]
xor ecx, ecx
call fcn.180015650
mov r8, qword [rbp - 0x49]
lea rdx, [rbp - 0x71]
mov r9d, 0x99
mov qword [rbp - 0x71], rsi
xor ecx, ecx
call fcn.180015650
mov r8, qword [rbp - 0x79]
lea rdx, [rbp - 0x71]
mov r9d, 0x99
mov qword [rbp - 0x71], rsi
xor ecx, ecx
call fcn.180015650
jmp case.0x180041dc7.97
mov esi, dword [rsp + 0x4c]
mov rcx, qword [rbp - 0x41]
mov r8d, esi
mov eax, r14d
add rcx, rax
call sub.VCRUNTIME140.dll_memcpy
add r14d, esi
jmp case.0x180041dc7.97
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edi, ebx
jmp case.0x180041dc7.97
mov rsi, qword [rsp + 0x68]
mov r8, qword [rbp - 0x59]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsi + 8]
call qword [0x18007ba10]
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800420e0
mov rcx, qword [rsi + 8]
mov rdx, qword [rbp - 0x61]
mov r8, rcx
call qword [0x18007b998]
mov dword [rsp + 0x34], eax
test eax, eax
je case.0x180041dc7.97
mov r13d, 0x5f
jmp case.0x180041dc7.97
mov rcx, rdx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov ecx, dword [rsp + 0x50]
mov rsi, qword [rbp - 0x49]
inc r13d
mov rdx, qword [rbp - 0x79]
mov r9d, dword [rsp + 0x30]
jmp 0x180041d9c
mov rdx, qword [rbp - 0x61]
xor r8d, r8d
mov rcx, qword [rbp - 0x69]
call fcn.18003e6b0
mov eax, dword [rsp + 0x34]
jmp 0x180041788