Function at 0x180094340
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov r14d, dword [rbp + 0xb8]
lea eax, [rdx - 0x10]
mov r15d, dword [rbp + 0xb8]
xor ebx, ebx
mov r12d, dword [rbp + 0xb8]
cmp edx, eax
mov dword [rsp + 0x5c], eax
mov r11, r9
mov eax, dword [rbp + 0xb8]
mov r10, r8
mov dword [rbp - 0x4c], eax
mov esi, edx
mov dword [rsp + 0x58], edx
mov qword [rbp + 0x20], r14
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x40], r12
jbe 0x180094832
mov eax, dword [rbp + 0xb8]
lea edi, [rdx - 0xa2]
mov rsi, qword [rbp + 0x30]
mov r13d, dword [rbp + 0xb8]
mov ecx, dword [rsp + 0x5c]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0xb8]
mov dword [rsp + 0x64], eax
mov eax, dword [rbp + 0xb8]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0xb8]
mov dword [rsp + 0x54], eax
mov eax, dword [rbp + 0xb8]
mov dword [rsp + 0x60], edi
mov edi, dword [rbp + 0xb8]
mov r9d, dword [rsp + 0x60]
mov dword [rsp + 0x68], eax
mov eax, edx
mov qword [rbp - 0x58], rdi
lea rdx, [0x180000000]
cmp r9d, 0x31
ja case.default.0x180094434
mov eax, r9d
movzx eax, byte [rdx + rax + 0x953f8]
mov ecx, dword [rdx + rax*4 + 0x953b4]
add rcx, rdx
jmp rcx
mov r9d, 0xdd
mov qword [rsp + 0x20], rbx
mov r8, r10
xor edx, edx
xor ecx, ecx
call fcn.180141cf0
mov r8, qword [rbp + 0xc0]
mov r9d, 0xdd
movzx eax, al
xor edx, edx
xor ecx, ecx
mov dword [rbp - 0x4c], eax
mov qword [rsp + 0x20], rbx
call fcn.180141cf0
mov r9d, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x5c]
mov r10, qword [rbp + 0xc0]
movzx r8d, al
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x50], r8d
jmp 0x1800947ba
xor edx, edx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r10
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 0x64]
call fcn.1800ee280
mov r8, qword [rbp + 0xc0]
xor edx, edx
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov qword [rsp + 0x28], r8
xor r8d, r8d
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 0x64]
call fcn.1800ee280
mov r9d, dword [rsp + 0x60]
mov r10, qword [rbp + 0xc0]
jmp case.0x180094434.16
mov rsi, rbx
jmp case.0x180094434.16
mov rbx, qword [rbp - 0x18]
mov ecx, 0xb4
mov rdi, qword [rbp + 0xd0]
nop
cmp ecx, 0xb4
je 0x180094519
cmp ecx, 0x15b
jne 0x180094522
mov dword [rbx + 8], 4
jmp 0x180094522
mov eax, dword [rdi]
lea rbx, [rbp + 0x48]
mov dword [rbp + 0x48], eax
add ecx, 0xa7
cmp ecx, 0x202
jb 0x180094500
mov rdi, qword [rbp - 0x58]
mov qword [rbp - 0x18], rbx
jmp 0x1800947ab
mov r9d, 0xdd
mov qword [rsp + 0x20], rbx
mov r8, r10
xor edx, edx
xor ecx, ecx
call fcn.180141cf0
mov r9d, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x5c]
mov r10, qword [rbp + 0xc0]
mov r8d, dword [rsp + 0x50]
movzx edx, al
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x64], edx
jmp 0x1800947be
mov qword [r10 + 8], rbx
mov qword [r10 + 0x10], rbx
jmp case.0x180094434.16
xor edx, edx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r10
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 0x64]
call fcn.1800ee280
mov r8, qword [rbp + 0xc0]
xor edx, edx
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov qword [rsp + 0x28], r8
mov r14, rax
xor r8d, r8d
mov qword [rbp + 0x20], rax
lea ecx, [rdx + 0x64]
mov qword [rsp + 0x20], rbx
call fcn.1800ee280
mov r9d, dword [rsp + 0x60]
mov r15, rax
mov r10, qword [rbp + 0xc0]
mov qword [rbp - 0x28], rax
jmp case.0x180094434.16
mov rax, qword [r11]
test rax, rax
jne 0x1800945fe
mov qword [r11], 8
mov eax, 8
lea r8, [rbp - 0x20]
mov qword [rbp - 0x20], rax
mov rdx, r10
mov ecx, 0xc4
call fcn.18011d9e0
mov r9d, dword [rsp + 0x60]
mov r10, qword [rbp + 0xc0]
mov dword [rbp - 0x70], eax
jmp case.0x180094434.16
mov r9d, 0xdd
mov qword [rsp + 0x20], rbx
mov r8, r10
xor edx, edx
xor ecx, ecx
call fcn.180141cf0
mov r9d, dword [rsp + 0x60]
mov r11d, ebx
mov ecx, dword [rsp + 0x5c]
mov edx, dword [rsp + 0x64]
mov r10, qword [rbp + 0xc0]
mov r8d, dword [rsp + 0x50]
movzx eax, al
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x54], ebx
jmp 0x1800947c3
xor edx, edx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r10
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 0x64]
call fcn.1800ee280
mov r9d, dword [rsp + 0x60]
mov r12, rax
mov r10, qword [rbp + 0xc0]
mov qword [rbp - 0x40], rax
jmp case.0x180094434.16
xor edx, edx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], r10
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 0x64]
call fcn.1800ee280
mov r8, qword [rbp + 0xc0]
mov r9d, 0xdd
xor edx, edx
mov qword [rbp - 0x58], rax
xor ecx, ecx
mov qword [rsp + 0x20], rbx
mov rdi, rax
call fcn.180141cf0
mov r9d, dword [rsp + 0x60]
mov r10, qword [rbp + 0xc0]
movzx eax, al
mov dword [rsp + 0x68], eax
jmp case.0x180094434.16
mov qword [r10], rbx
jmp case.0x180094434.16
mov eax, dword [r11]
lea rcx, [rsp + 0x78]
mov rdx, qword [rbp + 0xd0]
mov r9, rsi
mov r8d, 0x92
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x20], r10
call fcn.18012c5d0
mov r9d, dword [rsp + 0x60]
mov r10, qword [rbp + 0xc0]
jmp case.0x180094434.16
test byte [r10 + 8], 4
jne case.0x180094434.16
mov rbx, qword [rbp + 0xd0]
mov r8d, 0xaa
nop
mov eax, r8d
sub eax, 0xa9
je 0x180094774
cmp eax, 1
jne 0x18009479f
movsxd rax, dword [rbx + 0x10]
movsxd rcx, dword [r10 + 0xc]
or rcx, rax
mov rax, qword [r10 + 0x10]
mov r13d, dword [rax + rcx*4]
jmp 0x18009479f
mov ecx, dword [r11]
cmp r13d, ecx
je 0x18009479f
mov rdx, qword [r10 + 0x10]
mov esi, r13d
add rsi, rdx
mov eax, dword [rsi + 0xc]
cmp eax, ecx
je 0x18009479f
nop dword [rax]
mov esi, eax
add rsi, rdx
mov r13d, eax
mov eax, dword [rsi + 0xc]
cmp eax, ecx
jne 0x180094790
dec r8d
cmp r8d, 0xa8
ja 0x180094750
xor ebx, ebx
mov ecx, dword [rsp + 0x5c]
mov eax, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x64]
mov r11d, dword [rsp + 0x54]
dec eax
dec r9d
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x60], r9d
cmp eax, ecx
jbe 0x180094876
mov r11, qword [rbp + 0xc8]
jmp 0x18009440e
mov eax, dword [r11]
lea r9, [rbp + 0xb8]
mov dword [rbp + 0xb8], eax
lea r8, [rbp + 0x48]
mov rax, qword [r10]
xor edx, edx
mov dword [rsp + 0x28], 0x93
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180034690
neg rax
sbb ecx, ecx
neg ecx
dec ecx
mov dword [rbp - 0x70], ecx
mov rax, qword [rbp - 0x70]
jmp 0x1800953a0
mov r8d, dword [rbp + 0xb8]
mov edx, dword [rbp + 0xb8]
mov r9d, dword [rbp + 0xb8]
mov r11d, dword [rbp + 0xb8]
mov edi, dword [rbp + 0xb8]
mov ecx, dword [rbp + 0xb8]
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0x64], edx
mov dword [rsp + 0x70], r9d
mov dword [rsp + 0x54], r11d
mov qword [rbp - 0x58], rdi
mov dword [rsp + 0x68], ecx
jmp 0x180094885
mov ecx, dword [rsp + 0x68]
mov esi, dword [rbp + 0xb8]
mov r9d, dword [rsp + 0x70]
imul eax, esi, 0x880
mov r13d, esi
mov dword [rbp - 0x5c], esi
mov dword [rbp + 0x18], eax
cmp esi, eax
ja case.0x180094434.12
mov rsi, qword [rbp - 0x70]
mov qword [rbp - 0x48], rsi
nop dword [rax]
nop dword [rax + rax]
mov eax, r9d
cmp r13d, 0x2f973
ja 0x180094a4b
je 0x180094a30
cmp r13d, 0x17d13
ja 0x180094977
je 0x180094950
cmp r13d, 0xb3
je 0x18009493c
cmp r13d, 0x5fcb
je 0x180094916
cmp r13d, 0xbee3
je 0x18009490a
cmp r13d, 0x11dfb
jne 0x180095298
mov dword [rsp + 0x5c], 1
jmp 0x180095298
mov dword [rsp + 0x58], ebx
mov dword [rbp - 0x38], ebx
jmp 0x180095298
mov r9d, 0xdd
mov qword [rsp + 0x20], rbx
mov r8, r10
xor edx, edx
xor ecx, ecx
call fcn.180141cf0
movzx eax, al
mov dword [rbp - 0x60], eax
mov qword [rbp - 0x70], rbx
jmp 0x18009528f
mov eax, edx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [rsp + 0x60], eax
jmp 0x180095298
cmp r9d, 8
mov edx, 1
cmovge r11d, edx
add r9d, 0xfffffff8
cmp eax, 8
mov dword [rsp + 0x54], r11d
cmovl r9d, eax
mov dword [rsp + 0x70], r9d
jmp 0x180095298
cmp r13d, 0x1dc2b
je 0x1800949cb
cmp r13d, 0x23b43
je 0x1800949af
cmp r13d, 0x29a5b
jne 0x180095298
mov rax, qword [rbp + 0xc8]
mov dword [rax], r14d
mov rax, qword [rbp + 0xd0]
mov dword [rax], r15d
jmp 0x180095298
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
test r8d, r8d
cmove eax, dword [rsp + 0x60]
mov dword [rsp + 0x60], eax
jmp 0x180095298
mov eax, dword [rbp - 0x60]
mov ecx, 1
sar eax, 5
and eax, 1
sub ecx, eax
mov dword [rbp - 0x60], ecx
cmp r14d, 1
jl 0x1800949fd
cmp r15d, 1
jl 0x1800949fd
lea eax, [r9 - 1]
cmp eax, 2
ja 0x1800949fd
lea eax, [rdx - 8]
test eax, 0xffffffe7
je 0x180094a27
mov eax, 0x3f
cmp eax, 0x3f
je 0x180094a14
cmp eax, 0x21f6
je 0x18009539d
jmp 0x180094a1b
mov rsi, rbx
mov qword [rbp - 0x48], rbx
add eax, 0x21b7
cmp eax, 0x436e
jbe 0x180094a02
mov ecx, dword [rsp + 0x68]
jmp 0x180095298
mov rdx, qword [rbp + 0xd8]
test rdx, rdx
je 0x180095298
mov eax, dword [rsp + 0x60]
mov dword [rdx], eax
jmp 0x180095298
cmp r13d, 0x475d3
ja 0x180095320
je 0x1800952cd
cmp r13d, 0x3588b
je 0x180095261
cmp r13d, 0x3b7a3
je 0x1800951ce
cmp r13d, 0x416bb
jne 0x180095298
test r8d, r8d
jne 0x180094b58
test r11d, r11d
jne 0x180094b58
mov dword [rsp + 0x6c], ebx
mov ecx, ebx
test r15d, r15d
jle 0x180095127
mov rbx, qword [rbp - 0x68]
lea edx, [r15 - 1]
mov r12, qword [rbp + 0xc0]
mov edi, dword [rsp + 0x60]
mov rsi, qword [rbp + 0x38]
mov dword [rbp - 0x78], edx
mov r15d, dword [rbp - 0x60]
mov r13d, 0xc3
nop word [rax + rax]
mov eax, r13d
sub eax, 0xc3
je 0x180094b07
cmp eax, 0x46
jne 0x180094b1c
mov eax, edi
lea r8, [rsp + 0x78]
imul eax, r14d
mov r9, r12
mov rdx, rsi
mov ecx, 0xb
mov dword [rsp + 0x78], eax
call fcn.18004dc80
mov ecx, dword [rsp + 0x6c]
mov edx, dword [rbp - 0x78]
jmp 0x180094b1c
test r15d, r15d
mov eax, edx
cmove eax, ecx
imul eax, edi
imul eax, r14d
movsxd rsi, eax
add rsi, rbx
add r13d, 0x46
cmp r13d, 0x14f
jb 0x180094ad0
mov r15, qword [rbp - 0x28]
inc ecx
dec edx
mov qword [rbp + 0x38], rsi
mov dword [rsp + 0x6c], ecx
mov dword [rbp - 0x78], edx
cmp ecx, r15d
jl 0x180094ac0
mov rdi, qword [rbp - 0x58]
xor ebx, ebx
mov rsi, qword [rbp - 0x48]
mov r12, qword [rbp - 0x40]
jmp 0x180095123
mov eax, 0x4c
mov dword [rsp + 0x78], eax
sub eax, 0x4b
je 0x180094fda
cmp eax, 1
jne 0x1800950fb
test r8d, r8d
je 0x180094d0a
mov r13d, 0xf
mov dword [rsp + 0x6c], r13d
nop word [rax + rax]
cmp r13d, 0xf
je 0x180094cc7
cmp r13d, 0x32a
je 0x180094c1c
cmp r13d, 0x645
jne 0x180094cdc
mov eax, ecx
lea r8, [rbp - 0x78]
imul eax, edi
mov r9, r10
mov ecx, 0xb
cdq
and edx, 7
add eax, edx
mov rdx, qword [rbp - 0x70]
sar eax, 3
mov dword [rbp - 0x78], eax
call fcn.18004dc80
test eax, eax
jne 0x180094cdc
mov r13d, 0x4e
mov eax, r13d
sub eax, 0x4d
je 0x180095365
cmp eax, 1
jne 0x180094c09
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
dec r13d
cmp r13d, 0x4c
ja 0x180094be4
mov r13d, dword [rsp + 0x6c]
jmp 0x180094cdc
mov eax, ecx
mov qword [rsp + 0x20], rbx
imul eax, edi
lea r8, [rbp + 0x40]
mov r9d, 0x4a
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd rcx, eax
mov qword [rbp + 0x40], rcx
xor ecx, ecx
call fcn.180054100
mov qword [rbp - 0x70], rax
cmp rax, 0
jne 0x180094cdc
mov r13d, 0xc5
nop dword [rax]
mov ecx, r13d
sub ecx, 0xc4
je 0x18009539d
cmp ecx, 1
jne 0x180094cb4
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov dword [rsp + 0x40], 0x12a
lea r9, str.outofmem
mov qword [rsp + 0x38], rbx
xor r8d, r8d
mov qword [rsp + 0x30], rbx
xor edx, edx
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.180113e50
mov rsi, rbx
mov qword [rbp - 0x48], rbx
dec r13d
cmp r13d, 0xc3
ja 0x180094c60
mov r13d, dword [rsp + 0x6c]
jmp 0x180094cdc
mov r8, r10
mov dword [rbp - 0x78], r12d
mov edx, 0x129
lea rcx, [rbp - 0x78]
call fcn.1800e7310
mov r10, qword [rbp + 0xc0]
add r13d, 0x31b
mov ecx, dword [rsp + 0x68]
mov dword [rsp + 0x6c], r13d
cmp r13d, 0x951
jbe 0x180094b90
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
mov eax, r15d
imul eax, r14d
test eax, eax
jle 0x1800950fb
movsxd r12, dword [rsp + 0x60]
mov r13, rbx
mov esi, dword [rsp + 0x58]
mov ecx, eax
mov qword [rbp + 0x28], r12
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x78], rbx
nop dword [rax]
nop word [rax + rax]
mov r15d, 0x63
mov dword [rsp + 0x6c], r15d
nop dword [rax + rax]
mov eax, r15d
sub eax, 0x61
je 0x180094f91
sub eax, 1
je 0x180094e1f
cmp eax, 1
jne 0x180094f97
test r11d, r11d
je 0x180094e12
test esi, esi
jne 0x180094e08
mov r12, qword [rbp + 0xc0]
mov r14d, 0x39
mov r15d, dword [rbp - 0x10]
mov eax, r14d
sub eax, 0x37
je 0x180094dd9
sub eax, 1
je 0x180094dbf
cmp eax, 1
jne 0x180094de1
mov r9d, 0xdd
mov qword [rsp + 0x20], rbx
mov r8, r12
xor edx, edx
xor ecx, ecx
call fcn.180141cf0
movzx r15d, al
jmp 0x180094de1
mov r13d, r15d
mov edi, r15d
and r13d, 0x7f
inc r13d
sar edi, 7
mov dword [rbp - 0x38], edi
mov dword [rsp + 0x58], r13d
jmp 0x180094de1
mov dword [rsp + 0x5c], 1
dec r14d
cmp r14d, 0x36
ja 0x180094d90
mov rdi, qword [rbp - 0x58]
mov r12, qword [rbp + 0x28]
mov r13, qword [rbp - 0x78]
mov esi, dword [rsp + 0x58]
mov dword [rbp - 0x10], r15d
mov r15d, dword [rsp + 0x6c]
jmp 0x180094f97
cmp dword [rbp - 0x38], 0
jne 0x180094f97
mov dword [rsp + 0x5c], 1
jmp 0x180094f97
cmp dword [rsp + 0x5c], 0
je 0x180094f77
mov r12d, dword [rsp + 0x64]
mov r15d, 0xd4
mov esi, dword [rbp - 0x34]
nop dword [rax + rax]
mov eax, r15d
sub eax, 0xd3
je 0x180094f4d
cmp eax, 1
jne 0x180094f51
test r8d, r8d
je 0x180094f06
mov r14d, 0xd
cmp r14d, 0xd
je 0x180094ecf
cmp r14d, 0x924
je 0x180094eb5
cmp r14d, 0x123b
jne 0x180094eed
test r12d, r12d
jle 0x180094eed
lea r8, [rbp - 0x50]
movsxd rax, esi
sub rax, r8
lea rcx, [rbp - 0x50]
mov r8, qword [rbp - 0x70]
mov edx, ebx
add r8, rax
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
add edx, 8
mov byte [rcx], al
lea rcx, [rcx + 1]
cmp edx, r12d
jl 0x180094ea0
jmp 0x180094eed
cmp esi, edi
mov eax, r12d
cdq
mov ecx, ebx
cmovl ecx, esi
and edx, 7
add eax, edx
mov esi, ecx
sar eax, 3
imul esi, eax
jmp 0x180094eed
mov r8, qword [rbp + 0xc0]
mov r9d, 0xdd
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
call fcn.180141cf0
movzx esi, al
add r14d, 0x917
cmp r14d, 0x1b45
jbe 0x180094e66
mov dword [rbp - 0x34], esi
jmp 0x180094f51
test r12d, r12d
jle 0x180094f51
mov r13d, ebx
lea r14, [rbp - 0x50]
nop dword [rax]
nop word [rax + rax]
mov r8, qword [rbp + 0xc0]
mov r9d, 0xdd
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
call fcn.180141cf0
add r13d, 8
mov byte [r14], al
lea r14, [r14 + 1]
cmp r13d, r12d
jl 0x180094f20
jmp 0x180094f51
mov dword [rsp + 0x5c], ebx
mov r8d, dword [rsp + 0x50]
dec r15d
cmp r15d, 0xd2
ja 0x180094e40
mov r15d, dword [rsp + 0x6c]
mov r12, qword [rbp + 0x28]
mov r13, qword [rbp - 0x78]
mov esi, dword [rsp + 0x58]
test r12, r12
jle 0x180094f97
mov rcx, qword [rbp - 0x68]
lea rdx, [rbp - 0x50]
add rcx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
jmp 0x180094f97
dec esi
mov dword [rsp + 0x58], esi
mov r8d, dword [rsp + 0x50]
dec r15d
mov r11d, dword [rsp + 0x54]
mov dword [rsp + 0x6c], r15d
cmp r15d, 0x60
ja 0x180094d50
add r13, r12
sub qword [rbp - 0x20], 1
mov qword [rbp - 0x78], r13
jne 0x180094d40
mov rsi, qword [rbp - 0x48]
mov r14, qword [rbp + 0x20]
mov r15, qword [rbp - 0x28]
mov r12, qword [rbp - 0x40]
jmp 0x1800950fb
cmp dword [rbp - 0x60], 0
je 0x1800950e9
test r15d, r15d
jle 0x1800950e9
mov r13d, dword [rsp + 0x60]
lea r11d, [r15 - 1]
imul r11d, dword [rsp + 0x60]
mov eax, ebx
movzx edi, byte [rbp - 0x7f]
mov r12d, dword [rbp - 0x2c]
mov esi, dword [rbp - 0x30]
imul r13d, r14d
mov dword [rsp + 0x6c], ebx
mov dword [rbp - 0x78], ebx
mov rbx, qword [rbp - 0x68]
imul r11d, r14d
nop dword [rax]
mov r10d, 0xcc
cmp r10d, 0xcc
je 0x18009509d
cmp r10d, 0x6930
jne 0x1800950a3
mov r9d, r13d
test r13d, r13d
jle 0x1800950a3
movsxd rdx, r12d
movsxd r8, esi
nop word [rax + rax]
mov ecx, 0x43
mov eax, ecx
sub eax, 0x41
je 0x18009507a
sub eax, 1
je 0x18009506c
cmp eax, 1
jne 0x180095085
movzx edi, byte [rdx + rbx]
jmp 0x180095085
movzx eax, byte [r8 + rbx]
mov byte [rdx + rbx], al
mov byte [r8 + rbx], dil
jmp 0x180095085
inc r12d
inc rdx
inc esi
inc r8
dec ecx
cmp ecx, 0x40
ja 0x180095055
dec r9d
mov byte [rbp - 0x7f], dil
test r9d, r9d
jg 0x180095050
mov eax, dword [rbp - 0x78]
jmp 0x1800950a3
mov r12d, eax
mov esi, r11d
add r10d, 0x6864
cmp r10d, 0xd0c8
jbe 0x180095026
mov ecx, dword [rsp + 0x6c]
add eax, r13d
add ecx, 2
mov dword [rbp - 0x30], esi
sub r11d, r13d
mov dword [rbp - 0x2c], r12d
mov dword [rbp - 0x78], eax
mov dword [rsp + 0x6c], ecx
cmp ecx, r15d
jl 0x180095020
mov rdi, qword [rbp - 0x58]
xor ebx, ebx
mov rsi, qword [rbp - 0x48]
mov r12, qword [rbp - 0x40]
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1800950fb
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, dword [rsp + 0x78]
mov r10, qword [rbp + 0xc0]
dec eax
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x68]
mov dword [rsp + 0x78], eax
cmp eax, 0x4a
ja 0x180094b61
mov r13d, dword [rbp - 0x5c]
movsxd r9, dword [rsp + 0x60]
cmp r9d, 3
jl 0x18009528f
mov rbx, qword [rbp - 0x68]
mov r8d, 0x28
mov r12, qword [rbp - 0x18]
movzx edi, byte [rbp - 0x80]
mov eax, r8d
sub eax, 0x27
je 0x18009515a
cmp eax, 1
jne 0x1800951b2
mov r12, rbx
jmp 0x1800951b2
mov eax, r15d
imul eax, r14d
test eax, eax
jle 0x1800951b2
mov edx, eax
nop word [rax + rax]
mov ecx, 0xe
mov eax, ecx
sub eax, 0xe
je 0x18009519c
sub eax, 1
je 0x18009518b
cmp eax, 1
jne 0x1800951a1
add r12, r9
jmp 0x1800951a1
movzx eax, byte [r12 + 2]
mov byte [r12], al
mov byte [r12 + 2], dil
jmp 0x1800951a1
movzx edi, byte [r12]
inc ecx
cmp ecx, 0x11
jb 0x180095175
mov byte [rbp - 0x80], dil
sub rdx, 1
jne 0x180095170
dec r8d
cmp r8d, 0x26
ja 0x180095148
mov rdi, qword [rbp - 0x58]
xor ebx, ebx
mov qword [rbp - 0x18], r12
mov r12, qword [rbp - 0x40]
jmp 0x18009528f
cmp qword [rbp - 0x68], 0
jne 0x180095242
mov r13d, 0xad
nop dword [rax + rax]
cmp r13d, 0xad
je 0x1800951f8
cmp r13d, 0x4db7
je 0x18009539d
jmp 0x18009522e
mov dword [rsp + 0x40], 0x12a
lea r9, str.outofmem
mov qword [rsp + 0x38], rbx
xor r8d, r8d
mov qword [rsp + 0x30], rbx
xor edx, edx
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.180113e50
mov rsi, rbx
mov qword [rbp - 0x48], rbx
add r13d, 0x4d0a
cmp r13d, 0x9a14
jbe 0x1800951e0
mov r13d, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x4c]
lea rcx, [rsp + 0x78]
mov r8, qword [rbp + 0xc0]
mov edx, 0x129
mov dword [rsp + 0x78], eax
call fcn.1800e7310
jmp 0x18009528f
mov eax, dword [rsp + 0x60]
lea r8, [rbp + 0x30]
imul eax, r15d
mov r9d, 0x4a
xor edx, edx
mov qword [rsp + 0x20], rbx
xor ecx, ecx
imul eax, r14d
cdqe
mov qword [rbp + 0x30], rax
call fcn.180054100
mov qword [rbp - 0x68], rax
mov ecx, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x70]
imul eax, dword [rbp + 0xb8], 0x88
add r13d, eax
mov dword [rbp - 0x5c], r13d
cmp r13d, dword [rbp + 0x18]
ja 0x18009539d
mov edx, dword [rsp + 0x64]
mov r10, qword [rbp + 0xc0]
mov r8d, dword [rsp + 0x50]
mov r11d, dword [rsp + 0x54]
jmp 0x1800948b0
mov rax, qword [rbp + 0xb0]
mov eax, dword [rax]
test eax, eax
je 0x180095298
mov r9d, dword [rsp + 0x60]
cmp eax, r9d
je 0x180095293
mov dword [rbp], eax
lea r8, [rbp + 8]
lea rax, [rbp - 8]
mov dword [rbp + 8], r9d
mov r9, qword [rbp - 0x68]
lea rdx, [rbp + 0x10]
mov qword [rsp + 0x28], rax
mov ecx, 0x9c
lea rax, [rbp]
mov dword [rbp + 0x10], r15d
mov qword [rsp + 0x20], rax
mov dword [rbp - 8], r14d
call fcn.18001a860
jmp 0x18009528b
cmp r13d, 0x4d4eb
je 0x18009534d
cmp r13d, 0x53403
je 0x180095340
cmp r13d, 0x5931b
je 0x18009539d
jmp 0x180095298
mov rsi, qword [rbp - 0x68]
mov qword [rbp - 0x48], rsi
jmp 0x180095298
mov edi, ebx
mov dword [rsp + 0x68], ebx
mov r12d, ebx
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x40], r12
mov ecx, ebx
jmp 0x180095298
mov dword [rsp + 0x40], 0x12a
lea r9, str.MPI_Checker
mov qword [rsp + 0x38], rbx
xor r8d, r8d
mov qword [rsp + 0x30], rbx
xor edx, edx
mov qword [rsp + 0x28], rbx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.180113e50
mov rax, rbx
jmp 0x1800953a0
mov rsi, qword [rbp - 0x70]
mov rax, rsi
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret