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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r14, r8
mov rdi, rdx
mov rsi, rcx
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x98], rdx
mov eax, dword [rsi + 0x44]
mov dword [rsp + 0x64], eax
test eax, eax
je 0x1401cdb74
mov rax, qword [rsi + 0x28]
mov qword [rsp + 0x30], rax
mov r12d, dword [rsi + 0x40]
mov qword [rsp + 0x70], rdi
mov r13, qword [rsi + 0x10]
mov eax, dword [rsi + 0x58]
mov qword [rsp + 0x38], rax
mov eax, dword [rsi + 0x48]
mov dword [rsp + 0x24], eax
mov eax, dword [rsi + 0x4c]
mov dword [rsp + 0x2c], eax
mov eax, dword [rsi + 0x50]
mov dword [rsp + 0x28], eax
mov eax, dword [rsi + 0x54]
mov dword [rsp + 0x48], eax
mov dl, byte [rsi + 1]
mov cl, byte [rsi + 2]
mov r8d, 0xffffffff
shl r8d, cl
movzx ebp, byte [rsi]
mov ebx, 0x100
mov ecx, edx
shl ebx, cl
mov eax, 0x100
mov dword [rsp + 0x7c], ebp
mov ecx, ebp
shr eax, cl
not r8d
sub ebx, eax
mov dword [rsp + 0x78], ebx
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x40], rax
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x68], rax
mov r9, qword [rsi + 0x30]
mov r15d, dword [rsi + 0x38]
mov r10d, dword [rsi + 0x3c]
lea rax, [r13 - 0x1400]
mov qword [rsp + 0xa0], rax
lea rax, [r13 - 0xc00]
mov qword [rsp + 0xa8], rax
lea rax, [r13 + 0x100]
mov qword [rsp + 0x88], rax
lea rax, [r13 + 0x500]
mov qword [rsp + 0x90], rax
xor r11d, r11d
mov qword [rsp + 0x58], r13
mov dword [rsp + 0x50], r8d
mov ecx, r12d
and ecx, r8d
shl ecx, 4
mov rax, qword [rsp + 0x38]
lea esi, [rcx + rax]
cmp r15d, 0xffffff
ja 0x1401cc6e4
shl r15d, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov edx, dword [r13 + rsi*4 - 0x400]
mov eax, r15d
shr eax, 0xb
imul eax, edx
mov ebp, r10d
sub ebp, eax
mov dword [rsp + 0x4c], r12d
jae 0x1401cc7c7
mov ecx, 0x800
sub ecx, edx
shr ecx, 5
add ecx, edx
mov dword [r13 + rsi*4 - 0x400], ecx
mov ecx, r12d
or ecx, dword [rsp + 0x64]
mov r14, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x68]
je 0x1401cc766
mov ecx, r12d
shl ecx, 8
mov rdx, qword [rsp + 0x30]
test rdx, rdx
cmove rdx, rdi
mov rsi, qword [rsp + 0x40]
movzx edx, byte [rdx + rsi - 1]
or edx, ecx
and edx, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x7c]
shl edx, cl
lea ecx, [rdx + rdx*2]
mov rdx, qword [rsp + 0x90]
lea r14, [rdx + rcx*4]
mov rsi, qword [rsp + 0x38]
cmp esi, 6
ja 0x1401cc8d6
sub esi, 3
mov ecx, 0
cmovb esi, ecx
cmp eax, 0xffffff
ja 0x1401cc79a
shl eax, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov ebx, dword [r14 + 4]
mov edx, eax
shr edx, 0xb
imul edx, ebx
mov edi, r10d
sub edi, edx
jae 0x1401ccafd
mov ebp, 0x800
sub ebp, ebx
shr ebp, 5
add ebp, ebx
mov ecx, 2
jmp 0x1401ccb12
mov r12d, r11d
sub r15d, eax
mov eax, edx
shr eax, 5
sub edx, eax
mov dword [r13 + rsi*4 - 0x400], edx
mov r11, r14
cmp r15d, 0xffffff
ja 0x1401cc7f8
shl r15d, 8
shl ebp, 8
movzx eax, byte [r9]
inc r9
or ebp, eax
mov r8, qword [rsp + 0x38]
mov edi, r8d
mov r13, qword [rsp + 0x58]
mov eax, dword [r13 + rdi*4 + 0x40]
mov ebx, r15d
shr ebx, 0xb
imul ebx, eax
mov r10d, ebp
sub r10d, ebx
jae 0x1401cc965
mov edx, 0x800
sub edx, eax
shr edx, 5
add edx, eax
mov dword [r13 + rdi*4 + 0x40], edx
add r8d, 0xc
mov rdi, qword [rsp + 0xa8]
mov r15, r8
mov r8d, dword [rsp + 0x50]
mov r14, r11
mov r12d, dword [rsp + 0x4c]
mov edx, dword [rdi]
cmp ebx, 0xffffff
ja 0x1401cc865
shl ebx, 8
shl ebp, 8
movzx eax, byte [r9]
inc r9
or ebp, eax
mov r13, qword [rsp + 0x58]
mov eax, ebx
shr eax, 0xb
imul eax, edx
mov esi, ebp
sub esi, eax
mov qword [rsp + 0x38], r15
jae 0x1401cca69
mov ebx, 0x800
sub ebx, edx
shr ebx, 5
add ebx, edx
mov dword [rdi], ebx
cmp eax, 0xffffff
ja 0x1401cc8a5
shl eax, 8
shl ebp, 8
movzx edx, byte [r9]
inc r9
or ebp, edx
mov r10d, ecx
mov esi, dword [rdi + r10*4 + 4]
mov edx, eax
shr edx, 0xb
imul edx, esi
mov ecx, ebp
sub ecx, edx
jae 0x1401cd1e9
mov ebx, 0x800
sub ebx, esi
shr ebx, 5
add ebx, esi
mov r11d, 2
jmp 0x1401cd1fe
mov ecx, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x30]
sub rdx, rcx
mov ecx, 0
cmovb rcx, rdi
add rcx, rdx
mov rdx, qword [rsp + 0x40]
movzx r15d, byte [rdx + rcx]
cmp esi, 0xa
setb byte [rsp + 0x54]
lea esi, [r15 + r15]
and esi, 0x100
cmp eax, 0xffffff
ja 0x1401cc925
shl eax, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov ebp, dword [r14 + rsi*4 + 0x404]
mov edi, eax
shr edi, 0xb
imul edi, ebp
mov edx, r10d
sub edx, edi
jae 0x1401ccb62
mov eax, 0x800
sub eax, ebp
shr eax, 5
add eax, ebp
mov dword [r14 + rsi*4 + 0x404], eax
xor esi, 0x100
mov r12d, 2
jmp 0x1401ccb7e
sub r15d, ebx
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [r13 + rdi*4 + 0x40], eax
cmp r15d, 0xffffff
ja 0x1401cc992
shl r15d, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov r8d, dword [rsp + 0x50]
mov r14, r11
mov eax, dword [r13 + rdi*4 + 0x70]
mov ebx, r15d
shr ebx, 0xb
imul ebx, eax
mov ebp, r10d
sub ebp, ebx
jae 0x1401ccbe1
mov r11d, r12d
mov edx, 0x800
sub edx, eax
shr edx, 5
add edx, eax
mov dword [r13 + rdi*4 + 0x70], edx
cmp ebx, 0xffffff
ja 0x1401cc9e3
shl ebx, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov r12d, dword [rsp + 0x4c]
mov eax, dword [r13 + rsi*4 - 0x1800]
mov r15d, ebx
shr r15d, 0xb
imul r15d, eax
mov ebp, r10d
sub ebp, r15d
jae 0x1401cd676
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov dword [r13 + rsi*4 - 0x1800], ecx
mov eax, dword [rsp + 0x24]
mov rdx, qword [rsp + 0x30]
mov rcx, rdx
sub rcx, rax
mov eax, 0
cmovb rax, qword [rsp + 0x68]
add rax, rcx
mov rcx, qword [rsp + 0x40]
mov al, byte [rcx + rax]
mov byte [rcx + rdx], al
inc rdx
mov qword [rsp + 0x30], rdx
xor eax, eax
cmp dword [rsp + 0x38], 7
setae al
add eax, eax
add eax, 9
mov qword [rsp + 0x38], rax
mov edi, 1
jmp 0x1401cd1c8
sub ebx, eax
mov eax, edx
shr eax, 5
sub edx, eax
mov dword [rdi], edx
cmp ebx, 0xffffff
ja 0x1401cca8b
shl ebx, 8
shl esi, 8
movzx eax, byte [r9]
inc r9
or esi, eax
mov edx, dword [rdi + 0x20]
mov eax, ebx
shr eax, 0xb
imul eax, edx
mov r10d, esi
sub r10d, eax
jae 0x1401cd24a
mov ebp, 0x800
sub ebp, edx
shr ebp, 5
add ebp, edx
mov dword [rdi + 0x20], ebp
cmp eax, 0xffffff
ja 0x1401ccac7
shl eax, 8
shl esi, 8
movzx edx, byte [r9]
inc r9
or esi, edx
mov r10d, ecx
mov ebx, dword [rdi + r10*4 + 0x24]
mov edx, eax
shr edx, 0xb
imul edx, ebx
mov ecx, esi
sub ecx, edx
jae 0x1401cd722
mov r15, qword [rsp + 0x30]
mov ebp, 0x800
sub ebp, ebx
shr ebp, 5
add ebp, ebx
mov r11d, 2
jmp 0x1401cd73c
sub eax, edx
mov ecx, ebx
shr ecx, 5
sub ebx, ecx
mov ecx, 3
mov ebp, ebx
mov edx, eax
mov r10d, edi
mov dword [r14 + 4], ebp
cmp edx, 0xffffff
ja 0x1401ccb32
shl edx, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov ecx, ecx
mov ebp, dword [r14 + rcx*4]
mov eax, edx
shr eax, 0xb
imul eax, ebp
mov ebx, r10d
sub ebx, eax
jae 0x1401ccc4e
mov edx, 0x800
sub edx, ebp
shr edx, 5
add edx, ebp
mov dword [r14 + rcx*4], edx
add ecx, ecx
jmp 0x1401ccc64
sub eax, edi
mov ecx, ebp
shr ecx, 5
sub ebp, ecx
mov dword [r14 + rsi*4 + 0x404], ebp
mov r12d, 3
mov edi, eax
mov r10d, edx
lea eax, [r15*4]
and eax, esi
lea ebx, [rsi + r12]
add ebx, eax
mov ecx, dword [r14 + rbx*4]
cmp edi, 0xffffff
ja 0x1401ccbae
shl edi, 8
shl r10d, 8
movzx edx, byte [r9]
inc r9
or edx, r10d
mov r10d, edx
mov r13d, r8d
mov edx, edi
shr edx, 0xb
imul edx, ecx
mov ebp, r10d
mov r8d, r11d
sub ebp, edx
jae 0x1401cccaf
mov ebp, 0x800
sub ebp, ecx
shr ebp, 5
add ebp, ecx
mov dword [r14 + rbx*4], ebp
add r12d, r12d
xor eax, esi
jmp 0x1401cccc7
sub r15d, ebx
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [r13 + rdi*4 + 0x70], eax
cmp r15d, 0xffffff
ja 0x1401ccc09
shl r15d, 8
shl ebp, 8
movzx eax, byte [r9]
inc r9
or ebp, eax
mov r12d, dword [rsp + 0x4c]
mov esi, dword [r13 + rdi*4 + 0xa0]
mov ebx, r15d
shr ebx, 0xb
imul ebx, esi
mov edx, ebp
sub edx, ebx
jae 0x1401cd6c2
mov edx, 0x800
sub edx, esi
shr edx, 5
add edx, esi
mov dword [r13 + rdi*4 + 0xa0], edx
mov eax, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x28]
mov edi, dword [rsp + 0x24]
jmp 0x1401cd694
sub edx, eax
mov eax, ebp
shr eax, 5
sub ebp, eax
mov dword [r14 + rcx*4], ebp
add ecx, ecx
inc ecx
mov eax, edx
mov r10d, ebx
mov ebp, ecx
mov ebx, dword [r14 + rbp*4]
cmp eax, 0xffffff
ja 0x1401ccc85
shl eax, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov edx, eax
shr edx, 0xb
imul edx, ebx
mov ecx, r10d
sub ecx, edx
jae 0x1401ccd20
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [r14 + rbp*4], eax
add ebp, ebp
jmp 0x1401ccd36
sub edi, edx
mov edx, ecx
shr edx, 5
sub ecx, edx
mov dword [r14 + rbx*4], ecx
add r12d, r12d
inc r12d
mov edx, edi
mov r10d, ebp
lea r11d, [r15*8]
and r11d, eax
lea edi, [rax + r12]
add edi, r11d
mov ecx, dword [r14 + rdi*4]
cmp edx, 0xffffff
ja 0x1401cccf9
shl edx, 8
shl r10d, 8
movzx ebp, byte [r9]
inc r9
or ebp, r10d
mov r10d, ebp
mov ebx, edx
shr ebx, 0xb
imul ebx, ecx
mov ebp, r10d
sub ebp, ebx
jae 0x1401ccd82
mov edx, 0x800
sub edx, ecx
shr edx, 5
add edx, ecx
mov dword [r14 + rdi*4], edx
add r12d, r12d
xor r11d, eax
jmp 0x1401ccd9a
sub eax, edx
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [r14 + rbp*4], ebx
add ebp, ebp
inc ebp
mov edx, eax
mov r10d, ecx
mov ebp, ebp
mov ebx, dword [r14 + rbp*4]
cmp edx, 0xffffff
ja 0x1401ccd58
shl edx, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov eax, edx
shr eax, 0xb
imul eax, ebx
mov ecx, r10d
sub ecx, eax
jae 0x1401ccdf0
mov ecx, 0x800
sub ecx, ebx
shr ecx, 5
add ecx, ebx
mov dword [r14 + rbp*4], ecx
add ebp, ebp
jmp 0x1401cce06
sub edx, ebx
mov eax, ecx
shr eax, 5
sub ecx, eax
mov dword [r14 + rdi*4], ecx
add r12d, r12d
inc r12d
mov ebx, edx
mov r10d, ebp
mov eax, r15d
shl eax, 4
and eax, r11d
lea edx, [r11 + r12]
add edx, eax
mov esi, dword [r14 + rdx*4]
cmp ebx, 0xffffff
ja 0x1401ccdc9
shl ebx, 8
shl r10d, 8
movzx ebp, byte [r9]
inc r9
or ebp, r10d
mov r10d, ebp
mov edi, ebx
shr edi, 0xb
imul edi, esi
mov ebp, r10d
sub ebp, edi
jae 0x1401cce51
mov ebp, 0x800
sub ebp, esi
shr ebp, 5
add ebp, esi
mov dword [r14 + rdx*4], ebp
add r12d, r12d
xor eax, r11d
jmp 0x1401cce69
sub edx, eax
mov eax, ebx
shr eax, 5
sub ebx, eax
mov dword [r14 + rbp*4], ebx
add ebp, ebp
inc ebp
mov eax, edx
mov r10d, ecx
mov ebp, ebp
mov ebx, dword [r14 + rbp*4]
cmp eax, 0xffffff
ja 0x1401cce27
shl eax, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov edx, eax
shr edx, 0xb
imul edx, ebx
mov ecx, r10d
sub ecx, edx
jae 0x1401ccebd
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [r14 + rbp*4], eax
add ebp, ebp
jmp 0x1401cced3
sub ebx, edi
mov ecx, esi
shr ecx, 5
sub esi, ecx
mov dword [r14 + rdx*4], esi
add r12d, r12d
inc r12d
mov edi, ebx
mov r10d, ebp
mov esi, r15d
shl esi, 5
and esi, eax
lea edx, [rax + r12]
add edx, esi
mov ecx, dword [r14 + rdx*4]
cmp edi, 0xffffff
ja 0x1401cce97
shl edi, 8
shl r10d, 8
movzx ebp, byte [r9]
inc r9
or ebp, r10d
mov r10d, ebp
mov ebx, edi
shr ebx, 0xb
imul ebx, ecx
mov ebp, r10d
sub ebp, ebx
jae 0x1401ccf1f
mov ebp, 0x800
sub ebp, ecx
shr ebp, 5
add ebp, ecx
mov dword [r14 + rdx*4], ebp
add r12d, r12d
xor esi, eax
jmp 0x1401ccf37
sub eax, edx
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [r14 + rbp*4], ebx
add ebp, ebp
inc ebp
mov edx, eax
mov r10d, ecx
mov ebp, ebp
mov ebx, dword [r14 + rbp*4]
cmp edx, 0xffffff
ja 0x1401ccef5
shl edx, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov eax, edx
shr eax, 0xb
imul eax, ebx
mov ecx, r10d
sub ecx, eax
jae 0x1401ccf8f
mov ecx, 0x800
sub ecx, ebx
shr ecx, 5
add ecx, ebx
mov dword [r14 + rbp*4], ecx
add ebp, ebp
jmp 0x1401ccfa5
sub edi, ebx
mov eax, ecx
shr eax, 5
sub ecx, eax
mov dword [r14 + rdx*4], ecx
add r12d, r12d
inc r12d
mov ebx, edi
mov r10d, ebp
mov r11d, r15d
shl r11d, 6
and r11d, esi
lea eax, [rsi + r12]
add eax, r11d
mov ebp, dword [r14 + rax*4]
cmp ebx, 0xffffff
ja 0x1401ccf68
shl ebx, 8
shl r10d, 8
movzx edx, byte [r9]
inc r9
or edx, r10d
mov r10d, edx
mov edi, ebx
shr edi, 0xb
imul edi, ebp
mov edx, r10d
sub edx, edi
jae 0x1401ccff0
mov edx, 0x800
sub edx, ebp
shr edx, 5
add edx, ebp
mov dword [r14 + rax*4], edx
add r12d, r12d
xor r11d, esi
jmp 0x1401cd008
sub edx, eax
mov eax, ebx
shr eax, 5
sub ebx, eax
mov dword [r14 + rbp*4], ebx
add ebp, ebp
inc ebp
mov eax, edx
mov r10d, ecx
mov ebp, ebp
mov ebx, dword [r14 + rbp*4]
cmp eax, 0xffffff
ja 0x1401ccfc6
shl eax, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov edx, eax
shr edx, 0xb
imul edx, ebx
mov ecx, r10d
sub ecx, edx
jae 0x1401cd065
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [r14 + rbp*4], eax
add ebp, ebp
jmp 0x1401cd07b
sub ebx, edi
mov ecx, ebp
shr ecx, 5
sub ebp, ecx
mov dword [r14 + rax*4], ebp
add r12d, r12d
inc r12d
mov edi, ebx
mov r10d, edx
mov eax, r15d
shl eax, 7
and eax, r11d
lea edx, [r11 + r12]
add edx, eax
mov ebp, dword [r14 + rdx*4]
cmp edi, 0xffffff
ja 0x1401cd037
shl edi, 8
shl r10d, 8
movzx esi, byte [r9]
inc r9
or esi, r10d
mov r10d, esi
mov esi, edi
shr esi, 0xb
imul esi, ebp
mov ebx, r10d
sub ebx, esi
jae 0x1401cd0d7
mov edi, 0x800
sub edi, ebp
shr edi, 5
add edi, ebp
mov dword [r14 + rdx*4], edi
add r12d, r12d
xor eax, r11d
jmp 0x1401cd0ef
sub eax, edx
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [r14 + rbp*4], ebx
add ebp, ebp
inc ebp
mov edx, eax
mov r10d, ecx
mov eax, ebp
mov ebx, dword [r14 + rax*4]
cmp edx, 0xffffff
mov qword [rsp + 0x38], rsi
ja 0x1401cd0a2
shl edx, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov r15d, edx
shr r15d, 0xb
imul r15d, ebx
mov ecx, r10d
sub ecx, r15d
mov rsi, qword [rsp + 0x40]
jae 0x1401cd164
mov ecx, 0x800
sub ecx, ebx
shr ecx, 5
add ecx, ebx
mov dword [r14 + rax*4], ecx
lea r12d, [rax + rax]
jmp 0x1401cd1a0
sub edi, esi
mov ecx, ebp
shr ecx, 5
sub ebp, ecx
mov dword [r14 + rdx*4], ebp
add r12d, r12d
inc r12d
mov esi, edi
mov r10d, ebx
mov r11d, r8d
shl r15d, 8
and r15d, eax
add eax, r12d
add eax, r15d
mov ebp, dword [r14 + rax*4]
cmp esi, 0xffffff
mov r8d, r13d
ja 0x1401cd122
shl esi, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov rdx, qword [rsp + 0x38]
xor ecx, ecx
mov bl, byte [rsp + 0x54]
mov cl, bl
lea ecx, [rcx + rcx*2]
add edx, ecx
add edx, 0xfffffffa
mov qword [rsp + 0x38], rdx
mov r15d, esi
shr r15d, 0xb
imul r15d, ebp
mov ecx, r10d
sub ecx, r15d
jae 0x1401cd181
mov ecx, 0x800
sub ecx, ebp
shr ecx, 5
add ecx, ebp
mov dword [r14 + rax*4], ecx
add r12d, r12d
jmp 0x1401cd19b
sub edx, r15d
mov ebp, ebx
shr ebp, 5
sub ebx, ebp
mov dword [r14 + rax*4], ebx
lea r12d, [rax + rax]
inc r12d
mov r15d, edx
mov r10d, ecx
jmp 0x1401cd1a0
sub esi, r15d
mov edx, ebp
shr edx, 5
sub ebp, edx
mov dword [r14 + rax*4], ebp
add r12d, r12d
inc r12d
mov r15d, esi
mov r10d, ecx
mov rsi, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
mov byte [rsi + rax], r12b
inc rax
mov qword [rsp + 0x30], rax
mov edi, 1
mov r14, qword [rsp + 0xb0]
mov r12d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0x58]
add r12d, edi
mov rax, qword [rsp + 0x30]
cmp rax, qword [rsp + 0x70]
jae 0x1401cdbf8
cmp r9, r14
jb 0x1401cc6b5
jmp 0x1401cdbf8
sub eax, edx
mov edx, esi
shr edx, 5
sub esi, edx
mov r11d, 3
mov ebx, esi
mov edx, eax
mov ebp, ecx
lea rax, [rdi + r10*4]
mov dword [rax + 4], ebx
mov ebx, r11d
mov edi, dword [rax + rbx*4]
cmp edx, 0xffffff
ja 0x1401cd222
shl edx, 8
shl ebp, 8
movzx ecx, byte [r9]
inc r9
or ebp, ecx
mov ecx, edx
shr ecx, 0xb
imul ecx, edi
mov esi, ebp
sub esi, ecx
jae 0x1401cd2e5
mov edx, 0x800
sub edx, edi
shr edx, 5
add edx, edi
mov dword [rax + rbx*4], edx
add ebx, ebx
jmp 0x1401cd2f9
sub ebx, eax
mov eax, edx
shr eax, 5
sub edx, eax
mov dword [rdi + 0x20], edx
mov r11d, 1
mov r15d, ebx
mov rsi, qword [rsp + 0x40]
cmp r15d, 0xffffff
ja 0x1401cd27f
shl r15d, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or r10d, eax
mov ecx, r15d
mov eax, r11d
mov ebx, dword [rdi + rax*4 + 0x400]
shr r15d, 0xb
imul r15d, ebx
mov ebp, r10d
sub ebp, r15d
jae 0x1401cd2b5
mov ecx, 0x800
sub ecx, ebx
shr ecx, 5
add ecx, ebx
mov dword [rdi + rax*4 + 0x400], ecx
lea r11d, [rax + rax]
jmp 0x1401cd2d3
sub ecx, r15d
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [rdi + rax*4 + 0x400], ebx
lea r11d, [rax + rax]
inc r11d
mov r15d, ecx
mov r10d, ebp
cmp r11d, 0x100
jb 0x1401cd264
add r11d, 0xffffff10
jmp 0x1401cd361
sub edx, ecx
mov ecx, edi
shr ecx, 5
sub edi, ecx
mov dword [rax + rbx*4], edi
add ebx, ebx
inc ebx
mov ecx, edx
mov ebp, esi
mov edx, ebx
mov esi, dword [rax + rdx*4]
cmp ecx, 0xffffff
ja 0x1401cd315
shl ecx, 8
shl ebp, 8
movzx edi, byte [r9]
inc r9
or ebp, edi
mov r15d, ecx
shr r15d, 0xb
imul r15d, esi
mov edi, ebp
sub edi, r15d
jae 0x1401cd33c
mov ecx, 0x800
sub ecx, esi
shr ecx, 5
add ecx, esi
mov dword [rax + rdx*4], ecx
lea r11d, [rdx + rdx]
jmp 0x1401cd355
sub ecx, r15d
mov ebx, esi
shr ebx, 5
sub esi, ebx
mov dword [rax + rdx*4], esi
lea r11d, [rdx + rdx]
inc r11d
mov r15d, ecx
mov ebp, edi
add r11d, 0xfffffff8
mov r10d, ebp
mov rsi, qword [rsp + 0x40]
cmp dword [rsp + 0x38], 0xc
jb 0x1401cd3c5
cmp r11d, 3
mov eax, 3
cmovb eax, r11d
shl eax, 6
cmp r15d, 0xffffff
ja 0x1401cd396
shl r15d, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov rcx, qword [rsp + 0x88]
mov ebx, dword [rcx + rax*4 + 4]
mov edx, r15d
shr edx, 0xb
imul edx, ebx
mov edi, r10d
sub edi, edx
jae 0x1401cd3e6
mov ecx, 0x800
sub ecx, ebx
shr ecx, 5
add ecx, ebx
mov ebp, 2
jmp 0x1401cd3fd
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x2c]
mov dword [rsp + 0x24], ecx
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x2c], ecx
mov ecx, dword [rsp + 0x48]
mov dword [rsp + 0x28], ecx
jmp 0x1401cda7a
sub r15d, edx
mov ecx, ebx
shr ecx, 5
sub ebx, ecx
mov ebp, 3
mov ecx, ebx
mov edx, r15d
mov r10d, edi
mov rbx, qword [rsp + 0x88]
lea rdi, [rbx + rax*4]
mov dword [rdi + 4], ecx
cmp edx, 0xffffff
ja 0x1401cd428
shl edx, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov ebp, ebp
mov ebx, dword [rdi + rbp*4]
mov eax, edx
shr eax, 0xb
imul eax, ebx
mov ecx, r10d
sub ecx, eax
jae 0x1401cd44f
mov ecx, 0x800
sub ecx, ebx
shr ecx, 5
add ecx, ebx
mov dword [rdi + rbp*4], ecx
add ebp, ebp
jmp 0x1401cd464
sub edx, eax
mov eax, ebx
shr eax, 5
sub ebx, eax
mov dword [rdi + rbp*4], ebx
add ebp, ebp
inc ebp
mov eax, edx
mov r10d, ecx
mov ebp, ebp
mov ebx, dword [rdi + rbp*4]
cmp eax, 0xffffff
ja 0x1401cd484
shl eax, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov edx, eax
shr edx, 0xb
imul edx, ebx
mov ecx, r10d
sub ecx, edx
jae 0x1401cd4a6
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [rdi + rbp*4], eax
add ebp, ebp
jmp 0x1401cd4bb
sub eax, edx
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [rdi + rbp*4], ebx
add ebp, ebp
inc ebp
mov edx, eax
mov r10d, ecx
mov ebp, ebp
mov ebx, dword [rdi + rbp*4]
cmp edx, 0xffffff
ja 0x1401cd4dc
shl edx, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov eax, edx
shr eax, 0xb
imul eax, ebx
mov ecx, r10d
sub ecx, eax
jae 0x1401cd4fe
mov ecx, 0x800
sub ecx, ebx
shr ecx, 5
add ecx, ebx
mov dword [rdi + rbp*4], ecx
add ebp, ebp
jmp 0x1401cd513
sub edx, eax
mov eax, ebx
shr eax, 5
sub ebx, eax
mov dword [rdi + rbp*4], ebx
add ebp, ebp
inc ebp
mov eax, edx
mov r10d, ecx
mov ebp, ebp
mov ebx, dword [rdi + rbp*4]
cmp eax, 0xffffff
ja 0x1401cd533
shl eax, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov edx, eax
shr edx, 0xb
imul edx, ebx
mov ecx, r10d
sub ecx, edx
jae 0x1401cd555
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [rdi + rbp*4], eax
add ebp, ebp
jmp 0x1401cd56a
sub eax, edx
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [rdi + rbp*4], ebx
add ebp, ebp
inc ebp
mov edx, eax
mov r10d, ecx
mov eax, ebp
mov ebx, dword [rdi + rax*4]
cmp edx, 0xffffff
ja 0x1401cd58b
shl edx, 8
shl r10d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r10d
mov r10d, ecx
mov r15d, edx
shr r15d, 0xb
imul r15d, ebx
mov ecx, r10d
sub ecx, r15d
jae 0x1401cd5b2
mov ecx, 0x800
sub ecx, ebx
shr ecx, 5
add ecx, ebx
mov dword [rdi + rax*4], ecx
lea ebp, [rax + rax]
jmp 0x1401cd5ca
sub edx, r15d
mov ebp, ebx
shr ebp, 5
sub ebx, ebp
mov dword [rdi + rax*4], ebx
lea ebp, [rax + rax]
inc ebp
mov r15d, edx
mov r10d, ecx
lea eax, [rbp - 0x40]
cmp eax, 4
jb 0x1401cda4f
mov ecx, eax
shr ecx, 1
and ebp, 1
or ebp, 2
cmp eax, 0xd
ja 0x1401cd791
dec ecx
shl ebp, cl
inc ebp
mov eax, 1
cmp r15d, 0xffffff
ja 0x1401cd60f
shl r15d, 8
shl r10d, 8
movzx edx, byte [r9]
inc r9
or r10d, edx
mov edx, r15d
mov ebp, ebp
mov esi, dword [r13 + rbp*4 - 0x1a00]
shr r15d, 0xb
imul r15d, esi
mov edi, r10d
sub edi, r15d
jae 0x1401cd646
mov edx, 0x800
sub edx, esi
shr edx, 5
add edx, esi
mov dword [r13 + rbp*4 - 0x1a00], edx
mov edx, eax
add eax, eax
jmp 0x1401cd662
sub edx, r15d
mov ebx, esi
shr ebx, 5
sub esi, ebx
mov dword [r13 + rbp*4 - 0x1a00], esi
add eax, eax
mov r15d, edx
mov r10d, edi
mov edx, eax
mov rsi, qword [rsp + 0x40]
add ebp, edx
dec ecx
jne 0x1401cd5f4
sub ebp, eax
mov eax, ebp
jmp 0x1401cda4f
sub ebx, r15d
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [r13 + rsi*4 - 0x1800], eax
mov eax, dword [rsp + 0x24]
mov edi, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], edi
xor edx, edx
cmp esi, 7
setae dl
lea r15d, [rdx + rdx*2]
or r15d, 8
mov dword [rsp + 0x24], eax
mov rdi, qword [rsp + 0xa0]
jmp 0x1401cc84c
sub r15d, ebx
mov eax, esi
shr eax, 5
sub esi, eax
mov dword [r13 + rdi*4 + 0xa0], esi
cmp r15d, 0xffffff
ja 0x1401cd6ed
shl r15d, 8
shl edx, 8
movzx eax, byte [r9]
inc r9
or edx, eax
mov eax, dword [r13 + rdi*4 + 0xd0]
mov ebx, r15d
shr ebx, 0xb
imul ebx, eax
mov esi, edx
sub esi, ebx
jae 0x1401cd8a9
mov ebp, 0x800
sub ebp, eax
shr ebp, 5
add ebp, eax
mov rsi, qword [rsp + 0x38]
mov eax, dword [rsp + 0x28]
jmp 0x1401cd8cd
mov r15, qword [rsp + 0x30]
sub eax, edx
mov edx, ebx
shr edx, 5
sub ebx, edx
mov r11d, 3
mov ebp, ebx
mov edx, eax
mov esi, ecx
lea rax, [rdi + r10*4]
add rax, 0x20
mov dword [rax + 4], ebp
mov ebp, r11d
mov ebx, dword [rax + rbp*4]
cmp edx, 0xffffff
mov qword [rsp + 0x30], r15
ja 0x1401cd769
shl edx, 8
shl esi, 8
movzx ecx, byte [r9]
inc r9
or esi, ecx
mov ecx, edx
shr ecx, 0xb
imul ecx, ebx
mov edi, esi
sub edi, ecx
jae 0x1401cd824
mov edx, 0x800
sub edx, ebx
shr edx, 5
add edx, ebx
mov dword [rax + rbp*4], edx
add ebp, ebp
jmp 0x1401cd838
add ecx, 0xfffffffb
cmp r15d, 0xffffff
ja 0x1401cd7b7
shl r15d, 8
shl r10d, 8
movzx edx, byte [r9]
inc r9
or edx, r10d
mov eax, r15d
mov r10d, edx
jmp 0x1401cd7ba
mov eax, r15d
shr r15d, 1
mov edx, r10d
sub edx, r15d
mov r10d, edx
sar r10d, 0x1f
lea ebp, [r10 + rbp*2]
inc ebp
and r10d, r15d
add r10d, edx
dec ecx
jne 0x1401cd794
cmp eax, 0x1ffffff
ja 0x1401cd7f6
shl r15d, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov ebx, dword [r13 + 4]
mov eax, r15d
shr eax, 0xb
imul eax, ebx
mov edi, r10d
sub edi, eax
jae 0x1401cd8e4
mov edx, 0x800
sub edx, ebx
shr edx, 5
add edx, ebx
mov ecx, 2
jmp 0x1401cd8fb
sub edx, ecx
mov ecx, ebx
shr ecx, 5
sub ebx, ecx
mov dword [rax + rbp*4], ebx
add ebp, ebp
inc ebp
mov ecx, edx
mov esi, edi
mov edx, ebp
mov edi, dword [rax + rdx*4]
cmp ecx, 0xffffff
ja 0x1401cd857
shl ecx, 8
shl esi, 8
movzx r10d, byte [r9]
inc r9
or r10d, esi
jmp 0x1401cd85a
mov r10d, esi
mov rsi, qword [rsp + 0x40]
mov r15d, ecx
shr r15d, 0xb
imul r15d, edi
mov ebx, r10d
sub ebx, r15d
jae 0x1401cd88a
mov ecx, 0x800
sub ecx, edi
shr ecx, 5
add ecx, edi
mov dword [rax + rdx*4], ecx
lea r11d, [rdx + rdx]
jmp 0x1401cd361
sub ecx, r15d
mov ebp, edi
shr ebp, 5
sub edi, ebp
mov dword [rax + rdx*4], edi
lea r11d, [rdx + rdx]
inc r11d
mov r15d, ecx
mov r10d, ebx
jmp 0x1401cd361
sub r15d, ebx
mov edx, eax
shr edx, 5
sub eax, edx
mov ebp, eax
mov r10d, dword [rsp + 0x28]
mov ebx, r15d
mov edx, esi
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x48], r10d
mov rsi, qword [rsp + 0x38]
mov dword [r13 + rdi*4 + 0xd0], ebp
mov ebp, edx
mov edx, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x24]
jmp 0x1401cd699
sub r15d, eax
mov eax, ebx
shr eax, 5
sub ebx, eax
mov ecx, 3
mov edx, ebx
mov eax, r15d
mov r10d, edi
mov dword [r13 + 4], edx
cmp eax, 0xffffff
ja 0x1401cd91a
shl eax, 8
shl r10d, 8
movzx edx, byte [r9]
inc r9
or edx, r10d
mov r10d, edx
mov edx, ecx
mov rsi, r13
mov ebx, dword [r13 + rdx*4]
mov ecx, eax
shr ecx, 0xb
imul ecx, ebx
mov edi, r10d
mov r8d, r11d
sub edi, ecx
jae 0x1401cd94f
mov r15, qword [rsp + 0x30]
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [rsi + rdx*4], eax
add edx, 2
jmp 0x1401cd968
mov r15, qword [rsp + 0x30]
sub eax, ecx
mov ecx, ebx
shr ecx, 5
sub ebx, ecx
mov dword [rsi + rdx*4], ebx
add edx, 4
mov ecx, eax
mov r10d, edi
mov r11d, edx
mov r13, rsi
mov esi, dword [rsi + r11*4]
cmp ecx, 0xffffff
ja 0x1401cd98e
shl ecx, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov edx, ecx
shr edx, 0xb
imul edx, esi
mov ebx, r10d
sub ebx, edx
jae 0x1401cd9b0
mov edi, 0x800
sub edi, esi
shr edi, 5
add edi, esi
mov eax, 4
jmp 0x1401cd9c5
sub ecx, edx
mov eax, esi
shr eax, 5
sub esi, eax
mov eax, 8
mov edi, esi
mov edx, ecx
mov r10d, ebx
mov rcx, r13
mov dword [r13 + r11*4], edi
add eax, r11d
mov edi, dword [r13 + rax*4]
cmp edx, 0xffffff
mov rsi, qword [rsp + 0x40]
mov qword [rsp + 0x30], r15
ja 0x1401cd9fb
shl edx, 8
shl r10d, 8
movzx ebx, byte [r9]
inc r9
or ebx, r10d
mov r10d, ebx
mov r11d, r8d
shl ebp, 4
mov r15d, edx
shr r15d, 0xb
imul r15d, edi
mov ebx, r10d
sub ebx, r15d
mov r8d, dword [rsp + 0x50]
jae 0x1401cda2f
mov edx, 0x800
sub edx, edi
shr edx, 5
add edx, edi
mov dword [r13 + rax*4], edx
add eax, 0xfffffff8
jmp 0x1401cda44
sub edx, r15d
mov ecx, edi
shr ecx, 5
sub edi, ecx
mov dword [r13 + rax*4], edi
mov r15d, edx
mov r10d, ebx
or eax, ebp
cmp eax, 0xffffffff
je 0x1401cdbe5
xor ecx, ecx
cmp dword [rsp + 0x38], 0x13
setae dl
mov ebp, dword [rsp + 0x64]
test ebp, ebp
cmove ebp, r12d
cmp eax, ebp
jae 0x1401cdbbb
inc eax
mov cl, dl
lea ecx, [rcx + rcx*2]
add ecx, 7
mov qword [rsp + 0x38], rcx
mov rdi, qword [rsp + 0x70]
sub rdi, qword [rsp + 0x30]
je 0x1401cdbbb
add r11d, 2
mov ecx, r11d
cmp rdi, rcx
cmovae edi, r11d
mov ebx, eax
mov rdx, qword [rsp + 0x30]
sub rdx, rbx
mov ebp, 0
mov rcx, qword [rsp + 0x68]
cmovb rbp, rcx
add rdx, rbp
sub r11d, edi
sub rcx, rdx
cmp rcx, rdi
jae 0x1401cdb32
mov dword [rsp + 0x54], r11d
mov r13, r14
mov r14d, r12d
mov rcx, qword [rsp + 0x30]
mov r11d, r8d
mov r12, rcx
lea rbx, [rsi + rcx]
xor ebp, ebp
mov r8, qword [rsp + 0x68]
mov cl, byte [rsi + rdx]
mov byte [rbx + rbp], cl
inc rdx
cmp rdx, r8
mov ecx, 0
cmove rdx, rcx
inc rbp
cmp edi, ebp
jne 0x1401cdadf
add r12, rbp
mov qword [rsp + 0x30], r12
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x2c]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x24]
mov dword [rsp + 0x2c], ecx
mov dword [rsp + 0x24], eax
mov r8d, r11d
mov r12d, r14d
mov r14, r13
mov r11d, dword [rsp + 0x54]
jmp 0x1401cd1c3
mov rcx, qword [rsp + 0x30]
lea rdx, [rsi + rcx]
sub rbp, rbx
mov rcx, rdi
mov bl, byte [rdx + rbp]
mov byte [rdx], bl
inc rdx
dec rcx
jne 0x1401cdb41
add qword [rsp + 0x30], rdi
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x2c]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x24]
mov dword [rsp + 0x2c], ecx
mov dword [rsp + 0x24], eax
jmp 0x1401cd1c8
mov eax, dword [rsi + 4]
mov r12d, dword [rsi + 0x40]
sub eax, r12d
mov rbp, qword [rsi + 0x28]
mov rcx, rdi
sub rcx, rbp
mov rdx, rbp
mov qword [rsp + 0x30], rbp
lea rdx, [rax + rbp]
cmp rcx, rax
cmovbe rdx, rdi
mov qword [rsp + 0x70], rdx
test r12d, r12d
jne 0x1401cc5f5
xor r12d, r12d
cmp dword [rsi + 0x3c], 0xbffffbff
jbe 0x1401cc5f5
jmp 0x1401cdbcc
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x28], rcx
mov eax, 1
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x38]
add eax, 0xfffffff4
mov qword [rsp + 0x38], rax
mov r11d, 0x112
cmp r15d, 0xffffff
ja 0x1401cdc16
shl r15d, 8
shl r10d, 8
movzx eax, byte [r9]
inc r9
or eax, r10d
mov r10d, eax
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x24]
mov rsi, qword [rsp + 0x80]
mov qword [rsi + 0x30], r9
mov dword [rsi + 0x38], r15d
mov dword [rsi + 0x3c], r10d
mov dword [rsi + 0x5c], r11d
mov rdx, qword [rsp + 0x30]
mov qword [rsi + 0x28], rdx
mov dword [rsi + 0x40], r12d
mov dword [rsi + 0x48], ecx
mov dword [rsi + 0x4c], eax
mov eax, dword [rsp + 0x28]
mov dword [rsi + 0x50], eax
mov eax, dword [rsp + 0x48]
mov dword [rsi + 0x54], eax
mov rax, qword [rsp + 0x38]
mov dword [rsi + 0x58], eax
cmp dword [rsi + 0x44], 0
jne 0x1401cdc70
mov eax, dword [rsi + 4]
cmp r12d, eax
jb 0x1401cdc70
mov dword [rsi + 0x44], eax
mov rcx, rsi
mov rdi, qword [rsp + 0x98]
mov rdx, rdi
call fcn.1401cbef0
xor eax, eax
cmp qword [rsi + 0x28], rdi
jae 0x1401cdbd1
cmp qword [rsi + 0x30], r14
jae 0x1401cdbd1
cmp dword [rsi + 0x5c], 0x112
jb 0x1401cc5d4
jmp 0x1401cdbd1