Function at 0x18000e020
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x148
mov rax, qword [0x1800c6160]
mov word [rsp + 0xa0], ax
movzx eax, byte [0x1800c608f]
mov byte [rsp + 2], al
movzx eax, byte [0x1800c6026]
mov byte [rsp + 0x10], al
movzx eax, byte [0x1800c608c]
mov byte [rsp + 9], al
mov rax, qword [0x1800c6128]
mov qword [rsp + 0xf8], rax
movzx eax, byte [0x1800c6184]
mov byte [rsp + 0x34], al
mov dword [rsp + 0x30], 0xaa9a8971
movabs rax, 0x5702ba710f91b
mov qword [rsp + 0x28], rax
movabs rax, 0xbcd6c00b779ab
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x108], 0xa2ec30a5
movzx eax, word [0x1800c6158]
mov dword [rsp + 0xc], eax
mov eax, 0xb8b7
mov word [rsp + 4], ax
mov eax, dword [0x1800c60e0]
mov dword [rsp + 0x1c], eax
mov eax, 0xffffa05a
mov word [rsp + 0x18], ax
mov byte [rsp + 3], 0x3a
mov eax, 0xaf00
mov word [rsp + 0x14], ax
mov rax, qword [0x1800c6100]
mov byte [rsp + 8], al
mov byte [rsp + 0x35], 0x9e
mov dword [rsp + 0x20], 0x96
mov eax, dword [0x1800c60d4]
cdqe
mov qword [rsp + 0xd8], rax
movsx rax, word [0x1800c6138]
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0xb4], 0xb78e
mov byte [rsp + 1], 0x61
movzx eax, word [0x1800c6108]
mov word [rsp + 0xa4], ax
mov dword [rsp + 0x10c], 0x142d
movzx eax, word [0x1800c6184]
mov word [rsp + 0xa8], ax
movzx eax, byte [str.oswprintf_s]
movsx eax, al
mov dword [rsp + 0x110], eax
mov eax, 0xff2d
mov word [rsp + 0xac], ax
mov eax, 0xa2ab7c38
mov qword [rsp + 0x128], rax
mov byte [rsp + 0x36], 0xf1
mov rax, qword [0x1800c6128]
mov qword [rsp + 0x130], rax
movzx eax, word [0x1800c613c]
mov word [rsp + 0xb0], ax
movzx eax, byte [0x1800c6027]
movzx eax, al
mov word [rsp + 0xc8], ax
movzx eax, byte [0x1800c60fc]
mov byte [rsp + 0x37], al
movzx eax, byte [0x1800c613c]
mov byte [rsp + 0x38], al
movzx eax, byte [0x1800c608f]
movzx eax, al
mov word [rsp + 0xc4], ax
mov dword [rsp + 0x114], 0x1a
mov eax, dword [0x1800c60f8]
mov dword [rsp + 0x118], eax
mov byte [rsp + 0x39], 0x37
movzx eax, word [0x1800c60e4]
cwde
cmp eax, dword [0x1800c6074]
jne 0x18000e2c9
movzx eax, byte [0x1800c6026]
sub eax, 0x200ab156
mov byte [0x1800c608b], al
movzx eax, word [rsp + 4]
movzx eax, ax
test eax, eax
jne 0x18000e235
mov qword [rsp + 0xe8], 1
jmp 0x18000e241
mov qword [rsp + 0xe8], 0
mov rax, qword [0x1800c6198]
mov rcx, qword [rsp + 0xe8]
imul rcx, rax
mov rax, rcx
movzx ecx, word [0x1800c6174]
movzx ecx, cx
mov rdx, qword [rsp + 0xd8]
add rdx, rax
mov rax, rdx
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x18000e284
mov dword [rsp + 0x70], 1
jmp 0x18000e28c
mov dword [rsp + 0x70], 0
movzx eax, byte [rsp + 0x10]
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov eax, ecx
imul eax, dword [rsp + 0x30]
test eax, eax
jne 0x18000e2ac
mov dword [rsp + 0x6c], 1
jmp 0x18000e2b4
mov dword [rsp + 0x6c], 0
mov eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
cdqe
mov qword [0x1800c6188], rax
mov eax, dword [0x1800c78a0]
mov dword [rsp + 0x3c], eax
movzx eax, word [0x1800c6184]
cmp qword [0x1800c6130], rax
jge 0x18000e2f6
xor eax, eax
cmp eax, 0x896c
je 0x18000e2f6
mov dword [rsp + 0x74], 1
jmp 0x18000e2fe
mov dword [rsp + 0x74], 0
cmp dword [rsp + 0x74], 0xe0491998
jb 0x18000e32b
mov eax, dword [rsp + 0x1c]
mov eax, eax
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
jmp 0x18000e364
cmp qword [0x1800c6128], 0
ja 0x18000e364
movzx eax, word [rsp + 4]
movzx eax, ax
sub rax, qword [rsp + 0xe0]
mov ecx, dword [rsp + 0x30]
imul rax, rcx
mov dword [0x1800c615c], eax
mov eax, dword [rsp + 0xb4]
sub eax, 0xc5
mov word [rsp + 4], ax
mov eax, dword [rsp + 0x3c]
add eax, 0x4bf
mov dword [rsp + 0x11c], eax
movzx eax, word [0x1800c6120]
movzx eax, ax
mov eax, dword [rsp + 0x3c]
add eax, 0x409
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x28], 2
movzx eax, byte [rsp + 3]
mov ecx, dword [0x1800c60dc]
sub ecx, eax
mov eax, ecx
mov dword [0x1800c60dc], eax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xd0], rax
cmp qword [rsp + 0xd0], 0
je 0x18000e3d9
cmp qword [rsp + 0xd0], 1
je 0x18000e41c
cmp qword [rsp + 0xd0], 2
je 0x18000e432
jmp 0x18000e451
mov rax, qword [0x1800c6178]
add rax, 0x4fb29b83
mov rcx, qword [0x1800c6150]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c6150], rax
mov rax, qword [0x1800c6168]
imul rax, rax, 0xea3e
movzx ecx, byte [rsp + 2]
movzx ecx, cl
sub rcx, rax
mov rax, rcx
mov byte [rsp + 2], al
jmp 0x18000e451
mov eax, dword [rsp + 0x1c]
sub eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x1c]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x1c], eax
jmp 0x18000e451
movzx eax, word [0x1800c6140]
movzx eax, ax
mov ecx, dword [rsp + 0xc]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xc]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0x3c]
add eax, 0x40b
mov dword [rsp + 0x90], eax
movzx eax, word [rsp + 0x14]
mov rcx, qword [0x1800c6130]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c6130], rax
mov eax, dword [0x1800c78a0]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 1]
movzx eax, al
mov ecx, dword [rsp + 0x20]
add eax, ecx
mov byte [rsp + 1], al
movzx eax, word [0x1800c6110]
mov word [0x1800c6184], ax
mov eax, dword [rsp + 0x40]
add eax, 0x447
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0x40]
add eax, 0x642
mov dword [rsp + 0xb8], eax
movzx eax, byte [rsp + 8]
test eax, eax
je 0x18000e4d2
jmp 0x18000e572
mov eax, dword [0x1800c613c]
cmp qword [0x1800c6110], rax
jg 0x18000e528
mov eax, 1
imul rax, rax, 0xa6
lea rcx, [0x18010a400]
movzx eax, byte [rcx + rax]
mov qword [rsp + 0x50], rax
movzx eax, byte [rsp + 8]
movabs rcx, 0x3255771046e53
imul rax, rcx
mov rcx, qword [rsp + 0xd8]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xd8], rax
jmp 0x18000e572
mov eax, dword [rsp + 0x20]
test eax, eax
je 0x18000e55b
movzx eax, word [0x1800c6140]
movzx eax, ax
add eax, 0x3c
cdqe
mov qword [0x1800c6130], rax
mov eax, dword [rsp + 0x1c]
add eax, 0x33970720
mov eax, eax
mov qword [rsp + 0xf8], rax
jmp 0x18000e572
movzx eax, word [rsp + 4]
movzx eax, ax
test eax, eax
je 0x18000e572
mov eax, dword [rsp + 0x30]
shr eax, 1
mov word [rsp + 0x18], ax
mov eax, dword [rsp + 0x40]
add eax, 0x353
mov dword [rsp + 0x120], eax
movzx eax, byte [rsp + 3]
test eax, eax
je 0x18000e69b
mov rax, qword [0x1800c6110]
cmp qword [rsp + 0x50], rax
jne 0x18000e5a7
mov dword [rsp + 0x7c], 1
jmp 0x18000e5af
mov dword [rsp + 0x7c], 0
cmp qword [rsp + 0x50], 0xd
jne 0x18000e5c1
mov dword [rsp + 0x78], 1
jmp 0x18000e5c9
mov dword [rsp + 0x78], 0
mov eax, dword [rsp + 0x78]
cmp dword [rsp + 0x7c], eax
jge 0x18000e60e
movsx eax, byte [0x1800c6066]
test eax, eax
je 0x18000e5ed
mov eax, dword [0x1800c60dc]
mov dword [rsp + 0x80], eax
jmp 0x18000e5fc
movzx eax, word [rsp + 4]
movzx eax, ax
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
mov dword [0x1800c613c], eax
jmp 0x18000e699
movzx eax, word [0x1800c6158]
movzx ecx, word [0x1800c6120]
movzx ecx, cx
not ecx
cmp eax, ecx
jl 0x18000e632
mov dword [rsp + 0x88], 1
jmp 0x18000e63d
mov dword [rsp + 0x88], 0
cmp qword [rsp + 0xe0], 0
jne 0x18000e65d
mov eax, dword [rsp + 0x20]
test eax, eax
jne 0x18000e65d
mov dword [rsp + 0x84], 0
jmp 0x18000e668
mov dword [rsp + 0x84], 1
mov eax, dword [rsp + 0x84]
not eax
cmp dword [rsp + 0x88], eax
jne 0x18000e699
movzx eax, word [rsp + 0x14]
sub rax, qword [0x1800c6150]
mov qword [0x1800c6130], rax
movsx eax, word [rsp + 0x18]
sar eax, 3
mov dword [rsp + 0x1c], eax
jmp 0x18000e6a5
mov eax, dword [0x1800c78a0]
mov dword [rsp + 0xc], eax
mov eax, dword [0x1800c78a0]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
add eax, 0x319
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x18000e6e1
movzx eax, byte [0x1800c608f]
movzx eax, al
sub eax, 0xdb4b
mov word [0x1800c60e8], ax
jmp 0x18000e714
cmp dword [0x1800c60e0], 0
je 0x18000e6f8
movzx eax, word [rsp + 0x14]
mov dword [rsp + 0x8c], eax
jmp 0x18000e705
mov eax, dword [0x1800c60f8]
mov dword [rsp + 0x8c], eax
movsxd rax, dword [rsp + 0x8c]
mov qword [0x1800c6188], rax
mov eax, dword [rsp + 0x44]
add eax, 0x3d6
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0x44]
add eax, 0x377
mov dword [rsp + 0x94], eax
mov qword [rsp + 0x50], 1
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xf0], rax
cmp qword [rsp + 0xf0], 0
je 0x18000e762
cmp qword [rsp + 0xf0], 1
je 0x18000e774
jmp 0x18000e797
mov rax, qword [0x1800c6150]
add rax, 0x47
mov qword [rsp + 0x28], rax
jmp 0x18000e797
mov eax, dword [0x1800c6190]
mov eax, eax
sub rax, qword [0x1800c6108]
mov ecx, dword [0x1800c6190]
mov ecx, ecx
add rcx, rax
mov rax, rcx
mov dword [0x1800c6190], eax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 1
movzx eax, byte [rax + rcx]
mov byte [rsp], al
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 1
mov edx, 4
imul rdx, rdx, 0
mov r8, qword [rsp + 0x150]
add r8, rdx
mov rdx, r8
mov r8d, 1
imul r8, r8, 1
movzx eax, byte [rax + rcx]
mov byte [rdx + r8], al
movzx eax, word [0x1800c6144]
mov word [0x1800c60e8], ax
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 1
movzx eax, byte [rax + rcx]
mov ecx, dword [rsp + 0x48]
mov edx, dword [rsp + 0x48]
xor ecx, edx
imul ecx, ecx, 0
mov edx, dword [rsp + 0x90]
xor edx, 0x69
mov r8d, dword [rsp + 0x48]
mov r9d, dword [rsp + 0x90]
imul r8d, r9d
sub edx, r8d
imul ecx, edx
sub eax, ecx
mov ecx, 4
imul rcx, rcx, 1
mov rdx, qword [rsp + 0x150]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 1
mov byte [rcx + rdx], al
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 1
mov edx, 4
imul rdx, rdx, 2
mov r8, qword [rsp + 0x150]
add r8, rdx
mov rdx, r8
mov r8d, 1
imul r8, r8, 1
movzx eax, byte [rax + rcx]
mov byte [rdx + r8], al
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 1
movzx edx, byte [rsp]
mov byte [rax + rcx], dl
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 2
movzx eax, byte [rax + rcx]
mov byte [rsp], al
movzx eax, word [0x1800c60e4]
cwde
sar eax, 5
mov word [0x1800c6158], ax
movzx eax, byte [rsp + 1]
movzx eax, al
sar eax, 6
mov dword [0x1800c6190], eax
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 2
movzx eax, byte [rax + rcx]
mov ecx, dword [rsp + 0xb8]
mov edx, dword [rsp + 0xbc]
xor ecx, edx
imul ecx, ecx, 0
sub eax, ecx
mov ecx, 4
imul rcx, rcx, 0
mov rdx, qword [rsp + 0x150]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 2
mov byte [rcx + rdx], al
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 2
movzx edx, byte [rsp]
mov byte [rax + rcx], dl
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 2
movzx eax, byte [rax + rcx]
mov byte [rsp], al
movsx rax, word [rsp + 0x18]
add rax, qword [rsp + 0xe0]
movzx ecx, word [0x1800c614c]
movsx rcx, cx
mov rdx, qword [rsp + 0x28]
and rcx, rdx
mov rdx, qword [rsp + 0x50]
lea rcx, [rdx + rcx - 0x6a1e]
add rax, rcx
not rax
mov dword [rsp + 0xc], eax
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 2
mov edx, 4
imul rdx, rdx, 1
mov r8, qword [rsp + 0x150]
add r8, rdx
mov rdx, r8
mov r8d, 1
imul r8, r8, 2
movzx eax, byte [rax + rcx]
mov byte [rdx + r8], al
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 2
movzx edx, byte [rsp]
mov byte [rax + rcx], dl
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 3
movzx eax, byte [rax + rcx]
mov byte [rsp], al
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 3
mov edx, 4
imul rdx, rdx, 0
mov r8, qword [rsp + 0x150]
add r8, rdx
mov rdx, r8
mov r8d, 1
imul r8, r8, 3
movzx eax, byte [rax + rcx]
mov byte [rdx + r8], al
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 3
mov edx, 4
imul rdx, rdx, 3
mov r8, qword [rsp + 0x150]
add r8, rdx
mov rdx, r8
mov r8d, 1
imul r8, r8, 3
movzx eax, byte [rax + rcx]
mov byte [rdx + r8], al
mov eax, dword [0x1800c6190]
sub eax, 0xe0
mov eax, eax
mov qword [0x1800c6130], rax
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 3
movzx eax, byte [rax + rcx]
mov ecx, dword [rsp + 0xc0]
mov edx, dword [rsp + 0xcc]
imul ecx, edx
mov edx, dword [rsp + 0x94]
mov r8d, dword [rsp + 0x94]
xor edx, r8d
imul ecx, edx
sub eax, ecx
mov ecx, 4
imul rcx, rcx, 2
mov rdx, qword [rsp + 0x150]
add rdx, rcx
mov rcx, rdx
mov edx, 1
imul rdx, rdx, 3
mov byte [rcx + rdx], al
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x150]
add rcx, rax
mov rax, rcx
mov ecx, 1
imul rcx, rcx, 3
movzx edx, byte [rsp]
mov byte [rax + rcx], dl
mov eax, dword [rsp + 0xc]
movzx ecx, word [rsp + 4]
movzx ecx, cx
cmp eax, ecx
ja 0x18000ec18
mov dword [rsp + 0x9c], 1
jmp 0x18000ec23
mov dword [rsp + 0x9c], 0
mov eax, dword [rsp + 0xc]
cmp eax, 0x56
ja 0x18000ec39
mov dword [rsp + 0x98], 1
jmp 0x18000ec44
mov dword [rsp + 0x98], 0
mov eax, dword [rsp + 0x98]
cmp dword [rsp + 0x9c], eax
je 0x18000ed30
mov eax, dword [rsp + 0xc]
test eax, eax
jne 0x18000ec6a
mov dword [rsp + 0x58], 1
jmp 0x18000ec72
mov dword [rsp + 0x58], 0
movsx eax, word [0x1800c6144]
cmp dword [rsp + 0x58], eax
jl 0x18000ec91
mov eax, dword [rsp + 0xc]
test eax, eax
jne 0x18000ec91
mov dword [rsp + 0x64], 0
jmp 0x18000ec99
mov dword [rsp + 0x64], 1
mov eax, dword [0x1800c6148]
cdqe
movabs rcx, 0xf4cf4377d945c
cmp rax, rcx
jne 0x18000ecba
mov dword [rsp + 0x5c], 1
jmp 0x18000ecc2
mov dword [rsp + 0x5c], 0
movzx eax, byte [0x1800c6073]
not eax
cmp dword [rsp + 0x5c], eax
jl 0x18000ecdb
mov dword [rsp + 0x60], 1
jmp 0x18000ece3
mov dword [rsp + 0x60], 0
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0x64], eax
je 0x18000ecfa
mov eax, dword [0x1800c78a0]
mov qword [rsp + 0x28], rax
jmp 0x18000ed2b
movzx eax, byte [rsp + 2]
movzx eax, al
test eax, eax
je 0x18000ed2b
movzx eax, byte [rsp + 9]
imul eax, eax, 0x2e11
mov word [0x1800c6120], ax
mov rax, qword [rsp + 0xf8]
sub rax, 0x2b
mov word [0x1800c60d8], ax
jmp 0x18000edb1
movzx eax, byte [rsp + 9]
not eax
movsx ecx, word [0x1800c6138]
not ecx
cmp eax, ecx
jge 0x18000ed4e
mov dword [rsp + 0x68], 1
jmp 0x18000ed56
mov dword [rsp + 0x68], 0
movzx eax, byte [0x1800c608e]
movzx eax, al
movzx ecx, byte [0x1800c6026]
xor eax, ecx
cmp dword [rsp + 0x68], eax
jl 0x18000edb1
movzx eax, byte [rsp + 3]
test eax, eax
je 0x18000ed8c
movzx eax, word [0x1800c6120]
movzx eax, ax
mov qword [rsp + 0x100], rax
jmp 0x18000ed9b
mov rax, qword [0x1800c6160]
mov qword [rsp + 0x100], rax
movzx eax, byte [rsp + 0x100]
mov byte [str.oswprintf_s], al
mov dword [rsp + 0x1c], 8
xor eax, eax
add rsp, 0x148
ret