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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x320
mov rax, qword [0x18012a020]
xor rax, rsp
mov qword [rsp + 0x310], rax
mov edx, 0x18
lea rcx, [rsp + 0x2e8]
call fcn.18001a720
mov rdx, qword [rsp + 0x330]
lea rcx, [rsp + 0x2c8]
call fcn.180043800
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x140], rax
mov rdx, qword [rsp + 0x140]
lea rcx, [rsp + 0x2e8]
call fcn.180044c30
mov qword [rsp + 0x260], rax
lea rcx, [rsp + 0x2c8]
call fcn.1800274c0
call fcn.1800034c0
mov byte [rsp + 0x22], al
call fcn.180003490
mov byte [rsp + 0x21], al
call fcn.180003480
mov byte [rsp + 0x20], al
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0x98], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
movsx edx, byte [rsp + 0x20]
movsx r8d, byte [rsp + 0x21]
imul r8d, r8d, 7
imul r8d, edx
mov edx, r8d
movsx r8d, byte [rsp + 0x22]
movzx r9d, byte [0x18012ac4f]
movsx r9d, r9b
add r9d, r8d
mov r8d, r9d
add r8d, edx
mov edx, r8d
mov dword [rsp + 0x94], edx
xor edx, edx
mov r8d, dword [rsp + 0x94]
mov eax, r8d
div ecx
mov ecx, dword [rsp + 0x98]
sub eax, ecx
test eax, eax
je 0x180046ed2
lea rcx, [rsp + 0x2e8]
call fcn.180050b90
test rax, rax
ja 0x180046c53
mov qword [rsp + 0x130], 1
jmp 0x180046c5f
mov qword [rsp + 0x130], 0
cvtsi2sd xmm0, qword [rsp + 0x130]
call fcn.180042720
mov dword [rsp + 0xa4], eax
call fcn.1800034c0
mov byte [rsp + 0x25], al
call fcn.180003490
mov byte [rsp + 0x24], al
call fcn.180003480
mov byte [rsp + 0x23], al
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0xa0], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
movsx edx, byte [rsp + 0x23]
movsx r8d, byte [rsp + 0x24]
shl r8d, 3
imul r8d, edx
mov edx, r8d
movsx r8d, byte [rsp + 0x25]
movzx r9d, byte [0x18012ac4f]
movsx r9d, r9b
add r9d, r8d
mov r8d, r9d
add r8d, edx
mov edx, r8d
mov dword [rsp + 0x9c], edx
xor edx, edx
mov r8d, dword [rsp + 0x9c]
mov eax, r8d
div ecx
mov ecx, dword [rsp + 0xa0]
sub eax, ecx
mov ecx, dword [rsp + 0xa4]
imul ecx, eax
mov eax, ecx
test eax, eax
je 0x180046ed2
xor eax, eax
cmp eax, 3
je 0x180046ed2
mov dword [rsp + 0x64], 0
jmp 0x180046d31
mov eax, dword [rsp + 0x64]
inc eax
mov dword [rsp + 0x64], eax
call fcn.1800034c0
mov byte [rsp + 0x28], al
call fcn.180003490
mov byte [rsp + 0x27], al
call fcn.180003480
mov byte [rsp + 0x26], al
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0xac], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
movsx edx, byte [rsp + 0x26]
movsx r8d, byte [rsp + 0x27]
imul r8d, r8d, 9
imul r8d, edx
mov edx, r8d
movsx r8d, byte [rsp + 0x28]
movzx r9d, byte [0x18012ac4f]
movsx r9d, r9b
add r9d, r8d
mov r8d, r9d
add r8d, edx
mov edx, r8d
mov dword [rsp + 0xa8], edx
xor edx, edx
mov r8d, dword [rsp + 0xa8]
mov eax, r8d
div ecx
mov ecx, dword [rsp + 0xac]
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
call fcn.180042720
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0xb0]
cmp dword [rsp + 0x64], eax
jge 0x180046e26
mov dword [rsp + 0x68], 0
jmp 0x180046dee
cmp dword [rsp + 0x68], 0x12
jae 0x180046e21
mov byte [rsp + 0x29], 0
lea rcx, [rsp + 0x2e8]
call fcn.180050ee0
nop
mov rcx, qword [rsp + 0x330]
call fcn.180027390
movzx eax, byte [rsp + 0x29]
jmp 0x1800478a5
jmp 0x180046d27
lea rax, [rsp + 0x2a]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov edx, 0x1e32d54
lea rcx, [0x18012c3c0]
call fcn.180007f50
mov qword [rsp + 0x148], rax
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x158], rax
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x2a]
call fcn.1800478c0
mov qword [rsp + 0x150], rax
mov rcx, qword [rsp + 0x150]
call fcn.18004e740
mov byte [rsp + 0x2b], al
movzx eax, byte [rsp + 0x2b]
mov byte [rsp + 0x2c], al
movzx edx, byte [rsp + 0x2c]
mov rcx, qword [rsp + 0x158]
call fcn.18000d2e0
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x168], rax
lea rdx, [0x18000d6d0]
mov rcx, qword [rsp + 0x168]
call fcn.1800081c0
xor edx, edx
lea rcx, [rsp + 0x2e8]
call fcn.180050b60
mov r8d, 0xa
xor edx, edx
mov rcx, rax
call fcn.18001b710
mov dword [rsp + 0xb4], eax
mov rax, qword [rsp + 0x340]
mov ecx, dword [rsp + 0xb4]
mov dword [rax], ecx
lea rdx, [rsp + 0x268]
lea rcx, [rsp + 0x2e8]
call fcn.180025de0
mov qword [rsp + 0x170], rax
mov r8d, 1
lea rdx, [rsp + 0x270]
mov rcx, qword [rsp + 0x170]
call fcn.18004e6c0
mov rax, qword [rax]
mov qword [rsp + 0x178], rax
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x188], rax
lea rdx, [rsp + 0x278]
lea rcx, [rsp + 0x2e8]
call fcn.180025de0
mov rax, qword [rax]
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0x190], rax
mov r9, qword [rsp + 0x188]
mov r8, qword [rsp + 0x190]
lea rdx, [rsp + 0x280]
lea rcx, [rsp + 0x2e8]
call fcn.180050c30
lea rax, [rsp + 0x2d]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov edx, 0x1802e6c
lea rcx, [0x18012c3c0]
call fcn.180007f50
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x1a8], rax
lea rdx, [rsp + 0x84]
lea rcx, [rsp + 0x2d]
call fcn.1800479a0
mov qword [rsp + 0x1a0], rax
mov rcx, qword [rsp + 0x1a0]
call fcn.180026a60
mov byte [rsp + 0x2e], al
movzx eax, byte [rsp + 0x2e]
mov byte [rsp + 0x2f], al
movzx edx, byte [rsp + 0x2f]
mov rcx, qword [rsp + 0x1a8]
call fcn.18000d2e0
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
mov qword [rsp + 0x1b8], rax
lea rdx, [0x18000d6d0]
mov rcx, qword [rsp + 0x1b8]
call fcn.1800081c0
call fcn.1800034c0
mov byte [rsp + 0x32], al
call fcn.180003490
mov byte [rsp + 0x31], al
call fcn.180003480
mov byte [rsp + 0x30], al
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0xbc], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
movsx edx, byte [rsp + 0x30]
movsx edi, byte [rsp + 0x31]
shl edi, 1
imul edi, edx
mov edx, edi
movsx edi, byte [rsp + 0x32]
movzx r8d, byte [0x18012ac4f]
movsx r8d, r8b
add r8d, edi
mov edi, r8d
add edi, edx
mov edx, edi
mov dword [rsp + 0xb8], edx
xor edx, edx
mov edi, dword [rsp + 0xb8]
mov eax, edi
div ecx
mov ecx, dword [rsp + 0xbc]
sub eax, ecx
test eax, eax
je 0x1800472a4
lea rcx, [rsp + 0x2e8]
call fcn.180027140
movzx eax, al
cvtsi2sd xmm0, rax
call fcn.180042720
mov dword [rsp + 0xc8], eax
call fcn.1800034c0
mov byte [rsp + 0x35], al
call fcn.180003490
mov byte [rsp + 0x34], al
call fcn.180003480
mov byte [rsp + 0x33], al
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0xc4], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
movsx edx, byte [rsp + 0x33]
movsx edi, byte [rsp + 0x34]
imul edi, edi, 7
imul edi, edx
mov edx, edi
movsx edi, byte [rsp + 0x35]
movzx r8d, byte [0x18012ac4f]
movsx r8d, r8b
add r8d, edi
mov edi, r8d
add edi, edx
mov edx, edi
mov dword [rsp + 0xc0], edx
xor edx, edx
mov edi, dword [rsp + 0xc0]
mov eax, edi
div ecx
mov ecx, dword [rsp + 0xc4]
sub eax, ecx
mov ecx, dword [rsp + 0xc8]
imul ecx, eax
mov eax, ecx
test eax, eax
je 0x1800472a4
xor eax, eax
cmp eax, 8
je 0x1800472a4
mov dword [rsp + 0x6c], 0
jmp 0x1800471b8
mov eax, dword [rsp + 0x6c]
inc eax
mov dword [rsp + 0x6c], eax
call fcn.1800034c0
mov byte [rsp + 0x38], al
call fcn.180003490
mov byte [rsp + 0x37], al
call fcn.180003480
mov byte [rsp + 0x36], al
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0xd0], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
movsx edx, byte [rsp + 0x36]
movsx edi, byte [rsp + 0x37]
shl edi, 3
imul edi, edx
mov edx, edi
movsx edi, byte [rsp + 0x38]
movzx r8d, byte [0x18012ac4f]
movsx r8d, r8b
add r8d, edi
mov edi, r8d
add edi, edx
mov edx, edi
mov dword [rsp + 0xcc], edx
xor edx, edx
mov edi, dword [rsp + 0xcc]
mov eax, edi
div ecx
mov ecx, dword [rsp + 0xd0]
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
call fcn.180042720
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0xd4]
cmp dword [rsp + 0x6c], eax
jge 0x1800472a4
mov dword [rsp + 0x70], 0
jmp 0x18004726c
cmp dword [rsp + 0x70], 3
jae 0x18004729f
mov byte [rsp + 0x39], 1
lea rcx, [rsp + 0x2e8]
call fcn.180050ee0
nop
mov rcx, qword [rsp + 0x330]
call fcn.180027390
movzx eax, byte [rsp + 0x39]
jmp 0x1800478a5
jmp 0x1800471ae
xor edx, edx
lea rcx, [rsp + 0x2e8]
call fcn.180050b60
mov r8d, 0xa
xor edx, edx
mov rcx, rax
call fcn.18001b710
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0x338]
mov ecx, dword [rsp + 0xd8]
mov dword [rax], ecx
mov edx, 1
lea rcx, [rsp + 0x2e8]
call fcn.180050b60
mov r8d, 0xa
xor edx, edx
mov rcx, rax
call fcn.18001b710
mov dword [rsp + 0xdc], eax
mov rax, qword [rsp + 0x338]
mov ecx, dword [rsp + 0xdc]
mov dword [rax + 4], ecx
lea rdx, [rsp + 0x288]
lea rcx, [rsp + 0x2e8]
call fcn.180025de0
mov qword [rsp + 0x1c0], rax
mov r8d, 2
lea rdx, [rsp + 0x290]
mov rcx, qword [rsp + 0x1c0]
call fcn.18004e6c0
mov rax, qword [rax]
mov qword [rsp + 0x1c8], rax
mov rax, qword [rsp + 0x1c8]
mov qword [rsp + 0x1d8], rax
lea rdx, [rsp + 0x298]
lea rcx, [rsp + 0x2e8]
call fcn.180025de0
mov rax, qword [rax]
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov qword [rsp + 0x1e0], rax
mov r9, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0x1e0]
lea rdx, [rsp + 0x2a0]
lea rcx, [rsp + 0x2e8]
call fcn.180050c30
lea rax, [rsp + 0x3a]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov edx, 0x14026f2
lea rcx, [0x18012c3c0]
call fcn.180007f50
mov qword [rsp + 0x1e8], rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x1f8], rax
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x3a]
call fcn.180047a80
mov qword [rsp + 0x1f0], rax
mov rcx, qword [rsp + 0x1f0]
call fcn.18004e690
mov byte [rsp + 0x3b], al
movzx eax, byte [rsp + 0x3b]
mov byte [rsp + 0x3c], al
movzx edx, byte [rsp + 0x3c]
mov rcx, qword [rsp + 0x1f8]
call fcn.18000d2e0
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x200]
mov qword [rsp + 0x208], rax
lea rdx, [0x18000d6d0]
mov rcx, qword [rsp + 0x208]
call fcn.1800081c0
call fcn.1800034c0
mov byte [rsp + 0x3f], al
call fcn.180003490
mov byte [rsp + 0x3e], al
call fcn.180003480
mov byte [rsp + 0x3d], al
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0xe4], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
movsx edx, byte [rsp + 0x3d]
movsx edi, byte [rsp + 0x3e]
imul edi, edi, 3
imul edi, edx
mov edx, edi
movsx edi, byte [rsp + 0x3f]
movzx r8d, byte [0x18012ac4f]
movsx r8d, r8b
add r8d, edi
mov edi, r8d
add edi, edx
mov edx, edi
mov dword [rsp + 0xe0], edx
xor edx, edx
mov edi, dword [rsp + 0xe0]
mov eax, edi
div ecx
mov ecx, dword [rsp + 0xe4]
sub eax, ecx
test eax, eax
je 0x1800476b2
lea rcx, [rsp + 0x2e8]
call fcn.180027140
movzx eax, al
cvtsi2sd xmm0, rax
call fcn.180042720
mov dword [rsp + 0xf0], eax
call fcn.1800034c0
mov byte [rsp + 0x42], al
call fcn.180003490
mov byte [rsp + 0x41], al
call fcn.180003480
mov byte [rsp + 0x40], al
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0xec], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
movsx edx, byte [rsp + 0x40]
movsx edi, byte [rsp + 0x41]
shl edi, 3
imul edi, edx
mov edx, edi
movsx edi, byte [rsp + 0x42]
movzx r8d, byte [0x18012ac4f]
movsx r8d, r8b
add r8d, edi
mov edi, r8d
add edi, edx
mov edx, edi
mov dword [rsp + 0xe8], edx
xor edx, edx
mov edi, dword [rsp + 0xe8]
mov eax, edi
div ecx
mov ecx, dword [rsp + 0xec]
sub eax, ecx
mov ecx, dword [rsp + 0xf0]
imul ecx, eax
mov eax, ecx
test eax, eax
je 0x1800476b2
xor eax, eax
cmp eax, 3
je 0x1800476b2
mov dword [rsp + 0x74], 0
jmp 0x1800475c6
mov eax, dword [rsp + 0x74]
inc eax
mov dword [rsp + 0x74], eax
call fcn.1800034c0
mov byte [rsp + 0x45], al
call fcn.180003490
mov byte [rsp + 0x44], al
call fcn.180003480
mov byte [rsp + 0x43], al
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0xf8], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
movsx edx, byte [rsp + 0x43]
movsx edi, byte [rsp + 0x44]
imul edi, edi, 9
imul edi, edx
mov edx, edi
movsx edi, byte [rsp + 0x45]
movzx r8d, byte [0x18012ac4f]
movsx r8d, r8b
add r8d, edi
mov edi, r8d
add edi, edx
mov edx, edi
mov dword [rsp + 0xf4], edx
xor edx, edx
mov edi, dword [rsp + 0xf4]
mov eax, edi
div ecx
mov ecx, dword [rsp + 0xf8]
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
call fcn.180042720
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xfc]
cmp dword [rsp + 0x74], eax
jge 0x1800476b2
mov dword [rsp + 0x78], 0
jmp 0x18004767a
cmp dword [rsp + 0x78], 0x36
jae 0x1800476ad
mov byte [rsp + 0x46], 1
lea rcx, [rsp + 0x2e8]
call fcn.180050ee0
nop
mov rcx, qword [rsp + 0x330]
call fcn.180027390
movzx eax, byte [rsp + 0x46]
jmp 0x1800478a5
jmp 0x1800475bc
mov rax, qword [rsp + 0x338]
add rax, 0xc8
mov rdx, rax
lea rcx, [rsp + 0x2a8]
call fcn.180058020
mov rax, qword [rax]
mov qword [rsp + 0x210], rax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x228], rax
lea rdx, [rsp + 0x2b0]
lea rcx, [rsp + 0x2e8]
call fcn.180025d80
mov rax, qword [rax]
mov qword [rsp + 0x218], rax
mov rax, qword [rsp + 0x218]
mov qword [rsp + 0x230], rax
lea rdx, [rsp + 0x2b8]
lea rcx, [rsp + 0x2e8]
call fcn.180025de0
mov rax, qword [rax]
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x220]
mov qword [rsp + 0x238], rax
mov r9, qword [rsp + 0x228]
mov r8, qword [rsp + 0x230]
mov rdx, qword [rsp + 0x238]
lea rcx, [rsp + 0x2c0]
call fcn.180058050
nop
lea rcx, [rsp + 0x2e8]
call fcn.180050ee0
nop
jmp 0x180047783
jmp 0x18004779c
jmp 0x18004779e
jmp 0x1800477b7
mov dword [rsp + 0x5c], 0
jmp 0x1800477cb
mov eax, dword [rsp + 0x5c]
inc eax
mov dword [rsp + 0x5c], eax
movzx eax, byte [0x18012ac51]
movsx eax, al
mov dword [rsp + 0x12c], eax
movzx ecx, byte [0x18012ac4e]
movsx ecx, cl
mov dword [rsp + 0x128], ecx
call fcn.180003480
movsx eax, al
mov dword [rsp + 0x120], eax
call fcn.180003490
movsx eax, al
imul eax, eax, 9
mov ecx, dword [rsp + 0x120]
imul eax, ecx
mov dword [rsp + 0x124], eax
call fcn.1800034c0
movsx eax, al
movzx ecx, byte [0x18012ac4f]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x124]
add eax, ecx
xor edx, edx
mov ecx, dword [rsp + 0x128]
div ecx
mov ecx, dword [rsp + 0x12c]
sub eax, ecx
mov eax, eax
cvtsi2sd xmm0, rax
call fcn.180042720
cmp dword [rsp + 0x5c], eax
jge 0x180047898
mov dword [rsp + 0x60], 0
jmp 0x180047871
cmp dword [rsp + 0x60], 4
jae 0x180047893
mov byte [rsp + 0x4d], 1
mov rcx, qword [rsp + 0x330]
call fcn.180027390
movzx eax, byte [rsp + 0x4d]
jmp 0x1800478a5
jmp 0x1800477c1
mov rcx, qword [rsp + 0x330]
call fcn.180027390
mov rcx, qword [rsp + 0x310]
xor rcx, rsp
call fcn.1800e1c00
add rsp, 0x320
pop rdi
ret