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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
push rsi
push r15
sub rsp, 0x138
imul r9d, edx, 0x8e8
mov rsi, r8
mov r8d, edx
mov r15, rcx
mov dword [rsp + 0x50], r9d
cmp edx, r9d
ja 0x18003d3a5
mov qword [rax - 0x18], rbx
mov ecx, 1
mov qword [rax - 0x20], rbp
mov qword [rax - 0x28], rdi
imul r10d, r8d, 0xbe
mov qword [rax - 0x30], r12
mov qword [rax - 0x38], r13
mov r13, qword [rsp + 0x98]
mov qword [rax - 0x40], r14
xor r14d, r14d
mov dword [rsp + 0x54], r10d
nop word [rax + rax]
cmp r8d, 0x114d2
ja 0x18003ccee
je 0x18003cb56
cmp r8d, 0x8ac6
ja 0x18003c789
je 0x18003c727
mov eax, r8d
sub eax, 0xba
je 0x18003c6dd
sub eax, 0xb
je 0x18003c6d0
cmp eax, 0x64
jne 0x18003d358
mov rax, qword [r15]
cmp dword [rax + 0x17c], 1
jne 0x18003c446
mov r8d, 0xb7
nop dword [rax]
cmp r8d, 0x1020f
ja 0x18003c3d4
je 0x18003c3c0
cmp r8d, 0xb7
je 0x18003c398
cmp r8d, 0x567f
je 0x18003c387
cmp r8d, 0xac47
jne 0x18003c41d
mov dword [r13 + 0x40], 8
jmp 0x18003c41d
mov dword [r13 + 0x34], ecx
mov dword [r13 + 0x38], ecx
mov dword [r13 + 0x3c], ecx
jmp 0x18003c41d
mov rcx, qword [r15]
mov r13, qword [rcx + 0x180]
mov eax, dword [r13 + 0x1c]
mov dword [rcx + 0x1a0], eax
mov rcx, qword [r15]
mov eax, dword [r13 + 0x20]
mov dword [rcx + 0x1a4], eax
mov ecx, 1
jmp 0x18003c41d
mov eax, dword [r13 + 0x20]
xor edx, edx
div dword [r13 + 0xc]
mov dword [r13 + 0x44], ecx
mov dword [rsp + 0x58], edx
jmp 0x18003c41d
cmp r8d, 0x157d7
je 0x18003c40e
cmp r8d, 0x1ad9f
je 0x18003c3fb
cmp r8d, 0x20367
jne 0x18003c41d
mov rax, qword [r15]
mov dword [rax + 0x1ac], r14d
jmp 0x18003c41d
mov eax, dword [rsp + 0x58]
mov dword [r13 + 0x48], eax
mov rax, qword [r15]
mov dword [rax + 0x1a8], ecx
jmp 0x18003c41d
cmp dword [rsp + 0x58], 0
jne 0x18003c41d
mov eax, dword [r13 + 0xc]
mov dword [rsp + 0x58], eax
add r8d, 0x55c8
cmp r8d, 0x25878
jbe 0x18003c350
mov r8d, dword [rsp + 0x158]
mov qword [rsp + 0x98], r13
jmp 0x18003d358
mov ebp, 0x11e
mov dword [rsp + 0x60], ebp
nop
mov eax, ebp
sub eax, 0x11d
je 0x18003c4a9
cmp eax, 1
jne 0x18003c69f
mov rcx, qword [r15]
mov eax, dword [rcx + 0x17c]
dec eax
cmp eax, 3
jbe 0x18003c69f
mov rax, qword [rcx]
mov dword [rax + 0x28], 0x1a
mov rax, qword [r15]
mov rcx, qword [rax]
mov eax, dword [rax + 0x17c]
mov dword [rcx + 0x2c], eax
mov rax, qword [r15]
mov rcx, qword [rax]
mov dword [rcx + 0x30], 4
mov rcx, qword [r15]
mov rax, qword [rcx]
call qword [rax]
jmp 0x18003c69f
mov rcx, qword [r15]
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0xb8]
mov qword [rsp + 0x20], r14
mov edx, 0x21
mov eax, dword [rcx + 0x170]
shl eax, 3
mov dword [rsp + 0xb0], eax
mov eax, dword [rcx + 0x30]
xor ecx, ecx
mov dword [rsp + 0xb8], eax
call fcn.180025db0
mov rcx, qword [r15]
lea r9, [rsp + 0xc0]
lea r8, [rsp + 0xc8]
mov qword [rsp + 0x20], r14
mov edx, 0x21
mov dword [rcx + 0x1a0], eax
mov rcx, qword [r15]
mov eax, dword [rcx + 0x174]
shl eax, 3
mov dword [rsp + 0xc0], eax
mov eax, dword [rcx + 0x34]
xor ecx, ecx
mov dword [rsp + 0xc8], eax
call fcn.180025db0
mov rcx, qword [r15]
mov esi, r14d
mov dword [rcx + 0x1a4], eax
mov rax, qword [r15]
mov dword [rax + 0x1a8], r14d
mov rax, qword [r15]
cmp dword [rax + 0x17c], 0
jle 0x18003c69f
mov ebp, dword [rsp + 0x58]
mov r14d, 0x180
nop
mov edi, 0xa8
nop word [rax + rax]
cmp edi, 0xa8
je 0x18003c64e
cmp edi, 0x6318
je 0x18003c63f
cmp edi, 0xc588
je 0x18003c624
cmp edi, 0x127f8
je 0x18003c602
cmp edi, 0x18a68
jne 0x18003c665
mov ebx, dword [r13 + 0x3c]
mov dword [r13 + 0x48], ebp
mov rdx, qword [r15]
mov ecx, dword [rdx + 0x1a8]
add ecx, ebx
cmp ecx, 0xa
jle 0x18003c5d2
mov rax, qword [rdx]
mov dword [rax + 0x28], 0xd
mov rcx, qword [r15]
mov rax, qword [rcx]
call qword [rax]
test ebx, ebx
jle 0x18003c665
nop word [rax + rax]
mov rcx, qword [r15]
dec ebx
movsxd rax, dword [rcx + 0x1a8]
mov dword [rcx + rax*4 + 0x1ac], esi
mov rax, qword [r15]
inc dword [rax + 0x1a8]
test ebx, ebx
jg 0x18003c5e0
jmp 0x18003c665
test ebp, ebp
jne 0x18003c60a
mov ebp, dword [r13 + 0x34]
mov eax, dword [r13 + 0x20]
xor edx, edx
mov ecx, dword [r13 + 0x38]
div ecx
mov dword [r13 + 0x44], ebp
mov ebp, edx
test edx, edx
jne 0x18003c665
mov ebp, ecx
jmp 0x18003c665
mov ecx, dword [r13 + 0x34]
xor edx, edx
lea eax, [rcx*8]
mov dword [r13 + 0x40], eax
mov eax, dword [r13 + 0x1c]
div ecx
mov ebp, edx
jmp 0x18003c665
mov eax, dword [r13 + 0x38]
imul eax, dword [r13 + 0x34]
mov dword [r13 + 0x3c], eax
jmp 0x18003c665
mov rax, qword [r15]
mov r13, qword [r14 + rax]
mov eax, dword [r13 + 8]
mov dword [r13 + 0x34], eax
mov eax, dword [r13 + 0xc]
mov dword [r13 + 0x38], eax
add edi, 0x6270
cmp edi, 0x1ec30
jbe 0x18003c570
mov rax, qword [r15]
inc esi
add r14, 8
mov dword [rsp + 0x58], ebp
mov qword [rsp + 0x98], r13
cmp esi, dword [rax + 0x17c]
jl 0x18003c560
mov ebp, dword [rsp + 0x60]
xor r14d, r14d
dec ebp
mov dword [rsp + 0x60], ebp
cmp ebp, 0x11c
ja 0x18003c450
mov rsi, qword [rsp + 0x160]
mov r8d, dword [rsp + 0x158]
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x54]
jmp 0x18003d358
mov qword [rsp + 0xa8], r15
jmp 0x18003d358
mov rdx, qword [rsi]
cmp dword [rdx + 0x24], 0x64
je 0x18003c719
mov rax, qword [rdx]
mov dword [rax + 0x28], 0x14
mov rax, qword [rsi]
mov rcx, qword [rax]
mov eax, dword [rax + 0x24]
mov dword [rcx + 0x2c], eax
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax]
mov rdx, qword [rsi]
mov r8d, dword [rsp + 0x158]
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x54]
mov rax, qword [r15]
mov ecx, dword [rax + 0x30]
mov dword [rdx + 0x30], ecx
jmp 0x18003d358
mov rax, qword [r15]
lea rdx, [rsp + 0x60]
mov rcx, qword [rsi]
mov r9d, 0x1d
mov qword [rsp + 0x28], r14
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov eax, dword [rax + 0x34]
mov dword [rcx + 0x34], eax
mov rax, qword [r15]
mov rcx, qword [rsi]
mov eax, dword [rax + 0x38]
mov dword [rcx + 0x38], eax
mov rax, qword [r15]
mov rcx, qword [rsi]
mov eax, dword [rax + 0x3c]
mov dword [rcx + 0x3c], eax
xor ecx, ecx
mov rax, qword [rsi]
mov qword [rsp + 0x60], rax
call fcn.18002aae0
mov r8d, dword [rsp + 0x158]
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x54]
jmp 0x18003d358
cmp r8d, 0x92fb
je 0x18003c7ce
cmp r8d, 0xdd97
jne 0x18003d358
mov rdx, qword [r15]
mov eax, dword [rdx + 0x14c]
test eax, eax
jle 0x18003d358
mov ecx, dword [rdx + 0x1a0]
imul ecx, eax
mov eax, 0xffff
cmp ecx, eax
cmovl eax, ecx
mov dword [rdx + 0x148], eax
jmp 0x18003d358
mov r15, qword [rsp + 0xa8]
mov r13d, dword [rsp + 0x74]
mov esi, dword [rsp + 0x70]
mov dword [rsp + 0x60], 7
nop word [rax + rax]
mov r8d, dword [rsp + 0x78]
mov edx, 0x104
nop word [rax + rax]
cmp edx, 0x1ab94
ja 0x18003c9a4
je 0x18003c997
cmp edx, 0xb7d4
ja 0x18003c8bc
je 0x18003c89a
cmp edx, 0x104
je 0x18003c869
cmp edx, 0x3df4
je 0x18003c84d
cmp edx, 0x7ae4
jne 0x18003cb0e
mov eax, dword [r15 + 0x10]
add eax, dword [r15 + 0xc]
mov dword [rsp + 0x7c], eax
jmp 0x18003cb0e
mov eax, dword [r15 + 0x14]
mov ecx, dword [r15 + 8]
lea r9d, [rcx + rax]
sub ecx, eax
mov dword [rsp + 0x44], ecx
mov dword [rsp + 0x6c], r9d
jmp 0x18003cb0e
mov eax, dword [r15 + 0x1c]
mov r8d, dword [r15]
lea ecx, [r8 + rax]
sub r8d, eax
mov eax, dword [r15 + 0x18]
mov dword [rsp + 0x80], ecx
mov ecx, dword [r15 + 4]
lea r9d, [rcx + rax]
sub ecx, eax
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x68], r9d
jmp 0x18003cb0e
mov r13d, dword [r15 + 0xc]
sub r13d, dword [r15 + 0x10]
mov r9d, dword [rsp + 0x7c]
add r9d, dword [rsp + 0x80]
mov dword [rsp + 0x94], r9d
jmp 0x18003cb0e
cmp edx, 0xf4c4
je 0x18003c96b
cmp edx, 0x131b4
je 0x18003c92f
cmp edx, 0x16ea4
jne 0x18003cb0e
mov ecx, dword [rsp + 0x88]
mov r10d, dword [rsp + 0x8c]
lea eax, [rcx + r10]
imul ecx, ecx, 0x187e
imul r9d, eax, 0x1151
imul eax, r10d, 0x3b21
add ecx, 0x400
add ecx, r9d
mov dword [rsp + 0x40], r9d
sar ecx, 0xb
mov dword [r15 + 8], ecx
mov ecx, r9d
sub ecx, eax
add ecx, 0x400
sar ecx, 0xb
mov dword [r15 + 0x18], ecx
jmp 0x18003cb0e
mov ecx, dword [rsp + 0x90]
mov r9d, dword [rsp + 0x94]
mov r10d, dword [rsp + 0x68]
sub r10d, dword [rsp + 0x6c]
mov dword [rsp + 0x8c], r10d
lea eax, [rcx + r9]
shl eax, 2
mov dword [r15], eax
mov eax, r9d
sub eax, ecx
shl eax, 2
mov dword [r15 + 0x10], eax
jmp 0x18003cb0e
mov r10d, dword [rsp + 0x80]
sub r10d, dword [rsp + 0x7c]
mov r9d, dword [rsp + 0x6c]
add r9d, dword [rsp + 0x68]
mov dword [rsp + 0x90], r9d
mov dword [rsp + 0x88], r10d
jmp 0x18003cb0e
lea eax, [r8 + r13]
mov dword [rsp + 0x40], eax
jmp 0x18003cb0e
cmp edx, 0x29f54
ja 0x18003ca79
je 0x18003ca4a
cmp edx, 0x1e884
je 0x18003ca31
cmp edx, 0x22574
je 0x18003c9fc
cmp edx, 0x26264
jne 0x18003cb0e
imul eax, dword [rsp + 0x48], 0x6254
imul r8d, r8d, 0x300b
mov dword [rsp + 0x48], eax
imul eax, dword [rsp + 0x40], 0xffffe333
imul esi, esi, 0xffffadfd
mov dword [rsp + 0x40], eax
jmp 0x18003cb0e
mov ecx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x168]
imul r13d, r13d, 0x98e
lea r10d, [rcx + r8]
add eax, r10d
imul eax, eax, 0x25a1
imul ecx, ecx, 0x41b3
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x44], ecx
jmp 0x18003cb09
mov eax, dword [rsp + 0x48]
mov esi, dword [rsp + 0x44]
add esi, eax
add eax, r13d
mov dword [rsp + 0x168], eax
jmp 0x18003cb0e
imul eax, dword [rsp + 0x4c], 0xfffff384
mov r9d, dword [rsp + 0x84]
mov dword [rsp + 0x4c], eax
imul eax, dword [rsp + 0x168], 0x3ec5
sub r9d, eax
mov dword [rsp + 0x168], r9d
jmp 0x18003cb0e
cmp edx, 0x2dc44
je 0x18003cab1
cmp edx, 0x31934
je 0x18003ca97
cmp edx, 0x35624
jne 0x18003cb0e
add r15, 0x20
jmp 0x18003cb0e
mov ecx, dword [rsp + 0x4c]
add ecx, 0x400
add ecx, dword [rsp + 0x40]
add ecx, r8d
sar ecx, 0xb
mov dword [r15 + 4], ecx
jmp 0x18003cb0e
mov r9d, dword [rsp + 0x168]
mov ecx, dword [rsp + 0x40]
mov r10d, dword [rsp + 0x4c]
add ecx, 0x400
add r10d, dword [rsp + 0x84]
lea eax, [r9 + r13]
add ecx, eax
sar ecx, 0xb
mov dword [r15 + 0x1c], ecx
mov ecx, dword [rsp + 0x44]
add ecx, 0x400
add ecx, r10d
add ecx, esi
sar ecx, 0xb
mov dword [r15 + 0x14], ecx
mov ecx, dword [rsp + 0x48]
add ecx, 0x400
add ecx, r9d
add ecx, esi
sar ecx, 0xb
mov dword [r15 + 0xc], ecx
mov dword [rsp + 0x4c], r10d
add edx, 0x3cf0
cmp edx, 0x39210
jbe 0x18003c800
sub dword [rsp + 0x60], 1
mov dword [rsp + 0x70], esi
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x78], r8d
jns 0x18003c7f0
mov r15, qword [rsp + 0x150]
mov r13, qword [rsp + 0x98]
mov qword [rsp + 0xa8], r15
jmp 0x18003c6b1
mov rax, qword [r15]
lea r8, [rsp + 0xd0]
xor r9d, r9d
mov edx, 0x103
mov ecx, dword [rax + 0x3c]
mov rax, qword [rsi]
mov dword [rsp + 0xd0], ecx
lea rcx, [rsp + 0xd8]
mov qword [rsp + 0xd8], rax
call fcn.18003e940
mov rax, qword [r15]
mov edi, Ordinal_203
mov rcx, qword [rsi]
mov r13, qword [rsp + 0xe0]
mov dword [rsp + 0xa0], 4
mov eax, dword [rax + 0x128]
mov dword [rcx + 0x48], eax
mov rax, qword [r15]
mov rcx, qword [rsi]
mov eax, dword [rax + 0x1c0]
mov dword [rcx + 0x13c], eax
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r15]
cmp qword [rdi + rax], 0
je 0x18003ccbe
mov ebx, 0xce
mov eax, ebx
sub eax, 0xce
je 0x18003cc05
cmp eax, 1
jne 0x18003cca8
mov rax, qword [r13]
mov dword [rax + 0x100], r14d
jmp 0x18003cca8
mov rcx, qword [rsi]
lea r13, [rcx - 0x68]
add r13, rdi
mov rax, qword [r13]
test rax, rax
jne 0x18003cc49
mov qword [rsp + 0x38], r14
lea r9, [rsp + 0x60]
mov qword [rsp + 0x30], r14
xor r8d, r8d
mov qword [rsp + 0x60], rcx
xor edx, edx
mov qword [rsp + 0x28], r14
xor ecx, ecx
mov dword [rsp + 0x20], 0x12
call fcn.180004ac0
mov qword [r13], rax
mov rcx, qword [r15]
mov rdx, qword [rdi + rcx]
mov ecx, 2
lea rax, [rax + 0x80]
movups xmm0, xmmword [rdx]
lea rdx, [rdx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm1, xmmword [rdx - 0x70]
movups xmmword [rax - 0x70], xmm1
movups xmm0, xmmword [rdx - 0x60]
movups xmmword [rax - 0x60], xmm0
movups xmm1, xmmword [rdx - 0x50]
movups xmmword [rax - 0x50], xmm1
movups xmm0, xmmword [rdx - 0x40]
movups xmmword [rax - 0x40], xmm0
movups xmm1, xmmword [rdx - 0x30]
movups xmmword [rax - 0x30], xmm1
movups xmm0, xmmword [rdx - 0x20]
movups xmmword [rax - 0x20], xmm0
movups xmm1, xmmword [rdx - 0x10]
movups xmmword [rax - 0x10], xmm1
sub rcx, 1
jne 0x18003cc55
inc ebx
cmp ebx, 0xd0
jb 0x18003cbe3
mov qword [rsp + 0xe0], r13
add rdi, 8
cmp rdi, 0xe8
jl 0x18003cbd0
mov r13, qword [rsp + 0x98]
mov r8d, dword [rsp + 0x158]
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x54]
jmp 0x18003d358
cmp r8d, 0x12531
je 0x18003cf9f
cmp r8d, 0x19ede
je 0x18003cf8e
cmp r8d, 0x228ea
je 0x18003cf3b
cmp r8d, 0x2b2f6
je 0x18003cda4
cmp r8d, 0x33d02
jne 0x18003d358
mov rax, qword [r15]
cmp dword [rax + 0x1a4], 0
je 0x18003d358
cmp word [rax + 0x1a8], 1
jne 0x18003cd6a
mov rax, qword [rsi]
mov word [rax + 0x154], cx
mov rax, qword [r15]
mov rcx, qword [rsi]
movzx eax, word [rax + 0x1aa]
mov word [rcx + 0x156], ax
mov rax, qword [r15]
movzx eax, word [rax + 0x1ac]
mov rcx, qword [rsi]
mov word [rcx + 0x158], ax
mov rax, qword [r15]
mov rcx, qword [rsi]
mov eax, dword [rax + 0x1b0]
mov dword [rcx + 0x15c], eax
mov rax, qword [r15]
mov rcx, qword [rsi]
mov eax, dword [rax + 0x1b4]
mov dword [rcx + 0x160], eax
jmp 0x18003d358
mov rax, qword [r15]
mov dword [rsp + 0x60], r14d
mov r14, qword [rax + 0x130]
mov rax, qword [rsi]
cmp dword [rax + 0x4c], 0
mov r15, qword [rax + 0x58]
jle 0x18003d350
mov r13, qword [rsp + 0x160]
nop dword [rax]
mov r12d, dword [rsp + 0xa0]
mov ebp, 0xb4
nop dword [rax]
cmp ebp, 0xb4
je 0x18003cedb
cmp ebp, 0x5028
je 0x18003ce79
cmp ebp, 0x9f9c
je 0x18003ce68
cmp ebp, 0xef10
jne 0x18003cef9
mov rax, qword [rsp + 0xe8]
test rax, rax
je 0x18003cef9
mov rsi, qword [rsp + 0xf0]
mov rbx, rax
sub rsi, rax
mov edi, 0x40
mov eax, dword [rsi + rbx]
cmp dword [rbx], eax
je 0x18003ce59
mov rax, qword [r13]
mov rcx, qword [rax]
mov dword [rcx + 0x28], 0x2c
mov rax, qword [r13]
mov rcx, qword [rax]
mov dword [rcx + 0x2c], r12d
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax]
add rbx, 4
sub rdi, 1
jne 0x18003ce30
jmp 0x18003cef9
mov rax, qword [r14 + 0x50]
mov qword [rsp + 0xe8], rax
jmp 0x18003cef9
movsxd r12, dword [r15 + 0x10]
mov rbx, r12
cmp r12d, 3
ja 0x18003ce9c
mov rax, qword [rsp + 0x150]
mov rax, qword [rax]
cmp qword [rax + r12*8 + 0xc8], 0
jne 0x18003cec9
mov rax, qword [r13]
mov rcx, qword [rax]
mov dword [rcx + 0x28], 0x34
mov rax, qword [r13]
mov rcx, qword [rax]
mov dword [rcx + 0x2c], r12d
mov rcx, qword [r13]
mov rax, qword [rcx]
call qword [rax]
mov rcx, qword [rsp + 0x150]
mov rax, qword [rcx]
mov rax, qword [rax + rbx*8 + 0xc8]
mov qword [rsp + 0xf0], rax
jmp 0x18003cef9
mov eax, dword [r14]
mov dword [r15], eax
mov eax, dword [r14 + 8]
mov dword [r15 + 8], eax
mov eax, dword [r14 + 0xc]
mov dword [r15 + 0xc], eax
mov eax, dword [r14 + 0x10]
mov dword [r15 + 0x10], eax
add ebp, 0x4f74
cmp ebp, 0x13dd0
jbe 0x18003cde0
mov rax, qword [r13]
add r14, 0x60
mov dword [rsp + 0xa0], r12d
add r15, 0x60
mov r12d, dword [rsp + 0x60]
inc r12d
mov dword [rsp + 0x60], r12d
cmp r12d, dword [rax + 0x4c]
jl 0x18003cdd0
jmp 0x18003d323
mov rcx, qword [rsi]
mov eax, dword [rcx + 0x4c]
dec eax
cmp eax, 9
jbe 0x18003d358
mov rax, qword [rcx]
mov dword [rax + 0x28], 0x1a
mov rax, qword [rsi]
mov rcx, qword [rax]
mov eax, dword [rax + 0x4c]
mov dword [rcx + 0x2c], eax
mov rax, qword [rsi]
mov rcx, qword [rax]
mov dword [rcx + 0x30], 0xa
mov rcx, qword [rsi]
mov rax, qword [rcx]
call qword [rax]
mov r8d, dword [rsp + 0x158]
mov r9d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x54]
jmp 0x18003d358
mov rax, qword [r15]
mov rcx, qword [rsi]
mov eax, dword [rax + 0x38]
mov dword [rcx + 0x4c], eax
jmp 0x18003d358
mov r15, qword [rsp + 0xa8]
mov r13d, dword [rsp + 0x74]
mov esi, dword [rsp + 0x70]
mov dword [rsp + 0x60], 7
nop dword [rax + rax]
mov r8d, dword [rsp + 0x78]
mov edx, 0xac
nop word [rax + rax]
cmp edx, 0x281
ja 0x18003d19d
je 0x18003d184
cmp edx, 0x175
ja 0x18003d0c3
je 0x18003d07c
mov eax, edx
sub eax, 0xac
je 0x18003d066
sub eax, 0x43
je 0x18003d02e
cmp eax, 0x43
jne 0x18003d2f3
mov ecx, dword [r15 + 0x40]
sub ecx, dword [r15 + 0xa0]
mov eax, dword [r15 + 0x80]
add eax, dword [r15 + 0x60]
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x44], ecx
jmp 0x18003d2f3
mov eax, dword [r15 + 0xc0]
mov ecx, dword [r15 + 0x20]
mov r8d, dword [r15]
sub r8d, dword [r15 + 0xe0]
lea r9d, [rcx + rax]
sub ecx, eax
mov eax, dword [r15 + 0xa0]
add eax, dword [r15 + 0x40]
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x68], r9d
mov dword [rsp + 0x48], ecx
jmp 0x18003d2f3
mov ecx, dword [r15 + 0xe0]
add ecx, dword [r15]
mov dword [rsp + 0x80], ecx
jmp 0x18003d2f3
mov eax, dword [rsp + 0x7c]
mov ecx, dword [rsp + 0x80]
mov r13d, dword [r15 + 0x60]
sub r13d, dword [r15 + 0x80]
lea r9d, [rax + rcx]
mov dword [rsp + 0x94], r9d
mov r9d, ecx
sub r9d, eax
mov dword [rsp + 0x88], r9d
mov r9d, dword [rsp + 0x6c]
add r9d, dword [rsp + 0x68]
mov dword [rsp + 0x90], r9d
jmp 0x18003d2f3
mov eax, edx
sub eax, 0x1b8
je 0x18003d13d
sub eax, 0x43
je 0x18003d0e7
cmp eax, 0x43
jne 0x18003d2f3
lea eax, [r8 + r13]
mov dword [rsp + 0x40], eax
jmp 0x18003d2f3
mov ecx, dword [rsp + 0x88]
mov r9d, dword [rsp + 0x8c]
lea eax, [rcx + r9]
imul ecx, ecx, 0x187e
imul r10d, eax, 0x1151
imul eax, r9d, 0x3b21
add ecx, 0x4000
add ecx, r10d
mov dword [rsp + 0x40], r10d
sar ecx, 0xf
mov dword [r15 + 0x40], ecx
mov ecx, r10d
sub ecx, eax
add ecx, 0x4000
sar ecx, 0xf
mov dword [r15 + 0xc0], ecx
jmp 0x18003d2f3
mov r10d, dword [rsp + 0x94]
mov r9d, dword [rsp + 0x68]
sub r9d, dword [rsp + 0x6c]
mov dword [rsp + 0x8c], r9d
lea eax, [r10 + 2]
add eax, dword [rsp + 0x90]
sar eax, 2
mov dword [r15], eax
mov eax, r10d
sub eax, dword [rsp + 0x90]
add eax, 2
sar eax, 2
mov dword [r15 + 0x80], eax
jmp 0x18003d2f3
mov eax, dword [rsp + 0x48]
mov esi, dword [rsp + 0x44]
add esi, eax
add eax, r13d
mov dword [rsp + 0x168], eax
jmp 0x18003d2f3
cmp edx, 0x38d
ja 0x18003d241
je 0x18003d228
mov eax, edx
sub eax, 0x2c4
je 0x18003d1f3
sub eax, 0x43
je 0x18003d1e2
cmp eax, 0x43
jne 0x18003d2f3
imul r10d, dword [rsp + 0x40], 0xffffe333
imul r8d, r8d, 0x300b
imul esi, esi, 0xffffadfd
mov dword [rsp + 0x40], r10d
jmp 0x18003d2f3
imul eax, dword [rsp + 0x48], 0x6254
mov dword [rsp + 0x48], eax
jmp 0x18003d2f3
mov ecx, dword [rsp + 0x44]
mov eax, dword [rsp + 0x168]
imul r13d, r13d, 0x98e
lea r11d, [rcx + r8]
add eax, r11d
imul eax, eax, 0x25a1
imul ecx, ecx, 0x41b3
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x44], ecx
jmp 0x18003d2ee
imul r9d, dword [rsp + 0x168], 0xffffc13b
mov dword [rsp + 0x168], r9d
jmp 0x18003d2f3
mov eax, edx
sub eax, 0x3d0
je 0x18003d2d0
sub eax, 0x43
je 0x18003d265
cmp eax, 0x43
jne 0x18003d2f3
add r15, 4
jmp 0x18003d2f3
mov r9d, dword [rsp + 0x168]
mov r10d, dword [rsp + 0x40]
lea eax, [r9 + r13]
lea ecx, [r10 + 0x4000]
add ecx, eax
sar ecx, 0xf
mov dword [r15 + 0xe0], ecx
mov ecx, dword [rsp + 0x44]
add ecx, 0x4000
add ecx, dword [rsp + 0x4c]
add ecx, esi
sar ecx, 0xf
mov dword [r15 + 0xa0], ecx
mov ecx, dword [rsp + 0x48]
add ecx, 0x4000
add ecx, r9d
add ecx, esi
sar ecx, 0xf
mov dword [r15 + 0x60], ecx
lea ecx, [r10 + 0x4000]
add ecx, dword [rsp + 0x4c]
add ecx, r8d
sar ecx, 0xf
mov dword [r15 + 0x20], ecx
jmp 0x18003d2f3
mov r9d, dword [rsp + 0x84]
mov r11d, r9d
imul eax, dword [rsp + 0x4c], 0xc7c
add dword [rsp + 0x168], r9d
sub r11d, eax
mov dword [rsp + 0x4c], r11d
add edx, 0x43
cmp edx, 0x499
jb 0x18003cfd0
sub dword [rsp + 0x60], 1
mov dword [rsp + 0x70], esi
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x78], r8d
mov qword [rsp + 0xa8], r15
jns 0x18003cfc0
mov r10d, dword [rsp + 0x54]
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x158]
mov rsi, qword [rsp + 0x160]
mov r13, qword [rsp + 0x98]
nop word [rax + rax]
mov r15, qword [rsp + 0x150]
add r8d, r10d
mov ecx, 1
mov dword [rsp + 0x158], r8d
lea r14d, [rcx - 1]
cmp r8d, r9d
jbe 0x18003c2f0
mov r14, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
mov r12, qword [rsp + 0x118]
mov rdi, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
add rsp, 0x138
pop r15
pop rsi
ret