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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
cmp byte [rcx + 0x1e], 0
mov rsi, rcx
jne 0x49b5c2
mov ebp, dword [rcx + 0x30]
mov rdi, qword [rcx]
test ebp, ebp
jne 0x49b5d8
mov r12, qword [rcx + 0x10]
test r12, r12
je 0x49b9cf
cmp byte [rsi + 0xe1], 0
jne 0x49b8e9
movsxd rax, dword [r12 + 0x90]
cmp dword [r12 + 0x94], eax
jle 0x49ba2f
lea edx, [rax + 1]
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov dword [r12 + 0x90], edx
lea rax, [rax + rcx*8]
mov qword [rax], 0x46
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov rcx, qword [r12]
lea rax, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
je 0x49b8dc
mov dword [rax + 8], edx
xor ebx, ebx
mov r13d, 1
jmp 0x49b1c5
lea edx, [rax + 1]
mov dword [r12 + 0x90], edx
movsxd rdx, eax
lea r10, [rdx + rdx*2]
mov rdx, qword [r12 + 0x88]
lea rdx, [rdx + r10*8]
mov dword [rdx + 4], r8d
mov dword [rdx + 8], r9d
mov dword [rdx + 0xc], ecx
mov qword [rdx + 0x10], 0
mov dword [rdx], 2
mov rdx, qword [r12]
cmp byte [rdx + 0x67], 0
jne 0x49b183
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rdx*8]
mov byte [rax + 1], 0xfd
mov dword [rax + 0x10], r14d
cmp byte [rdi + 0xc5], 0
jne 0x49b1b8
movsxd rax, dword [r12 + 0x90]
test eax, eax
jle 0x49b1b8
mov r15, qword [r12 + 0x88]
lea rax, [rax + rax*2]
mov edx, 1
lea rax, [r15 + rax*8]
mov word [rax - 0x16], dx
nop dword [rax]
add rbx, 1
cmp dword [rdi + 0x28], ebx
jle 0x49b5f0
mov eax, r13d
mov ecx, ebx
mov r8d, ebx
shl eax, cl
test dword [rsi + 0x7c], eax
je 0x49b1b8
mov rdx, rbx
or dword [r12 + 0xcc], eax
shl rdx, 5
cmp rbx, 1
je 0x49b204
mov rcx, qword [r12]
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx + rdx + 8]
cmp byte [rcx + 0x11], 0
je 0x49b204
or dword [r12 + 0xd0], eax
mov rcx, qword [rdi + 0x20]
xor r9d, r9d
test dword [rsi + 0x78], eax
setne r9b
mov eax, dword [r12 + 0x90]
mov rdx, qword [rcx + rdx + 0x18]
mov r14d, dword [rdx + 4]
mov ecx, dword [rdx]
cmp eax, dword [r12 + 0x94]
jl 0x49b128
mov dword [rsp + 0x20], ecx
mov edx, 2
mov rcx, r12
call fcn.0043df10
jmp 0x49b15f
mov rbx, qword [rsi + 0x10]
mov r15, qword [rsi + 0xa0]
mov r13, qword [rsi]
movabs rbp, 0x5e00000000
test r15, r15
je 0x49b526
nop dword [rax]
movsxd rax, dword [r15 + 0x10]
mov r9d, 0x70
mov rcx, rsi
mov edi, dword [r15 + 0x14]
mov rdx, rax
shl rax, 5
add rax, qword [r13 + 0x20]
lea r14d, [rdi - 1]
mov rax, qword [rax + 0x18]
mov r8, qword [rax + 0x68]
call fcn.0045adc0
mov rax, qword [r15 + 8]
mov r11, qword [rax]
mov eax, dword [rbx + 0x90]
cmp eax, dword [rbx + 0x94]
jge 0x49b860
lea edx, [rax + 1]
mov dword [rbx + 0x90], edx
movsxd rdx, eax
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbx + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], r14d
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov qword [rdx], 0x75
mov rdx, qword [rbx]
cmp byte [rdx + 0x67], 0
jne 0x49b328
test eax, eax
jns 0x49b309
mov eax, dword [rbx + 0x90]
sub eax, 1
cdqe
xor r9d, r9d
mov r8, r11
mov rcx, rbx
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rdx, [rax + rdx*8]
call fcn.0045e640
mov edx, dword [rbx + 0x90]
lea ecx, [rdx + 0xc]
cmp ecx, dword [rbx + 0x94]
jg 0x49b838
movsxd rax, edx
xor r9d, r9d
mov r10d, 0x10
movabs r11, 0x100000000
lea r8, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + r8*8]
lea r8d, [rdx + 0xa]
mov dword [rax + 0x20], r8d
lea r8d, [rdx + 9]
mov dword [rax + 0x50], r8d
mov r8d, 0x34
mov word [rax + 0x48], r8w
lea r8d, [rdx + 0xb]
add edx, 2
mov qword [rax + 0x7c], r11
mov dword [rax + 0xe0], edx
lea edx, [rdi + 2]
mov qword [rax], 0x4b
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0x24
mov qword [rax + 0x24], 0
mov qword [rax + 0x2c], rbp
mov qword [rax + 0x34], 0
mov qword [rax + 0x40], 0
mov qword [rax + 0x58], 0
mov qword [rax + 0x60], 0x87
mov qword [rax + 0x6c], 0
mov qword [rax + 0x74], rbp
mov qword [rax + 0x88], 0
mov dword [rax + 0x90], 0x56
mov qword [rax + 0x98], 0
mov qword [rax + 0xa0], 0
mov dword [rax + 0xa8], 0x50
mov dword [rax + 0xc8], r8d
mov dword [rax + 0xb4], 0
mov qword [rax + 0xb8], 0
mov qword [rax + 0xc0], 9
mov dword [rax + 0xcc], 0
mov qword [rax + 0xd0], 0
mov qword [rax + 0xd8], 0x27
mov dword [rax + 0xfc], 0
mov qword [rax + 0x100], 0
mov dword [rax + 0xe4], 0
mov qword [rax + 0xe8], 0
mov qword [rax + 0xf0], 0x47
mov byte [rax + 0x108], 0x7a
mov qword [rax + 0x10c], 0
mov byte [rax + 0x109], 0
mov r11d, dword [rsi + 0x34]
mov dword [rax + 0x114], 0
mov qword [rax + 0x118], 0
mov word [rax + 0x10a], r9w
mov dword [rbx + 0x90], ecx
lea ecx, [rdi + 1]
mov dword [rax + 8], edi
mov dword [rax + 0xc], edx
mov dword [rax + 0x3c], edi
mov dword [rax + 0x4c], r14d
mov dword [rax + 0x54], edi
mov word [rax + 0x4a], r10w
mov dword [rax + 0x68], ecx
mov dword [rax + 0x84], edi
mov dword [rax + 0x94], edi
mov dword [rax + 0xb0], edx
mov dword [rax + 0xac], edi
mov dword [rax + 0xf8], edi
test r11d, r11d
jne 0x49b820
mov r15, qword [r15]
mov dword [rsi + 0x34], 1
test r15, r15
jne 0x49b278
mov rdi, qword [rsi + 0x58]
test rdi, rdi
jne 0x49b88a
cmp byte [rsi + 0xe1], 0
je 0x49b568
mov rax, qword [rsi + 0xc8]
mov r9d, dword [rax + 0xbc]
test r9d, r9d
je 0x49b568
mov r8d, dword [rax + 0xb8]
mov edx, 0x76
mov rcx, r12
call fcn.0043e160
nop dword [rax + rax]
movsxd rax, dword [r12 + 0x90]
cmp eax, dword [r12 + 0x94]
jge 0x49ba0c
lea edx, [rax + 1]
mov dword [r12 + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 9
mov qword [rax + 8], 1
mov qword [rax + 0x10], 0
mov eax, dword [rsi + 0x30]
test eax, eax
je 0x49b9f5
mov dword [rsi + 0x18], 1
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rdi + 0x67], 0
je 0x49b5c2
mov dword [rcx + 0x18], 7
jmp 0x49b5c2
mov r14d, dword [rsi + 0x138]
xor r13d, r13d
test r14d, r14d
jle 0x49b6d0
nop dword [rax + rax]
mov rax, qword [rsi + 0x190]
mov rax, qword [rax + r13*8]
mov rbx, qword [rax + 0x50]
test rbx, rbx
jne 0x49b629
jmp 0x49b62e
mov rbx, qword [rbx + 0x28]
test rbx, rbx
je 0x49b62e
cmp rdi, qword [rbx]
jne 0x49b620
mov eax, dword [r12 + 0x90]
cmp eax, dword [r12 + 0x94]
jge 0x49b7e0
lea edx, [rax + 1]
mov dword [r12 + 0x90], edx
movsxd rdx, eax
lea rcx, [rdx + rdx*2]
mov rdx, qword [r12 + 0x88]
lea rdx, [rdx + rcx*8]
mov qword [rdx], 0xaa
mov qword [rdx + 8], 0
mov qword [rdx + 0x10], 0
mov rdx, qword [r12]
cmp byte [rdx + 0x67], 0
jne 0x49b6bf
test eax, eax
jns 0x49b692
mov eax, dword [r12 + 0x90]
sub eax, 1
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rdx, [rax + rdx*8]
cmp byte [rdx + 1], 0
jne 0x49b7c0
test rbx, rbx
je 0x49b6bf
mov qword [rdx + 0x10], rbx
mov byte [rdx + 1], 0xf5
add dword [rbx + 0x18], 1
add r13, 1
cmp dword [rsi + 0x138], r13d
jg 0x49b608
mov r13d, dword [rsi + 0x90]
mov rbx, qword [rsi + 0x10]
xor edi, edi
mov dword [rsi + 0x138], 0
test r13d, r13d
jg 0x49b718
jmp 0x49b254
test r13, r13
je 0x49b705
mov qword [rdx + 0x10], r13
mov byte [rdx + 1], 0xff
add ebp, 1
add rdi, 0x18
cmp ebp, dword [rsi + 0x90]
jge 0x49b250
mov rax, qword [rsi + 0x98]
add rax, rdi
mov r10, qword [rax]
mov r8d, dword [rax]
mov r13, qword [rax + 0x10]
movzx ecx, byte [rax + 8]
mov r9d, dword [rax + 4]
mov eax, dword [rbx + 0x90]
cmp eax, dword [rbx + 0x94]
jge 0x49b800
lea edx, [rax + 1]
mov dword [rbx + 0x90], edx
movsxd rdx, eax
lea r8, [rdx + rdx*2]
mov rdx, qword [rbx + 0x88]
lea rdx, [rdx + r8*8]
mov qword [rdx + 4], r10
mov dword [rdx + 0xc], ecx
mov qword [rdx + 0x10], 0
mov dword [rdx], 0xa9
mov rdx, qword [rbx]
cmp byte [rdx + 0x67], 0
jne 0x49b705
test eax, eax
jns 0x49b78c
mov eax, dword [rbx + 0x90]
sub eax, 1
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rdx, [rax + rdx*8]
cmp byte [rdx + 1], 0
je 0x49b6f8
mov r9d, 0xffffffff
mov r8, r13
mov rcx, rbx
call fcn.0045e640
jmp 0x49b705
mov r9d, 0xfffffff5
mov r8, rbx
mov rcx, r12
call fcn.0045e640
jmp 0x49b6bf
xor r9d, r9d
xor r8d, r8d
mov edx, 0xaa
mov rcx, r12
mov dword [rsp + 0x20], 0
call fcn.0043df10
jmp 0x49b679
mov dword [rsp + 0x20], ecx
mov edx, 0xa9
mov rcx, rbx
call fcn.0043df10
jmp 0x49b776
mov r15, qword [r15]
test r15, r15
jne 0x49b278
jmp 0x49b526
mov rcx, rbx
call fcn.0043baa0
test eax, eax
jne 0x49b526
mov edx, dword [rbx + 0x90]
lea ecx, [rdx + 0xc]
jmp 0x49b33d
mov r9d, r14d
xor r8d, r8d
mov edx, 0x75
mov rcx, rbx
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x38], r11
call fcn.0043df10
mov r11, qword [rsp + 0x38]
jmp 0x49b2f3
mov byte [rsi + 0x23], 0
mov eax, dword [rdi]
test eax, eax
jle 0x49b533
xor ebx, ebx
cmp qword [rsi + 0x10], 0
je 0x49b8cf
mov rax, rbx
mov rcx, rsi
add rbx, 1
shl rax, 5
mov rdx, qword [rdi + rax + 8]
mov r8d, dword [rdi + rax + 0x20]
call fcn.0049afa0
mov eax, dword [rdi]
cmp eax, ebx
jle 0x49b533
cmp qword [rsi + 0x10], 0
jne 0x49b8a1
add rbx, 1
cmp eax, ebx
jg 0x49b89a
jmp 0x49b533
mov rax, qword [r12 + 0x88]
jmp 0x49b112
mov r13, qword [rsi + 0xc8]
mov r8d, dword [r13 + 0xbc]
test r8d, r8d
je 0x49b0b5
xor r9d, r9d
xor r8d, r8d
mov edx, 0x53
mov rcx, r12
call fcn.0043e160
mov rcx, r12
xor r9d, r9d
mov edx, 0x24
mov r8d, dword [r13 + 0xb8]
xor ebx, ebx
call fcn.0043e160
mov ecx, dword [r13 + 0xbc]
mov r15d, dword [r13 + 0xc0]
movsxd r14, eax
test ecx, ecx
jle 0x49b973
nop dword [rax]
lea eax, [rbx + r15]
mov r9d, ebx
mov edx, 0x5e
mov rcx, r12
mov r8d, dword [r13 + 0xb8]
mov dword [rsp + 0x20], eax
add ebx, 1
call fcn.0043e0f0
cmp dword [r13 + 0xbc], ebx
jg 0x49b948
mov r9d, ebx
mov r8d, r15d
mov edx, 0x54
mov rcx, r12
call fcn.0043e160
mov r8d, dword [r13 + 0xb8]
mov rcx, r12
lea r9d, [r14 + 1]
mov edx, 0x27
call fcn.0043e160
mov rcx, qword [r12]
movsxd rax, dword [r12 + 0x90]
lea rdx, [0x0066e7a0]
cmp byte [rcx + 0x67], 0
jne 0x49b9c7
mov rdx, qword [r12 + 0x88]
lea rcx, [r14 + r14*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
jmp 0x49b0bd
cmp byte [rdi + 0xc5], 0
jne 0x49ba00
call fcn.0043e380
mov r12, rax
test rax, rax
jne 0x49b0a8
mov dword [rsi + 0x18], 1
jmp 0x49b5b0
mov rdx, rsi
mov rcx, r12
call fcn.004350d0
mov dword [rsi + 0x18], 0x65
jmp 0x49b5c2
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 9
mov rcx, r12
mov r9d, 1
call fcn.0043df10
jmp 0x49b5b0
mov edx, 0x46
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], 0
call fcn.0043df10
mov edx, dword [r12 + 0x90]
jmp 0x49b0fd