Function at 0x140047a10
Capabilities:
Get file size
Read file via mapping
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, 0x268
vmovaps xmmword [rsp + 0x250], xmm6
mov ebp, r9d
mov r14, rcx
mov rax, qword [rcx + 0x38]
vbroadcasti128 ymm0, xmmword [rcx]
vmovdqu ymm1, ymmword [rcx + 0x18]
vpermq ymm2, ymm1, 0x50
vpermq ymm1, ymm1, 0xfa
vmovq rcx, xmm0
and rcx, rax
xor r9d, r9d
popcnt r9, rcx
movabs rcx, 0xec0ade190c0f6003
imul rcx, r9
vpand ymm1, ymm1, ymm0
vpand ymm2, ymm2, ymm0
vmovdqa ymm3, ymmword [0x140ebb980]
vpand ymm4, ymm2, ymm3
vmovdqa ymm5, ymmword [0x140ebb9a0]
vpshufb ymm4, ymm5, ymm4
vpsrlw ymm2, ymm2, 4
vpand ymm2, ymm2, ymm3
vpshufb ymm2, ymm5, ymm2
vpaddb ymm2, ymm2, ymm4
vpxor xmm4, xmm4, xmm4
vpsadbw ymm2, ymm2, ymm4
vpand ymm6, ymm1, ymm3
vpshufb ymm6, ymm5, ymm6
vpsrlw ymm1, ymm1, 4
vpand ymm1, ymm1, ymm3
vpshufb ymm1, ymm5, ymm1
vpaddb ymm1, ymm1, ymm6
vpsadbw ymm1, ymm1, ymm4
vpmuludq ymm3, ymm1, ymmword [0x140ebb9c0]
vpmuludq ymm1, ymm1, ymmword [0x140ebb9e0]
vpsllq ymm1, ymm1, 0x20
vpaddq ymm1, ymm3, ymm1
vpmuludq ymm3, ymm2, ymmword [0x140ebba00]
vpmuludq ymm2, ymm2, ymmword [0x140ebba20]
vpsllq ymm2, ymm2, 0x20
vpaddq ymm2, ymm3, ymm2
vpaddq ymm1, ymm2, ymm1
vpextrq r9, xmm0, 1
and r9, rax
xor eax, eax
popcnt rax, r9
movabs r9, 0xa24f0f571bb202e7
imul r9, rax
add r9, rcx
vextracti128 xmm0, ymm1, 1
vpaddq xmm0, xmm1, xmm0
vpshufd xmm1, xmm0, 0xee
vpaddq xmm0, xmm0, xmm1
vmovq r15, xmm0
add r15, r9
xor r12d, r12d
test ebp, ebp
jne 0x140047b46
test r15, r15
je 0x140047bc4
mov dword [rsp + 0x94], edx
mov rdi, r15
shr rdi, 0x34
mov rax, rdi
shl rax, 4
lea rbx, [0x1427a1bc0]
mov rax, qword [rax + rbx]
test rax, rax
je 0x140047b8f
cmp rax, r15
je 0x140047b8f
inc edi
and edi, 0xfff
mov rax, rdi
shl rax, 4
mov rax, qword [rax + rbx]
test rax, rax
je 0x140047b8d
cmp rax, r15
jne 0x140047b70
mov edi, edi
shl rdi, 4
mov r13, qword [rdi + rbx + 8]
test r13, r13
je 0x140047bbd
cmp ebp, 1
jne 0x140047bab
cmp byte [r13 + 0x3e], 0
jne 0x140047be7
jmp 0x140047bbd
cmp ebp, 2
jne 0x140047be7
mov al, 1
mov dword [rsp + 0x68], eax
cmp byte [r13 + 0x3f], 0
jne 0x140047bef
mov dword [r8], 0
mov eax, r12d
vmovaps xmm6, xmmword [rsp + 0x250]
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
vzeroupper
ret
mov dword [rsp + 0x68], 0
movsxd rsi, ebp
movzx eax, byte [r13 + rsi + 0x38]
test al, 1
mov dword [rsp + 0x40], ebp
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x88], r8
jne 0x140048d0a
mov rcx, qword [0x1427a1ba8]
mov edx, 0xffffffff
vzeroupper
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov qword [rsp + 0xa0], rsi
movzx eax, byte [r13 + rsi + 0x38]
test al, 1
jne 0x140048cfd
lea rbp, [r14 + 8]
mov rcx, qword [r13]
xor eax, eax
mov qword [rsp + 0x50], rcx
cmp rcx, r15
mov qword [rsp + 0x38], rbp
cmove rbp, r14
setne al
mov rcx, r14
mov r14, qword [r14 + rax*8]
mov rax, qword [rcx + 0x10]
and rax, r14
je 0x140047fc8
xor esi, esi
popcnt rsi, rax
lea rcx, [rsp + 0xb0]
mov r13d, 0xffffffff
mov dl, 0x4b
mov r8, rsi
call fcn.140084ef0
add esi, r13d
lea r13, [rsp + rsi]
add r13, 0xb1
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
and rax, r14
je 0x140047ccf
xor esi, esi
popcnt rsi, rax
mov rcx, r13
mov dl, 0x51
mov r8, rsi
call fcn.140084ef0
mov eax, 0xffffffff
add esi, eax
add r13, rsi
inc r13
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x20]
and rax, r14
je 0x140047d02
xor esi, esi
popcnt rsi, rax
mov rcx, r13
mov dl, 0x52
mov r8, rsi
call fcn.140084ef0
mov eax, 0xffffffff
add esi, eax
add r13, rsi
inc r13
mov r14, qword [rbp]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
and rax, r14
je 0x140047d35
xor esi, esi
popcnt rsi, rax
mov rcx, r13
mov dl, 0x42
mov r8, rsi
call fcn.140084ef0
mov eax, 0xffffffff
add esi, eax
add r13, rsi
inc r13
mov r14, qword [rbp]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x30]
and rax, r14
je 0x140047d68
xor esi, esi
popcnt rsi, rax
mov rcx, r13
mov dl, 0x4e
mov r8, rsi
call fcn.140084ef0
mov eax, 0xffffffff
add esi, eax
add r13, rsi
inc r13
mov r14, qword [rbp]
mov rax, qword [rsp + 0x58]
and r14, qword [rax + 0x38]
je 0x140047d94
xor esi, esi
popcnt rsi, r14
mov rcx, r13
mov dl, 0x50
mov r8, rsi
call fcn.140084ef0
mov eax, 0xffffffff
add esi, eax
add r13, rsi
inc r13
lea rbp, [r13 + 1]
xor eax, eax
cmp qword [rsp + 0x50], r15
sete al
mov r14, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x38]
cmovne rdx, r14
mov byte [r13], 0x76
mov rax, qword [r14 + rax*8]
mov rcx, qword [r14 + 0x10]
and rcx, rax
mov qword [rsp + 0x38], rdx
je 0x140047df2
xor esi, esi
popcnt rsi, rcx
mov rcx, rbp
mov dl, 0x4b
mov r8, rsi
call fcn.140084ef0
mov rdx, qword [rsp + 0x38]
mov eax, 0xffffffff
add esi, eax
lea rbp, [rsi + r13]
add rbp, 2
mov rax, qword [rdx]
mov rcx, qword [r14 + 0x18]
and rcx, rax
je 0x140047fe7
xor esi, esi
popcnt rsi, rcx
mov rcx, rbp
mov dl, 0x51
mov r8, rsi
call fcn.140084ef0
mov rdx, qword [rsp + 0x38]
mov r13d, 0xffffffff
add esi, r13d
add rbp, rsi
inc rbp
mov rax, qword [rdx]
mov rcx, qword [r14 + 0x20]
and rcx, rax
je 0x140047e58
xor esi, esi
popcnt rsi, rcx
mov rcx, rbp
mov dl, 0x52
mov r8, rsi
call fcn.140084ef0
mov rdx, qword [rsp + 0x38]
add esi, r13d
add rbp, rsi
inc rbp
mov rax, qword [rdx]
mov rcx, qword [r14 + 0x28]
and rcx, rax
je 0x140047e86
xor esi, esi
popcnt rsi, rcx
mov rcx, rbp
mov dl, 0x42
mov r8, rsi
call fcn.140084ef0
mov rdx, qword [rsp + 0x38]
add esi, r13d
add rbp, rsi
inc rbp
mov rax, qword [rdx]
mov rcx, qword [r14 + 0x30]
and rcx, rax
je 0x140047eb7
xor esi, esi
popcnt rsi, rcx
mov rcx, rbp
mov r13, rdx
mov dl, 0x4e
mov r8, rsi
call fcn.140084ef0
mov eax, 0xffffffff
add esi, eax
add rbp, rsi
inc rbp
mov rax, qword [r13]
and rax, qword [r14 + 0x38]
je 0x140047ede
xor esi, esi
popcnt rsi, rax
mov rcx, rbp
mov dl, 0x50
mov r8, rsi
call fcn.140084ef0
mov eax, 0xffffffff
add esi, eax
add rbp, rsi
inc rbp
mov r14, qword [rsp + 0xa0]
mov byte [rbp], 0
lea rax, [0x140ebc5e0]
mov r13, qword [rax + r14*8]
lea rcx, [rsp + 0xb0]
mov rdx, r13
call fcn.140049c50
cmp rax, 0xffffffffffffffff
je 0x140048035
mov rsi, rax
mov qword [rsp + 0x38], r13
lea r13, [rsp + 0xd0]
mov rcx, rax
mov rdx, r13
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r9d, dword [rsp + 0xd0]
mov dword [rsp + 0x20], eax
mov qword [rsp + 0x28], 0
mov rcx, rsi
xor edx, edx
mov r8d, 2
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
test rax, rax
je 0x140049687
mov rcx, qword [rsp + 0x60]
mov qword [rcx + r14*8 + 0x20], rax
mov qword [rsp + 0x20], 0
mov rcx, rax
mov edx, 4
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
test rax, rax
je 0x140049690
mov rbp, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [rbp]
lea rcx, [0x140ebc790]
cmp eax, dword [rcx + r14*4]
jne 0x140047fff
mov rax, qword [rsp + 0x60]
mov qword [rax + r14*8 + 8], rbp
cmp byte [rsp + 0x68], 0
je 0x140048064
mov dword [rsp + 0x38], 0
jmp 0x1400480ca
lea r13, [rsp + 0xb0]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x18]
and rax, r14
jne 0x140047cae
jmp 0x140047ccf
mov r13d, 0xffffffff
mov rcx, qword [r14 + 0x20]
and rcx, rax
jne 0x140047e33
jmp 0x140047e58
mov ecx, 2
call fcn.14006f608
lea rcx, [0x140ebc79c]
mov edx, 0x11
mov r8d, 1
mov r9, rax
call fcn.14006fa68
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax + r14*8 + 0x20]
mov rcx, rbp
call fcn.140049b20
lea rax, [rdi + rbx]
add rax, 8
mov qword [rax], 0
mov rax, qword [rsp + 0x88]
mov dword [rax], 0
mov rcx, qword [0x1427a1ba8]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
jmp 0x140047bc4
movzx eax, byte [rbp + 4]
mov ecx, eax
and cl, 1
mov dword [rsp + 0x38], ecx
cmp dword [rsp + 0x40], 1
jne 0x1400480ca
shr al, 2
and al, 1
mov rcx, qword [rsp + 0x60]
mov byte [rcx + 0x42], al
add rbp, 5
mov qword [rsp + 0x78], rbp
cmp byte [rcx + 0x3d], 0
je 0x14004814e
lea r12, [rcx + 0x2c8]
mov dword [rsp + 0x50], 2
mov ecx, 6
mov al, 1
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x44], 0
jmp 0x140048179
add rbp, 5
mov qword [rsp + 0x78], rbp
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x3d], 0
je 0x14004811a
lea r12, [rax + 0x640]
cmp dword [rsp + 0x40], 0
cmove r12, rax
add r12, 0x48
mov dword [rsp + 0x50], 1
mov ecx, 4
mov al, 1
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x84], 0
mov dword [rsp + 0x48], 0
jmp 0x140048179
lea r12, [rax + 0x140]
cmp dword [rsp + 0x40], 0
cmove r12, rax
add r12, 0x48
mov dword [rsp + 0x84], 0
mov ecx, 1
mov al, 1
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x44], 0
jmp 0x140048171
lea r12, [rcx + 0xe8]
mov dword [rsp + 0x44], 0
mov ecx, 1
mov al, 1
mov dword [rsp + 0x84], eax
mov al, 1
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x50], 0
lea r14, [rsp + 0x1f8]
mov qword [rsp + 0x70], rcx
lea rax, [rcx + rcx*4]
shl rax, 4
mov qword [rsp + 0xc8], rax
lea rsi, [r12 + rax]
xor edi, edi
mov qword [rsp + 0x98], r12
mov rbx, qword [rsp + 0x60]
jmp 0x1400481ee
movzx ebp, byte [rbx + 0x3b]
inc rbp
cmp byte [rbx + 0x3d], 0
je 0x140048240
cmp byte [rbx + 0x41], 0
setne al
movzx eax, al
add rbp, rax
add rbp, qword [rsp + 0x78]
mov qword [rsp + 0x78], rbp
inc rdi
add r14, 0x10
add rsi, 0x50
add r12, 0x50
cmp qword [rsp + 0x70], rdi
je 0x140048244
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
mov rcx, r12
mov rdx, rbx
mov r8, rbp
xor r9d, r9d
call fcn.140049dd0
mov qword [r14 - 8], rax
cmp byte [rsp + 0x38], 0
je 0x1400481b0
mov r8, qword [rsp + 0x78]
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], edi
mov rcx, rsi
mov rdx, rbx
mov r9d, 4
call fcn.140049dd0
mov qword [r14], rax
jmp 0x1400481b0
xor eax, eax
jmp 0x1400481c8
mov eax, ebp
and eax, 1
add rax, rbp
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x60]
add rax, 0x1f8
mov qword [rsp + 0xa8], rax
lea r14, [rsp + 0x1f8]
mov rax, qword [rsp + 0x70]
mov rbp, rax
neg rbp
shl rax, 4
lea rax, [rax + rax*4]
mov qword [rsp + 0x50], rax
mov ebx, 0x828
lea rsi, [rsp + 0x78]
lea r12, [rsp + 0x4f]
mov rdi, qword [rsp + 0x98]
jmp 0x1400482e1
lea r8, [r13 + 0x18]
mov rdx, qword [r14]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov r9, r12
call fcn.14004a940
mov rcx, qword [rsp + 0x50]
mov qword [rdi + rcx], rax
add r14, 0x10
add r13, 0x30
lea rax, [rbx + rbp]
inc rax
inc rbx
add rdi, 0x50
cmp rax, 0x828
je 0x14004835c
mov rdx, qword [r14 - 8]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov r8, r13
mov r9, r12
call fcn.14004a940
mov qword [rdi], rax
cmp byte [rsp + 0x68], 0
je 0x140048330
mov rcx, qword [rsp + 0x60]
cmp byte [rcx + 0x3d], 0
movzx eax, byte [rsp + 0x4f]
je 0x140048342
mov byte [rcx + rbx], al
cmp byte [rsp + 0x38], 0
jne 0x1400482a0
jmp 0x1400482c3
cmp byte [rsp + 0x38], 0
jne 0x1400482a0
xor eax, eax
jmp 0x1400482ba
mov rcx, qword [rsp + 0xa8]
mov byte [rcx], al
cmp byte [rsp + 0x38], 0
je 0x1400482c3
jmp 0x1400482a0
mov ebx, dword [rsp + 0x84]
test bl, bl
mov ebp, dword [rsp + 0x40]
mov r13, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x98]
mov r12, qword [rsp + 0xc8]
mov r11, qword [rsp + 0x70]
je 0x140048698
cmp byte [r13 + 0x42], 0
jne 0x140048698
mov rax, qword [rsp + 0x78]
lea rdx, [r13 + 0x7c8]
lea r8, [r13 + 0x1d8]
lea r9, [r13 + 0x7d0]
cmp byte [r13 + 0x3d], 0
lea rcx, [r13 + 0x1e0]
cmove rdx, r8
mov qword [rdx], rax
cmovne rcx, r9
mov word [rcx], 1
movzx edx, word [rax]
lea r8, [rax + rdx*2]
lea r9, [rax + rdx*2]
add r9, 2
sub r9d, eax
inc r9d
mov word [rcx + 2], r9w
movzx edx, word [rax + rdx*2 + 2]
lea rdx, [r8 + rdx*2]
add rdx, 4
cmp byte [rsp + 0x38], 0
je 0x140048434
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 4], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 6], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
cmp byte [rsp + 0x48], 0
jne 0x140048693
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 8], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0xa], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
cmp byte [rsp + 0x38], 0
je 0x1400484b4
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 0xc], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0xe], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 0x10], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0x12], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
cmp byte [rsp + 0x38], 0
je 0x140048529
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 0x14], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0x16], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 0x18], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0x1a], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
cmp byte [rsp + 0x38], 0
je 0x14004859e
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 0x1c], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0x1e], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
cmp byte [rsp + 0x44], 0
jne 0x140048693
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 0x20], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0x22], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
cmp byte [rsp + 0x38], 0
je 0x14004861e
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 0x24], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0x26], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 0x28], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0x2a], r10w
movzx edx, word [rdx + r8*2 + 2]
lea rdx, [r9 + rdx*2]
add rdx, 4
cmp byte [rsp + 0x38], 0
je 0x140048693
mov r8d, edx
sub r8d, eax
inc r8d
mov word [rcx + 0x2c], r8w
movzx r8d, word [rdx]
lea r9, [rdx + r8*2]
lea r10, [rdx + r8*2]
add r10, 2
sub r10d, eax
inc r10d
mov word [rcx + 0x2e], r10w
movzx eax, word [rdx + r8*2 + 2]
lea rdx, [r9 + rax*2]
add rdx, 4
mov qword [rsp + 0x78], rdx
mov rax, qword [rsp + 0x78]
cmp byte [rsp + 0x68], 0
je 0x140048808
lea r8, [r13 + 0x800]
lea r9, [r13 + 0x1e8]
lea r10, [r13 + 0x808]
lea rcx, [r13 + 0x1f0]
lea rdx, [r13 + 0x828]
cmp byte [r13 + 0x3d], 0
cmove r8, r9
cmovne rcx, r10
mov qword [r8], rax
cmove rdx, qword [rsp + 0xa8]
xor r8d, r8d
mov r9, rax
jmp 0x14004877d
mov r10d, r9d
and r10d, 1
lea r11, [r9 + r10]
mov esi, r11d
sub esi, eax
add esi, 2
shr esi, 1
mov word [rcx + r8*8], si
movzx r9d, word [r9 + r10]
lea r10, [r11 + r9*2]
lea rsi, [r11 + r9*2]
add rsi, 4
sub esi, eax
shr esi, 1
mov word [rcx + r8*8 + 2], si
movzx r9d, word [r11 + r9*2 + 2]
lea r11, [r10 + r9*2]
add r11, 4
mov esi, r11d
sub esi, eax
add esi, 2
shr esi, 1
mov word [rcx + r8*8 + 4], si
movzx r9d, word [r10 + r9*2 + 4]
lea r10, [r11 + r9*2]
lea rsi, [r11 + r9*2]
add rsi, 4
sub esi, eax
shr esi, 1
mov word [rcx + r8*8 + 6], si
movzx r9d, word [r11 + r9*2 + 2]
lea r9, [r10 + r9*2]
add r9, 4
mov r11, qword [rsp + 0x70]
inc r8
cmp r11, r8
je 0x1400487ff
movzx r10d, byte [rdx + r8]
test r10b, 2
je 0x140048771
test r10b, 0x10
jne 0x1400486ef
mov r10d, r9d
sub r10d, eax
inc r10d
mov word [rcx + r8*8], r10w
movzx r10d, byte [r9]
lea r11, [r10 + r9]
lea rsi, [r10 + r9]
add rsi, 2
sub esi, eax
mov word [rcx + r8*8 + 2], si
movzx r9d, byte [r10 + r9 + 1]
lea r10, [r9 + r11]
add r10, 2
mov esi, r10d
sub esi, eax
inc esi
mov word [rcx + r8*8 + 4], si
movzx r9d, byte [r9 + r11 + 2]
lea r11, [r9 + r10]
lea rsi, [r9 + r10]
add rsi, 2
sub esi, eax
mov word [rcx + r8*8 + 6], si
movzx r9d, byte [r9 + r10 + 1]
add r9, r11
add r9, 2
jmp 0x14004876c
mov eax, r9d
and eax, 1
add rax, r9
cmp byte [rsp + 0x38], 0
je 0x1400488fb
mov rcx, qword [rdi]
mov qword [rcx], rax
add rax, qword [rsp + 0xd0]
mov rcx, qword [rdi + r12]
mov qword [rcx], rax
add rax, qword [rsp + 0xe8]
cmp byte [rsp + 0x48], 0
jne 0x14004896e
mov rcx, qword [rdi + 0x50]
mov qword [rcx], rax
add rax, qword [rsp + 0x100]
mov rcx, qword [r12 + rdi + 0x50]
mov qword [rcx], rax
add rax, qword [rsp + 0x118]
mov rcx, qword [rdi + 0xa0]
mov qword [rcx], rax
add rax, qword [rsp + 0x130]
mov rcx, qword [r12 + rdi + 0xa0]
mov qword [rcx], rax
add rax, qword [rsp + 0x148]
mov rcx, qword [rdi + 0xf0]
mov qword [rcx], rax
add rax, qword [rsp + 0x160]
mov rcx, qword [r12 + rdi + 0xf0]
mov qword [rcx], rax
add rax, qword [rsp + 0x178]
cmp byte [rsp + 0x44], 0
jne 0x14004896e
mov rcx, qword [rdi + 0x140]
mov qword [rcx], rax
add rax, qword [rsp + 0x190]
mov rcx, qword [r12 + rdi + 0x140]
mov qword [rcx], rax
add rax, qword [rsp + 0x1a8]
mov rcx, qword [rdi + 0x190]
mov qword [rcx], rax
add rax, qword [rsp + 0x1c0]
mov rcx, qword [r12 + rdi + 0x190]
mov qword [rcx], rax
add rax, qword [rsp + 0x1d8]
jmp 0x14004896e
mov rcx, qword [rdi]
mov qword [rcx], rax
add rax, qword [rsp + 0xd0]
cmp byte [rsp + 0x48], 0
jne 0x14004896e
mov rcx, qword [rdi + 0x50]
mov qword [rcx], rax
add rax, qword [rsp + 0x100]
mov rcx, qword [rdi + 0xa0]
mov qword [rcx], rax
add rax, qword [rsp + 0x130]
mov rcx, qword [rdi + 0xf0]
mov qword [rcx], rax
add rax, qword [rsp + 0x160]
cmp byte [rsp + 0x44], 0
jne 0x14004896e
mov rcx, qword [rdi + 0x140]
mov qword [rcx], rax
add rax, qword [rsp + 0x190]
mov rcx, qword [rdi + 0x190]
mov qword [rcx], rax
add rax, qword [rsp + 0x1c0]
cmp byte [rsp + 0x38], 0
je 0x140048a6d
mov rcx, qword [rdi]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0xd8]
mov rcx, qword [rdi + r12]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0xf0]
cmp byte [rsp + 0x48], 0
jne 0x140048ae6
mov rcx, qword [rdi + 0x50]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x108]
mov rcx, qword [r12 + rdi + 0x50]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x120]
mov rcx, qword [rdi + 0xa0]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x138]
mov rcx, qword [r12 + rdi + 0xa0]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x150]
mov rcx, qword [rdi + 0xf0]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x168]
mov rcx, qword [r12 + rdi + 0xf0]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x180]
cmp byte [rsp + 0x44], 0
jne 0x140048ae6
mov rcx, qword [rdi + 0x140]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x198]
mov rcx, qword [r12 + rdi + 0x140]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x1b0]
mov rcx, qword [rdi + 0x190]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x1c8]
mov rcx, qword [r12 + rdi + 0x190]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x1e0]
jmp 0x140048ae6
mov rcx, qword [rdi]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0xd8]
cmp byte [rsp + 0x48], 0
jne 0x140048ae6
mov rcx, qword [rdi + 0x50]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x108]
mov rcx, qword [rdi + 0xa0]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x138]
mov rcx, qword [rdi + 0xf0]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x168]
cmp byte [rsp + 0x44], 0
jne 0x140048ae6
mov rcx, qword [rdi + 0x140]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x198]
mov rcx, qword [rdi + 0x190]
mov qword [rcx + 8], rax
add rax, qword [rsp + 0x1c8]
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [rdi]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0xe0]
cmp byte [rsp + 0x38], 0
je 0x140048b1c
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [rdi + r12]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0xf8]
cmp byte [rsp + 0x48], 0
jne 0x140048c59
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [rdi + 0x50]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0x110]
cmp byte [rsp + 0x38], 0
je 0x140048b5f
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [r12 + rdi + 0x50]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0x128]
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [rdi + 0xa0]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0x140]
cmp byte [rsp + 0x38], 0
je 0x140048b9d
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [r12 + rdi + 0xa0]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0x158]
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [rdi + 0xf0]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0x170]
cmp byte [rsp + 0x38], 0
je 0x140048bdb
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [r12 + rdi + 0xf0]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0x188]
cmp byte [rsp + 0x44], 0
jne 0x140048c59
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [rdi + 0x140]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0x1a0]
cmp byte [rsp + 0x38], 0
je 0x140048c20
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [r12 + rdi + 0x140]
mov qword [rcx + 0x10], rax
add rax, qword [rsp + 0x1b8]
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [rdi + 0x190]
mov qword [rcx + 0x10], rax
cmp byte [rsp + 0x38], 0
je 0x140048c59
mov rcx, qword [rsp + 0x1d0]
add rax, rcx
add rax, 0x3f
and rax, 0xffffffffffffffc0
mov rcx, qword [r12 + rdi + 0x190]
mov qword [rcx + 0x10], rax
test bl, bl
je 0x140048cef
cmp byte [r13 + 0x3d], 0
je 0x140048cef
movzx ebx, byte [r13 + 0x3b]
test rbx, rbx
je 0x140048cd6
xor r14d, r14d
lea r13, [0x140ebc850]
lea rsi, [0x140ebc8d0]
lea rdi, [0x140ebc760]
xor r12d, r12d
jmp 0x140048ca3
movzx eax, al
add r12, qword [r13 + rax*8]
inc r14
cmp rbx, r14
je 0x140048cd9
mov rax, qword [rsp + 0x98]
movzx eax, byte [rax + r14 + 0x40]
cmp al, 0x10
jb 0x140048c93
mov rcx, rsi
mov rdx, rdi
mov r8d, 0x260
call fcn.14006f114
mov rax, qword [rsp + 0x98]
movzx eax, byte [rax + r14 + 0x40]
jmp 0x140048c93
xor r12d, r12d
mov r13, qword [rsp + 0x60]
cmp r12, qword [r13]
setne byte [r13 + 0x82c]
mov r14, qword [rsp + 0x58]
mov rax, qword [rsp + 0xa0]
mov byte [r13 + rax + 0x38], 1
mov rcx, qword [0x1427a1ba8]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
movzx eax, byte [r13 + 0x3c]
test al, al
je 0x140048d21
cmp byte [r14 + 0x42], 0
sete r11b
xor r9d, r9d
jmp 0x140048d5c
mov rcx, qword [r13]
cmp r15, rcx
setne r11b
movzx edx, byte [r14 + 0x42]
cmp dl, r11b
sete r9b
cmp ebp, 1
jne 0x140048d5c
cmp byte [r13 + 0x3d], 0
je 0x140048d5c
cmp byte [r13 + 0x82c], 0
je 0x140048d5c
cmp dl, r11b
setne r9b
cmp r15, rcx
sete r11b
cmp byte [r13 + 0x3d], 0
mov dword [rsp + 0x70], r9d
je 0x140048de0
cmp ebp, 1
mov eax, 8
mov ecx, 0x14
cmove rcx, rax
xor eax, eax
test ebp, ebp
mov edx, 0
cmovne rdx, rcx
lea rsi, [rdx + rdx*4]
shl rsi, 4
test r11b, r11b
mov ebx, 0x38
cmove ebx, eax
movzx eax, byte [r13 + rsi + 0x88]
cmp al, 8
setb cl
and eax, 7
dec eax
cmp eax, 5
mov byte [rsp + 0x38], r11b
ja case.default.0x140048dd5
xor cl, r11b
xor cl, 1
movzx ecx, cl
mov rdi, qword [r14 + rcx*8]
lea rcx, [0x1400496e8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
and rdi, qword [r14 + 0x38]
jmp 0x140049006
xor ecx, ecx
cmp ebp, 1
setne cl
xor r10d, r10d
test ebp, ebp
lea rdx, [rcx + rcx + 2]
mov ecx, 0
cmovne rcx, rdx
cmp byte [rsp + 0x68], 0
mov r8, qword [rsp + 0x88]
je 0x140048e31
movzx r10d, byte [r13 + 0x1f8]
test r10b, 1
sete dl
test al, al
jne 0x140048e31
xor dl, r9b
jne 0x140048e31
mov dword [r8], 0xffffffff
xor r12d, r12d
jmp 0x140047bc4
mov qword [rsp + 0x88], r10
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, r13
add rax, 0x48
mov ecx, dword [rsp + 0x68]
not cl
and cl, r9b
movzx ecx, cl
lea rcx, [rcx + rcx*4]
shl rcx, 4
lea rdx, [rax + rcx]
mov qword [rsp + 0x50], rdx
cmp byte [r13 + 0x3b], 0
je 0x140048f7d
mov r15d, r11d
lea rbx, [rax + rcx]
add rbx, 0x40
xor r12d, r12d
lea rdi, [0x140ebc760]
lea rsi, [0x140ebc284]
lea rbp, [0x140ebc25a]
lea r14, [0x140049718]
jmp 0x140048eb3
mov r13, qword [rsp + 0x60]
movzx eax, byte [r13 + 0x3b]
cmp r12d, eax
jge 0x140048f7d
movsxd r12, r12d
movzx eax, byte [rbx + r12]
cmp al, 8
setb cl
and eax, 7
dec eax
cmp eax, 5
ja case.default.0x140048ee3
xor cl, r15b
xor cl, 1
movzx ecx, cl
mov rdx, qword [rsp + 0x58]
mov r13, qword [rdx + rcx*8]
movsxd rax, dword [r14 + rax*4]
add rax, r14
jmp rax
and r13, qword [rdx + 0x38]
jmp 0x140048f5a
lea rcx, [0x140ebc78a]
mov rdx, rdi
mov r8d, 0x7f
vzeroupper
call fcn.14006f114
xor r13d, r13d
jmp 0x140048f5a
and r13, qword [rdx + 0x30]
jmp 0x140048f5a
and r13, qword [rdx + 0x28]
jmp 0x140048f5a
and r13, qword [rdx + 0x20]
jmp 0x140048f5a
and r13, qword [rdx + 0x18]
jmp 0x140048f5a
and r13, qword [rdx + 0x10]
jmp 0x140048f5a
mov rcx, rsi
mov rdx, rbp
mov r8d, 0xa4
vzeroupper
call fcn.14006f114
mov dword [rsp + r12*4 + 0xd0], eax
inc r12
blsr r13, r13
je 0x140048ea0
test r13, r13
je 0x140048f30
xor eax, eax
tzcnt rax, r13
mov dword [rsp + r12*4 + 0xd0], eax
inc r12
blsr r13, r13
jne 0x140048f5a
jmp 0x140048ea0
lea rcx, [rsp + 0xd0]
xor edi, edi
mov rbx, qword [rsp + 0x50]
mov rdx, rbx
mov r8, r13
xor r9d, r9d
vzeroupper
call fcn.140046780
mov esi, dword [rsp + 0x40]
mov rcx, qword [rbx]
movzx edx, byte [rcx + 0x31]
test rdx, rdx
jne 0x140049371
add rcx, 0x33
movzx r12d, byte [rcx]
test esi, esi
jne 0x14004954f
add r12d, 0xfffffffe
jmp 0x140047bc4
lea rcx, [0x140ebc78a]
lea rdx, [0x140ebc760]
mov r8d, 0x7f
vzeroupper
call fcn.14006f114
xor edi, edi
jmp 0x140049006
and rdi, qword [r14 + 0x30]
jmp 0x140049006
and rdi, qword [r14 + 0x28]
jmp 0x140049006
and rdi, qword [r14 + 0x20]
jmp 0x140049006
and rdi, qword [r14 + 0x18]
jmp 0x140049006
and rdi, qword [r14 + 0x10]
lea r14, [rsi + r13]
add r14, 0x48
xor r12d, r12d
lea rsi, [0x140ebc284]
lea r15, [0x140ebc25a]
jmp 0x14004904b
xor eax, eax
tzcnt rax, rdi
xor eax, ebx
mov dword [rsp + r12*4 + 0xd0], eax
inc r12
blsr rdi, rdi
je 0x140049066
test rdi, rdi
jne 0x140049030
mov rcx, rsi
mov rdx, r15
mov r8d, 0xa4
vzeroupper
call fcn.14006f114
jmp 0x140049037
movzx ecx, byte [r13 + 0x40]
cmp rcx, 1
jbe 0x140049097
mov edx, ecx
xor eax, eax
cmp ebp, 1
sete al
mov edi, dword [rsp + 0xd0]
dec rcx
cmp dl, 2
jne 0x1400490d4
mov edx, 1
mov r10d, edi
jmp 0x140049166
mov edi, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x88]
mov edx, dword [rsp + 0x70]
cmp ebp, 1
je 0x1400491b8
and edi, 7
lea rax, [0x140ebbc38]
movzx edi, byte [rdi + rax]
cmp byte [rsp + 0x68], 0
jne 0x1400491c9
xor r8d, r8d
jmp 0x1400491eb
mov r8, rcx
and r8, 0xfffffffffffffffe
neg r8
mov edx, 1
mov r10, rax
shl r10, 6
lea r9, [0x140ebc660]
add r9, r10
mov r10d, edi
nop word [rax + rax]
movsxd r10, r10d
movzx r11d, byte [r10 + r9]
movsxd rsi, dword [rsp + rdx*4 + 0xd0]
cmp r11b, byte [rsi + r9]
mov r11d, esi
cmova r11d, r10d
mov dword [rsp + rdx*4 + 0xd0], r11d
cmova edi, esi
cmova r10d, esi
movsxd r10, r10d
movzx r11d, byte [r10 + r9]
movsxd rsi, dword [rsp + rdx*4 + 0xd4]
cmp r11b, byte [rsi + r9]
mov r11d, esi
cmova r11d, r10d
cmova edi, esi
cmova r10d, esi
mov dword [rsp + rdx*4 + 0xd4], r11d
lea r11, [r8 + rdx]
add r11, 2
add rdx, 2
cmp r11, 1
jne 0x140049100
test cl, 1
je 0x14004919c
movsxd rcx, r10d
shl rax, 6
lea r8, [0x140ebc660]
add r8, rax
movzx eax, byte [rcx + r8]
movsxd r9, dword [rsp + rdx*4 + 0xd0]
cmp al, byte [r9 + r8]
cmovbe ecx, r9d
mov dword [rsp + rdx*4 + 0xd0], ecx
cmova edi, r9d
mov dword [rsp + 0xd0], edi
mov rcx, qword [rsp + 0x88]
mov edx, dword [rsp + 0x70]
cmp ebp, 1
jne 0x1400490b3
add edi, 0xfffffff8
sar edi, 3
cmp byte [rsp + 0x68], 0
je 0x1400490cc
movsxd rax, edi
movzx r8d, byte [r13 + rax + 0x828]
test r8b, 1
sete al
xor al, dl
jne 0x1400491eb
cmp byte [r13 + 0x3c], 0
je 0x14004963c
test ebp, ebp
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x50], r14
je 0x14004920d
mov eax, edi
cmp ebp, 1
jne 0x140049213
lea eax, [rdi + 6]
test dl, dl
cmove eax, edi
jmp 0x140049213
movzx eax, dl
lea eax, [rdi + rax*4]
cdqe
lea rax, [rax + rax*4]
shl rax, 4
mov qword [rsp + 0x68], rax
movzx eax, byte [r13 + 0x3b]
cmp r12d, eax
jge 0x14004932a
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
lea r15, [rax + rcx]
add r15, 0x40
lea rbp, [0x140ebc284]
lea rsi, [0x140ebc25a]
lea r14, [0x140049700]
jmp 0x140049273
mov r13, qword [rsp + 0x60]
movzx eax, byte [r13 + 0x3b]
cmp r12d, eax
jge 0x14004932a
movsxd r12, r12d
movzx eax, byte [r15 + r12]
cmp al, 8
setb cl
and eax, 7
dec eax
cmp eax, 5
ja case.default.0x1400492a4
xor cl, byte [rsp + 0x38]
xor cl, 1
movzx ecx, cl
mov rdx, qword [rsp + 0x58]
mov r13, qword [rdx + rcx*8]
movsxd rax, dword [r14 + rax*4]
add rax, r14
jmp rax
and r13, qword [rdx + 0x38]
jmp 0x14004930f
lea rcx, [0x140ebc78a]
lea rdx, [0x140ebc760]
mov r8d, 0x7f
vzeroupper
call fcn.14006f114
xor r13d, r13d
jmp 0x14004930f
and r13, qword [rdx + 0x30]
jmp 0x14004930f
and r13, qword [rdx + 0x28]
jmp 0x14004930f
and r13, qword [rdx + 0x20]
jmp 0x14004930f
and r13, qword [rdx + 0x18]
jmp 0x14004930f
and r13, qword [rdx + 0x10]
jmp 0x14004930f
xor eax, eax
tzcnt rax, r13
xor eax, ebx
mov dword [rsp + r12*4 + 0xd0], eax
inc r12
blsr r13, r13
je 0x140049260
test r13, r13
jne 0x1400492f0
mov rcx, rbp
mov rdx, rsi
mov r8d, 0xa4
vzeroupper
call fcn.14006f114
jmp 0x1400492f7
mov rbx, qword [rsp + 0x50]
add rbx, qword [rsp + 0x68]
mov esi, dword [rsp + 0x40]
lea rcx, [rsp + 0xd0]
mov rdx, rbx
mov r8, r13
cmp esi, 1
jne 0x140049353
mov r9d, 2
jmp 0x140049359
mov r9d, 1
vzeroupper
call fcn.140046780
mov rcx, qword [rbx]
movzx edx, byte [rcx + 0x31]
test rdx, rdx
je 0x140048fb1
shrx r8, rax, rdx
bzhi eax, eax, edx
mov r9d, 0xffffffff
add edx, r9d
mov r9, 0xffffffffffffffff
shlx r9, r9, rdx
add r9d, eax
add r8d, r8d
lea eax, [r8 + r8*2]
mov r10, qword [rcx]
mov r8, qword [rcx + 8]
mov edx, dword [r10 + rax]
movzx eax, word [r10 + rax + 4]
add eax, r9d
js 0x1400493e0
movzx r9d, word [r8 + rdx*2]
cmp eax, r9d
jbe 0x1400493f0
nop word [rax + rax]
inc edx
not r9d
add eax, r9d
movzx r9d, word [r8 + rdx*2]
cmp eax, r9d
jg 0x1400493c0
jmp 0x1400493ee
dec edx
movzx r9d, word [r8 + rdx*2]
add eax, r9d
inc eax
js 0x1400493e0
mov edx, edx
movzx r8d, byte [rcx + 0x30]
shlx r11, rdx, r8
movzx r8d, byte [rcx + 0x32]
mov rsi, qword [rcx + 0x10]
mov r9, qword [rcx + 0x18]
mov rdx, qword [rcx + 0x20]
movbe r10, qword [rsi + r11]
lea r11, [rsi + r11 + 8]
mov qword [rsp + 0x58], r11
lea r11d, [r8 - 0x21]
mov dword [rsp + 0x38], r11d
mov ebx, r8d
dec ebx
mov r11d, 0x41
sub r11, r8
xor r13d, r13d
nop word cs:[rax + rax]
mov r12d, r13d
xor r15d, r15d
nop word cs:[rax + rax]
mov rsi, r15
inc r15
mov r13, r10
sub r13, qword [rcx + rsi*8 + 0x38]
jb 0x140049450
lea ebp, [r8 + r15]
dec ebp
movzx esi, word [r9 + rbp*2]
mov r14d, r11d
sub r14d, r15d
shrx r13, r13, r14
add r13d, esi
movzx esi, byte [rdx + r13]
cmp eax, esi
jle 0x1400494c4
not esi
add eax, esi
shlx r10, r10, rbp
lea esi, [rbx + r12]
lea r13d, [r15 + rsi]
cmp r13d, 0x20
jb 0x140049440
add r12d, dword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
movbe esi, dword [r14]
add r15d, r12d
add r14, 4
mov qword [rsp + 0x58], r14
shlx rsi, rsi, r15
or r10, rsi
mov r13d, r15d
jmp 0x140049440
mov rcx, qword [rcx + 0x28]
test esi, esi
je 0x140049532
mov esi, dword [rsp + 0x40]
jmp 0x1400494e5
test r10b, r10b
je 0x140049536
lea r9d, [r13 + r13*2]
movzx r8d, byte [rcx + r9 + 1]
mov r10d, r8d
and r10d, 0xf
shl r10, 8
movzx r13d, byte [rcx + r9]
or r13, r10
movzx r10d, byte [rdx + r13]
movzx r11d, r10b
cmp eax, r11d
jle 0x1400494e0
not r11d
add eax, r11d
movzx r9d, byte [rcx + r9 + 2]
shl r9, 4
shr r8, 4
or r8, r9
movzx r10d, byte [rdx + r8]
mov r13d, r8d
jmp 0x1400494e0
mov esi, dword [rsp + 0x40]
lea eax, [r13 + r13*2]
add rcx, rax
mov r13, qword [rsp + 0x60]
movzx r12d, byte [rcx]
test esi, esi
je 0x140048fc1
movzx eax, byte [rcx + 1]
and eax, 0xf
shl rax, 8
mov r12d, r12d
or r12, rax
cmp esi, 1
jne 0x1400495b0
cmp byte [r13 + 0x42], 0
jne 0x140047bc4
cmp byte [r13 + 0x3d], 0
je 0x14004964a
movsxd rax, edi
movzx ecx, byte [rsp + 0x70]
movsxd rdx, dword [rsp + 0x94]
lea rax, [rax*8]
add rax, r13
add r13, 0x7c8
lea rax, [rax + rcx*4]
lea rax, [rax + rdx*2]
add rax, 0x7d0
jmp 0x140049673
movsxd rax, dword [rsp + 0x94]
mov r9, qword [rsp + 0x88]
test r9b, 2
je 0x14004961f
lea rcx, [0x140ebc240]
movsxd rcx, dword [rcx + rax*4 + 8]
lea rdx, [r13 + 0x800]
cmp byte [r13 + 0x3d], 0
lea rcx, [r13 + rcx*2 + 0x1f0]
movsxd r8, edi
lea r8, [rcx + r8*8 + 0x618]
cmove r8, rcx
lea rcx, [r13 + 0x1e8]
cmove rdx, rcx
movzx r8d, word [r8]
mov ecx, r12d
add rcx, r8
mov rdx, qword [rdx]
test r9b, 0x10
jne 0x14004961a
movzx r12d, byte [rdx + rcx]
jmp 0x14004961f
movzx r12d, word [rdx + rcx*2]
lea rcx, [0x140ebc254]
test byte [rax + rcx + 2], r9b
sete cl
or al, cl
and al, 1
shlx r12d, r12d, eax
jmp 0x140047bc4
mov dword [rcx], 0xffffffff
xor r12d, r12d
jmp 0x140047bc4
movzx eax, byte [rsp + 0x70]
movsxd rcx, dword [rsp + 0x94]
lea rax, [rax*4]
add rax, r13
add r13, 0x1d8
lea rax, [rax + rcx*2]
add rax, 0x1e0
mov rcx, qword [r13]
movzx eax, word [rax]
add r12, rax
movzx r12d, word [rcx + r12*2]
jmp 0x140047bc4
lea rdi, [0x140ebc7cf]
jmp 0x140049697
lea rdi, [0x140ebc7f9]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov ecx, 2
call fcn.14006f608
mov rcx, rax
mov rdx, rdi
mov r8d, ebx
call fcn.140046060
mov ecx, 2
call fcn.14006f608
lea rdx, [0x140ebc7ae]
lea r8, [rsp + 0xb0]
mov rcx, rax
mov r9, qword [rsp + 0x38]
call fcn.140046060
mov ecx, 1
call fcn.14006fe14
int3