Function at 0x180022180
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 - 0x2a0]
sub rsp, 0x3a0
mov rax, qword [0x1800923a0]
xor rax, rsp
mov qword [rbp + 0x290], rax
imul eax, ecx, 0x15e
mov rsi, r8
mov qword [rbp - 0x58], r9
mov r11, rdx
mov qword [rbp - 0x38], r8
mov r14d, ecx
mov qword [rbp - 0x80], rdx
mov dword [rbp - 0x78], ecx
mov dword [rsp + 0x68], ecx
mov dword [rbp - 0x70], eax
cmp ecx, eax
ja 0x18002238e
mov r13d, dword [rsp + 0x70]
mov r12d, dword [rsp + 0x70]
mov r15d, dword [rsp + 0x70]
xor edx, edx
mov r8d, 0x6c
cmp r14d, 0x11ac
ja 0x1800223f4
je 0x180022366
cmp r14d, 0xd7
ja 0x18002229f
je 0x180022290
mov eax, r14d
sub eax, 0x17
je 0x180022287
sub eax, 0x7e
je 0x18002226c
cmp eax, 0x19
jne 0x180022b9b
mov rax, qword [rsi]
cmp rax, 0x3fffffff
ja 0x180022efd
lea rax, [rax*4]
mov dword [rsp + 0x20], 0x5e
lea r9, [rsp + 0x78]
mov qword [rsp + 0x78], rax
lea r8, [rbp + 0x20]
xor ecx, ecx
call fcn.18003a260
mov ecx, dword [rbp - 0x78]
mov qword [rbp + 0x18], rax
jmp 0x180022b9b
mov qword [rbp - 0x40], rdx
mov qword [rbp + 0x10], rdx
mov dword [rbp - 0x48], 0xffffffff
mov dword [rbp - 0x4c], 0xffffffff
jmp 0x180022b9b
mov dword [rsp + 0x70], edx
jmp 0x180022b9b
mov dword [rbp + 0x160], 0x77
jmp 0x180022b9b
cmp r14d, 0x256
je 0x180022c60
cmp r14d, 0x495
je 0x180022c77
cmp r14d, 0xf22
jne 0x180022b9b
cmp dword [rsi], 1
mov r13d, 0xffffffff
mov byte [rsp + 0x61], 0
mov byte [rsp + 0x60], 0
jg 0x180022b9b
lea ecx, [r13 + 3]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
xor edi, edi
xor r9d, r9d
mov qword [rsp + 0x50], rdi
xor r8d, r8d
mov qword [rsp + 0x48], rdi
mov edx, 0xe8
mov qword [rsp + 0x40], rdi
xor ecx, ecx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.1800730e0
mov rax, qword [rbp - 0x80]
lea ecx, [rdi + 2]
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [rsp + 0x40], 0xe
xor r8d, r8d
mov qword [rsp + 0x38], rdi
mov r9, rax
mov qword [rsp + 0x30], rdi
xor edx, edx
mov qword [rsp + 0x28], rdi
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call fcn.180061a60
lea ecx, [rdi + 1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rdi, qword [rbp + 0x18]
test rdi, rdi
je 0x180022efd
mov ebx, 0x108
nop dword [rax + rax]
mov eax, ebx
sub eax, 0x108
je 0x1800223bb
cmp eax, 1
jne 0x1800223e2
mov eax, dword [rbp - 0x44]
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.180077c10
mov rbx, qword [rsp + 0x3e0]
add rsp, 0x3a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [r11]
test rcx, rcx
je 0x1800223d1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r11, qword [rbp - 0x80]
mov r9, qword [rbp - 0x58]
mov rax, qword [rbp + 0x20]
mov qword [r11], rdi
mov qword [r9], rax
mov dword [rbp - 0x44], 1
inc ebx
cmp ebx, 0x10a
jb 0x180022380
mov ecx, dword [rbp - 0x78]
jmp 0x180022b9b
cmp r14d, 0x2c3c
ja 0x180022bbd
je 0x18002282b
cmp r14d, 0x15d6
je 0x1800227de
cmp r14d, 0x1daf
je 0x180022443
cmp r14d, 0x2ad5
jne 0x180022b9b
mov eax, dword [0x180087ca8]
mov dword [rbp + 0x16e], eax
mov word [rbp + 0x172], r8w
jmp 0x180022b9b
mov edi, dword [rsi]
mov eax, 1
mov dword [rsp + 0x68], 1
mov qword [rsp + 0x78], rax
cmp edi, eax
jle 0x18002278b
movzx ecx, byte [rsp + 0x60]
test cl, cl
je 0x180022585
mov ebx, 0x109
mov dword [rbp - 0x60], ebx
cmp ebx, 0x109
je 0x180022549
cmp ebx, 0x193
jne 0x180022565
mov rcx, qword [rbp + 8]
lea rdx, [0x180087c40]
mov byte [rsp + 0x60], 0
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok]
mov rdi, rax
test rax, rax
je 0x18002253d
nop
mov ebx, 0x2d
mov eax, ebx
sub eax, 0x2d
je 0x18002251e
sub eax, 1
je 0x1800224ea
sub eax, 1
je 0x1800224df
cmp eax, 1
jne 0x18002252a
lea rdx, [0x180087c40]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strtok]
mov rdi, rax
jmp 0x18002252a
mov r14d, 0x1daf
inc r12d
jmp 0x18002252a
mov ecx, r12d
test r12d, r12d
je 0x180022513
sub ecx, 1
je 0x180022508
cmp ecx, 1
jne 0x180022f04
mov r13d, r15d
lea ebx, [rcx + 0x2d]
jmp 0x18002252a
mov dword [rbp - 0x4c], r15d
mov ebx, 0x2e
jmp 0x18002252a
mov dword [rbp - 0x48], r15d
mov ebx, 0x2e
jmp 0x18002252a
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
mov r15d, eax
inc ebx
cmp ebx, 0x31
jb 0x1800224b5
test rdi, rdi
jne 0x1800224b0
mov ebx, dword [rbp - 0x60]
mov rcx, qword [rbp + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x18002255a
mov rcx, qword [r11 + rax*8]
mov r12d, edx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov qword [rbp + 8], rax
mov rax, qword [rsp + 0x78]
xor edx, edx
mov r11, qword [rbp - 0x80]
add ebx, 0x8a
mov dword [rbp - 0x60], ebx
cmp ebx, 0x21d
jb 0x180022474
mov edi, dword [rsi]
mov ebx, dword [rsp + 0x68]
jmp 0x180022769
cmp byte [rsp + 0x61], 0
mov rbx, qword [r11 + rax*8]
je 0x1800225a2
mov qword [rbp + 0x10], rbx
mov ebx, dword [rsp + 0x68]
mov byte [rsp + 0x61], 0
jmp 0x18002276e
lea rdx, str.__version
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x180022fa9
cmp byte [rbx], 0x2d
jne 0x1800225ce
cmp byte [rbx + 1], 0x76
jne 0x1800225ce
cmp byte [rbx + 2], 0
je 0x180022fa9
xor edx, edx
lea r8, str.__help
mov ecx, edx
nop dword [rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x18002267f
cmp rcx, 7
jne 0x1800225e0
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
xor edi, edi
xor r9d, r9d
mov qword [rsp + 0x50], rdi
xor r8d, r8d
mov qword [rsp + 0x48], rdi
mov edx, 0xe8
mov qword [rsp + 0x40], rdi
xor ecx, ecx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
call fcn.1800730e0
mov rax, qword [rbp - 0x80]
lea ecx, [rdi + 1]
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov dword [rsp + 0x40], 0xe
xor r8d, r8d
mov qword [rsp + 0x38], rdi
mov r9, rax
mov qword [rsp + 0x30], rdi
xor edx, edx
mov qword [rsp + 0x28], rdi
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call fcn.180061a60
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
cmp byte [rbx], 0x2d
jne 0x1800226d9
cmp byte [rbx + 1], 0x68
jne 0x180022693
cmp byte [rbx + 2], dl
je 0x1800225f8
cmp byte [rbx], 0x2d
jne 0x1800226d9
cmp byte [rbx + 1], 0x62
jne 0x1800226b6
cmp byte [rbx + 2], dl
jne 0x1800226b6
mov ebx, dword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
mov byte [rsp + 0x60], 1
jmp 0x180022769
cmp byte [rbx], 0x2d
jne 0x1800226d9
cmp byte [rbx + 1], 0x66
jne 0x1800226d9
cmp byte [rbx + 2], dl
jne 0x1800226d9
mov ebx, dword [rsp + 0x68]
mov rax, qword [rsp + 0x78]
mov byte [rsp + 0x61], 1
jmp 0x180022769
mov ebx, dword [rsp + 0x68]
cmp ebx, edi
jge 0x180022f5d
mov eax, edi
sub eax, ebx
movsxd rcx, eax
mov dword [rbp - 0x50], eax
lea rcx, [rcx*8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov edi, dword [rsi]
mov qword [rbp - 0x40], rax
cmp ebx, edi
jge 0x180022762
nop word [rax + rax]
mov rax, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rax + rcx*8]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov r8, qword [rbp - 0x40]
mov rcx, rax
mov eax, dword [rbp - 0x50]
sub eax, dword [rsi]
add eax, ebx
cdqe
mov qword [r8 + rax*8], rcx
mov eax, dword [rbp - 0x50]
mov edi, dword [rsi]
sub eax, edi
add eax, ebx
cdqe
cmp qword [r8 + rax*8], 0
je 0x180022f37
mov rax, qword [rsp + 0x78]
inc ebx
inc rax
mov qword [rsp + 0x78], rax
cmp ebx, edi
jl 0x180022710
jmp 0x180022767
mov rax, qword [rsp + 0x78]
xor edx, edx
movzx ecx, byte [rsp + 0x60]
mov r11, qword [rbp - 0x80]
inc ebx
inc rax
mov dword [rsp + 0x68], ebx
mov qword [rsp + 0x78], rax
cmp ebx, edi
jl 0x180022464
mov ecx, dword [rbp - 0x78]
cmp qword [rbp - 0x40], 0
jne 0x180022b9b
mov rbx, qword [r11]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
xor ecx, ecx
mov dword [rsp + 0x40], 0xe
mov qword [rsp + 0x38], rcx
mov r9, rax
mov qword [rsp + 0x30], rcx
xor r8d, r8d
mov qword [rsp + 0x28], rcx
xor edx, edx
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.180061a60
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov r8d, 0xa
mov dword [rbp + 0x162], 0x73
lea rdx, [rbp + 0x164]
lea ecx, [r8 - 8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ltow]
mov r8d, 3
mov dword [rbp + 0x166], 0x5f
lea rdx, [0x180087cb8]
lea rcx, [rbp + 0x160]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
mov ecx, dword [rbp - 0x78]
jmp 0x180022b9b
movsxd rax, dword [rbp - 0x50]
mov rsi, rdx
mov qword [rbp + 0x38], rax
mov r14, rax
test eax, eax
jle 0x180022b92
mov rcx, qword [rbp - 0x40]
mov rbx, qword [rcx + rsi*8]
cmp eax, 1
jle 0x180022868
cmp byte [rbx], 0x2d
jne 0x180022859
cmp byte [rbx + 1], 0
je 0x180022868
mov rdx, rbx
lea rcx, str.__s__n
call fcn.1800772c0
cmp byte [rbx], 0x2d
jne 0x18002297c
cmp byte [rbx + 1], 0
jne 0x18002297c
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov edx, 0x105
lea rcx, [rbp + 0x180]
mov r8, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
test rax, rax
jne 0x1800228cd
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
test eax, eax
jne 0x1800228bf
lea rcx, str.module_event_when_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_perror]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x180022b80
dec rsi
lea rax, [rbp + 0x180]
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [rax + rbx], 0
jne 0x1800228e0
sub ebx, 1
movsxd rdi, ebx
js 0x18002290b
movsx ecx, byte [rbp + rdi + 0x180]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je 0x18002290b
dec ebx
sub rdi, 1
jns 0x1800228f1
test ebx, ebx
js 0x180022b80
movsxd rax, ebx
inc rax
cmp rax, 0x105
jae 0x1800230ed
mov byte [rbp + rax + 0x180], 0
lea rbx, [rbp + 0x180]
movsx ecx, byte [rbp + 0x180]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
je 0x180022961
nop word [rax + rax]
movsx ecx, byte [rbx + 1]
inc rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x180022950
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strdup]
mov rdx, rax
lea rcx, str.__s__n
mov rbx, rax
call fcn.1800772c0
xor r9d, r9d
mov dword [rsp + 0x20], 0x12b
xor r8d, r8d
lea rcx, [rbp - 0x28]
xor edx, edx
call fcn.18002ea30
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x1800229cd
movups xmm0, xmmword [rbp - 0x28]
mov r8, rax
lea rdx, [rbp + 0x70]
mov ecx, 0xac
movaps xmmword [rbp + 0x70], xmm0
movups xmm0, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x80], xmm0
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rbp + 0x90], xmm0
call fcn.18000bf10
movups xmm0, xmmword [rbp - 0x28]
mov eax, dword [rbp - 0x4c]
lea r9, [rbp + 0xa0]
mov dword [rsp + 0x78], eax
lea r8, [rbp - 0x60]
mov eax, dword [rbp - 0x48]
lea rdx, [rbp - 0x30]
movaps xmmword [rbp + 0xa0], xmm0
lea rcx, [rsp + 0x78]
movups xmm0, xmmword [rbp - 0x18]
mov dword [rbp - 0x30], r13d
mov dword [rbp - 0x60], eax
movaps xmmword [rbp + 0xb0], xmm0
movups xmm0, xmmword [rbp - 8]
mov dword [rsp + 0x20], 0x90
movaps xmmword [rbp + 0xc0], xmm0
call fcn.180031380
movups xmm0, xmmword [rbp - 0x28]
xor ecx, ecx
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x30], rax
xor edx, edx
movaps xmmword [rbp + 0xd0], xmm0
xor r9d, r9d
movups xmm0, xmmword [rbp - 0x18]
mov qword [rsp + 0x28], rcx
xor r8d, r8d
lea ecx, [rdx + 0x1e]
mov qword [rsp + 0x20], rbx
movaps xmmword [rbp + 0xe0], xmm0
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rbp + 0xf0], xmm0
call fcn.18004d180
mov rcx, rbx
mov edi, eax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ecx, ecx
test edi, edi
jne 0x180023018
movups xmm0, xmmword [rbp - 0x28]
lea r8, [rbp + 0x100]
mov edx, 0xe5
movaps xmmword [rbp + 0x100], xmm0
movups xmm0, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x110], xmm0
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rbp + 0x120], xmm0
call fcn.1800300b0
mov edi, eax
xor eax, eax
mov ebx, eax
test edi, edi
jle 0x180022b43
xor r14d, r14d
movups xmm0, xmmword [rbp - 0x28]
lea rax, [rbp + 0x130]
mov dword [rsp + 0x78], ebx
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x78]
movaps xmmword [rbp + 0x130], xmm0
lea rax, [rbp + 0x30]
movups xmm0, xmmword [rbp - 0x18]
mov qword [rsp + 0x38], rax
xor r9d, r9d
lea rax, [rbp + 0x28]
mov qword [rsp + 0x30], r14
movaps xmmword [rbp + 0x140], xmm0
xor r8d, r8d
movups xmm0, xmmword [rbp - 8]
mov qword [rsp + 0x28], rax
xor edx, edx
mov dword [rsp + 0x20], 0x73
movaps xmmword [rbp + 0x150], xmm0
call fcn.180011630
mov r8, qword [rbp + 0x28]
lea rcx, str._s_s_n
mov rdx, qword [rbp + 0x30]
call fcn.1800772c0
inc ebx
cmp ebx, edi
jl 0x180022ac1
mov r14, qword [rbp + 0x38]
xor eax, eax
movups xmm0, xmmword [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x40]
xor edx, edx
mov qword [rsp + 0x20], rax
movaps xmmword [rbp + 0x40], xmm0
xor ecx, ecx
movups xmm0, xmmword [rbp - 0x18]
mov r8d, 0xb5
movaps xmmword [rbp + 0x50], xmm0
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rbp + 0x60], xmm0
call fcn.180055fc0
test eax, eax
jne 0x180022ff2
mov eax, dword [rbp - 0x50]
inc rsi
cmp rsi, r14
jl 0x180022841
mov ecx, dword [rbp - 0x78]
mov r14d, dword [rsp + 0x68]
mov rsi, qword [rbp - 0x38]
imul eax, ecx, 0x19
add r14d, eax
mov dword [rsp + 0x68], r14d
cmp r14d, dword [rbp - 0x70]
ja 0x18002238e
mov r11, qword [rbp - 0x80]
mov r9, qword [rbp - 0x58]
jmp 0x1800221ec
cmp r14d, 0x3ac9
je 0x1800230da
cmp r14d, 0x3fd4
jne 0x180022b9b
mov rdi, qword [rbp - 0x80]
mov ebx, 0xf6
nop dword [rax]
cmp ebx, 0xf6
je 0x180022c4b
cmp ebx, 0x6f78
je 0x180022bfe
cmp ebx, 0xddfa
je 0x18002238e
jmp 0x180022c52
xor r9d, r9d
lea rdx, [rbp + 0x160]
mov ecx, 0x8b
lea r8d, [r9 + 0xb]
call fcn.18001eff0
mov rcx, rdi
call rax
mov ecx, eax
lea r8, [rsp + 0x68]
mov rax, qword [rbp - 0x58]
mov r9, rsi
mov dword [rsp + 0x78], ecx
mov edx, 0x63
lea rcx, [rsp + 0x78]
movzx eax, word [rax]
mov word [rsp + 0x68], ax
call fcn.180030f30
mov byte [rbp - 0x44], al
xor edx, edx
jmp 0x180022c52
mov word [rbp + 0x174], dx
add ebx, 0x6e82
cmp ebx, 0x14b86
jbe 0x180022be0
mov rax, qword [rsi]
mov ecx, dword [rax + 0x18]
mov eax, dword [rax + 0x24]
mov dword [rbp - 0x68], ecx
mov ecx, dword [rbp - 0x78]
mov dword [rbp - 0x74], eax
jmp 0x180022b9b
mov edi, dword [rsp + 0x70]
mov r12d, dword [rsp + 0x70]
mov ebx, dword [rbp - 0x74]
mov r15d, dword [rbp - 0x68]
nop word [rax + rax]
mov r14d, 0xad
nop word [rax + rax]
cmp r14d, 0xad
je 0x180022e9b
cmp r14d, 0x418d
jne 0x180022e70
mov r13d, dword [rbp - 0x68]
mov esi, edx
test r13d, r13d
je 0x180022d1a
mov r15, qword [rbp - 0x38]
mov rbx, rdx
nop dword [rax]
mov rcx, qword [rbx + r11]
test rcx, rcx
je 0x180022efb
mov r8, qword [r15 + 8]
mov eax, r12d
mov r9d, edi
shl r9, 2
lea rdx, [rcx + rax*4]
mov ecx, dword [r8 + 0x2148]
mov rax, qword [r8 + rbx + 8]
mov r8, r9
lea rcx, [rax + rcx*4]
call sub.VCRUNTIME140.dll_memcpy
mov r11, qword [rbp - 0x80]
inc esi
add rbx, 8
cmp esi, r13d
jb 0x180022cd0
mov r9, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x38]
mov ebx, dword [rbp - 0x74]
mov rax, qword [rsi]
cmp dword [rax + 0x10], 0
je 0x180022da4
mov rax, qword [rsi + 8]
mov r10d, dword [rax + 0x2148]
cmp r10d, ebx
ja 0x180022da7
nop word [rax + rax]
cmp r12d, dword [r9]
jae 0x180022da7
mov rcx, qword [r11]
mov eax, r12d
inc r12d
lea r8, [rax*4]
mov eax, r10d
mov edx, dword [r8 + rcx]
inc r10d
lea r9, [rax*4]
mov rax, qword [r11 + 8]
sub edx, dword [r8 + rax]
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x50]
mov dword [r9 + rcx], edx
mov rax, qword [r11 + 8]
mov rcx, qword [r11]
mov edx, dword [r8 + rax]
add edx, dword [r8 + rcx]
mov rax, qword [rsi + 8]
sar edx, 1
mov rcx, qword [rax + 0x48]
mov dword [r9 + rcx], edx
mov r9, qword [rbp - 0x58]
cmp r10d, ebx
jbe 0x180022d40
jmp 0x180022da7
add r12d, edi
mov rax, qword [rsi + 8]
xor edx, edx
add dword [rax + 0x2148], edi
mov rax, qword [rsi + 8]
cmp dword [rax + 0x2148], ebx
jbe 0x180022e65
xor r15d, r15d
mov qword [rsp + 0x28], rsi
lea r9, [rsp + 0x70]
mov dword [rbp - 0x70], r15d
lea r8, [rbp - 0x70]
mov dword [rsp + 0x70], r15d
xor ecx, ecx
mov dword [rsp + 0x20], 2
call fcn.180064850
test eax, eax
je 0x180022efb
test r13d, r13d
je 0x180022e28
mov eax, ebx
mov edx, r15d
mov r8, r13
lea r9, [rax*4]
nop dword [rax]
mov rax, qword [rsi + 8]
lea rdx, [rdx + 8]
mov rcx, qword [rax + rdx]
mov eax, dword [r9 + rcx]
mov dword [rcx], eax
sub r8, 1
jne 0x180022e10
mov rax, qword [rsi]
cmp dword [rax + 0x10], r15d
je 0x180022e55
mov eax, ebx
lea rdx, [rax*4]
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x48]
mov eax, dword [rdx + rcx]
mov dword [rcx], eax
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 0x50]
mov eax, dword [rdx + rcx]
mov dword [rcx], eax
mov rax, qword [rsi + 8]
xor edx, edx
mov dword [rax + 0x2148], 1
mov r15d, dword [rbp - 0x68]
mov ebx, dword [rbp - 0x74]
mov r9, qword [rbp - 0x58]
mov r11, qword [rbp - 0x80]
add r14d, 0x40e0
cmp r14d, 0x81c0
jbe 0x180022ca0
cmp r12d, dword [r9]
jb 0x180022c90
mov eax, 1
jmp 0x180022391
mov eax, dword [r9]
mov edi, ebx
mov rcx, qword [rsi + 8]
sub eax, r12d
sub edi, dword [rcx + 0x2148]
inc edi
cmp edi, eax
cmovae edi, eax
mov rax, qword [rsi]
cmp dword [rax + 4], 0
je 0x180022e70
lea rax, [rcx + 0x3530]
mov dword [rsp + 0x78], edi
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x70]
mov r8, r11
mov dword [rsp + 0x20], 0xa
lea rdx, [rbp - 0x70]
mov dword [rsp + 0x70], r15d
lea rcx, [rsp + 0x78]
mov dword [rbp - 0x70], r12d
call fcn.180028330
xor edx, edx
jmp 0x180022e6c
xor edx, edx
mov eax, edx
jmp 0x180022391
movsxd rbx, dword [rsp + 0x68]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str._Z18convert_ulong3_satDv3_c
mov rax, qword [rbp - 0x80]
mov r8, qword [rax + rbx*8]
call fcn.180077230
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Failed_to_load_the_builtins_rtl_library
call fcn.180077230
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rax, qword [rbp - 0x80]
mov ecx, 2
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
xor ecx, ecx
mov dword [rsp + 0x40], 0xe
mov qword [rsp + 0x38], rcx
mov r9, rax
mov qword [rsp + 0x30], rcx
xor r8d, r8d
mov qword [rsp + 0x28], rcx
xor edx, edx
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.180061a60
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
xor ecx, ecx
xor r9d, r9d
mov qword [rsp + 0x50], rcx
xor r8d, r8d
mov qword [rsp + 0x48], rcx
mov edx, 0xe8
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
call fcn.1800730e0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.OGL_indirectStateBindingTableBufferSize
call fcn.180077230
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor esi, esi
mov dword [rsp + 0x70], edi
mov qword [rsp + 0x40], rsi
lea r8, [rsp + 0x70]
mov qword [rsp + 0x38], rsi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
lea edx, [rsi + 0x71]
mov qword [rsp + 0x20], rsi
call fcn.180037ef0
lea ecx, [rsi + 2]
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputs]
test edi, edi
jle 0x1800230b4
movups xmm0, xmmword [rbp - 0x28]
lea r9, [rbp + 0x40]
mov qword [rsp + 0x20], rsi
xor r8d, r8d
mov edx, 0xd0
movaps xmmword [rbp + 0x40], xmm0
xor ecx, ecx
movups xmm0, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x50], xmm0
movups xmm0, xmmword [rbp - 8]
movaps xmmword [rbp + 0x60], xmm0
call fcn.180042700
lea ecx, [rsi + 2]
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov r9, rbx
lea rdx, str.:_d___s_
mov rcx, rax
mov r8d, edi
call fcn.180077230
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, [0x180087c0c]
call fcn.180077230
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
call fcn.1800778fc
int3