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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
sub rsp, 0xc0
lea eax, [r9 + 8]
mov rsi, rdx
mov r11, rcx
cmp r9d, eax
jae 0x180037459
mov qword [rsp + 0xb8], rbx
lea edx, [r9 - 0xef]
mov ebx, dword [rsp + 0xe8]
lea r10, [0x180000000]
mov qword [rsp + 0xb0], rbp
mov r9d, 8
mov ebp, dword [rsp + 0x40]
mov qword [rsp + 0xa8], rdi
mov edi, dword [rsp + 0x38]
mov qword [rsp + 0xa0], r12
mov r12d, dword [rsp + 0x5c]
mov qword [rsp + 0x98], r13
mov r13d, dword [rsp + 0xe8]
mov qword [rsp + 0x90], r14
mov r14d, dword [rsp + 0xe8]
mov qword [rsp + 0x88], r15
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x70], r9
cmp edx, 0xe
ja case.0x180036e37.1
mov ecx, dword [r10 + rdx*4 + 0x37480]
add rcx, r10
jmp rcx
mov eax, dword [rsp + 0x44]
mov dword [rsi + 0x14], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsi + 0x18], eax
jmp case.0x180036e37.1
mov eax, dword [rsi + 0x18]
mov ebp, dword [rsi + 0x1c]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x40], ebp
jmp case.0x180036e37.1
mov eax, dword [rsp + 0x48]
mov dword [rsi + 4], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsi + 8], eax
mov eax, dword [rsp + 0x54]
mov dword [rsi + 0xc], eax
mov eax, dword [rsp + 0x58]
mov dword [rsi + 0x10], eax
jmp case.0x180036e37.1
mov rax, qword [rsp + 0xf0]
mov r15d, dword [rax]
mov dword [rsp + 0x68], r15d
test r15d, r15d
jle 0x18003714a
mov esi, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x78]
mov edi, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x54]
nop word [rax + rax]
mov r15d, dword [rsp + 0x64]
mov ebp, 0xbb
nop word [rax + rax]
cmp ebp, 0x28b
ja 0x180037051
je 0x180036ffd
mov eax, ebp
sub eax, 0xbb
je 0x180036fb4
sub eax, 0x74
je 0x180036f86
sub eax, 0x74
je 0x180036f55
cmp eax, 0x74
jne 0x1800370ea
lea r13d, [rbx + 0x200]
mov dword [rsp + 0x4c], esi
sar r13d, 0xa
lea rcx, [rsp + 0x30]
mov r9d, 0x119
mov dword [rsp + 0x30], r13d
xor r8d, r8d
mov qword [rsp + 0x20], 0
xor edx, edx
call fcn.180038a60
mov r11, qword [rsp + 0xd0]
mov r14d, r12d
mov r8, qword [rsp + 0xe0]
mov word [r11], ax
add r11, 2
sub r14d, dword [rsp + 0x44]
mov qword [rsp + 0xd0], r11
jmp 0x1800370ea
mov r14d, esi
mov dword [rsp + 0x48], r15d
sub r14d, ebx
movzx eax, r14w
imul ecx, eax, 0xc178
mov eax, r14d
sar eax, 0x10
imul ebx, eax, 0xc178
mov eax, dword [rsp + 0x4c]
shr ecx, 0x10
add eax, ecx
add ebx, eax
jmp 0x1800370ea
mov r14d, r15d
sub r14d, dword [rsp + 0x4c]
movzx eax, r14w
imul ecx, eax, 0x5f79
mov eax, r14d
sar eax, 0x10
imul esi, eax, 0x5f79
mov eax, dword [rsp + 0x48]
shr ecx, 0x10
add eax, ecx
add esi, eax
jmp 0x1800370ea
movsx r12d, word [r8]
add r8, 2
shl r12d, 0xa
mov r14d, r12d
mov qword [rsp + 0xe0], r8
sub r14d, dword [rsp + 0x48]
movzx eax, r14w
imul ecx, eax, 0xcd4
mov eax, r14d
sar eax, 0x10
imul r15d, eax, 0xcd4
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x60], r12d
shr ecx, 0x10
add eax, ecx
add r15d, eax
jmp 0x1800370ea
movzx eax, r14w
imul ecx, eax, 0x2fa7
mov eax, dword [rsp + 0x58]
sar r14d, 0x10
imul r15d, r14d, 0x2fa7
mov dword [rsp + 0x58], r12d
shr ecx, 0x10
add eax, ecx
add r15d, eax
mov r14d, r15d
sub r14d, dword [rsp + 0x3c]
movzx eax, r14w
imul ecx, eax, 0x925f
mov eax, r14d
sar eax, 0x10
imul esi, eax, 0x925f
mov eax, dword [rsp + 0x44]
shr ecx, 0x10
add eax, ecx
add esi, eax
jmp 0x1800370ea
mov eax, ebp
sub eax, 0x2ff
je 0x1800370ba
sub eax, 0x74
je 0x1800370ad
cmp eax, 0x74
jne 0x1800370ea
mov r9d, 0x119
mov dword [rsp + 0x30], r13d
xor r8d, r8d
mov qword [rsp + 0x20], 0
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.180038a60
mov r11, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xe0]
mov word [r11], ax
add r11, 2
mov qword [rsp + 0xd0], r11
jmp 0x1800370ea
lea r13d, [rdi + 0x200]
sar r13d, 0xa
jmp 0x1800370ea
mov r14d, esi
mov dword [rsp + 0x44], r15d
sub r14d, edi
movzx eax, r14w
imul ecx, eax, 0xeb5f
mov eax, r14d
sar eax, 0x10
imul edi, eax, 0xeb5f
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], esi
shr ecx, 0x10
add eax, ecx
add edi, eax
add ebp, 0x74
cmp ebp, 0x45b
jb 0x180036ec0
mov dword [rsp + 0x64], r15d
mov r15d, dword [rsp + 0x68]
dec r15d
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x78], r12d
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x68], r15d
test r15d, r15d
jg 0x180036eb0
mov ebx, dword [rsp + 0xe8]
mov edi, dword [rsp + 0x38]
mov rsi, qword [rsp + 0xd8]
mov r12d, dword [rsp + 0x5c]
mov ebp, dword [rsp + 0x40]
mov edx, dword [rsp + 0x50]
mov r9, qword [rsp + 0x70]
mov eax, dword [rsp + 0x60]
mov dword [rsi], eax
jmp case.0x180036e37.1
mov eax, dword [rsi + 0xc]
mov dword [rsp + 0x54], eax
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 0x14]
mov dword [rsp + 0x44], eax
jmp case.0x180036e37.1
mov r15, qword [rsp + 0xf0]
xor r9d, r9d
mov eax, dword [r15]
test eax, eax
jle 0x180037241
mov r10, r8
nop dword [rax + rax]
mov r8d, 7
nop word [rax + rax]
cmp r8d, 0x1e7
ja 0x1800372f2
je 0x1800372e4
mov eax, r8d
sub eax, 7
je 0x1800372cd
sub eax, 0x60
je 0x1800372c2
sub eax, 0x60
je 0x1800371ee
sub eax, 0x60
je 0x1800371e2
cmp eax, 0x60
jne 0x180037205
imul edi, ebx, 0x17de
add edi, dword [rsi + 0x14]
jmp 0x180037205
test ebx, ebx
lea eax, [rbx + 1]
cmovns eax, ebx
mov ebx, eax
jmp 0x180037205
imul r12d, ebx, 0x335
add r12d, dword [rsi + 0x10]
mov ebx, r12d
mov dword [rsi + 0x10], edi
sub ebx, dword [rsi + 0x18]
sar ebx, 0xe
add r8d, 0x60
cmp r8d, 0x3c7
jb 0x1800371a0
mov eax, dword [r15]
inc r9d
add r10, 2
mov dword [rsp + 0x5c], r12d
mov dword [rsp + 0x38], edi
mov dword [rsp + 0xe8], ebx
cmp r9d, eax
jl 0x180037190
mov r8, qword [rsp + 0xe0]
mov edx, dword [rsp + 0x50]
add r11, 4
xor r9d, r9d
mov qword [rsp + 0xd0], r11
test eax, eax
jle 0x1800373f8
mov r10, r8
nop dword [rax + rax]
mov r8d, 0xae
nop word [rax + rax]
cmp r8d, 0x1f44
ja 0x180037380
je 0x180037375
cmp r8d, 0xae
je 0x18003734e
cmp r8d, 0xae0
je 0x180037341
cmp r8d, 0x1512
jne 0x1800373c0
test ebx, ebx
lea eax, [rbx + 1]
cmovns eax, ebx
imul edi, eax, 0x2498
mov ebx, eax
add edi, dword [rsi + 4]
jmp 0x1800373c0
add ebx, 0x2000
jmp 0x180037202
movsx edi, word [r10]
shl edi, 0xf
add edi, 0x4000
mov ebx, edi
sub ebx, dword [rsi + 0x14]
jmp 0x180037205
mov ebx, edi
mov dword [rsi + 0x14], r12d
sub ebx, dword [rsi + 0x1c]
jmp 0x180037205
mov eax, r8d
sub eax, 0x247
je 0x180037202
sub eax, 0x60
je 0x1800371e2
sub eax, 0x60
je 0x18003732d
cmp eax, 0x60
jne 0x180037205
mov edx, dword [rsi + 0x1c]
lea eax, [r9 + r9]
movsxd rcx, eax
sar edx, 0xf
mov dword [r11 + rcx*4], edx
jmp 0x180037205
imul eax, ebx, 0x305e
add eax, dword [rsi + 0x18]
mov dword [rsi + 0x1c], eax
mov dword [rsi + 0x18], edi
jmp 0x180037205
mov ebx, r12d
mov dword [rsi], edi
sub ebx, dword [rsi + 8]
sar ebx, 0xe
jmp 0x1800373c0
movsx edi, word [r10]
shl edi, 0xf
add edi, 0x4000
mov ebx, edi
sub ebx, dword [rsi + 4]
add ebx, 0x2000
sar ebx, 0xe
imul r12d, ebx, 0xbea
add r12d, dword [rsi]
jmp 0x1800373c0
mov ebx, edi
mov dword [rsi + 4], r12d
sub ebx, dword [rsi + 0xc]
jmp 0x1800373c0
cmp r8d, 0x2976
je 0x1800373a8
cmp r8d, 0x33a8
jne 0x1800373c0
mov edx, dword [rsi + 0xc]
lea eax, [r9 + r9]
movsxd rcx, eax
sar edx, 0xf
mov dword [rsi + 8], edi
mov dword [r11 + rcx*4], edx
jmp 0x1800373c0
sar ebx, 0xe
mov eax, ebx
inc ebx
test eax, eax
cmovns ebx, eax
imul eax, ebx, 0x3ad7
add eax, dword [rsi + 8]
mov dword [rsi + 0xc], eax
add r8d, 0xa32
cmp r8d, 0x3d2c
jbe 0x180037270
inc r9d
mov dword [rsp + 0x5c], r12d
add r10, 2
mov dword [rsp + 0x38], edi
mov dword [rsp + 0xe8], ebx
cmp r9d, dword [r15]
jl 0x180037260
mov edx, dword [rsp + 0x50]
mov r9, qword [rsp + 0x70]
mov r8, qword [rsp + 0xe0]
lea r10, [0x180000000]
inc edx
sub r9, 1
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x70], r9
jne 0x180036e23
mov r15, qword [rsp + 0x88]
mov r14, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xb8]
add rsp, 0xc0
pop rsi
ret
mov dword [rsi + 0x1c], ebp
jmp case.0x180036e37.1
mov eax, dword [rsi]
mov dword [rsp + 0x60], eax
mov eax, dword [rsi + 4]
mov dword [rsp + 0x48], eax
mov eax, dword [rsi + 8]
mov dword [rsp + 0x4c], eax
jmp case.0x180036e37.1