Function at 0x140129530
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 r14, qword [0x14022c040]
mov r15, rcx
mov r12d, edx
mov rbx, r8
mov edi, r9d
mov r13, qword [r14]
mov qword [rsp + 0x48], r13
lea r13, [rsp + 0x20]
test r9d, r9d
jg 0x1401295c4
jmp 0x140129650
mov rcx, qword [r15 + 0x28]
mov eax, dword [r15 + 4]
mov qword [rsp + 0x20], rbx
mov rdx, r13
add dword [r15 + 0x10], 1
or ah, 0x40
cmp qword [rcx + 0x230], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x3c], 0x1d
je 0x140129640
call fcn.1401249f0
add rbx, rbp
test edi, edi
jle 0x140129610
movsxd rbp, edi
mov edx, 0xa
mov rcx, rbx
mov r8, rbp
call sub.msvcrt.dll_memchr
mov rsi, rax
test rax, rax
je 0x140129638
mov r8, rax
sub r8, rbx
add r8d, 1
movsxd rbp, r8d
sub edi, r8d
cmp r12d, 0x2b
jne 0x140129570
add dword [r15 + 0x14], 1
mov rdx, rbx
mov rcx, r15
add rbx, rbp
call 0x1401290b0
test edi, edi
jg 0x1401295c4
test rsi, rsi
je 0x140129650
mov rax, qword [rsp + 0x48]
sub rax, qword [r14]
jne 0x1401296a7
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, edi
xor edi, edi
jmp 0x1401295ef
call fcn.140128420
jmp 0x1401295bd
mov rcx, qword [r15 + 0x28]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
cmp qword [rcx + 0x230], 0
mov dword [rsp + 0x3c], 0x1e
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
je 0x140129698
lea rdx, [rsp + 0x20]
call fcn.1401249f0
jmp 0x140129615
lea rdx, [rsp + 0x20]
call fcn.140128420
jmp 0x140129615
call fcn.1401d96b0
nop
nop dword [rax]
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov rdi, qword [0x14022c040]
mov r12, qword [rsp + 0xf0]
mov rax, qword [rdi]
mov qword [rsp + 0x78], rax
xor eax, eax
mov rax, qword [0x14022c910]
mov rbp, rcx
mov r14, rdx
mov qword [rsp + 0x30], 0
mov r15, r8
mov rsi, r9
lea rdi, [rsp + 0x30]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], rax
test r9, r9
je 0x1401299ba
mov r8, r9
mov edx, 0xa
lea rdi, [rsp + 0x30]
mov rcx, r12
call sub.msvcrt.dll_memchr
mov rbx, rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
cmp r12, rbx
je 0x1401297a1
nop dword [rax + rax]
mov r13, qword [r14 + 0x10]
test r13, r13
je 0x140129754
cmp byte [r13], 0
jne 0x140129898
mov r13, qword [r14]
mov rcx, r13
call sub.msvcrt.dll_strlen
mov rdx, r13
mov rcx, rdi
mov r8, rax
call fcn.14008f5f0
test rbx, rbx
je 0x14012995f
mov r8, rbx
mov rdx, r12
mov rcx, rdi
sub r8, r12
call fcn.14008f5f0
mov r13, qword [r14 + 8]
mov rcx, r13
call sub.msvcrt.dll_strlen
mov rdx, r13
mov rcx, rdi
mov r8, rax
call fcn.14008f5f0
mov rcx, r15
lea r13, [rbx + 1]
call sub.msvcrt.dll_strlen
mov rdx, r15
mov rcx, rdi
mov r8, rax
call fcn.14008f5f0
mov rax, r13
mov rdx, qword [rsp + 0x38]
sub rax, r12
sub rsi, rax
je 0x1401299b5
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x58], edx
mov rcx, rbp
cmp qword [rbp + 0x230], 0
mov dword [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
mov rdx, qword [rsp + 0x28]
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x5c], 0
mov dword [rsp + 0x6c], 9
je 0x140129918
call fcn.1401249f0
mov qword [rsp + 0x38], 0
mov rax, qword [rsp + 0x40]
cmp rax, qword [0x14022c910]
je 0x140129928
mov byte [rax], 0
mov r8, rsi
mov edx, 0xa
mov rcx, r13
call sub.msvcrt.dll_memchr
mov rbx, rax
mov rax, qword [rbp + 0x218]
test rax, rax
je 0x1401299f0
mov rdx, qword [rbp + 0x220]
mov rcx, rbp
call rax
mov r12, qword [rax + 0x10]
mov rcx, r12
call sub.msvcrt.dll_strlen
mov r8, rax
mov rdx, r12
mov rcx, rdi
mov r12, r13
call fcn.14008f5f0
cmp r12, rbx
jne 0x140129740
jmp 0x1401297a1
mov rcx, r13
call sub.msvcrt.dll_strlen
mov rdx, r13
mov rcx, rdi
mov r8, rax
call fcn.14008f5f0
mov r13, qword [r14]
mov rcx, r13
call sub.msvcrt.dll_strlen
mov rdx, r13
mov rcx, rdi
mov r8, rax
call fcn.14008f5f0
test rbx, rbx
je 0x140129958
mov r8, rbx
mov rdx, r12
mov rcx, rdi
sub r8, r12
call fcn.14008f5f0
mov r13, qword [r14 + 8]
mov rcx, r13
call sub.msvcrt.dll_strlen
mov rdx, r13
mov rcx, rdi
mov r8, rax
call fcn.14008f5f0
mov r8d, 3
lea rdx, [0x140210412]
mov rcx, rdi
call fcn.14008f5f0
jmp 0x1401297a1
call fcn.140128420
jmp 0x140129819
mov rax, qword [0x14022c910]
cmp byte [rax], 0
je 0x140129837
mov r8d, 0xac
lea rdx, [0x14020fcc6]
lea rcx, [0x14020fccf]
call qword [sym.imp.msvcrt.dll__assert]
nop word [rax + rax]
lea rbx, [0x140210412]
mov r8, rsi
mov rdx, r12
mov rcx, rdi
call fcn.14008f5f0
mov rsi, qword [r14 + 8]
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov rdx, rsi
mov rcx, rdi
mov r8, rax
call fcn.14008f5f0
test rbx, rbx
je 0x1401299b0
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov rdx, rbx
mov rcx, rdi
mov r8, rax
call fcn.14008f5f0
nop word cs:[rax + rax]
nop dword [rax]
mov rdx, qword [rsp + 0x38]
test rdx, rdx
jne 0x140129a00
mov rcx, rdi
call fcn.14008e580
mov rsi, qword [0x14022c040]
mov rax, qword [rsp + 0x78]
sub rax, qword [rsi]
jne 0x140129a5a
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r8d, r8d
lea r12, [0x14020fd42]
jmp 0x140129875
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x58], edx
mov rcx, rbp
lea rdx, [rsp + 0x50]
cmp qword [rbp + 0x230], 0
mov dword [rsp + 0x68], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x5c], 0
mov dword [rsp + 0x6c], 9
je 0x140129a50
call fcn.1401249f0
jmp 0x1401299ba
call fcn.140128420
jmp 0x1401299ba
call fcn.1401d96b0
nop
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rcx + 0x60]
mov r12, qword [rcx + 0x78]
mov rbx, rcx
mov edi, edx
mov esi, r8d
mov r15d, r9d
test rax, rax
je 0x140129be2
mov r8, qword [rax + 0x218]
lea rcx, [0x14020fd42]
test r8, r8
je 0x140129ab0
mov rcx, rax
mov rdx, qword [rax + 0x220]
call r8
mov rcx, qword [rax + 0x10]
mov rdx, qword [rbx + 0x18]
movsxd rax, edi
shl rax, 4
add rax, rdx
mov r13, qword [rax + 8]
mov r8, qword [rax]
mov r14, r13
test esi, esi
je 0x140129add
add esi, edi
mov r13, r8
movsxd rsi, esi
shl rsi, 4
mov r14, qword [rdx + rsi - 8]
mov rdx, qword [rbx + 0x40]
movsxd rax, r15d
mov r9d, dword [rsp + 0xa0]
shl rax, 4
add rax, rdx
mov rsi, qword [rax + 8]
mov r8, qword [rax]
mov rbp, rsi
test r9d, r9d
je 0x140129b19
add r15d, dword [rsp + 0xa0]
mov rsi, r8
movsxd rbp, r15d
shl rbp, 4
mov rbp, qword [rdx + rbp - 8]
mov r8d, dword [rbx + 0x58]
mov rax, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x28]
test r8d, r8d
je 0x140129bc0
cmp rdx, rax
jae 0x140129b3d
cmp byte [rax - 1], 0xa
je 0x140129bc9
cmp rsi, rax
je 0x140129b60
mov r8, qword [r12 + 0x50]
mov rcx, qword [rbx + 0x60]
mov qword [rsp + 0x20], rax
mov r9, rsi
lea rdx, [r12 + 0x38]
sub r9, rax
call 0x1401296b0
cmp r13, r14
je 0x140129b83
mov r8, qword [r12 + 0x50]
mov rcx, qword [rbx + 0x60]
mov qword [rsp + 0x20], r13
sub r14, r13
lea rdx, [r12 + 0x20]
mov r9, r14
call 0x1401296b0
cmp rsi, rbp
je 0x140129ba6
mov r8, qword [r12 + 0x50]
mov rcx, qword [rbx + 0x60]
mov qword [rsp + 0x20], rsi
mov r9, rbp
lea rdx, [r12 + 8]
sub r9, rsi
call 0x1401296b0
mov qword [rbx + 0x50], rbp
mov dword [rbx + 0x58], edi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp rax, rdx
jne 0x140129b2e
mov rax, qword [rbx + 0x60]
mov rdx, qword [rax + 0x1c0]
call fcn.1401deb18
mov rax, qword [rbx + 0x50]
jmp 0x140129b3d
mov r8d, 0x7e6
lea rdx, str.diff.c
lea rcx, [0x140210416]
call qword [sym.imp.msvcrt.dll__assert]
nop
nop dword [rax]