Function at 0x1402a0800
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, 0x90
mov qword [rsp + 0x88], r8
mov r11, rdx
mov rbp, rcx
mov eax, dword [rcx + 0x44]
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1402a1d64
mov rdi, qword [rbp + 0x28]
mov r15d, dword [rbp + 0x40]
mov r13, qword [rbp + 0x10]
mov r10d, dword [rbp + 0x58]
mov eax, dword [rbp + 0x48]
mov dword [rsp + 4], eax
mov eax, dword [rbp + 0x4c]
mov dword [rsp + 0xc], eax
mov eax, dword [rbp + 0x50]
mov dword [rsp + 8], eax
mov eax, dword [rbp + 0x54]
mov dword [rsp + 0x14], eax
mov al, byte [rbp + 1]
mov cl, byte [rbp + 2]
mov edx, 0xffffffff
shl edx, cl
not edx
mov dword [rsp + 0x5c], edx
movzx ebx, byte [rbp]
mov edx, 0x100
mov esi, 0x100
mov ecx, eax
shl esi, cl
mov dword [rsp + 0x58], ebx
mov ecx, ebx
shr edx, cl
sub esi, edx
mov dword [rsp + 0x54], esi
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x40], rax
mov r9, qword [rbp + 0x30]
mov r14d, dword [rbp + 0x38]
mov qword [rsp + 0x60], rbp
mov r12d, dword [rbp + 0x3c]
lea rax, [r13 - 0x1400]
mov qword [rsp + 0x78], rax
lea rax, [r13 - 0xc00]
mov qword [rsp + 0x80], rax
lea rax, [r13 + 0x100]
mov qword [rsp + 0x68], rax
lea rax, [r13 + 0x500]
mov qword [rsp + 0x70], rax
xor r8d, r8d
mov qword [rsp + 0x38], r11
mov qword [rsp + 0x48], r13
mov ecx, r15d
and ecx, dword [rsp + 0x5c]
shl ecx, 4
lea ebp, [rcx + r10]
cmp r14d, 0xffffff
ja 0x1402a091e
shl r14d, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov ebx, dword [r13 + rbp*4 - 0x400]
mov esi, r14d
shr esi, 0xb
imul esi, ebx
mov edx, r12d
sub edx, esi
mov qword [rsp + 0x18], rdi
jae 0x1402a09fd
mov ecx, 0x800
sub ecx, ebx
shr ecx, 5
add ecx, ebx
mov dword [r13 + rbp*4 - 0x400], ecx
mov eax, r15d
or eax, dword [rsp + 0x34]
mov r13, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x40]
je 0x1402a0998
mov eax, r15d
shl eax, 8
test rdi, rdi
mov rcx, rdi
cmove rcx, rbx
mov rdx, qword [rsp + 0x28]
movzx edx, byte [rcx + rdx - 1]
or edx, eax
and edx, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x58]
shl edx, cl
lea eax, [rdx + rdx*2]
mov rcx, qword [rsp + 0x70]
lea r13, [rcx + rax*4]
cmp r10d, 6
mov rdx, qword [rsp + 0x28]
ja 0x1402a0ae6
sub r10d, 3
mov eax, 0
cmovb r10d, eax
cmp esi, 0xffffff
ja 0x1402a09d0
shl esi, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov ebx, dword [r13 + 4]
mov edx, esi
shr edx, 0xb
imul edx, ebx
mov ecx, r12d
sub ecx, edx
jae 0x1402a0cfb
mov ebp, 0x800
sub ebp, ebx
shr ebp, 5
add ebp, ebx
mov eax, 2
jmp 0x1402a0d10
sub r14d, esi
mov eax, ebx
shr eax, 5
sub ebx, eax
mov dword [r13 + rbp*4 - 0x400], ebx
cmp r14d, 0xffffff
ja 0x1402a0a28
shl r14d, 8
shl edx, 8
movzx eax, byte [r9]
inc r9
or edx, eax
mov esi, r10d
mov eax, dword [r13 + rsi*4 + 0x40]
mov ebx, r14d
shr ebx, 0xb
imul ebx, eax
mov r12d, edx
sub r12d, ebx
jae 0x1402a0b7a
mov ebp, 0x800
sub ebp, eax
shr ebp, 5
add ebp, eax
mov dword [r13 + rsi*4 + 0x40], ebp
add r10d, 0xc
mov rsi, qword [rsp + 0x80]
mov eax, dword [rsi]
cmp ebx, 0xffffff
ja 0x1402a0a7b
shl ebx, 8
shl edx, 8
movzx ebp, byte [r9]
inc r9
or edx, ebp
mov edi, ebx
shr edi, 0xb
imul edi, eax
mov ebp, edx
sub ebp, edi
jae 0x1402a0c66
mov ebp, 0x800
sub ebp, eax
shr ebp, 5
add ebp, eax
mov dword [rsi], ebp
mov r11, r10
cmp edi, 0xffffff
ja 0x1402a0ab5
shl edi, 8
shl edx, 8
movzx eax, byte [r9]
inc r9
or edx, eax
mov r10d, ecx
mov eax, dword [rsi + r10*4 + 4]
mov ebp, edi
shr ebp, 0xb
imul ebp, eax
mov ecx, edx
sub ecx, ebp
jae 0x1402a143e
mov ebx, 0x800
sub ebx, eax
shr ebx, 5
add ebx, eax
mov r8d, 2
jmp 0x1402a1453
mov dword [rsp + 0x30], r15d
mov eax, dword [rsp + 4]
mov rcx, rdi
sub rcx, rax
mov eax, 0
cmovb rax, rbx
add rax, rcx
movzx r15d, byte [rdx + rax]
cmp r10d, 0xa
setb byte [rsp + 0x13]
lea edi, [r15 + r15]
and edi, 0x100
cmp esi, 0xffffff
ja 0x1402a0b35
shl esi, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov qword [rsp + 0x20], r10
mov eax, dword [r13 + rdi*4 + 0x404]
mov ebp, esi
shr ebp, 0xb
imul ebp, eax
mov ecx, r12d
sub ecx, ebp
jae 0x1402a0d62
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov dword [r13 + rdi*4 + 0x404], ecx
xor edi, 0x100
mov r10d, 2
jmp 0x1402a0d7e
sub r14d, ebx
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [r13 + rsi*4 + 0x40], eax
cmp r14d, 0xffffff
ja 0x1402a0ba7
shl r14d, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov edi, dword [r13 + rsi*4 + 0x70]
mov ebx, r14d
shr ebx, 0xb
imul ebx, edi
mov edx, r12d
sub edx, ebx
jae 0x1402a0de6
mov edx, 0x800
sub edx, edi
shr edx, 5
add edx, edi
mov dword [r13 + rsi*4 + 0x70], edx
cmp ebx, 0xffffff
ja 0x1402a0bed
shl ebx, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov edi, dword [r13 + rbp*4 - 0x1800]
mov r14d, ebx
shr r14d, 0xb
imul r14d, edi
mov edx, r12d
sub edx, r14d
jae 0x1402a18b1
mov ecx, 0x800
sub ecx, edi
shr ecx, 5
add ecx, edi
mov dword [r13 + rbp*4 - 0x1800], ecx
mov eax, dword [rsp + 4]
mov rdi, qword [rsp + 0x18]
mov rcx, rdi
sub rcx, rax
mov eax, 0
cmovb rax, qword [rsp + 0x40]
add rax, rcx
mov rcx, qword [rsp + 0x28]
mov al, byte [rcx + rax]
mov byte [rcx + rdi], al
inc rdi
xor eax, eax
cmp r10d, 7
setae al
lea r10d, [rax + rax]
add r10d, 9
mov ebp, 1
jmp 0x1402a141f
sub ebx, edi
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [rsi], eax
cmp ebx, 0xffffff
ja 0x1402a0c88
shl ebx, 8
shl ebp, 8
movzx eax, byte [r9]
inc r9
or ebp, eax
mov eax, dword [rsi + 0x20]
mov edx, ebx
shr edx, 0xb
imul edx, eax
mov r12d, ebp
sub r12d, edx
jae 0x1402a14a2
mov ebx, 0x800
sub ebx, eax
shr ebx, 5
add ebx, eax
mov dword [rsi + 0x20], ebx
mov r11, r10
cmp edx, 0xffffff
ja 0x1402a0cc8
shl edx, 8
shl ebp, 8
movzx eax, byte [r9]
inc r9
or ebp, eax
mov r10d, ecx
mov ecx, dword [rsi + r10*4 + 0x24]
mov edi, edx
shr edi, 0xb
imul edi, ecx
mov r14d, ebp
sub r14d, edi
jae 0x1402a192f
mov ebx, 0x800
sub ebx, ecx
shr ebx, 5
add ebx, ecx
mov r8d, 2
jmp 0x1402a1945
sub esi, edx
mov eax, ebx
shr eax, 5
sub ebx, eax
mov eax, 3
mov ebp, ebx
mov edx, esi
mov r12d, ecx
mov dword [r13 + 4], ebp
cmp edx, 0xffffff
ja 0x1402a0d30
shl edx, 8
shl r12d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r12d
mov r12d, ecx
mov eax, eax
mov ebp, dword [r13 + rax*4]
mov edi, edx
shr edi, 0xb
imul edi, ebp
mov ebx, r12d
sub ebx, edi
jae 0x1402a0e4a
mov ecx, 0x800
sub ecx, ebp
shr ecx, 5
add ecx, ebp
mov dword [r13 + rax*4], ecx
add eax, eax
jmp 0x1402a0e61
sub esi, ebp
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [r13 + rdi*4 + 0x404], eax
mov r10d, 3
mov ebp, esi
mov r12d, ecx
lea esi, [r15*4]
mov eax, edi
and esi, edi
mov edx, r10d
add rdx, rax
add rdx, rsi
mov eax, dword [r13 + rdx*4]
cmp ebp, 0xffffff
ja 0x1402a0db4
shl ebp, 8
shl r12d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r12d
mov r12d, ecx
mov r14d, ebp
shr r14d, 0xb
imul r14d, eax
mov ebx, r12d
sub ebx, r14d
jae 0x1402a0eb0
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov dword [r13 + rdx*4], ecx
add r10d, r10d
xor esi, edi
jmp 0x1402a0ecb
sub r14d, ebx
mov eax, edi
shr eax, 5
sub edi, eax
mov dword [r13 + rsi*4 + 0x70], edi
cmp r14d, 0xffffff
ja 0x1402a0e0e
shl r14d, 8
shl edx, 8
movzx eax, byte [r9]
inc r9
or edx, eax
mov eax, dword [r13 + rsi*4 + 0xa0]
mov ebx, r14d
shr ebx, 0xb
imul ebx, eax
mov ebp, edx
sub ebp, ebx
jae 0x1402a18d4
mov ebp, 0x800
sub ebp, eax
shr ebp, 5
add ebp, eax
mov dword [r13 + rsi*4 + 0xa0], ebp
mov eax, dword [rsp + 0xc]
mov ebp, dword [rsp + 8]
jmp 0x1402a1ad8
sub edx, edi
mov ecx, ebp
shr ecx, 5
sub ebp, ecx
mov dword [r13 + rax*4], ebp
add eax, eax
inc eax
mov edi, edx
mov r12d, ebx
mov edx, eax
mov ebx, dword [r13 + rdx*4]
cmp edi, 0xffffff
ja 0x1402a0e84
shl edi, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov ebp, edi
shr ebp, 0xb
imul ebp, ebx
mov eax, r12d
sub eax, ebp
jae 0x1402a0f32
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [r13 + rdx*4], eax
lea ecx, [rdx + rdx]
jmp 0x1402a0f4a
sub ebp, r14d
mov ecx, eax
shr ecx, 5
sub eax, ecx
mov dword [r13 + rdx*4], eax
add r10d, r10d
inc r10d
mov r14d, ebp
mov r12d, ebx
lea edi, [r15*8]
mov eax, esi
and edi, esi
mov edx, r10d
add rdx, rax
add rdx, rdi
mov eax, dword [r13 + rdx*4]
cmp r14d, 0xffffff
ja 0x1402a0f03
shl r14d, 8
shl r12d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r12d
mov r12d, ecx
mov ebp, r14d
shr ebp, 0xb
imul ebp, eax
mov ebx, r12d
sub ebx, ebp
jae 0x1402a0f99
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov dword [r13 + rdx*4], ecx
add r10d, r10d
xor edi, esi
jmp 0x1402a0fb4
sub edi, ebp
mov ecx, ebx
shr ecx, 5
sub ebx, ecx
mov dword [r13 + rdx*4], ebx
lea ecx, [rdx + rdx]
inc ecx
mov ebp, edi
mov r12d, eax
mov ebx, ecx
mov edi, dword [r13 + rbx*4]
cmp ebp, 0xffffff
ja 0x1402a0f6d
shl ebp, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov edx, ebp
shr edx, 0xb
imul edx, edi
mov eax, r12d
sub eax, edx
jae 0x1402a1016
mov eax, 0x800
sub eax, edi
shr eax, 5
add eax, edi
mov dword [r13 + rbx*4], eax
lea ecx, [rbx + rbx]
jmp 0x1402a102e
sub r14d, ebp
mov ecx, eax
shr ecx, 5
sub eax, ecx
mov dword [r13 + rdx*4], eax
add r10d, r10d
inc r10d
mov ebp, r14d
mov r12d, ebx
mov esi, r15d
shl esi, 4
mov eax, edi
and esi, edi
mov ebx, r10d
add rbx, rax
add rbx, rsi
mov eax, dword [r13 + rbx*4]
cmp ebp, 0xffffff
ja 0x1402a0fe8
shl ebp, 8
shl r12d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r12d
mov r12d, ecx
mov edx, ebp
shr edx, 0xb
imul edx, eax
mov ecx, r12d
sub ecx, edx
jae 0x1402a107d
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov dword [r13 + rbx*4], ecx
add r10d, r10d
xor esi, edi
jmp 0x1402a1096
sub ebp, edx
mov ecx, edi
shr ecx, 5
sub edi, ecx
mov dword [r13 + rbx*4], edi
lea ecx, [rbx + rbx]
inc ecx
mov edx, ebp
mov r12d, eax
mov ebx, ecx
mov edi, dword [r13 + rbx*4]
cmp edx, 0xffffff
ja 0x1402a1051
shl edx, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov ebp, edx
shr ebp, 0xb
imul ebp, edi
mov eax, r12d
sub eax, ebp
jae 0x1402a10f8
mov eax, 0x800
sub eax, edi
shr eax, 5
add eax, edi
mov dword [r13 + rbx*4], eax
lea ecx, [rbx + rbx]
jmp 0x1402a1110
sub ebp, edx
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [r13 + rbx*4], eax
add r10d, r10d
inc r10d
mov edx, ebp
mov r12d, ecx
mov edi, r15d
shl edi, 5
mov eax, esi
and edi, esi
mov ebx, r10d
add rbx, rax
add rbx, rdi
mov eax, dword [r13 + rbx*4]
cmp edx, 0xffffff
ja 0x1402a10ca
shl edx, 8
shl r12d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r12d
mov r12d, ecx
mov ebp, edx
shr ebp, 0xb
imul ebp, eax
mov ecx, r12d
sub ecx, ebp
jae 0x1402a115f
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov dword [r13 + rbx*4], ecx
add r10d, r10d
xor edi, esi
jmp 0x1402a1178
sub edx, ebp
mov ecx, edi
shr ecx, 5
sub edi, ecx
mov dword [r13 + rbx*4], edi
lea ecx, [rbx + rbx]
inc ecx
mov ebp, edx
mov r12d, eax
mov ebx, ecx
mov edi, dword [r13 + rbx*4]
cmp ebp, 0xffffff
ja 0x1402a1133
shl ebp, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov edx, ebp
shr edx, 0xb
imul edx, edi
mov eax, r12d
sub eax, edx
jae 0x1402a11da
mov eax, 0x800
sub eax, edi
shr eax, 5
add eax, edi
mov dword [r13 + rbx*4], eax
lea ecx, [rbx + rbx]
jmp 0x1402a11f2
sub edx, ebp
mov esi, eax
shr esi, 5
sub eax, esi
mov dword [r13 + rbx*4], eax
add r10d, r10d
inc r10d
mov ebp, edx
mov r12d, ecx
mov esi, r15d
shl esi, 6
mov eax, edi
and esi, edi
mov ebx, r10d
add rbx, rax
add rbx, rsi
mov eax, dword [r13 + rbx*4]
cmp ebp, 0xffffff
ja 0x1402a11ac
shl ebp, 8
shl r12d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r12d
mov r12d, ecx
mov edx, ebp
shr edx, 0xb
imul edx, eax
mov ecx, r12d
sub ecx, edx
jae 0x1402a1247
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov dword [r13 + rbx*4], ecx
add r10d, r10d
xor esi, edi
jmp 0x1402a1260
sub ebp, edx
mov ecx, edi
shr ecx, 5
sub edi, ecx
mov dword [r13 + rbx*4], edi
lea ecx, [rbx + rbx]
inc ecx
mov edx, ebp
mov r12d, eax
mov ebp, ecx
mov ebx, dword [r13 + rbp*4]
cmp edx, 0xffffff
mov rdi, qword [rsp + 0x18]
ja 0x1402a121a
shl edx, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov esi, edx
shr esi, 0xb
imul esi, ebx
mov eax, r12d
sub eax, esi
jae 0x1402a12c2
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [r13 + rbp*4], eax
lea ecx, [rbp + rbp]
jmp 0x1402a12d9
sub ebp, edx
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [r13 + rbx*4], eax
add r10d, r10d
inc r10d
mov edx, ebp
mov r12d, ecx
mov ebp, r15d
shl ebp, 7
mov eax, esi
and ebp, esi
mov ebx, r10d
add rbx, rax
add rbx, rbp
mov eax, dword [r13 + rbx*4]
cmp edx, 0xffffff
ja 0x1402a1294
shl edx, 8
shl r12d, 8
movzx ecx, byte [r9]
inc r9
or ecx, r12d
mov r12d, ecx
mov edi, edx
shr edi, 0xb
imul edi, eax
mov ecx, r12d
sub ecx, edi
jae 0x1402a1332
mov ecx, 0x800
sub ecx, eax
shr ecx, 5
add ecx, eax
mov dword [r13 + rbx*4], ecx
add r10d, r10d
xor ebp, esi
jmp 0x1402a134b
sub edx, esi
mov ecx, ebx
shr ecx, 5
sub ebx, ecx
mov dword [r13 + rbp*4], ebx
lea ecx, [rbp + rbp + 1]
mov esi, edx
mov r12d, eax
mov edx, ecx
mov ebp, dword [r13 + rdx*4]
cmp esi, 0xffffff
ja 0x1402a12fc
shl esi, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov qword [rsp + 0x20], r10
mov r14d, esi
shr r14d, 0xb
imul r14d, ebp
mov eax, r12d
sub eax, r14d
jae 0x1402a13c6
mov eax, 0x800
sub eax, ebp
shr eax, 5
add eax, ebp
mov dword [r13 + rdx*4], eax
lea r10d, [rdx + rdx]
jmp 0x1402a1404
sub edx, edi
mov esi, eax
shr esi, 5
sub eax, esi
mov dword [r13 + rbx*4], eax
add r10d, r10d
inc r10d
mov edi, edx
mov r12d, ecx
shl r15d, 8
mov eax, ebp
and r15d, ebp
mov edx, r10d
add rdx, rax
add rdx, r15
mov esi, dword [r13 + rdx*4]
cmp edi, 0xffffff
ja 0x1402a137e
shl edi, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov r15d, dword [rsp + 0x30]
xor eax, eax
mov cl, byte [rsp + 0x13]
mov al, cl
lea eax, [rax + rax*2]
mov rcx, qword [rsp + 0x20]
add ecx, eax
add ecx, 0xfffffffa
mov qword [rsp + 0x20], rcx
mov r14d, edi
shr r14d, 0xb
imul r14d, esi
mov eax, r12d
sub eax, r14d
jae 0x1402a13e4
mov eax, 0x800
sub eax, esi
shr eax, 5
add eax, esi
mov dword [r13 + rdx*4], eax
add r10d, r10d
jmp 0x1402a13ff
sub esi, r14d
mov ecx, ebp
shr ecx, 5
sub ebp, ecx
mov dword [r13 + rdx*4], ebp
lea r10d, [rdx + rdx]
inc r10d
mov r14d, esi
mov r12d, eax
jmp 0x1402a1404
sub edi, r14d
mov ecx, esi
shr ecx, 5
sub esi, ecx
mov dword [r13 + rdx*4], esi
add r10d, r10d
inc r10d
mov r14d, edi
mov r12d, eax
mov rdi, qword [rsp + 0x18]
mov rax, qword [rsp + 0x28]
mov byte [rax + rdi], r10b
inc rdi
mov ebp, 1
mov r10, qword [rsp + 0x20]
mov r13, qword [rsp + 0x48]
add r15d, ebp
cmp rdi, r11
jae 0x1402a1da6
cmp r9, qword [rsp + 0x88]
jb 0x1402a08f2
jmp 0x1402a1da6
sub edi, ebp
mov edx, eax
shr edx, 5
sub eax, edx
mov r8d, 3
mov ebx, eax
mov ebp, edi
mov edx, ecx
lea rcx, [rsi + r10*4]
mov dword [rcx + 4], ebx
cmp ebp, 0xffffff
ja 0x1402a1471
shl ebp, 8
shl edx, 8
movzx eax, byte [r9]
inc r9
or edx, eax
mov r10, r11
mov eax, r8d
mov ebx, dword [rcx + rax*4]
mov edi, ebp
shr edi, 0xb
imul edi, ebx
mov esi, edx
sub esi, edi
jae 0x1402a1538
mov ebp, 0x800
sub ebp, ebx
shr ebp, 5
add ebp, ebx
mov dword [rcx + rax*4], ebp
add eax, eax
jmp 0x1402a154c
sub ebx, edx
mov ecx, eax
shr ecx, 5
sub eax, ecx
mov dword [rsi + 0x20], eax
mov r8d, 1
mov r14d, ebx
cmp r14d, 0xffffff
ja 0x1402a14d2
shl r14d, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or r12d, eax
mov eax, r14d
mov ecx, r8d
mov ebx, dword [rsi + rcx*4 + 0x400]
shr r14d, 0xb
imul r14d, ebx
mov ebp, r12d
sub ebp, r14d
jae 0x1402a1508
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [rsi + rcx*4 + 0x400], eax
lea r8d, [rcx + rcx]
jmp 0x1402a1526
sub eax, r14d
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [rsi + rcx*4 + 0x400], ebx
lea r8d, [rcx + rcx]
inc r8d
mov r14d, eax
mov r12d, ebp
cmp r8d, 0x100
jb 0x1402a14b7
add r8d, 0xffffff10
jmp 0x1402a15ae
sub ebp, edi
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [rcx + rax*4], ebx
add eax, eax
inc eax
mov edi, ebp
mov edx, esi
mov ebp, eax
mov ebx, dword [rcx + rbp*4]
cmp edi, 0xffffff
ja 0x1402a1568
shl edi, 8
shl edx, 8
movzx eax, byte [r9]
inc r9
or edx, eax
mov r14d, edi
shr r14d, 0xb
imul r14d, ebx
mov eax, edx
sub eax, r14d
jae 0x1402a1590
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [rcx + rbp*4], eax
lea r8d, [rbp + rbp]
jmp 0x1402a15a7
sub edi, r14d
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [rcx + rbp*4], ebx
lea r8d, [rbp + rbp + 1]
mov r14d, edi
mov edx, eax
add r8d, 0xfffffff8
mov r12d, edx
cmp r10d, 0xc
jb 0x1402a160e
cmp r8d, 3
mov ecx, 3
cmovb ecx, r8d
shl ecx, 6
cmp r14d, 0xffffff
ja 0x1402a15e2
shl r14d, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov rax, qword [rsp + 0x68]
mov ebx, dword [rax + rcx*4 + 4]
mov edx, r14d
shr edx, 0xb
imul edx, ebx
mov edi, r12d
sub edi, edx
jae 0x1402a1629
mov ebp, 0x800
sub ebp, ebx
shr ebp, 5
add ebp, ebx
mov eax, 2
jmp 0x1402a1640
mov qword [rsp + 0x20], r10
mov r13d, r15d
mov edi, dword [rsp + 4]
mov r10d, dword [rsp + 0xc]
mov r15d, dword [rsp + 8]
jmp 0x1402a1c98
sub r14d, edx
mov eax, ebx
shr eax, 5
sub ebx, eax
mov eax, 3
mov ebp, ebx
mov edx, r14d
mov r12d, edi
mov rbx, qword [rsp + 0x68]
lea rcx, [rbx + rcx*4]
mov dword [rcx + 4], ebp
cmp edx, 0xffffff
ja 0x1402a1668
shl edx, 8
shl r12d, 8
movzx ebp, byte [r9]
inc r9
or ebp, r12d
mov r12d, ebp
mov eax, eax
mov esi, dword [rcx + rax*4]
mov ebp, edx
shr ebp, 0xb
imul ebp, esi
mov edi, r12d
sub edi, ebp
jae 0x1402a168f
mov edx, 0x800
sub edx, esi
shr edx, 5
add edx, esi
mov dword [rcx + rax*4], edx
add eax, eax
jmp 0x1402a16a4
sub edx, ebp
mov ebx, esi
shr ebx, 5
sub esi, ebx
mov dword [rcx + rax*4], esi
add eax, eax
inc eax
mov ebp, edx
mov r12d, edi
mov ebx, eax
mov edi, dword [rcx + rbx*4]
cmp ebp, 0xffffff
ja 0x1402a16c5
shl ebp, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov edx, ebp
shr edx, 0xb
imul edx, edi
mov eax, r12d
sub eax, edx
jae 0x1402a16e7
mov eax, 0x800
sub eax, edi
shr eax, 5
add eax, edi
mov dword [rcx + rbx*4], eax
add ebx, ebx
jmp 0x1402a16fc
sub ebp, edx
mov edx, edi
shr edx, 5
sub edi, edx
mov dword [rcx + rbx*4], edi
add ebx, ebx
inc ebx
mov edx, ebp
mov r12d, eax
mov ebx, ebx
mov esi, dword [rcx + rbx*4]
cmp edx, 0xffffff
ja 0x1402a171d
shl edx, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov ebp, edx
shr ebp, 0xb
imul ebp, esi
mov eax, r12d
sub eax, ebp
jae 0x1402a173f
mov eax, 0x800
sub eax, esi
shr eax, 5
add eax, esi
mov dword [rcx + rbx*4], eax
add ebx, ebx
jmp 0x1402a1754
sub edx, ebp
mov edi, esi
shr edi, 5
sub esi, edi
mov dword [rcx + rbx*4], esi
add ebx, ebx
inc ebx
mov ebp, edx
mov r12d, eax
mov edx, ebx
mov esi, dword [rcx + rdx*4]
cmp ebp, 0xffffff
ja 0x1402a1775
shl ebp, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov edi, ebp
shr edi, 0xb
imul edi, esi
mov eax, r12d
sub eax, edi
jae 0x1402a1797
mov eax, 0x800
sub eax, esi
shr eax, 5
add eax, esi
mov dword [rcx + rdx*4], eax
add edx, edx
jmp 0x1402a17ac
sub ebp, edi
mov ebx, esi
shr ebx, 5
sub esi, ebx
mov dword [rcx + rdx*4], esi
add edx, edx
inc edx
mov edi, ebp
mov r12d, eax
mov edx, edx
mov ebx, dword [rcx + rdx*4]
cmp edi, 0xffffff
ja 0x1402a17cd
shl edi, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov r14d, edi
shr r14d, 0xb
imul r14d, ebx
mov eax, r12d
sub eax, r14d
jae 0x1402a17f3
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov dword [rcx + rdx*4], eax
add edx, edx
jmp 0x1402a180a
sub edi, r14d
mov ebp, ebx
shr ebp, 5
sub ebx, ebp
mov dword [rcx + rdx*4], ebx
add edx, edx
inc edx
mov r14d, edi
mov r12d, eax
lea ebp, [rdx - 0x40]
cmp ebp, 4
jb 0x1402a1c59
mov ecx, ebp
shr ecx, 1
and edx, 1
or edx, 2
cmp ebp, 0xd
ja 0x1402a1998
dec ecx
shl edx, cl
inc edx
mov ebp, 1
cmp r14d, 0xffffff
ja 0x1402a184f
shl r14d, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or r12d, eax
mov eax, r14d
mov edx, edx
mov esi, dword [r13 + rdx*4 - 0x1a00]
shr r14d, 0xb
imul r14d, esi
mov edi, r12d
sub edi, r14d
jae 0x1402a1886
mov eax, 0x800
sub eax, esi
shr eax, 5
add eax, esi
mov dword [r13 + rdx*4 - 0x1a00], eax
mov eax, ebp
add ebp, ebp
jmp 0x1402a18a2
sub eax, r14d
mov ebx, esi
shr ebx, 5
sub esi, ebx
mov dword [r13 + rdx*4 - 0x1a00], esi
add ebp, ebp
mov r14d, eax
mov r12d, edi
mov eax, ebp
add edx, eax
dec ecx
jne 0x1402a1834
sub edx, ebp
mov ebp, edx
jmp 0x1402a1c59
sub ebx, r14d
mov eax, edi
shr eax, 5
sub edi, eax
mov dword [r13 + rbp*4 - 0x1800], edi
mov eax, dword [rsp + 4]
mov edi, dword [rsp + 0xc]
mov ebp, dword [rsp + 8]
jmp 0x1402a1adc
sub r14d, ebx
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [r13 + rsi*4 + 0xa0], eax
cmp r14d, 0xffffff
ja 0x1402a18ff
shl r14d, 8
shl ebp, 8
movzx eax, byte [r9]
inc r9
or ebp, eax
mov edx, dword [r13 + rsi*4 + 0xd0]
mov ebx, r14d
shr ebx, 0xb
imul ebx, edx
mov edi, ebp
sub edi, ebx
jae 0x1402a1aab
mov eax, 0x800
sub eax, edx
shr eax, 5
add eax, edx
mov edi, dword [rsp + 8]
jmp 0x1402a1ac8
sub edx, edi
mov eax, ecx
shr eax, 5
sub ecx, eax
mov r8d, 3
mov ebx, ecx
mov edi, edx
mov ebp, r14d
lea rcx, [rsi + r10*4]
add rcx, 0x20
mov dword [rcx + 4], ebx
cmp edi, 0xffffff
ja 0x1402a1967
shl edi, 8
shl ebp, 8
movzx eax, byte [r9]
inc r9
or ebp, eax
mov r10, r11
mov eax, r8d
mov ebx, dword [rcx + rax*4]
mov edx, edi
shr edx, 0xb
imul edx, ebx
mov esi, ebp
sub esi, edx
jae 0x1402a1a2b
mov edi, 0x800
sub edi, ebx
shr edi, 5
add edi, ebx
mov dword [rcx + rax*4], edi
add eax, eax
jmp 0x1402a1a3f
add ecx, 0xfffffffb
cmp r14d, 0xffffff
ja 0x1402a19be
shl r14d, 8
shl r12d, 8
movzx ebp, byte [r9]
inc r9
or ebp, r12d
mov eax, r14d
mov r12d, ebp
jmp 0x1402a19c1
mov eax, r14d
shr r14d, 1
mov ebp, r12d
sub ebp, r14d
mov r12d, ebp
sar r12d, 0x1f
lea edx, [r12 + rdx*2]
inc edx
and r12d, r14d
add r12d, ebp
dec ecx
jne 0x1402a199b
cmp eax, 0x1ffffff
ja 0x1402a19fd
shl r14d, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov ebx, dword [r13 + 4]
mov ecx, r14d
shr ecx, 0xb
imul ecx, ebx
mov edi, r12d
sub edi, ecx
jae 0x1402a1b05
mov ebp, 0x800
sub ebp, ebx
shr ebp, 5
add ebp, ebx
mov eax, 2
jmp 0x1402a1b1c
sub edi, edx
mov edx, ebx
shr edx, 5
sub ebx, edx
mov dword [rcx + rax*4], ebx
add eax, eax
inc eax
mov edx, edi
mov ebp, esi
mov ebx, eax
mov esi, dword [rcx + rbx*4]
cmp edx, 0xffffff
ja 0x1402a1a5e
shl edx, 8
shl ebp, 8
movzx r12d, byte [r9]
inc r9
or r12d, ebp
jmp 0x1402a1a61
mov r12d, ebp
mov r14d, edx
shr r14d, 0xb
imul r14d, esi
mov eax, r12d
sub eax, r14d
jae 0x1402a1a8c
mov eax, 0x800
sub eax, esi
shr eax, 5
add eax, esi
mov dword [rcx + rbx*4], eax
lea r8d, [rbx + rbx]
jmp 0x1402a15ae
sub edx, r14d
mov edi, esi
shr edi, 5
sub esi, edi
mov dword [rcx + rbx*4], esi
lea r8d, [rbx + rbx]
inc r8d
mov r14d, edx
mov r12d, eax
jmp 0x1402a15ae
sub r14d, ebx
mov eax, edx
shr eax, 5
sub edx, eax
mov eax, edx
mov edx, dword [rsp + 8]
mov ebx, r14d
mov ebp, edi
mov edi, dword [rsp + 0x14]
mov dword [rsp + 0x14], edx
mov dword [r13 + rsi*4 + 0xd0], eax
mov eax, edi
mov edx, ebp
mov ebp, dword [rsp + 0xc]
mov edi, dword [rsp + 4]
mov dword [rsp + 8], ebp
mov dword [rsp + 0xc], edi
xor ebp, ebp
cmp r10d, 7
setae bpl
lea r10d, [rbp + rbp*2]
or r10d, 8
mov dword [rsp + 4], eax
mov rsi, qword [rsp + 0x78]
jmp 0x1402a0a62
sub r14d, ecx
mov eax, ebx
shr eax, 5
sub ebx, eax
mov eax, 3
mov ebp, ebx
mov ecx, r14d
mov r12d, edi
mov dword [r13 + 4], ebp
cmp ecx, 0xffffff
ja 0x1402a1b3c
shl ecx, 8
shl r12d, 8
movzx ebp, byte [r9]
inc r9
or ebp, r12d
mov r12d, ebp
mov eax, eax
mov esi, dword [r13 + rax*4]
mov edi, ecx
shr edi, 0xb
imul edi, esi
mov ebx, r12d
mov r11, r10
sub ebx, edi
jae 0x1402a1b6b
mov ecx, 0x800
sub ecx, esi
shr ecx, 5
add ecx, esi
mov dword [r13 + rax*4], ecx
add eax, 2
jmp 0x1402a1b81
sub ecx, edi
mov ebp, esi
shr ebp, 5
sub esi, ebp
mov dword [r13 + rax*4], esi
add eax, 4
mov edi, ecx
mov r12d, ebx
mov r10d, eax
mov ebx, dword [r13 + r10*4]
cmp edi, 0xffffff
ja 0x1402a1ba5
shl edi, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov ecx, edi
shr ecx, 0xb
imul ecx, ebx
mov esi, r12d
sub esi, ecx
jae 0x1402a1bc7
mov eax, 0x800
sub eax, ebx
shr eax, 5
add eax, ebx
mov ebp, 4
jmp 0x1402a1bdc
sub edi, ecx
mov eax, ebx
shr eax, 5
sub ebx, eax
mov ebp, 8
mov eax, ebx
mov ecx, edi
mov r12d, esi
mov dword [r13 + r10*4], eax
add ebp, r10d
mov edi, dword [r13 + rbp*4]
cmp ecx, 0xffffff
ja 0x1402a1c05
shl ecx, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov r10, r11
shl edx, 4
mov r14d, ecx
shr r14d, 0xb
imul r14d, edi
mov eax, r12d
sub eax, r14d
jae 0x1402a1c34
mov eax, 0x800
sub eax, edi
shr eax, 5
add eax, edi
mov dword [r13 + rbp*4], eax
add ebp, 0xfffffff8
jmp 0x1402a1c49
sub ecx, r14d
mov ebx, edi
shr ebx, 5
sub edi, ebx
mov dword [r13 + rbp*4], edi
mov r14d, ecx
mov r12d, eax
mov rdi, qword [rsp + 0x18]
or ebp, edx
cmp ebp, 0xffffffff
je 0x1402a1e61
lea edi, [rbp + 1]
xor eax, eax
cmp r10d, 0x13
setae al
mov ecx, dword [rsp + 0x34]
test ecx, ecx
lea r10d, [rax + rax*2 + 7]
mov eax, ecx
cmove eax, r15d
cmp ebp, eax
jae 0x1402a1e34
mov qword [rsp + 0x20], r10
mov r13d, r15d
mov r10d, dword [rsp + 4]
mov r15d, dword [rsp + 0xc]
mov eax, dword [rsp + 8]
mov dword [rsp + 0x14], eax
add r8d, 2
mov rbp, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x18]
sub rbp, rcx
je 0x1402a1d88
mov eax, r8d
cmp rbp, rax
cmovae ebp, r8d
mov eax, edi
mov rdx, rcx
sub rdx, rax
mov eax, 0
mov rsi, qword [rsp + 0x40]
cmovb rax, rsi
lea rbx, [rax + rdx]
sub r8d, ebp
mov rax, rsi
sub rax, rbx
cmp rax, rbp
jae 0x1402a1d1e
mov rdx, qword [rsp + 0x28]
lea rsi, [rdx + rcx]
xor eax, eax
mov r11, qword [rsp + 0x40]
mov cl, byte [rdx + rbx]
mov byte [rsi + rax], cl
inc rbx
cmp rbx, r11
mov ecx, 0
cmove rbx, rcx
inc rax
cmp ebp, eax
jne 0x1402a1cf1
mov rcx, qword [rsp + 0x18]
add rcx, rax
mov dword [rsp + 4], edi
mov rdi, rcx
jmp 0x1402a1d48
mov rax, qword [rsp + 0x28]
add rax, rcx
sub rbx, rcx
mov rdx, rbp
mov cl, byte [rax + rbx]
mov byte [rax], cl
inc rax
dec rdx
jne 0x1402a1d2c
mov rax, qword [rsp + 0x18]
add rax, rbp
mov dword [rsp + 4], edi
mov rdi, rax
mov dword [rsp + 0xc], r10d
mov dword [rsp + 8], r15d
mov r15d, r13d
mov r10, qword [rsp + 0x20]
mov r11, qword [rsp + 0x38]
jmp 0x1402a141a
mov eax, dword [rbp + 4]
mov r15d, dword [rbp + 0x40]
sub eax, r15d
mov rdi, qword [rbp + 0x28]
mov rcx, r11
sub rcx, rdi
lea rdx, [rdi + rax]
cmp rcx, rax
cmova r11, rdx
jmp 0x1402a0838
mov rax, qword [rsp + 0x38]
mov dword [rsp + 8], r15d
mov dword [rsp + 0xc], r10d
mov dword [rsp + 4], edi
mov rdi, rax
mov r15d, r13d
mov r10, qword [rsp + 0x20]
cmp r14d, 0xffffff
ja 0x1402a1dc4
shl r14d, 8
shl r12d, 8
movzx eax, byte [r9]
inc r9
or eax, r12d
mov r12d, eax
mov rcx, qword [rsp + 0x60]
mov eax, dword [rsp + 0xc]
mov edx, dword [rsp + 4]
mov ebp, dword [rsp + 8]
mov ebx, dword [rsp + 0x14]
mov qword [rcx + 0x30], r9
mov dword [rcx + 0x38], r14d
mov dword [rcx + 0x3c], r12d
mov dword [rcx + 0x5c], r8d
mov qword [rcx + 0x28], rdi
mov dword [rcx + 0x40], r15d
mov dword [rcx + 0x48], edx
mov dword [rcx + 0x4c], eax
mov dword [rcx + 0x50], ebp
mov dword [rcx + 0x54], ebx
mov dword [rcx + 0x58], r10d
cmp dword [rcx + 0x44], 0
je 0x1402a1e27
xor eax, eax
cmp r8d, 0x200
setae al
add rsp, 0x90
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rcx + 4]
cmp r15d, eax
jb 0x1402a1e07
mov dword [rcx + 0x44], eax
jmp 0x1402a1e07
add r8d, 0x202
mov eax, dword [rsp + 8]
mov dword [rsp + 0x14], eax
mov eax, dword [rsp + 0xc]
mov dword [rsp + 8], eax
mov eax, dword [rsp + 4]
mov dword [rsp + 0xc], eax
mov dword [rsp + 4], edi
mov rdi, qword [rsp + 0x18]
jmp 0x1402a1da6
add r10d, 0xfffffff4
mov r8d, 0x112
jmp 0x1402a1da6