Function at 0x180023ae0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xf0
mov rax, qword [0x180072270]
xor rax, rsp
mov qword [rbp + 0xf], rax
mov r12, qword [rbp + 0x7f]
lea eax, [rcx + 0x77f]
mov qword [rbp - 0x69], r9
mov rdi, r9
mov qword [rbp - 0x79], rdx
mov r15, r8
mov dword [rbp - 0x41], eax
mov rbx, rdx
mov r13d, ecx
cmp ecx, eax
jae 0x180023b90
lea r14, [0x180000000]
nop word [rax + rax]
cmp r13d, 0x373
ja 0x180023e9b
je 0x180023e8a
cmp r13d, 0x17a
ja 0x180023d83
je 0x180023d5c
mov eax, r13d
sub eax, 0x16
je 0x180023cc7
sub eax, 0xe1
je 0x180023c13
sub eax, 0x1e
je 0x180023bbc
cmp eax, 0x47
jne 0x180023ca5
mov byte [rsp + 0x50], 0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.18005e580
mov rbx, qword [rsp + 0x130]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rbx]
lea rdx, [rsp + 0x30]
add rax, 0xaa
mov r8, r12
mov ecx, 0xd4
mov qword [rsp + 0x30], rax
call fcn.18005a9b0
mov edx, eax
mov dword [rbp - 0x71], eax
lea rcx, str.unknown_mutator_alg
call fcn.18005dc40
mov rax, qword [rbx]
lea rdx, [rsp + 0x30]
add rax, 0x21
mov r8, r12
mov ecx, 0xd4
mov qword [rsp + 0x30], rax
call fcn.18005a9b0
mov dword [rbp - 0x6d], eax
jmp 0x180023ca5
mov r10, qword [r15]
mov r14, qword [r15 + 8]
cmp r10, r14
je 0x180023c9e
mov r11, qword [r12 + 8]
mov rsi, qword [r12]
mov r9, rsi
cmp rsi, r11
je 0x180023c84
mov rbx, qword [r10 + 0x18]
mov rdi, qword [r10 + 0x10]
nop dword [rax + rax]
mov rax, r10
cmp rbx, 8
jb 0x180023c4c
mov rax, qword [r10]
cmp qword [r9 + 0x18], 8
mov r8, r9
jb 0x180023c59
mov r8, qword [r9]
mov rdx, qword [r9 + 0x10]
cmp rdx, rdi
jne 0x180023cb8
test rdx, rdx
je 0x180023c84
sub r8, rax
nop word [rax + rax]
movzx ecx, word [rax]
cmp word [rax + r8], cx
jne 0x180023cb8
add rax, 2
sub rdx, 1
jne 0x180023c70
cmp r9, r11
jne 0x180024173
add r10, 0x20
cmp r10, r14
jne 0x180023c28
mov rbx, qword [rbp - 0x79]
mov rdi, qword [rbp - 0x69]
lea r14, [0x180000000]
add r13d, 0x65
cmp r13d, dword [rbp - 0x41]
jb 0x180023b40
jmp 0x180023b90
add r9, 0x20
cmp r9, r11
jne 0x180023c40
jmp 0x180023c8d
mov eax, dword [0x180096ffc]
lea r8, [rsp + 0x48]
add dword [r12], eax
mov r9d, 0x82
mov eax, dword [0x180097000]
add dword [r15], eax
mov edx, dword [r15]
mov ecx, dword [r12]
and ecx, 0xfffffffc
mov dword [rsp + 0x48], edx
mov dword [rbp - 0x61], ecx
lea eax, [rdx + 7]
mov dword [rsp + 0x30], eax
lea rdx, [rsp + 0x40]
lea eax, [rcx + 7]
mov dword [rsp + 0x40], eax
lea rcx, [rsp + 0x30]
lea rax, [rbp - 0x61]
mov qword [rsp + 0x20], rax
call fcn.18000fd20
test eax, eax
je 0x180023ca5
mov eax, dword [rdi]
lea r9, [rsp + 0x30]
mov dword [rsp + 0x30], eax
lea r8, [rsp + 0x40]
mov eax, dword [r15]
mov ecx, 0x10c
mov dword [rsp + 0x40], eax
mov eax, dword [r12]
cdq
and edx, 3
add eax, edx
lea rdx, [rsp + 0x48]
sar eax, 2
mov dword [rsp + 0x48], eax
call fcn.180046880
jmp 0x180023ca5
mov rax, qword [rbx]
lea rdx, [rsp + 0x30]
add rax, 0x25
mov r8, r12
mov ecx, 0xd4
mov qword [rsp + 0x30], rax
call fcn.18005a9b0
mov dword [rsp + 0x38], eax
jmp 0x180023ca5
mov eax, r13d
sub eax, 0x1df
je 0x180023e45
sub eax, 0x65
je 0x180023dec
sub eax, 0x65
je 0x180023ddd
cmp eax, 0x65
jne 0x180023ca5
mov eax, dword [rbp - 0x71]
lea r9, [rsp + 0x40]
mov rcx, qword [r15]
lea r8, [rbp - 0x31]
mov dword [rsp + 0x40], eax
xor edx, edx
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x30], eax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x11e
call fcn.18005cc60
jmp 0x180023ca5
mov eax, dword [rbp - 0x6d]
add rax, qword [rdi]
mov qword [r15 + 0x10], rax
jmp 0x180023ca5
lea rcx, str._REQ_WRITE_MPX
call fcn.18005dc40
mov ebx, dword [rsp + 0x38]
lea r8, [rsp + 0x30]
lea rdx, [rbp - 0x31]
mov dword [rsp + 0x30], ebx
mov ecx, 0x10b
call fcn.1800192a0
xor r9d, r9d
mov dword [rbp - 0x59], ebx
lea rax, [rbp - 0x59]
xor edx, edx
mov qword [rsp + 0x28], rax
mov rcx, r15
mov qword [rsp + 0x20], 0
lea r8d, [r9 + 0x27]
call fcn.180059f80
mov rbx, qword [rbp - 0x79]
mov r15, rax
jmp 0x180023ca5
mov ebx, dword [rsp + 0x38]
cmp ebx, 0x40
ja 0x18002417d
mov eax, dword [rbp - 0x6d]
lea r9, [rsp + 0x30]
add rax, qword [rdi]
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rax
mov edx, 0x43
lea rax, [rbp - 0x31]
mov dword [rsp + 0x30], ebx
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.180009af0
mov rbx, qword [rbp - 0x79]
jmp 0x180023ca5
lea rcx, str.gti_buffer_mgr
call fcn.18005dc40
jmp 0x180023ca5
cmp r13d, 0x56c
ja 0x180024030
je 0x180024013
mov eax, r13d
sub eax, 0x3d8
je 0x180023ff4
sub eax, 0x65
je 0x180023fc2
sub eax, 0x65
je 0x180023f6f
cmp eax, 0x65
jne 0x180023ca5
mov rdi, qword [r15]
lea ebx, [rax - 0x51]
mov esi, 8
cmp esi, 0xf
ja case.0x180023ef4.2
mov eax, esi
mov ecx, dword [r14 + rax*4 + 0x24198]
add rcx, r14
jmp rcx
cmp byte [0x18009614f], 0
je case.0x180023ef4.15
jmp case.0x180023ef4.2
lea rcx, [0x1800629a8]
call fcn.18005dc40
jmp case.0x180023ef4.2
mov r9d, 0x100
mov r8, rdi
xor edx, edx
xor ecx, ecx
call fcn.180036be0
jmp case.0x180023ef4.2
test ebx, ebx
jle 0x180023f48
nop word [rax + rax]
movzx edx, byte [rdi]
lea rcx, str._02x
inc rdi
dec ebx
call fcn.18005dc40
test ebx, ebx
jg 0x180023f30
dec ebx
jmp case.0x180023ef4.2
mov byte [0x18009614f], 0
dec esi
lea eax, [rsi + 0x103]
cmp eax, 0x104
ja 0x180023ee2
mov rbx, qword [rbp - 0x79]
mov rdi, qword [rbp - 0x69]
jmp 0x180023ca5
mov rax, qword [rbx]
lea r9, [rsp + 0x30]
add rax, 0x9a
mov dword [rsp + 0x30], 0x14
mov qword [r15 + 0x10], rax
lea r8, [rsp + 0x40]
mov rax, qword [rbx]
mov edx, 0x43
add rax, 0x9a
mov rcx, r12
mov qword [rsp + 0x40], rax
mov rax, qword [r15]
mov qword [rsp + 0x20], rax
call fcn.180009af0
lea rcx, str.isPUKValid
call fcn.18005dc40
jmp 0x180023ca5
xor r9d, r9d
mov dword [rbp - 0x51], 0x14
lea rax, [rbp - 0x51]
xor edx, edx
mov qword [rsp + 0x28], rax
mov rcx, r15
mov qword [rsp + 0x20], 0
lea r8d, [r9 + 0x27]
call fcn.180059f80
mov r15, rax
jmp 0x180023ca5
mov eax, dword [rsp + 0x38]
lea r8, [rsp + 0x30]
mov rdx, qword [r15]
mov ecx, 0x10b
mov dword [rsp + 0x30], eax
call fcn.1800192a0
jmp 0x180023ca5
mov rax, qword [r15]
xor byte [rax + 1], 0x80
mov rcx, qword [r15]
mov eax, dword [rcx + 0xc]
mov dword [rcx + 8], eax
xor ecx, ecx
mov rax, qword [r15]
mov dword [rax + 0x10], ecx
jmp 0x180023ca5
mov eax, r13d
sub eax, 0x5d1
je 0x1800240c2
sub eax, 0x65
je 0x180024090
sub eax, 0x65
je 0x180024056
cmp eax, 0x65
je 0x180023b90
jmp 0x180023ca5
mov rax, qword [rbx]
lea rdx, [rsp + 0x50]
add rax, 0xd
mov r8, r12
mov qword [r15 + 0x10], rax
mov ecx, 0x61
mov rax, qword [rbx]
add rax, 0xd
mov qword [rsp + 0x50], rax
call fcn.1800359d0
mov rcx, qword [r15]
xor al, 0x80
mov byte [rcx], al
mov qword [rsp + 0x50], r15
jmp 0x180023ca5
xor r9d, r9d
mov dword [rbp - 0x49], 1
lea rax, [rbp - 0x49]
xor edx, edx
mov qword [rsp + 0x28], rax
mov rcx, r15
mov qword [rsp + 0x20], 0
lea r8d, [r9 + 0x27]
call fcn.180059f80
mov r15, rax
jmp 0x180023ca5
lea rcx, str.ifndef__s
call fcn.18005dc40
mov rdi, qword [r15]
mov ebx, 0x14
mov esi, 8
nop dword [rax + rax]
cmp esi, 0xf
ja case.0x1800240f2.2
mov eax, esi
mov ecx, dword [r14 + rax*4 + 0x241d8]
add rcx, r14
jmp rcx
cmp byte [0x18009614f], 0
je case.0x1800240f2.15
jmp case.0x1800240f2.2
lea rcx, [0x1800629a8]
call fcn.18005dc40
jmp case.0x1800240f2.2
mov r9d, 0x100
mov r8, rdi
xor edx, edx
xor ecx, ecx
call fcn.180036be0
jmp case.0x1800240f2.2
test ebx, ebx
jle 0x180024148
nop word [rax + rax]
movzx edx, byte [rdi]
lea rcx, str._02x
inc rdi
dec ebx
call fcn.18005dc40
test ebx, ebx
jg 0x180024130
dec ebx
jmp case.0x1800240f2.2
mov byte [0x18009614f], 0
dec esi
lea eax, [rsi + 0x103]
cmp eax, 0x104
ja 0x1800240e0
mov rbx, qword [rbp - 0x79]
mov rdi, qword [rbp - 0x69]
jmp 0x180023ca5
mov byte [rsp + 0x50], 1
jmp 0x180023b90
mov edx, ebx
lea rcx, str.icudt53l_region_ja_JP.res
call fcn.18005dc40
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3