Function at 0x14008f654
Capabilities:
Access peb ldr_data
Encode data using xor
Execute anti-debugging instructions
Parse pe header
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1448]
mov eax, 0x1520
call fcn.140001080
sub rsp, rax
mov rax, qword [0x140148058]
xor rax, rsp
mov qword [rbp + 0x1410], rax
xor r14d, r14d
lea rax, [rbp + 0x490]
lea rdx, [0x140008cc0]
mov r9d, 0x20219
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x5d8], r14
mov qword [rbp + 0x5e0], r14
mov qword [rbp + 0x5e8], r14
mov qword [rbp + 0x490], r14
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea r15d, [r14 + 1]
test eax, eax
jne 0x14008f759
mov rcx, qword [rbp + 0x5d8]
mov eax, r14d
test rcx, rcx
je 0x14008f6f6
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp + 0x490]
mov qword [rbp + 0x5d8], rcx
test eax, eax
jne 0x14008f759
lea rax, [rbp + 0x448]
lea r9, [rbp + 0x110]
lea rdx, [0x140099ee8]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2c0]
xor r8d, r8d
mov dword [rbp + 0x2c0], r14d
mov dword [rbp + 0x448], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [rbp + 0x2c0], r15d
jne 0x14008f759
mov r14b, r15b
jmp 0x140099ea7
or edi, 0xffffffff
cmp dword [0x14014d200], r14d
mov dword [rbp + 0x2c4], r14d
mov dword [rbp + 0x118], edi
mov qword [rbp + 0x400], r14
mov dword [rbp + 0x100], r14d
mov ebx, 0x370
mov qword [rbp + 0x40], 0x20
jne 0x14008fd70
mov dword [rbp + 8], r14d
mov qword [rbp + 0x2e8], r14
mov qword [rbp + 0x4e0], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x2f8], rax
test rax, rax
je 0x14008fd3b
mov ebx, r14d
mov r13d, WSAGetLastError
mov ecx, r14d
mov r11d, r14d
mov dword [rbp + 0x10], r14d
lea r15, [rax + 7]
lea r14d, [r13 - 0x6d]
mov dword [rbp + 0x20], ebx
lea r12, [0x14000b8f2]
mov esi, edi
movzx eax, byte [r12 - 1]
movzx r10d, byte [r12 - 2]
movzx r9d, byte [r12 + 2]
shl r10d, 8
shl r9d, 8
mov r8d, 0xcf6704fb
or r10d, eax
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 5]
or r9d, eax
movzx eax, byte [r12 - 4]
xor ebx, r10d
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
xor r11d, ebx
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
imul edx, eax, 0xd6c9
mov eax, r11d
rol eax, 0xa
add edx, eax
xor ebx, edx
lea eax, [rbx - 0x59c22937]
ror eax, 9
imul edx, eax, 0xcf67
mov eax, ebx
rol eax, 2
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0xcf67
rol eax, 6
imul edx, eax, 0xa63d
mov eax, ebx
rol eax, 2
sub edx, eax
mov eax, 0xa63dd6c9
xor r11d, edx
mov edx, r11d
xor edx, r8d
sub eax, edx
xor ebx, eax
mov eax, ebx
mov edi, ebx
xor eax, 0xd6c9
ror edi, 6
imul edx, eax, 0xcf67
xor edi, edx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
imul edx, eax, 0x4fb
mov eax, r11d
rol eax, 2
add edx, eax
xor ebx, edx
lea eax, [rbx + 0x3098fb05]
ror eax, 0xe
imul edx, eax, 0xa63d
mov eax, ebx
rol eax, 8
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, r8d
mov edi, 0xa63dd6c9
ror eax, 0xc
imul edx, eax, 0xd6c9
mov eax, r11d
ror eax, 0xa
xor edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, ebx
shr eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edx, r11d
not eax
xor edx, r8d
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor ebx, eax
mov eax, edi
sub eax, edx
xor ebx, eax
lea eax, [rbx - 0x3098fb05]
rol eax, 3
imul edx, eax, 0xa63d
mov eax, ebx
rol eax, 6
add edx, eax
mov eax, r8d
xor r11d, edx
sub eax, r11d
ror eax, 9
imul edx, eax, 0xd6c9
mov eax, r11d
ror eax, 8
sub edx, eax
xor ebx, edx
xor r11d, ebx
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, ebx
mov ebx, 0xa63d
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add edx, eax
xor r11d, edx
mov eax, r11d
mov edi, r11d
xor eax, ebx
ror edi, 9
imul edx, eax, 0xd6c9
sub edx, edi
xor r8d, edx
mov eax, r8d
xor eax, ebx
imul edx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, r11d
xor eax, 0xcf67
imul edx, eax, 0x4fb
ror edi, 2
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
imul edx, eax, 0xd6c9
mov eax, r11d
rol eax, 0xb
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, ebx
rol eax, 2
imul edx, eax, 0xcf67
mov eax, r8d
rol eax, 0xc
add edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
imul edx, eax, 0x4fb
mov eax, r11d
xor r11d, esi
mov dword [rbp + 0x10], r11d
mov esi, r9d
rol eax, 0xe
add edx, eax
xor edx, ecx
mov ecx, r10d
xor r8d, edx
mov dword [rbp + 0x20], r8d
mov byte [r15 - 4], r8b
mov al, byte [rbp + 0x10]
ror dword [rbp + 0x20], 8
mov byte [r15], al
mov al, byte [rbp + 0x20]
ror dword [rbp + 0x10], 8
mov byte [r15 - 5], al
mov al, byte [rbp + 0x10]
ror dword [rbp + 0x20], 8
mov byte [r15 - 1], al
mov al, byte [rbp + 0x20]
ror dword [rbp + 0x10], 8
mov byte [r15 - 6], al
mov al, byte [rbp + 0x10]
ror dword [rbp + 0x20], 8
mov byte [r15 - 2], al
mov al, byte [rbp + 0x20]
ror dword [rbp + 0x10], 8
mov byte [r15 - 7], al
mov al, byte [rbp + 0x10]
mov byte [r15 - 3], al
mov ebx, dword [rbp + 0x20]
mov r11d, dword [rbp + 0x10]
lea r15, [r15 + 8]
ror r11d, 8
mov dword [rbp + 0x10], r11d
ror ebx, 8
mov dword [rbp + 0x20], ebx
sub r13, r14
jne 0x14008f7ee
mov rsi, qword [rbp + 0x2f8]
xor r14d, r14d
mov ebx, 0x370
mov eax, r14d
lea r15d, [r14 + 1]
mov cl, al
mov r13d, eax
xor cl, byte [rax + rsi]
add rax, r15
cmp rax, rbx
jb 0x14008fb17
movzx eax, cl
cmp rax, qword [0x14000bc60]
je 0x14008fb35
mov edi, 0xc004d501
jmp 0x14008fb48
mov qword [rbp + 0x2e8], rsi
mov rsi, r14
mov qword [rbp + 0x4e0], rbx
mov edi, esi
test rsi, rsi
je 0x14008fb61
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14008fd3b
mov rdi, qword [rbp + 0x2e8]
mov rax, qword [rbp + 0x4e0]
mov byte [rax + rdi - 1], r14b
cmp byte [rdi], r14b
je 0x14008fd41
mov r12d, 0xc000007b
xor eax, eax
mov qword [rbp + 0x538], r14
mov rsi, rdi
mov qword [rbp + 0x540], rax
mov qword [rbp + 0x548], rax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x14008fba9
lea rdi, [rdi + rax*2]
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
lea rbx, [rcx + 0x10]
mov rdx, qword [rbx]
cmp rdx, rbx
je 0x14008fcba
mov r11, qword [rdx + 0x60]
mov r10, rsi
movzx r9d, word [r11]
lea eax, [r9 - 0x41]
cmp ax, 0x19
ja 0x14008fbf4
mov eax, 0x20
lea ecx, [rax + r9]
jmp 0x14008fbf8
movzx ecx, r9w
movzx r8d, word [r10]
lea eax, [r8 - 0x41]
cmp ax, 0x19
movzx eax, r8w
ja 0x14008fc0e
add ax, word [rbp + 0x40]
movzx eax, ax
movzx ecx, cx
sub ecx, eax
jne 0x14008fc2c
add r11, 2
test r9w, r9w
je 0x14008fc3d
add r10, 2
test r8w, r8w
jne 0x14008fbdb
test ecx, ecx
js 0x14008fc38
cmovg ecx, r15d
test ecx, ecx
je 0x14008fc3d
mov rdx, qword [rdx]
jmp 0x14008fbcb
mov rcx, qword [rdx + 0x30]
mov ebx, r14d
mov qword [rbp + 0x538], rcx
mov eax, dword [rdx + 0x40]
mov dword [rbp + 0x540], eax
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x14008fc84
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x10000000
jae 0x14008fc84
mov rcx, rax
add rcx, qword [rbp + 0x538]
cmp rcx, qword [rbp + 0x538]
jb 0x14008fc84
cmp dword [rcx], 0x4550
je 0x14008fc89
mov ebx, r12d
jmp 0x14008fcb4
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14008fca6
mov ebx, 0xc000000d
jmp 0x14008fcb4
mov rax, qword [rcx + 0x88]
mov qword [rbp + 0x544], rax
test ebx, ebx
jns 0x14008fcc2
jmp 0x14008fcbf
mov ebx, 0xc000007a
mov r13d, ebx
mov eax, dword [rdi + 2]
add rdi, 6
test eax, eax
je 0x14008fd30
mov esi, eax
mov qword [rbp + 0x4f0], r14
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x14008fcdd
inc rdi
add rdi, rax
test ebx, ebx
js 0x14008fd27
lea r9, [rbp + 0x4f0]
lea r8, [rbp + 0x538]
xor edx, edx
call fcn.140104050
test eax, eax
jns 0x14008fd0e
mov r13d, eax
jmp 0x14008fd27
mov ecx, dword [rbp + 8]
mov rax, qword [rbp + 0x4f0]
lea rdx, [0x140000000]
mov qword [rdx + rcx*8 + 0x148d20], rax
add dword [rbp + 8], r15d
sub rsi, r15
jne 0x14008fccf
cmp byte [rdi], r14b
jne 0x14008fb8b
jmp 0x14008fd41
mov r13d, 0xc000007a
cmp qword [rbp + 0x2e8], r14
je 0x14008fd62
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x2e8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r13d, r13d
js 0x14008fd70
mov eax, r15d
xchg dword [0x14014d200], eax
or qword [rbp + 0x2f8], 0xffffffffffffffff
xor edx, edx
lea rcx, [rbp + 0x808]
lea r8d, [rdx + 0x20]
mov dword [rbp + 0x29c], r14d
mov dword [rbp + 0x190], r14d
mov qword [rbp + 0x208], r14
mov dword [rbp + 0xc8], r14d
call sub.msvcrt.dll_memset
lea rcx, [rbp + 0x380]
mov dword [rbp + 0x114], r14d
call fcn.140029e3c
lea rcx, [rbp + 0x370]
call fcn.140029e3c
mov rax, qword gs:[0x60]
mov r15d, r14d
mov esi, r14d
mov ebx, 0x80004005
cmp dword [rax + 0x2c0], r14d
je 0x140090089
mov rdi, qword [0x140148e48]
mov rcx, rdi
call qword [fcn.140015690]
call rdi
mov r13, rax
test rax, rax
jne 0x14008fe23
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140090090
mov esi, ebx
jmp 0x140090090
lea rcx, [rbp + 0x160]
call fcn.140029e3c
mov rdi, qword [rbp + 0x160]
mov r12d, r14d
mov rbx, qword [0x140148e68]
mov rcx, rbx
call qword [fcn.140015690]
lea rax, [rbp + 0x2c8]
mov r9d, r12d
mov r8, rdi
mov edx, 2
mov rcx, r13
mov qword [rsp + 0x20], rax
call rbx
test eax, eax
jne 0x14008feee
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x14008fed4
cmp qword [rbp + 0x160], r14
jne 0x14008fec9
mov edi, dword [rbp + 0x2c8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0x160]
mov rdi, rax
call fcn.140104374
test rdi, rdi
je 0x14008fec2
mov r12d, dword [rbp + 0x2c8]
mov qword [rbp + 0x160], rdi
jmp 0x14008fe39
mov esi, 0x8007000e
jmp 0x14008fefc
mov r12d, 0x80004005
mov esi, r12d
jmp 0x14008ff09
mov r12d, 0x80004005
test eax, eax
je 0x14008fecf
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
jmp 0x14008ff09
mov rax, qword [rbp + 0x160]
mov qword [rbp + 0x380], rax
mov r12d, 0x80004005
mov qword [rbp + 0x160], r14
lea rcx, [rbp + 0x160]
call fcn.140104374
test esi, esi
js 0x140090090
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov rbx, qword [0x140148e60]
mov rcx, rbx
mov edi, eax
call qword [fcn.140015690]
mov ecx, edi
call rbx
mov r13, rax
test rax, rax
jne 0x14008ff65
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140090090
mov esi, r12d
jmp 0x140090090
lea rcx, [rbp + 0x180]
call fcn.140029e3c
mov rdi, qword [rbp + 0x180]
mov esi, r14d
mov r12d, r14d
mov rbx, qword [0x140148e68]
mov rcx, rbx
call qword [fcn.140015690]
lea rax, [rbp + 0x2d0]
mov r9d, r12d
mov r8, rdi
mov edx, 2
mov rcx, r13
mov qword [rsp + 0x20], rax
call rbx
test eax, eax
jne 0x140090025
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140090011
cmp qword [rbp + 0x180], r14
jne 0x14009000a
mov edi, dword [rbp + 0x2d0]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0x180]
mov rdi, rax
call fcn.140104374
test rdi, rdi
je 0x140090003
mov r12d, dword [rbp + 0x2d0]
mov qword [rbp + 0x180], rdi
jmp 0x14008ff7e
mov esi, 0x8007000e
jmp 0x140090033
mov esi, 0x80004005
jmp 0x14009003a
test eax, eax
je 0x14009000a
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
jmp 0x14009003a
mov rax, qword [rbp + 0x180]
mov qword [rbp + 0x370], rax
mov qword [rbp + 0x180], r14
lea rcx, [rbp + 0x180]
call fcn.140104374
test esi, esi
js 0x140090090
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x140090089
lea rdx, [0x1400097a0]
call sub.msvcrt.dll_wcscmp
test eax, eax
jne 0x140090089
mov rcx, qword [rbp + 0x370]
test rcx, rcx
je 0x140090089
lea rdx, [0x1400097b0]
call sub.msvcrt.dll_wcscmp
test eax, eax
mov eax, 1
cmove r15d, eax
mov dword [rbp + 0xc8], r15d
lea rcx, [rbp + 0x370]
call fcn.140104374
lea rcx, [rbp + 0x380]
call fcn.140104374
test esi, esi
jns 0x1400900b5
mov dword [rbp + 0xc8], r14d
jmp 0x14009010f
mov rdi, qword [0x140148df0]
mov dword [rbp + 0x808], r14d
mov dword [rbp + 0x80c], 0x80000000
mov rcx, rdi
call qword [fcn.140015690]
lea rcx, [rbp + 0x808]
call rdi
mov rbx, rax
mov qword [rbp + 0x2f8], rax
cmp rax, 0xffffffffffffffff
je 0x14009010f
mov rdi, qword [0x140148df8]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 3
mov rcx, rbx
call rdi
mov dword [rbp + 0x114], eax
mov edx, 4
lea ecx, [rdx + 0x3c]
mov dword [rbp + 0x190], r14d
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
lea rcx, [rbp + 0x208]
mov rdi, rax
mov qword [rbp + 0x68], rax
call fcn.1401043ac
mov r12d, 0x8007007a
test rdi, rdi
jne 0x140090153
mov qword [rbp + 0x208], r14
lea r15d, [r12 - 0x6c]
jmp 0x140099dc8
xor eax, eax
mov qword [rbp + 0x208], rdi
mov edi, LoadRegTypeLib
mov qword [rbp - 0x80], rax
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0xb8], rax
lea rax, [0x14014a510]
mov r12, r14
mov qword [rsp + 0x68], r14
mov ebx, r14d
mov r13, r14
mov qword [rsp + 0x70], r14
mov qword [rbp + 0x638], rax
mov esi, r14d
mov qword [rsp + 0x78], 0
mov dword [rbp + 0x298], r14d
mov dword [rbp + 0xd0], r14d
mov qword [rbp + 0x500], rdi
mov r15d, r14d
mov dword [rsp + 0x60], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x1400901e9
mov r15d, 0xc0000017
mov dword [rsp + 0x60], r15d
jmp 0x14009020d
mov r8, qword [rbp + 0x500]
mov rdx, qword [rbp + 0x638]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov ebx, dword [rbp + 0x500]
mov r12, rdi
mov qword [rsp + 0x68], rdi
lea rax, [0x14014a658]
test r15d, r15d
js 0x1400935d0
mov edi, 8
mov qword [rbp + 0x5a8], rax
mov r15d, r14d
mov dword [rsp + 0x60], r14d
mov qword [rbp + 0x510], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rdi, rax
test rax, rax
jne 0x140090261
mov r15d, 0xc0000017
mov dword [rsp + 0x60], r15d
jmp 0x140090285
mov r8, qword [rbp + 0x510]
mov rdx, qword [rbp + 0x5a8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov esi, dword [rbp + 0x510]
mov r13, rdi
mov qword [rsp + 0x70], rdi
test r15d, r15d
js 0x1400935d0
rdtsc
shl rdx, 0x20
mov edi, 4
lea r8, [rbp + 0x488]
or rax, rdx
mov edx, edi
mov ecx, edi
mov dword [rbp - 0x34], r14d
mov qword [rbp + 0x508], rax
call fcn.1401043d0
mov edx, dword [rbp - 0x18]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x488]
mov dword [rbp - 0x18], edx
js 0x1400935d0
mov ecx, dword [rbp - 0x34]
lea r8, [rbp - 0x34]
call fcn.1401043d0
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x1400935d0
lea r8, [rbp + 0x44c]
mov edx, ebx
mov ecx, edi
call fcn.1401043d0
mov edx, dword [rbp - 0x18]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x44c]
mov dword [rbp - 0x18], edx
js 0x1400935d0
mov ecx, dword [rbp - 0x34]
lea r8, [rbp - 0x34]
call fcn.1401043d0
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x1400935d0
lea r8, [rbp + 0x480]
mov edx, esi
mov ecx, edi
call fcn.1401043d0
mov edx, dword [rbp - 0x18]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x480]
mov dword [rbp - 0x18], edx
js 0x1400935d0
mov ecx, dword [rbp - 0x34]
lea r8, [rbp - 0x34]
call fcn.1401043d0
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x1400935d0
lea r8, [rbp + 0x350]
lea edx, [rdi + 4]
mov ecx, edi
call fcn.1401043d0
mov edx, dword [rbp - 0x18]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x350]
mov dword [rbp - 0x18], edx
js 0x1400935d0
mov ecx, dword [rbp - 0x34]
lea r8, [rbp - 0x34]
call fcn.1401043d0
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x1400935d0
lea r8, [rbp + 0x4f8]
lea rcx, [0x140099f10]
mov edx, 0x7fffffff
call fcn.140104410
test eax, eax
jns 0x140090403
mov edx, dword [rbp - 0x18]
mov r15d, 0xc000003e
jmp 0x140090437
mov rax, qword [rbp + 0x4f8]
lea r8, [rbp + 0x464]
mov ecx, edi
inc rax
mov qword [rbp + 0x4f8], rax
lea edx, [rax + rax]
call fcn.1401043d0
mov edx, dword [rbp - 0x18]
test eax, eax
mov r15d, eax
cmovns edx, dword [rbp + 0x464]
mov dword [rbp - 0x18], edx
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x1400935d0
mov ecx, dword [rbp - 0x34]
lea r8, [rbp - 0x34]
call fcn.1401043d0
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x1400935d0
lea r8, [rbp + 0x358]
mov edx, edi
mov ecx, edi
call fcn.1401043d0
mov edx, dword [rbp - 0x18]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x358]
mov dword [rbp - 0x18], edx
js 0x1400935d0
mov ecx, dword [rbp - 0x34]
lea r8, [rbp - 0x34]
call fcn.1401043d0
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x1400935d0
lea r8, [rbp + 0x444]
mov edx, edi
mov ecx, edi
call fcn.1401043d0
mov edx, dword [rbp - 0x18]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x444]
mov dword [rbp - 0x18], edx
js 0x1400935d0
mov ecx, dword [rbp - 0x34]
lea r8, [rbp - 0x34]
call fcn.1401043d0
mov r15d, eax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x1400935d0
mov eax, dword [rbp - 0x34]
mov r15d, r14d
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x7c], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14009053a
mov r15d, 0xc0000017
mov dword [rsp + 0x60], r15d
jmp 0x140090543
mov qword [rbp - 0x80], rax
mov dword [rsp + 0x78], r14d
test r15d, r15d
js 0x1400935d0
lea rax, [rbp + 0x2e0]
mov dword [rbp + 0x2e0], r14d
test rax, rax
je 0x1400906ab
cmp qword [rbp - 0x80], r14
jne 0x1400905d1
mov edi, 4
lea r8, [rbp + 0x360]
mov edx, edi
mov ecx, edi
call fcn.1401043d0
mov edx, dword [rbp + 0x1a0]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x360]
mov dword [rbp + 0x1a0], edx
js 0x1400906b6
mov ecx, dword [rsp + 0x7c]
lea r8, [rsp + 0x7c]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400906b6
lea eax, [rdi - 3]
mov r15d, r14d
mov dword [rsp + 0x60], r14d
add dword [rsp + 0x78], eax
jmp 0x1400906b6
mov rcx, qword [rbp - 0x80]
mov edi, r14d
mov qword [rbp + 0x2a8], rcx
cmp dword [rsp + 0x78], r14d
jbe 0x14009064b
mov edx, dword [rcx]
lea r8, [rbp + 0x484]
mov ecx, 4
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1a0]
test r15d, r15d
cmovns eax, dword [rbp + 0x484]
mov dword [rbp + 0x1a0], eax
js 0x1400935d0
mov rcx, qword [rbp + 0x2a8]
lea r8, [rbp + 0x2a8]
mov edx, eax
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400906b6
mov rcx, qword [rbp + 0x2a8]
inc edi
cmp edi, dword [rsp + 0x78]
jb 0x1400905e6
mov edi, 4
lea r8, [rbp + 0x760]
mov edx, edi
mov dword [rbp + 0x758], edi
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400906b6
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rbp + 0x2a8]
add rcx, qword [rbp - 0x80]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x14009068f
mov r15d, 0xc0000023
jmp 0x1400906b1
mov dword [rdx], edi
mov eax, dword [rbp + 0x2e0]
mov rcx, qword [rbp + 0x760]
mov dword [rcx], eax
mov eax, 1
add dword [rsp + 0x78], eax
jmp 0x1400906b6
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x1400935d0
test r12, r12
jne 0x14009079c
test ebx, ebx
je 0x1400907a4
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
mov r12d, 1
test r15d, r15d
js 0x1400935d0
test r13, r13
jne 0x140090907
test esi, esi
je 0x14009090f
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x1400935d0
mov rax, qword [rbp + 0x508]
mov qword [rbp + 0x4a8], rax
lea rax, [rbp + 0x4a8]
test rax, rax
je 0x140090b46
cmp qword [rbp - 0x80], r14
jne 0x140090a67
mov edx, 8
lea r8, [rbp + 0x388]
lea ecx, [rdx - 4]
call fcn.1401043d0
mov edx, dword [rbp + 0x1a8]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x388]
mov dword [rbp + 0x1a8], edx
js 0x140090b51
mov ecx, dword [rsp + 0x7c]
lea r8, [rsp + 0x7c]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090b51
add dword [rsp + 0x78], r12d
mov r15d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x140090b51
test ebx, ebx
je 0x1400906d0
cmp qword [rbp - 0x80], r14
jne 0x140090814
lea r8, [rbp + 0x368]
mov edx, ebx
mov ecx, 4
call fcn.1401043d0
mov edx, dword [rbp + 0x1bc]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x368]
mov dword [rbp + 0x1bc], edx
js 0x1400906db
mov ecx, dword [rsp + 0x7c]
lea r8, [rsp + 0x7c]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400906db
mov r12d, 1
mov r15d, r14d
mov dword [rsp + 0x60], r14d
add dword [rsp + 0x78], r12d
jmp 0x1400906e1
mov rcx, qword [rbp - 0x80]
mov edi, r14d
mov qword [rbp + 0x270], rcx
cmp dword [rsp + 0x78], r14d
jbe 0x140090892
mov edx, dword [rcx]
lea r8, [rbp + 0x40c]
mov ecx, 4
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1bc]
test r15d, r15d
cmovns eax, dword [rbp + 0x40c]
mov dword [rbp + 0x1bc], eax
js 0x1400906db
mov rcx, qword [rbp + 0x270]
lea r8, [rbp + 0x270]
mov edx, eax
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400906db
mov rcx, qword [rbp + 0x270]
inc edi
cmp edi, dword [rsp + 0x78]
jb 0x140090829
lea r8, [rbp + 0x770]
mov edx, 4
mov dword [rbp + 0x768], ebx
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400906db
mov rdx, qword [rbp + 0x270]
mov ecx, dword [rsp + 0x7c]
mov r8d, ebx
add rcx, qword [rbp - 0x80]
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
jbe 0x1400908e1
mov r15d, 0xc0000023
jmp 0x1400906d6
mov dword [rdx], ebx
test r12, r12
je 0x1400908f7
mov rcx, qword [rbp + 0x770]
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov r12d, 1
add dword [rsp + 0x78], r12d
jmp 0x1400906e1
test esi, esi
je 0x1400906fb
cmp qword [rbp - 0x80], r14
jne 0x140090979
lea r8, [rbp + 0x378]
mov edx, esi
mov ecx, 4
call fcn.1401043d0
mov edx, dword [rbp + 0x1cc]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x378]
mov dword [rbp + 0x1cc], edx
js 0x140090706
mov ecx, dword [rsp + 0x7c]
lea r8, [rsp + 0x7c]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090706
add dword [rsp + 0x78], r12d
mov r15d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x140090706
mov rcx, qword [rbp - 0x80]
mov edi, r14d
mov qword [rbp + 0x2d8], rcx
cmp dword [rsp + 0x78], r14d
jbe 0x1400909f8
mov edx, dword [rcx]
lea r8, [rbp + 0x410]
mov ecx, 4
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1cc]
test r15d, r15d
cmovns eax, dword [rbp + 0x410]
mov dword [rbp + 0x1cc], eax
js 0x1400935d0
mov rcx, qword [rbp + 0x2d8]
lea r8, [rbp + 0x2d8]
mov edx, eax
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090706
mov rcx, qword [rbp + 0x2d8]
add edi, r12d
cmp edi, dword [rsp + 0x78]
jb 0x14009098e
lea r8, [rbp + 0x790]
mov edx, 4
mov dword [rbp + 0x788], esi
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090706
mov rdx, qword [rbp + 0x2d8]
mov ecx, dword [rsp + 0x7c]
mov r8d, esi
add rcx, qword [rbp - 0x80]
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
jbe 0x140090a47
mov r15d, 0xc0000023
jmp 0x140090701
mov dword [rdx], esi
test r13, r13
je 0x140090a5d
mov rcx, qword [rbp + 0x790]
mov rdx, r13
call sub.msvcrt.dll_memcpy
add dword [rsp + 0x78], r12d
jmp 0x140090706
mov rcx, qword [rbp - 0x80]
mov edi, r14d
mov qword [rbp + 0x280], rcx
cmp dword [rsp + 0x78], r14d
jbe 0x140090ae2
mov edx, dword [rcx]
lea r8, [rbp + 0x418]
mov ecx, 4
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1a8]
test r15d, r15d
cmovns eax, dword [rbp + 0x418]
mov dword [rbp + 0x1a8], eax
js 0x1400935d0
mov rcx, qword [rbp + 0x280]
lea r8, [rbp + 0x280]
mov edx, eax
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090b51
mov rcx, qword [rbp + 0x280]
add edi, r12d
cmp edi, dword [rsp + 0x78]
jb 0x140090a7c
lea r8, [rbp + 0x7b0]
mov edx, 4
mov dword [rbp + 0x7a8], 8
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090b51
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rbp + 0x280]
add rcx, qword [rbp - 0x80]
lea rax, [rdx + 0xc]
cmp rax, rcx
jbe 0x140090b28
mov r15d, 0xc0000023
jmp 0x140090b4c
mov dword [rdx], 8
mov rcx, qword [rbp + 0x7b0]
mov rax, qword [rbp + 0x4a8]
mov qword [rcx], rax
add dword [rsp + 0x78], r12d
jmp 0x140090b51
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x1400935d0
lea rsi, [0x140099f10]
lea r8, [rbp + 0x340]
mov edx, 0x7fffffff
mov rcx, rsi
call fcn.140104410
test eax, eax
jns 0x140090b81
mov r15d, 0xc000003e
jmp 0x140090bc2
mov rcx, qword [rbp + 0x340]
lea r8, [rbp + 0x340]
mov rdx, r12
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090bc7
mov eax, dword [rbp + 0x340]
lea edi, [rax + rax]
test rsi, rsi
jne 0x140090c5a
test edi, edi
je 0x140090c62
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x1400935d0
mov eax, dword [rbp + 0xc8]
mov dword [rbp + 0x290], eax
lea rax, [rbp + 0x290]
test rax, rax
je 0x140090e8b
cmp qword [rbp - 0x80], r14
jne 0x140090db4
mov edx, 4
lea r8, [rbp + 0x3a0]
mov ecx, edx
call fcn.1401043d0
mov edx, dword [rbp + 0x1b8]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x3a0]
mov dword [rbp + 0x1b8], edx
js 0x140090e96
mov ecx, dword [rsp + 0x7c]
lea r8, [rsp + 0x7c]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090e96
add dword [rsp + 0x78], r12d
mov r15d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x140090e96
test edi, edi
je 0x140090bbc
mov rcx, qword [rbp - 0x80]
test rcx, rcx
jne 0x140090ccf
lea r8, [rbp + 0x390]
mov edx, edi
mov ecx, 4
call fcn.1401043d0
mov edx, dword [rbp + 0x1c4]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x390]
mov dword [rbp + 0x1c4], edx
js 0x140090bc7
mov ecx, dword [rsp + 0x7c]
lea r8, [rsp + 0x7c]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090bc7
add dword [rsp + 0x78], r12d
mov r15d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x140090bc7
mov qword [rbp + 0x2b8], rcx
mov ebx, r14d
cmp dword [rsp + 0x78], r14d
jbe 0x140090d4a
mov edx, dword [rcx]
lea r8, [rbp + 0x420]
mov ecx, 4
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1c4]
test r15d, r15d
cmovns eax, dword [rbp + 0x420]
mov dword [rbp + 0x1c4], eax
js 0x1400935d0
mov rcx, qword [rbp + 0x2b8]
lea r8, [rbp + 0x2b8]
mov edx, eax
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090bc7
mov rcx, qword [rbp + 0x2b8]
add ebx, r12d
cmp ebx, dword [rsp + 0x78]
jb 0x140090ce0
lea r8, [rbp + 0x7d0]
mov edx, 4
mov dword [rbp + 0x7c8], edi
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090bc7
mov rdx, qword [rbp + 0x2b8]
mov ecx, dword [rsp + 0x7c]
mov r8d, edi
add rcx, qword [rbp - 0x80]
lea rax, [rdx + 4]
add rax, r8
cmp rax, rcx
jbe 0x140090d99
mov r15d, 0xc0000023
jmp 0x140090bc2
mov dword [rdx], edi
mov rcx, qword [rbp + 0x7d0]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
add dword [rsp + 0x78], r12d
jmp 0x140090bc7
mov rcx, qword [rbp - 0x80]
mov edi, r14d
mov qword [rbp + 0x238], rcx
cmp dword [rsp + 0x78], r14d
jbe 0x140090e2f
mov edx, dword [rcx]
lea r8, [rbp + 0x428]
mov ecx, 4
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1b8]
test r15d, r15d
cmovns eax, dword [rbp + 0x428]
mov dword [rbp + 0x1b8], eax
js 0x1400935d0
mov rcx, qword [rbp + 0x238]
lea r8, [rbp + 0x238]
mov edx, eax
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090e96
mov rcx, qword [rbp + 0x238]
add edi, r12d
cmp edi, dword [rsp + 0x78]
jb 0x140090dc9
mov edi, 4
lea r8, [rbp + 0x7a0]
mov edx, edi
mov dword [rbp + 0x798], edi
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140090e96
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rbp + 0x238]
add rcx, qword [rbp - 0x80]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x140090e73
mov r15d, 0xc0000023
jmp 0x140090e91
mov dword [rdx], edi
mov rcx, qword [rbp + 0x7a0]
mov eax, dword [rbp + 0x290]
mov dword [rcx], eax
add dword [rsp + 0x78], r12d
jmp 0x140090e96
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x1400935d0
lea rax, [rbp + 0x2a0]
mov dword [rbp + 0x2a0], 4
test rax, rax
je 0x140091000
cmp qword [rbp - 0x80], r14
jne 0x140090f23
mov edx, 4
lea r8, [rbp + 0x3b0]
mov ecx, edx
call fcn.1401043d0
mov edx, dword [rbp + 0x1c8]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x3b0]
mov dword [rbp + 0x1c8], edx
js 0x14009100b
mov ecx, dword [rsp + 0x7c]
lea r8, [rsp + 0x7c]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14009100b
add dword [rsp + 0x78], r12d
mov r15d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x14009100b
mov rcx, qword [rbp - 0x80]
mov edi, r14d
mov qword [rbp + 0x240], rcx
cmp dword [rsp + 0x78], r14d
jbe 0x140090f9e
mov edx, dword [rcx]
lea r8, [rbp + 0x430]
mov ecx, 4
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1c8]
test r15d, r15d
cmovns eax, dword [rbp + 0x430]
mov dword [rbp + 0x1c8], eax
js 0x1400935d0
mov rcx, qword [rbp + 0x240]
lea r8, [rbp + 0x240]
mov edx, eax
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14009100b
mov rcx, qword [rbp + 0x240]
add edi, r12d
cmp edi, dword [rsp + 0x78]
jb 0x140090f38
lea r8, [rbp + 0x7f0]
mov edx, 4
mov dword [rbp + 0x7e8], 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14009100b
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rbp + 0x240]
add rcx, qword [rbp - 0x80]
lea rax, [rdx + 8]
cmp rax, rcx
jbe 0x140090fe4
mov r15d, 0xc0000023
jmp 0x140091006
mov dword [rdx], 4
mov rcx, qword [rbp + 0x7f0]
mov eax, dword [rbp + 0x2a0]
mov dword [rcx], eax
add dword [rsp + 0x78], r12d
jmp 0x14009100b
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x1400935d0
mov edx, 4
lea r8, [rbp + 0x3c0]
mov ecx, edx
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x38]
test r15d, r15d
cmovns eax, dword [rbp + 0x3c0]
mov dword [rbp + 0x38], eax
js 0x1400911b5
mov edx, 8
lea r8, [rbp + 0x438]
mov dword [rbp + 0x34], eax
lea ecx, [rdx - 4]
call fcn.1401043d0
mov edx, dword [rbp + 0x38]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x438]
mov dword [rbp + 0x38], edx
js 0x1400911b5
mov ecx, dword [rbp + 0x34]
lea r8, [rbp + 0x34]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400911b5
mov edx, 4
lea r8, [rbp + 0x3d0]
mov ecx, edx
call fcn.1401043d0
mov edx, dword [rbp + 0x38]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x3d0]
mov dword [rbp + 0x38], edx
js 0x1400911b5
mov ecx, dword [rbp + 0x34]
lea r8, [rbp + 0x34]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400911b5
mov edx, 4
lea r8, [rbp + 0x440]
mov ecx, edx
call fcn.1401043d0
mov edx, dword [rbp + 0x38]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x440]
mov dword [rbp + 0x38], edx
js 0x1400911b5
mov ecx, dword [rbp + 0x34]
lea r8, [rbp + 0x34]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400911b5
mov edx, 4
lea r8, [rbp + 0x3d8]
mov ecx, edx
call fcn.1401043d0
mov edx, dword [rbp + 0x38]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x3d8]
mov dword [rbp + 0x38], edx
js 0x1400911b5
mov ecx, dword [rbp + 0x34]
lea r8, [rbp + 0x34]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x1400911b5
mov edx, 4
lea r8, [rbp + 0x1d4]
mov ecx, edx
call fcn.1401043d0
mov edx, dword [rbp + 0x38]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x60], eax
cmovns edx, dword [rbp + 0x1d4]
mov dword [rbp + 0x38], edx
js 0x1400911b5
mov ecx, dword [rbp + 0x34]
lea r8, [rbp + 0x34]
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x1d4]
test r15d, r15d
cmovns eax, dword [rbp + 0x34]
jmp 0x1400911bb
mov eax, dword [rbp + 0x1d4]
mov dword [rbp + 0x50], eax
test r15d, r15d
js 0x1400935d0
mov r12, r14
mov qword [rbp + 0xc0], r14
mov esi, r14d
mov qword [rbp + 0x320], r14
mov qword [rbp + 0xd8], r14
mov r13d, r14d
mov dword [rbp - 0x70], r14d
mov qword [rbp + 0x90], r14
mov dword [rbp + 0xcc], r14d
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x28], r14
mov dword [rbp + 0x288], r14d
mov qword [rbp + 0x530], r14
rdtsc
shl rdx, 0x20
lea r8, [rbp + 0xe8]
mov ecx, 8
or rax, rdx
mov edx, dword [rsp + 0x7c]
mov rbx, r14
mov dword [rbp + 0xe8], 8
mov qword [rbp + 0x530], rax
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x140091356
mov ecx, dword [rbp + 0xe8]
mov r15d, r14d
lea rax, [rcx + 7]
and eax, 0xfffffff8
cmp eax, ecx
jae 0x140091266
mov r15d, 0xc0000095
jmp 0x14009126e
mov ecx, eax
mov dword [rbp + 0xe8], eax
test r15d, r15d
js 0x140091356
mov r15d, r14d
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400912a0
mov r15d, 0xc0000017
jmp 0x1400912a3
mov rbx, rax
test r15d, r15d
js 0x14009133d
mov eax, dword [rsp + 0x78]
mov qword [rbp + 0x1e8], rbx
mov edi, 4
mov dword [rbx], eax
mov rcx, qword [rbp + 0x1e8]
lea r8, [rbp + 0x1e8]
mov edx, edi
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x14009133d
mov rcx, qword [rbp + 0x1e8]
mov eax, dword [rsp + 0x7c]
lea r8, [rbp + 0x1e8]
mov dword [rcx], eax
mov rcx, qword [rbp + 0x1e8]
mov edx, edi
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x14009133d
mov ecx, dword [rbp + 0xe8]
mov rax, qword [rbp + 0x530]
mov qword [rcx + rbx - 8], rax
mov r8d, dword [rsp + 0x7c]
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rbp + 0x1e8]
call sub.msvcrt.dll_memcpy
mov esi, dword [rbp + 0xe8]
mov r12, rbx
mov qword [rbp + 0xc0], rbx
mov rbx, r14
test rbx, rbx
je 0x140091356
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140092e31
mov qword [rbp + 0x6d0], r14
mov qword [rbp + 0x6e0], r14
mov qword [rbp + 0x6f0], r14
mov qword [rbp + 0x700], r14
mov qword [rbp + 0x318], r14
mov qword [rbp + 0x6c0], r14
mov rbx, r14
test r12, r12
jne 0x1400913a5
mov r15d, 0xc000000d
jmp 0x140091b1b
mov qword [rbp + 0x98], rsi
test rsi, rsi
je 0x140091a71
lea rdi, [rsi + 8]
mov qword [rbp + 8], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x78], rax
test rax, rax
je 0x140091a71
mov dl, r14b
mov rcx, r14
mov r15d, 1
test rsi, rsi
je 0x1400913fb
xor dl, byte [r12 + rcx]
add rcx, r15
cmp rcx, rsi
jb 0x1400913ef
or r11d, 0xffffffff
mov rdi, rsi
mov r9, r12
mov r10, rax
mov r8d, r14d
mov dword [rbp - 0x30], r14d
mov dword [rbp - 0x44], r11d
mov r12d, r14d
and edi, 7
je 0x1400914db
mov r11d, r14d
test edi, edi
jle 0x140091458
mov r8d, 0x38
movzx eax, byte [r9]
cmp r11d, 4
jge 0x140091441
lea ecx, [r8 - 0x20]
shl eax, cl
or r13d, eax
jmp 0x140091449
mov ecx, r8d
shl eax, cl
or r12d, eax
add r11d, r15d
add r9, r15
sub r8d, 8
cmp r11d, edi
jl 0x14009142c
mov r8d, r13d
mov r11d, r12d
mov eax, r14d
xor r8d, 0xfd02377a
xor r11d, 0xb47589d0
mov dword [rbp - 0x30], r8d
mov dword [rbp - 0x44], r11d
test edi, edi
jle 0x1400914a2
cmp eax, 4
jge 0x140091489
rol r8d, 8
mov byte [r10], r8b
jmp 0x140091490
rol r11d, 8
mov byte [r10], r11b
add eax, r15d
add r10, r15
cmp eax, edi
jl 0x14009147b
mov r8d, dword [rbp - 0x30]
mov r11d, dword [rbp - 0x44]
lea eax, [rdi - 4]
test eax, eax
jle 0x1400914bf
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x44], r11d
jmp 0x1400914db
mov r11d, r14d
mov dword [rbp - 0x44], r14d
test eax, eax
jns 0x1400914db
neg eax
shl eax, 3
mov ecx, eax
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x30], r8d
mov r15, rsi
shr r15, 3
test r15, r15
je 0x140091813
lea rbx, [r10 + 7]
lea rsi, [r9 + 2]
mov r14d, 1
movzx eax, byte [rsi - 1]
movzx r10d, byte [rsi - 2]
movzx r9d, byte [rsi + 2]
shl r10d, 8
shl r9d, 8
or r10d, eax
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [rsi - 5]
or r9d, eax
movzx eax, byte [rsi - 4]
mov edi, r10d
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
xor edi, r11d
xor edi, r8d
mov r8d, 0xf71490ec
xor edi, 0x2c824960
lea eax, [rdi + 0x24692674]
ror eax, 2
imul ecx, eax, 0xf714
mov eax, edi
ror eax, 0x10
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, r8d
ror eax, 0xb
imul ecx, eax, 0xd98c
mov eax, r11d
rol eax, 4
add ecx, eax
xor edi, ecx
mov eax, edi
xor eax, r8d
rol eax, 7
imul ecx, eax, 0xdb96
mov eax, edi
rol eax, 5
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xd98c
rol eax, 6
imul ecx, eax, 0x90ec
mov eax, r11d
rol eax, 8
sub ecx, eax
mov eax, r8d
xor edi, ecx
mov ecx, edi
xor ecx, 0xdb96d98c
sub eax, ecx
xor r11d, eax
mov eax, r11d
not eax
ror eax, 4
add eax, 0xd98c
imul eax, eax, 0xdb96
xor edi, eax
lea eax, [rdi - 0x8eb6f14]
ror eax, 8
imul ecx, eax, 0xdb96
mov eax, edi
ror eax, 2
add ecx, eax
mov eax, 0xdb96d98c
xor r11d, ecx
lea r8d, [r11 - 0x90ec]
xor r8d, edi
xor r8d, eax
sub eax, r8d
rol eax, 0xe
imul ecx, eax, 0xf714
mov eax, r8d
ror eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xdb96]
rol eax, 2
imul ecx, eax, 0xd98c
mov eax, r11d
shr eax, 0xd
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xdb96
mov eax, r8d
shr eax, 0xc
sub ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x24689588]
xor r8d, eax
lea eax, [r11 - 0xd98c]
rol eax, 3
imul ecx, eax, 0x90ec
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xf714
mov eax, r8d
shr eax, 0xd
sub ecx, eax
mov eax, 0xf71490ec
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0xd98c
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8ea937e]
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0xf714
imul ecx, eax, 0x90ec
ror edi, 7
sub ecx, edi
mov edi, 0xdb96d98c
xor r8d, ecx
mov eax, r8d
xor eax, 0xdb96
rol eax, 4
imul ecx, eax, 0xf714
mov eax, r8d
ror eax, 0x10
sub ecx, eax
mov eax, 0xf71490ec
xor r11d, ecx
sub eax, r11d
ror eax, 0xa
imul ecx, eax, 0xd98c
mov eax, r11d
ror eax, 4
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8eb6f14]
ror eax, 4
imul ecx, eax, 0xdb96
mov eax, r8d
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, edi
rol eax, 8
imul ecx, eax, 0x90ec
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, edi
xor r8d, ecx
sub eax, r8d
ror eax, 0xb
imul ecx, eax, 0xf714
mov eax, r8d
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0xd98c
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r8d, r13d
mov r13d, r10d
mov dword [rbp - 0x30], r8d
xor r11d, 0x2c824960
xor r11d, r12d
mov r12d, r9d
mov dword [rbp - 0x44], r11d
mov byte [rbx - 4], r8b
mov al, byte [rbp - 0x44]
ror dword [rbp - 0x30], 8
mov byte [rbx], al
mov al, byte [rbp - 0x30]
ror dword [rbp - 0x44], 8
mov byte [rbx - 5], al
mov al, byte [rbp - 0x44]
ror dword [rbp - 0x30], 8
mov byte [rbx - 1], al
mov al, byte [rbp - 0x30]
ror dword [rbp - 0x44], 8
mov byte [rbx - 6], al
mov al, byte [rbp - 0x44]
ror dword [rbp - 0x30], 8
mov byte [rbx - 2], al
mov al, byte [rbp - 0x30]
ror dword [rbp - 0x44], 8
mov byte [rbx - 7], al
mov al, byte [rbp - 0x44]
mov byte [rbx - 3], al
mov r8d, dword [rbp - 0x30]
mov r11d, dword [rbp - 0x44]
lea rbx, [rbx + 8]
ror r11d, 8
mov dword [rbp - 0x44], r11d
ror r8d, 8
mov dword [rbp - 0x30], r8d
sub r15, r14
jne 0x1400914f9
mov rsi, qword [rbp + 0x98]
xor r14d, r14d
mov ebx, r14d
mov r12, qword [rbp - 0x78]
movzx eax, dl
lea r13, [0x14014a5b0]
mov qword [r12 + rsi], rax
mov rsi, qword [rbp + 8]
lea rax, [0x14014a650]
mov qword [rbp + 0x318], r12
mov qword [rbp + 0x6d0], rax
mov qword [rbp + 0x6c0], rsi
mov qword [rbp + 0x6e0], 8
mov qword [rbp + 0x6f0], r13
mov qword [rbp + 0x700], LoadRegTypeLib
mov rdi, r14
mov r15d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14009188d
mov r15d, 0xc0000017
jmp 0x140091890
mov rdi, rax
test r15d, r15d
js 0x1400919e0
mov dword [rdi], esi
mov r15d, r14d
mov esi, esi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400918c4
mov r15d, 0xc0000017
jmp 0x1400918c8
mov qword [rdi + 8], rax
test r15d, r15d
js 0x1400919e0
mov rcx, qword [rdi + 8]
mov r8, rsi
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov r12d, LoadRegTypeLib
mov r15d, r14d
mov dword [rdi + 0x10], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov esi, 8
mov r8d, r12d
mov edx, esi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140091913
mov r15d, 0xc0000017
jmp 0x140091917
mov qword [rdi + 0x18], rax
test r15d, r15d
js 0x1400919e0
mov rcx, qword [rdi + 0x18]
mov rax, r13
mov rdx, r13
or rax, rcx
and eax, 0xf
jne 0x140091994
mov eax, 1
lea r8d, [rax + 0x7f]
movaps xmm0, xmmword [rdx]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rcx + 0x10], xmm1
movaps xmm0, xmmword [rdx + 0x20]
movaps xmmword [rcx + 0x20], xmm0
movaps xmm1, xmmword [rdx + 0x30]
movaps xmmword [rcx + 0x30], xmm1
movaps xmm0, xmmword [rdx + 0x40]
movaps xmmword [rcx + 0x40], xmm0
movaps xmm1, xmmword [rdx + 0x50]
movaps xmmword [rcx + 0x50], xmm1
movaps xmm0, xmmword [rdx + 0x60]
movaps xmmword [rcx + 0x60], xmm0
movaps xmm1, xmmword [rdx + 0x70]
add rcx, r8
add rdx, r8
movaps xmmword [rcx - 0x10], xmm1
dec rax
jne 0x14009193b
movaps xmm0, xmmword [rdx]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rcx + 0x10], xmm1
jmp 0x14009199c
mov r8, r12
call sub.msvcrt.dll_memcpy
mov dword [rdi + 0x20], esi
mov r15d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
mov edx, esi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400919c3
mov r15d, 0xc0000017
jmp 0x1400919c7
mov qword [rdi + 0x28], rax
test r15d, r15d
js 0x1400919e0
mov rcx, qword [rdi + 0x28]
mov rax, qword [0x14014a650]
mov rbx, rdi
mov qword [rcx], rax
mov rdi, r14
test rdi, rdi
je 0x140091a5c
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x140091a06
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x140091a27
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x140091a48
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, dword [rbp - 0x70]
test r15d, r15d
js 0x140091a77
mov qword [rbp + 0x320], rbx
mov rbx, r14
jmp 0x140091a77
mov r15d, 0xc0000001
cmp qword [rbp + 0x318], r14
je 0x140091a9f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x318]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x318], r14
test rbx, rbx
je 0x140091b1b
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x140091ac5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x140091ae6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x140091b07
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140092e31
mov rbx, qword [rbp + 0x320]
lea r8, [rbp + 0x60]
mov ecx, 4
mov edx, dword [rbx]
mov r12d, dword [rbx + 0x20]
mov edi, dword [rbx + 0x10]
mov rsi, r14
mov dword [rbp + 0x60], 4
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x140091bc8
mov ecx, dword [rbp + 0x60]
lea r8, [rbp + 0x60]
mov edx, 4
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x140091bc8
mov ecx, dword [rbp + 0x60]
lea r8, [rbp + 0x60]
mov edx, edi
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x140091bc8
mov ecx, dword [rbp + 0x60]
lea r8, [rbp + 0x60]
mov edx, 4
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x140091bc8
mov ecx, dword [rbp + 0x60]
lea r8, [rbp + 0x60]
mov edx, r12d
call fcn.1401043d0
mov r15d, eax
mov eax, dword [rbp + 0x1d8]
test r15d, r15d
cmovns eax, dword [rbp + 0x60]
mov dword [rbp + 0x1d8], eax
jmp 0x140091bce
mov eax, dword [rbp + 0x1d8]
test r15d, r15d
js 0x140091d4f
mov r15d, r14d
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140091c00
mov r15d, 0xc0000017
jmp 0x140091c03
mov rsi, rax
test r15d, r15d
js 0x140091d36
mov qword [rbp + 0x80], rsi
mov eax, dword [rbx]
mov edi, 4
mov dword [rsi], eax
mov rcx, qword [rbp + 0x80]
lea r8, [rbp + 0x80]
mov edx, edi
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140091d36
mov r8d, dword [rbx]
mov rdx, qword [rbx + 8]
mov rcx, qword [rbp + 0x80]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx]
mov rcx, qword [rbp + 0x80]
lea r8, [rbp + 0x80]
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140091d36
mov ecx, dword [rbx + 0x10]
mov rax, qword [rbp + 0x80]
lea r8, [rbp + 0x80]
mov dword [rax], ecx
mov rcx, qword [rbp + 0x80]
mov edx, edi
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140091d36
mov r8d, dword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbp + 0x80]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx + 0x10]
mov rcx, qword [rbp + 0x80]
lea r8, [rbp + 0x80]
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140091d36
mov ecx, dword [rbx + 0x20]
mov rax, qword [rbp + 0x80]
lea r8, [rbp + 0x80]
mov dword [rax], ecx
mov rcx, qword [rbp + 0x80]
mov edx, edi
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140091d36
mov r8d, dword [rbx + 0x20]
mov rdx, qword [rbx + 0x28]
mov rcx, qword [rbp + 0x80]
call sub.msvcrt.dll_memcpy
mov edx, dword [rbx + 0x20]
mov rcx, qword [rbp + 0x80]
lea r8, [rbp + 0x80]
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140091d36
mov r13d, dword [rbp + 0x1d8]
mov qword [rbp + 0xd8], rsi
mov rsi, r14
test rsi, rsi
je 0x140091d4f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, 0x10000000
or r15d, edi
mov dword [rsp + 0x60], r15d
jl 0x140092e31
mov edx, dword [rbp + 0x50]
lea r8, [rbp + 0x1a4]
mov ecx, 8
mov qword [rbp + 0x6b0], r14
mov dword [rbp + 0x218], r14d
mov qword [rbp + 0x670], r14
mov dword [rbp + 0x230], r14d
mov dword [rbp + 0x1a4], 8
call fcn.1401043d0
mov r15d, eax
or r15d, edi
mov dword [rsp + 0x60], r15d
jl 0x14009206e
mov eax, dword [rbp + 0x1a4]
mov r15d, r14d
mov dword [rsp + 0x60], r14d
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x1a4]
jae 0x140091ddd
mov eax, dword [rbp + 0x198]
mov r15d, 0xc0000095
mov dword [rsp + 0x60], r15d
jmp 0x140091de3
mov dword [rbp + 0x198], eax
test r15d, r15d
js 0x140092e31
lea r8, [rbp + 0x198]
mov edx, 8
mov ecx, eax
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x26c]
test r15d, r15d
cmovns eax, dword [rbp + 0x198]
mov dword [rbp + 0x26c], eax
js 0x140092e31
mov r12d, 1
lea esi, [r12 + 3]
cmp qword [rbp - 0x80], r14
jne 0x140091e43
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140091ee0
cmp dword [rsp + 0x78], r12d
jbe 0x140091e33
mov rcx, qword [rbp - 0x80]
mov edi, r14d
mov qword [rbp + 0x150], rcx
mov ebx, dword [rcx]
lea r8, [rbp + 0x150]
mov rdx, rsi
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140091ee0
mov rcx, qword [rbp + 0x150]
lea r8, [rbp + 0x150]
mov edx, ebx
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140091ee0
mov rcx, qword [rbp + 0x150]
add edi, r12d
cmp edi, r12d
jb 0x140091e58
mov edi, dword [rcx]
lea r8, [rbp + 0x150]
mov rdx, rsi
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140091ee0
mov rax, qword [rbp + 0x150]
test edi, edi
mov dword [rbp + 0x218], edi
cmove rax, r14
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x6b0], rax
test r15d, r15d
js 0x140092e31
cmp qword [rbp - 0x80], r14
jne 0x140091eff
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140091f9c
cmp dword [rsp + 0x78], 2
jbe 0x140091eef
mov rcx, qword [rbp - 0x80]
mov edi, r14d
mov qword [rbp + 0x148], rcx
mov ebx, dword [rcx]
lea r8, [rbp + 0x148]
mov rdx, rsi
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140091f9c
mov rcx, qword [rbp + 0x148]
lea r8, [rbp + 0x148]
mov edx, ebx
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140091f9c
mov rcx, qword [rbp + 0x148]
add edi, r12d
cmp edi, 2
jb 0x140091f14
mov edi, dword [rcx]
lea r8, [rbp + 0x148]
mov rdx, rsi
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140091f9c
mov rax, qword [rbp + 0x148]
test edi, edi
mov dword [rbp + 0x230], edi
cmove rax, r14
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x670], rax
test r15d, r15d
js 0x140092e31
mov edx, dword [rbp + 0x26c]
mov ebx, dword [rbp + 0x230]
mov edi, dword [rbp + 0x218]
lea r8, [rbp + 0x58]
mov ecx, esi
mov dword [rbp + 0x58], esi
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140092045
mov ecx, dword [rbp + 0x58]
lea r8, [rbp + 0x58]
mov edx, esi
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140092045
mov ecx, dword [rbp + 0x58]
lea r8, [rbp + 0x58]
mov edx, edi
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140092045
mov ecx, dword [rbp + 0x58]
lea r8, [rbp + 0x58]
mov edx, esi
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140092045
mov ecx, dword [rbp + 0x58]
lea r8, [rbp + 0x58]
mov edx, ebx
call fcn.1401043d0
mov r15d, eax
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x24c]
test r15d, r15d
cmovns eax, dword [rbp + 0x58]
mov dword [rbp + 0x24c], eax
jmp 0x14009204b
mov eax, dword [rbp + 0x24c]
test r15d, r15d
js 0x140092e31
cmp eax, 0x400000
jbe 0x140092068
mov r15d, 0x8000ffff
mov dword [rsp + 0x60], r15d
jmp 0x14009206e
mov dword [rbp + 0xcc], eax
test r15d, r15d
js 0x140092e31
mov edi, dword [rbp + 0xcc]
mov r15d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400920a7
mov r15d, 0xc0000017
mov r12, r14
jmp 0x1400920b1
mov r12, rax
mov qword [rbp + 0x90], rax
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140092e31
mov rbx, qword [rbp + 0xd8]
test rbx, rbx
jne 0x140092111
mov r15d, 0x80070057
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x140092e31
mov edi, dword [rbp + 0xcc]
mov r13d, 4
mov rbx, r14
mov dword [rbp - 0x48], r14d
mov qword [rbp + 0xf0], r12
cmp edi, r13d
jae 0x140092201
mov r15d, 0xc000003e
jmp 0x14009260e
test r12, r12
je 0x1400920cf
lea r8, [rbp + 0x5c0]
lea rdx, [0x140009708]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
jne 0x140092160
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
mov dword [rsp + 0x60], r15d
test r15d, r15d
js 0x1400921e3
mov r15d, 0x80004005
jmp 0x1400921de
mov rcx, qword [rbp + 0x5c0]
lea rdx, [0x140009720]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x140092133
mov eax, dword [rbp + 0xcc]
mov rcx, rdi
mov qword [rbp + 0x728], rbx
mov dword [rbp + 0x738], r13d
mov qword [rbp + 0x730], r12
mov dword [rbp + 0x740], r14d
mov dword [rbp + 0x73c], eax
call qword [fcn.140015690]
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp + 0x728]
lea ecx, [r8 + 0x66]
call rdi
mov r15d, eax
mov eax, dword [rbp + 0xcc]
or r15d, 0x10000000
cmovge eax, dword [rbp + 0x73c]
mov dword [rbp + 0xcc], eax
mov dword [rsp + 0x60], r15d
cmp r15d, 0xd0000023
jne 0x1400920da
mov esi, 0x8007007a
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x140092e36
mov esi, dword [r12]
lea r8, [rbp + 0xf0]
mov rdx, r13
mov rcx, r12
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x14009260e
mov ecx, dword [rbp - 0x48]
lea r8, [rbp - 0x48]
mov edx, r13d
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x14009260e
mov eax, edi
sub eax, dword [rbp - 0x48]
cmp eax, esi
jb 0x140092106
mov rax, qword [rbp + 0xf0]
lea r8, [rbp + 0xf0]
mov edx, esi
mov rcx, rax
mov qword [rbp + 0x98], rax
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x14009260e
mov ecx, dword [rbp - 0x48]
lea r8, [rbp - 0x48]
mov edx, esi
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x14009260e
mov eax, edi
sub eax, dword [rbp - 0x48]
cmp eax, r13d
jb 0x140092106
mov rcx, qword [rbp + 0xf0]
lea r8, [rbp + 0xf0]
mov rdx, r13
mov r12d, dword [rcx]
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x14009260e
mov ecx, dword [rbp - 0x48]
lea r8, [rbp - 0x48]
mov edx, r13d
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x14009260e
mov eax, edi
sub eax, dword [rbp - 0x48]
cmp eax, r12d
jb 0x140092106
mov rax, qword [rbp + 0xf0]
lea r8, [rbp + 0xf0]
mov edx, r12d
mov rcx, rax
mov qword [rbp - 0x70], rax
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x14009260e
mov ecx, dword [rbp - 0x48]
lea r8, [rbp - 0x48]
mov edx, r12d
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x14009260e
mov eax, edi
sub eax, dword [rbp - 0x48]
cmp eax, r13d
jb 0x140092106
mov rcx, qword [rbp + 0xf0]
lea r8, [rbp + 0xf0]
mov edx, 4
mov r13d, dword [rcx]
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x14009260e
mov ecx, dword [rbp - 0x48]
lea r8, [rbp - 0x48]
mov edx, 4
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x14009260e
mov ecx, dword [rbp - 0x48]
mov eax, edi
sub eax, ecx
cmp eax, r13d
jb 0x140092106
mov rax, qword [rbp + 0xf0]
lea r8, [rbp - 0x48]
mov edx, r13d
mov qword [rbp + 8], rax
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x14009260e
cmp edi, dword [rbp - 0x48]
jne 0x140092106
lea ecx, [r12 + r13]
add ecx, esi
add rcx, 0xc
cmp rcx, rdi
jne 0x140092106
mov rdi, r14
mov r15d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400923f1
mov r15d, 0xc0000017
jmp 0x1400923f4
mov rdi, rax
test r15d, r15d
js 0x14009250a
cmp qword [rbp + 0x98], r14
je 0x140092451
mov dword [rdi], esi
mov r15d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14009242f
mov r15d, 0xc0000017
jmp 0x140092433
mov qword [rdi + 8], rax
test r15d, r15d
js 0x14009250a
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rdi + 8]
mov r8, rsi
call sub.msvcrt.dll_memcpy
jmp 0x140092458
mov dword [rdi], r14d
mov qword [rdi + 8], r14
mov rsi, qword [rbp - 0x70]
test rsi, rsi
je 0x1400924a6
mov dword [rdi + 0x10], r12d
mov r15d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14009248c
mov r15d, 0xc0000017
jmp 0x140092490
mov qword [rdi + 0x18], rax
test r15d, r15d
js 0x14009250a
mov rcx, qword [rdi + 0x18]
mov r8, r12
mov rdx, rsi
call sub.msvcrt.dll_memcpy
jmp 0x1400924ae
mov dword [rdi + 0x10], r14d
mov qword [rdi + 0x18], r14
mov r12, qword [rbp + 8]
test r12, r12
je 0x1400924fc
mov dword [rdi + 0x20], r13d
mov r15d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400924e2
mov r15d, 0xc0000017
jmp 0x1400924e6
mov qword [rdi + 0x28], rax
test r15d, r15d
js 0x14009250a
mov rcx, qword [rdi + 0x28]
mov r8, r13
mov rdx, r12
call sub.msvcrt.dll_memcpy
jmp 0x140092504
mov dword [rdi + 0x20], r14d
mov qword [rdi + 0x28], r14
mov rbx, rdi
mov rdi, r14
test rdi, rdi
je 0x140092586
mov rsi, qword [rdi + 8]
test rsi, rsi
je 0x140092530
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov rsi, qword [rdi + 0x18]
test rsi, rsi
je 0x140092551
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov rsi, qword [rdi + 0x28]
test rsi, rsi
je 0x140092572
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x140092592
mov qword [rbp - 0x20], rbx
mov rbx, r14
test rbx, rbx
je 0x14009260e
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x1400925b8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x1400925d9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x1400925fa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140092e31
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x1f0], r14
mov qword [rbp + 0x4b8], r14
mov r15d, r14d
mov dword [rsp + 0x60], r14d
test rax, rax
jne 0x14009264a
mov r15d, 0xc000000d
jmp 0x140092b81
mov rdi, qword [rax + 8]
mov qword [rbp + 0x50], rdi
test rdi, rdi
je 0x14009263f
cmp dword [rax], r14d
je 0x14009263f
mov esi, dword [rax]
mov dword [rbp - 0x78], r14d
test rsi, rsi
je 0x140092b53
add rsi, 0xfffffffffffffff8
mov qword [rbp + 0x98], rsi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
mov qword [rbp - 0x70], rax
test rax, rax
je 0x140092b53
mov r8, rdi
mov rdi, rsi
mov dl, r14b
mov r9, rax
mov ebx, r14d
mov r11d, r14d
mov byte [rsp + 0x64], dl
and edi, 7
je 0x14009278a
or dword [rbp - 0x50], 0xffffffff
mov dword [rbp - 0x3c], r14d
mov r13d, r14d
mov dword [rbp + 8], r14d
mov dword [rbp + 0x78], ebx
test edi, edi
jle 0x14009270e
mov r10d, 0x38
movzx eax, byte [r8]
cmp r11d, 4
jge 0x1400926e9
lea ecx, [r10 - 0x20]
shl eax, cl
or ebx, eax
jmp 0x1400926f1
mov ecx, r10d
shl eax, cl
or r13d, eax
mov ecx, 1
sub r10d, 8
add r11d, ecx
add r8, rcx
cmp r11d, edi
jl 0x1400926d5
mov dword [rbp + 0x78], ebx
mov dword [rbp + 8], r13d
jmp 0x140092713
mov ecx, 1
xor ebx, 0x5c3fcbda
mov r11d, r13d
mov eax, r14d
xor r11d, 0x66fa8c2b
mov dword [rbp - 0x3c], ebx
mov dword [rbp - 0x50], r11d
test edi, edi
jle 0x140092755
cmp eax, 4
jge 0x14009273e
rol ebx, 8
mov byte [r9], bl
jmp 0x140092745
rol r11d, 8
mov byte [r9], r11b
add eax, ecx
add r9, rcx
cmp eax, edi
jl 0x140092731
mov ebx, dword [rbp - 0x3c]
mov r11d, dword [rbp - 0x50]
lea eax, [rdi - 4]
test eax, eax
jle 0x140092772
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x50], r11d
jmp 0x140092799
mov r11d, r14d
mov dword [rbp - 0x50], r14d
test eax, eax
jns 0x140092799
neg eax
shl eax, 3
mov ecx, eax
shr ebx, cl
shl ebx, cl
jmp 0x140092796
or dword [rbp + 8], 0xffffffff
mov dword [rbp + 0x78], r14d
mov dword [rbp - 0x50], r14d
mov dword [rbp - 0x3c], ebx
mov r13, rsi
shr r13, 3
test r13, r13
je 0x140092ad4
mov edx, dword [rbp + 8]
mov r12d, dword [rbp + 0x78]
lea rsi, [r9 + 7]
lea r14, [r8 + 2]
mov r15d, 1
movzx eax, byte [r14 - 1]
movzx r10d, byte [r14 - 2]
movzx r9d, byte [r14 + 2]
shl r10d, 8
shl r9d, 8
mov r8d, 0xcf6704fb
or r10d, eax
movzx eax, byte [r14]
lea r14, [r14 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r14 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r14 - 5]
or r9d, eax
movzx eax, byte [r14 - 4]
xor ebx, r10d
shl r9d, 8
or r9d, eax
movzx eax, byte [r14 - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
xor r11d, ebx
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
imul ecx, eax, 0xd6c9
mov eax, r11d
rol eax, 0xa
add ecx, eax
xor ebx, ecx
lea eax, [rbx - 0x59c22937]
ror eax, 9
imul ecx, eax, 0xcf67
mov eax, ebx
rol eax, 2
sub ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xd6c9]
imul ecx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0xcf67
rol eax, 6
imul ecx, eax, 0xa63d
mov eax, ebx
rol eax, 2
sub ecx, eax
mov eax, 0xa63dd6c9
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
sub eax, ecx
xor ebx, eax
mov eax, ebx
mov edi, ebx
xor eax, 0xd6c9
ror edi, 6
imul ecx, eax, 0xcf67
xor edi, ecx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
imul ecx, eax, 0x4fb
mov eax, r11d
rol eax, 2
add ecx, eax
xor ebx, ecx
lea eax, [rbx + 0x3098fb05]
ror eax, 0xe
imul ecx, eax, 0xa63d
mov eax, ebx
rol eax, 8
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, r8d
mov edi, 0xa63dd6c9
ror eax, 0xc
imul ecx, eax, 0xd6c9
mov eax, r11d
ror eax, 0xa
xor ecx, eax
xor ebx, ecx
mov eax, ebx
xor eax, 0xa63d
imul ecx, eax, 0xcf67
mov eax, ebx
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov ecx, r11d
not eax
xor ecx, r8d
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor ebx, eax
mov eax, edi
sub eax, ecx
xor ebx, eax
lea eax, [rbx - 0x3098fb05]
rol eax, 3
imul ecx, eax, 0xa63d
mov eax, ebx
rol eax, 6
add ecx, eax
mov eax, r8d
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0xd6c9
mov eax, r11d
ror eax, 8
sub ecx, eax
xor ebx, ecx
xor r11d, ebx
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, ebx
mov ebx, 0xa63d
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul ecx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add ecx, eax
xor r11d, ecx
mov eax, r11d
mov edi, r11d
xor eax, ebx
ror edi, 9
imul ecx, eax, 0xd6c9
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, ebx
imul ecx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov edi, r11d
xor eax, 0xcf67
imul ecx, eax, 0x4fb
ror edi, 2
xor edi, ecx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
imul ecx, eax, 0xd6c9
mov eax, r11d
rol eax, 0xb
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, ebx
rol eax, 2
imul ecx, eax, 0xcf67
mov eax, r8d
rol eax, 0xc
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
imul ecx, eax, 0x4fb
mov eax, r11d
xor r11d, edx
mov dword [rbp - 0x50], r11d
mov edx, r9d
rol eax, 0xe
add ecx, eax
xor ecx, r12d
mov r12d, r10d
xor r8d, ecx
mov dword [rbp - 0x3c], r8d
mov byte [rsi - 4], r8b
mov al, byte [rbp - 0x50]
ror dword [rbp - 0x3c], 8
mov byte [rsi], al
mov al, byte [rbp - 0x3c]
ror dword [rbp - 0x50], 8
mov byte [rsi - 5], al
mov al, byte [rbp - 0x50]
ror dword [rbp - 0x3c], 8
mov byte [rsi - 1], al
mov al, byte [rbp - 0x3c]
ror dword [rbp - 0x50], 8
mov byte [rsi - 6], al
mov al, byte [rbp - 0x50]
ror dword [rbp - 0x3c], 8
mov byte [rsi - 2], al
mov al, byte [rbp - 0x3c]
ror dword [rbp - 0x50], 8
mov byte [rsi - 7], al
mov al, byte [rbp - 0x50]
mov byte [rsi - 3], al
mov ebx, dword [rbp - 0x3c]
mov r11d, dword [rbp - 0x50]
lea rsi, [rsi + 8]
ror r11d, 8
mov dword [rbp - 0x50], r11d
ror ebx, 8
mov dword [rbp - 0x3c], ebx
sub r13, r15
jne 0x1400927be
mov dl, byte [rsp + 0x64]
mov r15d, dword [rsp + 0x60]
mov rsi, qword [rbp + 0x98]
mov r12, qword [rbp - 0x70]
xor r14d, r14d
mov rax, r14
test rsi, rsi
je 0x140092aee
mov r8d, 1
xor dl, byte [rax + r12]
add rax, r8
cmp rax, rsi
jb 0x140092ae2
mov rcx, qword [rbp + 0x50]
movzx eax, dl
cmp rax, qword [rsi + rcx]
je 0x140092b02
mov edi, 0xc004d501
jmp 0x140092b16
mov edi, dword [rbp - 0x78]
mov qword [rbp + 0x1f0], r12
mov qword [rbp + 0x4b8], rsi
mov r12, r14
test r12, r12
je 0x140092b2f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x140092b53
mov rax, qword [rbp + 0x1f0]
mov qword [rbp + 0x1f0], r14
mov qword [rbp - 0x28], rax
mov eax, dword [rbp + 0x4b8]
mov dword [rbp + 0x288], eax
jmp 0x140092b59
mov r15d, 0xc0000001
cmp qword [rbp + 0x1f0], r14
je 0x140092b81
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x1f0]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1f0], r14
or r15d, 0x10000000
mov dword [rsp + 0x60], r15d
jl 0x140092e31
mov ebx, dword [rbp + 0x288]
mov rsi, qword [rbp - 0x28]
mov edi, 4
mov dword [rbp + 0xac], r14d
mov qword [rbp + 0x328], rsi
cmp ebx, edi
jb 0x140092e21
mov eax, dword [rsi]
lea r8, [rbp + 0x328]
mov edx, edi
mov rcx, rsi
mov dword [rbp - 0x78], eax
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140092e27
mov ecx, dword [rbp + 0xac]
lea r8, [rbp + 0xac]
mov edx, edi
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x140092e27
mov eax, ebx
sub eax, dword [rbp + 0xac]
cmp eax, edi
jb 0x140092e21
mov rcx, qword [rbp + 0x328]
lea r8, [rbp + 0x328]
mov edx, edi
mov r13d, dword [rcx]
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140092e27
mov ecx, dword [rbp + 0xac]
lea r8, [rbp + 0xac]
mov edx, edi
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x140092e27
mov ecx, dword [rbp + 0xac]
mov eax, ebx
sub eax, ecx
cmp eax, r13d
jb 0x140092e21
mov rdi, qword [rbp + 0x328]
lea r8, [rbp + 0xac]
mov edx, r13d
call fcn.1401043d0
mov r15d, eax
test eax, eax
js 0x140092e27
lea rcx, [rsi + rbx]
lea rax, [rdi + r13]
cmp rcx, rax
jb 0x140092e21
mov rax, rsi
sub rax, rdi
sub rax, r13
add rax, rbx
cmp rax, 8
jae 0x140092e21
mov ebx, r14d
mov rsi, r14
mov r15d, r14d
mov dword [rbp + 8], ebx
test rdi, rdi
je 0x140092d92
lea r8, [rbp + 0x398]
mov edx, r13d
mov rcx, rdi
mov rbx, rdi
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140092e11
mov rax, qword [rbp + 0x398]
cmp rdi, rax
jae 0x140092d8a
lea r8, [rbp + 0x5a0]
mov edx, 4
mov rcx, rbx
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140092e11
mov rax, qword [rbp + 0x398]
cmp qword [rbp + 0x5a0], rax
ja 0x140092dbe
mov edx, dword [rbx]
lea r8, [rbp + 0x3e8]
mov ecx, 4
call fcn.1401043d0
mov r15d, eax
mov eax, dword [rbp + 0x450]
test r15d, r15d
cmovns eax, dword [rbp + 0x3e8]
mov dword [rbp + 0x450], eax
js 0x140092e27
lea r8, [rbp + 0x650]
mov edx, eax
mov rcx, rbx
call fcn.1401043f0
mov r15d, eax
test eax, eax
js 0x140092e11
mov rbx, qword [rbp + 0x650]
mov rax, qword [rbp + 0x398]
cmp rbx, rax
ja 0x140092dbe
inc dword [rbp + 8]
cmp rbx, rax
jb 0x140092cea
cmp rbx, rax
jne 0x140092dbe
mov ebx, dword [rbp + 8]
test r13d, r13d
je 0x140092dce
mov r15d, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov rcx, rax
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140092dc6
mov r15d, 0xc0000017
jmp 0x140092dc9
mov r15d, 0xc000000d
jmp 0x140092e11
mov rsi, rax
test r15d, r15d
js 0x140092df8
test rdi, rdi
je 0x140092de1
mov r8, r13
mov rdx, rdi
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov qword [rbp + 0xb8], rsi
mov dword [rbp + 0xb4], r13d
mov dword [rbp + 0xb0], ebx
mov rsi, r14
test rsi, rsi
je 0x140092e11
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x140092e27
mov eax, dword [rbp - 0x78]
cmp eax, dword [rbp + 0xb0]
je 0x140092e27
mov r15d, 0xc000003e
bts r15d, 0x1c
mov dword [rsp + 0x60], r15d
mov esi, 0x8007007a
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x140092e56
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x320]
test rbx, rbx
je 0x140092ee0
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x140092e83
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x140092ea4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x140092ec5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x320], r14
mov rdi, qword [rbp + 0xd8]
test rdi, rdi
je 0x140092f00
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0x90]
test rdi, rdi
je 0x140092f20
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp - 0x20]
test rbx, rbx
je 0x140092fa0
mov rdi, qword [rbx + 8]
test rdi, rdi
je 0x140092f4a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 8], r14
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x140092f6b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x18], r14
mov rdi, qword [rbx + 0x28]
test rdi, rdi
je 0x140092f8c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbx + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x140092fbd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r13d, 1
test r15d, r15d
js 0x1400935d6
cmp dword [rbp + 0xb0], r13d
jae 0x140092fe5
mov r15d, 0xc004d501
mov dword [rsp + 0x60], r15d
jmp 0x1400935d6
cmp qword [rbp + 0xb8], r14
jne 0x140092ffb
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140093051
cmp dword [rbp + 0xb0], r14d
jbe 0x140092fee
mov rcx, qword [rbp + 0xb8]
lea r8, [rbp + 0x3a8]
mov edx, 4
mov qword [rbp + 0x3a8], rcx
mov edi, dword [rcx]
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093051
mov rax, qword [rbp + 0x3a8]
test edi, edi
mov dword [rbp + 0x3f8], edi
cmove rax, r14
mov qword [rbp + 0x3a8], rax
mov qword [rbp + 0x660], rax
test r15d, r15d
js 0x14009306a
cmp dword [rbp + 0x3f8], 4
je 0x1400930c5
mov r15d, 0xc0000023
mov dword [rsp + 0x60], r15d
mov eax, dword [rbp + 0xd0]
test r15d, r15d
js 0x1400935d6
cmp eax, 0xd0000023
mov r15d, eax
cmove r15d, esi
mov dword [rsp + 0x60], r15d
mov dword [rbp + 0xd0], r15d
cmp r15d, esi
je 0x14009309f
test r15d, r15d
js 0x1400935d6
cmp dword [rbp + 0xb0], 6
jne 0x140092fd5
cmp qword [rbp + 0xb8], r14
jne 0x1400930d6
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140093173
mov rax, qword [rbp + 0x660]
mov eax, dword [rax]
mov dword [rbp + 0xd0], eax
jmp 0x140093070
mov rcx, qword [rbp + 0xb8]
mov edi, r14d
mov qword [rbp + 0x158], rcx
mov ebx, dword [rcx]
lea r8, [rbp + 0x158]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093173
mov rcx, qword [rbp + 0x158]
lea r8, [rbp + 0x158]
mov edx, ebx
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093173
mov rcx, qword [rbp + 0x158]
add edi, r13d
cmp edi, r13d
jb 0x1400930e7
mov edi, dword [rcx]
lea r8, [rbp + 0x158]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093173
mov rax, qword [rbp + 0x158]
test edi, edi
mov dword [rbp + 0x458], edi
cmove rax, r14
mov qword [rbp + 0x158], rax
mov qword [rbp + 0x640], rax
test r15d, r15d
js 0x1400935d6
cmp dword [rbp + 0x458], 8
je 0x140093192
mov r15d, 0xc0000023
mov dword [rsp + 0x60], r15d
jmp 0x1400931a3
mov rax, qword [rbp + 0x640]
mov rcx, qword [rax]
mov qword [rbp + 0x608], rcx
test r15d, r15d
js 0x1400935d6
cmp qword [rbp + 0xb8], r14
jne 0x1400931c5
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x14009326b
cmp dword [rbp + 0xb0], 2
jbe 0x1400931b5
mov rcx, qword [rbp + 0xb8]
mov edi, r14d
mov qword [rbp + 0x168], rcx
mov ebx, dword [rcx]
lea r8, [rbp + 0x168]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14009326b
mov rcx, qword [rbp + 0x168]
lea r8, [rbp + 0x168]
mov edx, ebx
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14009326b
mov rcx, qword [rbp + 0x168]
add edi, r13d
cmp edi, 2
jb 0x1400931df
mov edi, dword [rcx]
lea r8, [rbp + 0x168]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14009326b
mov rax, qword [rbp + 0x168]
test edi, edi
mov dword [rbp + 0x408], edi
cmove rax, r14
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x678], rax
test r15d, r15d
js 0x1400935d6
cmp dword [rbp + 0x408], 4
je 0x14009328a
mov r15d, 0xc0000023
mov dword [rsp + 0x60], r15d
jmp 0x140093299
mov rax, qword [rbp + 0x678]
mov ecx, dword [rax]
mov dword [rbp + 0x46c], ecx
test r15d, r15d
js 0x1400935d6
cmp qword [rbp + 0xb8], r14
jne 0x1400932bb
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140093361
cmp dword [rbp + 0xb0], 3
jbe 0x1400932ab
mov rcx, qword [rbp + 0xb8]
mov edi, r14d
mov qword [rbp + 0x178], rcx
mov ebx, dword [rcx]
lea r8, [rbp + 0x178]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093361
mov rcx, qword [rbp + 0x178]
lea r8, [rbp + 0x178]
mov edx, ebx
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093361
mov rcx, qword [rbp + 0x178]
add edi, r13d
cmp edi, 3
jb 0x1400932d5
mov edi, dword [rcx]
lea r8, [rbp + 0x178]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093361
mov rax, qword [rbp + 0x178]
test edi, edi
mov dword [rbp + 0x260], edi
cmove rax, r14
mov qword [rbp + 0x178], rax
mov qword [rbp + 0x688], rax
test r15d, r15d
js 0x1400935d6
cmp qword [rbp + 0xb8], r14
jne 0x140093383
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x140093429
cmp dword [rbp + 0xb0], 4
jbe 0x140093373
mov rcx, qword [rbp + 0xb8]
mov edi, r14d
mov qword [rbp + 0x188], rcx
mov ebx, dword [rcx]
lea r8, [rbp + 0x188]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093429
mov rcx, qword [rbp + 0x188]
lea r8, [rbp + 0x188]
mov edx, ebx
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093429
mov rcx, qword [rbp + 0x188]
add edi, r13d
cmp edi, 4
jb 0x14009339d
mov edi, dword [rcx]
lea r8, [rbp + 0x188]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x140093429
mov rax, qword [rbp + 0x188]
test edi, edi
mov dword [rbp + 0x460], edi
cmove rax, r14
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x5f8], rax
test r15d, r15d
js 0x1400935d6
cmp dword [rbp + 0x460], 4
je 0x140093448
mov r15d, 0xc0000023
mov dword [rsp + 0x60], r15d
jmp 0x140093457
mov rax, qword [rbp + 0x5f8]
mov ecx, dword [rax]
mov dword [rbp + 0x414], ecx
test r15d, r15d
js 0x1400935d6
cmp qword [rbp + 0xb8], r14
jne 0x140093479
mov r15d, 0xc000000d
mov dword [rsp + 0x60], r15d
jmp 0x14009351f
cmp dword [rbp + 0xb0], 5
jbe 0x140093469
mov rcx, qword [rbp + 0xb8]
mov edi, r14d
mov qword [rbp + 0x120], rcx
mov ebx, dword [rcx]
lea r8, [rbp + 0x120]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14009351f
mov rcx, qword [rbp + 0x120]
lea r8, [rbp + 0x120]
mov edx, ebx
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14009351f
mov rcx, qword [rbp + 0x120]
add edi, r13d
cmp edi, 5
jb 0x140093493
mov edi, dword [rcx]
lea r8, [rbp + 0x120]
mov edx, 4
call fcn.1401043f0
mov r15d, eax
mov dword [rsp + 0x60], eax
test eax, eax
js 0x14009351f
mov rax, qword [rbp + 0x120]
test edi, edi
mov dword [rbp + 0x468], edi
cmove rax, r14
mov qword [rbp + 0x120], rax
mov qword [rbp + 0x6f8], rax
test r15d, r15d
js 0x1400935d6
cmp dword [rbp + 0x468], 4
je 0x14009353e
mov r15d, 0xc0000023
mov dword [rsp + 0x60], r15d
jmp 0x14009354d
mov rax, qword [rbp + 0x6f8]
mov ecx, dword [rax]
mov dword [rbp + 0x298], ecx
test r15d, r15d
js 0x1400935d6
mov rax, qword [rbp + 0x608]
cmp qword [rbp + 0x508], rax
jne 0x140092fd5
mov eax, dword [rbp + 0x298]
mov ecx, dword [rbp + 0x414]
mov dword [rbp + 0xc8], eax
mov eax, dword [rbp + 0x46c]
mov dword [rbp + 0x190], ecx
mov dword [rbp + 0x29c], eax
cmp ecx, 4
jbe 0x14009359c
mov r15d, esi
mov dword [rsp + 0x60], esi
jmp 0x1400935d6
cmp dword [rbp + 0x260], 4
ja 0x140093593
mov r8d, dword [rbp + 0x260]
mov rdx, qword [rbp + 0x688]
mov rcx, qword [rbp + 0x68]
call sub.msvcrt.dll_memcpy
cmp dword [rbp + 0xd0], r14d
cmovne r15d, dword [rbp + 0xd0]
jmp 0x140092fdb
mov r13d, 1
mov qword [rsp + 0x78], 0
cmp qword [rbp - 0x80], r14
je 0x1400935fe
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 0x80]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 0x80], r14
mov qword [rbp + 0xb0], 0
cmp qword [rbp + 0xb8], r14
je 0x140093631
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0xb8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0xb8], r14
mov rdi, qword [rsp + 0x68]
test rdi, rdi
je 0x14009364f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rsp + 0x70]
test rdi, rdi
je 0x14009366d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15d, r15d
js 0x140099dc2
mov edi, dword [rbp + 0xc8]
test edi, edi
je 0x140099d8b
lea rcx, [rbp + 0x648]
call fcn.140029e3c
mov dword [0x14014ba88], edi
mov edi, 0x104
lea rdx, [rbp + 0x1200]
lea rcx, [0x140000000]
mov r8d, edi
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14009776a
cmp eax, edi
jne 0x1400936cd
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x14009776a
cmp dword [0x14014d200], r14d
jne 0x140093ce4
mov dword [rbp - 0x70], r14d
mov dword [rbp - 0x68], r14d
mov qword [rbp + 0x310], r14
mov qword [rbp + 0x4c8], r14
mov dword [rsp + 0x70], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x370
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0x98], rax
test rax, rax
je 0x140093cb1
or dword [rsp + 0x68], 0xffffffff
mov ecx, WSAGetLastError
mov byte [rsp + 0x64], r14b
mov r11d, r14d
mov dword [rbp + 0x18], r14d
mov esi, r14d
mov dword [rbp + 0x28], r14d
mov ebx, r14d
mov r14d, dword [rsp + 0x68]
lea r15d, [rcx - 0x6d]
lea r13, [rax + 7]
lea r12, [0x14000b8f2]
movzx eax, byte [r12 - 1]
movzx r10d, byte [r12 - 2]
movzx r9d, byte [r12 + 2]
shl r10d, 8
shl r9d, 8
mov r8d, 0xcf6704fb
or r10d, eax
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 5]
or r9d, eax
movzx eax, byte [r12 - 4]
xor esi, r10d
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
xor r11d, esi
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
imul edx, eax, 0xd6c9
mov eax, r11d
rol eax, 0xa
add edx, eax
xor esi, edx
lea eax, [rsi - 0x59c22937]
ror eax, 9
imul edx, eax, 0xcf67
mov eax, esi
rol eax, 2
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xcf67
rol eax, 6
imul edx, eax, 0xa63d
mov eax, esi
rol eax, 2
sub edx, eax
mov eax, 0xa63dd6c9
xor r11d, edx
mov edx, r11d
xor edx, r8d
sub eax, edx
xor esi, eax
mov eax, esi
mov edi, esi
xor eax, 0xd6c9
ror edi, 6
imul edx, eax, 0xcf67
xor edi, edx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
imul edx, eax, 0x4fb
mov eax, r11d
rol eax, 2
add edx, eax
xor esi, edx
lea eax, [rsi + 0x3098fb05]
ror eax, 0xe
imul edx, eax, 0xa63d
mov eax, esi
rol eax, 8
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, r8d
mov edi, 0xa63dd6c9
ror eax, 0xc
imul edx, eax, 0xd6c9
mov eax, r11d
ror eax, 0xa
xor edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, esi
shr eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edx, r11d
not eax
xor edx, r8d
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor esi, eax
mov eax, edi
sub eax, edx
xor esi, eax
lea eax, [rsi - 0x3098fb05]
rol eax, 3
imul edx, eax, 0xa63d
mov eax, esi
rol eax, 6
add edx, eax
mov eax, r8d
xor r11d, edx
sub eax, r11d
ror eax, 9
imul edx, eax, 0xd6c9
mov eax, r11d
ror eax, 8
sub edx, eax
xor esi, edx
xor r11d, esi
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, esi
mov esi, 0xa63d
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add edx, eax
xor r11d, edx
mov eax, r11d
mov edi, r11d
xor eax, esi
ror edi, 9
imul edx, eax, 0xd6c9
sub edx, edi
xor r8d, edx
mov eax, r8d
xor eax, esi
imul edx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor edx, eax
xor r11d, edx
mov eax, r11d
mov edi, r11d
xor eax, 0xcf67
imul edx, eax, 0x4fb
ror edi, 2
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
imul edx, eax, 0xd6c9
mov eax, r11d
rol eax, 0xb
xor edx, eax
xor r8d, edx
mov eax, r8d
xor eax, esi
rol eax, 2
imul edx, eax, 0xcf67
mov eax, r8d
rol eax, 0xc
add edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
imul edx, eax, 0x4fb
mov eax, r11d
xor r11d, r14d
mov dword [rbp + 0x18], r11d
mov r14d, r9d
rol eax, 0xe
add edx, eax
xor edx, ebx
mov ebx, r10d
xor r8d, edx
mov dword [rbp + 0x28], r8d
mov byte [r13 - 4], r8b
mov al, byte [rbp + 0x18]
ror dword [rbp + 0x28], 8
mov byte [r13], al
mov al, byte [rbp + 0x28]
ror dword [rbp + 0x18], 8
mov byte [r13 - 5], al
mov al, byte [rbp + 0x18]
ror dword [rbp + 0x28], 8
mov byte [r13 - 1], al
mov al, byte [rbp + 0x28]
ror dword [rbp + 0x18], 8
mov byte [r13 - 6], al
mov al, byte [rbp + 0x18]
ror dword [rbp + 0x28], 8
mov byte [r13 - 2], al
mov al, byte [rbp + 0x28]
ror dword [rbp + 0x18], 8
mov byte [r13 - 7], al
mov al, byte [rbp + 0x18]
mov byte [r13 - 3], al
mov esi, dword [rbp + 0x28]
mov r11d, dword [rbp + 0x18]
lea r13, [r13 + 8]
ror r11d, 8
mov dword [rbp + 0x18], r11d
ror esi, 8
mov dword [rbp + 0x28], esi
sub rcx, r15
jne 0x140093750
mov cl, byte [rsp + 0x64]
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rbp + 0x98]
mov r12d, dword [rsp + 0x70]
xor r14d, r14d
mov edx, 0x370
lea r13d, [r14 + 1]
mov eax, r14d
xor cl, byte [rax + rbx]
add rax, r13
cmp rax, rdx
jb 0x140093a83
movzx eax, cl
cmp rax, qword [0x14000bc60]
je 0x140093aa2
mov r12d, 0xc004d501
jmp 0x140093ab3
mov qword [rbp + 0x310], rbx
mov qword [rbp + 0x4c8], rdx
mov rbx, r14
test rbx, rbx
je 0x140093acc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x140093cb1
mov rdi, qword [rbp + 0x310]
mov rax, qword [rbp + 0x4c8]
mov byte [rax + rdi - 1], r14b
cmp byte [rdi], r14b
je 0x140093cac
mov r15d, dword [rbp - 0x70]
xor eax, eax
mov qword [rbp + 0x568], r14
mov rsi, rdi
mov qword [rbp + 0x570], rax
mov qword [rbp + 0x578], rax
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r14w
jne 0x140093b13
lea rdi, [rdi + rax*2]
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
lea rbx, [rcx + 0x10]
mov rdx, qword [rbx]
cmp rdx, rbx
je 0x140093c29
mov r11, qword [rdx + 0x60]
mov r10, rsi
movzx r9d, word [r11]
mov r12d, 0x20
lea eax, [r9 - 0x41]
cmp ax, 0x19
ja 0x140093b5f
lea ecx, [r12 + r9]
jmp 0x140093b63
movzx ecx, r9w
movzx r8d, word [r10]
lea eax, [r8 - 0x41]
cmp ax, 0x19
ja 0x140093b77
lea eax, [r12 + r8]
jmp 0x140093b7b
movzx eax, r8w
movzx eax, ax
movzx ecx, cx
sub ecx, eax
jne 0x140093b99
add r11, 2
test r9w, r9w
je 0x140093baa
add r10, 2
test r8w, r8w
jne 0x140093b45
test ecx, ecx
js 0x140093ba5
cmovg ecx, r13d
test ecx, ecx
je 0x140093baa
mov rdx, qword [rdx]
jmp 0x140093b35
mov rcx, qword [rdx + 0x30]
mov ebx, r14d
mov qword [rbp + 0x568], rcx
mov eax, dword [rdx + 0x40]
mov dword [rbp + 0x570], eax
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x140093bf1
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x10000000
jae 0x140093bf1
mov rcx, rax
add rcx, qword [rbp + 0x568]
cmp rcx, qword [rbp + 0x568]
jb 0x140093bf1
cmp dword [rcx], 0x4550
je 0x140093bf8
mov ebx, 0xc000007b
jmp 0x140093c23
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140093c15
mov ebx, 0xc000000d
jmp 0x140093c23
mov rax, qword [rcx + 0x88]
mov qword [rbp + 0x574], rax
test ebx, ebx
jns 0x140093c31
jmp 0x140093c2e
mov ebx, 0xc000007a
mov dword [rbp - 0x68], ebx
mov eax, dword [rdi + 2]
add rdi, 6
test eax, eax
je 0x140093c9e
mov esi, eax
mov qword [rbp + 0x580], r14
mov rcx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r14b
jne 0x140093c4c
inc rdi
add rdi, rax
test ebx, ebx
js 0x140093c96
lea r9, [rbp + 0x580]
lea r8, [rbp + 0x568]
xor edx, edx
call fcn.140104050
test eax, eax
jns 0x140093c7d
mov dword [rbp - 0x68], eax
jmp 0x140093c96
mov rax, qword [rbp + 0x580]
lea rdx, [0x140000000]
mov ecx, r15d
mov qword [rdx + rcx*8 + 0x148d20], rax
add r15d, r13d
sub rsi, r13
jne 0x140093c3e
cmp byte [rdi], r14b
jne 0x140093af5
mov r15d, dword [rsp + 0x60]
mov edi, dword [rbp - 0x68]
jmp 0x140093cb6
mov edi, 0xc000007a
cmp qword [rbp + 0x310], r14
je 0x140093cd7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x310]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x140093ce4
mov eax, r13d
xchg dword [0x14014d200], eax
mov rdi, qword [0x140148e30]
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov qword [rbp + 0xc0], rax
test rax, rax
jne 0x140093d17
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14009776a
mov rdi, qword [0x140148db8]
mov rcx, rdi
call qword [fcn.140015690]
call rdi
mov edi, dword [0x14014ba88]
xor edx, edx
lea rcx, [rbp + 0x8b4]
mov qword [0x14014d208], rax
lea r8d, [rdx + 0x6c]
mov dword [rbp - 0x70], edi
mov dword [rbp + 0x8b0], r14d
call sub.msvcrt.dll_memset
xor eax, eax
lea rcx, [rbp + 0xdcc]
lea r8d, [rax + 0x28]
xor edx, edx
mov qword [rbp + 0xd10], 0
mov qword [rbp + 0xd18], rax
mov dword [rbp + 0x268], r13d
mov qword [rbp + 0x90], r14
mov qword [rbp + 0x98], r14
mov dword [rbp + 0xdc8], r14d
call sub.msvcrt.dll_memset
xor eax, eax
lea rcx, [rbp + 0x3c8]
mov qword [rbp + 0xd8], r14
mov dword [rbp + 0x2c], r14d
mov dword [rbp], r14d
mov dword [rbp + 0x1142], eax
call fcn.140029e3c
xor r12d, r12d
xor eax, eax
cmp dword [0x14014d200], r14d
mov qword [rbp - 0x28], r14
mov qword [rbp + 0x550], r14
mov qword [rbp - 0x20], r12
mov qword [rbp + 0x558], r12
mov qword [rbp + 0x68], r12
mov qword [rbp + 0x560], r12
mov qword [rbp + 0xd40], r12
mov qword [rbp + 0xd48], rax
jne 0x140094432
mov dword [rsp + 0x68], r14d
mov dword [rbp - 0x68], r14d
mov qword [rbp + 0x2f0], r14
mov qword [rbp + 0x4d8], r14
mov dword [rbp - 0x78], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov r8d, 0x370
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400943de
mov ebx, WSAGetLastError
mov byte [rsp + 0x64], r14b
mov r12d, r14d
mov esi, r14d
mov dword [rbp + 0x14], r14d
mov r13d, r14d
mov dword [rbp + 0x30], r14d
or ecx, 0xffffffff
lea rdi, [rax + 7]
lea r14d, [rbx - 0x6d]
lea r15, [0x14000b8f2]
movzx eax, byte [r15 - 1]
movzx r11d, byte [r15 - 2]
movzx r10d, byte [r15 + 2]
shl r11d, 8
shl r10d, 8
mov r9d, 0xcf6704fb
or r11d, eax
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [r15 - 5]
or r10d, eax
movzx eax, byte [r15 - 4]
xor r13d, r11d
shl r10d, 8
or r10d, eax
movzx eax, byte [r15 - 3]
shl r10d, 8
or r10d, eax
xor esi, r10d
xor esi, r13d
xor esi, 0x695ad232
lea eax, [rsi + 0x3098fb05]
rol eax, 5
imul edx, eax, 0xd6c9
mov eax, esi
rol eax, 0xa
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x59c22937]
ror eax, 9
imul edx, eax, 0xcf67
mov eax, r13d
rol eax, 2
sub edx, eax
xor esi, edx
lea eax, [rsi - 0xd6c9]
imul edx, eax, 0x4fb
mov eax, esi
shr eax, 0xd
sub edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0xcf67
rol eax, 6
imul edx, eax, 0xa63d
mov eax, r13d
rol eax, 2
sub edx, eax
mov eax, 0xa63dd6c9
xor esi, edx
mov edx, esi
xor edx, r9d
sub eax, edx
xor r13d, eax
mov eax, r13d
mov r8d, r13d
xor eax, 0xd6c9
ror r8d, 6
imul edx, eax, 0xcf67
xor r8d, edx
xor esi, r8d
lea eax, [rsi - 0x59c22937]
ror eax, 0xf
imul edx, eax, 0x4fb
mov eax, esi
rol eax, 2
add edx, eax
xor r13d, edx
lea eax, [r13 + 0x3098fb05]
ror eax, 0xe
imul edx, eax, 0xa63d
mov eax, r13d
rol eax, 8
sub edx, eax
xor esi, edx
mov eax, esi
xor eax, r9d
mov r8d, 0xa63dd6c9
ror eax, 0xc
imul edx, eax, 0xd6c9
mov eax, esi
ror eax, 0xa
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0xa63d
imul edx, eax, 0xcf67
mov eax, r13d
shr eax, 0xa
xor edx, eax
xor esi, edx
mov eax, esi
mov edx, esi
not eax
xor edx, r9d
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor r13d, eax
mov eax, r8d
sub eax, edx
xor r13d, eax
lea eax, [r13 - 0x3098fb05]
rol eax, 3
imul edx, eax, 0xa63d
mov eax, r13d
rol eax, 6
add edx, eax
mov eax, r9d
xor esi, edx
sub eax, esi
ror eax, 9
imul edx, eax, 0xd6c9
mov eax, esi
ror eax, 8
sub edx, eax
xor r13d, edx
xor esi, r13d
xor esi, 0x695ad232
lea r9d, [rsi - 0x4fb]
xor r9d, r13d
mov r13d, 0xa63d
xor r9d, r8d
mov eax, r9d
xor eax, 0x4fb
imul edx, eax, 0xa63d
mov eax, r9d
shr eax, 8
add edx, eax
xor esi, edx
mov eax, esi
mov r8d, esi
xor eax, r13d
ror r8d, 9
imul edx, eax, 0xd6c9
sub edx, r8d
xor r9d, edx
mov eax, r9d
xor eax, r13d
imul edx, eax, 0xcf67
mov eax, r9d
shr eax, 6
xor edx, eax
xor esi, edx
mov eax, esi
mov r8d, esi
xor eax, 0xcf67
imul edx, eax, 0x4fb
ror r8d, 2
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x309854c8]
xor esi, eax
lea eax, [rsi + 0x3098fb05]
rol eax, 7
imul edx, eax, 0xd6c9
mov eax, esi
rol eax, 0xb
xor edx, eax
xor r9d, edx
mov eax, r9d
xor eax, r13d
rol eax, 2
imul edx, eax, 0xcf67
mov eax, r9d
rol eax, 0xc
add edx, eax
xor esi, edx
mov eax, esi
xor eax, 0xa63dd6c9
rol eax, 4
imul edx, eax, 0x4fb
mov eax, esi
xor esi, ecx
mov dword [rbp + 0x14], esi
mov ecx, r10d
rol eax, 0xe
add edx, eax
xor edx, r12d
mov r12d, r11d
xor r9d, edx
mov dword [rbp + 0x30], r9d
mov byte [rdi - 4], r9b
mov al, byte [rbp + 0x14]
ror dword [rbp + 0x30], 8
mov byte [rdi], al
mov al, byte [rbp + 0x30]
ror dword [rbp + 0x14], 8
mov byte [rdi - 5], al
mov al, byte [rbp + 0x14]
ror dword [rbp + 0x30], 8
mov byte [rdi - 1], al
mov al, byte [rbp + 0x30]
ror dword [rbp + 0x14], 8
mov byte [rdi - 6], al
mov al, byte [rbp + 0x14]
ror dword [rbp + 0x30], 8
mov byte [rdi - 2], al
mov al, byte [rbp + 0x30]
ror dword [rbp + 0x14], 8
mov byte [rdi - 7], al
mov al, byte [rbp + 0x14]
mov byte [rdi - 3], al
mov r13d, dword [rbp + 0x30]
mov esi, dword [rbp + 0x14]
lea rdi, [rdi + 8]
ror esi, 8
mov dword [rbp + 0x14], esi
ror r13d, 8
mov dword [rbp + 0x30], r13d
sub rbx, r14
jne 0x140093e65
mov cl, byte [rsp + 0x64]
mov edi, dword [rbp - 0x70]
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rsp + 0x70]
mov r12d, dword [rbp - 0x78]
xor r14d, r14d
lea r13d, [r14 + 1]
mov eax, r14d
mov edx, 0x370
xor cl, byte [rax + rbx]
add rax, r13
cmp rax, rdx
jb 0x140094188
movzx eax, cl
cmp rax, qword [0x14000bc60]
je 0x1400941a7
mov r12d, 0xc004d501
jmp 0x1400941b8
mov qword [rbp + 0x2f0], rbx
mov qword [rbp + 0x4d8], rdx
mov rbx, r14
test rbx, rbx
je 0x1400941d1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r12d, r12d
js 0x1400943de
mov rbx, qword [rbp + 0x2f0]
mov rax, qword [rbp + 0x4d8]
mov byte [rax + rbx - 1], r14b
cmp byte [rbx], r14b
je 0x1400943d9
mov r15d, dword [rsp + 0x68]
mov edi, 0x5a4d
xor eax, eax
mov qword [rbp + 0x588], r14
mov r12, rbx
mov qword [rbp + 0x590], rax
mov qword [rbp + 0x598], rax
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r14w
jne 0x14009421e
lea rbx, [rbx + rax*2]
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
lea rsi, [rcx + 0x10]
mov rdx, qword [rsi]
cmp rdx, rsi
je 0x14009432c
mov r11, qword [rdx + 0x60]
mov r10, r12
movzx r9d, word [r11]
lea eax, [r9 - 0x41]
cmp ax, 0x19
ja 0x140094269
mov eax, 0x20
lea ecx, [rax + r9]
jmp 0x14009426d
movzx ecx, r9w
movzx r8d, word [r10]
lea eax, [r8 - 0x41]
cmp ax, 0x19
movzx eax, r8w
ja 0x140094283
add ax, word [rbp + 0x40]
movzx eax, ax
movzx ecx, cx
sub ecx, eax
jne 0x1400942a1
add r11, 2
test r9w, r9w
je 0x1400942b2
add r10, 2
test r8w, r8w
jne 0x140094250
test ecx, ecx
js 0x1400942ad
cmovg ecx, r13d
test ecx, ecx
je 0x1400942b2
mov rdx, qword [rdx]
jmp 0x140094240
mov rcx, qword [rdx + 0x30]
mov esi, r14d
mov qword [rbp + 0x588], rcx
mov eax, dword [rdx + 0x40]
mov dword [rbp + 0x590], eax
cmp word [rcx], di
jne 0x1400942f4
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x10000000
jae 0x1400942f4
mov rcx, rax
add rcx, qword [rbp + 0x588]
cmp rcx, qword [rbp + 0x588]
jb 0x1400942f4
cmp dword [rcx], 0x4550
je 0x1400942fb
mov esi, 0xc000007b
jmp 0x140094326
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140094318
mov esi, 0xc000000d
jmp 0x140094326
mov rax, qword [rcx + 0x88]
mov qword [rbp + 0x594], rax
test esi, esi
jns 0x140094334
jmp 0x140094331
mov esi, 0xc000007a
mov dword [rbp - 0x68], esi
mov eax, dword [rbx + 2]
add rbx, 6
test eax, eax
je 0x1400943a7
mov r12d, eax
lea rdi, [0x140000000]
mov qword [rbp + 0x518], r14
mov rcx, rbx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rbx + rax], r14b
jne 0x140094357
inc rbx
add rbx, rax
test esi, esi
js 0x14009439a
lea r9, [rbp + 0x518]
lea r8, [rbp + 0x588]
xor edx, edx
call fcn.140104050
test eax, eax
jns 0x140094388
mov dword [rbp - 0x68], eax
jmp 0x14009439a
mov rax, qword [rbp + 0x518]
mov ecx, r15d
mov qword [rdi + rcx*8 + 0x148d20], rax
add r15d, r13d
sub r12, r13
jne 0x140094349
mov edi, 0x5a4d
cmp byte [rbx], r14b
jne 0x140094200
mov rax, qword [rbp + 0x560]
mov edi, dword [rbp - 0x70]
mov r15d, dword [rsp + 0x60]
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x558]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x550]
mov qword [rbp - 0x28], rax
mov ebx, dword [rbp - 0x68]
jmp 0x1400943e3
mov ebx, 0xc000007a
cmp qword [rbp + 0x2f0], r14
je 0x140094404
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x2f0]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x140094432
mov eax, r13d
xchg dword [0x14014d200], eax
mov rax, qword [rbp + 0x560]
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x558]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x550]
mov qword [rbp - 0x28], rax
xor edx, edx
lea rcx, [rbp + 0x8b0]
lea r8d, [rdx + 0x70]
call sub.msvcrt.dll_memset
xor eax, eax
mov r13d, edi
lea ecx, [rax + 0xf]
mov qword [rbp + 0xd10], rax
mov eax, edi
shr eax, 4
and r13d, ecx
and ax, cx
mov dword [rbp - 0x64], r13d
mov word [rbp + 0x1140], ax
mov eax, edi
shr edi, 0xc
and di, cx
shr eax, 8
and ax, cx
mov word [rbp + 0x1144], di
mov rdi, qword [0x140148e30]
mov rcx, rdi
mov word [rbp + 0x1142], ax
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov dword [rbp + 0xe0], 0xffffff
mov qword [rbp + 0x78], rax
test rax, rax
jne 0x1400944da
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140095a92
mov esi, 0x80004005
jmp 0x140095a92
lea rcx, [rbp + 0x3b8]
call fcn.140029e3c
lea rcx, [rbp + 0x308]
call fcn.140029e3c
lea rcx, [rbp + 0xa0]
mov qword [rbp + 0x4e8], r14
call fcn.140029e3c
lea rcx, [rbp + 0x200]
call fcn.140029e3c
lea rcx, [rbp + 0x1b0]
call fcn.140029e3c
mov rdi, qword [0x140148dc0]
mov esi, r14d
mov rcx, rdi
mov dword [rbp + 0x1d0], r14d
call qword [fcn.140015690]
xor r8d, r8d
lea r9, [rbp + 0x1d0]
lea ecx, [r8 + 8]
lea rdx, [rbp + 0xec]
call rdi
test eax, eax
jne 0x140094578
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1400946c8
mov esi, 0x80004005
jmp 0x1400946c8
mov edi, dword [rbp + 0x1d0]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0x200]
mov rdi, rax
call fcn.140104374
test rdi, rdi
jne 0x1400945ba
mov qword [rbp + 0x200], r14
mov esi, 0x8007000e
jmp 0x1400946c8
mov qword [rbp + 0x200], rdi
mov edi, dword [rbp + 0xec]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0x1b0]
mov rdi, rax
call fcn.140104374
test rdi, rdi
jne 0x1400945ff
mov esi, 0x8007000e
jmp 0x1400946c1
mov qword [rbp + 0x1b0], rdi
mov rdi, qword [0x140148dc0]
mov rcx, rdi
call qword [fcn.140015690]
mov r8, qword [rbp + 0x200]
lea r9, [rbp + 0x1d0]
lea rdx, [rbp + 0xec]
mov ecx, 8
call rdi
test eax, eax
je 0x140094552
mov rbx, qword [rbp + 0x200]
mov r12, qword [rbp + 0x1b0]
mov r13d, r14d
cmp dword [rbp + 0xec], r14d
jbe 0x1400946a0
mov r15d, 1
mov rdi, qword [0x140148dd0]
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
mov rcx, rbx
call rdi
mov dword [r12], eax
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], r14w
jne 0x140094679
lea rbx, [rbx + rax*2]
add r13d, r15d
add r12, 4
add rbx, 2
cmp r13d, dword [rbp + 0xec]
jb 0x14009465a
mov r15d, dword [rsp + 0x60]
mov dword [r12], 0x409
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x3b8], rax
mov eax, dword [rbp + 0xec]
inc eax
mov dword [rbp - 0x70], eax
mov qword [rbp + 0x1b0], r14
lea rcx, [rbp + 0x1b0]
call fcn.140104374
lea rcx, [rbp + 0x200]
call fcn.140104374
test esi, esi
js 0x140094e42
mov r12d, r14d
mov dword [rbp + 8], r14d
mov r9d, r14d
lea rsi, [0x14000b7d0]
cmp dword [rbp - 0x70], r14d
jbe 0x14009473c
mov rax, qword [rbp + 0x3b8]
mov r8, r14
mov edx, r14d
mov rdi, rsi
mov ecx, dword [rdi]
cmp dword [rax + r8], ecx
je 0x140094736
mov ecx, 1
add rdi, 4
add edx, ecx
cmp edx, 0x27
jb 0x14009470f
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x70]
jae 0x14009473c
jmp 0x140094709
mov r12d, edx
mov dword [rbp + 8], edx
mov rdi, qword [0x140148dc8]
mov ebx, r12d
mov dword [rbp + 0x50], r14d
mov rcx, rdi
call qword [fcn.140015690]
mov ecx, dword [rsi + rbx*4]
xor r9d, r9d
lea r8d, [r9 + 0x55]
lea rdx, [rbp + 0x1150]
call rdi
test eax, eax
je 0x1400947af
mov rdi, qword [0x140148db0]
mov rcx, rdi
call qword [fcn.140015690]
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetDim
lea r8, [rbp + 0x1000]
lea edx, [r9 + 0x48]
lea rcx, [rbp + 0x1150]
call rdi
mov r13d, 1
test eax, eax
jle 0x1400947b5
mov esi, dword [rbp + 0x100c]
shr esi, 0x1b
and esi, r13d
mov dword [rbp + 0x50], esi
jmp 0x1400947b5
mov r13d, 1
lea rcx, [0x14000bc70]
lea rdx, [rbp + 0x830]
mov edi, 0xa
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r14w
jne 0x1400947cf
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub rdi, r13
jne 0x1400947c8
lea rcx, [rbx + rbx*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xb870]
mov dword [rsp + 0x70], r14d
mov rax, qword [rbp + rax*8 + 0x830]
mov qword [rbp - 0x28], rax
movzx eax, byte [rdx + rcx + 0xb871]
mov rax, qword [rbp + rax*8 + 0x830]
mov qword [rbp - 0x20], rax
movzx eax, byte [rdx + rcx + 0xb872]
mov rax, qword [rbp + rax*8 + 0x830]
mov qword [rbp + 0x68], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
mov rcx, rax
mov r8d, 0x2000
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x60], rax
test rax, rax
jne 0x140094860
mov esi, 0x8007000e
jmp 0x140094c29
or dword [rsp + 0x68], 0xffffffff
lea r12, [rax + 7]
mov byte [rsp + 0x64], r14b
mov esi, dword [rsp + 0x68]
mov r11d, r14d
mov dword [rbp + 0x1c], r14d
mov r13d, r14d
mov dword [rbp + 0x24], r14d
lea rax, [0x1400097c2]
mov ebx, 0x400
mov r15d, 1
movzx ecx, byte [rax - 1]
movzx r10d, byte [rax - 2]
movzx r9d, byte [rax + 2]
shl r10d, 8
shl r9d, 8
mov r8d, 0xcf6704fb
or r10d, ecx
movzx ecx, byte [rax]
add rax, 8
shl r10d, 8
or r10d, ecx
movzx ecx, byte [rax - 7]
shl r10d, 8
or r10d, ecx
movzx ecx, byte [rax - 5]
or r9d, ecx
movzx ecx, byte [rax - 4]
xor r13d, r10d
shl r9d, 8
or r9d, ecx
movzx ecx, byte [rax - 3]
shl r9d, 8
or r9d, ecx
xor r11d, r9d
xor r11d, r13d
xor r11d, 0x695ad232
lea ecx, [r11 + 0x3098fb05]
rol ecx, 5
imul edx, ecx, 0xd6c9
mov ecx, r11d
rol ecx, 0xa
add edx, ecx
xor r13d, edx
lea ecx, [r13 - 0x59c22937]
ror ecx, 9
imul edx, ecx, 0xcf67
mov ecx, r13d
rol ecx, 2
sub edx, ecx
xor r11d, edx
lea ecx, [r11 - 0xd6c9]
imul edx, ecx, 0x4fb
mov ecx, r11d
shr ecx, 0xd
sub edx, ecx
xor r13d, edx
mov ecx, r13d
xor ecx, 0xcf67
rol ecx, 6
imul edx, ecx, 0xa63d
mov ecx, r13d
rol ecx, 2
sub edx, ecx
mov ecx, 0xa63dd6c9
xor r11d, edx
mov edx, r11d
xor edx, r8d
sub ecx, edx
xor r13d, ecx
mov ecx, r13d
mov edi, r13d
xor ecx, 0xd6c9
ror edi, 6
imul edx, ecx, 0xcf67
xor edi, edx
xor r11d, edi
lea ecx, [r11 - 0x59c22937]
ror ecx, 0xf
imul edx, ecx, 0x4fb
mov ecx, r11d
rol ecx, 2
add edx, ecx
xor r13d, edx
lea ecx, [r13 + 0x3098fb05]
ror ecx, 0xe
imul edx, ecx, 0xa63d
mov ecx, r13d
rol ecx, 8
sub edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, r8d
mov edi, 0xa63dd6c9
ror ecx, 0xc
imul edx, ecx, 0xd6c9
mov ecx, r11d
ror ecx, 0xa
xor edx, ecx
xor r13d, edx
mov ecx, r13d
xor ecx, 0xa63d
imul edx, ecx, 0xcf67
mov ecx, r13d
shr ecx, 0xa
xor edx, ecx
xor r11d, edx
mov ecx, r11d
mov edx, r11d
not ecx
xor edx, r8d
ror ecx, 5
add ecx, 0x4fb
imul ecx, ecx, 0xa63d
xor r13d, ecx
mov ecx, edi
sub ecx, edx
xor r13d, ecx
lea ecx, [r13 - 0x3098fb05]
rol ecx, 3
imul edx, ecx, 0xa63d
mov ecx, r13d
rol ecx, 6
add edx, ecx
mov ecx, r8d
xor r11d, edx
sub ecx, r11d
ror ecx, 9
imul edx, ecx, 0xd6c9
mov ecx, r11d
ror ecx, 8
sub edx, ecx
xor r13d, edx
xor r11d, r13d
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, r13d
mov r13d, 0xa63d
xor r8d, edi
mov ecx, r8d
xor ecx, 0x4fb
imul edx, ecx, 0xa63d
mov ecx, r8d
shr ecx, 8
add edx, ecx
xor r11d, edx
mov ecx, r11d
mov edi, r11d
xor ecx, r13d
ror edi, 9
imul edx, ecx, 0xd6c9
sub edx, edi
xor r8d, edx
mov ecx, r8d
xor ecx, r13d
imul edx, ecx, 0xcf67
mov ecx, r8d
shr ecx, 6
xor edx, ecx
xor r11d, edx
mov ecx, r11d
mov edi, r11d
xor ecx, 0xcf67
imul edx, ecx, 0x4fb
ror edi, 2
xor edi, edx
xor r8d, edi
lea ecx, [r8 + 0x309854c8]
xor r11d, ecx
lea ecx, [r11 + 0x3098fb05]
rol ecx, 7
imul edx, ecx, 0xd6c9
mov ecx, r11d
rol ecx, 0xb
xor edx, ecx
xor r8d, edx
mov ecx, r8d
xor ecx, r13d
rol ecx, 2
imul edx, ecx, 0xcf67
mov ecx, r8d
rol ecx, 0xc
add edx, ecx
xor r11d, edx
mov ecx, r11d
xor ecx, 0xa63dd6c9
rol ecx, 4
imul edx, ecx, 0x4fb
mov ecx, r11d
xor r11d, esi
mov dword [rbp + 0x1c], r11d
mov esi, r9d
rol ecx, 0xe
add edx, ecx
xor edx, r14d
mov r14d, r10d
xor r8d, edx
mov dword [rbp + 0x24], r8d
mov byte [r12 - 4], r8b
mov cl, byte [rbp + 0x1c]
ror dword [rbp + 0x24], 8
mov byte [r12], cl
mov cl, byte [rbp + 0x24]
ror dword [rbp + 0x1c], 8
mov byte [r12 - 5], cl
mov cl, byte [rbp + 0x1c]
ror dword [rbp + 0x24], 8
mov byte [r12 - 1], cl
mov cl, byte [rbp + 0x24]
ror dword [rbp + 0x1c], 8
mov byte [r12 - 6], cl
mov cl, byte [rbp + 0x1c]
ror dword [rbp + 0x24], 8
mov byte [r12 - 2], cl
mov cl, byte [rbp + 0x24]
ror dword [rbp + 0x1c], 8
mov byte [r12 - 7], cl
mov cl, byte [rbp + 0x1c]
mov byte [r12 - 3], cl
mov r13d, dword [rbp + 0x24]
mov r11d, dword [rbp + 0x1c]
lea r12, [r12 + 8]
ror r11d, 8
mov dword [rbp + 0x1c], r11d
ror r13d, 8
mov dword [rbp + 0x24], r13d
sub rbx, r15
jne 0x140094892
mov al, byte [rsp + 0x64]
mov r15d, dword [rsp + 0x60]
mov esi, dword [rsp + 0x70]
mov rbx, qword [rbp - 0x60]
xor r14d, r14d
mov edx, 0x2000
lea r13d, [r14 + 1]
mov ecx, r14d
xor al, byte [rcx + rbx]
add rcx, r13
cmp rcx, rdx
jb 0x140094bdd
movzx ecx, al
cmp rcx, qword [0x14000b7c0]
je 0x140094bfb
mov esi, 0xc004d501
jmp 0x140094c0c
mov qword [rbp + 0x308], rbx
mov qword [rbp + 0x4e8], rdx
mov rbx, r14
test rbx, rbx
je 0x140094c25
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov r12d, dword [rbp + 8]
test esi, esi
js 0x140094e42
mov rdx, qword [rbp + 0x308]
lea rdi, [rbp + 0x880]
mov r8d, 6
mov ecx, r14d
cmp r12d, ecx
jne 0x140094c50
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r14b
jne 0x140094c54
inc rdx
add ecx, r13d
add rdx, rax
cmp ecx, 0x27
jb 0x140094c48
add rdi, 8
sub r8, r13
jne 0x140094c45
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor edx, edx
lea r8d, [rdx + 0x18]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
lea rcx, [rbp + 0xa0]
mov rdi, rax
call fcn.140104374
test rdi, rdi
jne 0x140094cae
mov qword [rbp + 0xa0], r14
mov esi, 0x8007000e
jmp 0x140094ec2
xor eax, eax
mov qword [rbp + 0xa0], rdi
lea rcx, [rbp + 0x1140]
mov qword [rdi], rax
mov edx, r14d
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov qword [rsp + 0x70], rcx
mov r13, r14
mov dword [rbp - 0x70], edx
lea r8d, [rax + 1]
movzx edi, word [rcx]
mov eax, r14d
lea rcx, [0x14000bdb8]
cmp di, word [rcx]
je 0x140094cfe
add eax, r8d
add rcx, 2
cmp eax, 6
jb 0x140094ce8
jmp 0x140094dda
mov r12, qword [rbp + rax*8 + 0x880]
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x68], r12
inc rbx
cmp byte [r12 + rbx], r14b
jne 0x140094d0f
mov rdi, qword [0x140148de0]
add ebx, r8d
mov rcx, rdi
call qword [fcn.140015690]
mov r9d, ebx
mov r8, r12
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
call rdi
mov dword [rbp - 0x78], eax
test eax, eax
je 0x140094e25
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbp + 0xa0]
mov qword [r13 + rcx], rax
mov rdi, qword [rbp + 0xa0]
cmp qword [r13 + rdi], r14
je 0x140094e1e
mov rax, qword [rsp + 0x68]
or r12, 0xffffffffffffffff
inc r12
cmp byte [rax + r12], r14b
jne 0x140094d90
mov rbx, qword [0x140148de0]
mov rcx, rbx
call qword [fcn.140015690]
mov eax, dword [rbp - 0x78]
mov r8, qword [rsp + 0x68]
mov dword [rsp + 0x28], eax
mov rax, qword [r13 + rdi]
lea r9d, [r12 + 1]
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x20], rax
call rbx
test eax, eax
je 0x140094e25
mov edx, dword [rbp - 0x70]
mov r8d, 1
mov rcx, qword [rsp + 0x70]
add edx, r8d
add r13, 8
add rcx, 2
mov dword [rbp - 0x70], edx
mov qword [rsp + 0x70], rcx
cmp edx, 3
jb 0x140094cdb
mov rax, qword [rbp + 0xa0]
mov rdi, r14
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0x3c8], rax
mov eax, dword [rbp + 0x50]
mov dword [rbp + 0x8b0], eax
jmp 0x140094e49
mov esi, 0x8007000e
jmp 0x140094e49
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140094e42
mov esi, 0x80004005
mov rdi, qword [rbp + 0xa0]
mov r13d, 1
test rdi, rdi
je 0x140094ec2
mov rbx, r14
lea r12d, [r13 + 2]
cmp qword [rbx + rdi], r14
je 0x140094eb9
test rdi, rdi
jne 0x140094e6e
mov rdi, r14
mov rax, r14
jmp 0x140094e71
mov rax, rdi
mov rdx, qword [rbx + rdi]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rdx + rcx*2], r14w
jne 0x140094e79
mov rdi, qword [rbx + rax]
xor eax, eax
lea rcx, [rcx*2 + 2]
rep stosb byte [rdi], al
mov rax, qword [rbp + 0xa0]
mov rdi, qword [rbx + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0xa0]
add rbx, 8
sub r12, r13
jne 0x140094e5b
mov rdi, qword [rbp + 0x308]
test rdi, rdi
je 0x140094ed9
mov rcx, qword [rbp + 0x4e8]
xor eax, eax
rep stosb byte [rdi], al
lea rcx, [rbp + 0xa0]
call fcn.140104374
lea rcx, [rbp + 0x308]
call fcn.140104374
lea rcx, [rbp + 0x3b8]
call fcn.140104374
test esi, esi
js 0x140095a76
mov rax, qword [rbp + 0x3c8]
mov rdi, qword [0x140148ea0]
mov ebx, r14d
mov rcx, qword [rax]
mov esi, r14d
mov qword [rbp + 0x8b8], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x8c0], rcx
mov rcx, qword [rax + 0x10]
xor eax, eax
mov qword [rbp + 0x8c8], rcx
mov rcx, rdi
mov qword [rbp + 0x524], rax
mov dword [rbp + 0x52c], eax
mov dword [rbp + 0x520], reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [fcn.140015690]
xor edx, edx
lea r8, [rbp + 0x520]
xor r9d, r9d
lea ecx, [rdx + 0x42]
call rdi
test eax, eax
jne 0x140094f8f
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140094f98
mov esi, 0x80004005
jmp 0x140094f98
mov ebx, dword [rbp + 0x524]
and ebx, r13d
mov r13d, dword [rbp - 0x64]
mov dword [rbp + 0x8b4], ebx
test esi, esi
js 0x140095a7a
mov edx, reloc.WSOCK32.dll_inet_ntoa
mov ecx, r13d
lea eax, [rdx + 0x1f]
mov dword [rbp - 0x68], eax
dec ecx
je 0x140094fda
dec ecx
je 0x140094fd1
dec ecx
jne 0x140094fe0
mov esi, 0xe1
mov dword [rbp + 0x2c], esi
mov dword [rbp], esi
jmp 0x140094fe0
mov dword [rbp + 0x2c], reloc.OLEAUT32.dll_SafeArrayDestroy
jmp 0x140094fdd
mov dword [rbp + 0x2c], eax
mov dword [rbp], edx
mov esi, 0x60
lea rcx, [rbp + 0x1022]
xor edx, edx
lea r8d, [rsi - 0x22]
mov ebx, esi
mov word [rbp + 0x1020], r14w
mov dword [rbp + 0x40], ebx
call sub.msvcrt.dll_memset
lea r8d, [rsi + 0x3c]
lea rcx, [rbp + 0x1060]
xor edx, edx
call sub.msvcrt.dll_memset
mov rdi, qword [0x140148e18]
lea eax, [rsi + 0x7c]
mov rcx, rdi
mov word [rbp + 0x1064], ax
call qword [fcn.140015690]
lea r8, [rbp + 0x1020]
or edx, 0xffffffff
xor ecx, ecx
call rdi
test eax, eax
je 0x140095074
mov eax, dword [rbp + 0x10cc]
movzx ebx, word [rbp + 0x10c6]
mov qword [rbp + 0xd40], 0
mov dword [rbp + 0xd48], eax
mov eax, dword [rbp + 0x10d0]
cmp ebx, esi
cmovl ebx, esi
mov dword [rbp + 0xd4c], eax
mov dword [rbp + 0x40], ebx
mov eax, 1
lea rcx, [rbp + 0xf40]
cmp r13d, eax
mov rax, qword [rbp + 0x68]
cmove rax, qword [rbp - 0x28]
xor edx, edx
lea r8d, [rdx + 0x5c]
mov qword [rbp + 0x68], rax
call sub.msvcrt.dll_memset
mov rdi, qword [0x140148e30]
mov esi, r14d
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov r12, rax
test rax, rax
jne 0x1400950e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140095a7a
mov esi, 0x80004005
jmp 0x14009518e
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov ecx, dword [rbp + 0x2c]
mov r8d, 0x48
mov edx, ebx
call rdi
mov r8, qword [rbp + 0x68]
lea rcx, [rbp + 0xf5c]
neg eax
mov edx, 0x20
mov dword [rbp + 0xf50], 0x190
mov dword [rbp + 0xf40], eax
mov byte [rbp + 0xf5a], 5
call fcn.140044bb0
mov rdi, qword [0x140148d40]
mov rcx, rdi
call qword [fcn.140015690]
lea rcx, [rbp + 0xf40]
call rdi
test rax, rax
jne 0x140095170
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140095177
mov esi, 0x80004005
jmp 0x140095177
mov qword [rbp + 0x8d0], rax
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, r12
xor ecx, ecx
call rdi
test esi, esi
js 0x140095a7a
xor edx, edx
lea rcx, [rbp + 0xfa0]
lea r8d, [rdx + 0x5c]
call sub.msvcrt.dll_memset
mov rdi, qword [0x140148e30]
mov esi, r14d
mov rcx, rdi
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov r12, rax
test rax, rax
jne 0x1400951fa
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [r12 + 0x20]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140095a7a
mov esi, 0x80004005
jmp 0x1400952a2
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov ecx, dword [rbp]
mov r8d, 0x48
mov edx, ebx
call rdi
mov r8, qword [rbp + 0x68]
mov ebx, 0x20
neg eax
lea rcx, [rbp + 0xfbc]
mov edx, ebx
mov dword [rbp + 0xfb0], 0x190
mov byte [rbp + 0xfba], 5
mov dword [rbp + 0xfa0], eax
call fcn.140044bb0
mov rdi, qword [0x140148d40]
mov rcx, rdi
call qword [fcn.140015690]
lea rcx, [rbp + 0xfa0]
call rdi
test rax, rax
jne 0x140095284
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x14009528b
mov esi, 0x80004005
jmp 0x14009528b
mov qword [rbp + 0x8d8], rax
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, r12
xor ecx, ecx
call rdi
test esi, esi
js 0x140095a7a
mov ecx, r13d
mov r12d, r14d
mov edx, r14d
dec ecx
je 0x1400952bf
dec ecx
je 0x1400952f8
dec ecx
jne 0x1400952cc
mov r12d, dword [rbp + 0xd48]
mov edx, dword [rbp + 0xd4c]
mov ecx, 1
mov dword [rbp + 0xd18], r12d
mov dword [rbp + 0xd1c], edx
cmp r13d, ecx
je 0x140095330
lea eax, [r13 - 2]
cmp eax, ecx
ja 0x14009530f
mov eax, r14d
mov dword [rbp - 0x68], r14d
mov dword [rbp], r14d
jmp 0x140095338
mov eax, dword [rbp + 0xd48]
cdq
and edx, 3
lea r12d, [rdx + rax]
mov edx, r14d
sar r12d, 2
jmp 0x1400952cc
mov eax, dword [rbp + 0x110]
mov r13d, dword [rbp + 0x110]
mov dword [rbp], eax
mov eax, dword [rbp + 0x110]
mov dword [rbp - 0x68], eax
mov eax, dword [rbp + 0x110]
jmp 0x14009533b
mov eax, 0x96
mov dword [rbp], ebx
mov r13d, r14d
mov rdi, qword [0x140148d98]
mov rbx, qword [rbp + 0x8b8]
sub r12d, eax
sub r12d, r13d
mov rcx, rdi
mov dword [rbp + 8], eax
mov esi, r14d
mov dword [rbp + 0x904], r12d
mov dword [rbp + 0x8f4], r12d
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x8d0]
mov rcx, qword [rbp + 0x78]
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
mov qword [rbp - 0x60], rax
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x78]
lea r9, [rbp + 0x8ec]
or r8d, 0xffffffff
mov rdx, rbx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0xc50
call rdi
mov rbx, qword [rbp - 0x60]
test eax, eax
mov eax, 0x80004005
cmove esi, eax
test rbx, rbx
je 0x1400953da
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x78]
mov rdx, rbx
call rdi
test esi, esi
js 0x140095a76
mov rdi, qword [0x140148d98]
mov rbx, qword [rbp + 0x8c0]
mov esi, r14d
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x8d8]
mov rcx, qword [rbp + 0x78]
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
mov qword [rbp - 0x60], rax
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x78]
lea r9, [rbp + 0x8fc]
or r8d, 0xffffffff
mov rdx, rbx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0xc50
call rdi
mov rbx, qword [rbp - 0x60]
test eax, eax
mov eax, 0x80004005
cmove esi, eax
test rbx, rbx
je 0x14009546a
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x78]
mov rdx, rbx
call rdi
test esi, esi
js 0x140095a76
mov eax, dword [rbp - 0x64]
mov ecx, dword [rbp + 0x8f4]
mov r8d, 1
add eax, 0xfffffffe
cmp eax, r8d
ja 0x140095497
mov r12d, dword [rbp + 0x904]
cmp ecx, r12d
cmovg r12d, ecx
mov rdi, qword [fcn.14006c2a0]
cmp dword [rbp + 0x8b0], r14d
je 0x1400954fb
mov ebx, r13d
sub ebx, ecx
mov rcx, rdi
add ebx, r12d
call qword [fcn.140015690]
mov r8d, dword [rbp - 0x68]
lea rcx, [rbp + 0x8ec]
mov edx, ebx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov ebx, dword [rbp]
sub r13d, dword [rbp + 0x904]
add ebx, dword [rbp + 0x8f8]
mov rcx, rdi
add r13d, r12d
call qword [fcn.140015690]
lea rcx, [rbp + 0x8fc]
mov r8d, ebx
mov edx, r13d
call rdi
jmp 0x14009553c
mov rcx, rdi
call qword [fcn.140015690]
mov r8d, dword [rbp - 0x68]
mov edx, dword [rbp + 8]
lea rcx, [rbp + 0x8ec]
call rdi
mov rbx, qword [fcn.14006c2a0]
mov edi, dword [rbp]
add edi, dword [rbp + 0x8f8]
mov rcx, rbx
call qword [fcn.140015690]
mov edx, dword [rbp + 8]
lea rcx, [rbp + 0x8fc]
mov r8d, edi
call rbx
mov ecx, dword [rbp - 0x64]
mov ebx, 1
lea eax, [rcx - 2]
cmp eax, ebx
jbe 0x140095854
cmp ecx, ebx
jne 0x140095871
lea r8d, [rbx + 0x5b]
lea rcx, [rbp + 0xee0]
xor edx, edx
mov dword [rbp + 0x8e8], 0xffffff
call sub.msvcrt.dll_memset
mov rdi, qword [0x140148e30]
mov rcx, rdi
mov esi, r14d
call qword [fcn.140015690]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call rdi
mov rbx, rax
test rax, rax
jne 0x1400955c4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, dword [rbp + 0x40]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140095a76
mov esi, 0x80004005
jmp 0x140095670
mov rdi, qword [0x140148dd8]
mov rcx, rdi
call qword [fcn.140015690]
mov r13d, dword [rbp + 0x40]
mov r8d, 0x48
lea ecx, [r8 - 0x3d]
mov edx, r13d
call rdi
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0xefc]
neg eax
mov edx, 0x20
mov dword [rbp + 0xef0], 0x190
mov dword [rbp + 0xee0], eax
mov byte [rbp + 0xefa], 5
call fcn.140044bb0
mov rdi, qword [0x140148d40]
mov rcx, rdi
call qword [fcn.140015690]
lea rcx, [rbp + 0xee0]
call rdi
test rax, rax
jne 0x140095652
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x140095659
mov esi, 0x80004005
jmp 0x140095659
mov qword [rbp + 0x8e0], rax
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rbx
xor ecx, ecx
call rdi
test esi, esi
js 0x140095a76
mov rdi, qword [0x140148d98]
mov rbx, qword [rbp + 0x8c8]
mov dword [rbp + 0x914], r12d
mov rcx, rdi
mov esi, r14d
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x8e0]
mov rcx, qword [rbp + 0x78]
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
mov r12, rax
call qword [fcn.140015690]
mov rdx, rbx
mov rbx, qword [rbp + 0x78]
lea r9, [rbp + 0x90c]
or r8d, 0xffffffff
mov rcx, rbx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x460
call rdi
test eax, eax
mov eax, 0x80004005
cmove esi, eax
test r12, r12
je 0x140095704
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, r12
mov rcx, rbx
call rdi
test esi, esi
js 0x140095a76
mov eax, dword [rbp + 0x914]
mov rdi, qword [0x140148dd8]
mov ecx, 0x5a
add eax, 0x18
cmp eax, ecx
cmovl eax, ecx
mov dword [rbp + 0x914], eax
lea eax, [rcx - 0x3a]
mov rcx, rdi
mov dword [rbp + 0x918], eax
call qword [fcn.140015690]
mov ecx, dword [rbp + 0x90c]
mov ebx, 0x60
mov edx, r13d
mov r8d, ebx
call rdi
mov rdi, qword [0x140148dd8]
mov rcx, rdi
mov dword [rbp + 0x90c], eax
call qword [fcn.140015690]
mov ecx, dword [rbp + 0x910]
mov r8d, ebx
mov edx, r13d
call rdi
mov rdi, qword [0x140148dd8]
mov rcx, rdi
mov dword [rbp + 0x910], eax
call qword [fcn.140015690]
mov ecx, dword [rbp + 0x914]
mov r8d, ebx
mov edx, r13d
call rdi
mov rdi, qword [0x140148dd8]
mov rcx, rdi
mov dword [rbp + 0x914], eax
call qword [fcn.140015690]
mov ecx, dword [rbp + 0x918]
mov r8d, ebx
mov edx, r13d
call rdi
mov dword [rbp + 0x918], eax
cmp dword [rbp + 0x8b0], r14d
je 0x14009580e
mov esi, dword [rbp + 0x8fc]
mov rbx, qword [fcn.14006c2a0]
mov edi, dword [rbp + 0x908]
cmp dword [rbp + 0x8ec], esi
mov rcx, rbx
cmovl esi, dword [rbp + 0x8ec]
call qword [fcn.140015690]
lea r8d, [rdi + 0x24]
lea rcx, [rbp + 0x90c]
mov edx, esi
call rbx
mov ecx, dword [rbp - 0x64]
mov ebx, 1
jmp 0x140095871
mov esi, dword [rbp + 0x904]
mov rdi, qword [fcn.14006c2a0]
mov ebx, dword [rbp + 0x908]
cmp dword [rbp + 0x8f4], esi
mov rcx, rdi
cmovg esi, dword [rbp + 0x8f4]
sub esi, dword [rbp + 0x914]
add esi, dword [rbp + 0x90c]
call qword [fcn.140015690]
lea r8d, [rbx + 0x24]
lea rcx, [rbp + 0x90c]
mov edx, esi
call rdi
jmp 0x140095804
mov eax, dword [rbp + 0x908]
mov dword [rbp + 0xd18], r12d
mov dword [rbp + 0x8e8], 0xffa8a8a8
mov dword [rbp + 0xd1c], eax
mov r13d, dword [rbp + 0x8b0]
mov r12d, dword [rbp + 0xd1c]
mov esi, dword [rbp + 0xd18]
dec ecx
je 0x140095a68
dec ecx
je 0x140095965
dec ecx
jne 0x140095a73
lea r8d, [rcx + 0x24]
lea rcx, [rbp + 0xdfc]
xor edx, edx
mov dword [rbp + 0xdf8], r14d
call sub.msvcrt.dll_memset
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, ebx
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov dword [rbp + 0xdf8], 0x28
mov rcx, rdi
mov rbx, rax
call qword [fcn.140015690]
lea rdx, [rbp + 0xdf8]
mov rcx, rbx
call rdi
test eax, eax
je 0x140095a73
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xe0c]
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xe14]
xor ecx, ecx
call rdi
mov eax, dword [rbp + 0xe14]
sub eax, esi
imul ecx, eax, 0x32
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov rcx, qword [rbp + 0xe14]
shr rcx, 0x20
sub ecx, r12d
imul ecx, ecx, 0x32
jmp 0x140095a49
xor edx, edx
lea rcx, [rbp + 0xda4]
mov dword [rbp + 0xda0], r14d
lea r8d, [rdx + 0x24]
call sub.msvcrt.dll_memset
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, ebx
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov dword [rbp + 0xda0], 0x28
mov rcx, rdi
mov rbx, rax
call qword [fcn.140015690]
lea rdx, [rbp + 0xda0]
mov rcx, rbx
call rdi
test eax, eax
je 0x140095a73
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xdb4]
xor ecx, ecx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
lea rdx, [rbp + 0xdbc]
xor ecx, ecx
call rdi
mov eax, dword [rbp + 0xdbc]
test r13d, r13d
je 0x140095a22
lea ecx, [rax + rax*4]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, dword [rbp + 0xdb4]
jmp 0x140095a38
sub eax, esi
imul ecx, eax, 0x5f
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rbp + 0xdbc]
shr rax, 0x20
sub eax, r12d
imul ecx, eax, 0x5f
mov dword [rbp + 0xd10], edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0xd14], edx
jmp 0x140095a73
mov qword [rbp + 0xd10], 0
mov esi, r14d
mov r13d, dword [rbp - 0x64]
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x78]
xor ecx, ecx
call rdi
lea rcx, [rbp + 0x3c8]
call fcn.140104374
test esi, esi
js 0x140097560
mov rdi, qword [rbp + 0xd10]
xor edx, edx
lea rcx, [rbp + 0x924]
lea r8d, [rdx + 0x64]
mov qword [rbp - 0x60], rdi
mov dword [rbp + 0x920], r14d
call sub.msvcrt.dll_memset
mov rbx, qword [0x140148d70]
mov esi, 1
mov rcx, rbx
call qword [fcn.140015690]
mov rcx, qword [rbp + 0xc0]
lea edx, [rsi + 6]
call rbx
mov r12, rax
test rax, rax
je 0x140095b3d
mov rbx, qword [0x140148d88]
mov rcx, rbx
call qword [fcn.140015690]
lea r8, [rbp + 0x920]
lea edx, [rsi + 0x67]
mov rcx, r12
call rbx
test eax, eax
je 0x140095b3d
lea eax, [rsi + 0x1f]
cmp word [rbp + 0x932], ax
jne 0x140095b3d
cmp qword [rbp + 0x938], r14
je 0x140095b3d
cmp dword [rbp + 0x924], r14d
jle 0x140095b3d
cmp dword [rbp + 0x928], r14d
jg 0x140095b40
mov esi, r14d
mov dword [rbp + 0x268], esi
test esi, esi
mov esi, 1
jne 0x140095b54
cmp r13d, esi
jne 0x140095bc4
mov rbx, qword [fcn.14006c2a0]
mov rcx, rbx
call qword [fcn.140015690]
mov r8d, dword [rbp - 0x5c]
lea rcx, [rbp + 0x8ec]
mov edx, edi
call rbx
mov rbx, qword [fcn.14006c2a0]
mov rcx, rbx
call qword [fcn.140015690]
mov r8d, dword [rbp - 0x5c]
lea rcx, [rbp + 0x8fc]
mov edx, edi
call rbx
cmp r13d, esi
jne 0x140095bc4
mov eax, dword [rbp + 0x8b4]
mov rdi, qword [0x140148d48]
neg eax
mov rcx, rdi
sbb ebx, ebx
not ebx
and ebx, 0xb26720
call qword [fcn.140015690]
mov ecx, ebx
call rdi
mov qword [rbp + 0xd8], rax
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov rbx, qword [rbp + 0xc0]
mov edx, esi
mov rcx, rbx
call rdi
cmp dword [rbp + 0x8b0], r14d
mov ecx, 0x20812
mov dword [rbp + 0x1140], eax
mov eax, 0x810
cmovne eax, ecx
mov dword [rbp + 0x68], eax
cmp dword [rbp + 0x268], r14d
je 0x1400966df
mov eax, dword [rbp + 0x8b4]
mov r12, qword [rbp + 0x8b8]
mov edi, 0x64
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x8d0]
lea rcx, [rbp + 0xae4]
mov r8d, edi
xor edx, edx
mov dword [rbp + 0xae0], r14d
mov qword [rsp + 0x68], rax
call sub.msvcrt.dll_memset
lea rcx, [rbp + 0xb54]
mov r8d, edi
xor edx, edx
mov dword [rbp + 0xb50], r14d
call sub.msvcrt.dll_memset
lea r8d, [rdi - 0x38]
lea rcx, [rbp + 0xe50]
xor edx, edx
mov qword [rbp - 0x28], r14
mov dword [rbp - 0x70], r14d
mov esi, r14d
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xd60], 0
mov qword [rbp + 0xd68], rax
test r12, r12
je 0x14009753f
mov rdi, qword [0x140148d70]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 7
mov rcx, rbx
call rdi
mov rbx, rax
test rax, rax
jne 0x140095cc4
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14009753f
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0xae0]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x140095d03
mov rax, qword [rbp + 0xaf8]
mov esi, dword [rbp + 0xae8]
mov qword [rbp - 0x28], rax
mov eax, dword [rbp + 0xae4]
mov dword [rbp - 0x70], eax
mov rdi, qword [0x140148d30]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0xc0]
call rdi
mov rbx, rax
mov qword [rbp - 0x60], rax
test rax, rax
je 0x140095cb9
xor edx, edx
lea rcx, [rbp + 0xe50]
mov qword [rbp + 0x618], r14
lea r8d, [rdx + 0x2c]
mov r13d, r14d
call sub.msvcrt.dll_memset
mov eax, dword [rbp + 0x8f4]
mov rdi, qword [0x140148d38]
sub eax, dword [rbp + 0x8ec]
mov rcx, rdi
mov dword [rbp + 0xe50], 0x28
mov dword [rbp + 0xe54], eax
mov eax, dword [rbp + 0x8f0]
mov dword [rbp + 0xe5c], 0x200001
sub eax, dword [rbp + 0x8f8]
mov dword [rbp + 0xe58], eax
call qword [fcn.140015690]
lea r9, [rbp + 0x618]
lea rdx, [rbp + 0xe50]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
call rdi
mov qword [rbp - 0x20], rax
test rax, rax
jne 0x140095de0
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r13d, ax
or r13d, 0x80070000
test eax, eax
cmovle r13d, eax
test r13d, r13d
js 0x140096158
mov r13d, 0x80004005
jmp 0x140096158
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x20]
lea r8, [rbp + 0xb50]
mov edx, 0x68
call rdi
mov rdi, qword [0x140148d98]
mov rcx, r14
test eax, eax
mov eax, dword [rbp + 0x8f4]
cmovne rcx, qword [rbp + 0xb68]
sub eax, dword [rbp + 0x8ec]
mov dword [rbp + 0xd68], eax
mov eax, dword [rbp + 0x8f8]
mov qword [rsp + 0x70], rcx
sub eax, dword [rbp + 0x8f0]
mov rcx, rdi
mov dword [rbp + 0xd6c], eax
call qword [fcn.140015690]
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d90]
mov rcx, rdi
mov qword [rbp + 0x50], rax
call qword [fcn.140015690]
xor ecx, ecx
call rdi
mov rbx, qword [0x140148e20]
mov rcx, rbx
mov rdi, rax
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x60]
lea rdx, [rbp + 0xd60]
mov r8, rdi
call rbx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov eax, dword [rbp + 0x68]
mov rbx, qword [rbp - 0x60]
lea r9, [rbp + 0xd60]
mov rcx, rbx
or r8d, 0xffffffff
mov rdx, r12
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
call rdi
mov ecx, 1
cmp dword [rbp - 0x64], ecx
jne 0x140095f2a
cmp dword [rbp - 0x78], r14d
je 0x140095f22
mov rdi, qword [0x140148e50]
mov rcx, rdi
call qword [fcn.140015690]
mov ecx, 8
call rdi
mov r12d, eax
mov dword [rbp + 0x40], eax
jmp 0x140095f34
mov r12d, 0xffffff
jmp 0x140095f30
mov r12d, 0xffa8a8a8
mov dword [rbp + 0x40], r12d
mov r8d, dword [rbp + 0x8ec]
mov edx, dword [rbp + 0x8f0]
mov edi, r14d
mov ecx, r14d
test r8d, r8d
jns 0x140095f54
mov edi, r8d
mov r8d, r14d
neg edi
test edx, edx
jns 0x140095f5f
mov ecx, edx
mov edx, r14d
neg ecx
movsxd r11, dword [rbp + 0xd68]
movsxd r9, dword [rbp - 0x70]
mov eax, r11d
mov r10d, r9d
sub eax, edi
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xd6c]
sub esi, edx
sub eax, ecx
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x140096121
test esi, esi
jle 0x140096121
mov eax, r11d
imul edx, r9d
imul eax, ecx
movsxd rcx, eax
movsxd rax, edi
add rcx, rax
mov rax, qword [rsp + 0x70]
lea rdi, [rax + rcx*4]
movsxd rax, r8d
movsxd rcx, edx
add rcx, rax
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x60], rdi
lea rax, [rax + rcx*4]
mov qword [rbp - 0x28], rax
test esi, esi
jle 0x140096121
mov rcx, r11
mov rdx, r9
mov r8d, esi
shl rcx, 2
shl rdx, 2
mov qword [rbp - 0x78], r8
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rcx
mov r15d, 1
test r10d, r10d
jle 0x140096101
mov r11, rdi
lea r9, [rax + 2]
mov esi, r10d
sub r11, rax
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x1400960de
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r12b
sub ecx, edi
mov eax, 0x80808081
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x41]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x42]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
add r9, 4
sub rsi, r15
jne 0x140096014
mov rax, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x60]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x78]
add rdi, rcx
add rax, rdx
sub r8, r15
mov qword [rbp - 0x78], r8
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x28], rax
jne 0x140095ffe
mov r15d, dword [rsp + 0x60]
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x20]
call rdi
mov rsi, qword [rbp + 0x50]
test rsi, rsi
je 0x140096158
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
test r13d, r13d
js 0x14009753f
mov eax, dword [rbp + 0x8b4]
mov r13, qword [rbp + 0x8c0]
mov edi, 0x64
mov dword [rbp - 0x78], eax
mov rax, qword [rbp + 0x8d8]
lea rcx, [rbp + 0x994]
mov r8d, edi
xor edx, edx
mov dword [rbp + 0x990], r14d
mov qword [rsp + 0x68], rax
call sub.msvcrt.dll_memset
lea rcx, [rbp + 0xbc4]
mov r8d, edi
xor edx, edx
mov dword [rbp + 0xbc0], r14d
call sub.msvcrt.dll_memset
lea r8d, [rdi - 0x38]
lea rcx, [rbp + 0xeb0]
xor edx, edx
mov qword [rbp - 0x60], r14
mov dword [rbp - 0x70], r14d
mov esi, r14d
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xd80], 0
mov qword [rbp + 0xd88], rax
test r13, r13
je 0x14009753f
mov rdi, qword [0x140148d70]
mov rcx, rdi
call qword [fcn.140015690]
mov r12, qword [rbp + 0xc0]
mov edx, 7
mov rcx, r12
call rdi
mov rbx, rax
test rax, rax
je 0x140095cb9
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0x990]
mov edx, 0x68
mov rcx, rbx
call rdi
test eax, eax
je 0x14009626d
mov rax, qword [rbp + 0x9a8]
mov esi, dword [rbp + 0x998]
mov qword [rbp - 0x60], rax
mov eax, dword [rbp + 0x994]
mov dword [rbp - 0x70], eax
mov rdi, qword [0x140148d30]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, r12
call rdi
mov rbx, rax
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140095cb9
xor edx, edx
lea rcx, [rbp + 0xeb0]
mov qword [rbp + 0x6c8], r14
lea r8d, [rdx + 0x2c]
mov r12d, r14d
call sub.msvcrt.dll_memset
mov eax, dword [rbp + 0x904]
mov rdi, qword [0x140148d38]
sub eax, dword [rbp + 0x8fc]
mov rcx, rdi
mov dword [rbp + 0xeb0], 0x28
mov dword [rbp + 0xeb4], eax
mov eax, dword [rbp + 0x900]
mov dword [rbp + 0xebc], 0x200001
sub eax, dword [rbp + 0x908]
mov dword [rbp + 0xeb8], eax
call qword [fcn.140015690]
lea r9, [rbp + 0x6c8]
lea rdx, [rbp + 0xeb0]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
call rdi
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x14009634a
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x1400966bc
mov r12d, 0x80004005
jmp 0x1400966bc
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x28]
lea r8, [rbp + 0xbc0]
mov edx, 0x68
call rdi
mov rdi, qword [0x140148d98]
mov rcx, r14
test eax, eax
mov eax, dword [rbp + 0x904]
cmovne rcx, qword [rbp + 0xbd8]
sub eax, dword [rbp + 0x8fc]
mov dword [rbp + 0xd88], eax
mov eax, dword [rbp + 0x908]
mov qword [rsp + 0x70], rcx
sub eax, dword [rbp + 0x900]
mov rcx, rdi
mov dword [rbp + 0xd8c], eax
call qword [fcn.140015690]
mov rdx, qword [rbp - 0x28]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d90]
mov rcx, rdi
mov qword [rbp + 0x50], rax
call qword [fcn.140015690]
xor ecx, ecx
call rdi
mov rbx, qword [0x140148e20]
mov rcx, rbx
mov rdi, rax
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x20]
lea rdx, [rbp + 0xd80]
mov r8, rdi
call rbx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov eax, dword [rbp + 0x68]
mov rbx, qword [rbp - 0x20]
lea r9, [rbp + 0xd80]
mov rcx, rbx
or r8d, 0xffffffff
mov rdx, r13
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
call rdi
mov eax, 1
cmp dword [rbp - 0x64], eax
jne 0x14009648f
cmp dword [rbp - 0x78], r14d
je 0x140096486
mov rdi, qword [0x140148e50]
mov rcx, rdi
call qword [fcn.140015690]
mov ecx, 8
call rdi
jmp 0x140096494
mov dword [rbp + 0x40], 0xffffff
jmp 0x14009649d
mov eax, 0xffa8a8a8
mov dword [rbp + 0x40], eax
mov dword [rbp + 0xe0], eax
mov r8d, dword [rbp + 0x8fc]
mov edx, dword [rbp + 0x900]
mov edi, r14d
mov ecx, r14d
test r8d, r8d
jns 0x1400964bd
mov edi, r8d
mov r8d, r14d
neg edi
test edx, edx
jns 0x1400964c8
mov ecx, edx
mov edx, r14d
neg ecx
movsxd r11, dword [rbp + 0xd88]
movsxd r9, dword [rbp - 0x70]
mov eax, r11d
mov r10d, r9d
sub eax, edi
sub r10d, r8d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xd8c]
sub esi, edx
sub eax, ecx
cmp eax, esi
cmovl esi, eax
test r10d, r10d
jle 0x140096685
test esi, esi
jle 0x140096685
imul ecx, r11d
movsxd rax, edi
imul edx, r9d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rsp + 0x70]
lea rdi, [rax + rcx*4]
movsxd rax, r8d
movsxd rcx, edx
add rcx, rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x78], rdi
lea r13, [rax + rcx*4]
test esi, esi
jle 0x140096685
mov r15d, dword [rbp + 0xe0]
mov rax, r11
mov rcx, r9
shl rax, 2
mov edx, esi
shl rcx, 2
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x60], rdx
mov ebx, 1
test r10d, r10d
jle 0x140096665
mov r11, rdi
lea r9, [r13 + 2]
mov esi, r10d
sub r11, r13
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x140096646
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r15b
sub ecx, edi
mov eax, 0x80808081
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x41]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x42]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
add r9, 4
sub rsi, rbx
jne 0x14009657c
mov rdi, qword [rbp - 0x78]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x60]
add rdi, rax
add r13, rcx
sub rdx, rbx
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x78], rdi
jne 0x140096566
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rbp - 0x20]
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x28]
call rdi
mov rsi, qword [rbp + 0x50]
test rsi, rsi
je 0x1400966bc
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
test r12d, r12d
js 0x14009753f
jmp 0x1400974de
cmp dword [rbp + 0x8b4], r14d
jne 0x1400966ef
mov al, 0xc0
cmp r13d, esi
jne 0x1400966f1
mov al, 0xff
mov rdi, qword [0x140148d30]
mov byte [rbp + 0x7a], al
xor eax, eax
xor r12d, r12d
mov rcx, rdi
mov byte [rbp + 0x7b], sil
mov word [rbp + 0x78], 0
mov r13d, r14d
mov qword [rbp + 0xd24], rax
mov esi, r14d
mov qword [rbp + 0xd38], r12
mov dword [rbp + 0xd2c], eax
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov qword [rbp + 0x90], rax
test rax, rax
jne 0x140096749
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14009753f
mov eax, 1
cmp dword [rbp - 0x64], eax
jne 0x1400967e4
mov ecx, dword [rbp + 0x904]
mov eax, dword [rbp + 0x8f4]
mov edx, dword [rbp + 0x908]
sub ecx, dword [rbp + 0x8fc]
sub eax, dword [rbp + 0x8ec]
mov r8d, dword [rbp + 0x8f0]
cmp ecx, eax
mov edi, eax
cmovg edi, ecx
sub edx, r8d
mov dword [rbp - 0x68], edx
mov dword [rbp + 8], edi
cmp dword [rbp + 0x8b0], r14d
je 0x1400967b4
mov esi, dword [rbp + 0x8ec]
mov r13d, dword [rbp + 0x8fc]
sub esi, dword [rbp + 0x8f4]
sub r13d, dword [rbp + 0x904]
add esi, edi
add r13d, edi
mov ebx, dword [rbp + 0x8f8]
lea edx, [rax + rsi]
lea eax, [rcx + r13]
mov dword [rbp], eax
mov eax, dword [rbp + 0x900]
sub ebx, r8d
sub eax, r8d
mov dword [rbp - 0x78], eax
sub eax, dword [rbp + 0x900]
add eax, dword [rbp + 0x908]
mov dword [rbp - 0x70], eax
jmp 0x14009684f
mov eax, dword [rbp + 0xd1c]
movups xmm1, xmmword [rbp + 0x8fc]
movups xmm0, xmmword [rbp + 0x8ec]
mov edi, dword [rbp + 0xd18]
mov dword [rbp - 0x68], eax
mov dword [rbp + 8], edi
movdqu xmmword [rbp + 0xd20], xmm1
movdqu xmmword [rbp + 0xd30], xmm0
mov eax, dword [rbp + 0xd2c]
mov ebx, dword [rbp + 0xd3c]
mov edx, dword [rbp + 0xd38]
mov r12d, dword [rbp + 0xd34]
mov esi, dword [rbp + 0xd30]
mov r13d, dword [rbp + 0xd20]
mov dword [rbp - 0x70], eax
mov eax, dword [rbp + 0xd28]
mov dword [rbp], eax
mov eax, dword [rbp + 0xd24]
mov dword [rbp - 0x78], eax
mov dword [rbp + 0x40], edx
xor edx, edx
lea rcx, [rbp + 0xdc8]
lea r8d, [rdx + 0x2c]
mov qword [rbp + 0x628], r14
call sub.msvcrt.dll_memset
mov eax, dword [rbp - 0x68]
mov dword [rbp + 0xdcc], edi
mov rdi, qword [0x140148d38]
neg eax
mov dword [rbp + 0xdc8], 0x28
mov rcx, rdi
mov dword [rbp + 0xdd0], eax
mov dword [rbp + 0xdd4], 0x200001
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x90]
lea r9, [rbp + 0x628]
lea rdx, [rbp + 0xdc8]
xor r8d, r8d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
call rdi
mov qword [rbp + 0x98], rax
test rax, rax
jne 0x1400968db
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14009751e
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x90]
call rdi
mov eax, 1
cmp dword [rbp - 0x64], eax
jne 0x14009695d
cmp qword [rbp + 0xd8], r14
je 0x14009695d
mov rdi, qword [0x140148e20]
xor eax, eax
mov qword [rbp + 0xd94], rax
mov dword [rbp + 0xd9c], eax
mov qword [rbp + 0xd90], rax
mov eax, dword [rbp + 8]
mov rcx, rdi
mov dword [rbp + 0xd98], eax
mov eax, dword [rbp - 0x68]
mov dword [rbp + 0xd9c], eax
call qword [fcn.140015690]
mov r8, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0x90]
lea rdx, [rbp + 0xd90]
call rdi
mov eax, dword [rbp + 0x8b4]
mov rdi, qword [rbp + 0x8b8]
xor edx, edx
mov dword [rbp + 0x2c], eax
mov rax, qword [rbp + 0x8d0]
lea r8d, [rdx + 0x64]
lea rcx, [rbp + 0xa04]
mov qword [rbp + 0xd30], rdi
mov dword [rbp + 0xa00], r14d
mov qword [rbp + 0x108], rax
call sub.msvcrt.dll_memset
xor edx, edx
lea rcx, [rbp + 0xca4]
lea r8d, [rdx + 0x64]
mov dword [rbp + 0xca0], r14d
call sub.msvcrt.dll_memset
xor edx, edx
lea rcx, [rbp + 0xe80]
lea r8d, [rdx + 0x2c]
mov qword [rbp - 0x60], r14
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x68], r14d
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xd78], rax
mov qword [rbp + 0xd70], 0
test rdi, rdi
je 0x1400974fd
mov rdi, qword [0x140148d70]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x90]
mov edx, 7
call rdi
mov qword [rbp - 0x20], rax
test rax, rax
jne 0x140096a23
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400974fd
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x20]
lea r8, [rbp + 0xa00]
mov edx, 0x68
call rdi
test eax, eax
je 0x140096a68
mov rax, qword [rbp + 0xa18]
mov qword [rbp - 0x60], rax
mov eax, dword [rbp + 0xa04]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0xa08]
mov dword [rsp + 0x68], eax
mov rdi, qword [0x140148d30]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x90]
call rdi
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140096a18
xor edx, edx
lea rcx, [rbp + 0xe80]
mov qword [rbp + 0x698], r14
lea r8d, [rdx + 0x2c]
mov dword [rbp + 0x50], r14d
call sub.msvcrt.dll_memset
mov eax, dword [rbp + 0x40]
mov rdi, qword [0x140148d38]
sub eax, esi
mov rcx, rdi
mov dword [rbp + 0xe80], 0x28
mov dword [rbp + 0x40], eax
mov dword [rbp + 0xe84], eax
mov eax, r12d
sub eax, ebx
mov dword [rbp + 0xe8c], 0x200001
mov dword [rbp + 0xe88], eax
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x28]
lea r9, [rbp + 0x698]
lea rdx, [rbp + 0xe80]
xor r8d, r8d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
call rdi
mov qword [rbp - 0x20], rax
test rax, rax
jne 0x140096b39
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp + 0x50], ecx
test ecx, ecx
js 0x140096eb4
mov dword [rbp + 0x50], 0x80004005
jmp 0x140096eb4
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x20]
lea r8, [rbp + 0xca0]
mov edx, 0x68
call rdi
mov edx, dword [rbp + 0x40]
mov rdi, qword [0x140148d98]
test eax, eax
mov rcx, r14
mov dword [rbp + 0xd78], edx
cmovne rcx, qword [rbp + 0xcb8]
sub ebx, r12d
mov qword [rbp + 0xd20], rcx
mov rcx, rdi
mov dword [rbp + 0xd7c], ebx
call qword [fcn.140015690]
mov rbx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0x108]
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d90]
mov rcx, rdi
mov qword [rbp + 0x108], rax
call qword [fcn.140015690]
xor ecx, ecx
call rdi
mov rbx, qword [0x140148e20]
mov rcx, rbx
mov rdi, rax
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x28]
lea rdx, [rbp + 0xd70]
mov r8, rdi
call rbx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov eax, dword [rbp + 0x68]
mov rbx, qword [rbp - 0x28]
mov rdx, qword [rbp + 0xd30]
lea r9, [rbp + 0xd70]
mov rcx, rbx
or r8d, 0xffffffff
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
call rdi
mov eax, 1
cmp dword [rbp - 0x64], eax
jne 0x140096c7e
cmp dword [rbp + 0x2c], r14d
je 0x140096c75
mov rdi, qword [0x140148e50]
mov rcx, rdi
call qword [fcn.140015690]
mov ecx, 8
call rdi
mov dword [rbp + 0x2c], eax
jmp 0x140096c85
mov dword [rbp + 0x2c], 0xffffff
jmp 0x140096c85
mov dword [rbp + 0x2c], 0xffa8a8a8
mov edi, r14d
mov ecx, r14d
test esi, esi
jns 0x140096c96
mov edi, esi
mov esi, r14d
neg edi
test r12d, r12d
jns 0x140096ca3
mov ecx, r12d
mov r12d, r14d
neg ecx
movsxd r8, dword [rbp + 0xd78]
movsxd r9, dword [rsp + 0x70]
mov edx, dword [rsp + 0x68]
mov eax, r8d
mov r10d, r9d
sub eax, edi
sub r10d, esi
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xd7c]
sub edx, r12d
sub eax, ecx
cmp eax, edx
cmovl edx, eax
test r10d, r10d
jle 0x140096e7a
test edx, edx
jle 0x140096e7a
imul ecx, r8d
movsxd rax, edi
imul r12d, r9d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0xd20]
lea rdi, [rax + rcx*4]
movsxd rcx, r12d
movsxd rax, esi
add rcx, rax
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x68], rdi
lea r12, [rax + rcx*4]
test edx, edx
jle 0x140096e7a
mov esi, dword [rbp + 0x2c]
mov rax, r8
mov rcx, r9
shl rax, 2
shl rcx, 2
mov qword [rsp + 0x70], rdx
mov qword [rbp + 0xd30], rcx
mov qword [rbp + 0xd20], rax
mov r15d, 1
test r10d, r10d
jle 0x140096e5c
mov r11, rdi
mov edi, r10d
lea r9, [r12 + 2]
mov qword [rbp - 0x60], rdi
sub r11, r12
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x140096e33
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, sil
sub ecx, edi
mov eax, 0x80808081
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x2d]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x2e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x60]
mov byte [r9 + 1], dl
add r9, 4
sub rdi, r15
mov qword [rbp - 0x60], rdi
jne 0x140096d65
mov rdi, qword [rsp + 0x68]
mov rax, qword [rbp + 0xd20]
mov rcx, qword [rbp + 0xd30]
mov rdx, qword [rsp + 0x70]
add rdi, rax
add r12, rcx
sub rdx, r15
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x68], rdi
jne 0x140096d4a
mov r15d, dword [rsp + 0x60]
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x20]
call rdi
mov rsi, qword [rbp + 0x108]
test rsi, rsi
je 0x140096eb4
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x28]
call rdi
cmp dword [rbp + 0x50], r14d
jl 0x1400974fd
mov eax, dword [rbp + 0x8b4]
mov rdi, qword [rbp + 0x8c0]
mov ebx, 0x64
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 0x8d8]
lea rcx, [rbp + 0xa74]
mov r8d, ebx
xor edx, edx
mov qword [rbp + 0xd30], rdi
mov qword [rbp + 0xd20], rax
mov dword [rbp + 0xa70], r14d
call sub.msvcrt.dll_memset
lea rcx, [rbp + 0xc34]
mov r8d, ebx
xor edx, edx
mov dword [rbp + 0xc30], r14d
call sub.msvcrt.dll_memset
lea esi, [rbx - 0x38]
lea rcx, [rbp + 0xe20]
mov r8d, esi
xor edx, edx
mov qword [rbp - 0x60], r14
mov dword [rsp + 0x68], r14d
mov r12d, r14d
call sub.msvcrt.dll_memset
xor eax, eax
mov qword [rbp + 0xd50], 0
mov qword [rbp + 0xd58], rax
test rdi, rdi
je 0x1400974fd
mov rdi, qword [0x140148d70]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x90]
lea edx, [rbx - 0x5d]
call rdi
mov rbx, rax
test rax, rax
je 0x140096a18
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
lea r8, [rbp + 0xa70]
lea edx, [rsi + 0x3c]
mov rcx, rbx
call rdi
test eax, eax
je 0x140096fd3
mov rax, qword [rbp + 0xa88]
mov r12d, dword [rbp + 0xa78]
mov qword [rbp - 0x60], rax
mov eax, dword [rbp + 0xa74]
mov dword [rsp + 0x68], eax
mov rdi, qword [0x140148d30]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x90]
call rdi
mov rbx, rax
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140096a18
lea rcx, [rbp + 0xe20]
mov r8, rsi
xor edx, edx
mov qword [rbp + 0x6e8], r14
mov dword [rbp + 0x50], r14d
call sub.msvcrt.dll_memset
mov eax, dword [rbp]
mov esi, dword [rbp - 0x78]
mov rdi, qword [0x140148d38]
sub eax, r13d
mov rcx, rdi
mov dword [rbp + 0xe20], 0x28
mov dword [rbp], eax
mov dword [rbp + 0xe24], eax
mov eax, esi
sub eax, dword [rbp - 0x70]
mov dword [rbp + 0xe2c], 0x200001
mov dword [rbp + 0xe28], eax
call qword [fcn.140015690]
lea r9, [rbp + 0x6e8]
lea rdx, [rbp + 0xe20]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], r14
call rdi
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x1400970ad
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rbp + 0x50], ecx
test ecx, ecx
js 0x14009740c
mov dword [rbp + 0x50], 0x80004005
jmp 0x14009740c
mov rdi, qword [0x140148d88]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x28]
lea r8, [rbp + 0xc30]
mov edx, 0x68
call rdi
mov rdi, qword [0x140148d98]
mov rcx, r14
test eax, eax
mov eax, dword [rbp]
cmovne rcx, qword [rbp + 0xc48]
mov dword [rbp + 0xd58], eax
mov eax, dword [rbp - 0x70]
sub eax, esi
mov qword [rbp + 0x108], rcx
mov rcx, rdi
mov dword [rbp + 0xd5c], eax
call qword [fcn.140015690]
mov rdx, qword [rbp - 0x28]
mov rcx, rbx
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 1
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0xd20]
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d90]
mov rcx, rdi
mov qword [rbp - 0x70], rax
call qword [fcn.140015690]
xor ecx, ecx
call rdi
mov rbx, qword [0x140148e20]
mov rcx, rbx
mov rdi, rax
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x20]
lea rdx, [rbp + 0xd50]
mov r8, rdi
call rbx
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov eax, dword [rbp + 0x68]
mov rbx, qword [rbp - 0x20]
mov rdx, qword [rbp + 0xd30]
lea r9, [rbp + 0xd50]
mov rcx, rbx
or r8d, 0xffffffff
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], eax
call rdi
mov eax, 1
cmp dword [rbp - 0x64], eax
jne 0x1400971eb
cmp dword [rsp + 0x70], r14d
je 0x1400971e2
mov rdi, qword [0x140148e50]
mov rcx, rdi
call qword [fcn.140015690]
mov ecx, 8
call rdi
jmp 0x1400971f0
mov dword [rbp + 0x68], 0xffffff
jmp 0x1400971f9
mov eax, 0xffa8a8a8
mov dword [rbp + 0x68], eax
mov dword [rbp + 0xe0], eax
mov edx, r14d
mov ecx, r14d
test r13d, r13d
jns 0x14009720c
mov edx, r13d
mov r13d, r14d
neg edx
test esi, esi
jns 0x140097217
mov ecx, esi
mov esi, r14d
neg ecx
movsxd rdi, dword [rbp + 0xd58]
movsxd r8, dword [rsp + 0x68]
mov eax, edi
mov r10d, r8d
sub eax, edx
sub r10d, r13d
cmp eax, r10d
cmovl r10d, eax
mov eax, dword [rbp + 0xd5c]
sub r12d, esi
sub eax, ecx
cmp eax, r12d
cmovl r12d, eax
test r10d, r10d
jle 0x1400973d5
test r12d, r12d
jle 0x1400973d5
imul ecx, edi
movsxd rax, edx
imul esi, r8d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp + 0x108]
lea rdx, [rax + rcx*4]
movsxd rcx, esi
movsxd rax, r13d
add rcx, rax
mov rax, qword [rbp - 0x60]
mov qword [rbp - 0x78], rdx
lea rsi, [rax + rcx*4]
test r12d, r12d
jle 0x1400973d5
mov r15d, dword [rbp + 0xe0]
mov r13, rdi
mov rax, r8
shl r13, 2
mov ecx, r12d
shl rax, 2
mov qword [rbp + 0xd20], rax
mov qword [rbp - 0x60], rcx
mov ebx, 1
test r10d, r10d
jle 0x1400973b5
mov r11, rdx
lea r9, [rsi + 2]
mov r12d, r10d
sub r11, rsi
movzx eax, byte [r9 + r11 - 2]
movzx ecx, byte [r9 + r11 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9 + r11]
add edx, eax
sar edx, 2
not dl
test dl, dl
je 0x140097399
movzx edi, byte [r9]
movzx r8d, dl
movzx ecx, r15b
sub ecx, edi
mov eax, 0x80808081
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x69]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9], dl
movzx edi, byte [r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp + 0x6a]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 1], dl
movzx edi, byte [r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r9 - 2], dl
movzx edi, byte [r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov byte [r9 + 1], dl
add r9, 4
sub r12, rbx
jne 0x1400972cf
mov rdx, qword [rbp - 0x78]
mov rax, qword [rbp + 0xd20]
mov rcx, qword [rbp - 0x60]
add rdx, r13
add rsi, rax
sub rcx, rbx
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x78], rdx
jne 0x1400972b9
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rbp - 0x20]
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp - 0x28]
call rdi
mov rsi, qword [rbp - 0x70]
test rsi, rsi
je 0x14009740c
mov rdi, qword [0x140148d98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, rsi
mov rcx, rbx
call rdi
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
cmp dword [rbp + 0x50], r14d
jl 0x1400974fd
mov eax, 1
cmp dword [rbp - 0x64], eax
jne 0x140097486
mov rdi, qword [0x140148d20]
mov rcx, rdi
call qword [fcn.140015690]
mov rax, qword [rbp + 0x90]
mov r9d, dword [rbp + 8]
mov r8d, dword [rbp + 0x8f0]
mov edx, dword [rbp + 0x8ec]
mov rcx, qword [rbp + 0xc0]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x20], eax
call rdi
jmp 0x1400974de
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov eax, dword [rbp + 0x78]
mov ecx, dword [rbp - 0x68]
mov r10, qword [rbp + 0x90]
mov r8d, dword [rbp + 0xd14]
mov edx, dword [rbp + 0xd10]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 8]
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], r10
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbp + 0xc0]
mov r9d, eax
call rdi
mov rdi, qword [fcn.14006c2a0]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, dword [rbp + 0x1140]
mov rcx, qword [rbp + 0xc0]
call rdi
mov rbx, qword [rbp + 0x98]
test rbx, rbx
je 0x14009751e
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov rbx, qword [rbp + 0x90]
test rbx, rbx
je 0x14009753f
mov rdi, qword [0x140148d50]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov rbx, qword [rbp + 0xd8]
test rbx, rbx
je 0x140097560
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, rbx
call rdi
mov rax, qword [rbp + 0x8b8]
or rbx, 0xffffffffffffffff
test rax, rax
je 0x1400975af
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x140097573
mov rdi, qword [rbp + 0x8b8]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x8b8]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x8b8], r14
mov rax, qword [rbp + 0x8c0]
test rax, rax
je 0x1400975fa
mov rcx, rbx
inc rcx
cmp word [rax + rcx*2], r14w
jne 0x1400975be
mov rdi, qword [rbp + 0x8c0]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x8c0]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x8c0], r14
mov rdi, qword [rbp + 0x8c8]
test rdi, rdi
je 0x14009763e
mov rcx, rbx
inc rcx
cmp word [rdi + rcx*2], r14w
jne 0x140097609
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x8c8]
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x8c8], r14
cmp qword [rbp + 0x8d0], r14
je 0x140097667
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x8d0]
call rdi
mov qword [rbp + 0x8d0], r14
cmp qword [rbp + 0x8d8], r14
je 0x140097690
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x8d8]
call rdi
mov qword [rbp + 0x8d8], r14
cmp qword [rbp + 0x8e0], r14
je 0x1400976b9
mov rdi, qword [0x140148d58]
mov rcx, rdi
call qword [fcn.140015690]
mov rcx, qword [rbp + 0x8e0]
call rdi
mov qword [rbp + 0x8e0], r14
mov rdi, qword [0x140148db8]
mov ebx, dword [0x14014ba88]
mov rcx, rdi
call qword [fcn.140015690]
call rdi
xor edx, edx
mov rdi, rax
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0x1108]
sub edi, dword [0x14014d208]
call sub.msvcrt.dll_memset
mov r13d, 1
mov dword [rbp + 0x1108], edi
mov rdi, qword [0x140148e08]
mov dword [rbp + 0x1100], r13d
mov rcx, rdi
mov dword [rbp + 0x1118], 0x4e33b984
mov dword [rbp + 0x1110], r13d
mov dword [rbp + 0x1128], r13d
mov dword [rbp + 0x1120], r13d
mov dword [rbp + 0x1138], ebx
mov dword [rbp + 0x1130], r13d
call qword [fcn.140015690]
lea r9, [rbp + 0x1100]
lea r8d, [r13 + 3]
mov edx, 0x2021
xor ecx, ecx
call rdi
mov rdi, qword [0x140148e98]
mov rcx, rdi
call qword [fcn.140015690]
mov rdx, qword [rbp + 0xc0]
xor ecx, ecx
call rdi
lea rcx, [rbp + 0x648]
call fcn.1400111a8
cmp dword [rbp + 0xc8], r14d
je 0x140099d8b
xor eax, eax
mov esi, LoadRegTypeLib
mov rdi, r14
mov qword [rbp - 8], rax
mov qword [rbp + 0x130], rax
mov qword [rbp + 0x138], rax
lea rax, [0x14014a510]
mov rbx, r14
mov qword [rbp - 0x10], 0
mov dword [rbp + 0x1e0], r14d
mov qword [rbp + 0x498], rsi
mov qword [rbp + 0x6a8], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov esi, 8
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r12, rax
test rax, rax
je 0x140099cff
mov r8, qword [rbp + 0x498]
mov rdx, qword [rbp + 0x6a8]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov ebx, dword [rbp + 0x498]
lea rax, [0x14014a658]
mov rdi, r12
mov qword [rsp + 0x70], r12
mov qword [rbp + 0x4a0], rsi
mov qword [rbp + 0x658], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, esi
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
test rax, rax
je 0x140099dba
mov r8, qword [rbp + 0x4a0]
mov rdx, qword [rbp + 0x658]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov esi, dword [rbp + 0x4a0]
mov qword [rsp + 0x68], r13
rdtsc
shl rdx, 0x20
lea r8, [rbp + 0x41c]
or rax, rdx
mov edx, 4
mov dword [rbp + 0x70], r14d
mov ecx, edx
mov qword [rbp + 0x668], rax
call fcn.1401043d0
test eax, eax
js 0x140099cfc
mov edx, dword [rbp + 0x41c]
mov ecx, dword [rbp + 0x70]
lea r8, [rbp + 0x70]
mov dword [rbp + 0x194], edx
call fcn.1401043d0
or eax, 0x10000000
jl 0x140099cfc
lea r8, [rbp + 0x454]
mov edx, ebx
mov ecx, 4
call fcn.1401043d0
test eax, eax
js 0x140099cfc
mov edx, dword [rbp + 0x454]
mov ecx, dword [rbp + 0x70]
lea r8, [rbp + 0x70]
mov dword [rbp + 0x194], edx
call fcn.1401043d0
or eax, 0x10000000
jl 0x140099cfc
lea r8, [rbp + 0x424]
mov edx, esi
mov ecx, 4
call fcn.1401043d0
test eax, eax
js 0x140099cfc
mov edx, dword [rbp + 0x424]
mov ecx, dword [rbp + 0x70]
lea r8, [rbp + 0x70]
mov dword [rbp + 0x194], edx
call fcn.1401043d0
or eax, 0x10000000
jl 0x140099cfc
mov edx, 8
lea r8, [rbp + 0x47c]
lea ecx, [rdx - 4]
call fcn.1401043d0
test eax, eax
js 0x140099cfc
mov edx, dword [rbp + 0x47c]
mov ecx, dword [rbp + 0x70]
lea r8, [rbp + 0x70]
mov dword [rbp + 0x194], edx
call fcn.1401043d0
or eax, 0x10000000
jl 0x140099cfc
mov eax, dword [rbp + 0x70]
mov dword [rbp - 0xc], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
je 0x140099cf9
lea rdx, [rbp + 0x2b0]
mov ecx, r14d
mov qword [rbp - 8], rax
mov dword [rbp - 0x10], ecx
mov dword [rbp + 0x2b0], 4
test rdx, rdx
je 0x140097a26
lea r8, [rbp + 0x7e0]
mov edx, 4
mov rcx, rax
mov qword [rbp + 0x6d8], rax
mov dword [rbp + 0x7d8], 4
call fcn.1401043f0
test eax, eax
js 0x140099cf9
mov edx, dword [rbp - 0xc]
mov rdi, qword [rbp + 0x6d8]
add rdx, qword [rbp - 8]
lea rcx, [rdi + 8]
cmp rcx, rdx
ja 0x140097db3
mov dword [rdi], 4
mov ecx, dword [rbp + 0x2b0]
mov rdx, qword [rbp + 0x7e0]
mov dword [rdx], ecx
mov ecx, dword [rbp - 0x10]
mov edi, 1
add ecx, edi
mov dword [rbp - 0x10], ecx
jmp 0x140097a30
mov eax, 0xc000000d
mov edi, 1
test eax, eax
js 0x140099cf9
test ebx, ebx
je 0x140097b54
cmp qword [rbp - 8], r14
jne 0x140097a90
mov edx, ebx
mov ebx, 4
lea r8, [rbp + 0x42c]
mov ecx, ebx
call fcn.1401043d0
test eax, eax
js 0x140099cf9
mov edx, dword [rbp + 0x42c]
mov ecx, dword [rbp - 0xc]
lea r8, [rbp - 0xc]
mov dword [rbp + 0x434], edx
call fcn.1401043d0
test eax, eax
js 0x140099cf9
mov ecx, dword [rbp - 0x10]
add ecx, edi
mov dword [rbp - 0x10], ecx
jmp 0x140097b66
mov rax, qword [rbp - 8]
mov edi, r14d
mov qword [rbp + 0x258], rax
test ecx, ecx
je 0x140097af4
mov edx, dword [rax]
lea r8, [rbp + 0x45c]
mov ecx, 4
call fcn.1401043d0
test eax, eax
js 0x140099cf9
mov eax, dword [rbp + 0x45c]
mov rcx, qword [rbp + 0x258]
lea r8, [rbp + 0x258]
mov edx, eax
mov dword [rbp + 0x434], eax
call fcn.1401043f0
test eax, eax
js 0x140099cf9
mov rax, qword [rbp + 0x258]
inc edi
cmp edi, dword [rbp - 0x10]
jb 0x140097aa2
lea r8, [rbp + 0x780]
mov edx, 4
mov rcx, rax
mov dword [rbp + 0x778], ebx
call fcn.1401043f0
mov edi, eax
test eax, eax
js 0x140099cf9
mov rax, qword [rbp + 0x258]
mov edx, dword [rbp - 0xc]
mov r8, rbx
add rdx, qword [rbp - 8]
lea rcx, [rax + 4]
add rcx, rbx
cmp rcx, rdx
ja 0x140097db3
mov dword [rax], ebx
mov rcx, qword [rbp + 0x780]
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x10]
inc ecx
mov dword [rbp - 0x10], ecx
jmp 0x140097b59
mov edi, 0xc000000d
test edi, edi
js 0x140099cf9
mov ebx, 4
test esi, esi
je 0x140097c86
cmp qword [rbp - 8], r14
jne 0x140097bc0
lea r8, [rbp + 0x474]
mov edx, esi
mov ecx, ebx
call fcn.1401043d0
test eax, eax
js 0x140099cf9
mov edx, dword [rbp + 0x474]
mov ecx, dword [rbp - 0xc]
lea r8, [rbp - 0xc]
mov dword [rbp + 0x348], edx
call fcn.1401043d0
test eax, eax
js 0x140099cf9
mov ecx, dword [rbp - 0x10]
mov r13d, 1
add ecx, r13d
mov dword [rbp - 0x10], ecx
jmp 0x140097c99
mov rax, qword [rbp - 8]
mov edi, r14d
mov qword [rbp + 0x220], rax
test ecx, ecx
je 0x140097c21
mov edx, dword [rax]
lea r8, [rbp + 0x43c]
mov ecx, ebx
call fcn.1401043d0
test eax, eax
js 0x140099cf9
mov eax, dword [rbp + 0x43c]
mov rcx, qword [rbp + 0x220]
lea r8, [rbp + 0x220]
mov edx, eax
mov dword [rbp + 0x348], eax
call fcn.1401043f0
test eax, eax
js 0x140099cf9
mov rax, qword [rbp + 0x220]
inc edi
cmp edi, dword [rbp - 0x10]
jb 0x140097bd2
lea r8, [rbp + 0x7c0]
mov rdx, rbx
mov rcx, rax
mov dword [rbp + 0x7b8], esi
call fcn.1401043f0
mov edi, eax
test eax, eax
js 0x140099cf9
mov rax, qword [rbp + 0x220]
mov edx, dword [rbp - 0xc]
mov r8, rsi
add rdx, qword [rbp - 8]
lea rcx, [rax + 4]
add rcx, rsi
cmp rcx, rdx
ja 0x140097db3
mov dword [rax], esi
mov rcx, qword [rbp + 0x7c0]
mov rdx, r13
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp - 0x10]
mov r13d, 1
add ecx, r13d
mov dword [rbp - 0x10], ecx
jmp 0x140097c91
mov edi, 0xc000000d
mov r13d, 1
test edi, edi
js 0x140097db3
mov rax, qword [rbp + 0x668]
mov qword [rbp + 0x4b0], rax
lea rax, [rbp + 0x4b0]
test rax, rax
je 0x140097dc0
cmp qword [rbp - 8], r14
jne 0x140097d01
lea r8, [rbp + 0x34c]
mov edx, 8
mov ecx, ebx
call fcn.1401043d0
test eax, eax
js 0x140097db3
mov edx, dword [rbp + 0x34c]
mov ecx, dword [rbp - 0xc]
lea r8, [rbp - 0xc]
mov dword [rbp + 0x35c], edx
call fcn.1401043d0
test eax, eax
js 0x140097db3
add dword [rbp - 0x10], r13d
jmp 0x140097dc9
mov rax, qword [rbp - 8]
mov edi, r14d
mov qword [rbp + 0x228], rax
test ecx, ecx
je 0x140097d5f
mov edx, dword [rax]
lea r8, [rbp + 0x354]
mov ecx, ebx
call fcn.1401043d0
test eax, eax
js 0x140097db3
mov eax, dword [rbp + 0x354]
mov rcx, qword [rbp + 0x228]
lea r8, [rbp + 0x228]
mov edx, eax
mov dword [rbp + 0x35c], eax
call fcn.1401043f0
test eax, eax
js 0x140097db3
mov rax, qword [rbp + 0x228]
add edi, r13d
cmp edi, dword [rbp - 0x10]
jb 0x140097d13
lea r8, [rbp + 0x750]
mov rdx, rbx
mov rcx, rax
mov dword [rbp + 0x748], 8
call fcn.1401043f0
test eax, eax
js 0x140097db3
mov edx, dword [rbp - 0xc]
mov rdi, qword [rbp + 0x228]
add rdx, qword [rbp - 8]
lea rcx, [rdi + 0xc]
cmp rcx, rdx
ja 0x140097db3
mov dword [rdi], 8
mov rdx, qword [rbp + 0x750]
mov rcx, qword [rbp + 0x4b0]
mov qword [rdx], rcx
add dword [rbp - 0x10], r13d
jmp 0x140097dc5
mov rdi, r12
mov rbx, qword [rsp + 0x68]
jmp 0x140099cff
mov eax, 0xc000000d
test eax, eax
js 0x140097db3
lea r8, [rbp + 0x364]
mov edx, ebx
mov ecx, ebx
call fcn.1401043d0
test eax, eax
js 0x140097db3
mov eax, dword [rbp + 0x364]
lea r8, [rbp + 0x38c]
mov edx, 8
mov ecx, ebx
mov dword [rbp + 0x3d4], eax
mov dword [rbp + 0x19c], eax
call fcn.1401043d0
test eax, eax
js 0x140097db3
mov edx, dword [rbp + 0x38c]
mov ecx, dword [rbp + 0x19c]
lea r8, [rbp + 0x19c]
mov dword [rbp + 0x3d4], edx
call fcn.1401043d0
test eax, eax
js 0x140097db3
mov eax, dword [rbp + 0x19c]
mov r13, r14
mov qword [rbp - 0x28], r14
mov r12d, r14d
mov qword [rbp + 0x300], r14
mov dword [rbp + 0x1140], eax
mov qword [rbp + 0x98], r14
mov dword [rbp - 0x78], r14d
mov qword [rbp + 0xc0], r14
mov dword [rbp + 0xd4], r14d
mov qword [rbp - 0x20], r14
mov qword [rbp + 0xd8], r14
mov dword [rbp + 0x250], r14d
mov qword [rbp + 0x4c0], r14
rdtsc
shl rdx, 0x20
lea r8, [rbp + 0xe4]
mov ecx, 8
or rax, rdx
mov edx, dword [rbp - 0xc]
mov rsi, r14
mov dword [rbp + 0xe4], 8
mov qword [rbp + 0x4c0], rax
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140097fb3
mov ecx, dword [rbp + 0xe4]
mov ebx, r14d
lea rax, [rcx + 7]
and eax, 0xfffffff8
cmp eax, ecx
jae 0x140097ecd
mov ebx, 0xc0000095
jmp 0x140097ed5
mov ecx, eax
mov dword [rbp + 0xe4], eax
test ebx, ebx
js 0x140097fb3
mov ebx, r14d
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140097f05
mov ebx, 0xc0000017
jmp 0x140097f08
mov rsi, rax
test ebx, ebx
js 0x140097f9a
mov eax, dword [rbp - 0x10]
mov qword [rbp + 0x210], rsi
mov edi, 4
mov dword [rsi], eax
mov rcx, qword [rbp + 0x210]
lea r8, [rbp + 0x210]
mov edx, edi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140097f9a
mov rcx, qword [rbp + 0x210]
mov eax, dword [rbp - 0xc]
lea r8, [rbp + 0x210]
mov dword [rcx], eax
mov rcx, qword [rbp + 0x210]
mov edx, edi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140097f9a
mov ecx, dword [rbp + 0xe4]
mov rax, qword [rbp + 0x4c0]
mov qword [rcx + rsi - 8], rax
mov r8d, dword [rbp - 0xc]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x210]
call sub.msvcrt.dll_memcpy
mov r12d, dword [rbp + 0xe4]
mov r13, rsi
mov qword [rbp - 0x28], rsi
mov rsi, r14
test rsi, rsi
je 0x140097fb3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or ebx, 0x10000000
jl 0x140099a2b
mov qword [rbp + 0x5d0], r14
mov qword [rbp + 0x5f0], r14
mov qword [rbp + 0x600], r14
mov qword [rbp + 0x610], r14
mov qword [rbp + 0x338], r14
mov qword [rbp + 0x6b8], r14
mov rsi, r14
test r13, r13
jne 0x140097ffb
mov ebx, 0xc000000d
jmp 0x140098798
mov ebx, r12d
mov qword [rbp + 0xd20], rbx
test r12d, r12d
je 0x1400986ef
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
lea r8, [rbx + 8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp + 0xd30], rax
test rax, rax
je 0x1400986ef
mov dl, r14b
mov rcx, r14
test r12d, r12d
je 0x140098050
mov r8d, 1
xor dl, byte [rcx + r13]
add rcx, r8
cmp rcx, rbx
jb 0x140098044
or r11d, 0xffffffff
mov rdi, rbx
mov r10, r13
mov r9, rax
mov r8d, r14d
mov dword [rbp - 0x38], r14d
mov dword [rbp - 0x4c], r11d
mov r13d, r14d
mov dword [rbp - 0x70], r14d
and edi, 7
je 0x14009814a
mov r12d, r14d
mov dword [rbp - 0x70], r14d
mov r11d, r14d
test edi, edi
jle 0x1400980c3
mov r8d, 0x38
movzx eax, byte [r10]
cmp r11d, 4
jge 0x1400980a1
lea ecx, [r8 - 0x20]
shl eax, cl
or r12d, eax
jmp 0x1400980a9
mov ecx, r8d
shl eax, cl
or r13d, eax
mov ecx, 1
sub r8d, 8
add r11d, ecx
add r10, rcx
cmp r11d, edi
jl 0x14009808c
mov dword [rbp - 0x70], r12d
jmp 0x1400980c8
mov ecx, 1
mov r8d, r12d
mov r11d, r13d
mov eax, r14d
xor r8d, 0xfd02377a
xor r11d, 0xb47589d0
mov dword [rbp - 0x38], r8d
mov dword [rbp - 0x4c], r11d
test edi, edi
jle 0x140098111
cmp eax, 4
jge 0x1400980f9
rol r8d, 8
mov byte [r9], r8b
jmp 0x140098100
rol r11d, 8
mov byte [r9], r11b
add eax, ecx
add r9, rcx
cmp eax, edi
jl 0x1400980eb
mov r8d, dword [rbp - 0x38]
mov r11d, dword [rbp - 0x4c]
lea eax, [rdi - 4]
test eax, eax
jle 0x14009812e
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x4c], r11d
jmp 0x14009814a
mov r11d, r14d
mov dword [rbp - 0x4c], r14d
test eax, eax
jns 0x14009814a
neg eax
shl eax, 3
mov ecx, eax
shr r8d, cl
shl r8d, cl
mov dword [rbp - 0x38], r8d
mov r12, rbx
shr r12, 3
test r12, r12
je 0x140098490
mov esi, dword [rbp - 0x70]
lea rbx, [r9 + 7]
lea r14, [r10 + 2]
mov r15d, 1
movzx eax, byte [r14 - 1]
movzx r10d, byte [r14 - 2]
movzx r9d, byte [r14 + 2]
shl r10d, 8
shl r9d, 8
or r10d, eax
movzx eax, byte [r14]
lea r14, [r14 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r14 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r14 - 5]
or r9d, eax
movzx eax, byte [r14 - 4]
mov edi, r10d
shl r9d, 8
or r9d, eax
movzx eax, byte [r14 - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
xor edi, r11d
xor edi, r8d
mov r8d, 0xf71490ec
xor edi, 0x2c824960
lea eax, [rdi + 0x24692674]
ror eax, 2
imul ecx, eax, 0xf714
mov eax, edi
ror eax, 0x10
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, r8d
ror eax, 0xb
imul ecx, eax, 0xd98c
mov eax, r11d
rol eax, 4
add ecx, eax
xor edi, ecx
mov eax, edi
xor eax, r8d
rol eax, 7
imul ecx, eax, 0xdb96
mov eax, edi
rol eax, 5
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xd98c
rol eax, 6
imul ecx, eax, 0x90ec
mov eax, r11d
rol eax, 8
sub ecx, eax
mov eax, r8d
xor edi, ecx
mov ecx, edi
xor ecx, 0xdb96d98c
sub eax, ecx
xor r11d, eax
mov eax, r11d
not eax
ror eax, 4
add eax, 0xd98c
imul eax, eax, 0xdb96
xor edi, eax
lea eax, [rdi - 0x8eb6f14]
ror eax, 8
imul ecx, eax, 0xdb96
mov eax, edi
ror eax, 2
add ecx, eax
mov eax, 0xdb96d98c
xor r11d, ecx
lea r8d, [r11 - 0x90ec]
xor r8d, edi
xor r8d, eax
sub eax, r8d
rol eax, 0xe
imul ecx, eax, 0xf714
mov eax, r8d
ror eax, 2
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xdb96]
rol eax, 2
imul ecx, eax, 0xd98c
mov eax, r11d
shr eax, 0xd
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xdb96
mov eax, r8d
shr eax, 0xc
sub ecx, eax
xor r11d, ecx
lea eax, [r11 + 0x24689588]
xor r8d, eax
lea eax, [r11 - 0xd98c]
rol eax, 3
imul ecx, eax, 0x90ec
mov eax, r11d
shr eax, 0xf
xor ecx, eax
xor r8d, ecx
lea eax, [r8 - 0xd98c]
imul ecx, eax, 0xf714
mov eax, r8d
shr eax, 0xd
sub ecx, eax
mov eax, 0xf71490ec
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0xd98c
mov eax, r11d
ror eax, 0xb
xor ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8ea937e]
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0xf714
imul ecx, eax, 0x90ec
ror edi, 7
sub ecx, edi
mov edi, 0xdb96d98c
xor r8d, ecx
mov eax, r8d
xor eax, 0xdb96
rol eax, 4
imul ecx, eax, 0xf714
mov eax, r8d
ror eax, 0x10
sub ecx, eax
mov eax, 0xf71490ec
xor r11d, ecx
sub eax, r11d
ror eax, 0xa
imul ecx, eax, 0xd98c
mov eax, r11d
ror eax, 4
add ecx, eax
xor r8d, ecx
lea eax, [r8 + 0x8eb6f14]
ror eax, 4
imul ecx, eax, 0xdb96
mov eax, r8d
ror eax, 9
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, edi
rol eax, 8
imul ecx, eax, 0x90ec
mov eax, r11d
rol eax, 2
sub ecx, eax
mov eax, edi
xor r8d, ecx
sub eax, r8d
ror eax, 0xb
imul ecx, eax, 0xf714
mov eax, r8d
ror eax, 0xc
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xf714
imul ecx, eax, 0xd98c
mov eax, r11d
shr eax, 8
xor ecx, eax
xor r8d, ecx
xor r11d, r8d
xor r8d, esi
mov esi, r10d
mov dword [rbp - 0x38], r8d
xor r11d, 0x2c824960
xor r11d, r13d
mov r13d, r9d
mov dword [rbp - 0x4c], r11d
mov byte [rbx - 4], r8b
mov al, byte [rbp - 0x4c]
ror dword [rbp - 0x38], 8
mov byte [rbx], al
mov al, byte [rbp - 0x38]
ror dword [rbp - 0x4c], 8
mov byte [rbx - 5], al
mov al, byte [rbp - 0x4c]
ror dword [rbp - 0x38], 8
mov byte [rbx - 1], al
mov al, byte [rbp - 0x38]
ror dword [rbp - 0x4c], 8
mov byte [rbx - 6], al
mov al, byte [rbp - 0x4c]
ror dword [rbp - 0x38], 8
mov byte [rbx - 2], al
mov al, byte [rbp - 0x38]
ror dword [rbp - 0x4c], 8
mov byte [rbx - 7], al
mov al, byte [rbp - 0x4c]
mov byte [rbx - 3], al
mov r8d, dword [rbp - 0x38]
mov r11d, dword [rbp - 0x4c]
lea rbx, [rbx + 8]
ror r11d, 8
mov dword [rbp - 0x4c], r11d
ror r8d, 8
mov dword [rbp - 0x38], r8d
sub r12, r15
jne 0x14009816b
mov r15d, dword [rsp + 0x60]
mov rbx, qword [rbp + 0xd20]
xor r14d, r14d
mov esi, r14d
mov r12, qword [rbp + 0xd30]
movzx eax, dl
lea r13, [rbx + 8]
mov qword [r12 + rbx], rax
lea rax, [0x14014a650]
mov qword [rbp + 0x5d0], rax
lea rax, [0x14014a5b0]
mov qword [rbp + 0x338], r12
mov qword [rbp + 0x6b8], r13
mov qword [rbp + 0x5f0], 8
mov qword [rbp + 0x600], rax
mov qword [rbp + 0x610], LoadRegTypeLib
mov rdi, r14
mov ebx, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14009850c
mov ebx, 0xc0000017
jmp 0x14009850f
mov rdi, rax
test ebx, ebx
js 0x140098663
mov dword [rdi], r13d
mov ebx, r14d
mov r13d, r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r13d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140098543
mov ebx, 0xc0000017
jmp 0x140098547
mov qword [rdi + 8], rax
test ebx, ebx
js 0x140098663
mov rcx, qword [rdi + 8]
mov r8, r13
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov r13d, LoadRegTypeLib
mov ebx, r14d
mov dword [rdi + 0x10], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r12d, 8
mov r8d, r13d
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140098592
mov ebx, 0xc0000017
jmp 0x140098596
mov qword [rdi + 0x18], rax
test ebx, ebx
js 0x140098663
mov rcx, qword [rdi + 0x18]
lea rdx, [0x14014a5b0]
mov rax, rdx
or rax, rcx
and rax, 0xf
jne 0x140098617
mov eax, 1
lea r8d, [rax + 0x7f]
movaps xmm0, xmmword [rdx]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rcx + 0x10], xmm1
movaps xmm0, xmmword [rdx + 0x20]
movaps xmmword [rcx + 0x20], xmm0
movaps xmm1, xmmword [rdx + 0x30]
movaps xmmword [rcx + 0x30], xmm1
movaps xmm0, xmmword [rdx + 0x40]
movaps xmmword [rcx + 0x40], xmm0
movaps xmm1, xmmword [rdx + 0x50]
movaps xmmword [rcx + 0x50], xmm1
movaps xmm0, xmmword [rdx + 0x60]
movaps xmmword [rcx + 0x60], xmm0
movaps xmm1, xmmword [rdx + 0x70]
add rcx, r8
add rdx, r8
movaps xmmword [rcx - 0x10], xmm1
dec rax
jne 0x1400985be
movaps xmm0, xmmword [rdx]
movaps xmmword [rcx], xmm0
movaps xmm1, xmmword [rdx + 0x10]
movaps xmmword [rcx + 0x10], xmm1
jmp 0x14009861f
mov r8, r13
call sub.msvcrt.dll_memcpy
mov dword [rdi + 0x20], r12d
mov ebx, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov edx, r12d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140098647
mov ebx, 0xc0000017
jmp 0x14009864b
mov qword [rdi + 0x28], rax
test ebx, ebx
js 0x140098663
mov rcx, qword [rdi + 0x28]
mov rax, qword [0x14014a650]
mov rsi, rdi
mov qword [rcx], rax
mov rdi, r14
test rdi, rdi
je 0x1400986df
mov r12, qword [rdi + 8]
test r12, r12
je 0x140098689
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x1400986aa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x1400986cb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x1400986f4
mov qword [rbp + 0x300], rsi
mov rsi, r14
jmp 0x1400986f4
mov ebx, 0xc0000001
cmp qword [rbp + 0x338], r14
je 0x14009871c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x338]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x338], r14
test rsi, rsi
je 0x140098798
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x140098742
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r14
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x140098763
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x140098784
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or ebx, 0x10000000
jl 0x140099a2b
mov rsi, qword [rbp + 0x300]
lea r8, [rbp + 0x48]
mov ecx, 4
mov edx, dword [rsi]
mov r13d, dword [rsi + 0x20]
mov edi, dword [rsi + 0x10]
mov r12, r14
mov dword [rbp + 0x48], 4
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140098839
mov ecx, dword [rbp + 0x48]
lea r8, [rbp + 0x48]
mov edx, 4
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140098839
mov ecx, dword [rbp + 0x48]
lea r8, [rbp + 0x48]
mov edx, edi
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140098839
mov ecx, dword [rbp + 0x48]
lea r8, [rbp + 0x48]
mov edx, 4
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140098839
mov ecx, dword [rbp + 0x48]
lea r8, [rbp + 0x48]
mov edx, r13d
call fcn.1401043d0
mov ebx, eax
mov eax, dword [rbp + 0x1dc]
test ebx, ebx
cmovns eax, dword [rbp + 0x48]
mov dword [rbp + 0x1dc], eax
jmp 0x14009883f
mov eax, dword [rbp + 0x1dc]
test ebx, ebx
js 0x1400989bb
mov ebx, r14d
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14009886f
mov ebx, 0xc0000017
jmp 0x140098872
mov r12, rax
test ebx, ebx
js 0x1400989a2
mov qword [rbp + 0x88], r12
mov eax, dword [rsi]
mov edi, 4
mov dword [r12], eax
mov rcx, qword [rbp + 0x88]
lea r8, [rbp + 0x88]
mov edx, edi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400989a2
mov r8d, dword [rsi]
mov rdx, qword [rsi + 8]
mov rcx, qword [rbp + 0x88]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi]
mov rcx, qword [rbp + 0x88]
lea r8, [rbp + 0x88]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400989a2
mov ecx, dword [rsi + 0x10]
mov rax, qword [rbp + 0x88]
lea r8, [rbp + 0x88]
mov dword [rax], ecx
mov rcx, qword [rbp + 0x88]
mov edx, edi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400989a2
mov r8d, dword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rbp + 0x88]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi + 0x10]
mov rcx, qword [rbp + 0x88]
lea r8, [rbp + 0x88]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400989a2
mov ecx, dword [rsi + 0x20]
mov rax, qword [rbp + 0x88]
lea r8, [rbp + 0x88]
mov dword [rax], ecx
mov rcx, qword [rbp + 0x88]
mov edx, edi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400989a2
mov r8d, dword [rsi + 0x20]
mov rdx, qword [rsi + 0x28]
mov rcx, qword [rbp + 0x88]
call sub.msvcrt.dll_memcpy
mov edx, dword [rsi + 0x20]
mov rcx, qword [rbp + 0x88]
lea r8, [rbp + 0x88]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400989a2
mov eax, dword [rbp + 0x1dc]
mov qword [rbp + 0x98], r12
mov r12, r14
mov dword [rbp - 0x78], eax
test r12, r12
je 0x1400989bb
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, 0x10000000
or ebx, edi
jl 0x140099a2b
mov edx, dword [rbp + 0x1140]
lea r8, [rbp + 0x1e4]
mov ecx, 8
mov qword [rbp + 0x620], r14
mov dword [rbp + 0x278], r14d
mov qword [rbp + 0x630], r14
mov dword [rbp + 0x264], r14d
mov dword [rbp + 0x1e4], 8
call fcn.1401043d0
mov ebx, eax
or ebx, edi
jl 0x140098c72
mov eax, dword [rbp + 0x1e4]
mov ebx, r14d
add rax, 7
and eax, 0xfffffff8
cmp eax, dword [rbp + 0x1e4]
jae 0x140098a34
mov eax, dword [rbp + 0x1c0]
mov ebx, 0xc0000095
jmp 0x140098a3a
mov dword [rbp + 0x1c0], eax
test ebx, ebx
js 0x140099a2b
lea r8, [rbp + 0x1c0]
mov edx, 8
mov ecx, eax
call fcn.1401043d0
mov ebx, eax
mov eax, dword [rbp + 0x248]
test ebx, ebx
cmovns eax, dword [rbp + 0x1c0]
mov dword [rbp + 0x248], eax
js 0x140099a2b
mov r13d, 1
lea r12d, [r13 + 3]
cmp qword [rbp - 8], r14
jne 0x140098a8c
mov ebx, 0xc000000d
jmp 0x140098b19
cmp dword [rbp - 0x10], r13d
jbe 0x140098a82
mov rcx, qword [rbp - 8]
mov edi, r14d
mov qword [rbp + 0x128], rcx
mov esi, dword [rcx]
lea r8, [rbp + 0x128]
mov rdx, r12
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140098b19
mov rcx, qword [rbp + 0x128]
lea r8, [rbp + 0x128]
mov edx, esi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140098b19
mov rcx, qword [rbp + 0x128]
add edi, r13d
cmp edi, r13d
jb 0x140098aa0
mov edi, dword [rcx]
lea r8, [rbp + 0x128]
mov rdx, r12
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140098b19
mov rax, qword [rbp + 0x128]
test edi, edi
mov dword [rbp + 0x278], edi
cmove rax, r14
mov qword [rbp + 0x128], rax
mov qword [rbp + 0x620], rax
test ebx, ebx
js 0x140099a2b
cmp qword [rbp - 8], r14
jne 0x140098b31
mov ebx, 0xc000000d
jmp 0x140098bbe
cmp dword [rbp - 0x10], 2
jbe 0x140098b27
mov rcx, qword [rbp - 8]
mov edi, r14d
mov qword [rbp + 0x140], rcx
mov esi, dword [rcx]
lea r8, [rbp + 0x140]
mov rdx, r12
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140098bbe
mov rcx, qword [rbp + 0x140]
lea r8, [rbp + 0x140]
mov edx, esi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140098bbe
mov rcx, qword [rbp + 0x140]
add edi, r13d
cmp edi, 2
jb 0x140098b45
mov edi, dword [rcx]
lea r8, [rbp + 0x140]
mov rdx, r12
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140098bbe
mov rax, qword [rbp + 0x140]
test edi, edi
mov dword [rbp + 0x264], edi
cmove rax, r14
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x630], rax
test ebx, ebx
js 0x140099a2b
mov edx, dword [rbp + 0x248]
mov esi, dword [rbp + 0x264]
mov edi, dword [rbp + 0x278]
lea r8, [rbp + 0x5c]
mov ecx, r12d
mov dword [rbp + 0x5c], r12d
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140098c50
mov ecx, dword [rbp + 0x5c]
lea r8, [rbp + 0x5c]
mov edx, r12d
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140098c50
mov ecx, dword [rbp + 0x5c]
lea r8, [rbp + 0x5c]
mov edx, edi
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140098c50
mov ecx, dword [rbp + 0x5c]
lea r8, [rbp + 0x5c]
mov edx, r12d
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140098c50
mov ecx, dword [rbp + 0x5c]
lea r8, [rbp + 0x5c]
mov edx, esi
call fcn.1401043d0
mov ebx, eax
mov eax, dword [rbp + 0x2cc]
test ebx, ebx
cmovns eax, dword [rbp + 0x5c]
mov dword [rbp + 0x2cc], eax
jmp 0x140098c56
mov eax, dword [rbp + 0x2cc]
test ebx, ebx
js 0x140099a2b
cmp eax, 0x400000
jbe 0x140098c6c
mov ebx, 0x8000ffff
jmp 0x140098c72
mov dword [rbp + 0xd4], eax
test ebx, ebx
js 0x140099a2b
mov edi, dword [rbp + 0xd4]
mov ebx, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140098ca9
mov ebx, 0xc0000017
mov r13, r14
jmp 0x140098cb3
mov r13, rax
mov qword [rbp + 0xc0], rax
mov esi, 0x10000000
or ebx, esi
jl 0x140099a2b
mov rbx, qword [rbp + 0x98]
test rbx, rbx
jne 0x140098d00
mov ebx, 0x80070057
test ebx, ebx
js 0x140099a2b
mov edi, dword [rbp + 0xd4]
mov rsi, r14
mov dword [rbp - 0x54], r14d
mov qword [rbp + 0xf8], r13
cmp edi, 4
jae 0x140098dd1
mov ebx, 0xc000003e
jmp 0x1400991e5
test r13, r13
je 0x140098ccc
lea r8, [rbp + 0x5c8]
lea rdx, [0x140009708]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
test eax, eax
je 0x140098d3e
mov rcx, qword [rbp + 0x5c8]
lea rdx, [0x140009720]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
jne 0x140098d5d
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x140098dbb
mov ebx, 0x80004005
jmp 0x140098dbb
mov eax, dword [rbp - 0x78]
mov rcx, rdi
mov qword [rbp + 0x708], rbx
mov dword [rbp + 0x718], eax
mov eax, dword [rbp + 0xd4]
mov qword [rbp + 0x710], r13
mov dword [rbp + 0x71c], eax
mov dword [rbp + 0x720], r14d
call qword [fcn.140015690]
xor r9d, r9d
lea rdx, [rbp + 0x708]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call rdi
mov ebx, eax
mov eax, dword [rbp + 0xd4]
or ebx, esi
cmovge eax, dword [rbp + 0x71c]
mov dword [rbp + 0xd4], eax
cmp ebx, 0xd0000023
jne 0x140098cd1
mov ebx, 0x8007007a
jmp 0x140099a2b
mov r12d, dword [r13]
lea r8, [rbp + 0xf8]
mov edx, 4
mov rcx, r13
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov ecx, dword [rbp - 0x54]
lea r8, [rbp - 0x54]
mov edx, 4
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov eax, edi
sub eax, dword [rbp - 0x54]
cmp eax, r12d
jb 0x140098cf6
mov rax, qword [rbp + 0xf8]
lea r8, [rbp + 0xf8]
mov edx, r12d
mov rcx, rax
mov qword [rbp - 0x60], rax
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov ecx, dword [rbp - 0x54]
lea r8, [rbp - 0x54]
mov edx, r12d
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov eax, edi
sub eax, dword [rbp - 0x54]
cmp eax, 4
jb 0x140098cf6
mov rcx, qword [rbp + 0xf8]
lea r8, [rbp + 0xf8]
mov edx, 4
mov r13d, dword [rcx]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov ecx, dword [rbp - 0x54]
lea r8, [rbp - 0x54]
mov edx, 4
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov eax, edi
sub eax, dword [rbp - 0x54]
cmp eax, r13d
jb 0x140098cf6
mov rax, qword [rbp + 0xf8]
lea r8, [rbp + 0xf8]
mov edx, r13d
mov rcx, rax
mov qword [rbp + 0xd30], rax
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov ecx, dword [rbp - 0x54]
lea r8, [rbp - 0x54]
mov edx, r13d
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov eax, edi
sub eax, dword [rbp - 0x54]
cmp eax, 4
jb 0x140098cf6
mov rcx, qword [rbp + 0xf8]
lea r8, [rbp + 0xf8]
mov edx, 4
mov eax, dword [rcx]
mov dword [rbp - 0x70], eax
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov ecx, dword [rbp - 0x54]
lea r8, [rbp - 0x54]
mov edx, 4
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400991e5
mov ecx, dword [rbp - 0x70]
mov eax, edi
sub eax, dword [rbp - 0x54]
cmp eax, ecx
jb 0x140098cf6
mov rax, qword [rbp + 0xf8]
mov edx, ecx
mov ecx, dword [rbp - 0x54]
lea r8, [rbp - 0x54]
mov qword [rbp + 0x90], rax
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x1400991e5
cmp edi, dword [rbp - 0x54]
jne 0x140098cf6
mov ecx, dword [rbp - 0x70]
add ecx, r13d
add ecx, r12d
add rcx, 0xc
cmp rcx, rdi
jne 0x140098cf6
mov rdi, r14
mov ebx, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140098fca
mov ebx, 0xc0000017
jmp 0x140098fcd
mov rdi, rax
test ebx, ebx
js 0x1400990e2
cmp qword [rbp - 0x60], r14
je 0x140099022
mov dword [rdi], r12d
mov ebx, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8, r12
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x140099004
mov ebx, 0xc0000017
jmp 0x140099008
mov qword [rdi + 8], rax
test ebx, ebx
js 0x1400990e2
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rdi + 8]
mov r8, r12
call sub.msvcrt.dll_memcpy
jmp 0x140099029
mov dword [rdi], r14d
mov qword [rdi + 8], r14
mov r12, qword [rbp + 0xd30]
test r12, r12
je 0x140099078
mov dword [rdi + 0x10], r13d
mov ebx, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8, r13
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x14009905f
mov ebx, 0xc0000017
jmp 0x140099063
mov qword [rdi + 0x18], rax
test ebx, ebx
js 0x1400990e2
mov rcx, qword [rdi + 0x18]
mov r8, r13
mov rdx, r12
call sub.msvcrt.dll_memcpy
jmp 0x140099080
mov dword [rdi + 0x10], r14d
mov qword [rdi + 0x18], r14
mov r13, qword [rbp + 0x90]
test r13, r13
je 0x1400990d4
mov eax, dword [rbp - 0x70]
mov ebx, r14d
mov dword [rdi + 0x20], eax
mov r12d, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, r12d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400990bb
mov ebx, 0xc0000017
jmp 0x1400990bf
mov qword [rdi + 0x28], rax
test ebx, ebx
js 0x1400990e2
mov rcx, qword [rdi + 0x28]
mov r8, r12
mov rdx, r13
call sub.msvcrt.dll_memcpy
jmp 0x1400990dc
mov dword [rdi + 0x20], r14d
mov qword [rdi + 0x28], r14
mov rsi, rdi
mov rdi, r14
test rdi, rdi
je 0x14009915e
mov r12, qword [rdi + 8]
test r12, r12
je 0x140099108
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 8], r14
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140099129
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x18], r14
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x14009914a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rdi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x140099169
mov qword [rbp - 0x20], rsi
mov rsi, r14
test rsi, rsi
je 0x1400991e5
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x14009918f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r14
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x1400991b0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x1400991d1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
or ebx, 0x10000000
jl 0x140099a2b
mov rax, qword [rbp - 0x20]
mov ebx, r14d
mov qword [rbp + 0x1f8], r14
mov qword [rbp + 0x4d0], r14
mov dword [rbp + 0x1140], ebx
test rax, rax
jne 0x14009921b
mov ebx, 0xc000000d
jmp 0x140099788
mov rdi, qword [rax + 8]
mov qword [rbp - 0x60], rdi
test rdi, rdi
je 0x140099211
cmp dword [rax], r14d
je 0x140099211
mov r12d, dword [rax]
mov dword [rbp - 0x78], r14d
test r12, r12
je 0x14009975b
add r12, 0xfffffffffffffff8
mov qword [rbp + 0xd30], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
mov rcx, rax
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r13, rax
mov qword [rbp + 0x108], rax
test rax, rax
je 0x14009975b
mov r9, rdi
mov rdi, r12
mov dl, r14b
mov r8, rax
mov dword [rbp - 0x40], r14d
mov r11d, r14d
mov byte [rsp + 0x64], dl
and edi, 7
je 0x140099377
or esi, 0xffffffff
mov dword [rbp + 0x118], r14d
mov dword [rbp - 0x70], r14d
mov dword [rbp - 0x58], esi
mov r10d, r14d
mov esi, r14d
test edi, edi
jle 0x1400992f1
mov r15d, 0x38
movzx eax, byte [r9]
cmp r10d, 4
jge 0x1400992c5
lea ecx, [r15 - 0x20]
shl eax, cl
or r11d, eax
jmp 0x1400992cc
mov ecx, r15d
shl eax, cl
or esi, eax
mov ecx, 1
sub r15d, 8
add r10d, ecx
add r9, rcx
cmp r10d, edi
jl 0x1400992b0
mov r15d, dword [rsp + 0x60]
mov dword [rbp + 0x118], esi
mov dword [rbp - 0x70], r11d
jmp 0x1400992f6
mov ecx, 1
mov esi, r11d
mov r11d, dword [rbp + 0x118]
mov eax, r14d
xor r11d, 0x66fa8c2b
xor esi, 0x5c3fcbda
mov dword [rbp - 0x58], r11d
mov dword [rbp - 0x40], esi
test edi, edi
jle 0x14009933f
cmp eax, 4
jge 0x140099328
rol esi, 8
mov byte [r8], sil
jmp 0x14009932f
rol r11d, 8
mov byte [r8], r11b
add eax, ecx
add r8, rcx
cmp eax, edi
jl 0x14009931b
mov esi, dword [rbp - 0x40]
mov r11d, dword [rbp - 0x58]
lea eax, [rdi - 4]
test eax, eax
jle 0x14009935c
mov ecx, 4
sub ecx, eax
shl ecx, 3
shr r11d, cl
shl r11d, cl
mov dword [rbp - 0x58], r11d
jmp 0x140099382
mov r11d, r14d
mov dword [rbp - 0x58], r14d
test eax, eax
jns 0x140099382
neg eax
shl eax, 3
mov ecx, eax
shr esi, cl
shl esi, cl
mov dword [rbp - 0x40], esi
jmp 0x140099382
mov dword [rbp - 0x70], r14d
mov dword [rbp - 0x58], r14d
mov esi, r14d
mov rax, r12
shr rax, 3
test rax, rax
je 0x1400996da
mov edx, dword [rbp - 0x70]
mov r15d, dword [rbp + 0x118]
lea r12, [r8 + 7]
lea r14, [r9 + 2]
mov r13, rax
mov ebx, 1
movzx eax, byte [r14 - 1]
movzx r10d, byte [r14 - 2]
movzx r9d, byte [r14 + 2]
shl r10d, 8
shl r9d, 8
mov r8d, 0xcf6704fb
or r10d, eax
movzx eax, byte [r14]
lea r14, [r14 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r14 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r14 - 5]
or r9d, eax
movzx eax, byte [r14 - 4]
xor esi, r10d
shl r9d, 8
or r9d, eax
movzx eax, byte [r14 - 3]
shl r9d, 8
or r9d, eax
xor r11d, r9d
xor r11d, esi
xor r11d, 0x695ad232
lea eax, [r11 + 0x3098fb05]
rol eax, 5
imul ecx, eax, 0xd6c9
mov eax, r11d
rol eax, 0xa
add ecx, eax
xor esi, ecx
lea eax, [rsi - 0x59c22937]
ror eax, 9
imul ecx, eax, 0xcf67
mov eax, esi
rol eax, 2
sub ecx, eax
xor r11d, ecx
lea eax, [r11 - 0xd6c9]
imul ecx, eax, 0x4fb
mov eax, r11d
shr eax, 0xd
sub ecx, eax
xor esi, ecx
mov eax, esi
xor eax, 0xcf67
rol eax, 6
imul ecx, eax, 0xa63d
mov eax, esi
rol eax, 2
sub ecx, eax
mov eax, 0xa63dd6c9
xor r11d, ecx
mov ecx, r11d
xor ecx, r8d
sub eax, ecx
xor esi, eax
mov eax, esi
mov edi, esi
xor eax, 0xd6c9
ror edi, 6
imul ecx, eax, 0xcf67
xor edi, ecx
xor r11d, edi
lea eax, [r11 - 0x59c22937]
ror eax, 0xf
imul ecx, eax, 0x4fb
mov eax, r11d
rol eax, 2
add ecx, eax
xor esi, ecx
lea eax, [rsi + 0x3098fb05]
ror eax, 0xe
imul ecx, eax, 0xa63d
mov eax, esi
rol eax, 8
sub ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, r8d
mov edi, 0xa63dd6c9
ror eax, 0xc
imul ecx, eax, 0xd6c9
mov eax, r11d
ror eax, 0xa
xor ecx, eax
xor esi, ecx
mov eax, esi
xor eax, 0xa63d
imul ecx, eax, 0xcf67
mov eax, esi
shr eax, 0xa
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov ecx, r11d
not eax
xor ecx, r8d
ror eax, 5
add eax, 0x4fb
imul eax, eax, 0xa63d
xor esi, eax
mov eax, edi
sub eax, ecx
xor esi, eax
lea eax, [rsi - 0x3098fb05]
rol eax, 3
imul ecx, eax, 0xa63d
mov eax, esi
rol eax, 6
add ecx, eax
mov eax, r8d
xor r11d, ecx
sub eax, r11d
ror eax, 9
imul ecx, eax, 0xd6c9
mov eax, r11d
ror eax, 8
sub ecx, eax
xor esi, ecx
xor r11d, esi
xor r11d, 0x695ad232
lea r8d, [r11 - 0x4fb]
xor r8d, esi
mov esi, 0xa63d
xor r8d, edi
mov eax, r8d
xor eax, 0x4fb
imul ecx, eax, 0xa63d
mov eax, r8d
shr eax, 8
add ecx, eax
xor r11d, ecx
mov eax, r11d
mov edi, r11d
xor eax, esi
ror edi, 9
imul ecx, eax, 0xd6c9
sub ecx, edi
xor r8d, ecx
mov eax, r8d
xor eax, esi
imul ecx, eax, 0xcf67
mov eax, r8d
shr eax, 6
xor ecx, eax
xor r11d, ecx
mov eax, r11d
mov edi, r11d
xor eax, 0xcf67
imul ecx, eax, 0x4fb
ror edi, 2
xor edi, ecx
xor r8d, edi
lea eax, [r8 + 0x309854c8]
xor r11d, eax
lea eax, [r11 + 0x3098fb05]
rol eax, 7
imul ecx, eax, 0xd6c9
mov eax, r11d
rol eax, 0xb
xor ecx, eax
xor r8d, ecx
mov eax, r8d
xor eax, esi
rol eax, 2
imul ecx, eax, 0xcf67
mov eax, r8d
rol eax, 0xc
add ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0xa63dd6c9
rol eax, 4
imul ecx, eax, 0x4fb
mov eax, r11d
xor r11d, r15d
mov dword [rbp - 0x58], r11d
mov r15d, r9d
rol eax, 0xe
add ecx, eax
xor ecx, edx
mov edx, r10d
xor r8d, ecx
mov dword [rbp - 0x40], r8d
mov byte [r12 - 4], r8b
mov al, byte [rbp - 0x58]
ror dword [rbp - 0x40], 8
mov byte [r12], al
mov al, byte [rbp - 0x40]
ror dword [rbp - 0x58], 8
mov byte [r12 - 5], al
mov al, byte [rbp - 0x58]
ror dword [rbp - 0x40], 8
mov byte [r12 - 1], al
mov al, byte [rbp - 0x40]
ror dword [rbp - 0x58], 8
mov byte [r12 - 6], al
mov al, byte [rbp - 0x58]
ror dword [rbp - 0x40], 8
mov byte [r12 - 2], al
mov al, byte [rbp - 0x40]
ror dword [rbp - 0x58], 8
mov byte [r12 - 7], al
mov al, byte [rbp - 0x58]
mov byte [r12 - 3], al
mov esi, dword [rbp - 0x40]
mov r11d, dword [rbp - 0x58]
lea r12, [r12 + 8]
ror r11d, 8
mov dword [rbp - 0x58], r11d
ror esi, 8
mov dword [rbp - 0x40], esi
sub r13, rbx
jne 0x1400993ac
mov dl, byte [rsp + 0x64]
mov r15d, dword [rsp + 0x60]
mov ebx, dword [rbp + 0x1140]
mov r12, qword [rbp + 0xd30]
mov r13, qword [rbp + 0x108]
xor r14d, r14d
mov rax, r14
test r12, r12
je 0x1400996f3
mov ecx, 1
xor dl, byte [rax + r13]
add rax, rcx
cmp rax, r12
jb 0x1400996e7
mov rcx, qword [rbp - 0x60]
movzx eax, dl
cmp rax, qword [r12 + rcx]
je 0x140099707
mov edi, 0xc004d501
jmp 0x14009971b
mov edi, dword [rbp - 0x78]
mov qword [rbp + 0x1f8], r13
mov qword [rbp + 0x4d0], r12
mov r13, r14
test r13, r13
je 0x140099734
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test edi, edi
js 0x14009975b
mov rax, qword [rbp + 0x1f8]
mov qword [rbp + 0x1f8], r14
mov qword [rbp + 0xd8], rax
mov eax, dword [rbp + 0x4d0]
mov dword [rbp + 0x250], eax
jmp 0x140099760
mov ebx, 0xc0000001
cmp qword [rbp + 0x1f8], r14
je 0x140099788
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x1f8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x1f8], r14
or ebx, 0x10000000
jl 0x140099a2b
mov r12d, dword [rbp + 0x250]
mov r9, qword [rbp + 0xd8]
mov edi, 4
mov dword [rbp + 0xa8], r14d
mov qword [rbp + 0x330], r9
cmp r12d, edi
jb 0x140099a22
mov eax, dword [r9]
lea r8, [rbp + 0x330]
mov edx, edi
mov rcx, r9
mov dword [rbp - 0x78], eax
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140099a27
mov ecx, dword [rbp + 0xa8]
lea r8, [rbp + 0xa8]
mov edx, edi
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140099a27
mov eax, r12d
sub eax, dword [rbp + 0xa8]
cmp eax, edi
jb 0x140099a22
mov rcx, qword [rbp + 0x330]
lea r8, [rbp + 0x330]
mov edx, edi
mov esi, dword [rcx]
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140099a27
mov ecx, dword [rbp + 0xa8]
lea r8, [rbp + 0xa8]
mov edx, edi
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140099a27
mov ecx, dword [rbp + 0xa8]
mov eax, r12d
sub eax, ecx
cmp eax, esi
jb 0x140099a22
mov rdi, qword [rbp + 0x330]
lea r8, [rbp + 0xa8]
mov edx, esi
call fcn.1401043d0
mov ebx, eax
test eax, eax
js 0x140099a27
mov r9, qword [rbp + 0xd8]
lea rcx, [rdi + rsi]
mov edx, r12d
lea rax, [r12 + r9]
mov r13d, esi
cmp rax, rcx
jb 0x140099a22
sub rdx, rdi
sub rdx, rsi
add rdx, r9
cmp rdx, 8
jae 0x140099a22
mov r12, r14
mov ebx, r14d
mov dword [rbp - 0x70], r14d
test rdi, rdi
je 0x140099996
lea r8, [rbp + 0x3e0]
mov edx, r13d
mov rcx, rdi
mov rsi, rdi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140099a13
mov rax, qword [rbp + 0x3e0]
cmp rdi, rax
jae 0x14009998e
lea r8, [rbp + 0x5b0]
mov edx, 4
mov rcx, rsi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140099a13
mov rax, qword [rbp + 0x3e0]
cmp qword [rbp + 0x5b0], rax
ja 0x1400999c0
mov edx, dword [rsi]
lea r8, [rbp + 0x470]
mov ecx, 4
call fcn.1401043d0
mov ebx, eax
mov eax, dword [rbp + 0x478]
test ebx, ebx
cmovns eax, dword [rbp + 0x470]
mov dword [rbp + 0x478], eax
js 0x140099a27
lea r8, [rbp + 0x5b8]
mov edx, eax
mov rcx, rsi
call fcn.1401043f0
mov ebx, eax
test eax, eax
js 0x140099a13
mov rsi, qword [rbp + 0x5b8]
mov rax, qword [rbp + 0x3e0]
cmp rsi, rax
ja 0x1400999c0
inc dword [rbp - 0x70]
cmp rsi, rax
jb 0x1400998f2
cmp rsi, rax
jne 0x1400999c0
mov esi, r13d
test esi, esi
je 0x1400999ce
mov ebx, r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov rcx, rax
mov edx, 8
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
test rax, rax
jne 0x1400999c7
mov ebx, 0xc0000017
jmp 0x1400999ca
mov ebx, 0xc000000d
jmp 0x140099a13
mov r12, rax
test ebx, ebx
js 0x1400999fa
test rdi, rdi
je 0x1400999e1
mov r8, r13
mov rdx, rdi
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov eax, dword [rbp - 0x70]
mov qword [rbp + 0x138], r12
mov dword [rbp + 0x134], esi
mov dword [rbp + 0x130], eax
mov r12, r14
test r12, r12
je 0x140099a13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x140099a27
mov eax, dword [rbp - 0x78]
cmp eax, dword [rbp + 0x130]
je 0x140099a27
mov ebx, 0xc000003e
bts ebx, 0x1c
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x140099a48
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp + 0x300]
test rsi, rsi
je 0x140099ad2
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x140099a75
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r14
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x140099a96
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x140099ab7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x300], r14
mov rdi, qword [rbp + 0x98]
test rdi, rdi
je 0x140099af2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0xc0]
test rdi, rdi
je 0x140099b12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rsi, qword [rbp - 0x20]
test rsi, rsi
je 0x140099b92
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x140099b3c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 8], r14
mov rdi, qword [rsi + 0x18]
test rdi, rdi
je 0x140099b5d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x18], r14
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x140099b7e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rsi + 0x28], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rdi, qword [rbp + 0xd8]
test rdi, rdi
je 0x140099bb2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test ebx, ebx
js 0x140099cef
mov r13d, 1
cmp dword [rbp + 0x130], r13d
jb 0x140099cef
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x140099cef
cmp dword [rbp + 0x130], r14d
jbe 0x140099cef
mov qword [rbp + 0x3f0], rcx
mov edi, dword [rcx]
lea esi, [r13 + 3]
lea r8, [rbp + 0x3f0]
mov edx, esi
call fcn.1401043f0
test eax, eax
js 0x140099cef
mov rax, qword [rbp + 0x3f0]
test edi, edi
mov dword [rbp + 0x680], edi
cmove rax, r14
mov qword [rbp + 0x3f0], rax
mov qword [rbp + 0x7f8], rax
cmp edi, esi
jne 0x140099cef
mov eax, dword [rax]
mov dword [rbp + 0x1e0], eax
test eax, eax
js 0x140099cef
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x140099cef
cmp dword [rbp + 0x130], r13d
jbe 0x140099cef
mov qword [rbp + 0x170], rcx
mov edi, r14d
mov ebx, dword [rcx]
lea r8, [rbp + 0x170]
mov rdx, rsi
call fcn.1401043f0
test eax, eax
js 0x140099cef
mov rcx, qword [rbp + 0x170]
lea r8, [rbp + 0x170]
mov edx, ebx
call fcn.1401043f0
test eax, eax
js 0x140099cef
mov rcx, qword [rbp + 0x170]
add edi, r13d
cmp edi, r13d
jb 0x140099c6d
mov edi, dword [rcx]
lea r8, [rbp + 0x170]
mov rdx, rsi
call fcn.1401043f0
test eax, eax
js 0x140099cef
mov rax, qword [rbp + 0x170]
test edi, edi
mov dword [rbp + 0x690], edi
cmove rax, r14
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x828], rax
cmp edi, 8
jne 0x140099cef
mov rax, qword [rax]
mov qword [rbp + 0x800], rax
mov rdi, qword [rsp + 0x70]
jmp 0x140097db6
mov rdi, r12
mov rbx, r13
mov qword [rbp - 0x10], 0
cmp qword [rbp - 8], r14
je 0x140099d26
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp - 8]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp - 8], r14
mov qword [rbp + 0x130], 0
cmp qword [rbp + 0x138], r14
je 0x140099d59
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, qword [rbp + 0x138]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov qword [rbp + 0x138], r14
test rdi, rdi
je 0x140099d72
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
test rbx, rbx
je 0x140099d8b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [rbp + 0x190]
mov ebx, dword [rbp + 0x29c]
mov r12d, 0x8007007a
mov dword [rbp + 0x6a0], eax
mov rax, qword [rbp + 0x208]
mov qword [rbp + 0x208], r14
mov qword [rbp + 0x400], rax
jmp 0x140099dce
mov rbx, r14
jmp 0x140099cff
mov r12d, 0x8007007a
mov ebx, dword [rbp + 0x1e0]
mov rsi, qword [rbp + 0x2f8]
cmp rsi, 0xffffffffffffffff
je 0x140099e07
cmp dword [rbp + 0x114], r14d
je 0x140099dfe
mov rdi, qword [0x140148de8]
mov rcx, rdi
call qword [fcn.140015690]
mov edx, 3
mov rcx, rsi
call rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x208]
call fcn.1401043ac
test r15d, r15d
jns 0x140099e6f
cmp r15d, 0xd0000034
jne 0x140099e30
mov r15d, 0xc004f012
mov dword [rbp + 0x100], r15d
jmp 0x140099e83
cmp r15d, 0xd00000e5
je 0x140099e53
cmp r15d, 0xc004d501
je 0x140099e53
cmp r15d, 0xd000003e
jne 0x140099e59
mov r15d, 0xc004f028
jmp 0x140099e27
mov r15d, 0xc004f027
test r15d, r15d
jns 0x140099e6f
cmp r15d, r12d
jne 0x140099e27
mov dword [rbp + 0x100], 0xc004f01e
jmp 0x140099e83
cmp ebx, 4
jne 0x140099e63
mov rax, qword [rbp + 0x400]
mov ecx, dword [rax]
mov dword [rbp + 0x2c4], ecx
lea rcx, [rbp + 0x400]
call fcn.1401043ac
cmp dword [rbp + 0x100], r14d
jl 0x140099ea1
cmp dword [rbp + 0x2c4], r14d
jne 0x140099ea7
mov r14d, 1
lea rcx, [rbp + 0x5d8]
call fcn.1400158a0
mov al, r14b
mov rcx, qword [rbp + 0x1410]
xor rcx, rsp
call fcn.140001000
lea r11, [rsp + 0x1520]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret