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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
xor ebx, ebx
mov rax, r9
movzx r12d, bx
mov r14, rcx
mov r9, r8
mov rcx, qword [rdx + 0x20]
mov r13, rdx
mov dword [rsp + 0x80], r12d
lea esi, [rbx + 1]
mov r10d, ebx
lea r11d, [rbx + 0x40]
cmp dword [rdx + 0x14], ebx
jle 0x140100cd1
mov r8d, dword [rax + 0x44]
add rcx, 0x30
mov edx, dword [rdx + 0x14]
cmp dword [rcx - 0x14], r8d
jne 0x140100cc9
test qword [rcx], r9
jne 0x140100cc9
movzx eax, word [rcx - 0x1c]
test eax, 0xfffff7ff
je 0x140100cc9
test byte [rcx - 0x1e], 0x80
jne 0x140100cc9
add r10d, esi
add rcx, r11
sub rdx, rsi
jne 0x140100caa
mov r15, qword [rsp + 0xa0]
mov edi, ebx
mov ebp, 2
test r15, r15
je 0x140100d37
mov r8d, ebx
cmp dword [r15], ebx
jle 0x140100d30
movsxd r11, dword [r15]
lea rcx, [r15 + 0x18]
mov r12, qword [rsp + 0x98]
mov rdx, rbx
mov r9, qword [rcx - 0x10]
cmp byte [r9], 0xa4
jne 0x140100d28
mov eax, dword [r12 + 0x44]
cmp dword [r9 + 0x2c], eax
jne 0x140100d28
test byte [rcx], bpl
jne 0x140100d28
add r8d, esi
add rdx, rsi
add rcx, 0x20
cmp rdx, r11
jl 0x140100cff
mov r12d, dword [rsp + 0x80]
cmp r8d, dword [r15]
cmove edi, dword [r15]
mov rcx, qword [r14]
movsxd rsi, r10d
movsxd rbp, edi
mov qword [rsp + 0x88], rbp
lea rdx, [rsi + rsi*4]
shl rdx, 2
add rdx, 0x70
lea rdx, [rdx + rbp*8]
call fcn.140152514
mov qword [rsp + 0x80], rax
mov r10, rax
test rax, rax
jne 0x140100d83
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.140154378
xor eax, eax
jmp 0x140100f30
lea r9, [rax + 0x70]
mov dword [r10 + 0x10], edi
lea rax, [rsi + rsi*2]
mov qword [r10 + 8], r9
lea rsi, [r9 + rax*4]
mov qword [r10 + 0x60], r13
mov qword [r10 + 0x18], rsi
lea rax, [rsi + rbp*8]
mov qword [r10 + 0x20], rax
mov r11d, ebx
mov qword [r10 + 0x68], r14
mov edi, ebx
mov r8, qword [r13 + 0x20]
mov qword [rsp + 0x20], rsi
cmp dword [r13 + 0x14], ebx
jle 0x140100ee7
mov r14, qword [rsp + 0x98]
mov esi, 2
mov r15, qword [rsp + 0x90]
add r9, 4
lea ebp, [rsi + 0x3e]
lea r10d, [rsi - 1]
mov eax, dword [r14 + 0x44]
cmp dword [r8 + 0x1c], eax
jne 0x140100eba
test qword [r8 + 0x30], r15
jne 0x140100eba
movzx eax, word [r8 + 0x14]
test eax, 0xfffff7ff
je 0x140100eba
test byte [r8 + 0x12], 0x80
jne 0x140100eba
test byte [r14 + 0x3c], 8
je 0x140100e2a
mov rax, qword [r8]
test byte [rax + 4], r10b
je 0x140100eba
mov eax, dword [r8 + 0x28]
mov dword [r9 - 4], eax
mov eax, 0x1fff
mov dword [r9 + 4], edi
movzx edx, word [r8 + 0x14]
and dx, ax
cmp dx, r10w
jne 0x140100e82
movzx edx, si
mov byte [r9], dl
test dl, 0x3c
je 0x140100eb3
mov rcx, qword [r8]
mov rcx, qword [rcx + 0x18]
call fcn.140158208
cmp eax, r10d
jle 0x140100eb3
mov ecx, 0x10
cmp r11d, ecx
jge 0x140100e77
movzx r12d, r12w
bts r12d, r11d
cmp dx, cx
jne 0x140100ea9
mov byte [r9], 8
jmp 0x140100eb3
cmp dx, bp
jne 0x140100e8d
mov al, byte [r8 + 0x17]
jmp 0x140100ea4
mov eax, 0x180
test ax, dx
je 0x140100e4c
mov eax, 0x100
cmp dx, ax
setne al
add al, 0x47
mov byte [r9], al
jmp 0x140100eb3
cmp dx, 4
jne 0x140100eb3
mov byte [r9], 0x20
add r11d, r10d
add r9, 0xc
add edi, r10d
add r8, rbp
cmp edi, dword [r13 + 0x14]
jl 0x140100de3
mov r10, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x20]
mov r15, qword [rsp + 0xa0]
mov dword [r10], r11d
test rbp, rbp
jle 0x140100f21
lea rdx, [r15 + 0x18]
mov r10d, 1
mov rax, qword [rdx - 0x10]
movsx ecx, word [rax + 0x30]
mov dword [rsi + rbx*8], ecx
mov al, byte [rdx]
lea rdx, [rdx + 0x20]
and al, r10b
mov byte [rsi + rbx*8 + 4], al
add rbx, r10
cmp rbx, rbp
jl 0x140100ef9
mov r10, qword [rsp + 0x80]
mov rax, qword [rsp + 0xa8]
mov word [rax], r12w
mov rax, r10
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret