Function at 0x140035340
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, 0x78
mov rax, qword [rdx + 0x140]
mov qword [rcx + 0xb0], rax
mov edi, dword [rdx + 0x38]
mov rbx, rcx
mov r12, rdx
movzx eax, word [rdx + 0x128]
mov r14d, dword [rdx + 0x34]
mov qword [rdx + 0x140], 0
mov r15, qword [rcx]
mov word [rsp + 0x2e], ax
mov eax, dword [rdx + 0x88]
add edi, r14d
mov dword [rsp + 0x6c], eax
test r14d, r14d
jne 0x1400353a1
test edi, edi
setg al
cmp al, 1
sbb edi, 0xffffffff
mov eax, dword [rbx + 0x90]
mov esi, dword [r12 + 0x3c]
lea rdx, [rsp + 0x6c]
mov rcx, rbx
lea eax, [rax + rax*2]
shl eax, 3
sub esi, eax
movsxd rbp, eax
add rbp, qword [rbx + 0x88]
call fcn.140011450
and esi, 0xfffffff8
xor eax, eax
cmp byte [r12 + 0x20], 0
movsxd rsi, esi
je 0x1400353e4
cmp byte [r12 + 0x21], 0
setne al
shl eax, 5
mov edx, eax
movzx eax, byte [rbx + 0xc6]
and eax, 0xffffffdf
or eax, edx
mov byte [rbx + 0xc6], al
movzx edx, byte [r12 + 0x12b]
test dl, dl
je 0x140035753
mov ecx, 0xa
mov r13, qword [rbx]
cmp edi, ecx
cmovl edi, ecx
and edx, 3
and eax, 0xfffffff3
shl edx, 2
or eax, edx
mov byte [rbx + 0xc6], al
movzx eax, word [rbx + 0xc0]
cmp byte [r12 + 0x12b], 2
je 0x1400359c0
test ax, ax
jne 0x140035af8
mov r8d, 8
mov edx, 0x380
mov rcx, r13
mov word [rbx + 0xc0], r8w
call fcn.140025c60
mov qword [rbx + 0x98], rax
test rax, rax
je 0x140035646
mov edx, 1
mov ecx, 1
mov qword [rax + 0x18], r13
mov r8d, 1
mov word [rax + 0x14], dx
mov r9d, 1
mov r10d, 1
mov r11d, 1
mov word [rax + 0x4c], cx
mov r12d, 1
mov edx, 1
mov ecx, 1
mov word [rax + 0x84], r8w
mov r8d, 1
mov word [rax + 0xbc], r9w
mov r9d, 1
mov word [rax + 0xf4], r10w
mov r10d, 1
mov word [rax + 0x12c], r11w
mov r11d, 1
mov word [rax + 0x164], r12w
mov r12d, 1
mov word [rax + 0x19c], dx
mov edx, 1
mov word [rax + 0x1d4], cx
mov ecx, 1
mov dword [rax + 0x20], 0
mov qword [rax + 0x50], r13
mov dword [rax + 0x58], 0
mov qword [rax + 0x88], r13
mov dword [rax + 0x90], 0
mov qword [rax + 0xc0], r13
mov dword [rax + 0xc8], 0
mov qword [rax + 0xf8], r13
mov dword [rax + 0x100], 0
mov qword [rax + 0x130], r13
mov dword [rax + 0x138], 0
mov qword [rax + 0x168], r13
mov dword [rax + 0x170], 0
mov qword [rax + 0x1a0], r13
mov dword [rax + 0x1a8], 0
mov qword [rax + 0x1d8], r13
mov dword [rax + 0x1e0], 0
mov word [rax + 0x20c], r8w
mov qword [rax + 0x210], r13
mov dword [rax + 0x218], 0
mov word [rax + 0x244], r9w
mov qword [rax + 0x248], r13
mov dword [rax + 0x250], 0
mov word [rax + 0x27c], r10w
mov qword [rax + 0x280], r13
mov dword [rax + 0x288], 0
mov word [rax + 0x2b4], r11w
mov qword [rax + 0x2b8], r13
mov dword [rax + 0x2c0], 0
mov word [rax + 0x2ec], r12w
mov qword [rax + 0x2f0], r13
mov dword [rax + 0x2f8], 0
mov word [rax + 0x324], dx
mov qword [rax + 0x328], r13
mov dword [rax + 0x330], 0
mov word [rax + 0x35c], cx
mov qword [rax + 0x360], r13
mov dword [rax + 0x368], 0
mov dword [rsp + 0x38], 8
xor r12d, r12d
add r12d, 1
mov qword [rsp + 0x40], rbp
xor r13d, r13d
mov qword [rsp + 0x50], r15
movsxd r12, r12d
mov dword [rsp + 0x5c], r14d
mov dword [rsp + 0x58], edi
mov rdi, rbx
mov rbx, r13
mov qword [rsp + 0x48], rsi
mov rsi, r12
lea rax, [0x1401b9658]
mov rbp, qword [rax + rsi*8]
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
jne 0x140035738
mov r12, qword [rdi + 0x98]
add r12, rbx
movzx r13d, word [r12 + 0x14]
and r13w, 0x9000
test rbp, rbp
je 0x140035920
mov r14, qword [r12 + 0x18]
mov r15d, 0x3b9aca00
test r14, r14
je 0x1400356ca
movsxd r15, dword [r14 + 0x88]
mov rcx, rbp
call sub.msvcrt.dll_strlen
cmp rax, r15
jg 0x140035940
test r13w, r13w
jne 0x1400356eb
mov r13d, dword [r12 + 0x20]
test r13d, r13d
je 0x1400356fd
mov rcx, r12
mov qword [rsp + 0x30], rax
call fcn.140011e80
mov rax, qword [rsp + 0x30]
mov r11d, 0x2202
mov qword [r12 + 8], rbp
mov qword [r12 + 0x30], 0
mov dword [r12 + 0x10], eax
mov word [r12 + 0x14], r11w
mov byte [r12 + 0x16], 1
cmp dword [rsp + 0x38], esi
jle 0x140035738
add rsi, 1
add rbx, 0x38
jmp 0x14003567c
mov rbx, rdi
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x5c]
mov edi, dword [rsp + 0x58]
movsxd rax, edi
and byte [rbx + 0xc6], 0xfc
lea r13, [rax*8]
sub r13, rax
shl r13, 3
cmp rsi, r13
jl 0x1400359b0
sub rsi, r13
xor edx, edx
lea rax, [rbp + rsi]
movsx rcx, word [rsp + 0x2e]
mov qword [rbx + 0x68], rax
lea r12, [rcx*8]
sub r12, rcx
shl r12, 3
cmp r12, rsi
jg 0x1400359a0
sub rsi, r12
lea rcx, [rbp + rsi]
movsxd r9, dword [rsp + 0x6c]
mov qword [rbx + 0x80], rcx
shl r9, 3
cmp r9, rsi
jg 0x140035990
sub rsi, r9
lea r8, [rbp + rsi]
mov qword [rbx + 0x70], r8
movsxd r8, r14d
shl r8, 3
cmp r8, rsi
jg 0x140035980
sub rsi, r8
add rbp, rsi
mov qword [rbx + 0x78], rbp
test rdx, rdx
jne 0x1400358d0
cmp byte [r15 + 0x67], 0
jne 0x14003590b
movzx edx, word [rsp + 0x2e]
mov dword [rbx + 0x28], r14d
mov word [rbx + 0x20], dx
test dx, dx
jle 0x140035843
movsx eax, dx
lea rdx, [rax*8]
sub rdx, rax
lea rax, [rcx + rdx*8]
mov r9d, 1
mov qword [rcx + 0x18], r15
add rcx, 0x38
mov word [rcx - 0x24], r9w
mov dword [rcx - 0x18], 0
cmp rax, rcx
jne 0x140035820
mov rax, qword [rbx + 0x68]
mov dword [rbx + 0x24], edi
test edi, edi
jle 0x14003587a
mov edi, edi
lea rdx, [rdi*8]
sub rdx, rdi
lea rdx, [rax + rdx*8]
nop dword [rax + rax]
xor ecx, ecx
mov qword [rax + 0x18], r15
add rax, 0x38
mov word [rax - 0x24], cx
mov dword [rax - 0x18], 0
cmp rdx, rax
jne 0x140035860
mov rcx, qword [rbx + 0x78]
xor edx, edx
call sub.msvcrt.dll_memset
mov eax, 0xffffff02
mov byte [rbx + 0xc5], 1
mov word [rbx + 0xc2], ax
movabs rax, 0xffffffff00000001
mov qword [rbx + 0x2c], rax
mov qword [rbx + 0x34], 0
mov qword [rbx + 0x3c], 0
mov qword [rbx + 0x50], 0
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r15
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], rdx
call fcn.140025c60
mov rdx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov qword [rbx + 0x100], rax
cmp byte [r15 + 0x67], 0
mov r10, rax
mov r8, qword [rsp + 0x40]
je 0x140035b30
xor r10d, r10d
mov qword [rbx + 0x24], 0
mov word [rbx + 0x20], r10w
jmp 0x140035885
test r13w, r13w
jne 0x140035b80
mov eax, 1
mov word [r12 + 0x14], ax
jmp 0x140035722
test r13w, r13w
jne 0x140035b90
mov r15d, 1
mov word [r12 + 0x14], r15w
test r14, r14
je 0x140035722
mov rax, qword [r14 + 0x158]
test rax, rax
je 0x140035722
add dword [rax + 0x30], 1
mov dword [rax + 0x18], 0x12
jmp 0x140035722
add rdx, r8
xor ebp, ebp
jmp 0x1400357e4
add rdx, r9
xor r8d, r8d
jmp 0x1400357ca
add rdx, r12
xor ecx, ecx
jmp 0x1400357a9
mov rdx, r13
xor eax, eax
jmp 0x14003577f
test ax, ax
je 0x1400359d5
mov rcx, qword [rbx + 0x98]
test rcx, rcx
jne 0x140035ba2
mov r10d, 4
mov edx, 0x1c0
mov rcx, r13
mov word [rbx + 0xc0], r10w
call fcn.140025c60
mov qword [rbx + 0x98], rax
test rax, rax
je 0x140035ae2
mov r9d, 1
mov r10d, 1
mov edx, 1
mov r11d, 1
mov word [rax + 0x14], r9w
mov r12d, 1
mov ecx, 1
mov r8d, 1
mov r9d, 1
mov qword [rax + 0x18], r13
mov dword [rax + 0x20], 0
mov word [rax + 0x4c], r10w
mov qword [rax + 0x50], r13
mov dword [rax + 0x58], 0
mov word [rax + 0x84], r11w
mov qword [rax + 0x88], r13
mov dword [rax + 0x90], 0
mov word [rax + 0xbc], r12w
mov qword [rax + 0xc0], r13
mov dword [rax + 0xc8], 0
mov word [rax + 0xf4], dx
mov qword [rax + 0xf8], r13
mov dword [rax + 0x100], 0
mov word [rax + 0x12c], cx
mov qword [rax + 0x130], r13
mov dword [rax + 0x138], 0
mov word [rax + 0x164], r8w
mov qword [rax + 0x168], r13
mov dword [rax + 0x170], 0
mov word [rax + 0x19c], r9w
mov qword [rax + 0x1a0], r13
mov dword [rax + 0x1a8], 0
mov dword [rsp + 0x38], 0xc
mov r12d, 8
jmp 0x140035651
mov rcx, qword [rbx + 0x98]
test rcx, rcx
je 0x140035449
lea edx, [rax + rax]
call fcn.140012010
mov rdx, qword [rbx + 0x98]
test rdx, rdx
je 0x140035449
mov rcx, r13
call fcn.140016330
jmp 0x140035449
mov rax, qword [rbx + 0x68]
test rax, rax
je 0x140035be8
mov rcx, qword [rbx + 0x80]
mov qword [rbx + 0x68], rax
test rcx, rcx
je 0x140035c18
mov r11, qword [rbx + 0x70]
mov qword [rbx + 0x80], rcx
test r11, r11
je 0x140035c00
mov r9, qword [rbx + 0x78]
mov qword [rbx + 0x70], r11
test r9, r9
je 0x140035bd0
mov qword [rbx + 0x78], r9
jmp 0x1400357f1
mov rcx, r12
call fcn.140011e40
jmp 0x140035722
mov rcx, r12
call fcn.140011e40
mov r14, qword [r12 + 0x18]
jmp 0x140035956
lea edx, [rax + rax]
call fcn.140012010
mov rdx, qword [rbx + 0x98]
test rdx, rdx
je 0x1400359d5
mov rcx, r13
call fcn.140016330
jmp 0x1400359d5
mov r11, rdx
sub r11, r8
add r10, r11
cmp r8, rdx
cmovle r9, r10
jmp 0x140035b72
cmp r13, rdx
jg 0x140035b3d
sub rdx, r13
lea rax, [r10 + rdx]
jmp 0x140035b3d
cmp r9, rdx
jg 0x140035b65
sub rdx, r9
lea r11, [r10 + rdx]
jmp 0x140035b65
cmp r12, rdx
jg 0x140035b51
sub rdx, r12
lea rcx, [r10 + rdx]
jmp 0x140035b51