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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov rdi, qword [rcx]
xor ebx, ebx
mov r12, qword [r8 + 0x60]
mov r15, r8
movsxd rsi, edx
mov rbp, rcx
mov qword [rsp + 0x50], r12
mov r14, qword [rdi + 0x10]
mov rax, qword [rdi + 0x60]
mov qword [rdi + 0x60], rbx
mov qword [rsp + 0x68], rax
mov rax, qword [rdi + 0x68]
mov qword [rdi + 0x68], rbx
movsxd rdx, dword [r14 + 0x90]
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x40], edx
cmp dword [r14 + 0x94], edx
jg 0x1400bc2bf
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
lea edx, [rbx + 0xf]
mov rcx, r14
call fcn.140035b50
mov dword [rsp + 0x40], eax
jmp 0x1400bc2e6
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov qword [rax + rcx*8], 0xf
mov qword [rax + rcx*8 + 8], rbx
mov qword [rax + rcx*8 + 0x10], rbx
mov qword [rsp + 0x48], rsi
nop dword [rax + rax]
mov r8, r15
mov rdx, rbp
mov rcx, rdi
call fcn.1400aff80
dec dword [rdi + 0x44]
mov r9d, dword [rdi + 0x38]
mov r13d, dword [r15 + 4]
inc r9d
mov eax, dword [rdi + 0x44]
mov dword [rsp + 0x38], eax
mov dword [rdi + 0x38], r9d
mov dword [r15 + 0x34], r9d
movzx r15d, byte [r15 + 0x40]
mov rbp, qword [rbp + 8]
imul rcx, r15, 0x68
mov dword [rsp + 0x34], r13d
mov rax, qword [rcx + rbp + 0x28]
movsx ecx, word [rax + 0x3a]
mov eax, 0x66666667
imul ecx
mov r8d, edx
sar r8d, 2
mov eax, r8d
shr eax, 0x1f
add r8d, eax
lea eax, [r8 + r8*4]
add eax, eax
sub ecx, eax
movsxd rdx, ecx
cmp rdx, 5
jb 0x1400bc364
sub rdx, 2
jmp 0x1400bc36d
cmp rdx, 1
jb 0x1400bc36d
dec rdx
cmp r8w, 0x3c
jg 0x1400bc3ae
add rdx, 8
movsx eax, r8w
cmp r8w, 3
jl 0x1400bc38b
lea ecx, [rax - 3]
shl rdx, cl
jmp 0x1400bc395
mov ecx, 3
sub ecx, eax
shr rdx, cl
cmp rdx, 0x2710
jae 0x1400bc3a5
mov edx, 0x2710
jmp 0x1400bc3b3
cmp rdx, 0x989680
jbe 0x1400bc3b3
mov edx, 0x989680
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jg 0x1400bc3d9
mov r8d, edx
mov dword [rsp + 0x20], ebx
mov edx, 0x4d
mov rcx, r14
call fcn.140035b50
jmp 0x1400bc407
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
movsxd rdx, dword [r14 + 0x90]
mov dword [rsp + 0x3c], edx
cmp dword [r14 + 0x94], edx
jg 0x1400bc437
xor r9d, r9d
mov dword [rsp + 0x20], ebx
mov r8d, r13d
mov rcx, r14
lea edx, [r9 + 0x24]
call fcn.140035b50
mov dword [rsp + 0x3c], eax
jmp 0x1400bc466
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rax + 0x90]
movsxd rax, dword [rax + 0x84]
imul rsi, rax, 0x38
add rsi, rbx
cmp rbx, rsi
jae 0x1400bc4cd
mov r12d, dword [rsp + 0x38]
nop dword [rax]
test byte [rbx + 0x12], 2
jne 0x1400bc4bf
mov rcx, qword [rbx]
xor r9d, r9d
mov r8d, r15d
mov rdx, rbp
call fcn.140053b70
test eax, eax
je 0x1400bc4bf
mov rdx, qword [rbx]
mov r9d, 0x10
mov r8d, r12d
mov rcx, rdi
call fcn.14005afc0
add rbx, 0x38
cmp rbx, rsi
jb 0x1400bc490
mov r12, qword [rsp + 0x50]
test dword [r12 + 0x38], 0x100
je 0x1400bc5e4
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1400bc4ec
inc dword [rdi + 0x38]
mov ebx, dword [rdi + 0x38]
jmp 0x1400bc4fb
dec al
movzx eax, al
mov byte [rdi + 0x1f], al
mov ebx, dword [rdi + rax*4 + 0xe8]
movsxd rcx, dword [r14 + 0x90]
xor esi, esi
cmp dword [r14 + 0x94], ecx
jg 0x1400bc526
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov r8d, r13d
mov edx, 0x87
mov rcx, r14
call fcn.140035b50
jmp 0x1400bc554
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov r15, qword [rsp + 0xe0]
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r15 + 0x34]
cmp dword [r14 + 0x94], ecx
jg 0x1400bc591
mov r8d, edx
mov dword [rsp + 0x28], 1
mov edx, 0xb7
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov rcx, r14
call fcn.140035bb0
jmp 0x1400bc5c1
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0xfdb7
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], ebx
mov dword [rax + rcx*8 + 0x10], 1
test ebx, ebx
je 0x1400bc7cd
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1400bc7cd
mov dword [rdi + rax*4 + 0xe8], ebx
inc byte [rdi + 0x1f]
jmp 0x1400bc7cd
movzx esi, word [r12 + 0x18]
mov r13, qword [r12 + 0x20]
mov dword [rsp + 0x44], esi
cmp esi, 1
jne 0x1400bc629
movzx eax, byte [rdi + 0x1f]
test al, al
jne 0x1400bc610
inc dword [rdi + 0x38]
lea r8, [rdi + 0x28]
mov eax, dword [rdi + 0x38]
mov dword [rsp + 0x30], eax
jmp 0x1400bc657
dec al
lea r8, [rdi + 0x28]
movzx eax, al
mov byte [rdi + 0x1f], al
mov eax, dword [rdi + rax*4 + 0xe8]
mov dword [rsp + 0x30], eax
jmp 0x1400bc657
mov ecx, dword [rdi + 0x28]
lea r8, [rdi + 0x28]
mov edx, dword [rdi + 0x2c]
mov dword [rsp + 0x30], edx
cmp esi, ecx
jg 0x1400bc648
lea eax, [rdx + rsi]
sub ecx, esi
mov dword [rdi + 0x2c], eax
mov dword [r8], ecx
jmp 0x1400bc657
mov eax, dword [rdi + 0x38]
lea ecx, [rax + 1]
add eax, esi
mov dword [rdi + 0x38], eax
mov dword [rsp + 0x30], ecx
xor r9d, r9d
mov rbx, r8
mov r15d, r9d
test esi, esi
je 0x1400bc730
mov ebp, dword [rsp + 0x30]
mov r12d, r9d
mov r14, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r13 + 8]
movsx ecx, word [rax + r15*2]
cmp cx, 0xfffe
jne 0x1400bc6ec
mov eax, dword [rsp + 0x34]
mov rsi, qword [rdi]
inc eax
mov dword [rdi + 0x40], eax
mov rax, qword [r13 + 0x50]
mov rdx, qword [rax + r12 + 8]
test rdx, rdx
je 0x1400bc6bc
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
call fcn.140051de0
mov rbx, rax
jmp 0x1400bc6bf
mov rbx, r9
cmp byte [rsi + 0x67], 0
jne 0x1400bc6d3
mov r8d, ebp
mov rdx, rbx
mov rcx, rdi
call fcn.14005a3e0
test rbx, rbx
je 0x1400bc6e3
mov rdx, rbx
mov rcx, rsi
call fcn.140051a20
xor r9d, r9d
mov dword [rdi + 0x40], r9d
jmp 0x1400bc708
mov r8d, dword [rsp + 0x34]
mov r9d, ecx
mov rcx, qword [rdi + 0x10]
mov rdx, qword [r13 + 0x18]
mov dword [rsp + 0x20], ebp
call fcn.140057520
xor r9d, r9d
inc ebp
inc r15
add r12, 0x20
cmp r15, r14
jl 0x1400bc680
mov r14, qword [rsp + 0x58]
lea rbx, [rdi + 0x28]
mov esi, dword [rsp + 0x44]
lea r8, [rdi + 0x28]
mov r12, qword [rsp + 0x50]
mov r15, qword [rsp + 0xe0]
movsxd rcx, dword [r14 + 0x90]
mov edx, dword [r15 + 0x34]
cmp dword [r14 + 0x94], ecx
jg 0x1400bc771
mov eax, dword [rsp + 0x30]
mov r8d, edx
mov edx, 0xb7
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.140035bb0
mov edx, dword [rsp + 0x30]
jmp 0x1400bc7a5
lea eax, [rcx + 1]
mov rbx, r8
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x30]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0xfdb7
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0x10], esi
cmp esi, 1
jne 0x1400bc7c2
test edx, edx
je 0x1400bc7cb
movzx eax, byte [rdi + 0x1f]
cmp al, 8
jae 0x1400bc7cb
mov dword [rdi + rax*4 + 0xe8], edx
inc byte [rdi + 0x1f]
jmp 0x1400bc7cb
cmp esi, dword [rbx]
jle 0x1400bc7cb
mov dword [rbx], esi
mov dword [rdi + 0x2c], edx
xor esi, esi
mov rcx, qword [r14 + 0x18]
mov edx, dword [rsp + 0x38]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1400bc7ec
mov r8d, edx
mov rdx, r14
call fcn.1400362e0
jmp 0x1400bc7fd
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14 + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
movsxd rbx, dword [rsp + 0x3c]
movsxd rcx, dword [r14 + 0x90]
mov r8d, dword [r15 + 4]
lea edx, [rbx + 1]
cmp dword [r14 + 0x94], ecx
jg 0x1400bc82f
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 0x27
mov rcx, r14
call fcn.140035b50
jmp 0x1400bc85d
lea eax, [rcx + 1]
mov dword [r14 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x88]
mov dword [rax + rcx*8], 0x27
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [r14]
lea r11, [0x140140be0]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
je 0x1400bc879
mov rax, r11
jmp 0x1400bc888
mov rax, qword [r14 + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
and dword [r12 + 0x38], 0xffbfffff
mov rax, qword [rdi]
test dword [rax + 0x60], 0x100000
jne 0x1400bc95d
mov esi, dword [rsp + 0xd8]
mov rbx, qword [rsp + 0x48]
inc esi
mov rbp, qword [rsp + 0xd0]
inc rbx
mov dword [rsp + 0xd8], esi
mov qword [rsp + 0x48], rbx
movzx r10d, byte [rbp + 0x40]
cmp esi, r10d
jge 0x1400bc952
mov r9, qword [rbp + 8]
mov r14, qword [rsp + 0xe8]
imul rdx, rbx, 0x70
add rdx, 0x3c0
add rdx, rbp
nop dword [rax]
movzx eax, byte [rdx - 0x20]
lea r15, [rdx - 0x60]
imul rcx, rax, 0x68
mov qword [rsp + 0xe0], r15
test byte [rcx + r9 + 0x44], 0x48
jne 0x1400bc92b
mov r12, qword [rdx]
test r12, r12
je 0x1400bc92b
test qword [r12], r14
jne 0x1400bc92b
mov eax, dword [r12 + 0x38]
and eax, 0x400004
cmp eax, 0x400000
je 0x1400bc939
inc esi
inc rbx
add rdx, 0x70
cmp rbx, r10
jl 0x1400bc8f0
mov r14, qword [rsp + 0x58]
cmp esi, r10d
mov dword [rsp + 0xd8], esi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], r12
mov ebx, 0
jl 0x1400bc2f0
mov rax, qword [r14]
mov edx, dword [r14 + 0x90]
cmp byte [rax + 0x67], 0
jne 0x1400bc981
movsxd rax, dword [rsp + 0x40]
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x88]
lea r11, [rax + rcx*8]
mov rax, qword [rsp + 0x68]
mov dword [r11 + 8], edx
mov qword [rdi + 0x60], rax
mov rax, qword [rsp + 0x70]
mov qword [rdi + 0x68], rax
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret