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

Disassembly:
lea r12, [rsp - 0x2b8]
cmp r12, qword [r14 + 0x10]
jbe 0x44866e
sub rsp, 0x338
mov qword [rsp + 0x330], rbp
lea rbp, [rsp + 0x330]
test rsi, rsi
jle 0x447217
test r10, r10
jne 0x44865c
mov rcx, r14
cmp rcx, rdi
jne 0x447230
mov rdx, qword [rcx + 0x30]
cmp qword [rdx + 0x90], rcx
je 0x44864b
mov edx, dword [0x0051e188]
mov rcx, qword [rcx + 0x30]
movzx ecx, byte [rcx + 0xf9]
shr edx, 2
test cl, cl
cmovne edx, ecx
cmp rax, 0xffffffffffffffff
jne 0x447275
cmp rbx, 0xffffffffffffffff
jne 0x447275
mov rcx, qword [rdi + 0x70]
test rcx, rcx
je 0x447267
mov rbx, qword [rdi + 0x78]
xor r12d, r12d
jmp 0x44727e
mov rbx, qword [rdi + 0x40]
mov rcx, qword [rdi + 0x38]
mov r12, qword [rdi + 0x50]
jmp 0x44727e
mov rcx, rbx
xor r12d, r12d
mov rbx, rax
mov qword [rsp + 0x2d8], 0
mov rax, rdi
lea rdi, [rsp + 0x2e0]
lea rdi, [rdi - 0x30]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00451ab0
mov rbp, qword [rbp]
mov qword [rsp + 0x2e8], rbx
mov qword [rsp + 0x300], rcx
mov r13, qword [rax + 0x150]
mov r15, qword [rax + 0x158]
test r8, r8
je 0x4472da
xor edi, edi
jmp 0x4472e1
test r10, r10
sete dil
mov qword [rsp + 0x368], rsi
mov qword [rsp + 0x380], r10
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xd8], rcx
mov byte [rsp + 0x30], dil
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x290], r13
mov qword [rsp + 0x370], r8
mov qword [rsp + 0x378], r9
mov qword [rsp + 0x2c8], r11
mov qword [rsp + 0x288], r12
mov dword [rsp + 0x3c], edx
test rbx, rbx
jne 0x447366
mov rcx, qword [rcx]
mov qword [rsp + 0x2e8], rcx
mov rcx, qword [rsp + 0xd8]
lea rdx, [rcx + 8]
mov qword [rsp + 0x300], rdx
mov rax, qword [rsp + 0x2e8]
call fcn.00441f20
test rax, rax
je 0x447405
mov qword [rsp + 0x2d8], rax
mov qword [rsp + 0x2e0], rbx
lea rdi, [rsp + 0x118]
nop word [rax + rax]
nop dword [rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00451a74
mov rbp, qword [rbp]
mov rcx, qword [rsp + 0x2d0]
mov rsi, qword [rsp + 0x378]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xd8]
mov r11, qword [rsp + 0x368]
mov r13, qword [rsp + 0x290]
mov r15, qword [rsp + 0x90]
mov r12, qword [rsp + 0x288]
xor eax, eax
xor edx, edx
xor ebx, ebx
xor edi, edi
nop dword [rax + rax]
jmp 0x4474ca
mov rcx, qword [rsp + 0x380]
test rcx, rcx
jne 0x447425
movzx edx, byte [rsp + 0x30]
test dl, dl
je 0x447422
test rcx, rcx
nop
jmp 0x447425
test rcx, rcx
jne 0x447439
xor eax, eax
mov rbp, qword [rsp + 0x330]
add rsp, 0x338
ret
lea rax, [0x0049e47d]
mov ebx, 0xa
call fcn.0042dee0
mov qword [rsp + 0x2d8], r8
mov r8, qword [rsp + 0x258]
mov qword [rsp + 0x2e0], r8
mov r8, qword [rsp + 0x2f8]
mov qword [rsp + 0x2e8], r8
mov qword [rsp + 0x2f8], 0
mov r8, qword [rsp + 0x308]
mov qword [rsp + 0x300], r8
mov qword [rsp + 0x308], 0
mov qword [rsp + 0x328], 0
cmp r12b, 0x13
sete r8b
mov r12, qword [rsp + 0xe0]
mov r9, r12
mov rax, r10
xor r12d, r12d
mov edx, r8d
mov r10, qword [rsp + 0xd8]
cmp rsi, rax
jle 0x447ec6
mov qword [rsp + 0xd0], r11
mov r8, r12
mov r12, qword [rsp + 0x2d8]
mov r11, qword [rsp + 0x2e0]
cmp dword [r12 + 0x14], 0
je 0x447ec6
mov qword [rsp + 0x2c0], r11
mov qword [rsp + 0x2b8], r12
movzx r11d, byte [r12 + 0x29]
movzx r12d, byte [r12 + 0x28]
cmp r12b, 4
jne 0x447520
and r11d, 0xfffffffd
cmp qword [rsp + 0x2e8], r9
jne 0x44754a
cmp qword [rsp + 0x300], r10
jne 0x44754a
cmp qword [rcx + 0x78], r9
jne 0x44754a
nop word [rax + rax]
cmp qword [rcx + 0x70], r10
jne 0x44754a
and r11d, 0xfffffffd
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x58], rdi
mov byte [rsp + 0x31], bl
mov qword [rsp + 0x2b0], r8
mov byte [rsp + 0x2f], dl
cmp qword [rsp + 0x308], 0
je 0x447594
mov r12, qword [rsp + 0x2b8]
mov r12, qword [rsp + 0x2c0]
mov qword [rsp + 0x268], r12
mov r12, qword [rsp + 0x2b8]
jmp 0x4477a5
mov r10, qword [rsp + 0x340]
bt r10d, 2
jae 0x4476cc
mov r9, qword [rcx + 0x30]
cmp qword [r9], rcx
jne 0x4476c4
mov r9, qword [r9 + 0x90]
nop dword [rax + rax]
test r9, r9
je 0x4476ba
cmp r12b, 0xd
je 0x447628
cmp r12b, 0x14
jne 0x447613
mov r9, qword [r9 + 0x38]
mov qword [rsp + 0x300], r9
mov r9, qword [rcx + 0x30]
mov r9, qword [r9 + 0x90]
mov r13, qword [r9 + 0x150]
mov r15, qword [r9 + 0x158]
and r11d, 0xfffffffd
mov r9, qword [rsp + 0x2b8]
mov r12, qword [rsp + 0x2c0]
jmp 0x4476dc
mov r9, qword [rsp + 0x2b8]
mov r12, qword [rsp + 0x2c0]
jmp 0x4476dc
mov rax, qword [r9 + 0x40]
mov qword [rsp + 0x2e8], rax
call fcn.00441f20
mov qword [rsp + 0x2d8], rax
mov qword [rsp + 0x2e0], rbx
mov rcx, qword [rsp + 0x2d0]
mov rdx, qword [rcx + 0x30]
mov rdx, qword [rdx + 0x90]
movzx r11d, byte [rax + 0x29]
mov rdx, qword [rdx + 0x38]
mov qword [rsp + 0x300], rdx
mov rdx, qword [rcx + 0x30]
mov rdx, qword [rdx + 0x90]
mov r13, qword [rdx + 0x150]
mov r15, qword [rdx + 0x158]
movzx edx, byte [rsp + 0x2f]
mov rsi, qword [rsp + 0x378]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x2b0]
mov r10, qword [rsp + 0x340]
mov r9, rax
mov r12, rbx
mov rax, qword [rsp + 0x70]
movzx ebx, byte [rsp + 0x31]
jmp 0x4476dc
mov r9, qword [rsp + 0xe0]
jmp 0x4476cc
mov r9, qword [rsp + 0xe0]
mov r9, qword [rsp + 0x2b8]
mov r12, qword [rsp + 0x2c0]
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x290], r13
mov qword [rsp + 0x260], r12
mov qword [rsp + 0x280], r9
mov byte [rsp + 0x32], r11b
mov rcx, qword [rsp + 0x2e8]
mov rax, r9
mov rbx, r12
lea rdi, [rsp + 0x118]
call fcn.004428e0
movsxd rdx, eax
add rdx, qword [rsp + 0x300]
mov qword [rsp + 0x308], rdx
add rdx, 8
mov qword [rsp + 0x308], rdx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x2d0]
movzx edx, byte [rsp + 0x2f]
movzx ebx, byte [rsp + 0x31]
mov rsi, qword [rsp + 0x378]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x2b0]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xd8]
movzx r11d, byte [rsp + 0x32]
mov r12, qword [rsp + 0x280]
mov r13, qword [rsp + 0x260]
mov qword [rsp + 0x268], r13
mov r15, qword [rsp + 0x90]
mov r13, qword [rsp + 0x290]
mov qword [rsp + 0x90], r15
mov qword [rsp + 0x290], r13
mov qword [rsp + 0x270], r12
nop dword [rax]
test r11b, 1
je 0x4477e8
mov qword [rsp + 0x2f8], 0
xor r11d, r11d
xor r11d, r11d
mov qword [rsp + 0x258], r11
xor r11d, r11d
jmp 0x447a0a
test r11b, 2
je 0x447845
mov r11, qword [rsp + 0x380]
test r11, r11
je 0x44780e
nop dword [rax + rax]
test rax, rax
jle 0x44784d
test r11, r11
jne 0x448625
mov qword [rsp + 0x2f8], 0
mov qword [rsp + 0xa8], rax
xor eax, eax
mov qword [rsp + 0x240], rax
xor eax, eax
mov qword [rsp + 0x238], rax
mov rax, qword [rsp + 0xa8]
nop
jmp 0x4479e2
mov r11, qword [rsp + 0x380]
cmp qword [rsp + 0x2f8], 0
jne 0x44786f
mov r10, qword [rsp + 0x308]
add r10, 0xfffffffffffffff8
mov r10, qword [r10]
mov qword [rsp + 0x2f8], r10
mov rax, qword [rsp + 0x2f8]
call fcn.00441f20
nop dword [rax]
test rax, rax
je 0x4478a7
mov rcx, qword [rsp + 0x2d0]
movzx edx, byte [rsp + 0x30]
mov r10, qword [rsp + 0x270]
mov r11, qword [rsp + 0x380]
jmp 0x447986
movzx r9d, byte [rsp + 0x30]
test r9b, r9b
je 0x4478e9
mov rcx, qword [rsp + 0x2d0]
mov r10, qword [rcx + 0x30]
cmp byte [r10 + 0xe8], 0
je 0x4478df
mov r10, qword [rsp + 0x270]
cmp byte [r10 + 0x28], 0x13
jne 0x4478f9
mov edx, r9d
xor r9d, r9d
jmp 0x4478fc
mov r10, qword [rsp + 0x270]
jmp 0x4478f9
mov rcx, qword [rsp + 0x2d0]
mov r10, qword [rsp + 0x270]
mov edx, r9d
mov qword [rsp + 0x2a8], rax
mov qword [rsp + 0x2a0], rbx
mov r11, qword [rsp + 0x380]
test r11, r11
jne 0x447923
test r9b, r9b
jne 0x447923
test r11, r11
jmp 0x44797d
mov rax, r10
mov rbx, qword [rsp + 0x268]
call fcn.004424a0
call fcn.004086c0
mov rax, qword [rsp + 0x2f8]
call fcn.00408640
mov rdx, qword [rsp + 0x380]
test rdx, rdx
mov rax, qword [rsp + 0x2a8]
mov rcx, qword [rsp + 0x2d0]
movzx edx, byte [rsp + 0x30]
mov rbx, qword [rsp + 0x2a0]
mov r10, qword [rsp + 0x270]
mov r11, qword [rsp + 0x380]
nop dword [rax]
jne 0x44860f
movzx edx, byte [rsp + 0x2f]
mov rsi, qword [rsp + 0x378]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x2b0]
mov r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xd8]
mov r12, qword [rsp + 0x270]
mov r13, qword [rsp + 0x290]
mov r15, qword [rsp + 0x90]
mov qword [rsp + 0x240], rax
mov qword [rsp + 0x238], rbx
mov rax, qword [rsp + 0x70]
movzx ebx, byte [rsp + 0x31]
mov r11, qword [rsp + 0x240]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x238]
mov qword [rsp + 0x258], rax
mov rax, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x308]
mov qword [rsp + 0x310], r10
lea r9, [r10 - 8]
mov qword [rsp + 0x310], r9
cmp qword [rsp + 0x300], r9
jae 0x447a3c
lea r9, [r10 - 0x10]
mov qword [rsp + 0x310], r9
mov qword [rsp + 0x278], r11
mov r9, qword [rsp + 0x380]
test r9, r9
je 0x447a59
movzx r10d, byte [rsp + 0x30]
jmp 0x447a6c
movzx r10d, byte [rsp + 0x30]
nop
test r10b, r10b
je 0x447b32
test r9, r9
mov r11, qword [rsp + 0x308]
mov qword [rsp + 0x318], r11
je 0x447a8d
cmp dword [r12 + 0xc], 0x80000000
sete r11b
jmp 0x447a90
xor r11d, r11d
movsxd r13, dword [r12 + 0xc]
mov qword [rsp + 0x320], r13
mov qword [rsp + 0x328], 0
test r11b, r11b
je 0x447b22
test r9, r9
setne dil
lea rax, [rsp + 0x2d8]
mov rbx, r12
mov rcx, qword [rsp + 0x268]
mov rsi, r8
call fcn.004486e0
mov qword [rsp + 0x320], rax
mov qword [rsp + 0x328], rbx
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x2d0]
movzx edx, byte [rsp + 0x2f]
movzx ebx, byte [rsp + 0x31]
mov rsi, qword [rsp + 0x378]
mov rdi, qword [rsp + 0x58]
mov r9, qword [rsp + 0x380]
movzx r10d, byte [rsp + 0x30]
mov r12, qword [rsp + 0x270]
mov r15, qword [rsp + 0x90]
mov r11, qword [rsp + 0x278]
mov r13, qword [rsp + 0x290]
mov r8, r11
mov r11, qword [rsp + 0x2e8]
mov qword [rsp + 0x2f0], r11
test dl, dl
je 0x447b8b
mov r11, qword [rsp + 0x2d8]
mov r13d, dword [r11 + 0x10]
test r13d, r13d
je 0x447b72
mov r11, qword [r11]
lea r11, [r11 + r13]
lea r11, [r11 + 1]
mov qword [rsp + 0x2f0], r11
test r9, r9
jmp 0x447b81
mov qword [rsp + 0x2f0], 0
test r9, r9
mov r13, qword [rsp + 0x290]
jmp 0x447b8e
test r9, r9
jne 0x447ba5
mov r11, qword [rsp + 0x370]
test r11, r11
nop dword [rax + rax]
jmp 0x447c2d
mov rcx, qword [r9]
lea rax, [rsp + 0x2d8]
mov rbx, qword [rsp + 0x2c8]
mov rdx, r9
call rcx
nop dword [rax]
test al, al
je 0x447eb1
mov rax, qword [rsp + 0x370]
test rax, rax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x2d0]
movzx edx, byte [rsp + 0x2f]
movzx ebx, byte [rsp + 0x31]
mov rsi, qword [rsp + 0x378]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x278]
mov r9, qword [rsp + 0x380]
movzx r10d, byte [rsp + 0x30]
mov r11, qword [rsp + 0x370]
mov r12, qword [rsp + 0x270]
mov r13, qword [rsp + 0x290]
mov r15, qword [rsp + 0x90]
je 0x447d05
mov r9, qword [rsp + 0x2e8]
nop dword [rax + rax]
test rax, rax
jne 0x447c58
mov r13, qword [rsp + 0x340]
bt r13d, 1
jb 0x447c6a
test dl, dl
jmp 0x447c62
test dl, dl
mov r13, qword [rsp + 0x340]
jne 0x447c6a
cmp qword [r12], r9
jne 0x447c70
lea r15, [r9 + 1]
jmp 0x447c82
lea r13, [r9 - 1]
mov r15, r9
mov r9, r13
mov r13, qword [rsp + 0x340]
cmp byte [r12 + 0x2b], 3
ja 0x447ca6
mov qword [rsp + 0x98], rax
xor eax, eax
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x98]
jmp 0x447ce6
mov qword [rsp + 0x48], r9
lea r13, [r12 + 0x2b]
mov r9d, dword [r12 + 0x20]
lea r9, [r13 + r9*4]
lea r9, [r9 + 1]
mov r13, r9
bt r13d, 2
jae 0x447ccd
nop
add r9, 4
mov r9, qword [r9 + 0x18]
mov r13, qword [rsp + 0x340]
mov qword [rsp + 0x220], r9
mov r9, qword [rsp + 0x48]
mov r13, qword [rsp + 0x220]
test r13, r13
jne 0x448409
mov r9, qword [rsp + 0xd0]
nop
jmp 0x448585
test r10b, r10b
je 0x447dce
mov r10, qword [rsp + 0x2e8]
test rax, rax
jg 0x447d32
mov r11, qword [rsp + 0x340]
bt r11d, 1
jb 0x447d42
mov r11, qword [rsp + 0x370]
cmp qword [r12], r10
jae 0x447d4a
test dl, dl
jne 0x447d4a
dec r10
nop
jmp 0x447d4a
mov r11, qword [rsp + 0x370]
cmp byte [r12 + 0x2b], 3
ja 0x447d56
xor edx, edx
jmp 0x447d8c
mov rdx, r11
lea r11, [r12 + 0x2b]
mov r9d, dword [r12 + 0x20]
lea r9, [r11 + r9*4]
lea r9, [r9 + 1]
mov r11, r9
bt r11d, 2
jae 0x447d7a
nop
add r9, 4
mov r9, qword [r9 + 0x18]
mov r11, rdx
mov rdx, r9
mov r9, qword [rsp + 0x380]
mov qword [rsp + 0xc8], rax
test rdx, rdx
je 0x448151
mov qword [rsp + 0x218], rdx
lea r11, [rsp + 0xe8]
movups xmmword [r11], xmm15
lea r8, [rsp + 0xf8]
movups xmmword [r8], xmm15
lea r8, [rsp + 0x108]
movups xmmword [r8], xmm15
jmp 0x447f45
mov edx, r10d
lea r10, [rax + 1]
cmp byte [r12 + 0x28], 4
nop dword [rax + rax]
jne 0x447e95
test r15, r15
jle 0x447e95
mov rax, r11
mov r11, qword [r13 + r15*8 - 8]
mov qword [rsp + 0x88], r11
mov r11, qword [rsp + 0xd0]
test r11, r11
jne 0x447e90
test r9, r9
jne 0x447e90
mov qword [rsp + 0xc0], rdi
mov byte [rsp + 0x33], bl
mov ebx, edx
mov rcx, qword [rsp + 0x88]
mov rdi, r10
call fcn.00448860
mov rcx, qword [rsp + 0x2d0]
movzx edx, byte [rsp + 0x30]
movzx ebx, byte [rsp + 0x33]
mov rsi, qword [rsp + 0x378]
mov rdi, qword [rsp + 0xc0]
mov r8, qword [rsp + 0x278]
mov r9, qword [rsp + 0x380]
mov r11, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x270]
mov r13, qword [rsp + 0x290]
mov r15, qword [rsp + 0x90]
mov r10, rax
mov rax, qword [rsp + 0x370]
dec r15
jmp 0x447ea0
mov rax, r11
mov r11, qword [rsp + 0xd0]
movzx r12d, byte [r12 + 0x28]
test r8, r8
jne 0x44744a
jmp 0x447f1c
mov rax, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x330]
add rsp, 0x338
ret
movzx edx, byte [rsp + 0x30]
movzx edx, dl
test rdx, rdx
cmovne rax, rdi
mov rdx, qword [rsp + 0x380]
nop dword [rax]
test rdx, rdx
je 0x447efb
cmp rsi, rax
jle 0x447efb
mov rdx, qword [rsp + 0x300]
cmp qword [rcx + 0x80], rdx
jne 0x447f0b
mov rbp, qword [rsp + 0x330]
add rsp, 0x338
ret
lea rax, [0x004a35b5]
mov ebx, 0x23
call fcn.0042dee0
mov rax, r10
nop
jmp 0x447ec6
mov r8, qword [rsp + 0x2d8]
movzx ebx, byte [r10 + 2]
lea rdx, [r9 + rdx*4]
lea rdx, [rdx + 0x10]
movsxd r10, dword [rdx]
add r10, qword [r8]
mov r12, qword [rsp + 0x270]
mov qword [rsp + 0xb8], rdi
mov byte [rsp + 0x31], bl
mov qword [rsp + 0x40], r10
mov rax, r12
mov ecx, 2
xor esi, esi
mov rbx, qword [rsp + 0x268]
mov rdi, r10
call fcn.00442a80
test eax, eax
jl 0x4480f7
movsxd rax, eax
nop dword [rax + rax]
cmp rax, 0x100000
jae 0x4483cf
lea rdx, [rax + rax*4]
mov qword [rsp + 0xb0], rdx
mov r9, qword [rsp + 0x218]
mov r10d, dword [r9 + rdx*4 + 0xc]
mov dword [rsp + 0xf0], r10d
lea r10, [r9 + rdx*4]
lea r10, [r10 + 2]
movzx esi, byte [r10]
mov byte [rsp + 0x110], sil
lea r10, [r9 + rdx*4]
mov qword [rsp + 0x298], r10
mov r11, qword [rsp + 0x340]
bt r11d, 0
jae 0x447fe3
mov eax, 1
jmp 0x448035
mov rdx, qword [rsp + 0xb8]
test rdx, rdx
sete dil
lea rax, [rsp + 0xe8]
mov rbx, qword [rsp + 0x268]
mov rcx, qword [rsp + 0x2d0]
movzx r8d, byte [rsp + 0x31]
call fcn.00448ce0
mov rdx, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x218]
mov r10, qword [rsp + 0x298]
mov r11, qword [rsp + 0x340]
test al, al
jne 0x448046
mov rdi, qword [rsp + 0xb8]
jmp 0x447f22
lea rax, [rsp + 0xe8]
mov rbx, qword [rsp + 0x268]
call fcn.004424a0
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x68], rbx
nop
mov rcx, qword [rsp + 0x40]
mov edi, 1
mov rax, qword [rsp + 0x270]
mov rbx, qword [rsp + 0x268]
call fcn.004427c0
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x34], ecx
mov rax, qword [rsp + 0x230]
mov rbx, qword [rsp + 0x68]
call fcn.004086c0
mov rax, qword [rsp + 0x250]
mov rbx, qword [rsp + 0x78]
call fcn.004086c0
mov eax, dword [rsp + 0x34]
call fcn.004085c0
mov rcx, qword [rsp + 0xb8]
lea rdi, [rcx + 1]
mov rdx, qword [rsp + 0xb0]
mov r9, qword [rsp + 0x218]
mov r10, qword [rsp + 0x298]
mov r11, qword [rsp + 0x340]
jmp 0x447f22
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x2d0]
mov rsi, qword [rsp + 0x378]
mov r8, qword [rsp + 0x278]
mov r9, qword [rsp + 0x380]
mov r11, qword [rsp + 0x370]
mov r12, qword [rsp + 0x270]
mov r13, qword [rsp + 0x290]
mov r15, qword [rsp + 0x90]
movzx ebx, byte [rsp + 0x31]
mov r10, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xb8]
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0x40], r10
mov rdx, r10
mov r10, qword [rsp + 0x340]
bt r10d, 0
jae 0x44817a
mov ebx, 1
jmp 0x448200
test rdi, rdi
sete dl
movzx esi, byte [r12 + 0x28]
mov rax, r12
mov r8d, ebx
mov rbx, qword [rsp + 0x268]
mov edi, edx
call fcn.00448ce0
mov rcx, qword [rsp + 0x2d0]
mov rdx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x378]
mov rdi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x278]
mov r9, qword [rsp + 0x380]
mov r10, qword [rsp + 0x340]
mov r11, qword [rsp + 0x370]
mov r12, qword [rsp + 0x270]
mov r13, qword [rsp + 0x290]
mov r15, qword [rsp + 0x90]
mov ebx, eax
mov rax, qword [rsp + 0xc8]
nop word [rax + rax]
test bl, bl
je 0x4483be
mov rax, r12
mov rbx, qword [rsp + 0x268]
call fcn.004424a0
mov qword [rsp + 0x228], rax
mov qword [rsp + 0x60], rbx
mov rcx, qword [rsp + 0x40]
mov edi, 1
mov rax, qword [rsp + 0x270]
mov rbx, qword [rsp + 0x268]
nop
call fcn.004427c0
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0x38], ecx
mov rdx, qword [rsp + 0x60]
nop
cmp rdx, 0xf
jne 0x4482a2
movabs rsi, 0x2e656d69746e7572
mov rdi, qword [rsp + 0x228]
cmp qword [rdi], rsi
jne 0x4482aa
cmp dword [rdi + 8], 0x61706f67
jne 0x4482aa
cmp word [rdi + 0xc], 0x696e
jne 0x4482aa
cmp byte [rdi + 0xe], 0x63
jne 0x4482aa
mov edx, 5
lea rdi, [0x0049dd4a]
jmp 0x4482aa
mov rdi, qword [rsp + 0x228]
mov rax, rdi
mov rbx, rdx
call fcn.004086c0
mov rax, qword [rsp + 0x248]
mov rbx, qword [rsp + 0x80]
call fcn.004086c0
mov eax, dword [rsp + 0x38]
call fcn.004085c0
mov rax, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rcx]
cmp rdx, rax
jae 0x4482fb
sub rax, rdx
call fcn.00408640
mov rcx, qword [rsp + 0x270]
mov r9, qword [rsp + 0x2d0]
mov r10, qword [r9 + 0x30]
test r10, r10
je 0x44831f
cmp dword [r10 + 0xc4], 0
jle 0x44831f
cmp qword [r10 + 0x90], r9
je 0x44832a
mov r10d, dword [rsp + 0x3c]
cmp r10d, 2
jl 0x448367
mov rax, qword [rsp + 0x308]
call fcn.00408640
mov rax, qword [rsp + 0x300]
nop
call fcn.00408640
mov rax, qword [rsp + 0x2e8]
call fcn.00408640
mov rcx, qword [rsp + 0x270]
mov r9, qword [rsp + 0x2d0]
mov r10d, dword [rsp + 0x3c]
mov r11, qword [rsp + 0xb8]
lea rdi, [r11 + 1]
mov rax, qword [rsp + 0xc8]
mov rcx, r9
mov rsi, qword [rsp + 0x378]
mov r8, qword [rsp + 0x278]
mov r9, qword [rsp + 0x380]
mov r10, qword [rsp + 0x340]
mov r11, qword [rsp + 0x370]
mov r12, qword [rsp + 0x270]
mov r13, qword [rsp + 0x290]
mov r15, qword [rsp + 0x90]
movzx ebx, byte [r12 + 0x28]
movzx r10d, byte [rsp + 0x30]
jmp 0x447dce
mov ecx, 0x100000
call fcn.00451800
mov r13, qword [rsp + 0x2d8]
movzx ebx, byte [r9 + 2]
lea rdx, [r8 + rdx*4]
lea rdx, [rdx + 0x10]
movsxd r9, dword [rdx]
add r9, qword [r13]
lea r15, [r9 + 1]
mov r12, qword [rsp + 0x270]
mov qword [rsp + 0xd0], r10
mov qword [rsp + 0x50], r15
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0x31], bl
mov ecx, 2
mov rdi, r9
lea rsi, [rsp + 0x118]
mov rax, r12
mov rbx, qword [rsp + 0x268]
call fcn.00442a80
nop word [rax + rax]
test eax, eax
jl 0x448533
movsxd rax, eax
cmp rax, 0x100000
jae 0x448605
lea rdx, [rax + rax*4]
mov r8, qword [rsp + 0x220]
lea r9, [r8 + rdx*4]
lea r10, [r8 + rdx*4]
lea r10, [r10 + 2]
cmp byte [r10], 0x16
jne 0x4484b7
movzx r10d, byte [rsp + 0x31]
nop dword [rax + rax]
cmp r10b, 9
je 0x4484b7
cmp r10b, 0x13
je 0x4484b7
cmp r10b, 0xf
je 0x4484b7
mov r11, qword [rsp + 0x378]
mov r13, qword [rsp + 0x370]
mov rax, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xd0]
jmp 0x4483d9
mov r10, qword [rsp + 0xd0]
nop
test r10, r10
jle 0x4484e5
dec r10
mov r11, qword [rsp + 0x378]
mov r13, qword [rsp + 0x370]
mov rax, qword [rsp + 0xc8]
jmp 0x4483d9
mov r11, qword [rsp + 0x378]
mov rax, qword [rsp + 0xc8]
cmp r11, rax
jle 0x448526
nop word [rax + rax]
cmp rax, 0x100000
jae 0x4485f6
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x370]
mov qword [r13 + rax*8], r12
inc rax
jmp 0x4483d9
mov r13, qword [rsp + 0x370]
jmp 0x4483d9
mov rcx, qword [rsp + 0x2d0]
movzx edx, byte [rsp + 0x2f]
mov rsi, qword [rsp + 0x378]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x278]
movzx r10d, byte [rsp + 0x30]
mov r11, qword [rsp + 0x370]
mov r12, qword [rsp + 0x270]
movzx ebx, byte [rsp + 0x31]
mov rax, qword [rsp + 0xc8]
mov r15, qword [rsp + 0x50]
mov r9, qword [rsp + 0xd0]
cmp byte [r12 + 0x28], 0x16
jne 0x4485a0
cmp bl, 9
je 0x4485a0
cmp bl, 0x13
je 0x4485a0
cmp bl, 0xf
jne 0x4485be
nop dword [rax]
test r9, r9
jle 0x4485aa
dec r9
jmp 0x4485be
cmp rsi, rax
jle 0x4485be
cmp rax, 0x100000
jae 0x4485ec
mov qword [r11 + rax*8], r15
inc rax
movzx ebx, byte [r12 + 0x28]
dec rax
mov r13, qword [rsp + 0x290]
mov r15, qword [rsp + 0x90]
mov qword [rsp + 0xd0], r9
mov r9, qword [rsp + 0x380]
jmp 0x447d05
mov ecx, 0x100000
call fcn.00451800
mov ecx, 0x100000
nop dword [rax + rax]
call fcn.00451800
mov ecx, 0x100000
call fcn.00451800
lea rax, [0x0049f5ef]
mov ebx, 0x11
nop dword [rax + rax]
call fcn.0042dee0
mov rax, r12
mov rbx, qword [rsp + 0x268]
call fcn.004424a0
call fcn.004086c0
lea rax, [0x0049e2c7]
mov ebx, 9
call fcn.0042dee0
lea rax, [0x004a5237]
mov ebx, 0x39
call fcn.0042dee0
lea rax, [0x004a507b]
mov ebx, 0x37
call fcn.0042dee0
nop
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x50], r11
nop dword [rax + rax]
call fcn.0044f100
mov rax, qword [rsp + 0x10]
mov rbx, qword [rsp + 0x18]
mov rcx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
jmp fcn.004471e0