Function at 0x100049f58
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, 0x320
mov qword [rsp + 0x2c8], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x100152198]
xor rax, rsp
mov qword [rsp + 0x2e0], rax
mov rdi, rdx
mov rbx, rcx
lea rax, [0x100153eb8]
mov r14d, 1
mov rcx, qword [0x100153eb8]
cmp rcx, rax
je 0x100049fe6
test byte [rcx + 0x1c], r14b
je 0x100049fe6
cmp byte [rcx + 0x19], 5
jb 0x100049fe6
mov edx, 0x13c
mov r9, rdi
lea r8, [0x10001e5a0]
mov rcx, qword [rcx + 0x10]
call fcn.100034834
mov rcx, qword [0x100153eb8]
xor ebp, ebp
cmp rdi, rbp
je 0x10004b888
mov rcx, rdi
call fcn.1000e274c
mov rsi, rax
cmp rax, rbp
je 0x10004b881
lea rcx, [rsp + 0x140]
call fcn.1000ea0e8
lea r11, fcn.1000eb330
mov qword [rsp + 0x140], r11
mov qword [rsp + 0xb8], rbp
mov dword [rsp + 0xc0], ebp
mov dword [rsp + 0xc4], ebp
mov r15d, ebp
mov r13d, ebp
mov r14d, ebp
mov dword [rsp + 0x98], ebp
mov edi, ebp
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x140]
call fcn.1000ea3a8
cmp eax, ebp
jne 0x10004a1bc
movsxd r13, dword [rsp + 0xc0]
mov r12d, ebp
test r13d, r13d
jle 0x10004a1bc
lea rcx, [0x100152100]
mov rax, qword [0x100152100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x150], rax
test rbp, rbp
js 0x10004a1a6
cmp r12d, dword [rsp + 0xc0]
jge 0x10004a1a6
mov rax, qword [rsp + 0xb8]
lea r9, [rsp + 0x150]
lea r8, [0x10001fc18]
mov rdx, qword [rax + rbp*8]
lea rcx, [rsp + 0x140]
call fcn.1000ec17c
xor ecx, ecx
cmp eax, ecx
jne 0x10004a0f8
mov rax, qword [rsp + 0x150]
cmp dword [rax - 0x10], ecx
je 0x10004a0f1
lea eax, [rcx + 1]
add r15d, eax
jmp 0x10004a0fd
mov eax, 1
jmp 0x10004a0fd
mov eax, 1
mov dword [rsp + 0x9c], ecx
cmp r12d, dword [rsp + 0xc0]
jge 0x10004a192
mov rax, qword [rsp + 0xb8]
lea r9, [rsp + 0x9c]
lea r8, [0x10001ff00]
mov rdx, qword [rax + rbp*8]
lea rcx, [rsp + 0x140]
call fcn.1000ebf88
xor ecx, ecx
cmp eax, ecx
jne 0x10004a154
cmp dword [rsp + 0x9c], ecx
je 0x10004a154
inc r14d
mov dword [rsp + 0x98], r14d
mov rdx, qword [rsp + 0x150]
add rdx, 0xffffffffffffffe8
or r8, 0xffffffffffffffff
mov eax, r8d
lock xadd dword [rdx + 0x10], eax
add eax, r8d
cmp eax, ecx
jg 0x10004a17c
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 0x10004a07a
jmp 0x10004a1bc
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.10004d410
mov qword [rsp + 0x1d0], rax
mov r12d, 2
test rax, rax
je 0x10004a478
lea rdx, [rsp + 0x1d0]
mov rcx, rbp
call fcn.10004d4b0
mov r12, qword [rax]
mov rcx, qword [r12]
xor r14d, r14d
cmp rcx, r14
je 0x10004a446
call fcn.100052b50
mov rcx, qword [rax]
call fcn.1000e2438
cmp eax, r14d
je 0x10004a441
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 0x10004a259
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 0x10004a285
or rax, 0xffffffffffffffff
cmp ax, word [rsp + 0x34]
jne 0x10004a285
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 0x10004a3bf
call fcn.100052b50
mov rdx, qword [rax]
lea rcx, [rsp + 0x228]
call fcn.10003b1a0
nop
mov qword [rsp + 0x130], r12
mov dword [rsp + 0x138], r12d
mov dword [rsp + 0x13c], r12d
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0x228]
call fcn.1000ea3a8
cmp eax, r12d
jne 0x10004a38a
mov eax, dword [rsp + 0x138]
xor ecx, ecx
cmp eax, ecx
jle 0x10004a387
mov r14, rcx
lea edx, [rcx + 1]
cmp r14, rcx
jl 0x10004a458
cmp r12d, eax
jge 0x10004a458
mov rax, qword [rsp + 0x130]
lea r8, [rsp + 0x128]
mov rdx, qword [rax + r14]
lea rcx, [rsp + 0x228]
call fcn.1000eb330
xor ecx, ecx
cmp eax, ecx
jne 0x10004a365
mov eax, dword [rsp + 0x128]
cmp eax, ecx
je 0x10004a35a
lea edx, [rcx + 1]
sub eax, edx
je 0x10004a354
cmp eax, edx
je 0x10004a35f
jmp 0x10004a36a
add dword [rsp + 0x48], edx
jmp 0x10004a36a
mov edx, 1
add dword [rsp + 0x38], edx
jmp 0x10004a36a
mov edx, 1
add r12d, edx
add r14, 8
mov eax, dword [rsp + 0x138]
cmp r12d, eax
jl 0x10004a303
mov r14d, dword [rsp + 0x48]
xor r12d, r12d
jmp 0x10004a38a
xor r12d, r12d
lea rcx, [rsp + 0x130]
call fcn.10004d050
nop
mov rdx, qword [rsp + 0x230]
add rdx, 0xffffffffffffffe8
or rcx, 0xffffffffffffffff
mov eax, ecx
lock xadd dword [rdx + 0x10], eax
add eax, ecx
cmp eax, r12d
jg 0x10004a3bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov qword [rsp + 0x1d8], r12
mov qword [rsp + 0x1e0], r12
mov qword [rsp + 0x1e8], r12
mov dword [rsp + 0x1f0], r12d
mov edx, ebp
lea rcx, [rsp + 0x1d8]
call fcn.10004f3c4
mov edx, r14d
lea rcx, [rsp + 0x1d8]
call fcn.10004f3c4
mov edx, dword [rsp + 0x38]
lea rcx, [rsp + 0x1d8]
call fcn.10004f3c4
mov r9d, 3
lea r8, [rsp + 0x1d8]
mov edx, 0x1460
mov rcx, rsi
call fcn.1000e0ffc
nop
lea rcx, [rsp + 0x1d8]
call fcn.10004f468
lea rbp, [rbx + 0x110]
jmp 0x10004a449
xor r12d, r12d
jmp 0x10004a449
xor r12d, r12d
cmp qword [rsp + 0x1d0], r12
je 0x10004a46a
jmp 0x10004a1ef
xor r9d, r9d
xor r8d, r8d
mov ecx, 0xc000008c
call qword [sym.imp.KERNEL32.dll_RaiseException]
mov r14d, dword [rsp + 0x98]
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.1000f2f78
mov r8d, r13d
sub r8d, r15d
mov edx, 0x63b
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, r14d
mov edx, 0x1464
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, r13d
mov edx, 0x146c
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
lea r9, [rsp + 0x90]
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x80]
mov rcx, rbx
call fcn.100048eb8
xor r13d, r13d
cmp eax, r13d
jge 0x10004a514
xorps xmm7, xmm7
movss dword [rsp + 0x80], xmm7
movss dword [rsp + 0xa0], xmm7
movss dword [rsp + 0x90], xmm7
jmp 0x10004a51d
movss xmm7, dword [rsp + 0xa0]
mov qword [rsp + 0x120], r13
mov dword [rsp + 0x94], r13d
lea rax, [rsp + 0x120]
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 0x10004a580
mov rcx, qword [rsp + 0x120]
mov rax, qword [rcx]
lea rdx, [rsp + 0x94]
call qword [rax + 0x18]
cmp eax, r13d
jl 0x10004a580
cmp dword [rsp + 0x94], r13d
cmovne edi, r12d
mov rcx, qword [rsp + 0x120]
cmp rcx, r13
je 0x10004a593
mov rax, qword [rcx]
call qword [rax + 0x10]
movss xmm0, dword [rsp + 0x80]
movss xmm6, dword [0x100034178]
mulss xmm0, xmm6
cvttss2si r8, xmm0
mov edx, 0x146e
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mulss xmm7, xmm6
cvttss2si r8, xmm7
mov edx, 0x146d
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
movss xmm5, dword [rsp + 0x90]
mulss xmm5, xmm6
cvttss2si r8, xmm5
mov edx, 0x1562
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
lea rcx, [rbx + 0x208]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rcx, rbx
call fcn.10004998c
cmp dword [rbx + 0x1fc], r13d
je 0x10004a61b
mov r14d, 1
or edi, r14d
jmp 0x10004a621
mov r14d, 1
cmp dword [rbx + 0x204], r13d
je 0x10004a62d
or edi, 2
cmp dword [rbx + 0x1f4], r13d
je 0x10004a639
or edi, 4
cmp dword [rbx + 0x1f8], r13d
je 0x10004a64d
mov r15d, 8
or edi, r15d
jmp 0x10004a653
mov r15d, 8
cmp dword [rbx + 0x200], r13d
je 0x10004a65f
or edi, 0x10
mov rdx, qword [rbx + 0x230]
cmp rdx, r13
je 0x10004a681
mov ecx, dword [rbx + 0x238]
sub ecx, r14d
imul rcx, rcx, 0x64
cmp dword [rcx + rdx], r13d
je 0x10004a681
or edi, 0x20
mov rdx, qword [rbx + 0x240]
cmp rdx, r13
je 0x10004a6a4
mov ecx, dword [rbx + 0x248]
sub ecx, r14d
imul rcx, rcx, 0x1c
cmp dword [rcx + rdx + 8], r13d
je 0x10004a6a4
or edi, 0x40
mov rdx, qword [rbx + 0x250]
cmp rdx, r13
je 0x10004a6c6
mov ecx, dword [rbx + 0x258]
sub ecx, r14d
add rcx, rcx
cmp dword [rdx + rcx*8], r13d
je 0x10004a6c6
bts edi, 7
mov r8d, edi
mov edx, 0x1468
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1a0]
mov edx, 0x635
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1a4]
mov edx, 0x63d
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1a8]
mov edx, 0x639
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1ac]
mov edx, 0x15b5
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1b0]
mov edx, 0x1459
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1b4]
mov edx, 0x146b
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1b8]
mov edx, 0x1465
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1bc]
mov edx, 0x15b6
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1c0]
mov edx, 0x155f
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1c4]
mov edx, 0x1561
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1c8]
mov edx, 0x1560
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1cc]
mov edx, 0x15b4
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1d0]
mov edx, 0x145b
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1d4]
mov edx, 0x145e
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1d8]
mov edx, 0x1461
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1dc]
mov edx, 0x1463
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1e0]
mov edx, 0x145c
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1e4]
mov edx, 0x145d
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov r8d, dword [rbx + 0x1e8]
mov edx, 0x1462
mov rcx, qword [rsi + 0x28]
call fcn.1000f2f78
mov rcx, qword [rbx + 0x230]
cmp rcx, r13
je 0x10004a88f
mov edx, dword [rbx + 0x238]
mov qword [rsp + 0x20], r13
lea r9, [0x1000495f0]
mov r8d, 0x64
call sub.msvcrt.dll_qsort_s
mov rcx, qword [rbx + 0x240]
cmp rcx, r13
je 0x10004a8b8
mov edx, dword [rbx + 0x248]
mov qword [rsp + 0x20], r13
lea r9, [0x100049600]
mov r8d, 0x1c
call sub.msvcrt.dll_qsort_s
mov rcx, qword [rbx + 0x250]
cmp rcx, r13
je 0x10004a8e1
mov edx, dword [rbx + 0x258]
mov qword [rsp + 0x20], r13
lea r9, [0x10004964c]
mov r8d, 0x10
call sub.msvcrt.dll_qsort_s
lea rbp, [0x100152100]
mov rcx, rbp
mov rax, qword [0x100152100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rcx, rbp
mov rax, qword [0x100152100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
mov rcx, rbp
mov rax, qword [0x100152100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x2d8]
call fcn.100086d98
mov rcx, rbp
mov rax, qword [0x100152100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa8], rax
mov rcx, rbp
mov rax, qword [0x100152100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x160], r13
mov qword [rsp + 0x168], r13
mov edi, 0x11
mov dword [rsp + 0x170], edi
mov eax, 0xffffffff
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x188], r13
mov dword [rsp + 0x190], r13d
mov dword [rsp + 0x194], 0xa
mov qword [rsp + 0x198], r13
mov qword [rsp + 0x1a0], r13
movss xmm8, dword [0x10002fa90]
movss dword [rsp + 0x174], xmm8
movss xmm7, dword [0x10002fa8c]
movss dword [rsp + 0x178], xmm7
movss xmm6, dword [0x10002fa88]
movss dword [rsp + 0x17c], xmm6
lea rcx, [rsp + 0x160]
call fcn.1000b9320
nop
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xd8], r13
mov dword [rsp + 0xe0], edi
mov eax, 0xffffffff
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], r13
mov dword [rsp + 0x100], r13d
mov dword [rsp + 0x104], 0xa
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x110], r13
movss dword [rsp + 0xe4], xmm8
movss dword [rsp + 0xe8], xmm7
movss dword [rsp + 0xec], xmm6
lea rcx, [rsp + 0xd0]
call fcn.1000b9320
nop
mov rcx, rbp
mov rax, qword [0x100152100]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x78], rax
cmp qword [rbx + 0x230], r13
je 0x10004ad7e
mov ebp, r13d
mov rdi, r13
mov rcx, qword [rbx + 0x230]
cmp dword [rdi + rcx], r13d
je 0x10004ad7e
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
mov dword [rsp + 0x70], r13d
lea rdx, [rsp + 0x2d8]
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 + 0x2d8]
call fcn.100086f44
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x140]
call fcn.10004965c
mov rcx, qword [rsp + 0x40]
call fcn.1000694cc
mov edx, eax
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov rcx, qword [rsp + 0x50]
call fcn.1000694cc
mov edx, eax
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xa8]
call fcn.100035ef8
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xb0]
call fcn.100035ef8
mov r8d, r14d
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x160]
call fcn.10004dbbc
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x4c]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x44]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x48]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x58]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x50]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x54]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 8]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0xc]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x10]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x14]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x18]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x1c]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x20]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x24]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x28]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x2c]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x30]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x34]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x38]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x3c]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r11, qword [rbx + 0x230]
mov edx, dword [rdi + r11 + 0x40]
lea rcx, [rsp + 0x58]
call fcn.10004f3c4
mov r9d, 0x17
lea r8, [rsp + 0x58]
mov edx, 0x1467
mov rcx, rsi
call fcn.1000e0ffc
nop
lea rcx, [rsp + 0x58]
call fcn.10004f468
add ebp, r14d
add rdi, 0x64
cmp ebp, 0xa
jb 0x10004aaa5
cmp qword [rbx + 0x240], r13
je 0x10004b02d
mov ebp, r13d
mov rdi, r13
mov rcx, qword [rbx + 0x240]
cmp dword [rcx + rdi + 8], r13d
je 0x10004b02d
mov qword [rsp + 0x1b0], r13
mov qword [rsp + 0x1b8], r13
mov qword [rsp + 0x1c0], r13
mov dword [rsp + 0x1c8], r13d
lea rdx, [rsp + 0x2d8]
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 + 0x2d8]
call fcn.100086f44
lea r9, [rsp + 0x50]
lea r8, [rsp + 0x40]
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x140]
call fcn.10004965c
mov rcx, qword [rsp + 0x40]
call fcn.1000694cc
mov edx, eax
lea rcx, [rsp + 0x1b0]
call fcn.10004f3c4
mov rcx, qword [rsp + 0x50]
call fcn.1000694cc
mov edx, eax
lea rcx, [rsp + 0x1b0]
call fcn.10004f3c4
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0xa8]
call fcn.100035ef8
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0xb0]
call fcn.100035ef8
mov r8d, r14d
lea rdx, [rsp + 0xa8]
lea rcx, [rsp + 0x160]
call fcn.10004dbbc
mov r11, qword [rbx + 0x240]
mov edx, dword [r11 + rdi]
lea rcx, [rsp + 0x1b0]
call fcn.10004f3c4
mov r11, qword [rbx + 0x240]
mov edx, dword [r11 + rdi + 4]
lea rcx, [rsp + 0x1b0]
call fcn.10004f3c4
lea rcx, [rsp + 0x78]
call fcn.100035fe0
mov r11, qword [rbx + 0x240]
mov ecx, dword [r11 + rdi]
call fcn.100049ecc
cmp al, r13b
jne 0x10004af30
mov rax, qword [rbx + 0x240]
lea rcx, [rbx + 0x260]
lea rdx, [rsp + 0x2d0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x238]
lea r8, [rsp + 0x278]
mov edx, dword [rdi + rax]
call fcn.10004e1ac
cmp rax, r13
je 0x10004af30
lea rdx, [rax + 8]
lea rcx, [rsp + 0x78]
call fcn.100035ef8
mov r11, qword [rbx + 0x240]
mov r8d, dword [r11 + rdi + 0x10]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0xd0]
call fcn.10004daa8
mov rax, qword [rbx + 0x240]
mov ecx, dword [rax + rdi + 4]
call fcn.100049ecc
cmp al, r13b
jne 0x10004afaa
mov rax, qword [rbx + 0x240]
lea rcx, [rbx + 0x260]
lea rdx, [rsp + 0x2c0]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x218]
lea r8, [rsp + 0x23c]
mov edx, dword [rax + rdi + 4]
call fcn.10004e1ac
cmp rax, r13
je 0x10004afaa
lea rdx, [rax + 8]
lea rcx, [rsp + 0x78]
call fcn.100035ef8
mov r11, qword [rbx + 0x240]
mov r8d, dword [r11 + rdi + 0x10]
mov rdx, qword [rsp + 0x78]
lea rcx, [rsp + 0xd0]
call fcn.10004daa8
mov rax, qword [rbx + 0x240]
mov edx, dword [rax + rdi + 0xc]
lea rcx, [rsp + 0x1b0]
call fcn.10004f3c4
mov r11, qword [rbx + 0x240]
mov edx, dword [r11 + rdi + 8]
lea rcx, [rsp + 0x1b0]
call fcn.10004f3c4
mov r11, qword [rbx + 0x240]
mov edx, dword [r11 + rdi + 0x10]
lea rcx, [rsp + 0x1b0]
call fcn.10004f3c4
mov r9d, 7
lea r8, [rsp + 0x1b0]
mov edx, 0x145f
mov rcx, rsi
call fcn.1000e0ffc
nop
lea rcx, [rsp + 0x1b0]
call fcn.10004f468
add ebp, r14d
add rdi, 0x1c
cmp ebp, 0x32
jb 0x10004ad91
cmp qword [rbx + 0x250], r13
je 0x10004b0ed
mov ebp, r13d
mov rdi, r13
mov rax, qword [rbx + 0x250]
cmp dword [rax + rdi], r13d
je 0x10004b0ed
mov qword [rsp + 0x1f8], r13
mov qword [rsp + 0x200], r13
mov qword [rsp + 0x208], r13
mov dword [rsp + 0x210], r13d
mov edx, dword [rax + rdi + 4]
lea rcx, [rsp + 0x1f8]
call fcn.10004f3c4
mov r11, qword [rbx + 0x250]
mov edx, dword [r11 + rdi + 8]
lea rcx, [rsp + 0x1f8]
call fcn.10004f3c4
mov r11, qword [rbx + 0x250]
mov edx, dword [r11 + rdi + 0xc]
lea rcx, [rsp + 0x1f8]
call fcn.10004f3c4
mov r9d, 3
lea r8, [rsp + 0x1f8]
mov edx, 0x19b1
mov rcx, rsi
call fcn.1000e0ffc
nop
lea rcx, [rsp + 0x1f8]
call fcn.10004f468
add ebp, r14d
add rdi, 0x10
cmp ebp, 0x14
jb 0x10004b040
lea rcx, [rbx + 0x208]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0xd8]
mov r12d, 0x3f
cmp rbx, 0xa
ja 0x10004b26e
mov r8d, dword [rsp + 0xe0]
mov r9, qword [rsp + 0xd0]
cmp rbx, r13
jne 0x10004b12c
mov rbx, r13
jmp 0x10004b152
mov eax, r13d
cmp r8d, r13d
jbe 0x10004b14f
mov rcx, r9
cmp qword [rcx], r13
jne 0x10004b149
add eax, r14d
add rcx, r15
cmp eax, r8d
jb 0x10004b137
jmp 0x10004b14f
mov rbx, qword [r9 + rax*8]
jmp 0x10004b152
mov rbx, r13
cmp rbx, r13
je 0x10004b42a
or rbp, 0xffffffffffffffff
mov qword [rsp + 0x280], r13
mov qword [rsp + 0x288], r13
mov qword [rsp + 0x290], r13
mov dword [rsp + 0x298], r13d
mov eax, r13d
cmp rbx, r13
setne al
cmp eax, r13d
je 0x10004b263
mov r10, rbx
cmp rbx, r13
jne 0x10004b19e
mov rbx, r13
jmp 0x10004b1d7
mov rcx, qword [rbx + 0x10]
cmp rcx, r13
jne 0x10004b1d4
mov rcx, r13
xor edx, edx
mov eax, dword [rbx + 0x18]
div r8d
add edx, r14d
movsxd rax, edx
lea r9, [r9 + rax*8]
cmp edx, r8d
jae 0x10004b1d4
cmp qword [r9], r13
je 0x10004b1c9
mov rcx, qword [r9]
add edx, r14d
add r9, r15
cmp rcx, r13
je 0x10004b1bc
mov rbx, rcx
mov r8d, r12d
lea rdx, [rsp + 0x270]
mov rcx, r10
call fcn.100035a14
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x280]
call fcn.10004f1cc
nop
mov rdx, qword [rsp + 0x270]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b21f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, r14d
lea r8, [rsp + 0x280]
mov edx, 0x145a
mov rcx, rsi
call fcn.1000e0ffc
nop
lea rcx, [rsp + 0x280]
call fcn.10004f468
cmp rbx, r13
je 0x10004b42e
mov r8d, dword [rsp + 0xe0]
mov r9, qword [rsp + 0xd0]
jmp 0x10004b15f
mov ecx, 0x80004005
call fcn.100036284
nop
mov rax, r15
mul rbx
mov rbp, 0xffffffffffffffff
cmovo rax, rbp
mov rcx, rax
call fcn.10011bdc8
mov rdi, rax
cmp rax, r13
je 0x10004b42e
mov r10, r13
cmp qword [rsp + 0xd8], r13
jne 0x10004b2a5
mov rcx, r13
jmp 0x10004b2d9
mov eax, r13d
mov edx, dword [rsp + 0xe0]
cmp edx, r13d
jbe 0x10004b2d6
mov r8, qword [rsp + 0xd0]
mov rcx, r8
cmp qword [rcx], r13
jne 0x10004b2d0
add eax, r14d
add rcx, r15
cmp eax, edx
jb 0x10004b2bf
jmp 0x10004b2d6
mov rcx, qword [r8 + rax*8]
jmp 0x10004b2d9
mov rcx, r13
cmp rcx, r13
je 0x10004b342
cmp r10, rbx
jae 0x10004b342
mov qword [rdi + r10*8], rcx
add r10, r14
cmp rcx, r13
jne 0x10004b2f4
mov rcx, r13
jmp 0x10004b33d
mov r8, qword [rcx + 0x10]
cmp r8, r13
jne 0x10004b33a
mov r8, r13
xor edx, edx
mov eax, dword [rcx + 0x18]
div dword [rsp + 0xe0]
add edx, r14d
movsxd rcx, edx
mov rax, qword [rsp + 0xd0]
lea r9, [rax + rcx*8]
cmp edx, dword [rsp + 0xe0]
jae 0x10004b33a
cmp qword [r9], r13
je 0x10004b32f
mov r8, qword [r9]
add edx, r14d
add r9, r15
cmp r8, r13
je 0x10004b31e
mov rcx, r8
cmp rcx, r13
jne 0x10004b2de
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
lea r9, [0x100049610]
mov r8, r15
mov rdx, rbx
mov rcx, rdi
call sub.msvcrt.dll_qsort_s
mov rbx, r13
mov qword [rsp + 0x2a0], r13
mov qword [rsp + 0x2a8], r13
mov qword [rsp + 0x2b0], r13
mov dword [rsp + 0x2b8], r13d
mov rcx, qword [rdi + rbx*8]
mov eax, r13d
cmp rcx, r13
setne al
cmp eax, r13d
je 0x10004b41f
mov r8d, r12d
lea rdx, [rsp + 0x248]
call fcn.100035a14
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x2a0]
call fcn.10004f1cc
nop
mov rdx, qword [rsp + 0x248]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b3e2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, r14d
lea r8, [rsp + 0x2a0]
mov edx, 0x145a
mov rcx, rsi
call fcn.1000e0ffc
nop
lea rcx, [rsp + 0x2a0]
call fcn.10004f468
add rbx, r14
cmp rbx, 0xa
jl 0x10004b367
mov rcx, rdi
call sub.msvcrt.dll_free
jmp 0x10004b42e
mov ecx, 0x80004005
call fcn.100036284
nop
or rbp, 0xffffffffffffffff
cmp qword [rsp + 0x168], r13
je 0x10004b5d2
mov eax, r13d
mov r9, qword [rsp + 0x160]
mov r8d, dword [rsp + 0x170]
cmp r8d, r13d
jbe 0x10004b46f
mov rcx, r9
cmp qword [rcx], r13
jne 0x10004b469
add eax, r14d
add rcx, r15
cmp eax, r8d
jb 0x10004b457
jmp 0x10004b46f
mov rbx, qword [r9 + rax*8]
jmp 0x10004b472
mov rbx, r13
cmp rbx, r13
je 0x10004b5d2
mov qword [rsp + 0x250], r13
mov qword [rsp + 0x258], r13
mov qword [rsp + 0x260], r13
mov dword [rsp + 0x268], r13d
mov eax, r13d
cmp rbx, r13
setne al
cmp eax, r13d
je 0x10004b5c7
mov rdi, rbx
cmp rbx, r13
jne 0x10004b4ba
mov rbx, r13
jmp 0x10004b4f3
mov rcx, qword [rbx + 0x18]
cmp rcx, r13
jne 0x10004b4f0
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 0x10004b4f0
cmp qword [r9], r13
je 0x10004b4e5
mov rcx, qword [r9]
add edx, r14d
add r9, r15
cmp rcx, r13
je 0x10004b4d8
mov rbx, rcx
mov r8d, r12d
lea rdx, [rsp + 0x220]
mov rcx, rdi
call fcn.100035a14
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x250]
call fcn.10004f1cc
nop
mov rdx, qword [rsp + 0x220]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b53b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
lea rcx, [rdi + 8]
mov r8d, r12d
lea rdx, [rsp + 0x240]
call fcn.100035a14
nop
mov rdx, qword [rax]
lea rcx, [rsp + 0x250]
call fcn.10004f1cc
nop
mov rdx, qword [rsp + 0x240]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b584
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov r9d, 2
lea r8, [rsp + 0x250]
mov edx, 0x1466
mov rcx, rsi
call fcn.1000e0ffc
nop
lea rcx, [rsp + 0x250]
call fcn.10004f468
cmp rbx, r13
je 0x10004b5d2
mov r8d, dword [rsp + 0x170]
mov r9, qword [rsp + 0x160]
jmp 0x10004b47b
mov ecx, 0x80004005
call fcn.100036284
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b5f3
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
add dword [rsp + 0x100], r14d
mov rcx, qword [rsp + 0xd0]
cmp rcx, r13
je 0x10004b655
mov esi, r13d
mov eax, dword [rsp + 0xe0]
cmp eax, r13d
jbe 0x10004b655
mov rdi, r13
mov rbx, qword [rdi + rcx]
cmp rbx, r13
je 0x10004b64b
mov rdx, rbx
mov rbx, qword [rbx + 0x10]
lea rcx, [rsp + 0xd0]
call fcn.10004e670
cmp rbx, r13
jne 0x10004b623
mov eax, dword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
add esi, r14d
add rdi, r15
cmp esi, eax
jb 0x10004b61a
call sub.msvcrt.dll_free
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xd8], r13
cmp dword [rsp + 0x100], r13d
jne 0x10004b695
xor edx, edx
lea rcx, [rsp + 0xd0]
call fcn.100069b88
mov edx, eax
xor r8d, r8d
lea rcx, [rsp + 0xd0]
call fcn.10004e210
mov qword [rsp + 0x110], r13
mov rcx, qword [rsp + 0x108]
cmp rcx, r13
je 0x10004b6c3
mov rbx, qword [rcx]
call qword [sym.imp.msvcrt.dll_free]
mov rcx, rbx
cmp rbx, r13
jne 0x10004b6aa
mov qword [rsp + 0x108], r13
mov eax, 0xffffffff
add dword [rsp + 0x100], eax
mov ebx, dword [rsp + 0x190]
add ebx, r14d
mov dword [rsp + 0x190], ebx
mov rcx, qword [rsp + 0x160]
cmp rcx, r13
je 0x10004b741
mov esi, r13d
mov eax, dword [rsp + 0x170]
cmp eax, r13d
jbe 0x10004b741
mov rdi, r13
mov rbx, qword [rdi + rcx]
cmp rbx, r13
je 0x10004b730
mov rdx, rbx
mov rbx, qword [rbx + 0x18]
lea rcx, [rsp + 0x160]
call fcn.10004e880
cmp rbx, r13
jne 0x10004b708
mov eax, dword [rsp + 0x170]
mov rcx, qword [rsp + 0x160]
add esi, r14d
add rdi, r15
cmp esi, eax
jb 0x10004b6ff
mov ebx, dword [rsp + 0x190]
call sub.msvcrt.dll_free
mov qword [rsp + 0x160], r13
mov qword [rsp + 0x168], r13
cmp ebx, r13d
jne 0x10004b77c
xor edx, edx
lea rcx, [rsp + 0x160]
call fcn.100069b88
mov edx, eax
xor r8d, r8d
lea rcx, [rsp + 0x160]
call fcn.10004e210
mov rcx, qword [rsp + 0x198]
cmp rcx, r13
je 0x10004b79a
mov rbx, qword [rcx]
call qword [sym.imp.msvcrt.dll_free]
mov rcx, rbx
cmp rbx, r13
jne 0x10004b789
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b7bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rdx, qword [rsp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b7e1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b805
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b826
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b847
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
lea rcx, [rsp + 0xb8]
call fcn.10004d050
nop
mov rdx, qword [rsp + 0x148]
add rdx, 0xffffffffffffffe8
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
cmp eax, r13d
jg 0x10004b881
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [0x100153eb8]
jmp 0x10004b888
mov rcx, qword [0x100153eb8]
lea rax, [0x100153eb8]
cmp rcx, rax
je 0x10004b8af
test byte [rcx + 0x1c], r14b
je 0x10004b8af
mov edx, 0x13d
lea r8, [0x10001e5a0]
mov rcx, qword [rcx + 0x10]
call fcn.100034784
mov rcx, qword [rsp + 0x2e0]
xor rcx, rsp
call fcn.10011be80
lea r11, [rsp + 0x320]
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