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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc8
mov rax, qword [0x14018ef00]
xor rax, rsp
mov qword [rsp + 0xb8], rax
mov rax, rcx
mov dword [rsp + 0xa8], 0x78563412
mov rcx, qword [rcx + 0x70]
mov r15, r9
mov qword [rsp + 0x40], rcx
mov rbx, r8
mov r14, rdx
mov qword [rsp + 0xa0], rbx
mov rbp, qword [rax + 8]
mov r10d, dword [rax + 0x18]
mov ecx, dword [rax + 0x108]
mov r8d, dword [rax + 0x28]
mov rdx, qword [rsp + 0x130]
mov r13d, dword [rbx]
mov r11d, edx
sub r11d, ebp
mov dword [rsp + 0x28], ecx
mov rcx, qword [rax + 0x80]
add r11d, r9d
mov qword [rsp + 0x60], rcx
mov r9d, 1
mov ecx, dword [rax + 0x104]
mov dword [rsp + 0x24], ecx
mov ecx, dword [rax + 0x100]
mov eax, r11d
shl r9d, cl
sub eax, r10d
sub r11d, r9d
mov qword [rsp + 0x48], rbp
cmp eax, r9d
mov dword [rsp + 0x20], r13d
lea rax, [r15 + rdx]
mov dword [rsp + 0xac], 0xf0debc9a
mov edx, dword [rbx + 4]
lea rdi, [rax - 8]
cmovbe r11d, r10d
mov qword [rsp + 0x30], rax
test r8d, r8d
mov qword [rsp + 0x68], rdi
mov dword [rsp + 0x2c], edx
cmovne r11d, r10d
mov word [rsp + 0xb0], 0xb4e2
xor esi, esi
mov ecx, r11d
add rcx, rbp
mov dword [rsp + 0x54], r11d
cmp r15, rcx
mov qword [rsp + 0x78], rcx
mov eax, esi
mov dword [rsp + 0x5c], esi
sete al
mov dword [rsp + 0x3c], esi
lea rbx, [rax + r15]
mov r11d, ebx
sub r11d, ebp
mov eax, r11d
mov ecx, r11d
sub ecx, r9d
sub eax, r10d
cmp eax, r9d
cmovbe ecx, r10d
test r8d, r8d
cmovne ecx, r10d
sub r11d, ecx
cmp edx, r11d
jbe 0x140049984
mov dword [rsp + 0x3c], edx
mov edx, esi
mov dword [rsp + 0x2c], edx
cmp r13d, r11d
jbe 0x140049992
mov dword [rsp + 0x5c], r13d
mov dword [rsp + 0x20], esi
lea rsi, [rbx + 1]
lea r12, [rbx + 0x100]
cmp rsi, rdi
ja 0x14004a05e
nop word [rax + rax]
mov edx, dword [rsp + 0x28]
mov rcx, rbx
call fcn.140048c20
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x24]
lea rdi, [rcx + rax*4]
mov rcx, rbx
mov eax, dword [rdi]
mov dword [rsp + 0x38], eax
lea r13, [rax + rbp]
call fcn.140048bc0
mov r8, qword [rsp + 0x60]
mov edx, ebx
sub edx, ebp
mov dword [rsp + 0x58], edx
mov ecx, dword [r8 + rax*4]
mov dword [r8 + rax*4], edx
mov ebp, ecx
add rbp, qword [rsp + 0x48]
mov dword [rdi], edx
xor edx, edx
mov r8d, edx
mov dword [rsp + 0x50], ecx
mov ecx, dword [rsp + 0x20]
test ecx, ecx
mov eax, ecx
mov rcx, rbx
setne r8b
sub rcx, rax
mov eax, dword [rbx + 1]
mov dword [rsp + 0x70], r8d
cmp dword [rcx + 1], eax
sete dl
test r8d, edx
jne 0x140049b4c
mov edi, 1
mov qword [rsp + 0x80], rdi
nop dword [rax + rax]
mov edx, dword [rsp + 0x28]
mov rcx, rsi
mov qword [rsp + 0x98], rsi
call fcn.140048c20
mov r8d, dword [rsp + 0x54]
lea rcx, [rsp + 0xa8]
cmp dword [rsp + 0x38], r8d
mov rdx, qword [rbx]
cmovae rcx, r13
mov qword [rsp + 0x88], rax
cmp qword [rcx], rdx
jne 0x140049a83
cmp rcx, r13
je 0x140049bf6
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + rax*4]
mov r13d, eax
mov dword [rsp + 0x38], eax
add r13, qword [rsp + 0x48]
lea rax, [rsp + 0xa8]
cmp dword [rsp + 0x50], r8d
cmovae rax, rbp
cmp dword [rax], edx
jne 0x140049ab5
cmp rax, rbp
je 0x140049c77
cmp rsi, r12
jb 0x140049ad7
prefetcht0 byte [rsi + 0x40]
prefetcht0 byte [rsi + 0x80]
inc rdi
mov qword [rsp + 0x80], rdi
add r12, 0x100
mov rbx, rsi
add rsi, rdi
cmp rsi, qword [rsp + 0x68]
ja 0x14004a05a
mov edx, dword [rsp + 0x24]
mov rcx, rbx
call fcn.140048bc0
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x60]
mov edx, dword [rsp + 0x98]
sub edx, r8d
mov dword [rsp + 0x58], edx
mov ecx, dword [r9 + rax*4]
mov dword [r9 + rax*4], edx
mov rax, qword [rsp + 0x88]
mov dword [rsp + 0x50], ecx
lea rbp, [r8 + rcx]
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x20]
mov dword [rcx + rax*4], edx
xor edx, edx
mov eax, dword [rbx + 1]
mov rcx, rbx
sub rcx, r8
cmp dword [rcx + 1], eax
sete dl
test dword [rsp + 0x70], edx
je 0x140049a40
mov eax, dword [rsp + 0x20]
lea rcx, [rbx + 5]
mov rbp, qword [rsp + 0x30]
mov rdx, rbx
sub rdx, rax
mov r8, rbp
add rdx, 5
call fcn.140048a90
inc rbx
lea r9, [rbp - 0x20]
mov rsi, rbx
sub rsi, r15
lea rdi, [rax + 4]
cmp rbx, r9
ja 0x140049e30
mov rax, qword [r14 + 0x18]
movdqu xmm0, xmmword [r15]
movdqu xmmword [rax], xmm0
cmp rsi, 0x10
jbe 0x140049e3f
mov rcx, qword [r14 + 0x18]
lea rax, [rsi - 0x10]
movdqu xmm0, xmmword [r15 + 0x10]
add rcx, 0x10
lea rdx, [rax + rcx]
movdqu xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x140049e3f
add rcx, 0x10
add r15, 0x20
nop dword [rax + rax]
movdqu xmm0, xmmword [r15]
lea r15, [r15 + 0x20]
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [r15 - 0x10]
movdqu xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x140049bd0
jmp 0x140049e3f
mov rbp, qword [rsp + 0x30]
lea rdx, [r13 + 8]
mov r8, rbp
lea rcx, [rbx + 8]
call fcn.140048a90
mov r8, qword [rsp + 0x78]
xor r9d, r9d
mov edx, r9d
mov ecx, r9d
mov r12d, ebx
sub r12d, r13d
lea rdi, [rax + 8]
cmp r13, r8
seta dl
cmp rbx, r15
seta cl
test ecx, edx
je 0x140049d23
nop word [rax + rax]
lea rax, [r13 - 1]
mov r13, rax
lea rdx, [rbx - 1]
movzx eax, byte [rax]
cmp byte [rdx], al
jne 0x140049d23
inc rdi
mov ecx, r9d
cmp rdx, r15
mov eax, r9d
mov rbx, rdx
seta cl
cmp r13, r8
seta al
test eax, ecx
jne 0x140049c40
jmp 0x140049d23
mov r8, qword [rsp + 0x30]
lea rdx, [rbp + 4]
lea rcx, [rbx + 4]
call fcn.140048a90
mov r11d, dword [rsp + 0x54]
mov r12d, ebx
sub r12d, ebp
lea rdi, [rax + 4]
cmp dword [rsp + 0x38], r11d
jbe 0x140049cd2
mov rax, qword [rsi]
cmp qword [r13], rax
jne 0x140049cd2
mov r8, qword [rsp + 0x30]
lea rdx, [r13 + 8]
lea rcx, [rsi + 8]
call fcn.140048a90
add rax, 8
cmp rax, rdi
jbe 0x140049cd2
mov r12d, esi
mov rbx, rsi
sub r12d, r13d
mov rdi, rax
mov rbp, r13
mov r8, qword [rsp + 0x78]
xor r9d, r9d
cmp rbp, r8
mov ecx, r9d
mov eax, r9d
seta cl
cmp rbx, r15
seta al
test eax, ecx
je 0x140049d1e
lea rax, [rbp - 1]
mov rbp, rax
lea rdx, [rbx - 1]
movzx eax, byte [rax]
cmp byte [rdx], al
jne 0x140049d1e
inc rdi
mov ecx, r9d
cmp rdx, r15
mov eax, r9d
mov rbx, rdx
seta cl
cmp rbp, r8
seta al
test eax, ecx
jne 0x140049cf0
mov rbp, qword [rsp + 0x30]
cmp qword [rsp + 0x80], 4
mov r13d, dword [rsp + 0x20]
mov dword [rsp + 0x2c], r13d
mov dword [rsp + 0x20], r12d
jae 0x140049d51
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x40]
sub esi, dword [rsp + 0x48]
mov dword [rcx + rax*4], esi
mov rsi, rbx
lea r9, [rbp - 0x20]
sub rsi, r15
lea r8, [rsi + r15]
cmp r8, r9
ja 0x140049dc3
mov rax, qword [r14 + 0x18]
movdqu xmm0, xmmword [r15]
movdqu xmmword [rax], xmm0
cmp rsi, 0x10
jbe 0x140049dcf
mov rcx, qword [r14 + 0x18]
lea rax, [rsi - 0x10]
movdqu xmm0, xmmword [r15 + 0x10]
add rcx, 0x10
lea rdx, [rcx + rax]
movdqu xmmword [rcx], xmm0
cmp rax, 0x10
jle 0x140049dcf
add rcx, 0x10
add r15, 0x20
nop
movdqu xmm0, xmmword [r15]
lea r15, [r15 + 0x20]
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [r15 - 0x10]
movdqu xmmword [rcx + 0x10], xmm0
add rcx, 0x20
cmp rcx, rdx
jb 0x140049da0
jmp 0x140049dcf
mov rcx, qword [r14 + 0x18]
mov rdx, r15
call fcn.140040120
add qword [r14 + 0x18], rsi
cmp rsi, 0xffff
jbe 0x140049df3
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 1
mov rax, qword [r14 + 8]
lea ecx, [r12 + 3]
mov word [rax + 4], si
mov rax, qword [r14 + 8]
mov dword [rax], ecx
lea rcx, [rdi - 3]
cmp rcx, 0xffff
jbe 0x140049e9e
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 2
jmp 0x140049e9e
mov rcx, qword [r14 + 0x18]
mov r8, rbx
mov rdx, r15
call fcn.140040120
add qword [r14 + 0x18], rsi
cmp rsi, 0xffff
jbe 0x140049e63
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 1
mov rax, qword [r14 + 8]
lea rcx, [rdi - 3]
mov word [rax + 4], si
mov rax, qword [r14 + 8]
mov dword [rax], 1
cmp rcx, 0xffff
jbe 0x140049e99
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 2
mov r13d, dword [rsp + 0x2c]
mov rax, qword [r14 + 8]
mov word [rax + 6], cx
add qword [r14 + 8], 8
mov rax, qword [rsp + 0x68]
lea r15, [rdi + rbx]
mov rbx, r15
cmp r15, rax
ja 0x14004a041
mov ebp, dword [rsp + 0x58]
mov r12, qword [rsp + 0x48]
add ebp, 2
mov edx, dword [rsp + 0x28]
mov esi, ebp
add rsi, r12
mov rcx, rsi
call fcn.140048c20
mov rcx, qword [rsp + 0x40]
mov edi, r15d
mov edx, dword [rsp + 0x28]
sub edi, r12d
sub edi, 2
mov dword [rcx + rax*4], ebp
lea rcx, [r15 - 2]
call fcn.140048c20
mov rcx, qword [rsp + 0x40]
mov edx, dword [rsp + 0x24]
mov dword [rcx + rax*4], edi
mov rcx, rsi
call fcn.140048bc0
mov rsi, qword [rsp + 0x60]
lea rcx, [r15 - 1]
mov edx, dword [rsp + 0x24]
mov edi, r15d
sub edi, r12d
dec edi
mov dword [rsi + rax*4], ebp
call fcn.140048bc0
mov r8, qword [rsp + 0x30]
xor r9d, r9d
mov dword [rsi + rax*4], edi
lea r12, [r8 - 0x20]
nop dword [rax + rax]
mov eax, r13d
mov ecx, r9d
mov rdx, rbx
sub rdx, rax
mov eax, dword [rdx]
cmp dword [rbx], eax
mov eax, r9d
sete cl
test r13d, r13d
setne al
test eax, ecx
je 0x14004a037
add rdx, 4
lea rcx, [rbx + 4]
call fcn.140048a90
mov edx, dword [rsp + 0x24]
mov ecx, r13d
mov r13d, dword [rsp + 0x20]
mov edi, ebx
sub edi, dword [rsp + 0x48]
mov dword [rsp + 0x20], ecx
lea rsi, [rax + 4]
mov rcx, rbx
call fcn.140048bc0
mov rcx, qword [rsp + 0x60]
mov edx, dword [rsp + 0x28]
mov dword [rcx + rax*4], edi
mov rcx, rbx
call fcn.140048c20
mov rcx, qword [rsp + 0x40]
mov dword [rcx + rax*4], edi
cmp r15, r12
ja 0x140049fc3
mov rax, qword [r14 + 0x18]
movdqu xmm0, xmmword [r15]
movdqu xmmword [rax], xmm0
jmp 0x140049fd5
mov rcx, qword [r14 + 0x18]
mov r9, r12
mov r8, r15
mov rdx, r15
call fcn.140040120
mov rax, qword [r14 + 8]
lea rcx, [rsi - 3]
xor r9d, r9d
mov word [rax + 4], r9w
mov rax, qword [r14 + 8]
mov dword [rax], 1
cmp rcx, 0xffff
jbe 0x14004a00f
mov rax, qword [r14 + 8]
sub rax, qword [r14]
sar rax, 3
mov dword [r14 + 0x4c], eax
mov dword [r14 + 0x48], 2
mov rax, qword [r14 + 8]
add rbx, rsi
mov r8, qword [rsp + 0x30]
mov r15, rbx
mov word [rax + 6], cx
add qword [r14 + 8], 8
mov rax, qword [rsp + 0x68]
cmp rbx, rax
jbe 0x140049f40
jmp 0x14004a03c
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x2c], r13d
mov rbp, qword [rsp + 0x48]
lea rsi, [rbx + 1]
lea r12, [rbx + 0x100]
cmp rsi, rax
jbe 0x1400499b0
mov edx, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x20]
test r8d, r8d
je 0x14004a076
test eax, eax
cmovne ecx, r8d
test eax, eax
cmovne r8d, eax
mov rax, qword [rsp + 0xa0]
test edx, edx
cmovne ecx, edx
mov dword [rax], r8d
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x30]
sub rax, r15
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.140139630
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret