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

Disassembly:
lea r12, [rsp - 0xc0]
cmp r12, qword [r14 + 0x10]
jbe 0x445606
sub rsp, 0x140
mov qword [rsp + 0x138], rbp
lea rbp, [rsp + 0x138]
test byte [rax], al
lea rdx, [rsi + rdi]
cmp rdx, 0x10000
ja 0x4455f8
test byte [rbx], al
mov rcx, rdx
shl rdx, 1
lea r9, [rsi + rdi]
lea r9, [r9 - 0x20000]
mov r10, r9
sar r9, 0x3f
and rdx, r9
lea r9, [rbx + rdx]
neg r10
cmp r10, rcx
jb 0x4455ed
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x160], rdi
mov byte [rsp + 0x170], r8b
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0x148], rax
cmp qword [0x005e1988], 0
ja 0x4441cf
xor esi, esi
jmp 0x444228
call fcn.0045f6c0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x150]
mov rdi, qword [rsp + 0x160]
movzx r8d, byte [rsp + 0x170]
mov r9, qword [rsp + 0xb8]
mov rsi, rax
mov rax, qword [rsp + 0x148]
xor r10d, r10d
xor r11d, r11d
jmp 0x444235
lea r10, [r12 + 1]
cmp r10, rcx
jge 0x444325
mov r12, r10
shl r10, 4
mov r13, qword [rax + r10]
test r13, r13
je 0x4442e5
mov r10, qword [r14 + 0x30]
mov r13d, dword [r10 + 0xf0]
mov dword [rsp + 0x3c], r13d
mov r15d, dword [r10 + 0xf4]
mov dword [r10 + 0xf0], r15d
shl r13d, 0x11
mov r9d, dword [rsp + 0x3c]
xor r13d, r9d
mov r9d, r15d
xor r15d, r13d
shr r13d, 7
xor r13d, r15d
mov r15d, r9d
shr r9d, 0x10
xor r9d, r13d
mov dword [r10 + 0xf4], r9d
lea r10, [r11 + 1]
mov r13d, r10d
add r9d, r15d
imul r9, r13
shr r9, 0x20
cmp r9, rcx
jae 0x4455e5
movzx r13d, word [rbx + r9*2]
nop word [rax + rax]
cmp r11, rcx
jae 0x4455d8
mov word [rbx + r11*2], r13w
mov word [rbx + r9*2], r12w
mov r9, qword [rsp + 0xb8]
mov r11, r10
nop
jmp 0x444230
lea r13, [rax + r10]
lea r13, [r13 + 8]
cmp dword [0x005e1b40], 0
jne 0x444305
mov qword [rax + r10 + 8], 0
nop
jmp 0x444230
mov r10, rdi
mov rdi, r13
mov r15, r9
xor r9d, r9d
call fcn.0045f9c0
mov rdi, r10
mov r9, r15
nop dword [rax]
jmp 0x444230
cmp r11, rcx
ja 0x4455cd
xor r10d, r10d
jmp 0x444340
mov word [r9 + r10*2], r12w
lea r10, [r13 + 1]
nop dword [rax]
cmp r10, r11
jge 0x444385
movzx r12d, word [rbx + r10*2]
cmp r12, rcx
jae 0x4455c5
shl r12, 4
mov r12, qword [rax + r12]
mov qword [rsp + 0xd0], r12
mov r13, r10
jmp 0x44554e
mov rdx, qword [rsp + 0x90]
movzx r12d, word [rbx + r13*2]
cmp r10, r11
jb 0x444333
nop dword [rax]
jmp 0x445596
lea r10, [r11 - 1]
jmp 0x4443a0
mov word [r9 + r15*2], r13w
dec r10
mov rdx, qword [rsp + 0x90]
nop dword [rax + rax]
test r10, r10
jl 0x4443f5
movzx r12d, word [r9 + r10*2]
cmp r12, rcx
jae 0x445525
mov qword [rsp + 0x58], r10
mov word [rsp + 0x38], r12w
mov r13d, r12d
shl r12, 4
mov r12, qword [rax + r12]
mov qword [rsp + 0xd8], r12
movzx r15d, word [rbx + rdx]
mov word [r9 + r10*2], r15w
xor r15d, r15d
nop
jmp 0x44540e
movzx r13d, word [rsp + 0x38]
cmp r15, r11
jb 0x44438b
jmp 0x4454d4
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], r11
mov rbx, rcx
mov rdi, r9
mov rsi, r11
mov r8, rcx
call fcn.00443e60
mov rdx, qword [rsp + 0x160]
mov rax, qword [rsp + 0x148]
mov r8, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x48]
mov r9, qword [rsp + 0x150]
xor ecx, ecx
jmp 0x444440
inc rcx
mov rax, rbx
nop
cmp rcx, rsi
jge 0x4444b9
movzx r10d, word [r9 + rcx*2]
cmp r10, r8
jae 0x4453df
mov qword [rsp + 0x90], r10
mov r11, r10
shl r10, 4
mov r12, qword [rax + r10]
mov qword [rsp + 0xe0], r12
cmp rdx, r11
jg 0x44447c
test byte [r12], al
jmp 0x4450fe
cmp dword [r12 + 0x1c], 0
jne 0x4450e5
nop
jmp 0x444ec1
mov rbx, rax
mov rdi, r11
mov r11d, 1
xor r13d, r13d
nop dword [rax]
test r13, r13
jne 0x44503b
mov r13, qword [r12]
cmp qword [r12 + 8], r13
jbe 0x444439
jmp 0x444fb3
movzx r9d, byte [rsp + 0x170]
test r9b, r9b
je 0x444505
cmp qword [r14 + 0x148], 0
jne 0x444eaa
mov qword [rsp + 0xc0], r14
mov r9, r14
lea r10, [r9 + 0x148]
mov qword [rsp + 0xf8], r10
mov r11, qword [rsp + 0xb8]
mov rcx, r10
xor ebx, ebx
nop dword [rax]
jmp 0x4445ae
mov rbx, r8
mov rcx, rbx
mov rdi, qword [rsp + 0xb8]
call fcn.00443f60
mov rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
xor edx, edx
test rax, rax
jle 0x444552
mov byte [rsp + 0x36], dl
mov qword [rsp + 0x60], rcx
mov rcx, qword [rsp + 0x40]
sub rax, rcx
mov ebx, 1
call fcn.0042ab40
mov rcx, qword [rsp + 0x60]
movzx edx, byte [rsp + 0x36]
mov rax, rcx
mov ebx, edx
mov rbp, qword [rsp + 0x138]
add rsp, 0x140
ret
mov r12, qword [rsp + 0x90]
lea rbx, [r12 + 1]
lea r10, [rax + 0x40]
mov rsi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x98]
mov r12, qword [rsp + 0xb8]
mov rax, r9
mov rcx, qword [rsp + 0xf8]
mov rdx, r11
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0xc0]
mov r11, r12
cmp rbx, rsi
jge 0x444855
movzx edi, word [r11 + rbx*2]
nop dword [rax]
cmp rdi, r8
jae 0x444e9f
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0xb0], r10
shl rdi, 4
mov qword [rsp + 0x80], rdi
mov rdx, qword [rax + rdi]
mov qword [rsp + 0xe0], rdx
call fcn.00436b20
test byte [rax], al
cmp dword [0x005e1b40], 0
jne 0x444616
mov rdx, qword [rsp + 0xc0]
mov qword [rax], rdx
jmp 0x444626
mov rdi, rax
mov rdx, qword [rsp + 0xc0]
call fcn.0045f940
mov byte [rax + 0x34], 1
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x148]
mov r8, qword [r9 + r8 + 8]
cmp dword [0x005e1b40], 0
jne 0x44464e
mov qword [rax + 0x18], r8
jmp 0x444657
lea rdi, [rax + 0x18]
call fcn.0045f9a0
mov qword [rax + 0x28], 0
mov r8, qword [rsp + 0x40]
test r8, r8
je 0x444671
mov qword [rax + 0x28], 0xffffffffffffffff
cmp dword [0x005e1b40], 0
jne 0x444693
mov r10, qword [rsp + 0xe0]
mov qword [rax + 0x50], r10
mov r11, qword [rsp + 0xb0]
mov qword [r11], rax
jmp 0x4446ba
lea rdi, [rax + 0x50]
mov rcx, r8
mov r8, qword [rsp + 0xe0]
call fcn.0045f9a0
mov rdi, qword [rsp + 0xb0]
call fcn.0045f820
mov r10, r8
mov r8, rcx
mov r11, qword [rsp + 0x160]
mov r12, qword [rsp + 0x88]
cmp r11, r12
jle 0x444795
test byte [r10], al
cmp dword [0x005e1b40], 0
jne 0x4446e9
mov qword [rax + 8], 0
jmp 0x4446fb
lea rdi, [rax + 8]
mov rcx, r8
xor r8d, r8d
call fcn.0045f9a0
mov r8, rcx
lea r12, [r10 + 0x50]
mov r13, qword [r10 + 0x50]
test r13, r13
je 0x44474d
cmp dword [0x005e1b40], 0
jne 0x444725
mov qword [rax + 0x10], r13
mov qword [r13 + 8], rax
mov qword [r10 + 0x50], rax
nop dword [rax]
jmp 0x444567
lea rdi, [rax + 0x10]
mov rcx, r8
mov r8, r13
call fcn.0045f9a0
lea rdi, [r8 + 8]
call fcn.0045f820
mov rdi, r12
call fcn.0045f820
mov r8, rcx
jmp 0x444567
cmp dword [0x005e1b40], 0
jne 0x44476b
mov qword [rax + 0x10], 0
mov qword [r10 + 0x48], rax
mov qword [r10 + 0x50], rax
jmp 0x444567
lea rdi, [rax + 0x10]
mov rcx, r8
xor r8d, r8d
call fcn.0045f9a0
lea rdi, [r10 + 0x48]
nop
call fcn.0045f820
mov rdi, r12
call fcn.0045f820
mov r8, rcx
jmp 0x444567
test byte [r10], al
cmp dword [0x005e1b40], 0
nop
jne 0x4447ac
mov qword [rax + 8], 0
jmp 0x4447be
lea rdi, [rax + 8]
mov rcx, r8
xor r8d, r8d
call fcn.0045f9a0
mov r8, rcx
lea r12, [r10 + 0x40]
mov r13, qword [r10 + 0x40]
test r13, r13
je 0x44480d
cmp dword [0x005e1b40], 0
jne 0x4447e5
mov qword [rax + 0x10], r13
mov qword [r13 + 8], rax
mov qword [r10 + 0x40], rax
jmp 0x444567
lea rdi, [rax + 0x10]
mov rcx, r8
mov r8, r13
call fcn.0045f9a0
lea rdi, [r8 + 8]
call fcn.0045f820
mov rdi, r12
call fcn.0045f820
mov r8, rcx
jmp 0x444567
cmp dword [0x005e1b40], 0
jne 0x44482b
mov qword [rax + 0x10], 0
mov qword [r10 + 0x38], rax
mov qword [r10 + 0x40], rax
jmp 0x444567
lea rdi, [rax + 0x10]
mov rcx, r8
xor r8d, r8d
call fcn.0045f9a0
lea rdi, [r10 + 0x38]
nop
call fcn.0045f820
mov rdi, r12
call fcn.0045f820
mov r8, rcx
jmp 0x444567
test byte [r9], al
lea rdi, [r9 + 0x88]
mov qword [rsp + 0xf0], rdi
cmp dword [0x005e1b40], 0
jne 0x44487d
mov qword [r9 + 0x88], 0
jmp 0x444885
xor ebx, ebx
nop
call fcn.0045f960
lea rdx, [r9 + 0xb9]
mov r8d, 1
xchg byte [rdx], r8b
lea rax, [0x004da1a0]
xor ebx, ebx
mov ecx, 9
mov edi, 0x18
mov esi, 1
call fcn.00436900
mov rdx, qword [rsp + 0xc0]
mov byte [rdx + 0xb8], 0
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x48]
mov r8, rcx
call fcn.00443e60
mov rdx, qword [rsp + 0xc0]
mov dword [rdx + 0x178], 0
mov r8, qword [rdx + 0x88]
cmp dword [0x005e1b40], 0
jne 0x444918
mov qword [rdx + 0x88], 0
jmp 0x444928
mov rdi, qword [rsp + 0xf0]
xor r9d, r9d
call fcn.0045f9c0
mov r9, qword [rdx + 0x148]
mov rax, r9
jmp 0x444938
mov r9, qword [r9 + 0x40]
test r9, r9
je 0x44497b
mov byte [r9 + 0x34], 0
cmp dword [0x005e1b40], 0
jne 0x44495d
mov qword [r9 + 0x18], 0
mov qword [r9 + 0x50], 0
jmp 0x444934
lea rdi, [r9 + 0x18]
mov rcx, rdx
xor edx, edx
call fcn.0045f940
lea rdi, [r9 + 0x50]
xor edx, edx
call fcn.0045f940
mov rdx, rcx
jmp 0x444934
cmp dword [0x005e1b40], 0
jne 0x444991
mov qword [rdx + 0x148], 0
jmp 0x4449a5
mov rdi, qword [rsp + 0xf8]
xor edx, edx
nop dword [rax + rax]
call fcn.0045f940
mov qword [rsp + 0xe8], r8
mov rdx, qword [rsp + 0x160]
mov r10, qword [rsp + 0x148]
mov rcx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0xb8]
xor ebx, ebx
xor r9d, r9d
mov r11, 0xffffffffffffffff
xor r12d, r12d
mov r13, 0xffffffffffffffff
jmp 0x444a80
call fcn.00436e20
mov rcx, qword [rsp + 0x90]
lea rbx, [rcx + 1]
mov rcx, qword [rsp + 0x160]
mov rdx, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x68]
movzx r11d, byte [rsp + 0x37]
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xa0]
mov rcx, rsi
mov rdx, qword [rsp + 0x160]
mov rsi, r8
mov rdi, r9
mov r8, qword [rsp + 0xe8]
mov r10, qword [rsp + 0x148]
mov rax, r15
mov r9, r13
mov r11, r12
movzx r12d, byte [rsp + 0x37]
mov r13, qword [rsp + 0x68]
cmp rbx, rsi
jge 0x444e20
movzx r15d, word [rdi + rbx*2]
cmp r15, rcx
jae 0x444e97
mov qword [rsp + 0x90], r15
shl r15, 4
lea rcx, [r10 + r15]
cmp rax, r8
jne 0x444ac9
mov r9, qword [rax + 0x28]
test r9, r9
cmovg r13, r9
movzx r12d, byte [rax + 0x35]
mov r11, qword [rsp + 0x90]
jmp 0x444dca
mov rcx, qword [r10 + r15]
mov r15, qword [rsp + 0x90]
cmp rdx, r15
jle 0x444c4d
test byte [rcx], al
mov r15, qword [rax + 0x10]
lea rdx, [rax + 8]
mov r8, qword [rax + 8]
test r15, r15
je 0x444bb1
lea r10, [rax + 0x10]
test r8, r8
je 0x444b5a
cmp dword [0x005e1b40], 0
jne 0x444b16
mov qword [r15 + 8], r8
mov qword [r8 + 0x10], r15
movups xmmword [rax + 8], xmm15
jmp 0x444b4d
lea rcx, [r15 + 8]
mov rdi, rcx
nop dword [rax]
call fcn.0045f9a0
lea rdi, [r8 + 0x10]
mov rcx, r15
call fcn.0045f920
mov rdi, rdx
xor ecx, ecx
call fcn.0045f920
mov rdi, r10
nop
call fcn.0045f920
mov rdi, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x148]
jmp 0x444db7
cmp dword [0x005e1b40], 0
jne 0x444b79
mov qword [r15 + 8], 0
mov qword [rcx + 0x50], r15
mov qword [rax + 0x10], 0
jmp 0x444ba4
lea rdx, [r15 + 8]
mov rdi, rdx
xor r8d, r8d
call fcn.0045f9a0
lea rdi, [rcx + 0x50]
mov rcx, r15
call fcn.0045f920
mov rdi, r10
call fcn.0045f9a0
mov rdi, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x148]
jmp 0x444db7
test r8, r8
je 0x444c09
cmp dword [0x005e1b40], 0
jne 0x444bd8
mov qword [r8 + 0x10], 0
mov qword [rcx + 0x48], r8
mov qword [rax + 8], 0
jmp 0x444db7
lea r15, [r8 + 0x10]
mov rdi, r15
xor esi, esi
call fcn.0045f980
lea rdi, [rcx + 0x48]
call fcn.0045f9a0
mov rdi, rdx
call fcn.0045f980
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0xb8]
jmp 0x444db7
cmp qword [rcx + 0x48], rax
jne 0x444db7
cmp dword [0x005e1b40], 0
jne 0x444c26
movups xmmword [rcx + 0x48], xmm15
jmp 0x444db7
lea rdx, [rcx + 0x48]
mov r8, rdi
mov rdi, rdx
mov r15, r8
xor r8d, r8d
call fcn.0045f9a0
lea rdi, [rcx + 0x50]
nop
call fcn.0045f9a0
mov rdi, r15
jmp 0x444db7
test byte [rcx], al
mov r15, qword [rax + 0x10]
lea rdx, [rax + 8]
mov r8, qword [rax + 8]
nop dword [rax + rax]
test r15, r15
je 0x444d25
lea r10, [rax + 0x10]
test r8, r8
je 0x444ccc
cmp dword [0x005e1b40], 0
jne 0x444c8a
mov qword [r15 + 8], r8
mov qword [r8 + 0x10], r15
movups xmmword [rax + 8], xmm15
jmp 0x444cbf
lea rcx, [r15 + 8]
mov rdi, rcx
call fcn.0045f9a0
lea rdi, [r8 + 0x10]
mov rcx, r15
nop dword [rax]
call fcn.0045f920
mov rdi, rdx
xor ecx, ecx
call fcn.0045f920
mov rdi, r10
call fcn.0045f920
mov rdi, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x148]
jmp 0x444db7
cmp dword [0x005e1b40], 0
jne 0x444ceb
mov qword [r15 + 8], 0
mov qword [rcx + 0x40], r15
mov qword [rax + 0x10], 0
jmp 0x444d16
lea rdx, [r15 + 8]
mov rdi, rdx
xor r8d, r8d
call fcn.0045f9a0
lea rdi, [rcx + 0x40]
mov rcx, r15
call fcn.0045f920
mov rdi, r10
call fcn.0045f9a0
mov rdi, qword [rsp + 0xb8]
mov r10, qword [rsp + 0x148]
nop
jmp 0x444db7
test r8, r8
je 0x444d80
cmp dword [0x005e1b40], 0
jne 0x444d49
mov qword [r8 + 0x10], 0
mov qword [rcx + 0x38], r8
mov qword [rax + 8], 0
jmp 0x444db7
lea r15, [r8 + 0x10]
mov rdi, r15
xor esi, esi
call fcn.0045f980
lea rdi, [rcx + 0x38]
nop dword [rax + rax]
call fcn.0045f9a0
mov rdi, rdx
call fcn.0045f980
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0xb8]
jmp 0x444db7
cmp qword [rcx + 0x38], rax
jne 0x444db7
cmp dword [0x005e1b40], 0
jne 0x444d96
movups xmmword [rcx + 0x38], xmm15
jmp 0x444db7
lea rdx, [rcx + 0x38]
mov r8, rdi
mov rdi, rdx
mov r15, r8
xor r8d, r8d
call fcn.0045f9a0
lea rdi, [rcx + 0x40]
call fcn.0045f9a0
mov rdi, r15
mov rdx, qword [rsp + 0x160]
mov r8, qword [rsp + 0xe8]
mov rcx, r9
mov qword [rsp + 0x90], rbx
mov byte [rsp + 0x37], r12b
mov qword [rsp + 0x60], r11
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0x68], r13
mov r9, qword [rax + 0x40]
mov qword [rsp + 0xa0], r9
cmp dword [0x005e1b40], 0
jne 0x444e0b
mov qword [rax + 0x40], 0
jmp 0x4449ed
lea r15, [rax + 0x40]
mov rdi, r15
xor edx, edx
call fcn.0045f940
jmp 0x4449ed
test r9, r9
je 0x444e86
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x70], r13
cmp rdx, r11
jle 0x444e3c
test r12b, r12b
je 0x444e65
xor r12d, r12d
mov byte [rsp + 0x36], r12b
mov rax, r10
mov rbx, rcx
mov r8, rcx
call fcn.00443f60
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
movzx edx, byte [rsp + 0x36]
nop
jmp 0x444528
mov rax, r10
mov rbx, rcx
mov r8, rcx
call fcn.00443f60
lea rax, [0x004bece0]
lea rbx, [0x004f5068]
call fcn.00433860
lea rax, [0x004d3326]
mov ebx, 0x14
call fcn.00434000
mov rax, r15
call fcn.0045fcc0
mov rax, rdi
mov rcx, r8
call fcn.0045fcc0
lea rax, [0x004d23a4]
mov ebx, 0x11
call fcn.00434000
mov rax, rbx
mov r11, rdi
mov r13, qword [r12 + 0x38]
test r13, r13
je 0x44448e
lea rdi, [r12 + 0x38]
mov r15, qword [r13 + 8]
test r15, r15
je 0x444f42
cmp dword [0x005e1b40], 0
jne 0x444efd
mov qword [r15 + 0x10], 0
mov qword [r12 + 0x38], r15
mov qword [r13 + 8], 0
jmp 0x444f6a
mov qword [rsp + 0xf8], rdi
mov rbx, r11
lea r11, [r15 + 0x10]
mov rdi, r11
xor edx, edx
call fcn.0045f940
mov rdi, qword [rsp + 0xf8]
mov r11, r9
mov r9, r15
call fcn.0045f9c0
lea rdi, [r13 + 8]
call fcn.0045f940
mov rdx, qword [rsp + 0x160]
mov r9, r11
mov r11, rbx
jmp 0x444f6a
cmp dword [0x005e1b40], 0
jne 0x444f53
movups xmmword [r12 + 0x38], xmm15
jmp 0x444f6a
mov rbx, rdx
xor edx, edx
call fcn.0045f940
lea rdi, [r12 + 0x40]
call fcn.0045f940
mov rdx, rbx
cmp byte [r13 + 0x34], 0
je 0x444f96
mov r15, qword [r13]
mov rbx, rax
xor eax, eax
mov rdi, r11
mov r11d, 1
lock cmpxchg dword [r15 + 0x178], r11d
sete r15b
xor r15d, 1
jmp 0x444fa5
mov rbx, rax
mov rdi, r11
mov r11d, 1
xor r15d, r15d
test r15b, r15b
jne 0x444ebb
jmp 0x4444a0
mov rax, qword [r12 + 0x20]
mov rdx, qword [r12 + 0x28]
mov rcx, qword [rbx + r10 + 8]
movzx esi, word [r12 + 0x18]
imul rsi, rdx
add rsi, qword [r12 + 0x10]
mov rbx, rsi
call fcn.00411980
mov rdx, qword [rsp + 0xe0]
mov rsi, qword [rdx + 0x28]
inc rsi
mov qword [rdx + 0x28], rsi
cmp qword [rdx + 8], rsi
jne 0x444ffa
mov qword [rdx + 0x28], 0
inc qword [rdx]
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x48]
mov r8, rcx
call fcn.00443f60
mov rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x90]
xor edx, edx
jmp 0x444528
mov qword [rsp + 0x100], 0
lea rdx, [rsp + 0x108]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x118]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x128]
movups xmmword [rdx], xmm15
lea rdx, [0x00445660]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x118], r8
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], r8
mov rcx, qword [rbx + r10 + 8]
mov rax, r12
mov rbx, r13
lea rdi, [rsp + 0x100]
mov esi, 2
call fcn.00405500
mov rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x90]
xor edx, edx
jmp 0x444528
mov rcx, r8
mov rdi, qword [rsp + 0xb8]
mov r10, rax
jmp 0x444e65
mov rax, rbx
mov r11, rdi
mov r13, qword [r12 + 0x48]
test r13, r13
je 0x4451ee
lea rdi, [r12 + 0x48]
mov r15, qword [r13 + 8]
test r15, r15
je 0x44517f
cmp dword [0x005e1b40], 0
jne 0x44513a
mov qword [r15 + 0x10], 0
mov qword [r12 + 0x48], r15
mov qword [r13 + 8], 0
jmp 0x4451a8
mov qword [rsp + 0xf8], rdi
mov rbx, r11
lea r11, [r15 + 0x10]
mov rdi, r11
xor edx, edx
call fcn.0045f940
mov rdi, qword [rsp + 0xf8]
mov r11, r9
mov r9, r15
call fcn.0045f9c0
lea rdi, [r13 + 8]
call fcn.0045f940
mov rdx, qword [rsp + 0x160]
mov r9, r11
mov r11, rbx
jmp 0x4451a8
cmp dword [0x005e1b40], 0
jne 0x445190
movups xmmword [r12 + 0x48], xmm15
jmp 0x4451a8
mov rbx, rdx
xor edx, edx
call fcn.0045f940
lea rdi, [r12 + 0x50]
nop
call fcn.0045f940
mov rdx, rbx
cmp byte [r13 + 0x34], 0
je 0x4451d4
mov r15, qword [r13]
mov rbx, rax
xor eax, eax
mov rdi, r11
mov r11d, 1
lock cmpxchg dword [r15 + 0x178], r11d
sete r15b
xor r15d, 1
jmp 0x4451e3
mov rbx, rax
mov rdi, r11
mov r11d, 1
xor r15d, r15d
test r15b, r15b
jne 0x4450f8
jmp 0x445200
mov rbx, rax
mov rdi, r11
mov r11d, 1
xor r13d, r13d
nop dword [rax]
test r13, r13
jne 0x445332
cmp qword [r12], 0
ja 0x44527b
cmp dword [r12 + 0x1c], 0
je 0x444439
mov qword [rsp + 0x98], r10
mov rax, rbx
mov rbx, r8
mov rcx, rbx
mov rdi, qword [rsp + 0xb8]
call fcn.00443f60
mov rdx, qword [rsp + 0x98]
mov r9, qword [rsp + 0x148]
mov rbx, qword [r9 + rdx + 8]
test rbx, rbx
je 0x445265
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rcx + 0x20]
call fcn.00411c20
mov rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x90]
xor edx, edx
jmp 0x444528
mov rcx, qword [r12 + 0x30]
mov rdx, qword [rbx + r10 + 8]
movzx r9d, word [r12 + 0x18]
imul rcx, r9
add rcx, qword [r12 + 0x10]
test rdx, rdx
je 0x4452be
mov qword [rsp + 0xa8], rcx
mov rax, qword [r12 + 0x20]
mov rbx, rdx
call fcn.00411980
mov rcx, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xe0]
mov rax, qword [r12 + 0x20]
mov rbx, rcx
call fcn.00411c20
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rcx + 0x30]
inc rdx
mov qword [rcx + 0x30], rdx
nop
cmp qword [rcx + 8], rdx
jne 0x4452ee
mov qword [rcx + 0x30], 0
dec qword [rcx]
mov rax, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x48]
mov r8, rcx
call fcn.00443f60
mov rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x90]
mov edx, 1
jmp 0x444528
mov qword [rsp + 0x100], 0
lea rdx, [rsp + 0x108]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x118]
movups xmmword [rdx], xmm15
lea rdx, [rsp + 0x128]
movups xmmword [rdx], xmm15
lea rdx, [0x004456c0]
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0x110], r8
mov qword [rsp + 0x118], r8
mov rdx, qword [rsp + 0xb8]
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rsi
mov qword [rsp + 0x130], r8
mov rcx, qword [rbx + r10 + 8]
mov rax, r12
mov rbx, r13
lea rdi, [rsp + 0x100]
mov esi, 2
call fcn.004062c0
mov rax, 0xffffffffffffffff
mov rcx, qword [rsp + 0x90]
mov edx, 1
jmp 0x444528
mov rax, r10
mov rcx, r8
call fcn.0045fcc0
movzx r12d, word [rsp + 0x3a]
mov word [r9 + r15*2], r12w
mov r12, qword [rsp + 0xd8]
movzx r13d, word [rsp + 0x38]
mov r15, rdx
mov rdx, qword [rsp + 0x90]
lea rdx, [r15 + r15]
lea rdx, [rdx + 1]
cmp r10, rdx
jle 0x4443eb
lea r13, [r15 + r15]
lea r13, [r13 + 2]
cmp r10, r13
jle 0x44549e
cmp r11, rdx
jbe 0x445518
lea r10, [r9 + r15*4]
lea r10, [r10 + 2]
movzx r10d, word [r10]
cmp r10, rcx
jae 0x445510
shl r10, 4
mov r10, qword [rax + r10]
cmp r11, r13
jbe 0x445505
mov qword [rsp + 0x50], r15
lea r15, [r9 + r15*4]
lea r15, [r15 + 4]
movzx r15d, word [r15]
cmp r15, rcx
jae 0x4454fd
shl r15, 4
mov r15, qword [rax + r15]
nop dword [rax]
cmp r15, r10
jbe 0x445494
mov r10, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rdx, r13
jmp 0x44549e
mov r10, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
nop
cmp rdx, r11
jae 0x4454f2
movzx r13d, word [r9 + rdx*2]
cmp r13, rcx
jae 0x4454ea
mov word [rsp + 0x3a], r13w
shl r13, 4
mov r13, qword [rax + r13]
nop dword [rax]
cmp r13, r12
jbe 0x4443e5
cmp r15, r11
jb 0x4453ea
jmp 0x4454df
mov rax, r15
mov rcx, r11
call fcn.0045fcc0
mov rax, r15
mov rcx, r11
call fcn.0045fcc0
mov eax, r13d
call fcn.0045fcc0
mov rax, rdx
mov rcx, r11
call fcn.0045fcc0
mov rax, r15
call fcn.0045fcc0
mov rax, r13
mov rcx, r11
call fcn.0045fcc0
mov rax, r10
call fcn.0045fcc0
mov rax, rdx
mov rcx, r11
nop
call fcn.0045fcc0
mov eax, r12d
call fcn.0045fcc0
mov rdx, r15
movzx r15d, word [rsp + 0x3a]
mov word [r9 + r10*2], r15w
mov r12, qword [rsp + 0xd0]
mov r10, rdx
mov rdx, qword [rsp + 0x90]
test r10, r10
jle 0x444373
lea r15, [r10 - 1]
shr r15, 0x3f
lea r15, [r10 + r15]
lea r15, [r15 - 1]
sar r15, 1
cmp r11, r15
jbe 0x4455b7
movzx edx, word [r9 + r15*2]
cmp rdx, rcx
jae 0x4455b0
mov word [rsp + 0x3a], dx
shl rdx, 4
mov rdx, qword [rax + rdx]
cmp r12, rdx
jbe 0x44436b
cmp r10, r11
jb 0x44552d
jmp 0x4455a5
mov rax, r10
mov rcx, r11
nop dword [rax]
call fcn.0045fcc0
mov rax, r10
mov rcx, r11
call fcn.0045fcc0
mov eax, edx
call fcn.0045fcc0
mov rax, r15
mov rcx, r11
nop dword [rax]
call fcn.0045fcc0
mov rax, r12
call fcn.0045fcc0
mov rdx, rcx
mov rcx, r11
call fcn.0045fd40
mov rax, r11
nop dword [rax + rax]
call fcn.0045fcc0
mov rax, r9
call fcn.0045fcc0
mov rdx, rcx
mov rbx, r10
call fcn.0045fe00
mov ebx, 0x10000
nop dword [rax]
call fcn.0045fdc0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov byte [rsp + 0x30], r8b
call fcn.0045d5c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
movzx r8d, byte [rsp + 0x30]
jmp fcn.00444120