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

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0x50], rdi
mov rdi, rcx
mov qword [rsp + 0x30], r15
mov r15d, edx
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140034949
call qword [0x1400f8e78]
mov rcx, qword [rdi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x140034961
inc dword [rcx + 0x14]
cmp byte [rcx + 0x12], 0
jne 0x140034961
call fcn.140028430
mov rdx, qword [rdi]
test rdx, rdx
je 0x14003497b
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x14003497b
call qword [0x1400f8e78]
mov rdx, qword [rdi]
mov ebx, dword [rdi + 0x30]
test ebx, ebx
je 0x14003498e
lea eax, [rbx - 5]
cmp eax, 1
ja 0x140034fb9
mov rcx, qword [rdi + 0x28]
mov r10, qword [rdi + 8]
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x58], rsi
mov r8, qword [rcx + 8]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x38], r14
mov rax, qword [r8]
mov qword [rsp + 0x28], rax
mov rax, qword [r10 + 8]
mov dword [rsp + 0x88], 0
mov r13, qword [rax]
test rdx, rdx
je 0x1400349e0
cmp byte [r8 + 0x24], 2
jne 0x1400349e0
mov ebx, 5
jmp 0x140034a03
xor ebx, ebx
cmp byte [rcx + 0x10], bl
jne 0x140034a03
xor edx, edx
call fcn.14002b280
mov rcx, qword [rdi + 0x28]
mov ebx, eax
mov r10, qword [rdi + 8]
mov dword [rsp + 0x88], 1
cmp dword [rdi + 0x14], 0
mov esi, 7
jne 0x140034a30
test ebx, ebx
jne 0x140034a65
mov rax, qword [rcx + 8]
lea r8d, [rsi - 8]
xor r9d, r9d
mov rcx, r10
mov edx, dword [rax + 0x34]
call fcn.14002ab30
cmp eax, esi
jne 0x140034a34
mov ebx, esi
jmp 0x140034a65
test ebx, ebx
jne 0x140034a65
cmp dword [rdi + 0x14], 0
jne 0x140034a65
mov rcx, qword [rdi + 8]
mov edx, 2
call fcn.14002b280
mov ebx, eax
test eax, eax
jne 0x140034a65
mov rcx, qword [rdi + 8]
lea r8, [rdi + 0x10]
lea edx, [rax + 1]
mov dword [rdi + 0x14], 1
call fcn.140032c80
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 8]
mov rax, qword [rdi + 8]
mov edx, dword [rcx + 0x34]
mov rax, qword [rax + 8]
mov dword [rsp + 0x70], edx
mov r8d, dword [rax + 0x34]
mov rax, qword [rax]
mov dword [rsp + 0x80], r8d
movzx r12d, byte [rax + 9]
test ebx, ebx
jne 0x140034aa5
cmp r12b, 5
jne 0x140034aa5
cmp edx, r8d
mov eax, 8
cmovne ebx, eax
mov r14d, dword [rcx + 0x40]
xor ebp, ebp
nop dword [rax + rax]
test r15d, r15d
js 0x140034aba
cmp ebp, r15d
jge 0x140034b30
mov esi, dword [rdi + 0x18]
cmp esi, r14d
ja 0x140034b30
test ebx, ebx
jne 0x140034b75
mov rax, qword [rdi + 0x28]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x1400f7e8c]
div dword [rcx + 0x34]
inc eax
cmp esi, eax
je 0x140034b29
mov rax, qword [rsp + 0x28]
lea r9d, [rbx + 2]
lea r8, [rsp + 0x20]
mov edx, esi
mov rcx, rax
call qword [rax + 0x108]
mov ebx, eax
test eax, eax
jne 0x140034b29
mov rax, qword [rsp + 0x20]
xor r9d, r9d
mov edx, esi
mov rcx, rdi
mov r8, qword [rax + 8]
call fcn.140034720
mov rcx, qword [rsp + 0x20]
mov ebx, eax
test rcx, rcx
je 0x140034b29
call fcn.1400241c0
inc dword [rdi + 0x18]
inc ebp
jmp 0x140034ab0
test ebx, ebx
jne 0x140034b75
mov eax, r14d
mov dword [rdi + 0x38], r14d
sub eax, dword [rdi + 0x18]
inc eax
mov dword [rdi + 0x34], eax
cmp dword [rdi + 0x18], r14d
ja 0x140034b7e
cmp dword [rdi + 0x3c], ebx
jne 0x140034f07
mov rax, qword [rdi + 0x28]
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
mov rax, qword [rdx + 0x70]
mov qword [rdi + 0x40], rax
mov qword [rdx + 0x70], rdi
mov dword [rdi + 0x3c], 1
jmp 0x140034f07
cmp ebx, 0x65
jne 0x140034f07
test r14d, r14d
jne 0x140034bd7
mov rsi, qword [rdi + 8]
cmp byte [rsi + 0x11], r14b
je 0x140034b9e
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], r14b
jne 0x140034b9e
mov rcx, rsi
call fcn.140028430
mov rax, qword [rsi + 8]
mov dword [rax + 0x40], 0
mov rcx, qword [rsi + 8]
call fcn.14002b160
cmp byte [rsi + 0x11], 0
mov ebx, eax
je 0x140034bc8
sub dword [rsi + 0x14], 1
jne 0x140034bc8
mov rcx, rsi
call fcn.140028400
mov r14d, 1
test ebx, ebx
je 0x140034bd7
cmp ebx, 0x65
jne 0x140034bee
mov r8d, dword [rdi + 0x10]
mov edx, 1
mov rcx, qword [rdi + 8]
inc r8d
call fcn.140032d10
mov ebx, eax
test ebx, ebx
jne 0x140034f07
mov rcx, qword [rdi]
test rcx, rcx
je 0x140034c03
call fcn.14005ac60
cmp r12b, 5
jne 0x140034c21
mov rcx, qword [rdi + 8]
mov edx, 2
call fcn.1400342f0
mov ebx, eax
test eax, eax
jne 0x140034f07
movsxd rbp, dword [rsp + 0x70]
mov r15d, dword [rsp + 0x80]
cmp ebp, r15d
jge 0x140034c68
mov eax, r15d
cdq
idiv ebp
mov ecx, eax
dec eax
add eax, r14d
cdq
idiv ecx
xor edx, edx
mov r8d, eax
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 8]
lea esi, [r8 - 1]
mov eax, dword [0x1400f7e8c]
div dword [rcx + 0x34]
inc eax
cmp r8d, eax
cmovne esi, r8d
jmp 0x140034c74
mov eax, ebp
cdq
idiv r15d
mov esi, eax
imul esi, r14d
cmp ebp, r15d
jge 0x140034e61
movsxd r12, r14d
mov r15, rbp
mov r14, qword [r13 + 0x48]
imul r12, rbp
mov ebp, dword [r13 + 0x20]
nop
cmp esi, ebp
ja 0x140034d33
mov rax, qword [rdi + 8]
xor edx, edx
mov rcx, qword [rax + 8]
mov eax, dword [0x1400f7e8c]
div dword [rcx + 0x34]
inc eax
cmp esi, eax
je 0x140034d27
xor r9d, r9d
lea r8, [rsp + 0x20]
mov edx, esi
mov rcx, r13
call qword [r13 + 0x108]
mov ebx, eax
test eax, eax
jne 0x140034d27
mov rcx, qword [rsp + 0x20]
test byte [rcx + 0x2c], 4
mov rdx, qword [rcx + 0x20]
je 0x140034cf5
mov eax, dword [rcx + 0x28]
cmp dword [rdx + 0x20], eax
jb 0x140034cf5
cmp dword [rdx + 0x80], ebx
je 0x140034cf1
call fcn.140022d30
jmp 0x140034d16
xor ebx, ebx
jmp 0x140034d1d
mov ebx, dword [rdx + 0x30]
test ebx, ebx
jne 0x140034d1d
mov eax, dword [rdx + 0xbc]
cmp dword [rdx + 0xb8], eax
jbe 0x140034d11
call fcn.1400247a0
jmp 0x140034d16
call fcn.140024560
mov rcx, qword [rsp + 0x20]
mov ebx, eax
test rcx, rcx
je 0x140034d27
call fcn.1400241c0
inc esi
test ebx, ebx
je 0x140034c90
jmp 0x140034d47
test ebx, ebx
jne 0x140034d47
xor edx, edx
lea r8d, [rbx + 1]
mov rcx, r13
call fcn.140024ad0
mov ebx, eax
mov eax, dword [rsp + 0x80]
add eax, dword [0x1400f7e8c]
movsxd rbp, eax
mov eax, dword [rsp + 0x70]
cmp rbp, r12
cmovge rbp, r12
add eax, dword [0x1400f7e8c]
movsxd rsi, eax
test ebx, ebx
jne 0x140034f07
cmp rsi, rbp
jge 0x140034dec
mov rax, rsi
mov qword [rsp + 0x80], 0
cqo
lea r8, [rsp + 0x80]
idiv r15
xor r9d, r9d
lea edx, [rax + 1]
mov rax, qword [rsp + 0x28]
mov rcx, rax
call qword [rax + 0x108]
mov ebx, eax
test eax, eax
jne 0x140034dce
mov rax, qword [rsp + 0x80]
mov r9, rsi
mov r10, qword [r14]
mov rcx, r14
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rax + 8]
call qword [r10 + 0x18]
mov ebx, eax
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x140034de0
call fcn.1400241c0
add rsi, r15
test ebx, ebx
je 0x140034d73
jmp 0x140034f07
test ebx, ebx
jne 0x140034f07
mov rax, qword [r14]
lea rdx, [rsp + 0x70]
mov rcx, r14
call qword [rax + 0x30]
mov ebx, eax
test eax, eax
jne 0x140034e1d
cmp qword [rsp + 0x70], r12
jle 0x140034e1d
mov rax, qword [r14]
mov rdx, r12
mov rcx, r14
call qword [rax + 0x20]
mov ebx, eax
test ebx, ebx
jne 0x140034f07
mov rcx, qword [r13 + 0x48]
mov rax, qword [rcx]
test rax, rax
je 0x140034e49
xor r8d, r8d
lea edx, [rbx + 0x15]
call qword [rax + 0x50]
mov ebx, eax
cmp eax, 0xc
jne 0x140034e45
xor ebx, ebx
jmp 0x140034e49
test eax, eax
jne 0x140034e74
cmp byte [r13 + 0xb], 0
jne 0x140034e74
mov rcx, qword [r13 + 0x48]
movzx edx, byte [r13 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x28]
jmp 0x140034e72
xor r8d, r8d
mov dword [r13 + 0x20], esi
xor edx, edx
mov rcx, r13
call fcn.140024ad0
mov ebx, eax
test ebx, ebx
jne 0x140034f07
mov rsi, qword [rdi + 8]
movzx eax, byte [rsi + 0x10]
test al, al
je 0x140034f02
cmp byte [rsi + 0x11], bl
je 0x140034ea1
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], bl
jne 0x140034ea1
mov rcx, rsi
call fcn.140028430
movzx eax, byte [rsi + 0x10]
cmp al, 2
jne 0x140034ee6
mov r14, qword [rsi + 8]
mov rcx, qword [r14]
call fcn.140024d70
mov ebx, eax
test eax, eax
je 0x140034ecd
cmp byte [rsi + 0x11], 0
je 0x140034f07
sub dword [rsi + 0x14], 1
jne 0x140034f07
mov rcx, rsi
call fcn.140028400
jmp 0x140034f07
dec dword [rsi + 0x1c]
mov rcx, qword [r14 + 0x60]
mov byte [r14 + 0x24], 1
call fcn.14001e200
mov qword [r14 + 0x60], 0
mov rcx, rsi
call fcn.14002c200
cmp byte [rsi + 0x11], 0
je 0x140034f02
sub dword [rsi + 0x14], 1
jne 0x140034f02
mov rcx, rsi
call fcn.140028400
mov ebx, 0x65
cmp dword [rsp + 0x88], 0
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x78]
je 0x140034f9b
mov rcx, qword [rdi + 0x28]
xor edx, edx
call fcn.14002c150
mov rsi, qword [rdi + 0x28]
movzx eax, byte [rsi + 0x10]
test al, al
je 0x140034f9b
cmp byte [rsi + 0x11], 0
je 0x140034f52
inc dword [rsi + 0x14]
cmp byte [rsi + 0x12], 0
jne 0x140034f52
mov rcx, rsi
call fcn.140028430
movzx eax, byte [rsi + 0x10]
cmp al, 2
jne 0x140034f7f
mov r14, qword [rsi + 8]
mov rcx, qword [r14]
call fcn.140024d70
test eax, eax
jne 0x140034f87
dec dword [rsi + 0x1c]
mov rcx, qword [r14 + 0x60]
mov byte [r14 + 0x24], 1
call fcn.14001e200
mov qword [r14 + 0x60], 0
mov rcx, rsi
call fcn.14002c200
cmp byte [rsi + 0x11], 0
je 0x140034f9b
sub dword [rsi + 0x14], 1
jne 0x140034f9b
mov rcx, rsi
call fcn.140028400
mov rdx, qword [rdi]
cmp ebx, 0xc0a
mov r14, qword [rsp + 0x38]
mov eax, 7
mov rsi, qword [rsp + 0x58]
cmove ebx, eax
mov dword [rdi + 0x30], ebx
mov r15, qword [rsp + 0x30]
test rdx, rdx
je 0x140034fd2
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x140034fd2
call qword [0x1400f8e88]
mov rcx, qword [rdi + 0x28]
cmp byte [rcx + 0x11], 0
je 0x140034fe7
sub dword [rcx + 0x14], 1
jne 0x140034fe7
call fcn.140028400
mov rax, qword [rdi + 0x20]
mov rdi, qword [rsp + 0x50]
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x140034fff
call qword [0x1400f8e88]
mov eax, ebx
add rsp, 0x60
pop rbx
ret