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

Disassembly:
push rdi
push r13
sub rsp, 0x78
movzx eax, word [rcx + 0x36]
mov r13, rcx
xor ax, word [rcx + 0x34]
mov rdi, rdx
xor ax, word [rcx + 0x38]
mov ecx, 0xff
cmp ax, cx
jne 0x140035f26
cmp dword [r13 + 0x9c], 0
mov byte [rsp + 0x90], 1
jne 0x140035f2e
mov byte [rsp + 0x90], 0
mov rax, qword [r13 + 0x90]
mov qword [rsp + 0x98], rbx
lea rbx, [r13 + 0x88]
mov rcx, qword [rax + 0xe980]
test rcx, rcx
je 0x140035f55
cmp qword [rbx], rcx
jne 0x140035f5a
cmp qword [rbx], rcx
je 0x140035f6a
mov rcx, r13
call fcn.140034d90
test eax, eax
je 0x14003642e
mov r11d, dword [rdi + 4]
xor edx, edx
mov ecx, dword [rdi + 0xc]
mov eax, r11d
mov r10d, dword [rdi]
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r14
movzx r14d, byte [r13 + 0x30]
mov qword [rsp + 0x50], r15
mov r15d, dword [r13 + 0x14]
div r15d
mov eax, ecx
lea r9d, [r15 - 1]
sub r11d, edx
lea r8d, [r15 - 1]
xor edx, edx
mov dword [rdi + 4], r11d
div r15d
mov eax, r10d
sub ecx, edx
xor edx, edx
div r15d
add r9d, ecx
mov ecx, dword [rdi + 8]
sub r10d, edx
mov dword [rdi + 0xc], r9d
xor edx, edx
mov dword [rdi], r10d
mov eax, ecx
div r15d
xor eax, eax
sub ecx, edx
add r8d, ecx
test r11d, r11d
mov dword [rdi + 8], r8d
cmovns eax, r11d
xor edx, edx
div r15d
mov ebp, eax
xor eax, eax
test r9d, r9d
cmovns eax, r9d
xor edx, edx
div r15d
mov r9d, eax
xor eax, eax
test r10d, r10d
cmovns eax, r10d
xor edx, edx
div r15d
mov edi, eax
xor eax, eax
test r8d, r8d
cmovns eax, r8d
mov r8d, dword [r13 + 4]
xor edx, edx
imul r10d, r14d
div r15d
mov dword [rsp + 0x24], eax
mov eax, r10d
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd rsi, eax
mov eax, r8d
imul eax, r11d
add rsi, rax
mov eax, r14d
add rsi, qword [rbx]
imul eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
movsxd r12, eax
mov eax, r8d
imul eax, ebp
add r12, rax
add r12, qword [r13 + 0x18]
mov qword [rsp + 0x38], r12
cmp r15d, 1
jne 0x140036087
cmp byte [r13 + 0xa0], 0
jne 0x140036087
cmp dword [r13 + 0x9c], 0
je 0x140036415
cmp byte [r13 + 0x33], 0
je 0x140036094
cmp r15d, 1
jne 0x1400360a2
cmp dword [r13 + 0x9c], 0
je 0x1400363d3
shr r14d, 3
cmp ebp, r9d
jge 0x140036415
mov r15d, dword [rsp + 0x24]
sub r15d, edi
sub r9d, ebp
mov dword [rsp + 0x24], r15d
mov eax, r9d
mov ebp, 0xd0d0d0
mov qword [rsp + 0x40], rax
nop dword [rax]
xor ebx, ebx
mov dword [rsp + 0x20], ebx
test r15d, r15d
jle 0x1400363af
nop
mov edi, dword [r13 + 0x14]
xor r9d, r9d
xor r10d, r10d
mov dword [rsp + 0xa8], r9d
xor r11d, r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x2c], r11d
mov dword [rsp + 0x30], edi
mov dword [rsp + 0xa0], r9d
test edi, edi
je 0x140036296
nop dword [rax]
nop word [rax + rax]
xor r12d, r12d
nop dword [rax]
nop word [rax + rax]
xor r11d, r11d
xor ebx, ebx
xor r10d, r10d
xor r15d, r15d
cmp r14d, 2
jb 0x1400361ae
mov ebp, dword [r13 + 4]
mov eax, edi
imul eax, dword [rsp + 0x20]
mov ecx, ebp
imul ecx, dword [rsp + 0xa0]
xor r9d, r9d
add eax, r12d
imul eax, r14d
add eax, ecx
lea ecx, [r14 - 2]
shr ecx, 1
inc ecx
mov edi, ecx
lea r15d, [rcx + rcx]
movzx edx, byte [rax + rsi]
mov ecx, r9d
shl edx, cl
lea ecx, [rax + 1]
add r11d, edx
lea eax, [rax + 2]
movzx r8d, byte [rcx + rsi]
lea ecx, [r9 + 8]
shl r8d, cl
add r9d, 0x10
add ebx, r8d
sub rdi, 1
jne 0x140036170
mov edi, dword [rsp + 0x30]
mov r9d, dword [rsp + 0xa8]
cmp r15d, r14d
jb 0x1400361c0
jmp 0x1400361ec
test r14d, r14d
je 0x1400361ec
mov ebp, dword [r13 + 4]
nop word [rax + rax]
imul ebp, dword [rsp + 0xa0]
lea ecx, [r15*8]
mov eax, edi
imul eax, dword [rsp + 0x20]
add eax, r12d
imul eax, r14d
add eax, r15d
add ebp, eax
movzx r10d, byte [rbp + rsi]
shl r10d, cl
movzx ecx, byte [r13 + 0x3a]
lea eax, [rbx + r11]
add r10d, eax
inc r12d
mov eax, r10d
shr eax, cl
movzx ecx, word [r13 + 0x34]
and eax, ecx
movzx ecx, byte [r13 + 0x3b]
add r9d, eax
mov eax, r10d
shr eax, cl
movzx ecx, word [r13 + 0x36]
and eax, ecx
mov dword [rsp + 0xa8], r9d
mov ecx, dword [rsp + 0x28]
add ecx, eax
movzx eax, word [r13 + 0x38]
mov dword [rsp + 0x28], ecx
mov r8d, ecx
movzx ecx, byte [r13 + 0x3c]
shr r10d, cl
and r10d, eax
mov eax, dword [rsp + 0x2c]
add eax, r10d
mov dword [rsp + 0x2c], eax
cmp r12d, edi
jb 0x140036130
mov ebp, dword [rsp + 0xa0]
inc ebp
mov dword [rsp + 0xa8], r9d
mov dword [rsp + 0xa0], ebp
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x2c], eax
cmp ebp, edi
jb 0x140036120
mov ebx, dword [rsp + 0x20]
mov r10d, r8d
mov r12, qword [rsp + 0x38]
mov r11d, eax
mov r15d, dword [rsp + 0x24]
mov ebp, 0xd0d0d0
xor edx, edx
imul edi, edi
mov eax, r9d
div edi
xor edx, edx
mov r9d, eax
mov eax, r10d
div edi
xor edx, edx
mov r8d, eax
mov eax, r11d
div edi
cmp byte [rsp + 0x90], 0
je 0x140036344
lea edx, [rax + rax*4]
shl r8d, 4
imul eax, r9d, 0xb
add edx, r8d
add edx, eax
cmp edx, 0x420
jge 0x1400362e2
mov r8d, 0x101010
jmp 0x140036361
cmp edx, 0x820
jge 0x1400362f2
mov r8d, 0x303030
jmp 0x140036361
cmp edx, 0xc20
jge 0x140036302
mov r8d, 0x505050
jmp 0x140036361
cmp edx, 0x1020
jge 0x140036312
mov r8d, 0x707070
jmp 0x140036361
cmp edx, 0x1420
jge 0x140036322
mov r8d, 0x909090
jmp 0x140036361
cmp edx, 0x1820
jge 0x140036332
mov r8d, 0xb0b0b0
jmp 0x140036361
cmp edx, 0x1c20
mov r8d, 0xf0f0f0
cmovl r8d, ebp
jmp 0x140036361
movzx ecx, byte [r13 + 0x3b]
shl r8d, cl
movzx ecx, byte [r13 + 0x3a]
shl r9d, cl
movzx ecx, byte [r13 + 0x3c]
add r8d, r9d
shl eax, cl
add r8d, eax
xor r9d, r9d
test r14d, r14d
je 0x14003639c
mov r11d, ebx
imul r11d, r14d
xor r10d, r10d
nop dword [rax]
nop word [rax + rax]
mov ecx, r10d
lea eax, [r11 + r9]
mov edx, r8d
inc r9d
shr edx, cl
add r10d, 8
mov byte [rax + r12], dl
cmp r9d, r14d
jb 0x140036380
inc ebx
mov dword [rsp + 0x20], ebx
cmp ebx, r15d
jl 0x1400360e0
mov r8d, dword [r13 + 4]
mov eax, r8d
imul eax, dword [r13 + 0x14]
add rsi, rax
mov eax, r8d
add r12, rax
sub qword [rsp + 0x40], 1
mov qword [rsp + 0x38], r12
jne 0x1400360d0
jmp 0x140036415
shr r14d, 3
cmp ebp, r9d
jge 0x140036415
mov eax, dword [rsp + 0x24]
sub eax, edi
imul eax, r14d
sub r9d, ebp
mov ebx, r9d
mov edi, eax
nop
mov r8, rdi
mov rdx, rsi
mov rcx, r12
call fcn.140133600
mov ecx, dword [r13 + 4]
mov eax, ecx
add r12, rcx
imul eax, dword [r13 + 0x14]
add rsi, rax
sub rbx, 1
jne 0x1400363f0
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x98]
add rsp, 0x78
pop r13
pop rdi
ret