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

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], r9
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf8
mov eax, dword [rcx + 0x44]
mov rbp, qword [rsp + 0x168]
xor r15d, r15d
mov dword [rsp + 0x5c], eax
mov eax, dword [rcx + 0x48]
mov rsi, r9
mov dword [rsp + 0x80], eax
mov eax, dword [rcx + 0x4c]
mov edi, r8d
mov dword [rsp + 0x68], eax
mov eax, dword [rcx + 0x54]
mov r14, rdx
mov dword [rsp + 0x9c], eax
mov eax, dword [rcx + 0x58]
mov rbx, rcx
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x70], r15
mov dword [rsp + 0x98], eax
mov qword [rsp + 0xb0], r15
mov dword [rsp + 0x90], r15d
mov dword [rsp + 0x88], r15d
mov dword [rsp + 0x8c], r15d
mov dword [rsp + 0x84], r15d
cmp rbp, r15
jne 0x1000fd829
mov rbp, qword [rcx + 0x28]
mov qword [rsp + 0x168], rbp
lea r8, [rsp + 0xa0]
mov edx, edi
call fcn.100111458
cmp eax, r15d
jl 0x1000fd89a
movsd xmm1, qword [rsp + 0xa0]
xorpd xmm0, xmm0
comisd xmm1, xmm0
ja 0x1000fd895
movsd xmm2, qword [rsp + 0xa8]
comisd xmm0, xmm2
ja 0x1000fd895
ucomisd xmm1, xmm0
jp 0x1000fd89a
jne 0x1000fd89a
ucomisd xmm2, xmm0
jp 0x1000fd89a
jne 0x1000fd89a
mov rdx, qword [rsp + 0x160]
mov rdi, qword [rbx + 0x28]
xor r8d, r8d
mov rcx, rbx
mov qword [rbx + 0x28], rbp
call fcn.1000fd210
mov qword [rbx + 0x28], rdi
mov esi, eax
jmp 0x1000fe831
mov rdx, rsi
jmp 0x1000fd877
mov r12d, 1
lea r8, [rsp + 0x150]
xor edx, edx
mov r9d, r12d
mov rcx, rbx
call fcn.100110f34
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
mov r8, qword [rbx + 0x10]
mov r9d, dword [rsp + 0x150]
mov r13d, 0xffffffff
mov dword [rsp + 0x54], r13d
mov rax, qword [r8 + 0x20]
mov rbp, qword [rax + r9*8]
cmp dword [rbp + 0x48], r13d
je 0x1000fda8d
mov rax, qword [r8 + 0x28]
mov ecx, dword [rbp + 0x48]
mov r11d, 0xfff00000
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdx]
and eax, r11d
cmp eax, 0x20300000
jne 0x1000fda8d
mov edi, dword [rdx + 0x10]
mov ecx, r15d
cmp edi, r15d
jbe 0x1000fd929
mov rax, qword [rdx + 0x18]
cmp dword [rax], r9d
je 0x1000fd929
add ecx, r12d
add rax, 4
cmp ecx, edi
jb 0x1000fd919
mov rdx, qword [rdx + 8]
mov eax, ecx
mov r10d, dword [rdx + rax*4]
lea eax, [rdi + rcx]
mov r9d, dword [rdx + rax*4]
mov dword [rsp + 0x50], r9d
mov rdx, qword [r8 + 0x20]
mov rcx, qword [rdx + r10*8]
mov edi, dword [rcx + 0x48]
cmp edi, r13d
je 0x1000fda8d
mov rcx, qword [rdx + r9*8]
test byte [rcx], r12b
je 0x1000fda8d
mov rax, qword [r8 + 0x28]
mov rdx, qword [rax + rdi*8]
mov eax, dword [rdx]
and eax, r11d
cmp eax, 0x10100000
jne 0x1000fda8d
mov eax, r15d
cmp dword [rdx + 0x10], r15d
jbe 0x1000fd996
mov rcx, qword [rdx + 0x18]
cmp dword [rcx], r10d
je 0x1000fd996
add eax, r12d
add rcx, 4
cmp eax, dword [rdx + 0x10]
jb 0x1000fd985
mov ecx, eax
mov rax, qword [rdx + 8]
cmp dword [rax + rcx*4], r9d
jne 0x1000fda8d
lea r8, [rsp + 0x50]
mov r9d, r12d
xor edx, edx
mov rcx, rbx
call fcn.100110f34
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x4c], r13d
lea rax, [rsp + 0x50]
mov r13d, 0x17
lea r9, [rsp + 0x44]
mov r8d, 0x10000001
mov dword [rsp + 0x30], r13d
mov rdx, r14
mov rcx, rbx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
lea rax, [rsp + 0x150]
mov dword [rsp + 0x30], r13d
lea r9, [rsp + 0x4c]
mov r8d, 0x10000001
mov rdx, r14
mov rcx, rbx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
mov rdx, qword [rbx + 0x10]
mov ecx, dword [rsp + 0x50]
mov dword [rsp + 0x48], r15d
mov rax, qword [rdx + 0x20]
mov r13d, 0xffffffff
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdx + 0x18]
mov ecx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
test byte [rcx + 8], 0x10
je 0x1000fdc49
bt dword [rcx + 8], 9
jae 0x1000fdc49
cmp dword [rdi + 8], r13d
jne 0x1000fdc49
mov ebp, r12d
jmp 0x1000fdc4c
test byte [rbp], r12b
lea rax, [rsp + 0x150]
lea r9, [rsp + 0x58]
mov dword [rsp + 0x58], r13d
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x4c], r13d
mov rdx, r14
mov rcx, rbx
je 0x1000fdb94
mov dword [rsp + 0x30], 0x10
mov r8d, 0x10100001
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
lea rax, [rsp + 0x150]
mov r13d, 0x17
lea r9, [rsp + 0x44]
mov dword [rsp + 0x30], r13d
mov r8d, 0x10000001
mov rdx, r14
mov rcx, rbx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
lea rax, [rsp + 0x150]
mov dword [rsp + 0x30], r13d
lea r9, [rsp + 0x4c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov r8d, 0x20300001
mov rdx, r14
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
mov rax, qword [rbx + 0x10]
mov edx, dword [rbp + 4]
mov dword [rsp + 0x48], r12d
mov rcx, qword [rax + 0x18]
mov r13d, 0xffffffff
mov rax, qword [rcx + rdx*8]
test byte [rax + 8], 0x10
je 0x1000fdc49
bt dword [rax + 8], 9
jae 0x1000fdc49
cmp dword [rbp + 8], r13d
jmp 0x1000fda7f
lea r8, [rsp + 0x94]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x94], r13d
mov qword [rsp + 0x20], rax
call fcn.10010eeb0
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
lea rax, [rsp + 0x94]
mov r13d, 0x17
lea r9, [rsp + 0x44]
mov dword [rsp + 0x30], r13d
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov r8d, 0x20200001
mov rdx, r14
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
lea rax, [rsp + 0x94]
mov dword [rsp + 0x30], r13d
lea r9, [rsp + 0x4c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x58]
mov r8d, 0x20300001
mov rdx, r14
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
mov dword [rsp + 0x48], r12d
mov r13d, 0xffffffff
mov ebp, r15d
lea r8, [rsp + 0x44]
mov r9d, r12d
xor edx, edx
mov rcx, rbx
call fcn.100110f34
cmp eax, r15d
mov esi, eax
jl 0x1000fe831
mov rdi, qword [rbx + 0x10]
mov ecx, dword [rsp + 0x44]
mov dword [rsp + 0x40], r12d
mov rax, qword [rdi + 0x20]
mov esi, r15d
mov rcx, qword [rax + rcx*8]
mov rax, qword [rdi + 0x18]
mov edx, dword [rcx + 4]
mov rdi, qword [rax + rdx*8]
bt dword [rdi + 8], 0xb
jae 0x1000fdcdb
mov rcx, qword [rdi]
mov edx, 0x62
call sub.msvcrt.dll_strchr
cmp rax, r15
jne 0x1000fdcb7
mov rcx, qword [rdi]
mov edx, 0x42
call sub.msvcrt.dll_strchr
cmp rax, r15
je 0x1000fdcdb
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x6c], r15d
je 0x1000fdd52
cmp ebp, r15d
je 0x1000fdd52
mov edi, r15d
mov dword [rsp + 0x40], r15d
mov esi, r12d
jmp 0x1000fdd55
bt dword [rdi + 8], 0xb
jae 0x1000fdd29
mov rcx, qword [rdi]
mov edx, 0x63
call sub.msvcrt.dll_strchr
cmp rax, r15
jne 0x1000fdd06
mov rcx, qword [rdi]
mov edx, 0x43
call sub.msvcrt.dll_strchr
cmp rax, r15
je 0x1000fdd29
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x70], r15d
jne 0x1000fdd1c
cmp dword [rax + 0x4c], r15d
je 0x1000fdd24
cmp dword [rbx + 0x48], r13d
jne 0x1000fdd24
mov dword [rsp + 0x40], r12d
mov esi, r12d
mov ebp, r15d
jmp 0x1000fdd52
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x70], r15d
jne 0x1000fdd4a
cmp dword [rax + 0x6c], r15d
je 0x1000fdd3e
cmp ebp, r15d
jne 0x1000fdd4a
cmp dword [rax + 0x4c], r15d
je 0x1000fdd52
cmp dword [rbx + 0x48], r13d
jne 0x1000fdd52
mov dword [rsp + 0x40], r12d
mov esi, r12d
mov edi, r12d
cmp dword [rax + 0x4c], r15d
jne 0x1000fdd7f
cmp edi, r15d
je 0x1000fdd8d
cmp esi, r15d
je 0x1000fdd7f
cmp ebp, r15d
je 0x1000fdd74
mov eax, dword [rax + 0x6c]
cmp dword [rbx + 0x54], eax
jae 0x1000fdd7c
jmp 0x1000fdd7f
mov eax, dword [rax + 0x70]
cmp dword [rbx + 0x58], eax
jb 0x1000fdd7f
mov esi, r15d
cmp edi, r15d
je 0x1000fdd8d
bt dword [rbx + 0x24], 9
cmovb esi, r15d
cmp esi, r15d
je 0x1000fdd9f
bt dword [rbx + 0x24], 0xa
cmovb edi, r15d
mov dword [rsp + 0x40], edi
mov rax, qword [rbx + 8]
mov rcx, 0xffffffffffffffff
lea r14, [0x100002840]
mov eax, dword [rax + 0x28]
mov r13d, r15d
mov dword [rsp + 0x50], eax
mov r12, rax
mov qword [rsp + 0xa0], rax
mov eax, 4
mul r12
mov rdx, r14
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
mov qword [rsp + 0x78], rax
cmp rax, r15
je 0x1000fe82c
mov rcx, 0xffffffffffffffff
mov eax, 4
mul r12
mov rdx, r14
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1000fe82c
mov rcx, 0xffffffffffffffff
mov eax, 4
mul r12
mov rdx, r14
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1000fe82c
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rsp + 0x78]
mov r14, r12
shl r14, 2
mov r8, r14
call sub.msvcrt.dll_memcpy
mov r15, qword [rsp + 0x160]
test esi, esi
je 0x1000fe1a1
mov rax, qword [rbx + 0x10]
movsxd r12, dword [rax + 0x10]
cmp dword [rax + 0x4c], r13d
jne 0x1000fde8d
cmp ebp, r13d
mov ebp, 1
je 0x1000fde88
add dword [rbx + 0x54], ebp
jmp 0x1000fde92
add dword [rbx + 0x58], ebp
jmp 0x1000fde92
mov ebp, 1
mov rdx, qword [rsp + 0x148]
mov eax, 0xffffffff
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x54], eax
lea rax, [rsp + 0x44]
lea r9, [rsp + 0x54]
mov r8d, 0x10f00001
mov rcx, rbx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
cmp eax, r13d
mov esi, eax
jl 0x1000fe831
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x4c], r13d
je 0x1000fdee7
mov edx, dword [rax + 0xa8]
jmp 0x1000fdeed
mov edx, dword [rax + 0xb8]
mov ecx, dword [rsp + 0x54]
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 4], edx
mov rcx, qword [rsp + 0x158]
cmp rcx, r13
je 0x1000fdf92
mov eax, dword [rsp + 0x54]
mov r13d, dword [rsp + 0x48]
mov r8, qword [rsp + 0x78]
mov rdx, rcx
mov rcx, rbx
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x4c], r13d
call fcn.1000fd210
mov esi, eax
test eax, eax
js 0x1000fe831
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rsp + 0x60]
mov r8, r14
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rbx + 0x28]
mov r8, r14
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x68]
mov ecx, dword [rbx + 0x6c]
mov r11d, dword [rsp + 0x80]
mov rsi, qword [rsp + 0x168]
mov dword [rbx + 0x4c], eax
mov eax, dword [rbx + 0x68]
and dword [rbx + 0x68], 0
and dword [rbx + 0x6c], 0
mov dword [rsp + 0x90], eax
mov dword [rbx + 0x48], r11d
mov dword [rsp + 0x8c], ecx
jmp 0x1000fdfaf
mov rsi, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x60]
mov r8, r14
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov r13d, dword [rsp + 0x48]
test r15, r15
je 0x1000fe03e
mov eax, dword [rsp + 0x54]
mov rdx, r15
mov rcx, rbx
mov dword [rbx + 0x48], eax
xor eax, eax
test r13d, r13d
mov r13, qword [rsp + 0x78]
sete al
mov r8, r13
mov dword [rbx + 0x4c], eax
call fcn.1000fd210
mov esi, eax
test eax, eax
js 0x1000fe831
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rsp + 0x70]
mov r8, r14
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbx + 0x28]
mov r8, r14
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x80]
mov rsi, qword [rsp + 0x168]
mov dword [rbx + 0x48], eax
mov eax, dword [rsp + 0x68]
mov dword [rbx + 0x4c], eax
mov eax, dword [rbx + 0x68]
and dword [rbx + 0x68], 0
mov dword [rsp + 0x88], eax
mov eax, dword [rbx + 0x6c]
and dword [rbx + 0x6c], 0
mov dword [rsp + 0x84], eax
jmp 0x1000fe04e
mov rcx, qword [rsp + 0x70]
mov r8, r14
mov rdx, rsi
call sub.msvcrt.dll_memcpy
xor r13d, r13d
cmp dword [rsp + 0x50], r13d
jbe 0x1000fe09d
mov rax, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
mov rdi, qword [rsp + 0xa0]
mov rdx, rsi
mov rcx, rax
sub rdx, rax
sub r8, rax
mov eax, 0xffffffff
cmp dword [rdx + rcx], eax
je 0x1000fe090
mov eax, dword [rcx]
cmp dword [r8 + rcx], eax
mov eax, 0xffffffff
je 0x1000fe090
add r13d, ebp
add rcx, 4
sub rdi, rbp
jne 0x1000fe07b
mov edi, dword [rsp + 0x40]
mov eax, dword [rsp + 0x9c]
mov dword [rbx + 0x54], eax
mov eax, dword [rsp + 0x98]
mov dword [rbx + 0x58], eax
test edi, edi
je 0x1000fe416
cmp r13d, 0x10
ja 0x1000fe0ce
mov rax, qword [rbx + 0x10]
mov ecx, dword [rax + 0x10]
sub ecx, r12d
cmp ecx, 0x20
jbe 0x1000fe0d4
xor edi, edi
mov dword [rsp + 0x40], edi
test edi, edi
je 0x1000fe416
mov rax, qword [rbx + 0x10]
mov edi, r12d
mov r9d, dword [rax + 0x10]
cmp r12d, r9d
jae 0x1000fe11a
mov rax, qword [rax + 0x28]
lea rdx, [rax + r12*8]
mov rax, qword [rdx]
mov ecx, dword [rax]
and ecx, 0xf0000000
cmp ecx, 0x60000000
je 0x1000fe27f
mov rax, qword [rbx + 0x10]
add edi, ebp
add rdx, 8
cmp edi, dword [rax + 0x10]
jb 0x1000fe0f4
mov edi, dword [rsp + 0x40]
test edi, edi
je 0x1000fe416
mov r8d, r12d
cmp r12d, r9d
jae 0x1000fe180
mov rdi, qword [0x10019f820]
mov rdx, r12
shl rdx, 3
mov rax, qword [rbx + 0x10]
mov rcx, qword [rax + 0x28]
mov rax, qword [rdx + rcx]
test rax, rax
je 0x1000fe157
mov qword [rax + 0x90], rdi
mov rdi, rax
mov rax, qword [rbx + 0x10]
add r8d, ebp
mov rcx, qword [rax + 0x28]
and qword [rdx + rcx], 0
mov rax, qword [rbx + 0x10]
add rdx, 8
cmp r8d, dword [rax + 0x10]
jb 0x1000fe13c
mov qword [0x10019f820], rdi
mov edi, dword [rsp + 0x40]
mov rax, qword [rbx + 0x10]
mov rdx, qword [rsp + 0x78]
mov r8, r14
mov dword [rax + 0x10], r12d
mov rcx, qword [rbx + 0x28]
call sub.msvcrt.dll_memcpy
mov r12, qword [rsp + 0xa0]
test edi, edi
je 0x1000fe416
mov rdi, qword [rsp + 0x158]
test rdi, rdi
je 0x1000fe28a
mov ebp, dword [rsp + 0x48]
mov eax, 0xffffffff
lea rdx, [rsp + 0x4c]
mov dword [rbx + 0x44], eax
mov dword [rsp + 0x30], 0x17
lea rax, [rsp + 0x44]
test ebp, ebp
lea r9, [rbx + 0x44]
mov r8d, 0x20500001
cmove rax, rdx
mov rdx, qword [rsp + 0x148]
mov rcx, rbx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
mov esi, eax
test eax, eax
js 0x1000fe831
mov r13, qword [rsp + 0x78]
mov rdx, rdi
mov rcx, rbx
mov r8, r13
call fcn.1000fd210
mov esi, eax
test eax, eax
js 0x1000fe831
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rsp + 0x60]
mov r8, r14
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbx + 0x28]
mov r8, r14
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rbx + 0x68]
mov ecx, dword [rbx + 0x6c]
mov edx, dword [rsp + 0x5c]
and dword [rbx + 0x68], 0
mov rdi, qword [rsp + 0x168]
and dword [rbx + 0x6c], 0
lea r8, [rbx + 0x44]
mov dword [rsp + 0x90], eax
mov dword [r8], edx
mov dword [rsp + 0x8c], ecx
jmp 0x1000fe2af
xor edi, edi
mov dword [rsp + 0x40], edi
jmp 0x1000fe11e
mov rdi, qword [rsp + 0x168]
mov rcx, qword [rsp + 0x60]
mov r8, r14
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov ebp, dword [rsp + 0x48]
mov r13, qword [rsp + 0x78]
lea r8, [rbx + 0x44]
test r15, r15
je 0x1000fe36a
mov rdx, qword [rsp + 0x148]
mov eax, 0xffffffff
lea rcx, [rsp + 0x44]
mov dword [r8], eax
mov dword [rsp + 0x30], 0x17
mov r9, r8
lea rax, [rsp + 0x4c]
test ebp, ebp
mov r8d, 0x20500001
cmove rax, rcx
mov rcx, rbx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x20], rax
call fcn.10010f5e4
mov esi, eax
test eax, eax
js 0x1000fe831
mov r8, r13
mov rdx, r15
mov rcx, rbx
call fcn.1000fd210
mov esi, eax
test eax, eax
js 0x1000fe831
mov rsi, qword [rsp + 0x70]
mov rdx, qword [rbx + 0x28]
mov r8, r14
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov rcx, qword [rbx + 0x28]
mov r8, r14
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rbx + 0x68]
mov edx, dword [rsp + 0x5c]
and dword [rbx + 0x68], 0
mov dword [rsp + 0x88], eax
mov eax, dword [rbx + 0x6c]
and dword [rbx + 0x6c], 0
mov dword [rsp + 0x84], eax
mov dword [rbx + 0x44], edx
jmp 0x1000fe37d
mov rsi, qword [rsp + 0x70]
mov r8, r14
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_memcpy
xor r13d, r13d
cmp dword [rsp + 0x50], r13d
jbe 0x1000fe799
mov r15, qword [rsp + 0x60]
mov rbp, rdi
xor r9d, r9d
sub rsi, r15
sub rbp, r15
mov rdx, r15
lea r14d, [r13 + 1]
mov r8d, dword [rdx]
mov edi, dword [rsi + rdx]
cmp r8d, edi
je 0x1000fe409
mov r15d, 0xffffffff
cmp r8d, r15d
je 0x1000fe3f4
mov rax, qword [rbx + 0x10]
mov r10, qword [rax + 0x20]
mov r11d, dword [rax + 0x8c]
mov rcx, qword [r10 + r8*8]
cmp r11d, dword [rcx + 4]
je 0x1000fe3f4
cmp edi, r15d
je 0x1000fe3e6
mov rcx, qword [r10 + rdi*8]
cmp r11d, dword [rcx + 4]
je 0x1000fe3e6
add r13d, r14d
jmp 0x1000fe409
mov dword [rsi + rdx], r8d
mov rax, qword [rbx + 0x28]
mov dword [r9 + rax], r8d
jmp 0x1000fe3fe
mov dword [rdx], edi
mov rax, qword [rbx + 0x28]
mov dword [r9 + rax], edi
mov rax, qword [rbx + 0x28]
mov ecx, dword [r9 + rax]
mov dword [rdx + rbp], ecx
add r9, 4
add rdx, 4
sub r12, r14
jne 0x1000fe3a3
test r13d, r13d
je 0x1000fe799
lea eax, [r13 + r13*2]
lea ecx, [rax + rax]
mov eax, 4
mul rcx
mov rcx, 0xffffffffffffffff
lea rdx, [0x100002840]
cmovo rax, rcx
mov rcx, rax
call fcn.10007b104
mov r15, rax
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x1000fe82c
xor eax, eax
lea rdi, [rsp + 0xb8]
lea r8d, [rax + 6]
lea rdx, [r15 + rax*4]
add eax, r13d
mov qword [rdi], rdx
add rdi, 8
sub r8, 1
jne 0x1000fe46b
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x140]
xor r12d, r12d
cmp dword [rsp + 0x50], r12d
jbe 0x1000fe593
mov rax, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x168]
mov r11, qword [rsp + 0x70]
mov rbp, r13
mov r10, r15
mov r15, qword [rsp + 0xa0]
sub rbp, r14
sub rsi, rax
sub r11, rax
mov r8, r14
sub r10, r14
mov r14d, dword [rsp + 0x48]
mov r9, rax
lea r13d, [r12 + 1]
mov eax, dword [r11 + r9]
cmp dword [r9], eax
je 0x1000fe56e
mov ecx, 0xffffffff
cmp dword [rsi + r9], ecx
je 0x1000fe56e
mov eax, dword [rsp + 0x4c]
test r14d, r14d
cmovne eax, dword [rsp + 0x44]
mov dword [r8 + rbp], eax
mov edi, dword [r9]
cmp edi, ecx
je 0x1000fe530
mov rdx, qword [rbx + 0x10]
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + rdi*8]
mov eax, dword [rcx + 4]
cmp dword [rdx + 0x8c], eax
je 0x1000fe530
mov dword [r8], edi
jmp 0x1000fe536
mov eax, dword [rbx + 0x3c]
mov dword [r8], eax
mov edi, dword [r11 + r9]
mov eax, 0xffffffff
cmp edi, eax
je 0x1000fe560
mov rdx, qword [rbx + 0x10]
mov rax, qword [rdx + 0x20]
mov rcx, qword [rax + rdi*8]
mov eax, dword [rcx + 4]
cmp dword [rdx + 0x8c], eax
je 0x1000fe560
mov dword [r10 + r8], edi
jmp 0x1000fe567
mov eax, dword [rbx + 0x3c]
mov dword [r10 + r8], eax
add r12d, r13d
add r8, 4
add r9, 4
sub r15, r13
jne 0x1000fe4e9
mov r13, qword [rsp + 0xb8]
mov r14, qword [rsp + 0xc0]
mov r15, qword [rsp + 0xc8]
mov eax, dword [rsp + 0x40]
mov rdx, qword [rsp + 0x148]
mov rcx, rbx
test eax, eax
je 0x1000fe5cd
mov rbp, qword [rsp + 0xd0]
mov dword [rsp + 0x30], r12d
mov r9, r15
mov r8, rbp
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r14
call fcn.10010e17c
jmp 0x1000fe715
mov eax, dword [rsp + 0x54]
and dword [rsp + 0x30], 0
and qword [rsp + 0x28], 0
mov dword [rbx + 0x48], eax
mov eax, dword [rsp + 0x48]
mov r13d, r12d
and r13d, 0xfffff
mov r9, r14
mov qword [rsp + 0x20], r14
mov ebp, r13d
mov dword [rbx + 0x4c], eax
bts ebp, 0x1c
mov r8d, ebp
call fcn.10010f5e4
mov esi, eax
test eax, eax
js 0x1000fe831
test r12d, r12d
je 0x1000fe646
mov r9, r14
mov r10d, r12d
mov rdi, qword [rbx + 0x10]
mov ecx, dword [r9]
add r9, 4
sub r10, 1
mov rax, qword [rdi + 0x20]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdi + 0xb0]
mov dword [rdx + 4], eax
jne 0x1000fe61c
mov r15, qword [rsp + 0xc8]
mov eax, dword [rsp + 0x54]
mov rdx, qword [rsp + 0x148]
mov r9, r15
mov dword [rbx + 0x48], eax
xor eax, eax
mov r8d, ebp
cmp dword [rsp + 0x48], eax
mov rcx, rbx
sete al
and dword [rsp + 0x30], 0
and qword [rsp + 0x28], 0
mov dword [rbx + 0x4c], eax
mov qword [rsp + 0x20], r15
call fcn.10010f5e4
mov esi, eax
test eax, eax
js 0x1000fe831
test r12d, r12d
je 0x1000fe6be
mov r8, r15
mov r9d, r12d
mov rdi, qword [rbx + 0x10]
mov ecx, dword [r8]
add r8, 4
sub r9, 1
mov rax, qword [rdi + 0x20]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdi + 0xb0]
mov dword [rdx + 4], eax
jne 0x1000fe694
mov r14, qword [rsp + 0xc0]
mov eax, dword [rsp + 0x80]
mov rbp, qword [rsp + 0xd0]
mov dword [rbx + 0x48], eax
mov eax, dword [rsp + 0x68]
mov dword [rbx + 0x4c], eax
test r12d, r12d
je 0x1000fe6e9
mov ecx, r12d
mov eax, 0xffffffff
mov rdi, rbp
rep stosd dword [rdi], eax
and dword [rsp + 0x30], 0
mov rdx, qword [rsp + 0x148]
or r13d, 0x20700000
mov r8d, r13d
mov r9, rbp
mov rcx, rbx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r14
call fcn.10010f5e4
mov esi, eax
test eax, eax
js 0x1000fe831
mov r11d, dword [rsp + 0x50]
xor r8d, r8d
test r11d, r11d
je 0x1000fe799
mov rax, qword [rsp + 0x60]
mov r9, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x168]
mov r10, rax
sub r9, rax
sub r10, rsi
lea rcx, [r10 + rsi]
mov eax, dword [r9 + rcx]
cmp dword [rcx], eax
je 0x1000fe786
mov eax, 0xffffffff
cmp dword [rsi], eax
je 0x1000fe786
mov rax, qword [rbx + 0x10]
mov edx, dword [rsi]
mov rcx, qword [rax + 0x20]
mov eax, dword [rbp]
mov rdi, qword [rcx + rax*8]
mov rdx, qword [rcx + rdx*8]
mov rcx, rdi
call fcn.10014fc5c
mov ecx, dword [rbp]
add rbp, 4
mov dword [rsi], ecx
mov dword [rdi + 0x30], r8d
mov ecx, 1
add rsi, 4
add r8d, ecx
cmp r8d, r11d
jb 0x1000fe747
jmp 0x1000fe79e
mov ecx, 1
mov r8d, dword [rsp + 0x8c]
mov edi, dword [rsp + 0x84]
test r8d, r8d
je 0x1000fe7ba
test edi, edi
je 0x1000fe7ba
mov eax, ecx
jmp 0x1000fe7bc
xor eax, eax
mov edx, dword [rsp + 0x90]
mov dword [rbx + 0x6c], eax
mov eax, dword [rsp + 0x88]
test edx, edx
je 0x1000fe7d9
test eax, eax
jne 0x1000fe7e8
test edi, edi
jne 0x1000fe7e8
test eax, eax
je 0x1000fe7e6
test edx, edx
jne 0x1000fe7e8
test r8d, r8d
jne 0x1000fe7e8
xor ecx, ecx
mov dword [rbx + 0x68], ecx
test edx, edx
je 0x1000fe7f7
test eax, eax
jne 0x1000fe7fb
test edi, edi
je 0x1000fe804
test eax, eax
je 0x1000fe828
test edx, edx
jne 0x1000fe828
test r8d, r8d
jne 0x1000fe828
mov rdx, qword [rsp + 0x148]
lea r9, [0x100032f40]
mov r8d, 0xdac
mov rcx, rbx
call fcn.100113150
mov esi, 0x80004001
jmp 0x1000fe831
xor esi, esi
jmp 0x1000fe831
mov esi, 0x8007000e
mov rcx, qword [rsp + 0x78]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x60]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0x70]
call sub.msvcrt.dll_free
mov rcx, qword [rsp + 0xb0]
call sub.msvcrt.dll_free
mov eax, dword [rsp + 0x80]
mov edx, dword [rsp + 0x5c]
mov dword [rbx + 0x48], eax
mov eax, dword [rsp + 0x68]
mov dword [rbx + 0x44], edx
mov dword [rbx + 0x4c], eax
mov eax, dword [rsp + 0x9c]
mov dword [rbx + 0x54], eax
mov eax, dword [rsp + 0x98]
mov dword [rbx + 0x58], eax
mov eax, esi
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret