Function at 0x1800050bc
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
mov rbp, rsp
sub rsp, 0x60
xor edx, edx
mov eax, 0x96a
mov dword [rbp - 0x20], edx
mov r8d, 0x722
mov dword [rbp - 8], eax
mov r9d, 0x1584
mov dword [rbp - 0x10], r8d
mov dword [rbp - 0x18], edx
mov dword [rbp - 4], eax
mov dword [rbp - 0x14], r9d
mov dword [rbp - 0x1c], r8d
mov dword [rbp - 0xc], 0xe88
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 4]
add ecx, 0x106a
cmp eax, ecx
je 0x180005133
xor dword [rbp - 0x18], 0x17c6
add dword [rbp - 0x18], 0xfffff65a
xor dword [rbp - 4], 0x1cee
add dword [rbp - 0x18], 0xfffffe26
add dword [rbp - 0x18], 0x92b
mov ecx, dword [rbp - 8]
mov eax, dword [rbp - 0xc]
xor ecx, 0x1eac
cmp eax, ecx
je 0x180005297
add dword [rbp - 0xc], 0xffffff98
mov ecx, 1
xor dword [rbp - 0xc], 0x1aa
add dword [rbp - 0x20], r9d
mov rax, qword [section..data]
mov dword [0x18015e014], edx
mov qword [0x18015e020], rdx
mov dword [0x18015e02c], ecx
mov dword [0x18015e038], 0x11
mov dword [0x18015e048], edx
mov dword [0x18015e058], edx
mov dword [rax + 0x50], edx
mov rax, qword [section..data]
mov dword [0x18015e06c], edx
mov dword [0x18015e074], edx
mov dword [rax + 0x6c], edx
mov rax, qword [section..data]
mov dword [0x18015e088], 0x12
mov dword [rax + 0x8c], 3
mov rax, qword [section..data]
mov dword [0x18015e0a4], ecx
mov dword [0x18015e0b4], 0x14
mov dword [rax + 0xb4], edx
mov rax, qword [section..data]
mov dword [0x18015e0ec], ecx
mov dword [0x18015e104], edx
mov dword [rax + 0xf8], edx
mov rax, qword [section..data]
mov dword [0x18015e110], ecx
mov dword [0x18015e118], ecx
mov dword [0x18015e11c], ecx
mov dword [0x18015e124], ecx
mov dword [0x18015e130], ecx
mov dword [0x18015e144], 0x47
mov dword [0x18015e154], edx
mov dword [0x18015e160], ecx
mov dword [rax + 0x15c], 0xa
mov rax, qword [section..data]
mov dword [rax + 0x168], edx
mov rax, qword [section..data]
mov dword [rax + 0x16c], edx
add dword [rbp - 0xc], 0x806
mov rax, qword [section..data]
cmp dword [rax + 0x28], 0x7d0c
je 0x18000527c
mov eax, dword [0x18015e048]
add eax, 0xdda09
mov dword [0x18015e0a4], eax
mov eax, dword [rbp - 0x18]
mov dword [rbp - 0x18], eax
add dword [rbp - 4], 0xfffffae6
xor dword [rbp - 0x14], 0x1ba4
add dword [rbp - 0x18], 0xfffffa19
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x14]
add ecx, 0xfffff6c2
cmp eax, ecx
jle 0x180005522
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x1c]
add ecx, 0x5e7
cmp eax, ecx
je 0x1800054c5
mov ecx, dword [rbp - 0x10]
mov edi, 0xf70
mov eax, dword [rbp - 0xc]
xor ecx, edi
cmp eax, ecx
je 0x18000533a
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x14]
add ecx, 0x5e7
cmp eax, ecx
jg 0x1800052e6
xor dword [rbp - 0xc], 0x56
jmp 0x18000533a
mov rax, qword [section..data]
mov ecx, dword [rax + 0x100]
and ecx, dword [rax + 0x64]
mov eax, dword [rbp - 0x10]
add ecx, eax
mov rax, qword [section..data]
cmp dword [rax + 0x64], ecx
jb 0x18000533a
mov ebx, dword [rbp - 0x20]
jmp 0x18000532e
mov rax, qword [section..data]
mov ecx, dword [rax + 0x14]
xor ecx, dword [0x18015e074]
xor ecx, 0x106a
or dword [rbp - 0x1c], ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
add ebx, 4
mov ecx, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x10]
and ecx, eax
cmp ebx, ecx
jge 0x18000530c
cmp dword [0x18015e144], 0x9fa8
mov rax, qword [section..data]
jb 0x180005361
mov ecx, dword [0x18015e110]
sub ecx, dword [rax + 0xa4]
mov dword [0x18015e11c], ecx
jmp 0x180005373
mov ecx, dword [rax + 0x168]
add ecx, 0x119043
xor dword [0x18015e09c], ecx
add dword [rbp - 0xc], 0xfffff6c2
mov rcx, qword [section..data]
mov eax, dword [rcx + 0xdc]
xor eax, dword [rcx + 4]
xor eax, 0xa71cf
mov dword [rcx + 0xf8], eax
mov ecx, dword [rbp - 0xc]
mov eax, dword [rbp - 0x20]
add ecx, 0x6e9
cmp eax, ecx
jle 0x180005522
mov ecx, dword [rbp - 0xc]
mov eax, dword [rbp - 0x1c]
add ecx, 0x93e
cmp eax, ecx
je 0x1800053ff
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp - 0x1c]
xor ecx, 0xb64
cmp eax, ecx
je 0x180005522
add dword [rbp - 8], 0x4b6
add dword [rbp - 0x20], 0x20c
add dword [rbp - 0x14], 0xfffffa32
xor dword [rbp - 0x1c], edi
xor dword [rbp - 0xc], 0x1b0c
xor dword [rbp - 0x20], 0x18ab
add dword [rbp - 0x10], 0x6fe
jmp 0x180005522
mov rax, qword [section..data]
mov ecx, dword [0x18015e05c]
imul ecx, dword [0x18015e068]
or ecx, dword [rax + 0x108]
mov eax, dword [rbp - 0x20]
cmp eax, ecx
jne 0x180005449
mov ecx, dword [0x18015e150]
mov eax, 0xf3b
or ecx, eax
sub ecx, eax
mov eax, dword [rbp - 0x1c]
imul eax, ecx
mov dword [rbp - 0x1c], eax
mov eax, dword [0x18015e024]
and eax, 0xe88
sub dword [0x18015e178], eax
mov eax, dword [rbp - 0x20]
mov ecx, dword [0x18015e168]
sub ecx, dword [0x18015e038]
sub ecx, eax
cmp dword [0x18015e0a0], ecx
jne 0x180005522
mov ecx, dword [rbp - 0x1c]
mov rax, qword [section..data]
and ecx, 0xca9
or dword [rax + 0x4c], ecx
mov ecx, dword [rbp - 8]
mov rax, qword [section..data]
xor ecx, dword [rax + 0x134]
sub ecx, dword [0x18015e178]
xor dword [0x18015e154], ecx
mov ecx, dword [rbp - 0x14]
mov eax, dword [rbp - 0x10]
or ecx, eax
sub ecx, 0x111d
movsxd rcx, ecx
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov ecx, dword [0x18015e0c4]
xor ecx, dword [0x18015e060]
mov eax, dword [rbp - 0x10]
sub ecx, eax
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x180005522
mov ecx, dword [rbp - 0x14]
mov eax, dword [rbp - 0x18]
sub ecx, eax
mov rdx, qword [section..data]
mov eax, dword [rdx + 0x150]
imul eax, ecx
mov ecx, dword [0x18015e118]
imul ecx, eax
mov eax, dword [rbp - 0x1c]
mov dword [0x18015e118], ecx
xor eax, dword [rdx + 0x108]
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 4]
xor eax, r8d
or dword [rbp - 0x14], eax
mov ecx, dword [rbp - 0x14]
mov eax, dword [rbp - 4]
or ecx, eax
mov eax, dword [rbp - 0x1c]
xor eax, ecx
or dword [rbp - 0x14], eax
movsxd rax, dword [rbp - 0x18]
movsxd rcx, dword [rbp - 8]
and rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x20]
cmp ecx, eax
jle 0x180005a1c
mov ecx, dword [rbp - 8]
mov eax, dword [rbp - 4]
add ecx, 0x2fd
cmp eax, ecx
je 0x180005819
mov ecx, dword [rbp - 8]
mov eax, dword [rbp - 0x1c]
add ecx, 0xfffff803
cmp eax, ecx
je 0x180005620
mov eax, dword [0x18015e060]
mov r8d, 0x457
mov rcx, qword [section..data]
add eax, 0xc5f9c
xor dword [rcx + 0x14], eax
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x94]
xor eax, dword [rcx + 0x8c]
xor eax, 0x1f43d3
mov dword [rcx + 0x8c], eax
add dword [rbp - 0x14], r8d
add dword [rbp - 0x1c], 0xfffffed0
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x10], eax
mov rax, qword [section..data]
cmp dword [rax + 0x120], 0x16fb2
jae 0x1800055c5
imul eax, dword [0x18015e0a4], 0x7e210
mov dword [0x18015e0a4], eax
mov ecx, dword [rbp - 0x14]
mov edx, dword [rbp - 0x14]
sub ecx, 0x33f
sub edx, r8d
mov r8d, dword [rbp - 4]
mov r9d, dword [rbp - 0x18]
xor r8d, 0x1fe0
mov eax, dword [rbp - 0x10]
xor r9d, 0x7d8
sub eax, 0x4b6
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r9d
lea r9, [0x18015e010]
call fcn.18000609c
mov dword [rbp - 0xc], eax
mov dword [0x18015e094], 0x83b
add dword [rbp - 8], 0xfffffe89
jmp 0x180005730
mov rax, qword [section..data]
mov edi, dword [rax + 0x12c]
jmp 0x18000571a
imul ecx, dword [0x18015e074], 0xe20
mov eax, dword [rbp - 0x20]
cmp eax, ecx
ja 0x18000569e
mov eax, dword [rbp - 0x14]
mov edx, 0x1467
mov ecx, dword [0x18015e104]
mov r9d, 0x1382
imul ecx, dword [0x18015e080]
mov r8d, 0x3258
add eax, ecx
xor dword [rbp - 0x20], eax
mov ecx, dword [rbp - 0x14]
mov eax, dword [rbp - 8]
add ecx, eax
or dword [rbp - 0x20], ecx
mov ecx, 0x28a8
call fcn.180002f10
mov byte [0x180397c6a], al
mov eax, dword [rbp - 8]
mov ecx, dword [0x18015e024]
and rcx, rax
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
jmp 0x180005710
mov eax, dword [rbp - 0x1c]
movsxd rdx, dword [rbp - 0x20]
sub eax, 0xca9
mov r8d, dword [rbp - 0xc]
xor rdx, 0xca9
mov r9d, dword [rbp - 0x10]
mov r10d, dword [rbp - 0x1c]
mov ecx, dword [0x18015e150]
movsxd rbx, eax
add ecx, 0xfffff178
mov eax, dword [0x18015e120]
xor r9, rcx
and r8, rax
mov rcx, rbx
mov eax, dword [rbp - 0x1c]
imul r10d, eax
mov eax, dword [0x18015e074]
imul r11d, r10d, 0x96a
mov r10d, dword [0x18015e110]
xor r10, 0xc46
or r10, rax
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], r11d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rax, qword [section..data]
add edi, 3
mov ecx, dword [rbp - 8]
sub ecx, dword [rax + 0x120]
mov eax, dword [rbp - 0x18]
or eax, ecx
cmp edi, eax
jae 0x180005632
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp - 8]
add ecx, 0x9a6
cmp eax, ecx
jge 0x180005819
mov ecx, dword [rbp - 0x14]
mov eax, dword [rbp - 0x10]
add ecx, 0xb1d
cmp eax, ecx
je 0x1800057bf
mov ecx, dword [rbp - 0x10]
mov eax, dword [rbp - 0x14]
add ecx, 0x970
cmp eax, ecx
jg 0x180005819
add dword [rbp - 0x20], 0xfffff917
add dword [rbp - 0x20], 0x738
mov rcx, qword [section..data]
mov eax, dword [rcx + 4]
cmp dword [rcx + 0x50], eax
je 0x180005797
imul eax, dword [0x18015e088], 0x11f84
mov dword [0x18015e088], eax
jmp 0x1800057af
mov ecx, dword [0x18015e094]
add ecx, 0x64f3e89b
add ecx, dword [0x18015e130]
mov dword [0x18015e094], ecx
xor dword [rbp - 0x20], 0xb1
xor dword [rbp - 0x10], 0x19e6
jmp 0x180005819
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x58]
and eax, dword [0x18015e0c0]
cmp dword [rcx + 0xf4], eax
jae 0x180005819
mov edx, dword [rbp - 0x20]
jmp 0x18000580d
mov eax, dword [rbp - 0x18]
xor eax, dword [0x18015e024]
sub dword [rbp - 0x1c], eax
mov ecx, dword [rbp - 0xc]
mov eax, dword [rbp - 4]
or ecx, eax
mov rax, qword [section..data]
mov dword [rax + 0x134], ecx
mov eax, dword [rbp - 0x18]
imul eax, dword [0x18015e0ec]
add dword [rbp - 8], eax
add edx, 2
mov ecx, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x10]
or ecx, eax
cmp edx, ecx
jne 0x1800057dc
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x14]
add ecx, 0xfffffe96
cmp eax, ecx
je 0x180005a1c
mov ecx, dword [rbp - 0x10]
mov ebx, 0x454
mov eax, dword [rbp - 0x1c]
add ecx, 0xfffff08c
cmp eax, ecx
jge 0x1800059a0
mov ecx, dword [rbp - 0xc]
mov eax, dword [rbp - 0x1c]
add ecx, 0xfffffb99
cmp eax, ecx
jg 0x18000593d
xor dword [rbp - 0x20], 0xb1
lea rax, [0x1801d8890]
mov qword [0x18015e0d8], rax
add dword [rbp - 0x1c], 0xe62
mov eax, dword [rbp - 0x20]
mov dword [rbp - 0x20], eax
add dword [rbp - 0x1c], 0x20c
mov ecx, dword [rbp - 0x1c]
mov edx, dword [rbp - 0x14]
sub ecx, 0x970
mov r8d, dword [rbp - 4]
sub edx, 0x686
mov r9d, dword [rbp - 4]
xor r8d, 0x1fe0
mov r10d, dword [rbp - 8]
xor r9d, 0x1ee2
mov eax, dword [rbp - 0x18]
add r10d, 0x3c1
mov r11, qword [section..data]
sub eax, 0x4f
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x20], r11
call fcn.180004c68
mov dword [rbp - 0xc], eax
add dword [rbp - 0x14], 0x474
add dword [rbp - 0x18], 0x5fa
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x5c]
cmp dword [rcx + 0x16c], eax
jbe 0x180005909
mov rax, qword [0x18015e0f8]
mov qword [rcx + 0xc0], rax
jmp 0x180005923
mov eax, dword [rcx + 0x15c]
mov ecx, dword [0x18015e07c]
xor eax, 0x881
imul ecx, eax
mov dword [0x18015e07c], ecx
add dword [rbp - 0x14], ebx
xor dword [rbp - 4], 0x7ac
add dword [rbp - 0x10], 0xfffff08c
add dword [rbp - 0x20], 0x83c
jmp 0x1800059a0
mov ecx, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x20]
and ecx, eax
mov rax, qword [section..data]
cmp dword [rax + 0x28], ecx
ja 0x1800059a0
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x10]
imul ecx, eax
mov eax, dword [rbp - 8]
imul eax, ecx
mov dword [rbp - 0x18], eax
mov rax, qword [section..data]
mov ecx, dword [rax + 0x8c]
mov eax, dword [rbp - 0x1c]
mov edx, dword [rbp - 0x18]
add eax, 0x96a
add ecx, dword [0x18015e17c]
add ecx, eax
mov eax, dword [rbp - 8]
or edx, eax
mov dword [0x18015e17c], ecx
mov rax, qword [section..data]
mov eax, dword [rax + 0xa0]
add eax, edx
or dword [rbp - 0x14], eax
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x10]
add ecx, 0xfffff4e3
cmp eax, ecx
je 0x180005a1c
xor dword [rbp - 0x20], 0x19e6
lea r8, [0x18015cf10]
add dword [rbp - 0x20], 0x764
xor dword [rbp - 0x1c], 0x68d
add dword [rbp - 0x1c], ebx
add dword [rbp - 0x20], 0xfffff6c2
mov rax, qword [section..data]
mov rdx, qword [rax + 0x118]
mov ecx, dword [rax + 0x154]
call qword [0x18015e0d0]
mov dword [0x18015e114], eax
add dword [rbp - 0xc], 0xffffff9d
mov eax, dword [rbp - 8]
mov dword [rbp - 8], eax
xor dword [rbp - 0xc], 0x37d
add dword [rbp - 0xc], 0x88b
add dword [rbp - 0x10], 0x3f4
xor dword [rbp - 0x10], 0x1bd6
mov eax, dword [0x18015e114]
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x60
pop rbp
ret