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

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x310
mov qword [rsp + 0x2c0], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x100151198]
xor rax, rsp
mov qword [rsp + 0x2d0], rax
mov rdi, rdx
mov rbx, rcx
lea rax, [0x100152eb8]
mov r14d, 1
mov rcx, qword [0x100152eb8]
cmp rcx, rax
je 0x100049f5a
test byte [rcx + 0x1c], r14b
je 0x100049f5a
cmp byte [rcx + 0x19], 5
jb 0x100049f5a
mov edx, 0x13c
mov r9, rdi
lea r8, [0x10001e5a0]
mov rcx, qword [rcx + 0x10]
call fcn.100034814
mov rcx, qword [0x100152eb8]
xor ebp, ebp
cmp rdi, rbp
je 0x10004b66f
mov rcx, rdi
call fcn.1000e225c
mov rsi, rax
cmp rax, rbp
je 0x10004b668
lea rcx, [rsp + 0xe0]
call fcn.1000e9bf4
lea r11, fcn.1000eae3c
mov qword [rsp + 0xe0], r11
mov qword [rsp + 0xb0], rbp
mov dword [rsp + 0xb8], ebp
mov dword [rsp + 0xbc], ebp
mov r15d, ebp
mov r13d, ebp
mov r14d, ebp
mov dword [rsp + 0x90], ebp
mov edi, ebp
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0xe0]
call fcn.1000e9eb4
cmp eax, ebp
jne 0x10004a130
movsxd r13, dword [rsp + 0xb8]
mov r12d, ebp
test r13d, r13d
jle 0x10004a130
lea rcx, [0x100151100]
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xf0], rax
test rbp, rbp
js 0x10004a11a
cmp r12d, dword [rsp + 0xb8]
jge 0x10004a11a
mov rax, qword [rsp + 0xb0]
lea r9, [rsp + 0xf0]
lea r8, [0x10001fc18]
mov rdx, qword [rax + rbp*8]
lea rcx, [rsp + 0xe0]
call fcn.1000ebc88
xor ecx, ecx
cmp eax, ecx
jne 0x10004a06c
mov rax, qword [rsp + 0xf0]
cmp dword [rax - 0x10], ecx
je 0x10004a065
lea eax, [rcx + 1]
add r15d, eax
jmp 0x10004a071
mov eax, 1
jmp 0x10004a071
mov eax, 1
mov dword [rsp + 0x94], ecx
cmp r12d, dword [rsp + 0xb8]
jge 0x10004a106
mov rax, qword [rsp + 0xb0]
lea r9, [rsp + 0x94]
lea r8, [0x10001ff00]
mov rdx, qword [rax + rbp*8]
lea rcx, [rsp + 0xe0]
call fcn.1000eba94
xor ecx, ecx
cmp eax, ecx
jne 0x10004a0c8
cmp dword [rsp + 0x94], ecx
je 0x10004a0c8
inc r14d
mov dword [rsp + 0x90], r14d
mov rdx, qword [rsp + 0xf0]
add rdx, 0xffffffffffffffe8
or r8, 0xffffffffffffffff
mov eax, r8d
lock xadd dword [rdx + 0x10], eax
add eax, r8d
cmp eax, ecx
jg 0x10004a0f0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, 1
add r12d, eax
add rbp, rax
cmp rbp, r13
jl 0x100049fee
jmp 0x10004a130
xor r9d, r9d
xor r8d, r8d
mov edx, eax
mov ecx, 0xc000008c
call qword [sym.imp.KERNEL32.dll_RaiseException]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
mov ecx, 0xc000008c
call qword [sym.imp.KERNEL32.dll_RaiseException]
lea rcx, [rbx + 0xe8]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea rbp, [rbx + 0x110]
mov rcx, rbp
call fcn.1000d9f1c
mov qword [rsp + 0x170], rax
mov r12d, 2
test rax, rax
je 0x10004a3ec
lea rdx, [rsp + 0x170]
mov rcx, rbp
call fcn.10004d38c
mov r12, qword [rax]
mov rcx, qword [r12]
xor r14d, r14d
cmp rcx, r14
je 0x10004a3ba
call fcn.100052a00
mov rcx, qword [rax]
call fcn.1000e1f48
cmp eax, r14d
je 0x10004a3b5
mov ebp, r14d
mov word [rsp + 0x30], r14w
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0xd0]
cmp eax, r14d
jl 0x10004a1cd
or rax, 0xffffffffffffffff
cmp ax, word [rsp + 0x30]
lea eax, [r14 + 1]
cmove ebp, eax
mov word [rsp + 0x34], r14w
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
lea rdx, [rsp + 0x34]
call qword [rax + 0xa0]
cmp eax, r14d
jl 0x10004a1f9
or rax, 0xffffffffffffffff
cmp ax, word [rsp + 0x34]
jne 0x10004a1f9
or ebp, 2
mov dword [rsp + 0x48], r14d
xor eax, eax
mov dword [rsp + 0x38], eax
mov rcx, qword [r12]
xor r12d, r12d
cmp rcx, r12
je 0x10004a333
call fcn.100052a00
mov rdx, qword [rax]
lea rcx, [rsp + 0x1c0]
call fcn.10003b168
nop
mov qword [rsp + 0xc8], r12
mov dword [rsp + 0xd0], r12d
mov dword [rsp + 0xd4], r12d
lea rdx, [rsp + 0xc8]
lea rcx, [rsp + 0x1c0]
call fcn.1000e9eb4
cmp eax, r12d
jne 0x10004a2fe
mov eax, dword [rsp + 0xd0]
xor ecx, ecx
cmp eax, ecx
jle 0x10004a2fb
mov r14, rcx
lea edx, [rcx + 1]
cmp r14, rcx
jl 0x10004a3cc
cmp r12d, eax
jge 0x10004a3cc
mov rax, qword [rsp + 0xc8]
lea r8, [rsp + 0xd8]
mov rdx, qword [rax + r14]
lea rcx, [rsp + 0x1c0]
call fcn.1000eae3c
xor ecx, ecx
cmp eax, ecx
jne 0x10004a2d9
mov eax, dword [rsp + 0xd8]
cmp eax, ecx
je 0x10004a2ce
lea edx, [rcx + 1]
sub eax, edx
je 0x10004a2c8
cmp eax, edx
je 0x10004a2d3
jmp 0x10004a2de
add dword [rsp + 0x48], edx
jmp 0x10004a2de
mov edx, 1
add dword [rsp + 0x38], edx
jmp 0x10004a2de
mov edx, 1
add r12d, edx
add r14, 8
mov eax, dword [rsp + 0xd0]
cmp r12d, eax
jl 0x10004a277
mov r14d, dword [rsp + 0x48]
xor r12d, r12d
jmp 0x10004a2fe
xor r12d, r12d
lea rcx, [rsp + 0xc8]
call fcn.10004ce40
nop
mov rdx, qword [rsp + 0x1c8]
add rdx, 0xffffffffffffffe8
or rcx, 0xffffffffffffffff
mov eax, ecx
lock xadd dword [rdx + 0x10], eax
add eax, ecx
cmp eax, r12d
jg 0x10004a333
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rsp + 0x178], r12
mov qword [rsp + 0x180], r12
mov qword [rsp + 0x188], r12
mov dword [rsp + 0x190], r12d
mov edx, ebp
lea rcx, [rsp + 0x178]
call fcn.10004f274
mov edx, r14d
lea rcx, [rsp + 0x178]
call fcn.10004f274
mov edx, dword [rsp + 0x38]
lea rcx, [rsp + 0x178]
call fcn.10004f274
mov r9d, 3
lea r8, [rsp + 0x178]
mov edx, 0x1460
mov rcx, rsi
call fcn.1000e0c24
nop
lea rcx, [rsp + 0x178]
call fcn.10004f318
lea rbp, [rbx + 0x110]
jmp 0x10004a3bd
xor r12d, r12d
jmp 0x10004a3bd
xor r12d, r12d
cmp qword [rsp + 0x170], r12
je 0x10004a3de
jmp 0x10004a163
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov r14d, dword [rsp + 0x90]
mov r12d, 2
lea rcx, [rbx + 0xe8]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r8d, r15d
mov edx, 0x636
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, r13d
sub r8d, r15d
mov edx, 0x63b
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, r14d
mov edx, 0x1464
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, r13d
mov edx, 0x146c
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
lea r9, [rsp + 0x98]
lea r8, [rsp + 0x9c]
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.100048e2c
xor r13d, r13d
cmp eax, r13d
jge 0x10004a488
xorps xmm7, xmm7
movss dword [rsp + 0x80], xmm7
movss dword [rsp + 0x9c], xmm7
movss dword [rsp + 0x98], xmm7
jmp 0x10004a491
movss xmm7, dword [rsp + 0x9c]
mov qword [rsp + 0xc0], r13
mov dword [rsp + 0x84], r13d
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
lea r9, [0x1000203c0]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x100020390]
call qword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, r13d
jl 0x10004a4f4
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x84]
call qword [rax + 0x18]
cmp eax, r13d
jl 0x10004a4f4
cmp dword [rsp + 0x84], r13d
cmovne edi, r12d
mov rcx, qword [rsp + 0xc0]
cmp rcx, r13
je 0x10004a507
mov rax, qword [rcx]
call qword [rax + 0x10]
movss xmm0, dword [rsp + 0x80]
movss xmm6, dword [0x100034158]
mulss xmm0, xmm6
cvttss2si r8, xmm0
mov edx, 0x146e
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mulss xmm7, xmm6
cvttss2si r8, xmm7
mov edx, 0x146d
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
movss xmm5, dword [rsp + 0x98]
mulss xmm5, xmm6
cvttss2si r8, xmm5
mov edx, 0x1562
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
lea rcx, [rbx + 0x208]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, rbx
call fcn.100049900
cmp dword [rbx + 0x1fc], r13d
je 0x10004a58f
mov r14d, 1
or edi, r14d
jmp 0x10004a595
mov r14d, 1
cmp dword [rbx + 0x204], r13d
je 0x10004a5a1
or edi, 2
cmp dword [rbx + 0x1f4], r13d
je 0x10004a5ad
or edi, 4
cmp dword [rbx + 0x1f8], r13d
je 0x10004a5c1
mov r15d, 8
or edi, r15d
jmp 0x10004a5c7
mov r15d, 8
cmp dword [rbx + 0x200], r13d
je 0x10004a5d3
or edi, 0x10
mov rdx, qword [rbx + 0x230]
cmp rdx, r13
je 0x10004a5f5
mov ecx, dword [rbx + 0x238]
sub ecx, r14d
imul rcx, rcx, 0x64
cmp dword [rcx + rdx], r13d
je 0x10004a5f5
or edi, 0x20
mov rdx, qword [rbx + 0x240]
cmp rdx, r13
je 0x10004a618
mov ecx, dword [rbx + 0x248]
sub ecx, r14d
imul rcx, rcx, 0x1c
cmp dword [rcx + rdx + 8], r13d
je 0x10004a618
or edi, 0x40
mov rdx, qword [rbx + 0x250]
cmp rdx, r13
je 0x10004a63a
mov ecx, dword [rbx + 0x258]
sub ecx, r14d
add rcx, rcx
cmp dword [rdx + rcx*8], r13d
je 0x10004a63a
bts edi, 7
mov r8d, edi
mov edx, 0x1468
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1a0]
mov edx, 0x635
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1a4]
mov edx, 0x63d
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1a8]
mov edx, 0x639
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1ac]
mov edx, 0x15b5
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1b0]
mov edx, 0x1459
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1b4]
mov edx, 0x146b
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1b8]
mov edx, 0x1465
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1bc]
mov edx, 0x15b6
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1c0]
mov edx, 0x155f
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1c4]
mov edx, 0x1561
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1c8]
mov edx, 0x1560
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1cc]
mov edx, 0x15b4
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1d0]
mov edx, 0x145b
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1d4]
mov edx, 0x145e
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1d8]
mov edx, 0x1461
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1dc]
mov edx, 0x1463
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1e0]
mov edx, 0x145c
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1e4]
mov edx, 0x145d
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov r8d, dword [rbx + 0x1e8]
mov edx, 0x1462
mov rcx, qword [rsi + 0x28]
call fcn.1000f2a84
mov rcx, qword [rbx + 0x230]
cmp rcx, r13
je 0x10004a803
mov edx, dword [rbx + 0x238]
mov qword [rsp + 0x20], r13
lea r9, [0x100049564]
mov r8d, 0x64
call sub.msvcrt.dll_qsort_s
mov rcx, qword [rbx + 0x240]
cmp rcx, r13
je 0x10004a82c
mov edx, dword [rbx + 0x248]
mov qword [rsp + 0x20], r13
lea r9, [0x100049574]
mov r8d, 0x1c
call sub.msvcrt.dll_qsort_s
mov rcx, qword [rbx + 0x250]
cmp rcx, r13
je 0x10004a855
mov edx, dword [rbx + 0x258]
mov qword [rsp + 0x20], r13
lea r9, [0x1000495c0]
mov r8d, 0x10
call sub.msvcrt.dll_qsort_s
lea rbp, [0x100151100]
mov rcx, rbp
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov rcx, rbp
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rcx, rbp
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x2c8]
call fcn.100086c88
mov rcx, rbp
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
mov rcx, rbp
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x108], r13
mov edi, 0x11
mov dword [rsp + 0x110], edi
mov eax, 0xffffffff
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], r13
mov dword [rsp + 0x130], r13d
mov dword [rsp + 0x134], 0xa
mov qword [rsp + 0x138], r13
mov qword [rsp + 0x140], r13
movss xmm8, dword [0x10002fa70]
movss dword [rsp + 0x114], xmm8
movss xmm7, dword [0x10002fa6c]
movss dword [rsp + 0x118], xmm7
movss xmm6, dword [0x10002fa68]
movss dword [rsp + 0x11c], xmm6
lea rcx, [rsp + 0x100]
call fcn.1000b8de0
nop
mov dword [rsp + 0x28], 0xa
movss dword [rsp + 0x20], xmm6
movaps xmm3, xmm7
movaps xmm2, xmm8
mov edx, edi
lea rcx, [rsp + 0x260]
call fcn.1000d3d14
nop
mov rcx, rbp
mov rax, qword [0x100151100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
cmp qword [rbx + 0x230], r13
je 0x10004ac9e
mov ebp, r13d
mov rdi, r13
mov rcx, qword [rbx + 0x230]
cmp dword [rdi + rcx], r13d
je 0x10004ac9e
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
mov dword [rsp + 0x70], r13d
lea rdx, [rsp + 0x2c8]
mov eax, dword [rdi + rcx + 0x5c]
mov dword [rdx], eax
movzx eax, word [rdi + rcx + 0x60]
mov word [rdx + 4], ax
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x2c8]
call fcn.100086e34
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0xe0]
call fcn.1000495d0
mov rcx, qword [rsp + 0x50]
call fcn.1000692a0
mov edx, eax
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov rcx, qword [rsp + 0x40]
call fcn.1000692a0
mov edx, eax
lea rcx, [rsp + 0x58]
call fcn.10004f274
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xa0]
call fcn.100035ed8
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xa8]
call fcn.100035ed8
mov r8d, r14d
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x100]
call fcn.10004d978
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x4c]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x44]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x48]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x58]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x50]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x54]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 8]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0xc]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x10]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x14]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x18]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x1c]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x20]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x24]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x28]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x2c]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x30]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x34]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x38]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x3c]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x40]
lea rcx, [rsp + 0x58]
call fcn.10004f274
mov r9d, 0x17
lea r8, [rsp + 0x58]
mov edx, 0x1467
mov rcx, rsi
call fcn.1000e0c24
nop
lea rcx, [rsp + 0x58]
call fcn.10004f318
add ebp, r14d
add rdi, 0x64
cmp ebp, 0xa
jb 0x10004a9c5
cmp qword [rbx + 0x240], r13
je 0x10004af4d
mov ebp, r13d
mov rdi, r13
mov rcx, qword [rbx + 0x240]
cmp dword [rcx + rdi + 8], r13d
je 0x10004af4d
mov qword [rsp + 0x150], r13
mov qword [rsp + 0x158], r13
mov qword [rsp + 0x160], r13
mov dword [rsp + 0x168], r13d
lea rdx, [rsp + 0x2c8]
mov eax, dword [rcx + rdi + 0x14]
mov dword [rdx], eax
movzx eax, word [rcx + rdi + 0x18]
mov word [rdx + 4], ax
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x2c8]
call fcn.100086e34
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x50]
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0xe0]
call fcn.1000495d0
mov rcx, qword [rsp + 0x50]
call fcn.1000692a0
mov edx, eax
lea rcx, [rsp + 0x150]
call fcn.10004f274
mov rcx, qword [rsp + 0x40]
call fcn.1000692a0
mov edx, eax
lea rcx, [rsp + 0x150]
call fcn.10004f274
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xa0]
call fcn.100035ed8
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xa8]
call fcn.100035ed8
mov r8d, r14d
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x100]
call fcn.10004d978
mov r11, qword [rbx + 0x240]
mov edx, dword [r11 + rdi]
lea rcx, [rsp + 0x150]
call fcn.10004f274
mov r11, qword [rbx + 0x240]
mov edx, dword [r11 + rdi + 4]
lea rcx, [rsp + 0x150]
call fcn.10004f274
lea rcx, [rsp + 0x78]
call fcn.100035fc0
mov r11, qword [rbx + 0x240]
mov ecx, dword [r11 + rdi]
call fcn.100049e40
cmp al, r13b
jne 0x10004ae50
mov rax, qword [rbx + 0x240]
lea rcx, [rbx + 0x260]
lea rdx, [rsp + 0x2b0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x1bc]
lea r8, [rsp + 0x1b8]
mov edx, dword [rdi + rax]
call fcn.10004df68
cmp rax, r13
je 0x10004ae50
lea rdx, [rax + 8]
lea rcx, [rsp + 0x78]
call fcn.100035ed8
mov r11, qword [rbx + 0x240]
mov r8d, dword [r11 + rdi + 0x10]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x260]
call fcn.10004d048
mov rax, qword [rbx + 0x240]
mov ecx, dword [rax + rdi + 4]
call fcn.100049e40
cmp al, r13b
jne 0x10004aeca
mov rax, qword [rbx + 0x240]
lea rcx, [rbx + 0x260]
lea rdx, [rsp + 0x2b8]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x200]
lea r8, [rsp + 0x210]
mov edx, dword [rax + rdi + 4]
call fcn.10004df68
cmp rax, r13
je 0x10004aeca
lea rdx, [rax + 8]
lea rcx, [rsp + 0x78]
call fcn.100035ed8
mov r11, qword [rbx + 0x240]
mov r8d, dword [r11 + rdi + 0x10]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0x260]
call fcn.10004d048
mov rax, qword [rbx + 0x240]
mov edx, dword [rax + rdi + 0xc]
lea rcx, [rsp + 0x150]
call fcn.10004f274
mov r11, qword [rbx + 0x240]
mov edx, dword [r11 + rdi + 8]
lea rcx, [rsp + 0x150]
call fcn.10004f274
mov r11, qword [rbx + 0x240]
mov edx, dword [r11 + rdi + 0x10]
lea rcx, [rsp + 0x150]
call fcn.10004f274
mov r9d, 7
lea r8, [rsp + 0x150]
mov edx, 0x145f
mov rcx, rsi
call fcn.1000e0c24
nop
lea rcx, [rsp + 0x150]
call fcn.10004f318
add ebp, r14d
add rdi, 0x1c
cmp ebp, 0x32
jb 0x10004acb1
cmp qword [rbx + 0x250], r13
je 0x10004b00d
mov ebp, r13d
mov rdi, r13
mov rax, qword [rbx + 0x250]
cmp dword [rax + rdi], r13d
je 0x10004b00d
mov qword [rsp + 0x198], r13
mov qword [rsp + 0x1a0], r13
mov qword [rsp + 0x1a8], r13
mov dword [rsp + 0x1b0], r13d
mov edx, dword [rax + rdi + 4]
lea rcx, [rsp + 0x198]
call fcn.10004f274
mov r11, qword [rbx + 0x250]
mov edx, dword [r11 + rdi + 8]
lea rcx, [rsp + 0x198]
call fcn.10004f274
mov r11, qword [rbx + 0x250]
mov edx, dword [r11 + rdi + 0xc]
lea rcx, [rsp + 0x198]
call fcn.10004f274
mov r9d, 3
lea r8, [rsp + 0x198]
mov edx, 0x19b1
mov rcx, rsi
call fcn.1000e0c24
nop
lea rcx, [rsp + 0x198]
call fcn.10004f318
add ebp, r14d
add rdi, 0x10
cmp ebp, 0x14
jb 0x10004af60
lea rcx, [rbx + 0x208]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x268]
mov ebp, 0x3f
cmp rbx, 0xa
ja 0x10004b14d
cmp rbx, r13
jne 0x10004b03b
mov rdi, r13
jmp 0x10004b06f
mov eax, r13d
mov edx, dword [rsp + 0x270]
cmp edx, r13d
jbe 0x10004b06c
mov rdi, qword [rsp + 0x260]
mov rcx, rdi
cmp qword [rcx], r13
jne 0x10004b066
add eax, r14d
add rcx, r15
cmp eax, edx
jb 0x10004b055
jmp 0x10004b06c
mov rdi, qword [rdi + rax*8]
jmp 0x10004b06f
mov rdi, r13
cmp rdi, r13
je 0x10004b2cd
or r12, 0xffffffffffffffff
mov qword [rsp + 0x240], r13
mov qword [rsp + 0x248], r13
mov qword [rsp + 0x250], r13
mov dword [rsp + 0x258], r13d
mov eax, r13d
cmp rdi, r13
setne al
cmp eax, r13d
je 0x10004b142
mov rbx, rdi
mov rdx, rdi
lea rcx, [rsp + 0x260]
call fcn.10004dfcc
mov rdi, rax
mov r8d, ebp
lea rdx, [rsp + 0x1d0]
mov rcx, rbx
call fcn.1000359f4
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x240]
call fcn.10004f07c
nop
mov rdx, qword [rsp + 0x1d0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b10e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, r14d
lea r8, [rsp + 0x240]
mov edx, 0x145a
mov rcx, rsi
call fcn.1000e0c24
nop
lea rcx, [rsp + 0x240]
call fcn.10004f318
cmp rdi, r13
jne 0x10004b07c
jmp 0x10004b2d1
mov ecx, 0x80004005
call fcn.100036264
nop
mov rax, r15
mul rbx
mov r12, 0xffffffffffffffff
cmovo rax, r12
mov rcx, rax
call fcn.10011b8d4
mov rdi, rax
cmp rax, r13
je 0x10004b2d1
mov rbp, r13
cmp qword [rsp + 0x268], r13
jne 0x10004b184
mov rax, r13
jmp 0x10004b1b8
mov eax, r13d
mov edx, dword [rsp + 0x270]
cmp edx, r13d
jbe 0x10004b1b5
mov r8, qword [rsp + 0x260]
mov rcx, r8
cmp qword [rcx], r13
jne 0x10004b1af
add eax, r14d
add rcx, r15
cmp eax, edx
jb 0x10004b19e
jmp 0x10004b1b5
mov rax, qword [r8 + rax*8]
jmp 0x10004b1b8
mov rax, r13
cmp rax, r13
je 0x10004b1de
cmp rbp, rbx
jae 0x10004b1de
mov qword [rdi + rbp*8], rax
add rbp, r14
mov rdx, rax
lea rcx, [rsp + 0x260]
call fcn.10004dfcc
cmp rax, r13
jne 0x10004b1bd
lea rax, [rsp + 0x260]
mov qword [rsp + 0x20], rax
lea r9, [0x100049584]
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call sub.msvcrt.dll_qsort_s
mov rbx, r13
mov ebp, 0x3f
mov qword [rsp + 0x220], r13
mov qword [rsp + 0x228], r13
mov qword [rsp + 0x230], r13
mov dword [rsp + 0x238], r13d
mov rcx, qword [rdi + rbx*8]
mov eax, r13d
cmp rcx, r13
setne al
cmp eax, r13d
je 0x10004b2c2
mov r8d, ebp
lea rdx, [rsp + 0x1f8]
call fcn.1000359f4
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x220]
call fcn.10004f07c
nop
mov rdx, qword [rsp + 0x1f8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b285
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, r14d
lea r8, [rsp + 0x220]
mov edx, 0x145a
mov rcx, rsi
call fcn.1000e0c24
nop
lea rcx, [rsp + 0x220]
call fcn.10004f318
add rbx, r14
cmp rbx, 0xa
jl 0x10004b208
mov rcx, rdi
call sub.msvcrt.dll_free
jmp 0x10004b2d1
mov ecx, 0x80004005
call fcn.100036264
nop
or r12, 0xffffffffffffffff
cmp qword [rsp + 0x108], r13
je 0x10004b479
mov eax, r13d
mov r9, qword [rsp + 0x100]
mov r8d, dword [rsp + 0x110]
cmp r8d, r13d
jbe 0x10004b312
mov rcx, r9
cmp qword [rcx], r13
jne 0x10004b30c
add eax, r14d
add rcx, r15
cmp eax, r8d
jb 0x10004b2fa
jmp 0x10004b312
mov rbx, qword [r9 + rax*8]
jmp 0x10004b315
mov rbx, r13
cmp rbx, r13
je 0x10004b479
mov qword [rsp + 0x1d8], r13
mov qword [rsp + 0x1e0], r13
mov qword [rsp + 0x1e8], r13
mov dword [rsp + 0x1f0], r13d
mov eax, r13d
cmp rbx, r13
setne al
cmp eax, r13d
je 0x10004b46e
mov rdi, rbx
cmp rbx, r13
jne 0x10004b35d
mov rbx, r13
jmp 0x10004b396
mov rcx, qword [rbx + 0x18]
cmp rcx, r13
jne 0x10004b393
mov rcx, r13
xor edx, edx
mov eax, dword [rbx + 0x20]
div r8d
add edx, r14d
movsxd rax, edx
lea r9, [r9 + rax*8]
cmp edx, r8d
jae 0x10004b393
cmp qword [r9], r13
je 0x10004b388
mov rcx, qword [r9]
add edx, r14d
add r9, r15
cmp rcx, r13
je 0x10004b37b
mov rbx, rcx
mov r8d, ebp
lea rdx, [rsp + 0x208]
mov rcx, rdi
call fcn.1000359f4
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x1d8]
call fcn.10004f07c
nop
mov rdx, qword [rsp + 0x208]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b3e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rdi + 8]
mov r8d, ebp
lea rdx, [rsp + 0x218]
call fcn.1000359f4
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x1d8]
call fcn.10004f07c
nop
mov rdx, qword [rsp + 0x218]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b42b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, 2
lea r8, [rsp + 0x1d8]
mov edx, 0x1466
mov rcx, rsi
call fcn.1000e0c24
nop
lea rcx, [rsp + 0x1d8]
call fcn.10004f318
cmp rbx, r13
je 0x10004b479
mov r8d, dword [rsp + 0x110]
mov r9, qword [rsp + 0x100]
jmp 0x10004b31e
mov ecx, 0x80004005
call fcn.100036264
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b49c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0x260]
call fcn.1000e2364
nop
mov ebx, dword [rsp + 0x130]
add ebx, r14d
mov dword [rsp + 0x130], ebx
mov rcx, qword [rsp + 0x100]
cmp rcx, r13
je 0x10004b51c
mov esi, r13d
mov eax, dword [rsp + 0x110]
cmp eax, r13d
jbe 0x10004b51c
mov rdi, r13
mov rbx, qword [rcx + rdi]
cmp rbx, r13
je 0x10004b50b
mov rdx, rbx
mov rbx, qword [rbx + 0x18]
lea rcx, [rsp + 0x100]
call fcn.10004e758
cmp rbx, r13
jne 0x10004b4e3
mov eax, dword [rsp + 0x110]
mov rcx, qword [rsp + 0x100]
add esi, r14d
add rdi, r15
cmp esi, eax
jb 0x10004b4da
mov ebx, dword [rsp + 0x130]
call sub.msvcrt.dll_free
mov qword [rsp + 0x100], r13
mov qword [rsp + 0x108], r13
cmp ebx, r13d
jne 0x10004b557
xor edx, edx
lea rcx, [rsp + 0x100]
call fcn.1000d4880
mov edx, eax
xor r8d, r8d
lea rcx, [rsp + 0x100]
call fcn.1000d47c4
mov rcx, qword [rsp + 0x138]
cmp rcx, r13
je 0x10004b575
mov rbx, qword [rcx]
call qword [sym.imp.msvcrt.dll_free]
mov rcx, rbx
cmp rbx, r13
jne 0x10004b564
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b59a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b5c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b5e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b609
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b62c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0xb0]
call fcn.10004ce40
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
add eax, r12d
cmp eax, r13d
jg 0x10004b668
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [0x100152eb8]
jmp 0x10004b66f
mov rcx, qword [0x100152eb8]
lea rax, [0x100152eb8]
cmp rcx, rax
je 0x10004b696
test byte [rcx + 0x1c], r14b
je 0x10004b696
mov edx, 0x13d
lea r8, [0x10001e5a0]
mov rcx, qword [rcx + 0x10]
call fcn.100034764
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.10011b980
lea r11, [rsp + 0x310]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret