Function at 0x180050200
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x668]
sub rsp, 0x740
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0xd8], xmm15
mov rax, qword [0x1800923a0]
xor rax, rsp
mov qword [rbp + 0x580], rax
mov r14, r9
mov rdi, r8
mov r12, rdx
mov qword [rbp - 0x50], rdx
mov esi, ecx
mov dword [rbp - 0x58], ecx
movdqa xmm0, xmmword [0x18008c030]
movdqa xmmword [rbp + 0x1f0], xmm0
mov byte [rbp + 0x1e0], 0
movdqa xmm1, xmm0
movdqa xmmword [rbp + 0x210], xmm0
mov byte [rbp + 0x200], 0
movdqa xmmword [rbp + 0x230], xmm0
mov byte [rbp + 0x220], 0
movdqa xmmword [rbp + 0x260], xmm0
mov byte [rbp + 0x250], 0
movdqa xmmword [rbp + 0x280], xmm0
mov byte [rbp + 0x270], 0
xor ecx, ecx
mov qword [rbp + 0x80], rcx
mov word [rbp + 0x88], cx
movdqu xmmword [rbp + 0x9a], xmm0
mov byte [rbp + 0x8a], cl
mov qword [rbp + 0x50], rcx
mov word [rbp + 0x58], cx
movdqu xmmword [rbp + 0x6a], xmm0
mov byte [rbp + 0x5a], cl
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rcx
movdqa xmmword [rbp], xmm0
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0xb0], rcx
mov qword [rbp + 0xb8], rcx
mov qword [rbp + 0xc0], rcx
mov ecx, 0x30
call fcn.180077428
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0xb8], rax
xor r8d, r8d
mov qword [rbp + 0xc8], r8
xorps xmm2, xmm2
movsd qword [rbp + 0xd0], xmm2
mov qword [rbp + 0xd8], r8
mov r13d, 1
mov dword [rbp + 0xe0], r13d
mov qword [rbp + 0xe8], r8
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xf0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0x100], xmm1
movdqa xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x120], r8
mov qword [rbp + 0x128], 0xffffffffffffffff
mov dword [rbp + 0x130], r8d
xor eax, eax
movups xmmword [rbp + 0x138], xmm0
movups xmmword [rbp + 0x148], xmm0
movups xmmword [rbp + 0x158], xmm0
movups xmmword [rbp + 0x168], xmm0
mov qword [rbp + 0x178], rax
movdqa xmm0, xmmword [0x18008c030]
movdqa xmmword [rbp + 0x190], xmm0
mov byte [rbp + 0x180], al
mov word [rbp + 0x1a0], r8w
mov dword [rbp + 0x1a4], r8d
mov qword [rbp + 0x1a8], r8
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1b0], xmm0
movsd qword [rbp + 0x1c0], xmm2
mov byte [rbp + 0x1c8], al
mov qword [rbp + 0x1cc], r8
mov r15d, esi
lea ebx, [rsi + 0xdd]
mov dword [rbp - 0x68], ebx
lea rdx, [0x180000000]
lea ecx, [rax + 0x54]
cmp esi, ebx
jae 0x180050ef7
lea esi, [rax + 0x4e]
mov r11d, 0x73
lea r10d, [r11 - 8]
lea r9d, [r11 - 0xa]
cmp r15d, 0x118
ja case.default.0x18005049c
je 0x180050c8a
lea eax, [r15 - 0x13]
cmp eax, 0xd1
ja case.default.0x18005049c
movzx eax, byte [rdx + rax + 0x51820]
mov ecx, dword [rdx + rax*4 + 0x517f0]
add rcx, rdx
jmp rcx
mov ebx, 0x55
mov eax, ebx
sub eax, 0x55
je 0x180050511
sub eax, 1
je 0x1800504bd
cmp eax, 1
je case.0x180050f61.12
jmp 0x180050903
mov eax, dword [r14]
test eax, eax
je 0x180050508
cmp dword [rdi + 0x10], 1
jae 0x1800504de
mov rcx, qword [rdi + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
xor r8d, r8d
mov qword [rdi + 0x18], r8
mov eax, dword [r14]
mov dword [rbp - 0x78], eax
mov rax, qword [r12 + 8]
mov qword [rsp + 0x20], r8
lea r9, [rbp - 0x78]
mov r8d, 0x11
mov rdx, qword [rax + 0x70]
xor ecx, ecx
call fcn.180031770
test eax, eax
je 0x180050c55
mov dword [rbp - 0x70], r13d
jmp 0x180050903
cmp dword [r14], 8
jb 0x1800508fa
mov r13d, 0xf
mov eax, r13d
sub eax, 0xf
je 0x1800508b8
sub eax, 0x6d
je 0x180050759
cmp eax, 0x6d
jne 0x1800508bc
mov eax, dword [rdi + 0x10]
test eax, eax
je 0x1800508bc
mov qword [rbp - 0x78], 0x10
mov qword [rbp - 0x40], rax
mov r8d, 0x1a
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x78]
call fcn.18002b960
mov qword [rdi + 0x18], rax
test rax, rax
je 0x180050c5f
xor r8d, r8d
mov r15d, r8d
cmp dword [rdi + 0x10], r8d
jbe 0x1800508bc
nop word [rax + rax]
mov esi, 0x119
mov eax, esi
sub eax, 0x118
je 0x18005060a
cmp eax, 1
jne 0x180050739
mov ecx, r15d
shl rcx, 4
mov rax, qword [rdi + 0x18]
mov dword [rcx + rax], r8d
mov rax, qword [rdi + 0x18]
mov qword [rcx + rax + 8], r8
mov eax, dword [r14]
cmp eax, 4
jb 0x1800508e6
add eax, 0xfffffffc
mov dword [r14], eax
mov r9, qword [rdi + 0x18]
add r9, rcx
mov rax, qword [r12 + 8]
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rcx
xor r8d, r8d
mov edx, 0x8c
xor ecx, ecx
call fcn.180038c70
test eax, eax
je 0x180050c51
xor r8d, r8d
jmp 0x180050739
mov ebx, r15d
add rbx, rbx
mov rax, qword [rdi + 0x18]
cmp dword [rax + rbx*8], 0
jbe 0x180050734
mov ecx, dword [r14]
mov edx, dword [rax + rbx*8]
cmp ecx, edx
jb 0x1800508e6
sub ecx, edx
mov dword [r14], ecx
mov qword [rbp - 0x40], 1
mov rax, qword [rdi + 0x18]
mov ecx, dword [rax + rbx*8]
mov qword [rbp + 0x30], rcx
mov qword [rsp + 0x50], r8
lea rax, [rbp + 0x30]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r8
mov dword [rsp + 0x28], 0x14a
mov qword [rsp + 0x20], r8
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x40]
xor ecx, ecx
call fcn.18002ce00
mov rcx, qword [rdi + 0x18]
mov qword [rcx + rbx*8 + 8], rax
test rax, rax
je 0x180050c47
mov rcx, qword [rdi + 0x18]
mov r8d, dword [rcx + rbx*8]
xor edx, edx
mov rcx, qword [rcx + rbx*8 + 8]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rdi + 0x18]
mov eax, dword [rcx + rbx*8]
mov dword [rbp - 0x60], eax
mov rdx, qword [rcx + rbx*8 + 8]
mov rax, qword [r12 + 8]
mov rcx, qword [rax + 0x70]
xor eax, eax
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x78], 0xa0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x60]
call fcn.1800287c0
mov rdx, qword [rdi + 0x18]
test eax, eax
je 0x1800508ce
mov ecx, dword [rdx + rbx*8]
mov rax, qword [rdx + rbx*8 + 8]
mov byte [rcx + rax], 0
xor r8d, r8d
jmp 0x180050739
mov qword [rax + rbx*8 + 8], r8
dec esi
cmp esi, 0x117
ja 0x180050595
inc r15d
cmp r15d, dword [rdi + 0x10]
jb 0x180050590
jmp 0x1800508bc
mov rax, qword [r12 + 8]
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rcx
mov r9, rdi
xor r8d, r8d
mov edx, 0x8c
xor ecx, ecx
call fcn.180038c70
test eax, eax
je 0x180050c55
mov ecx, dword [rdi]
test ecx, ecx
je 0x180050872
mov eax, dword [r14]
cmp eax, ecx
jb 0x1800508ec
sub eax, ecx
mov dword [r14], eax
mov qword [rbp - 0x78], 1
mov eax, dword [rdi]
mov qword [rbp - 0x40], rax
xor esi, esi
mov qword [rsp + 0x50], rsi
lea rax, [rbp - 0x40]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x14a
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x78]
xor ecx, ecx
call fcn.18002ce00
mov qword [rdi + 8], rax
test rax, rax
je 0x180050c64
mov ecx, dword [rdi]
mov dword [rbp - 0x78], ecx
mov rcx, qword [r12 + 8]
mov rdx, qword [rcx + 0x70]
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0x78], 0xa0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.1800287c0
test eax, eax
je 0x180050ab4
mov ecx, dword [rdi]
mov rax, qword [rdi + 8]
mov byte [rcx + rax], sil
jmp 0x180050878
xor esi, esi
mov qword [rdi + 8], rsi
mov rax, qword [r12 + 8]
mov rcx, qword [rax + 0x70]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea r9, [rdi + 0x10]
xor r8d, r8d
mov edx, 0x8c
xor ecx, ecx
call fcn.180038c70
test eax, eax
je 0x180050ab4
cmp dword [rdi + 0x10], 0x186a0
ja 0x180050c76
xor r8d, r8d
jmp 0x1800508bc
add dword [r14], 0xfffffff8
add r13d, 0x6d
cmp r13d, 0x156
jae 0x1800508f4
jmp 0x180050521
mov rcx, qword [rdx + rbx*8 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [rdi + 0x18]
mov qword [rax + rbx*8 + 8], 0
mov dword [rdi + 0x10], r15d
jmp 0x1800508f4
xor eax, eax
mov dword [rdi], eax
mov qword [rdi + 8], rax
mov r13d, 1
mov ebx, 0x55
lea r15d, [rbx + 0xd]
inc ebx
cmp ebx, 0x58
mov r8d, 0
jb 0x1800504a3
mov ebx, dword [rbp - 0x68]
lea esi, [r8 + 0x4e]
mov dword [rbp + 0x2f1], 0x5f544f
mov dword [rbp + 0x2f4], 0x415453
mov ecx, 0x54
add r15d, 0x11
xor r8d, r8d
cmp r15d, ebx
jae 0x180050ef7
lea rdx, [0x180000000]
jmp 0x18005045a
mov edx, 0x10
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rbp - 0x30], rax
jmp case.0x18005049c.30
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x70], rax
jmp case.0x18005049c.30
cmp qword [r12 + 0x28], 0
jne 0x1800509aa
mov eax, dword [rdi]
test eax, eax
je 0x180050c81
mov dword [rbp - 0x78], eax
xor r9d, r9d
xor edx, edx
mov r8d, 0x101
lea rcx, [rbp - 0x78]
call fcn.18002aa40
mov qword [r12 + 0x28], rax
test rax, rax
je 0x180050c55
jmp 0x180050afb
mov esi, 0x29
nop
mov eax, esi
sub eax, 0x27
je 0x180050abc
sub eax, 1
je 0x1800509f3
cmp eax, 1
jne 0x180050ae4
mov ecx, dword [r12 + 0x20]
shl rcx, 4
mov qword [rbp - 0x38], rcx
mov eax, dword [rdi]
mov r13d, eax
shl r13, 4
mov qword [rbp - 0x48], r13
cmp eax, 0xfffffff
ja 0x180050c55
jmp 0x180050ae4
mov ebx, dword [rdi]
cmp ebx, dword [r12 + 0x20]
jae 0x180050a23
nop dword [rax]
mov ecx, ebx
add rcx, rcx
mov rax, qword [r12 + 0x28]
mov rcx, qword [rax + rcx*8 + 8]
test rcx, rcx
je 0x180050a1a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc ebx
cmp ebx, dword [r12 + 0x20]
jb 0x180050a00
mov rbx, qword [r12 + 0x28]
mov r13, qword [rbp - 0x48]
mov rcx, rbx
test r13, r13
jne 0x180050a44
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r12 + 0x28], r13
jmp 0x180050ae4
mov rdx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [r12 + 0x28], rax
test rax, rax
jne 0x180050ae4
mov eax, dword [r12 + 0x20]
mov dword [rbp - 0x60], eax
xor esi, esi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0xb9
lea r9, [rbp - 0x60]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180062d10
mov dword [r12 + 0x20], esi
mov dword [rbp - 0x70], esi
jmp 0x1800514d8
mov r13, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x38]
cmp r13, rcx
jbe 0x180050ae4
mov r8, r13
sub r8, rcx
mov ecx, dword [r12 + 0x20]
shl rcx, 4
add rcx, qword [r12 + 0x28]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
dec esi
cmp esi, 0x26
ja 0x1800509b0
mov ebx, dword [rbp - 0x68]
mov esi, 0x4e
lea r13d, [rsi - 0x4d]
mov eax, dword [rdi]
mov dword [r12 + 0x20], eax
mov qword [rsp + 0x20], r12
mov r9d, 0xb9
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1800180d0
mov dword [rbp - 0x70], r13d
jmp case.0x18005049c.30
mov word [rbp + 0x300], r9w
jmp case.0x18005049c.30
mov word [rbp + 0x308], r10w
mov eax, 0x72
mov word [rbp + 0x309], ax
jmp case.0x18005049c.30
lea rcx, [rbp + 0x330]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x180050b52
movzx eax, word [0x18008765c]
mov word [rcx], ax
movzx eax, byte [0x18008765e]
mov byte [rcx + 2], al
movzx eax, word [0x180087660]
mov word [rbp + 0x33a], ax
mov eax, dword [str.ectory]
mov dword [rbp + 0x33c], eax
movzx eax, word [0x180087668]
mov word [rbp + 0x340], ax
movzx eax, byte [0x18008766a]
mov byte [rbp + 0x342], al
mov word [rbp + 0x2f0], si
jmp case.0x18005049c.30
mov eax, 0x72
mov word [rbp + 0x301], ax
mov eax, 0x6f
mov word [rbp + 0x302], ax
mov word [rbp + 0x303], r11w
mov dword [rbp + 0x304], 0x2e6f672e
jmp case.0x18005049c.30
mov byte [rbp + 0x330], 0
mov r8d, 2
lea rdx, [0x18008766c]
lea rcx, [rbp + 0x330]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
movzx eax, word [0x180087670]
mov word [rbp + 0x332], ax
movzx eax, byte [0x180087672]
mov byte [rbp + 0x334], al
lea rcx, [rbp + 0x330]
dec rcx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x180050c25
mov eax, dword [0x180087674]
mov dword [rcx], eax
mov ecx, 0x54
mov word [rbp + 0x337], cx
jmp case.default.0x18005049c
mov rax, qword [r12]
mov dword [rax], 8
mov dword [rdi + 0x10], r15d
xor esi, esi
mov dword [rbp - 0x70], esi
jmp 0x1800514d8
xor esi, esi
mov dword [rdi + 0x10], esi
mov rax, qword [r12]
mov dword [rax], 8
mov dword [rbp - 0x70], esi
jmp 0x1800514d8
mov dword [rdi + 0x10], esi
mov dword [rbp - 0x70], esi
jmp 0x1800514d8
mov dword [rbp - 0x70], r13d
jmp case.0x180050f61.12
mov eax, ecx
movsd xmm13, qword [0x18008bef8]
movsd xmm15, qword [0x18008bec0]
movsd xmm14, qword [0x18008beb0]
movsd xmm7, qword [rbp - 0x50]
mov r15d, dword [rbp - 0x48]
mov edi, dword [rbp - 0x48]
mov r14d, dword [rbp - 0x48]
movsd xmm11, qword [rbp - 0x50]
movsd xmm9, qword [rbp - 0x50]
movsd xmm12, qword [rbp - 0x50]
movsd xmm6, qword [rbp - 0x50]
movsd xmm10, qword [rbp - 0x50]
movsd xmm8, qword [rbp - 0x50]
nop word [rax + rax]
mov ecx, eax
sub ecx, 0x54
je 0x180050d00
cmp ecx, 1
je case.0x180050f61.12
jmp 0x180050e5f
mov esi, 5
cmp esi, 5
je 0x180050ea4
cmp esi, 0x3b1
je 0x180050e91
cmp esi, 0x75d
je 0x180050e6f
cmp esi, 0xb09
jne 0x180050ee0
cmp edi, 0x7f
jae 0x180050d9d
mov ebx, 0x42
lea r12, [0x180000000]
mov eax, ebx
sub eax, 0x42
je 0x180050d64
cmp eax, 1
jne 0x180050d8d
movaps xmm6, xmm11
subsd xmm6, xmm9
mulsd xmm6, xmm12
addsd xmm6, xmm9
jmp 0x180050d8d
mov eax, edi
movsd xmm11, qword [r12 + rax*8 + 0x82d60]
lea eax, [rdi + 1]
movsd xmm9, qword [r12 + rax*8 + 0x82d60]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movd xmm12, eax
cvtdq2pd xmm12, xmm12
inc ebx
cmp ebx, 0x44
jb 0x180050d43
mov r12, qword [rbp - 0x50]
jmp 0x180050e1d
mov ebx, 0x84
mov eax, ebx
sub eax, 0x84
je 0x180050dfc
sub eax, 1
je 0x180050dea
cmp eax, 1
jne 0x180050e13
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_log
divsd xmm0, xmm13
movaps xmm7, xmm13
subsd xmm7, xmm0
movaps xmm0, xmm7
subsd xmm0, xmm15
mulsd xmm0, qword [0x18008c008]
call sub.api_ms_win_crt_math_l1_1_0.dll_exp
movaps xmm6, xmm0
mulsd xmm6, xmm10
jmp 0x180050e13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movd xmm10, eax
cvtdq2pd xmm10, xmm10
jmp 0x180050e13
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm8, xmm14
subsd xmm8, xmm0
inc ebx
cmp ebx, 0x87
jb 0x180050da2
movaps xmm0, xmm7
mulsd xmm0, qword [0x18008bfe0]
mulsd xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_exp
lea rdx, [0x180000000]
comisd xmm0, xmm6
jbe 0x180050ee0
mov eax, 0x54
movd xmm0, r14d
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [r12]
mulsd xmm0, xmm7
movsd qword [rbp - 0x70], xmm0
inc eax
cmp eax, 0x56
jb 0x180050ce0
jmp case.0x180050f61.12
mov ecx, edi
mov eax, r15d
xorps xmm7, xmm7
cvtsi2sd xmm7, rax
mulsd xmm7, qword [rdx + rcx*8 + 0x83360]
cmp r15d, dword [rdx + rcx*4 + 0x83160]
jb 0x180050e42
jmp 0x180050ee0
test dil, 0x80
mov r14d, 0xffffffff
cmovne r14d, r13d
and edi, 0x7f
jmp 0x180050ee0
mov dword [rbp - 0x60], pe_nt_image_headers64
xor r8d, r8d
lea rdx, [rbp - 0x60]
mov ecx, 0x105
call fcn.180051930
mov edi, eax
mov dword [rbp - 0x60], 0x1000000
xor r8d, r8d
lea rdx, [rbp - 0x60]
mov ecx, 0x105
call fcn.180051930
mov r15d, eax
lea rdx, [0x180000000]
add esi, 0x3ac
cmp esi, 0xeb0
jbe 0x180050d05
jmp 0x180050d00
mov edi, dword [rbp - 0x58]
lea ebx, [rdi + 0xd]
mov dword [rbp - 0x78], ebx
cmp edi, ebx
jae case.0x180050f61.12
lea ebx, [rdi - 0x8f]
mov dword [rbp - 0x68], ebx
mov edx, 0x1bb
mov r9d, 0x52
mov r10d, 0x4445
lea r11, [0x180092098]
mov esi, dword [rbp - 0x48]
mov r14d, dword [rbp - 0x48]
movzx r13d, byte [rbp - 0x80]
mov r15d, dword [rbp - 0x48]
mov r12d, dword [rbp - 0x48]
mov eax, dword [rbp - 0x78]
cmp ebx, 0xc
ja case.default.0x180050f61
lea rcx, [0x180000000]
mov ecx, dword [rcx + rbx*4 + 0x518f4]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
lea rax, [0x180006070]
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x20], r8
xor r9d, r9d
xor r8d, r8d
mov edx, 0x88
lea rcx, [rbp - 0x50]
call fcn.18001fe80
lea r9, [rbp + 0xb0]
lea r8, [rbp - 0x20]
mov edx, 0xe6
lea rcx, [0x180092090]
call fcn.18002bdd0
mov dword [rsp + 0x20], 0xb5
lea r9, [rbp + 0xb0]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180004a80
cmp byte [rbp - 0x80], 0
je 0x1800516cb
mov ebx, 0x28
lea edi, [rbx + 0x2c]
mov eax, ebx
sub eax, 0x28
je 0x180050ff0
cmp eax, 1
jne 0x180051023
mov ecx, esi
mov r8d, r14d
lea rdx, [rbp + 0x290]
call qword [sym.imp.WINMM.dll_midiOutGetDevCapsW]
jmp 0x180051023
xor esi, esi
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x290], xmm0
movups xmmword [rbp + 0x2a0], xmm0
movups xmmword [rbp + 0x2b0], xmm0
movups xmmword [rbp + 0x2c0], xmm0
movups xmmword [rbp + 0x2d0], xmm0
mov dword [rbp + 0x2e0], eax
mov r14d, edi
inc ebx
cmp ebx, 0x2a
jb 0x180050fd0
mov edi, dword [rbp - 0x58]
mov ebx, dword [rbp - 0x68]
jmp 0x1800516cb
call qword [sym.imp.WINMM.dll_midiOutGetNumDevs]
mov dword [rbp - 0x60], eax
jmp 0x1800516cb
lea rax, [rbp - 0x20]
mov qword [rbp - 0x30], rax
mov eax, dword [0x180092140]
mov dword [rbp - 0x28], eax
mov eax, dword [0x180092144]
mov dword [rbp - 0x24], eax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x40], xmm0
jmp 0x1800516e6
lea r9, [rbp + 0x1e0]
xor r8d, r8d
mov edx, 0xef
lea rcx, [rbp + 0x250]
call fcn.18002d5d0
mov eax, 0x1bb
mov word [rbp - 0x58], ax
lea r9, [0x1800920f8]
lea r8, [rbp - 0x58]
lea rdx, [rbp + 0x80]
mov ecx, 0xe5
call fcn.18000f760
jmp 0x1800516cb
mov word [rbp + 0x240], dx
mov dword [rsp + 0x30], 0xfa
mov qword [rsp + 0x28], r8
lea rax, [rbp + 0x220]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180008650
mov byte [rbp - 0x80], 1
jmp 0x1800516cb
mov word [rbp + 0x2f7], r9w
mov eax, 0x54
mov word [rbp + 0x2f8], ax
mov word [rbp + 0x2f9], r10w
jmp 0x1800516e6
mov r8d, 1
lea rdx, [0x180087678]
lea rcx, [rbp + 0x200]
call fcn.180039600
jmp 0x1800516cb
mov byte [rbp + 0x2fb], 0
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r8
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov ecx, 0xa1
call fcn.180044c10
test al, al
jne 0x1800511db
mov ebx, 0x45
cmp ebx, 0x45
je 0x18005119f
cmp ebx, 0x1887
jne 0x1800511ca
mov r8d, dword [rbp - 0x40]
mov edx, dword [rbp - 0x48]
mov rcx, qword [rbp - 0x38]
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
test rax, rax
je 0x1800514ce
test r13b, r13b
je 0x1800514ce
mov rcx, rax
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x1800514ce
mov r13b, 1
mov qword [rbp - 0x38], 0
mov dword [rbp - 0x48], 0x64
mov dword [rbp - 0x40], 0x64
mov edx, 1
lea rcx, [rbp + 0x348]
call qword [sym.imp.SHLWAPI.dll_PathBuildRootW]
add ebx, 0x1842
cmp ebx, 0x3084
jbe 0x180051161
mov ebx, dword [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
lea rax, [rbp + 0x300]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180051200
lea rdx, [rbp + 0x300]
lea rcx, [rbp + 0x1e0]
call fcn.180039600
jmp 0x1800516cb
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], r8d
lea r9, [rbp + 0x40]
lea r8, [0x18002db40]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rdi, rax
test rax, rax
jne 0x1800515ca
mov ebx, 0x14
cmp ebx, 0xd34
ja 0x1800513b1
je 0x1800513a2
cmp ebx, 0x5b4
ja 0x180051300
je 0x1800512e1
cmp ebx, 0x14
je 0x1800512af
cmp ebx, 0x1f4
je 0x180051297
cmp ebx, 0x3d4
jne 0x1800515b5
mov byte [rbp + 0x316], 0
jmp 0x1800515b5
mov eax, 0x2073
mov word [rbp + 0x313], ax
mov byte [rbp + 0x315], 0x65
jmp 0x1800515b5
mov byte [rbp + 0x310], 0
mov r8d, 1
lea rdx, [0x180087728]
lea rcx, [rbp + 0x310]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov eax, 0x696d
mov word [rbp + 0x311], ax
jmp 0x1800515b5
mov r8d, 4
lea rdx, [0x180087681]
lea rcx, [rbp + 0x310]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
jmp 0x1800515b5
cmp ebx, 0x794
je 0x180051377
cmp ebx, 0x974
je 0x180051343
cmp ebx, 0xb54
jne 0x1800515b5
movzx eax, word [0x1800877b9]
mov word [rbp + 0x322], ax
movzx eax, byte [0x1800877bb]
mov byte [rbp + 0x324], al
mov byte [rbp + 0x325], 0
jmp 0x1800515b5
mov word [rbp + 0x31e], 0x6b
mov r8d, 1
lea rdx, [0x180087753]
lea rcx, [rbp + 0x310]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov eax, 0x7274
mov word [rbp + 0x320], ax
jmp 0x1800515b5
mov r8d, 2
lea rdx, str._to_cortical_LogPolar_Overlapping_cv__QAE_BVMat_2_ABV32__Z
lea rcx, [rbp + 0x31a]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov eax, 0x6520
mov word [rbp + 0x31c], ax
jmp 0x1800515b5
mov dword [rbp + 0x325], 0x64757469
jmp 0x1800515b5
cmp ebx, 0x14b4
ja 0x18005148f
je 0x180051483
cmp ebx, 0xf14
je 0x180051439
cmp ebx, 0x10f4
je 0x1800513fc
cmp ebx, 0x12d4
jne 0x1800515b5
mov eax, 0x49
mov word [rbp + 0x356], ax
mov eax, 0x202c
mov word [rbp + 0x357], ax
jmp 0x1800515b5
mov eax, 0x72
mov word [rbp + 0x34b], ax
mov eax, 0x6261
mov word [rbp + 0x34c], ax
mov dword [rbp + 0x34e], 0x4e2069
mov dword [rbp + 0x351], 0x416f7265
mov eax, 0x50
mov word [rbp + 0x355], ax
jmp 0x1800515b5
mov byte [rbp + 0x329], 0
mov r8d, 1
lea rdx, [0x18008769c]
lea rcx, [rbp + 0x310]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov eax, 0x55
mov word [rbp + 0x348], ax
mov eax, 0x70
mov word [rbp + 0x349], ax
mov eax, 0x6f
mov word [rbp + 0x34a], ax
jmp 0x1800515b5
mov byte [rbp + 0x359], 0
jmp 0x1800515b5
cmp ebx, 0x1694
je 0x1800515ac
cmp ebx, 0x1874
jne 0x1800515b5
mov r9d, r12d
mov r8d, r15d
lea rdx, [rbp + 0x470]
lea rcx, [rbp + 0x310]
call qword [sym.imp.dbghelp.dll_UnDecorateSymbolName]
lea rcx, [rbp + 0x348]
call qword [sym.imp.SHLWAPI.dll_StrToIntA]
mov eax, 1
mov dword [rbp - 0x70], eax
xor esi, esi
lea rcx, [rbp + 0x128]
call fcn.1800032b0
lea rcx, [rbp + 0x110]
call fcn.180002cf0
mov rdx, qword [rbp + 0xf8]
test rdx, rdx
je 0x180051528
mov r8, qword [rbp + 0x108]
sub r8, rdx
sar r8, 4
lea rcx, [rbp + 0xf8]
call fcn.180041af0
mov qword [rbp + 0xf8], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x100], xmm0
lea rcx, [rbp + 0xb8]
call fcn.1800031e0
nop
lea rcx, [rbp - 8]
call fcn.1800356d0
mov rdx, qword [rbp - 0x20]
test rdx, rdx
je 0x180051567
mov r8, qword [rbp - 0x10]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x20]
call fcn.180041aa0
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rsi
mov rdx, qword [rbp + 0x72]
cmp rdx, 0x10
jb 0x180051705
inc rdx
mov rcx, qword [rbp + 0x5a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051700
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180051700
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov r15d, 0x104
xor r12d, r12d
add ebx, 0x1e0
cmp ebx, 0x1a40
jbe 0x180051252
mov ebx, dword [rbp - 0x68]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r8d, r8d
mov ecx, r8d
movzx eax, byte [rbp - 0x80]
cmp dword [rbp - 0x60], r8d
cmovne ecx, eax
mov byte [rbp - 0x80], cl
mov edi, dword [rbp - 0x58]
jmp 0x1800516ce
lea r8, [rbp + 0x360]
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0x330]
call qword [sym.imp.dbghelp.dll_FindExecutableImage]
xor r8d, r8d
mov dword [rbp - 0x70], r8d
jmp 0x1800516ce
mov word [rbp - 0x58], dx
lea r9, [rbp + 0x50]
lea r8, [0x180092118]
lea rdx, [rbp - 0x58]
mov ecx, 0x60
call fcn.180007ca0
jmp 0x1800516cb
xor r8d, r8d
lea rdx, [rbp - 0x20]
mov ecx, 0x112
call fcn.180006420
lea rax, [rbp + 0x80]
mov qword [rbp - 0x50], rax
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
je 0x180051676
lea rax, [rbp + 0x80]
mov qword [rdx], rax
mov rdx, qword [rbp - 0x18]
add rdx, 8
mov qword [rbp - 0x18], rdx
jmp 0x180051687
lea r8, [rbp - 0x50]
lea rcx, [rbp - 0x20]
call fcn.180001230
mov rdx, qword [rbp - 0x18]
lea rax, [rbp + 0x50]
mov qword [rbp - 0x50], rax
cmp rdx, qword [rbp - 0x10]
je 0x1800516a3
lea rax, [rbp + 0x50]
mov qword [rdx], rax
add qword [rbp - 0x18], 8
jmp 0x1800516b0
lea r8, [rbp - 0x50]
lea rcx, [rbp - 0x20]
call fcn.180001230
mov eax, dword [0x180092140]
mov dword [rbp - 0x68], eax
lea r8, [rbp - 0x68]
mov edx, 0xcc
lea rcx, [rbp - 0x20]
call fcn.18004ea90
xor r8d, r8d
lea r11, [0x180092098]
mov r10d, 0x4445
mov r9d, 0x52
mov edx, 0x1bb
mov eax, dword [rbp - 0x78]
inc edi
mov dword [rbp - 0x58], edi
inc ebx
mov dword [rbp - 0x68], ebx
cmp edi, eax
jae case.0x180050f61.12
jmp 0x180050f40
call fcn.180077464
movdqa xmm0, xmmword [0x18008c030]
movdqu xmmword [rbp + 0x6a], xmm0
mov byte [rbp + 0x5a], 0
mov rdx, qword [rbp + 0xa2]
cmp rdx, 0x10
jb 0x18005175a
inc rdx
mov rcx, qword [rbp + 0x8a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180051755
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180051755
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180077464
movdqa xmm0, xmmword [0x18008c030]
movdqu xmmword [rbp + 0x9a], xmm0
mov byte [rbp + 0x8a], 0
lea rcx, [rbp + 0x250]
call fcn.180002e50
nop
lea rcx, [rbp + 0x1e0]
call fcn.180002f00
mov rax, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x580]
xor rcx, rsp
call fcn.180077c10
lea r11, [rsp + 0x740]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret