Function at 0x1400b29a0
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, 0x58
mov edi, dword [r8 + 0x38]
mov rsi, qword [rcx + 0x10]
mov r13, qword [r8 + 0x30]
mov rbx, rcx
mov byte [r8], 1
xor ecx, ecx
mov dword [rsp + 0xa8], edx
mov qword [rsp + 0xb0], r8
mov dword [rsp + 0xb8], r9d
mov dword [rsp + 0x3c], 0
test edi, edi
jle 0x1400b2e68
mov dword [rsp + 0x48], ecx
jmp 0x1400b2b6d
mov r12d, dword [r15]
cmp r12d, 1
je 0x1400b2e38
mov eax, dword [rbx + 0x28]
mov r10d, dword [rbx + 0x2c]
cmp r12d, eax
jg 0x1400b2db0
lea edx, [r12 + r10]
sub eax, r12d
mov dword [rbx + 0x2c], edx
mov dword [rbx + 0x28], eax
mov r8d, r10d
xor r9d, r9d
mov rdx, r15
mov rcx, rbx
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x40], r10d
call fcn.1400ad230
mov r8d, dword [r13 + 0x14]
mov r10d, dword [rsp + 0x40]
test r8d, r8d
js 0x1400b2a89
test ebp, ebp
jne 0x1400b2a5f
mov eax, dword [rbx + 0x44]
lea ebp, [rax - 1]
mov dword [rbx + 0x44], ebp
mov r8d, dword [r13 + 0x14]
mov dword [rsp + 0x28], r10d
mov edx, dword [rsp + 0xb8]
mov r9d, ebp
mov rcx, rbx
mov qword [rsp + 0x20], r15
mov dword [rsp + 0x40], r10d
call fcn.1400504f0
mov r10d, dword [rsp + 0x40]
mov dword [r13 + 0x14], eax
mov rax, qword [r13 + 8]
movzx r11d, r12b
test byte [rax + 4], 0x20
jne 0x1400b2d50
mov edx, dword [r13 + 0x10]
movsxd rax, dword [rsi + 0x90]
cmp eax, dword [rsi + 0x94]
jge 0x1400b2df0
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], r10d
mov dword [rax + 0xc], edx
mov qword [rax + 0x10], 0
mov qword [rax], 0xa2
mov rcx, qword [rsi]
mov rdx, qword [r13 + 8]
cmp byte [rcx + 0x67], 0
jne 0x1400b2cc0
movsxd rax, dword [rsi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8 - 0x18]
mov byte [rax + 1], 0xf9
mov qword [rax + 0x10], rdx
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x1400b2b2f
mov rdx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
lea rax, [rdx + rax*8]
mov word [rax - 0x16], r11w
cmp r12d, 1
je 0x1400b2dc8
cmp dword [rbx + 0x28], r12d
jge 0x1400b2b47
mov dword [rbx + 0x28], r12d
mov dword [rbx + 0x2c], r10d
test ebp, ebp
jne 0x1400b2d20
mov rdi, qword [rsp + 0xb0]
add dword [rsp + 0x3c], 1
add r13, 0x20
mov eax, dword [rsp + 0x3c]
cmp dword [rdi + 0x38], eax
jle 0x1400b2e60
mov rax, qword [r13]
xor ebp, ebp
mov r15, qword [rax + 0x20]
test byte [rax + 7], 1
je 0x1400b2bd5
mov rax, qword [rax + 0x40]
mov r12, qword [rax + 0x48]
mov rax, qword [rsp + 0xb0]
mov r10d, dword [rax + 0x2c]
test r10d, r10d
je 0x1400b2bb8
mov rax, qword [r13 + 8]
test byte [rax + 4], 0x20
je 0x1400b2bb8
mov r9d, dword [rsp + 0xa8]
test r9d, r9d
jne 0x1400b2fb0
nop dword [rax]
mov eax, dword [rbx + 0x44]
mov r9d, 0x10
mov rdx, r12
mov rcx, rbx
lea ebp, [rax - 1]
mov dword [rbx + 0x44], ebp
mov r8d, ebp
call fcn.1400a2230
test r15, r15
jne 0x1400b29f8
mov rax, qword [r13 + 8]
xor r11d, r11d
xor r10d, r10d
xor r12d, r12d
test byte [rax + 4], 0x20
je 0x1400b2a9b
mov rax, qword [rbx]
mov rdi, qword [rax + 0x10]
mov ecx, dword [rsp + 0x48]
test ecx, ecx
jne 0x1400b2c24
mov rax, qword [rsp + 0xb0]
mov eax, dword [rax + 0x2c]
mov dword [rsp + 0x48], eax
test eax, eax
je 0x1400b2c24
mov eax, dword [rbx + 0x38]
add eax, 1
mov dword [rsp + 0x48], eax
mov dword [rbx + 0x38], eax
mov eax, dword [rsi + 0x90]
cmp eax, dword [rsi + 0x94]
jge 0x1400b3070
lea edx, [rax + 1]
mov dword [rsi + 0x90], edx
movsxd rdx, eax
lea rcx, [rdx + rdx*2]
mov rdx, qword [rsi + 0x88]
lea rdx, [rdx + rcx*8]
mov ecx, dword [rsp + 0x48]
mov qword [rdx + 8], 0
mov dword [rdx + 4], ecx
mov qword [rdx + 0x10], 0
mov dword [rdx], 0x55
mov rdx, qword [rsi]
cmp byte [rdx + 0x67], 0
jne 0x1400b2a9b
test eax, eax
jns 0x1400b2c88
mov eax, dword [rsi + 0x90]
sub eax, 1
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rdx, [rax + rdx*8]
cmp byte [rdx + 1], 0
jne 0x1400b3040
test rdi, rdi
je 0x1400b2a9b
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xfe
jmp 0x1400b2a9b
test byte [rdx + 4], 0x10
je 0x1400b2b10
cmp rdx, qword [rcx + 0x1e8]
jae 0x1400b2ced
cmp rdx, qword [rcx + 0x1d8]
jae 0x1400b3120
cmp rdx, qword [rcx + 0x1e0]
jae 0x1400b310a
cmp qword [rcx + 0x300], 0
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x40], r10d
je 0x1400b3020
call fcn.140001610
mov r10d, dword [rsp + 0x40]
mov r11d, dword [rsp + 0x4c]
jmp 0x1400b2b10
mov rcx, qword [rsi + 0x18]
not ebp
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x1400b2ec0
mov edx, dword [rsi + 0x90]
mov rax, qword [rcx + 0x50]
movsxd rbp, ebp
mov dword [rax + rbp*4], edx
jmp 0x1400b2b4f
add r15, 8
test r12d, r12d
jle 0x1400b2bf5
xor r14d, r14d
mov qword [rsp + 0x40], rsi
mov edi, r10d
mov esi, r14d
mov r14d, r11d
nop
mov rdx, qword [r15]
mov rcx, rbx
add esi, 1
add r15, 0x18
call fcn.14004fa80
test rax, rax
jne 0x1400b2e20
cmp r12d, esi
jg 0x1400b2d70
mov r10d, edi
mov rsi, qword [rsp + 0x40]
mov rdi, rax
mov r11d, r14d
test rax, rax
je 0x1400b2bf5
jmp 0x1400b2bfc
mov eax, dword [rbx + 0x38]
lea r10d, [rax + 1]
add eax, r12d
mov dword [rbx + 0x38], eax
jmp 0x1400b2a22
test r10d, r10d
je 0x1400b2b47
movzx eax, byte [rbx + 0x1f]
cmp al, 7
ja 0x1400b2b47
lea edx, [rax + 1]
mov byte [rbx + 0x1f], dl
mov dword [rbx + rax*4 + 0xe0], r10d
jmp 0x1400b2b47
mov dword [rsp + 0x20], edx
mov r9d, r10d
xor r8d, r8d
mov edx, 0xa2
mov rcx, rsi
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x40], r10d
call fcn.1400445b0
mov r10d, dword [rsp + 0x40]
mov r11d, dword [rsp + 0x4c]
jmp 0x1400b2ae0
mov r10d, edi
mov rsi, qword [rsp + 0x40]
mov rdi, rax
mov r11d, r14d
jmp 0x1400b2bfc
movzx eax, byte [rbx + 0x1f]
test al, al
je 0x1400b30b0
sub eax, 1
mov byte [rbx + 0x1f], al
movzx eax, al
mov r10d, dword [rbx + rax*4 + 0xe0]
jmp 0x1400b2a22
mov ecx, dword [rsp + 0x48]
test ecx, ecx
jne 0x1400b2ed0
mov rax, qword [rsp + 0xb0]
mov r11d, dword [rsp + 0xa8]
mov eax, dword [rax + 0x2c]
test r11d, r11d
je 0x1400b2e8b
mov ecx, dword [rsp + 0xa8]
test eax, eax
jne 0x1400b2ed0
mov rdi, qword [rsp + 0xb0]
xor r12d, r12d
mov rdi, qword [rdi + 0x20]
test eax, eax
jg 0x1400b2f2d
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, ebp
mov rdx, rsi
call fcn.14003fcd0
jmp 0x1400b2b4f
movsxd r12, dword [rsi + 0x90]
cmp r12d, dword [rsi + 0x94]
jge 0x1400b3136
lea eax, [r12 + 1]
mov dword [rsi + 0x90], eax
movsxd rax, r12d
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ecx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x10
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rax + 0x20]
mov eax, dword [rax + 0x2c]
test eax, eax
jle 0x1400b2f64
mov r13, qword [rsp + 0xb0]
xor ebp, ebp
jmp 0x1400b2f5d
mov rdx, qword [rdi + 8]
mov r8d, dword [rdi + 0x14]
mov rcx, rbx
add ebp, 1
add rdi, 0x20
call fcn.1400a4df0
cmp dword [r13 + 0x2c], ebp
jle 0x1400b2f64
cmp qword [rbx + 0x10], 0
jne 0x1400b2f40
mov rax, qword [rsp + 0xb0]
mov byte [rax], 0
test r12d, r12d
je 0x1400b2ead
mov eax, dword [rsi + 0x90]
lea edx, [rax - 1]
cmp r12d, edx
je 0x1400b30c0
mov rcx, qword [rsi]
lea rdx, [0x1401f50c0]
cmp byte [rcx + 0x67], 0
je 0x1400b30cc
mov dword [rdx + 8], eax
jmp 0x1400b2ead
mov r8d, dword [rsp + 0x48]
test r8d, r8d
jne 0x1400b2fc7
mov eax, dword [rbx + 0x38]
add eax, 1
mov dword [rsp + 0x48], eax
mov dword [rbx + 0x38], eax
movsxd rax, dword [rsi + 0x90]
cmp eax, dword [rsi + 0x94]
jge 0x1400b30e3
lea edx, [rax + 1]
mov edi, dword [rsp + 0xa8]
mov dword [rsi + 0x90], edx
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], edi
mov edi, dword [rsp + 0x48]
mov dword [rax + 0xc], 0
mov dword [rax + 8], edi
mov qword [rax + 0x10], 0
mov dword [rax], 0x50
jmp 0x1400b2bb8
mov rcx, rdx
call fcn.140007bf0
mov r10d, dword [rsp + 0x40]
mov r11d, dword [rsp + 0x4c]
jmp 0x1400b2b10
mov r9d, 0xfffffffe
mov r8, rdi
mov rcx, rsi
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x40], r10d
call fcn.140029370
mov r10d, dword [rsp + 0x40]
mov r11d, dword [rsp + 0x4c]
jmp 0x1400b2a9b
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov edx, 0x55
mov rcx, rsi
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x4c], r11d
mov dword [rsp + 0x40], r10d
call fcn.1400445b0
mov r10d, dword [rsp + 0x40]
mov r11d, dword [rsp + 0x4c]
jmp 0x1400b2c6e
mov eax, dword [rbx + 0x38]
lea r10d, [rax + 1]
mov dword [rbx + 0x38], r10d
jmp 0x1400b2a22
mov dword [rsi + 0x90], r12d
jmp 0x1400b2ead
mov rdx, qword [rsi + 0x88]
lea rcx, [r12 + r12*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
jmp 0x1400b2ead
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x48]
mov edx, 0x50
mov rcx, rsi
mov r8d, dword [rsp + 0xa8]
call fcn.1400445b0
jmp 0x1400b2bb8
mov rax, qword [rcx + 0x1c0]
mov qword [rdx], rax
mov qword [rcx + 0x1c0], rdx
jmp 0x1400b2b10
mov rax, qword [rcx + 0x1d0]
mov qword [rdx], rax
mov qword [rcx + 0x1d0], rdx
jmp 0x1400b2b10
mov dword [rsp + 0x20], 0
mov r8d, ecx
xor r9d, r9d
mov edx, 0x10
mov rcx, rsi
call fcn.1400445b0
movsxd r12, eax
jmp 0x1400b2f1a