Function at 0x18003d690
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x238
mov rax, qword [0x1800623f8]
xor rax, rsp
mov qword [rsp + 0x228], rax
mov rax, qword [rsp + 0x260]
mov qword [rax], 0
mov rax, qword [rsp + 0x268]
mov qword [rax], 0
cmp qword [0x180065990], 0
jne 0x18003d733
lea rax, [rsp + 0x48]
lea rcx, [0x18005c240]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0x1835
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x60]
mov edx, 0xb
lea rcx, [rsp + 0x48]
call fcn.18003bca0
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x180065990], rax
cmp qword [0x1800659b0], 0
jne 0x18003d821
lea rax, [rsp + 0x90]
lea rcx, [0x18005c250]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x14
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0xec3
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x78]
mov edx, 0x13
lea rcx, [rsp + 0x90]
call fcn.18003bca0
lea rdx, [rsp + 0x78]
mov rcx, qword [0x180065990]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800659b0], rax
cmp qword [0x1800659b0], 0
jne 0x18003d821
mov dword [rsp + 0xac], 1
mov dword [rsp + 0xa8], 0x10
cmp dword [rsp + 0xa8], 0
jle 0x18003d81a
mov eax, dword [rsp + 0xa8]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18003d7fc
mov dword [rsp + 0xac], 4
mov eax, dword [rsp + 0xa8]
dec eax
mov dword [rsp + 0xa8], eax
jmp 0x18003d7ba
mov dword [rsp + 0xac], 0
mov eax, dword [rsp + 0xa8]
sub eax, 2
mov dword [rsp + 0xa8], eax
jmp 0x18003d7ba
xor eax, eax
jmp 0x18003e2df
cmp qword [0x1800659b8], 0
jne 0x18003d92a
lea rax, [rsp + 0xc8]
lea rcx, [0x18005c268]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x14
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0x1bd2
lea r9, [rsp + 0xe0]
lea r8, [rsp + 0xb0]
mov edx, 0x13
lea rcx, [rsp + 0xc8]
call fcn.18003bca0
lea rdx, [rsp + 0xb0]
mov rcx, qword [0x180065990]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800659b8], rax
cmp qword [0x1800659b8], 0
jne 0x18003d92a
mov dword [rsp + 0xe4], 5
mov dword [rsp + 0xe8], 4
mov eax, dword [rsp + 0xe8]
test eax, eax
jle 0x18003d923
mov eax, dword [rsp + 0xe8]
cmp eax, 1
jle 0x18003d8f2
mov eax, dword [rsp + 0xe4]
and eax, 0x1952
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xe8]
sub eax, 2
mov dword [rsp + 0xe8], eax
jmp 0x18003d8b5
mov eax, dword [rsp + 0xe4]
cmp eax, 0x806
jle 0x18003d911
mov eax, dword [rsp + 0xe4]
and eax, 0x7f
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xe8]
dec eax
mov dword [rsp + 0xe8], eax
jmp 0x18003d8b5
xor eax, eax
jmp 0x18003e2df
cmp qword [0x1800659d8], 0
jne 0x18003dab9
lea rax, [rsp + 0x110]
lea rcx, [0x18005c280]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x19
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0x1f9b
lea r9, [rsp + 0x108]
lea r8, [rsp + 0xf0]
mov edx, 0x18
lea rcx, [rsp + 0x110]
call fcn.18003bca0
lea rdx, [rsp + 0xf0]
mov rcx, qword [0x180065990]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800659d8], rax
cmp qword [0x1800659d8], 0
jne 0x18003dab9
mov dword [rsp + 0x130], 5
mov dword [rsp + 0x138], 4
mov eax, dword [rsp + 0x138]
test eax, eax
jle 0x18003da2c
mov eax, dword [rsp + 0x138]
cmp eax, 1
jle 0x18003d9fb
mov eax, dword [rsp + 0x130]
and eax, 0x1952
mov dword [rsp + 0x130], eax
mov eax, dword [rsp + 0x138]
sub eax, 2
mov dword [rsp + 0x138], eax
jmp 0x18003d9be
mov eax, dword [rsp + 0x130]
cmp eax, 0x806
jle 0x18003da1a
mov eax, dword [rsp + 0x130]
and eax, 0x7f
mov dword [rsp + 0x130], eax
mov eax, dword [rsp + 0x138]
dec eax
mov dword [rsp + 0x138], eax
jmp 0x18003d9be
mov dword [rsp + 0x13c], 5
mov dword [rsp + 0x134], 8
mov eax, dword [rsp + 0x134]
test eax, eax
jle 0x18003dab2
mov eax, dword [rsp + 0x134]
cmp eax, 1
jle 0x18003da7f
mov eax, dword [rsp + 0x13c]
and eax, 0xc22
mov dword [rsp + 0x13c], eax
mov eax, dword [rsp + 0x134]
sub eax, 2
mov dword [rsp + 0x134], eax
jmp 0x18003da42
mov eax, dword [rsp + 0x13c]
cmp eax, 0x80a
jle 0x18003daa0
mov eax, dword [rsp + 0x13c]
and eax, 0x83
mov dword [rsp + 0x13c], eax
mov eax, dword [rsp + 0x134]
dec eax
mov dword [rsp + 0x134], eax
jmp 0x18003da42
xor eax, eax
jmp 0x18003e2df
cmp qword [0x1800659c0], 0
jne 0x18003dc29
lea rax, [rsp + 0x148]
lea rcx, [0x18005c2a0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xe
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0xd45
lea r9, [rsp + 0x140]
lea r8, [rsp + 0x158]
mov edx, 0xd
lea rcx, [rsp + 0x148]
call fcn.18003bca0
lea rdx, [rsp + 0x158]
mov rcx, qword [0x180065990]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800659c0], rax
cmp qword [0x1800659c0], 0
jne 0x18003dc29
mov dword [rsp + 0x16c], 4
mov dword [rsp + 0x174], 0x11
cmp dword [rsp + 0x174], 0
jle 0x18003dbac
mov eax, dword [rsp + 0x174]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18003db8f
mov dword [rsp + 0x16c], 0
mov eax, dword [rsp + 0x174]
dec eax
mov dword [rsp + 0x174], eax
jmp 0x18003db4d
mov dword [rsp + 0x16c], 4
mov eax, dword [rsp + 0x174]
dec eax
mov dword [rsp + 0x174], eax
jmp 0x18003db4d
mov dword [rsp + 0x170], 7
mov dword [rsp + 0x168], 0x10
cmp dword [rsp + 0x168], 0
jle 0x18003dc22
mov eax, dword [rsp + 0x168]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18003dc05
mov dword [rsp + 0x170], 0
mov eax, dword [rsp + 0x168]
sub eax, 2
mov dword [rsp + 0x168], eax
jmp 0x18003dbc2
mov dword [rsp + 0x170], 0
mov eax, dword [rsp + 0x168]
dec eax
mov dword [rsp + 0x168], eax
jmp 0x18003dbc2
xor eax, eax
jmp 0x18003e2df
cmp qword [0x1800659c8], 0
jne 0x18003dd20
lea rax, [rsp + 0x178]
lea rcx, [0x18005c2b0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xe
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0x2693
lea r9, [rsp + 0x198]
lea r8, [rsp + 0x188]
mov edx, 0xd
lea rcx, [rsp + 0x178]
call fcn.18003bca0
lea rdx, [rsp + 0x188]
mov rcx, qword [0x180065990]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800659c8], rax
cmp qword [0x1800659c8], 0
jne 0x18003dd20
mov dword [rsp + 0x1a0], 0
mov dword [rsp + 0x19c], 0x15
cmp dword [rsp + 0x19c], 0
jle 0x18003dd19
mov eax, dword [rsp + 0x19c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18003dcfb
mov dword [rsp + 0x1a0], 4
mov eax, dword [rsp + 0x19c]
dec eax
mov dword [rsp + 0x19c], eax
jmp 0x18003dcb9
mov dword [rsp + 0x1a0], 0
mov eax, dword [rsp + 0x19c]
sub eax, 2
mov dword [rsp + 0x19c], eax
jmp 0x18003dcb9
xor eax, eax
jmp 0x18003e2df
cmp qword [0x1800659e8], 0
jne 0x18003dea1
lea rax, [rsp + 0x1a8]
lea rcx, [0x18005c2c0]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x12
rep movsb byte [rdi], byte [rsi]
mov dword [rsp + 0x20], 0x1e21
lea r9, [rsp + 0x1d8]
lea r8, [rsp + 0x1c0]
mov edx, 0x11
lea rcx, [rsp + 0x1a8]
call fcn.18003bca0
lea rdx, [rsp + 0x1c0]
mov rcx, qword [0x180065990]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1800659e8], rax
cmp qword [0x1800659e8], 0
jne 0x18003dea1
mov dword [rsp + 0x1e0], 5
mov dword [rsp + 0x1e8], 5
mov eax, dword [rsp + 0x1e8]
test eax, eax
jle 0x18003de24
mov eax, dword [rsp + 0x1e8]
cmp eax, 1
jle 0x18003ddf1
mov eax, dword [rsp + 0x1e0]
and eax, 0x9c1
mov dword [rsp + 0x1e0], eax
mov eax, dword [rsp + 0x1e8]
sub eax, 2
mov dword [rsp + 0x1e8], eax
jmp 0x18003ddb4
mov eax, dword [rsp + 0x1e0]
cmp eax, 0x807
jle 0x18003de12
mov eax, dword [rsp + 0x1e0]
and eax, 0x80
mov dword [rsp + 0x1e0], eax
mov eax, dword [rsp + 0x1e8]
dec eax
mov dword [rsp + 0x1e8], eax
jmp 0x18003ddb4
mov dword [rsp + 0x1e4], 4
mov dword [rsp + 0x1dc], 0x13
cmp dword [rsp + 0x1dc], 0
jle 0x18003de9a
mov eax, dword [rsp + 0x1dc]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18003de7c
mov dword [rsp + 0x1e4], 0
mov eax, dword [rsp + 0x1dc]
dec eax
mov dword [rsp + 0x1dc], eax
jmp 0x18003de3a
mov dword [rsp + 0x1e4], 0
mov eax, dword [rsp + 0x1dc]
sub eax, 2
mov dword [rsp + 0x1dc], eax
jmp 0x18003de3a
xor eax, eax
jmp 0x18003e2df
mov r8d, 0x80000000
xor edx, edx
mov rcx, qword [rsp + 0x250]
call qword [0x1800659b0]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x18003dfc8
mov dword [rsp + 0x1ec], 5
mov dword [rsp + 0x1f0], 4
mov eax, dword [rsp + 0x1f0]
test eax, eax
jle 0x18003df4c
mov eax, dword [rsp + 0x1f0]
cmp eax, 1
jle 0x18003df1b
mov eax, dword [rsp + 0x1ec]
and eax, 0x1952
mov dword [rsp + 0x1ec], eax
mov eax, dword [rsp + 0x1f0]
sub eax, 2
mov dword [rsp + 0x1f0], eax
jmp 0x18003dede
mov eax, dword [rsp + 0x1ec]
cmp eax, 0x806
jle 0x18003df3a
mov eax, dword [rsp + 0x1ec]
and eax, 0x7f
mov dword [rsp + 0x1ec], eax
mov eax, dword [rsp + 0x1f0]
dec eax
mov dword [rsp + 0x1f0], eax
jmp 0x18003dede
mov dword [rsp + 0x1f8], 7
mov dword [rsp + 0x1f4], 0x11
cmp dword [rsp + 0x1f4], 0
jle 0x18003dfc1
mov eax, dword [rsp + 0x1f4]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18003dfa4
mov dword [rsp + 0x1f8], 0
mov eax, dword [rsp + 0x1f4]
dec eax
mov dword [rsp + 0x1f4], eax
jmp 0x18003df62
mov dword [rsp + 0x1f8], 0
mov eax, dword [rsp + 0x1f4]
dec eax
mov dword [rsp + 0x1f4], eax
jmp 0x18003df62
xor eax, eax
jmp 0x18003e2df
mov rcx, qword [rsp + 0x38]
call qword [0x1800659d8]
test eax, eax
jne 0x18003e071
mov rcx, qword [rsp + 0x38]
call qword [0x1800659b8]
mov dword [rsp + 0x1fc], 2
mov dword [rsp + 0x200], 4
mov eax, dword [rsp + 0x200]
test eax, eax
jle 0x18003e06a
mov eax, dword [rsp + 0x200]
cmp eax, 1
jle 0x18003e039
mov eax, dword [rsp + 0x1fc]
and eax, 0x1176
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x200]
sub eax, 2
mov dword [rsp + 0x200], eax
jmp 0x18003dffc
mov eax, dword [rsp + 0x1fc]
cmp eax, 0x806
jle 0x18003e058
mov eax, dword [rsp + 0x1fc]
and eax, 0x7f
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x200]
dec eax
mov dword [rsp + 0x200], eax
jmp 0x18003dffc
xor eax, eax
jmp 0x18003e2df
mov rax, qword [rsp + 0x260]
mov rcx, qword [rsp + 0x38]
mov qword [rax], rcx
mov r9d, 0x80000000
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x258]
call qword [0x1800659c0]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x18003e136
mov dword [rsp + 0x204], 4
mov dword [rsp + 0x208], 3
mov eax, dword [rsp + 0x208]
test eax, eax
jle 0x18003e12f
mov eax, dword [rsp + 0x208]
cmp eax, 1
jle 0x18003e0fe
mov eax, dword [rsp + 0x204]
and eax, 0x1891
mov dword [rsp + 0x204], eax
mov eax, dword [rsp + 0x208]
sub eax, 2
mov dword [rsp + 0x208], eax
jmp 0x18003e0c1
mov eax, dword [rsp + 0x204]
cmp eax, 0x805
jle 0x18003e11d
mov eax, dword [rsp + 0x204]
and eax, 0x7e
mov dword [rsp + 0x204], eax
mov eax, dword [rsp + 0x208]
dec eax
mov dword [rsp + 0x208], eax
jmp 0x18003e0c1
xor eax, eax
jmp 0x18003e2df
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.USER32.dll_SetThreadDesktop]
test eax, eax
jne 0x18003e1d0
mov rcx, qword [rsp + 0x30]
call qword [0x1800659c8]
mov dword [rsp + 0x210], 5
mov dword [rsp + 0x20c], 0xf
cmp dword [rsp + 0x20c], 0
jle 0x18003e1c9
mov eax, dword [rsp + 0x20c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18003e1ac
mov dword [rsp + 0x210], 0
mov eax, dword [rsp + 0x20c]
dec eax
mov dword [rsp + 0x20c], eax
jmp 0x18003e16a
mov dword [rsp + 0x210], 4
mov eax, dword [rsp + 0x20c]
dec eax
mov dword [rsp + 0x20c], eax
jmp 0x18003e16a
xor eax, eax
jmp 0x18003e2df
mov rax, qword [rsp + 0x268]
mov rcx, qword [rsp + 0x30]
mov qword [rax], rcx
mov dword [rsp + 0x214], 5
mov dword [rsp + 0x220], 4
mov eax, dword [rsp + 0x220]
test eax, eax
jle 0x18003e264
mov eax, dword [rsp + 0x220]
cmp eax, 1
jle 0x18003e233
mov eax, dword [rsp + 0x214]
and eax, 0x1952
mov dword [rsp + 0x214], eax
mov eax, dword [rsp + 0x220]
sub eax, 2
mov dword [rsp + 0x220], eax
jmp 0x18003e1f6
mov eax, dword [rsp + 0x214]
cmp eax, 0x806
jle 0x18003e252
mov eax, dword [rsp + 0x214]
and eax, 0x7f
mov dword [rsp + 0x214], eax
mov eax, dword [rsp + 0x220]
dec eax
mov dword [rsp + 0x220], eax
jmp 0x18003e1f6
mov dword [rsp + 0x218], 8
mov dword [rsp + 0x21c], 0x11
cmp dword [rsp + 0x21c], 0
jle 0x18003e2da
mov eax, dword [rsp + 0x21c]
cdq
and eax, 1
xor eax, edx
sub eax, edx
cdqe
add rax, 4
cmp rax, 4
jbe 0x18003e2bc
mov dword [rsp + 0x218], 4
mov eax, dword [rsp + 0x21c]
dec eax
mov dword [rsp + 0x21c], eax
jmp 0x18003e27a
mov dword [rsp + 0x218], 4
mov eax, dword [rsp + 0x21c]
sub eax, 2
mov dword [rsp + 0x21c], eax
jmp 0x18003e27a
mov eax, 1
mov rcx, qword [rsp + 0x228]
xor rcx, rsp
call fcn.180049ea0
add rsp, 0x238
pop rdi
pop rsi
ret