Function at 0x1400c9140
Capabilities:
Check for software breakpoints

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
xor ebp, ebp
mov rsi, r8
mov rbx, rcx
cmp edx, 0xd2
jg 0x1400c987e
je 0x1400c9868
lea eax, [rdx - 3]
cmp eax, 0xcc
ja case.0x1400ca8ef.20026
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0xcac70]
mov ecx, dword [r8 + rax*4 + 0xcab58]
add rcx, r8
jmp rcx
mov eax, dword [rsi]
cmp eax, 0xffffffff
jl 0x1400c9605
mov dword [rbx + 0xb64], eax
jmp case.0x1400c9199.91
movsxd rax, dword [rsi]
test eax, eax
js 0x1400c9605
mov qword [rbx + 0xe18], rax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe9b], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe9c], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe99], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe94], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe8e], al
test al, al
je 0x1400c9223
or dword [rbx + 0xf1c], 0x10
jmp case.0x1400c9199.91
and dword [rbx + 0xf1c], 0xffffffef
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe97], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe8f], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe98], al
test al, al
je 0x1400c9274
mov dword [rbx + 0xa00], 5
mov byte [rbx + 0xe97], bpl
jmp case.0x1400c9199.91
mov edi, 1
mov dword [rbx + 0xa00], edi
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe89], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 0x20c49b
ja 0x1400c9605
imul eax, eax, 0x3e8
mov dword [rbx + 0x798], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 2
ja 0x1400c9605
mov dword [rbx + 0xbb0], eax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe8b], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 3
ja 0x1400c9605
mov dword [rbx + 0x9f0], eax
jmp case.0x1400c9199.91
movsxd rax, dword [rsi]
mov qword [rbx + 0x9f8], rax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe96], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe92], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe91], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe93], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 0xffffffff
jl 0x1400c9605
mov dword [rbx + 0x6bc], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
and eax, 7
mov dword [rbx + 0x6c0], eax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
je 0x1400c9274
mov dword [rbx + 0xa00], 2
mov byte [rbx + 0xe97], bpl
jmp case.0x1400c9199.91
movsxd rdi, dword [rsi]
cmp rdi, 0xffffffffffffffff
jl 0x1400c9605
cmp qword [rbx + 0x6d8], rdi
jge 0x1400c93c6
mov rax, qword [rbx + 0xdc0]
cmp qword [rbx + 0x6c8], rax
jne 0x1400c93c6
mov rcx, rax
call qword [fcn.140045f23]
mov qword [rbx + 0xdc0], rbp
mov qword [rbx + 0x6c8], rbp
mov qword [rbx + 0x6d8], rdi
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe85], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
je case.0x1400c9199.91
mov edi, 1
mov word [rbx + 0xe97], bp
mov dword [rbx + 0xa00], edi
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
cmp eax, 3
jl 0x1400c941a
mov eax, 1
jmp 0x1400cab40
mov dword [rbx + 0xa04], eax
jmp case.0x1400c9199.91
mov edx, dword [rsi]
test edx, edx
jne 0x1400c9436
mov dword [rbx + 0x6ac], ebp
jmp case.0x1400c9199.91
mov eax, edx
shr eax, 4
and al, 1
mov byte [rbx + 0x118e], al
test dl, 0x10
je 0x1400c944e
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
mov ecx, ebp
mov eax, ecx
inc ecx
bt edx, eax
jb 0x1400c946b
cmp ecx, 0x1f
jl 0x1400c9453
mov eax, 4
jmp 0x1400cab40
mov dword [rbx + 0x6ac], edx
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe8a], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 0xffff
ja 0x1400c9605
mov dword [rbx + 0x680], eax
jmp case.0x1400c9199.91
mov edx, dword [rsi]
test edx, edx
jne 0x1400c94af
mov dword [rbx + 0x6b0], ebp
jmp case.0x1400c9199.91
mov eax, edx
shr eax, 4
and al, 1
mov byte [rbx + 0x119e], al
test dl, 0x10
je 0x1400c94c7
and edx, 0xffffffef
or edx, 2
and edx, 0xffffffdf
mov ecx, ebp
nop dword [rax]
mov eax, ecx
inc ecx
bt edx, eax
jb 0x1400c94e8
cmp ecx, 0x1f
jl 0x1400c94d0
mov eax, 4
jmp 0x1400cab40
mov dword [rbx + 0x6b0], edx
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 7
ja 0x1400c9605
mov dword [rbx + 0xb60], eax
jmp case.0x1400c9199.91
mov ecx, dword [rsi]
test ecx, ecx
je 0x1400c9523
dec ecx
jne case.0x1400ca8ef.20026
mov byte [rbx + 0xea3], 1
jmp case.0x1400c9199.91
mov byte [rbx + 0xea3], bpl
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xea4], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe8d], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe8c], al
jmp case.0x1400c9199.91
mov ecx, dword [rsi]
test ecx, ecx
je 0x1400c9590
dec ecx
je 0x1400c9580
dec ecx
jne case.0x1400ca8ef.20026
mov dword [rbx + 0xb98], 2
jmp case.0x1400c9199.91
mov edi, 1
mov dword [rbx + 0xb98], edi
jmp case.0x1400c9199.91
mov dword [rbx + 0xb98], ebp
jmp case.0x1400c9199.91
movsxd rax, dword [rsi]
cmp eax, 0xffffffff
jl 0x1400c9605
mov qword [rbx + 0x7a8], rax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
mov dword [rbx + 0x7b0], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
mov dword [rbx + 0x7b4], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 0xffff
ja 0x1400c9605
mov dword [rbx + 0x6a8], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 0x20c49b
ja 0x1400c9605
imul eax, eax, 0x3e8
mov dword [rbx + 0x788], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
jns 0x1400c95f4
mov eax, 0x2b
jmp 0x1400cab40
mov eax, dword [rsi]
cmp eax, 0x20c49b
ja 0x1400c9605
imul eax, eax, 0x3e8
mov dword [rbx + 0x78c], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
jns 0x1400c961e
mov eax, 0x2b
jmp 0x1400cab40
movsxd rax, dword [rsi]
cmp eax, 0xffffffff
jl 0x1400c9605
mov qword [rbx + 0x7c8], rax
jmp case.0x1400c9199.91
mov rcx, qword [rbx + 0xd20]
call qword [fcn.140045f23]
mov rcx, rbx
mov qword [rbx + 0xd20], rbp
call fcn.1400d3d90
mov ebp, eax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe86], al
jmp case.0x1400c9199.91
mov ecx, dword [rsi]
cmp ecx, 0xffff
ja 0x1400c9605
call fcn.1400df140
mov word [rbx + 0x6e0], ax
jmp case.0x1400c9199.91
mov ecx, dword [rsi]
cmp ecx, 0xffff
ja 0x1400c9605
call fcn.1400df130
mov dword [rbx + 0x6e4], eax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xa50], al
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je case.0x1400c9199.91
mov byte [rcx + 0x390], al
jmp case.0x1400c9199.91
test byte [rsi], 3
setne al
mov byte [rbx + 0xa51], al
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je case.0x1400c9199.91
mov byte [rcx + 0x391], al
jmp case.0x1400c9199.91
mov rax, qword [case.0x1400d2637.2]
test byte [rax + 0x10], 2
je case.0x1400c98bc.244
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xaa8], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
mov edi, 0x80000
cmp eax, edi
jg 0x1400c9748
cmp eax, 1
jge 0x1400c973c
mov edi, 0x4000
jmp 0x1400c9748
mov ecx, 0x400
mov edi, eax
cmp eax, ecx
cmovl edi, ecx
cmp edi, dword [rbx + 0xb68]
je 0x1400c977d
mov rcx, qword [rbx + 0x10a0]
lea eax, [rdi + 1]
movsxd rdx, eax
call qword [0x14018e738]
test rax, rax
jne 0x1400c9776
lea ebp, [rax + 0x1b]
mov dword [rbx + 0xb68], edi
jmp case.0x1400c9199.91
mov qword [rbx + 0x10a0], rax
mov dword [rbx + 0xb68], edi
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe9d], al
jmp case.0x1400c9199.91
movsxd rax, dword [rsi]
test eax, eax
js 0x1400c9605
mov qword [rbx + 0xb90], rax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 3
ja 0x1400c9605
mov dword [rbx + 0xbb4], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 2
ja 0x1400c9605
mov dword [rbx + 0xb88], eax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe9e], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe9f], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xea0], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xa53], al
mov byte [rbx + 0xafb], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
sete al
mov byte [rbx + 0xea1], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
sete al
mov byte [rbx + 0xea2], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
mov dword [rbx + 0xdc8], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
mov dword [rbx + 0xdcc], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
mov dword [rbx + 0xdd0], eax
jmp case.0x1400c9199.91
mov eax, dword [r8]
test eax, eax
js 0x1400c9605
mov dword [rcx + 0xe08], eax
jmp case.0x1400c9199.91
cmp edx, 0x2711
jg 0x1400c9bb2
je 0x1400c9ba3
lea eax, [rdx - 0xd4]
cmp eax, 0x4c
ja case.0x1400ca8ef.20026
lea r8, [0x140000000]
cdqe
movzx eax, byte [r8 + rax + 0xcadc0]
mov ecx, dword [r8 + rax*4 + 0xcad40]
add rcx, r8
jmp rcx
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xe90], al
jmp case.0x1400c9199.91
cmp edx, 0x20
jne 0x1400c98dc
add rbx, 0xa08
jmp 0x1400c98e3
add rbx, 0xab0
mov eax, dword [rsi]
movzx ecx, ax
and eax, 0xffff0000
cmp ecx, 7
ja 0x1400c9605
cmp eax, 0x7ffff
ja 0x1400c9605
mov dword [rbx], ecx
mov dword [rbx + 4], eax
jmp case.0x1400c9199.91
movzx eax, byte [rsi]
and al, 1
mov byte [rbx + 0xe84], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
mov dword [rbx + 0xe20], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
cmp eax, 1
jg 0x1400c9605
test eax, eax
setne al
mov byte [rbx + 0xeb5], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
mov dword [rbx + 0x6b4], eax
test eax, 0xfffffffa
je case.0x1400c9199.91
mov ebp, 4
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
mov dword [rbx + 0x790], eax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xeb0], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xaf8], al
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je case.0x1400c9199.91
mov byte [rcx + 0x3e0], al
jmp case.0x1400c9199.91
test byte [rsi], 3
setne al
mov byte [rbx + 0xaf9], al
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je case.0x1400c9199.91
mov byte [rcx + 0x3e1], al
jmp case.0x1400c9199.91
call fcn.1400d3300
test al, al
je case.0x1400c98bc.244
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xa52], al
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je case.0x1400c9199.91
mov byte [rcx + 0x392], al
jmp case.0x1400c9199.91
call fcn.1400d3790
test al, al
je case.0x1400c98bc.244
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xaa9], al
jmp case.0x1400c9199.91
mov ecx, dword [rsi]
mov eax, 0x200000
cmp ecx, eax
jg 0x1400c9a34
mov edi, 0x4000
mov eax, ecx
cmp ecx, edi
cmovl eax, edi
cdqe
mov qword [rbx + 0xb70], rax
mov rcx, qword [rbx + 0x10a8]
call qword [fcn.140045f23]
mov qword [rbx + 0x10a8], rbp
jmp case.0x1400c9199.91
mov ecx, dword [rsi]
movzx eax, cl
and al, 1
mov byte [rbx + 0xaaa], al
mov eax, ecx
shr ecx, 2
shr eax, 1
and al, 1
and cl, 1
mov byte [rbx + 0xaab], al
mov byte [rbx + 0xaac], cl
jmp case.0x1400c9199.91
mov ecx, dword [rsi]
movzx eax, cl
and al, 1
mov byte [rbx + 0xb52], al
mov eax, ecx
shr ecx, 2
shr eax, 1
and al, 1
and cl, 1
mov byte [rbx + 0xb53], al
mov byte [rbx + 0xb54], cl
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xea5], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xea7], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
mov dword [rbx + 0xe0c], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
mov dword [rbx + 0xe10], eax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xea9], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xeaa], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xeab], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xeac], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xead], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
mov dword [rbx + 0x794], eax
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xeae], al
jmp case.0x1400c9199.91
cmp dword [rsi], ebp
setne al
mov byte [rbx + 0xeb2], al
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
mov dword [rbx + 0xe50], eax
jmp case.0x1400c9199.91
mov eax, dword [rsi]
test eax, eax
js 0x1400c9605
mov dword [rbx + 0x79c], eax
jmp case.0x1400c9199.91
mov rax, qword [r8]
mov qword [rcx + 0x688], rax
jmp case.0x1400c9199.91
cmp edx, 0x27fb
jg 0x1400ca5f1
je case.0x1400c9bf4.10179
add edx, 0xffffd8ee
cmp edx, 0xe4
ja case.0x1400ca8ef.20026
lea r8, [0x140000000]
movsxd rax, edx
movzx eax, byte [r8 + rax + 0xcaf14]
mov ecx, dword [r8 + rax*4 + 0xcae10]
add rcx, r8
jmp rcx
mov rdx, qword [rsi]
lea rcx, [rbx + 0xcc8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xcf0]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xce8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc68]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
test rdx, rdx
je 0x1400c9c8f
cmp byte [rdx], bpl
jne 0x1400c9c8f
call fcn.1400dfa80
mov rdi, rax
test rax, rax
jne 0x1400c9c70
lea ebp, [rax + 0x1b]
jmp case.0x1400c9199.91
lea rcx, [rbx + 0xc10]
mov rdx, rax
call fcn.1400c90b0
mov rcx, rdi
mov ebp, eax
call qword [fcn.140045f23]
jmp case.0x1400c9199.91
lea rcx, [rbx + 0xc10]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rsi, qword [rsi]
test rsi, rsi
je 0x1400c9d18
mov rax, qword [rbx + 0x6d8]
cmp rax, 0xffffffffffffffff
je 0x1400c9d18
test rax, rax
js 0x1400c9cf1
mov rcx, qword [rbx + 0xdc0]
call qword [fcn.140045f23]
mov qword [rbx + 0xdc0], rbp
mov rax, qword [rbx + 0x6d8]
test rax, rax
mov ecx, 1
cmovne rcx, rax
call qword [sub.msvcrt.dll_malloc]
mov rdi, rax
test rax, rax
jne 0x1400c9cf8
mov ebp, DispInvoke
jmp 0x1400c9d29
mov r8, qword [rbx + 0x6d8]
test r8, r8
je 0x1400c9d0f
mov rdx, rsi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov qword [rbx + 0xdc0], rdi
jmp 0x1400c9d29
lea rcx, [rbx + 0xdc0]
mov rdx, rsi
call fcn.1400c90b0
mov ebp, eax
mov rax, qword [rbx + 0xdc0]
mov dword [rbx + 0xa00], 2
mov qword [rbx + 0x6c8], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x6c8], rax
mov rcx, qword [rbx + 0xdc0]
call qword [fcn.140045f23]
mov qword [rbx + 0xdc0], rbp
mov dword [rbx + 0xa00], 2
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov dword [rbx + 0xa00], 3
mov byte [rbx + 0xe97], bpl
mov qword [rbx + 0x7e0], rax
jmp case.0x1400c9199.91
cmp byte [rbx + 0xed9], bpl
je 0x1400c9db7
mov rcx, qword [rbx + 0xec0]
call qword [fcn.140045f23]
mov qword [rbx + 0xec0], rbp
mov byte [rbx + 0xed9], bpl
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc88]
call fcn.1400c90b0
mov ebp, eax
mov rax, qword [rbx + 0xc88]
mov qword [rbx + 0xec0], rax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xcf8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x7d0], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x7d8], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0xb80], rax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xbe8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
test rdx, rdx
je case.0x1400c9199.91
mov rcx, qword [rbx + 0xec8]
call fcn.1400cb420
test rax, rax
jne 0x1400c9e6e
mov rcx, qword [rbx + 0xec8]
call fcn.1400cb480
mov qword [rbx + 0xec8], rbp
mov eax, DispInvoke
jmp 0x1400cab40
mov qword [rbx + 0xec8], rax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xbf0]
call fcn.1400c90b0
movzx r9d, byte [rbx + 0xe85]
mov r8, qword [rbx + 0xee0]
xor edx, edx
mov rcx, rbx
mov ebp, eax
call fcn.1400d13d0
mov ecx, DispInvoke
test rax, rax
mov qword [rbx + 0xee0], rax
cmove ebp, ecx
jmp case.0x1400c9199.91
mov rdi, qword [rsi]
test rdi, rdi
je case.0x1400c9199.91
lea rdx, [0x1401393ac]
mov rcx, rdi
call fcn.1400dff60
test eax, eax
je 0x1400c9f08
mov edx, 2
mov rcx, rbx
mov r8d, edx
call fcn.1400e00b0
mov rcx, qword [rbx + 0xee0]
call fcn.1400d0f60
mov edx, 2
mov rcx, rbx
call fcn.1400e00f0
jmp case.0x1400c9199.91
lea rdx, str.SESS
mov rcx, rdi
call fcn.1400dff60
test eax, eax
je 0x1400c9f49
mov edx, 2
mov rcx, rbx
mov r8d, edx
call fcn.1400e00b0
mov rcx, qword [rbx + 0xee0]
call fcn.1400d1040
mov edx, 2
mov rcx, rbx
call fcn.1400e00f0
jmp case.0x1400c9199.91
lea rdx, str.FLUSH
mov rcx, rdi
call fcn.1400dff60
test eax, eax
je 0x1400c9f6b
xor edx, edx
mov rcx, rbx
call fcn.1400d18b0
jmp case.0x1400c9199.91
lea rdx, str.RELOAD
mov rcx, rdi
call fcn.1400dff60
test eax, eax
je 0x1400c9f8b
mov rcx, rbx
call fcn.1400d1610
jmp case.0x1400c9199.91
cmp qword [rbx + 0xee0], rbp
jne 0x1400c9fab
mov r9b, 1
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400d13d0
mov qword [rbx + 0xee0], rax
mov rcx, rdi
call qword [case.0x1400d2637.0]
mov rdi, rax
test rax, rax
je 0x1400ca044
cmp qword [rbx + 0xee0], rbp
je 0x1400ca044
mov edx, 2
mov rcx, rbx
mov r8d, edx
call fcn.1400e00b0
lea rcx, str.Set_Cookie:
mov r8d, VariantTimeToDosDateTime
mov rdx, rdi
call fcn.1400e00a0
mov rdx, qword [rbx + 0xee0]
mov byte [rsp + 0x38], 1
xor r9d, r9d
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov qword [rsp + 0x28], rbp
test eax, eax
je 0x1400ca01c
lea rax, [rdi + 0xb]
mov r8b, 1
mov qword [rsp + 0x20], rax
jmp 0x1400ca024
mov qword [rsp + 0x20], rdi
xor r8d, r8d
call fcn.1400d0150
mov edx, 2
mov rcx, rbx
call fcn.1400e00f0
mov rcx, rdi
call qword [fcn.140045f23]
jmp case.0x1400c9199.91
mov rcx, rax
mov ebp, DispInvoke
call qword [fcn.140045f23]
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xbf8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc70]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x698], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x678], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x690], rax
jmp case.0x1400c9199.91
cmp byte [rbx + 0xed8], bpl
je 0x1400ca0d4
mov rcx, qword [rbx + 0xeb8]
call qword [fcn.140045f23]
mov qword [rbx + 0xeb8], rbp
mov byte [rbx + 0xed8], bpl
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc90]
call fcn.1400c90b0
mov ebp, eax
mov rax, qword [rbx + 0xc90]
mov qword [rbx + 0xeb8], rax
jmp case.0x1400c9199.91
mov rcx, qword [rsi]
lea r8, [rbx + 0xd30]
lea rdx, [rbx + 0xd28]
call fcn.1400cb1e0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd28]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd30]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd38]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd90]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x9b0], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x9b8], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x9a8], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x9e0], rax
mov qword [rbx + 0xed0], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x778], rax
jmp case.0x1400c9199.91
mov rcx, qword [rsi]
lea r8, [rbx + 0xd48]
lea rdx, [rbx + 0xd40]
call fcn.1400cb1e0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd40]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd48]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd50]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc80]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x670], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x668], rax
test rax, rax
jne case.0x1400c9199.91
call qword [sym.imp.msvcrt.dll___iob_func]
add rax, 0x60
mov qword [rbx + 0x668], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x758], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x780], rax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xbc8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xbd8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc30]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc50]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc40]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdi, qword [rsi]
test rdi, rdi
je case.0x1400c9199.91
cmp byte [rdi], bpl
je case.0x1400c9199.91
lea rcx, [rbx + 0xd20]
mov rdx, rdi
call fcn.1400c90b0
mov ebp, eax
test eax, eax
jne case.0x1400c9199.91
mov rdx, rdi
mov rcx, rbx
call fcn.1400d3d80
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc08]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [case.0x1400d2637.2]
test byte [rax + 0x10], 8
je case.0x1400c98bc.244
mov rax, qword [rsi]
mov qword [rbx + 0xa78], rax
jmp case.0x1400c9199.91
mov rax, qword [case.0x1400d2637.2]
test byte [rax + 0x10], 4
je case.0x1400c98bc.244
mov rdx, qword [rsi]
lea rcx, [rbx + 0xcb8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xca8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [case.0x1400d2637.2]
test byte [rax + 0x10], 1
je case.0x1400c98bc.244
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc98]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd00]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd10]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rsi, qword [rsi]
mov edi, 1
cmp qword [rbx + 0xe0], rbp
je 0x1400ca49a
lea r8d, [rdi + 1]
mov edx, edi
mov rcx, rbx
call fcn.1400e00b0
cmp dword [rbx + 0xc8], 2
jne 0x1400ca437
mov qword [rbx + 0xc0], rbp
mov dword [rbx + 0xc8], ebp
mov rcx, qword [rbx + 0xe0]
mov rax, qword [rbx + 0xee0]
cmp qword [rcx + 0xa8], rax
jne 0x1400ca455
mov qword [rbx + 0xee0], rbp
mov rcx, qword [rbx + 0xe0]
mov rax, qword [rbx + 0x10c8]
cmp qword [rcx + 0xb0], rax
jne 0x1400ca473
mov qword [rbx + 0x10c8], rbp
mov rax, qword [rbx + 0xe0]
mov edx, edi
mov ecx, dword [rax + 4]
mov rax, qword [rbx + 0xe0]
dec ecx
mov dword [rax + 4], ecx
mov rcx, rbx
call fcn.1400e00f0
mov qword [rbx + 0xe0], rbp
mov qword [rbx + 0xe0], rsi
test rsi, rsi
je case.0x1400c9199.91
mov r8d, 2
mov edx, edi
mov rcx, rbx
call fcn.1400e00b0
mov rax, qword [rbx + 0xe0]
mov ecx, dword [rax + 4]
mov rax, qword [rbx + 0xe0]
inc ecx
mov dword [rax + 4], ecx
mov rax, qword [rbx + 0xe0]
test byte [rax], 8
je 0x1400ca4f1
add rax, 0x78
mov qword [rbx + 0xc0], rax
mov dword [rbx + 0xc8], 2
mov rax, qword [rbx + 0xe0]
cmp qword [rax + 0xa8], rbp
je 0x1400ca522
mov rcx, qword [rbx + 0xee0]
call fcn.1400d0e70
mov rax, qword [rbx + 0xe0]
mov rcx, qword [rax + 0xa8]
mov qword [rbx + 0xee0], rcx
mov rax, qword [rbx + 0xe0]
cmp qword [rax + 0xb0], rbp
je 0x1400ca555
mov rax, qword [rax + 0xb8]
mov qword [rbx + 0xb58], rax
mov rax, qword [rbx + 0xe0]
mov rcx, qword [rax + 0xb0]
mov qword [rbx + 0x10c8], rcx
mov edx, edi
mov rcx, rbx
call fcn.1400e00f0
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0xb78], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x730], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x740], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x750], rax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd80]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd88]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0xdd8], rax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd70]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
cmp edx, 0x4e2b
jg 0x1400ca8ad
je 0x1400ca878
add edx, 0xffffd804
cmp edx, 0x35
ja case.0x1400ca8ef.20026
lea r8, [0x140000000]
movsxd rax, edx
movzx eax, byte [r8 + rax + 0xcb060]
mov ecx, dword [r8 + rax*4 + 0xcaffc]
add rcx, r8
jmp rcx
mov rdx, qword [rsi]
lea rcx, [rbx + 0xcd0]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
call fcn.1400d3e20
test al, al
je case.0x1400ca630.10238
mov rdx, qword [rsi]
lea rcx, [rbx + 0xcd8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
call fcn.1400d3e20
test al, al
je case.0x1400ca630.10238
mov rdx, qword [rsi]
lea rcx, [rbx + 0xce0]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd98]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0x7e8]
xor r8d, r8d
call fcn.1400dd720
mov ebp, eax
test eax, eax
jne case.0x1400c9199.91
mov dword [rbx + 0xa00], 4
mov byte [rbx + 0xe97], al
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc78]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd78]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0xe68], rax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xbd0]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xbe0]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc38]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc58]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc48]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [case.0x1400d2637.2]
test byte [rax + 0x10], 4
je case.0x1400c98bc.244
mov rdx, qword [rsi]
lea rcx, [rbx + 0xcc0]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xcb0]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [case.0x1400d2637.2]
test byte [rax + 0x10], 1
je case.0x1400c98bc.244
mov rdx, qword [rsi]
lea rcx, [rbx + 0xca0]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xd08]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0xe48], rax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xc00]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xda8]
call fcn.1400c90b0
mov ebp, eax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x9e8], rax
jmp case.0x1400c9199.91
mov rdx, qword [rsi]
lea rcx, [rbx + 0xda0]
call fcn.1400c90b0
cmp qword [rbx + 0xda0], 0
mov ebp, eax
setne al
mov byte [rbx + 0xeb3], al
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0xe70], rax
jmp case.0x1400c9199.91
mov rax, qword [r8]
mov qword [rcx + 0x6e8], rax
test rax, rax
jne 0x1400ca8a1
mov rax, qword [sym.imp.msvcrt.dll_fwrite]
mov byte [rcx + 0xe81], bpl
mov qword [rcx + 0x6e8], rax
jmp case.0x1400c9199.91
mov byte [rcx + 0xe81], 1
jmp case.0x1400c9199.91
cmp edx, 0x4f30
jg 0x1400caa21
je 0x1400caa12
add edx, 0xffffb1d4
cmp edx, 0xcf
ja case.0x1400ca8ef.20026
lea r8, [0x140000000]
movsxd rax, edx
movzx eax, byte [r8 + rax + 0xcb0d4]
mov ecx, dword [r8 + rax*4 + 0xcb098]
add rcx, r8
jmp rcx
mov rax, qword [rsi]
test rax, rax
mov qword [rbx + 0x708], rax
setne al
mov byte [rbx + 0x106c], al
jmp case.0x1400c9199.91
mov rax, qword [rsi]
test rax, rax
mov qword [rbx + 0x710], rax
setne al
mov byte [rbx + 0x106c], al
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x718], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x6f0], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x700], rax
test rax, rax
jne 0x1400ca96e
mov rax, qword [sym.imp.msvcrt.dll_fread]
mov byte [rbx + 0xe80], bpl
mov qword [rbx + 0x700], rax
jmp case.0x1400c9199.91
mov byte [rbx + 0xe80], 1
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x6d0], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x760], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x768], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x770], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x720], rax
jmp case.0x1400c9199.91
mov rax, qword [case.0x1400d2637.2]
test byte [rax + 0x10], 8
je case.0x1400c98bc.244
mov rax, qword [rsi]
mov qword [rbx + 0xa70], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x728], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x738], rax
jmp case.0x1400c9199.91
mov rax, qword [rsi]
mov qword [rbx + 0x748], rax
jmp case.0x1400c9199.91
mov rax, qword [r8]
mov qword [rcx + 0xe40], rax
jmp case.0x1400c9199.91
cmp edx, 0x75a8
jg 0x1400caaf2
je 0x1400caaa4
sub edx, 0x4f3b
je 0x1400caa95
sub edx, 0x2668
je 0x1400caa7c
dec edx
je 0x1400caa63
dec edx
jne case.0x1400ca8ef.20026
mov rax, qword [r8]
test rax, rax
js 0x1400c9605
mov qword [rcx + 0xb90], rax
jmp case.0x1400c9199.91
mov rax, qword [r8]
cmp rax, 0xffffffffffffffff
jl 0x1400c9605
mov qword [rcx + 0x7c8], rax
jmp case.0x1400c9199.91
mov rax, qword [r8]
cmp rax, 0xffffffffffffffff
jl 0x1400c9605
mov qword [rcx + 0x7a8], rax
jmp case.0x1400c9199.91
mov rax, qword [r8]
mov qword [rcx + 0xe78], rax
jmp case.0x1400c9199.91
mov rdi, qword [r8]
cmp rdi, 0xffffffffffffffff
jl 0x1400c9605
cmp qword [rcx + 0x6d8], rdi
jge 0x1400c93c6
mov rax, qword [rcx + 0xdc0]
cmp qword [rcx + 0x6c8], rax
jne 0x1400c93c6
mov rcx, rax
call qword [fcn.140045f23]
mov qword [rbx + 0xdc0], rbp
mov qword [rbx + 0x6c8], rbp
mov qword [rbx + 0x6d8], rdi
jmp case.0x1400c9199.91
sub edx, 0x75c1
je 0x1400cab2b
dec edx
je 0x1400cab16
cmp edx, 0x7c
je 0x1400cab0a
mov ebp, 0x30
jmp case.0x1400c9199.91
mov rax, qword [r8]
mov qword [rcx + 0x9f8], rax
jmp case.0x1400c9199.91
mov rax, qword [r8]
test rax, rax
js 0x1400c9605
mov qword [rcx + 0x7c0], rax
jmp case.0x1400c9199.91
mov rax, qword [r8]
test rax, rax
js 0x1400c9605
mov qword [rcx + 0x7b8], rax
mov eax, ebp
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret