Function at 0x180042e90
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov ebx, dword [rsp + 0xd8]
lea eax, [rdx + 0x2e2]
mov dword [rsp + 0x60], eax
mov r10, r9
mov esi, edx
mov r8, rcx
cmp edx, eax
jae case.0x180042f83.346
mov rbp, qword [rsp + 0x38]
mov eax, dword [rsp + 0xd8]
mov rdi, qword [rsp + 0xf0]
mov r13d, dword [rsp + 0xd8]
mov r14d, dword [rsp + 0xd8]
mov r12d, dword [rsp + 0xd8]
mov qword [rsp + 0x38], rbp
mov r9, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x38]
mov r15, qword [rsp + 0x38]
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x40], eax
nop dword [rax]
cmp esi, 0x1cd
ja 0x180043bf9
je 0x180043b36
lea eax, [rsi - 0xb6]
cmp eax, 0xee
ja case.0x180042f83.183
lea rcx, [0x180000000]
movzx eax, byte [rcx + rax + 0x43e34]
mov ecx, dword [rcx + rax*4 + 0x43df8]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
lea rdx, [0x1800684d4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov qword [rsp + 0x58], rax
jmp 0x180043d98
mov qword [rbp + 0x10], 0
jmp case.0x180042f83.183
mov r9, qword [rsp + 0x58]
test r9, r9
jne 0x180042fe5
mov ecx, 0xda
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xd9
je case.0x180042f83.346
cmp eax, 1
jne 0x180042fdb
xor eax, eax
mov qword [r10], rax
mov dword [r10 + 8], eax
dec ecx
cmp ecx, 0xd8
ja 0x180042fc0
xor edx, edx
mov rcx, r9
lea r8d, [rdx + 2]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov r10, qword [rsp + 0xe8]
mov r9, qword [rsp + 0x30]
mov dword [r10 + 8], eax
jmp 0x180043da5
movsxd r8, dword [r10 + 8]
mov edx, 1
mov r9, qword [rsp + 0x58]
mov rcx, qword [r10]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
test rax, rax
jne 0x180043d98
lea ecx, [rax + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rax, qword [rsp + 0xe0]
mov rbp, rdi
mov qword [rdi], rax
mov eax, dword [r8]
mov dword [rdi + 8], eax
mov qword [rsp + 0x38], rdi
jmp case.0x180042f83.183
mov dword [rbp + 0xc], 0
jmp case.0x180042f83.183
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
jmp 0x180043d98
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov rax, qword [rsp + 0xe8]
movsxd rcx, dword [rax + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r10, qword [rsp + 0xe8]
mov r9, qword [rsp + 0x30]
mov qword [r10], rax
jmp 0x180043da5
cmp r15, rdx
je 0x18004358b
nop dword [rax]
movzx ecx, byte [r15]
cmp cl, 0xa
je 0x180043140
lea eax, [rcx - 0x20]
cmp al, 0x5e
jbe 0x180043140
cmp cl, 0xc2
jne 0x1800430dc
cmp byte [r15 + 1], 0xa0
jae 0x180043140
lea eax, [rcx + 0x3d]
cmp al, 0x29
jbe 0x180043140
cmp cl, 0xed
jne 0x1800430ef
cmp byte [r15 + 1], 0xa0
jb 0x180043140
cmp cl, 0xee
je 0x180043140
cmp cl, 0xef
jne 0x180043109
movzx eax, byte [r15 + 1]
cmp al, 0xbb
jne 0x180043131
cmp byte [r15 + 2], 0xbf
jne 0x180043140
mov r9d, 0x32
nop
lea eax, [r9 - 0x32]
cmp eax, 5
ja case.default.0x18004312f
lea r8, [0x180000000]
mov ecx, dword [r8 + rax*4 + 0x43f24]
add rcx, r8
jmp rcx
cmp al, 0xbf
jne 0x180043140
movzx eax, byte [r15 + 2]
add al, 0x42
cmp al, 1
jbe 0x180043109
cmp dword [rdi + 0x88], 0
jne 0x18004314e
cmp cl, 0x7f
ja 0x180043109
cmp cl, 0xef
jne 0x180043161
cmp byte [r15 + 1], 0xbb
jne 0x180043161
cmp byte [r15 + 2], 0xbf
je 0x180043109
cmp cl, 0xd
je 0x180043109
cmp cl, 0xa
je 0x180043109
cmp cl, 0xc2
jne 0x180043177
cmp byte [r15 + 1], 0x85
je 0x180043109
cmp cl, 0xe2
jne 0x18004319f
movzx eax, byte [r15 + 1]
cmp al, 0x80
jne 0x18004319f
cmp byte [r15 + 2], 0xa8
je 0x180043109
cmp al, al
jne 0x18004319f
cmp byte [r15 + 2], 0xa9
je 0x180043109
cmp cl, 0x22
je 0x180043109
cmp cl, 0x5c
je 0x180043109
cmp cl, 0x20
jne 0x1800433fb
cmp dword [r8], 0
je 0x1800432c4
test r12d, r12d
jne 0x1800432c4
mov eax, dword [rdi + 0x84]
cmp dword [rdi + 0x11c], eax
jle 0x1800432c4
cmp r15, r11
je 0x1800432c4
lea rax, [rdx - 1]
cmp r15, rax
je 0x1800432c4
mov esi, 0x3d
nop word [rax + rax]
mov eax, esi
sub eax, 0x3c
je 0x180043265
cmp eax, 1
jne 0x1800432a7
lea r9d, [rax + 0x32]
mov r8, rdi
xor edx, edx
xor ecx, ecx
call fcn.180053eb0
test eax, eax
je case.0x180043b15.9
cmp byte [r15 + 1], 0x20
jne 0x1800432a7
mov rax, qword [rdi + 0x48]
add rax, 5
cmp rax, qword [rdi + 0x40]
jb 0x180043252
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x5c
inc qword [rdi + 0x48]
inc dword [rdi + 0x11c]
jmp 0x1800432a7
movzx ecx, byte [r15]
test cl, cl
js 0x180043274
mov eax, 1
jmp 0x1800432a4
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x180043284
mov eax, 2
jmp 0x1800432a4
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x180043294
mov eax, 3
jmp 0x1800432a4
and cl, 0xf8
xor eax, eax
cmp cl, 0xf0
mov ecx, 4
cmove eax, ecx
add r15, rax
dec esi
cmp esi, 0x3b
ja 0x180043200
mov esi, dword [rsp + 0xd8]
mov r12d, 1
jmp 0x18004356b
mov rax, qword [rdi + 0x48]
add rax, 5
cmp rax, qword [rdi + 0x40]
jb 0x1800432e7
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
movzx ecx, byte [r15]
test cl, cl
js 0x180043314
mov rax, qword [rdi + 0x48]
inc r15
mov esi, dword [rsp + 0xd8]
mov r12d, 1
mov byte [rax], cl
inc qword [rdi + 0x48]
inc dword [rdi + 0x11c]
jmp 0x18004356b
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x180043352
mov rax, qword [rdi + 0x48]
mov r12d, 1
mov esi, dword [rsp + 0xd8]
mov byte [rax], cl
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 1]
add r15, 2
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
inc dword [rdi + 0x11c]
jmp 0x18004356b
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x18004339f
mov rax, qword [rdi + 0x48]
mov r12d, 1
mov esi, dword [rsp + 0xd8]
mov byte [rax], cl
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 1]
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 2]
add r15, 3
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
inc dword [rdi + 0x11c]
jmp 0x18004356b
movzx eax, cl
and al, 0xf8
cmp al, 0xf0
jne 0x1800433e3
mov rax, qword [rdi + 0x48]
mov byte [rax], cl
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 1]
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 2]
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 3]
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
add r15, 4
inc dword [rdi + 0x11c]
mov r12d, 1
mov esi, dword [rsp + 0xd8]
jmp 0x18004356b
mov rax, qword [rdi + 0x48]
add rax, 5
cmp rax, qword [rdi + 0x40]
jb 0x18004341e
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
movzx ecx, byte [r15]
test cl, cl
js 0x180043448
mov rax, qword [rdi + 0x48]
inc r15
mov esi, dword [rsp + 0xd8]
mov byte [rax], cl
inc qword [rdi + 0x48]
inc dword [rdi + 0x11c]
xor r12d, r12d
jmp 0x18004356b
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x180043483
mov rax, qword [rdi + 0x48]
mov esi, dword [rsp + 0xd8]
mov byte [rax], cl
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 1]
add r15, 2
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
inc dword [rdi + 0x11c]
xor r12d, r12d
jmp 0x18004356b
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x1800434cd
mov rax, qword [rdi + 0x48]
mov esi, dword [rsp + 0xd8]
mov byte [rax], cl
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 1]
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 2]
add r15, 3
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
inc dword [rdi + 0x11c]
xor r12d, r12d
jmp 0x18004356b
movzx eax, cl
and al, 0xf8
cmp al, 0xf0
jne 0x180043511
mov rax, qword [rdi + 0x48]
mov byte [rax], cl
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 1]
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 2]
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
movzx eax, byte [r15 + 3]
mov rcx, qword [rdi + 0x48]
mov byte [rcx], al
inc qword [rdi + 0x48]
add r15, 4
inc dword [rdi + 0x11c]
mov esi, dword [rsp + 0xd8]
xor r12d, r12d
jmp 0x18004356b
mov esi, 0x108
mov dword [rsp + 0xd8], esi
jmp 0x18004355e
cmp r13d, 1
jle case.default.0x18004312f
lea rdx, [r15 + 1]
lea r8d, [r13 - 1]
nop
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
and ecx, 0x3f
shl r14d, 6
add r14d, ecx
sub r8, 1
jne 0x180043540
mov esi, dword [rsp + 0xd8]
inc r9d
cmp r9d, 0x38
jb 0x180043110
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0xd0]
mov r11, qword [rsp + 0x70]
cmp r15, rdx
jne 0x1800430c0
mov rbp, qword [rsp + 0x38]
xor eax, eax
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0xd8], eax
lea r9, [rsp + 0xd8]
mov dword [rsp + 0x50], eax
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], eax
lea rcx, [rsp + 0x50]
lea rax, [0x18006ae54]
mov r8d, 0x122
mov qword [rsp + 0x20], rax
call fcn.180054660
test eax, eax
je case.0x180043b15.9
mov dword [rdi + 0x120], 0
jmp 0x180043d98
xor r12d, r12d
jmp case.default.0x18004312f
mov rax, qword [rdi + 0x48]
add rax, 5
cmp rax, qword [rdi + 0x40]
jb 0x180043613
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
lea r8, [0x180000000]
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x5c
mov rdx, qword [rdi + 0x48]
inc dword [rdi + 0x11c]
inc rdx
mov qword [rdi + 0x48], rdx
cmp r14d, 0x2028
ja 0x1800438be
je 0x180043893
cmp r14d, 0xa0
ja case.0x180043662.13
mov eax, r14d
movzx eax, byte [r8 + rax + 0x43f74]
mov ecx, dword [r8 + rax*4 + 0x43f3c]
add rcx, r8
jmp rcx
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x180043683
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x30
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x1800436ae
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x61
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x1800436d9
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x62
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x180043704
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x74
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x18004372f
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x6e
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x18004375a
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x76
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x180043785
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x66
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x1800437b0
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x72
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x1800437db
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x65
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x180043806
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x22
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x180043831
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x5c
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x18004385c
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x4e
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x180043887
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x5f
jmp 0x180043a06
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x1800438b2
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x4c
jmp 0x180043a06
cmp r14d, 0x2029
je 0x1800439e0
mov rax, qword [rdi + 0x40]
add rdx, 5
cmp r14d, 0xff
ja 0x180043905
cmp rdx, rax
jb 0x1800438f6
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov r13d, 2
mov byte [rax], 0x78
jmp 0x18004395e
cmp r14d, 0xffff
ja 0x180043937
cmp rdx, rax
jb 0x180043928
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov r13d, 4
mov byte [rax], 0x75
jmp 0x18004395e
cmp rdx, rax
jb 0x180043951
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov r13d, 8
mov byte [rax], 0x55
inc qword [rdi + 0x48]
lea ebp, [r13*4 - 4]
inc dword [rdi + 0x11c]
mov rax, qword [rdi + 0x48]
nop dword [rax]
nop dword [rax + rax]
mov esi, r14d
mov ecx, ebp
shr esi, cl
add rax, 5
and esi, 0xf
cmp rax, qword [rdi + 0x40]
jb 0x1800439a9
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
cmp esi, 0xa
mov eax, 0x30
mov ecx, 0x37
cmovb ecx, eax
mov rax, qword [rdi + 0x48]
add cl, sil
mov byte [rax], cl
inc qword [rdi + 0x48]
inc dword [rdi + 0x11c]
sub ebp, 4
mov rax, qword [rdi + 0x48]
jns 0x180043980
mov r9d, 0x35
jmp case.default.0x18004312f
lea rax, [rdx + 5]
cmp rax, qword [rdi + 0x40]
jb 0x1800439ff
xor edx, edx
mov r8, rdi
lea ecx, [rdx + 0x3e]
call fcn.180022b30
test eax, eax
je case.0x180043b15.9
mov rax, qword [rdi + 0x48]
mov byte [rax], 0x50
inc qword [rdi + 0x48]
inc dword [rdi + 0x11c]
mov r9d, 0x35
jmp case.default.0x18004312f
mov eax, r13d
add r15, rax
jmp case.default.0x18004312f
movzx ecx, byte [r15]
test cl, cl
js 0x180043a40
mov r14d, ecx
mov r13d, 1
and r14d, 0x7f
jmp case.default.0x18004312f
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
jne 0x180043a5b
mov r14d, ecx
mov r13d, 2
and r14d, 0x1f
jmp case.default.0x18004312f
movzx edx, cl
movzx eax, cl
and dl, 0xf0
and al, 0xf8
cmp dl, 0xe0
jne 0x180043a73
mov r13d, 3
jmp 0x180043a82
xor r13d, r13d
mov r8d, 4
cmp al, 0xf0
cmove r13d, r8d
cmp dl, 0xe0
jne 0x180043a93
mov r14d, ecx
and r14d, 0xf
jmp case.default.0x18004312f
mov esi, dword [rsp + 0xd8]
cmp al, 0xf0
jne 0x180043aaa
mov r14d, ecx
and r14d, 7
jmp 0x18004355e
xor r14d, r14d
jmp 0x18004355e
xor r12d, r12d
jmp case.0x180042f83.183
mov dword [rdi + 0x124], 0
mov ebx, 1
jmp case.0x180042f83.183
mov r11, qword [rsp + 0xe0]
test r11, r11
je case.0x180043b15.9
mov edx, dword [r8]
test edx, edx
je case.0x180043b15.9
mov eax, dword [r10]
dec eax
cmp eax, 0x11
ja case.0x180043b15.9
lea r9, [0x180000000]
cdqe
movzx eax, byte [r9 + rax + 0x44028]
mov ecx, dword [r9 + rax*4 + 0x44018]
add rcx, r9
jmp rcx
mov eax, edx
mov dword [rsp + 0x40], 0x40
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rbp + 0xc], eax
lea r9, [rbp + 0x18]
mov esi, 0x1cd
mov qword [rsp + 0x30], r9
jmp case.0x180042f83.183
mov eax, 0xce
nop
cmp eax, 0xcd
jbe case.0x180043b15.9
cmp eax, 0xce
je 0x180043b66
dec eax
jmp 0x180043b50
mov eax, edx
mov dword [rsp + 0x40], 0x20
cdq
lea r9, [rbp + 0x18]
and edx, 3
mov qword [rsp + 0x30], r9
add eax, edx
mov esi, 0x1cd
sar eax, 2
mov dword [rbp + 0xc], eax
jmp case.0x180042f83.183
mov rax, qword [rsp + 0xe0]
lea r9, [rsp + 0xd8]
mov qword [rsp + 0x28], rdi
lea rdx, [rsp + 0x50]
mov r8d, 0x122
mov qword [rsp + 0x70], r10
mov r15, r10
mov dword [rsp + 0x50], 1
mov rcx, qword [rax]
xor eax, eax
add rcx, r10
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0x48], eax
lea rax, [0x18006ae54]
mov qword [rsp + 0x68], rcx
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x20], rax
call fcn.180054660
test eax, eax
jne 0x180043d98
xor eax, eax
jmp 0x180043c12
mov eax, esi
sub eax, 0x1f6
je 0x180043c2e
sub eax, 0x29
je 0x180043c26
cmp eax, 0x29
jne case.0x180042f83.183
mov eax, ebx
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ebx, dword [rbp + 0xc]
jmp case.0x180042f83.183
movsxd rax, dword [rbp + 0xc]
cmp rax, 0x13
jbe 0x180043c67
lea rax, [rax + rax*2]
xor r8d, r8d
shl rax, 2
lea rdx, [rsp + 0x30]
mov ecx, SHSetInstanceExplorer
mov qword [rsp + 0x30], rax
call fcn.180028870
mov r9, rax
mov qword [rsp + 0x30], rax
mov rcx, rax
mov eax, dword [rbp + 0xc]
jmp 0x180043c6a
mov rcx, r9
cmp dword [rsp + 0x40], 0x40
mov qword [rbp + 0x10], rcx
mov r8, qword [rsp + 0xe0]
jne 0x180043d1d
xor r10d, r10d
test eax, eax
jle 0x180043d9d
add r9, 8
mov edx, 0xc2
mov eax, edx
sub eax, 0xc2
je 0x180043ca9
cmp eax, 1
jne 0x180043cfd
add r8, 8
jmp 0x180043cfd
mov dword [r9 - 8], 1
movzx eax, byte [r8 + 2]
movzx ecx, byte [r8 + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8]
shl ecx, 8
or ecx, eax
mov dword [r9 - 4], ecx
movzx eax, byte [r8 + 6]
movzx ecx, byte [r8 + 7]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 4]
shl ecx, 8
or ecx, eax
mov dword [r9], ecx
inc edx
cmp edx, 0xc4
jb 0x180043c95
inc r10d
add r9, 0xc
cmp r10d, dword [rbp + 0xc]
jl 0x180043c90
jmp 0x180043d98
xor r11d, r11d
mov r10d, r11d
test eax, eax
jle 0x180043d9d
add r9, 8
nop
mov edx, 0x105
mov eax, edx
sub eax, 0x103
je 0x180043d7d
sub eax, 1
je 0x180043d52
cmp eax, 1
jne 0x180043d81
mov dword [r9 - 8], 5
jmp 0x180043d81
movzx eax, byte [r8 + 2]
movzx ecx, byte [r8 + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8]
shl ecx, 8
or ecx, eax
mov dword [r9], r11d
mov dword [r9 - 4], ecx
jmp 0x180043d81
add r8, 4
dec edx
cmp edx, 0x102
ja 0x180043d35
inc r10d
add r9, 0xc
cmp r10d, dword [rbp + 0xc]
jl 0x180043d30
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xd0]
add esi, 0x29
mov dword [rsp + 0xd8], esi
cmp esi, dword [rsp + 0x60]
jae case.0x180042f83.346
mov rdx, qword [rsp + 0x68]
mov r11, qword [rsp + 0x70]
jmp 0x180042f40
mov dword [rsp + 0xd8], edx
mov r9d, 0x4c
lea rdx, [rsp + 0xd8]
mov r8, rbp
mov rcx, r11
call fcn.180037380
jmp 0x180043c12