Function at 0x180045e20
Capabilities:
Encrypt data using speck
Parse credit card information

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rsi
push rdi
sub rsp, 0xcb8
mov qword [rsp + 0xb58], 0xf3ce
mov rax, qword [0x1800c3668]
mov word [rsp + 0x60], ax
mov rax, qword [0x1800c36d8]
mov word [rsp + 0x5c], ax
mov eax, 0xbbc1
mov word [rsp + 0x58], ax
mov eax, 0xf191
mov word [rsp + 0x4c], ax
mov eax, 0x7a
mov word [rsp + 0x48], ax
mov rax, qword [0x1800c36e0]
mov byte [rsp + 0x43], al
mov eax, 0xe033c3f5
mov qword [rsp + 0xa0], rax
mov rax, qword [0x1800c36c8]
mov word [rsp + 0x44], ax
mov dword [rsp + 0x6c], 0xd4c4
mov rax, qword [0x1800c3668]
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x41], 0xa1
mov eax, 0xffffff8f
mov word [rsp + 0x68], ax
movzx eax, word [0x1800c35ec]
mov byte [rsp + 0x42], al
mov qword [rsp + 0x80], 0xf91
movzx eax, byte [0x1800c35a7]
mov byte [rsp + 0x40], al
mov rax, qword [0x1800c3660]
mov qword [rsp + 0x88], rax
mov rax, qword [0x1800c36c8]
mov word [rsp + 0x64], ax
movabs rax, 0x3beece0c26630
mov qword [rsp + 0x98], rax
mov eax, 0x9e70
mov word [rsp + 0x50], ax
movzx eax, byte [0x1800c35a4]
mov word [rsp + 0x54], ax
mov rax, qword [0x1800c3690]
mov qword [rsp + 0x90], rax
movzx eax, byte [0x1800c35d3]
mov word [rsp + 0x74c], ax
mov eax, dword [0x1800c35bc]
mov qword [rsp + 0xb60], rax
movzx eax, byte [0x1800c35d3]
mov qword [rsp + 0xb68], rax
mov rax, qword [0x1800c3678]
mov qword [rsp + 0xb70], rax
movsx ax, byte [0x1800c35a5]
mov word [rsp + 0x73c], ax
mov eax, dword [0x1800c3678]
mov dword [rsp + 0x980], eax
mov eax, dword [0x1800c35bc]
mov dword [rsp + 0x984], eax
mov eax, dword [0x1800c36c4]
mov dword [rsp + 0x988], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x220], eax
mov rax, qword [0x1800c3670]
sub rax, 0xaa11
mov qword [rsp + 0x70], rax
movzx eax, byte [0x1800c35d3]
test eax, eax
jne 0x180045fe2
mov dword [rsp + 0x54c], 1
jmp 0x180045fed
mov dword [rsp + 0x54c], 0
movzx eax, word [rsp + 0x58]
mov rcx, qword [0x1800c36b0]
sub rax, rcx
movsx ecx, byte [0x1800c35a7]
mov edx, dword [rsp + 0x54c]
add edx, ecx
mov ecx, edx
movsxd rcx, ecx
sub rax, rcx
movzx ecx, byte [0x1800c35eb]
movzx ecx, cl
sub rax, rcx
mov byte [str.not_a_stream], al
mov eax, dword [rsp + 0x220]
add eax, 0x3e8
mov dword [rsp + 0x268], eax
mov qword [0x1800c3670], 0
mov rax, qword [0x1800c3660]
imul rax, qword [0x1800c3670]
test rax, rax
jne 0x180046066
mov dword [rsp + 0x550], 1
jmp 0x180046071
mov dword [rsp + 0x550], 0
movzx eax, byte [0x1800c35a3]
movsx eax, al
movzx ecx, word [0x1800c3624]
movzx ecx, cx
sub eax, ecx
mov ecx, dword [rsp + 0x550]
xor ecx, eax
mov eax, ecx
cdqe
movsx rcx, byte [rsp + 0x43]
mov rdx, qword [0x1800c3670]
add rdx, rcx
mov rcx, rdx
mov rdx, qword [0x1800c3698]
not rdx
mov r8, qword [0x1800c3690]
add r8, rdx
mov rdx, r8
add rcx, rdx
add rax, rcx
mov byte [0x1800c35a6], al
mov eax, dword [0x1800c36d4]
sub eax, 0x8c5c
mov eax, eax
mov qword [0x1800c36b0], rax
mov rax, qword [0x1800c3670]
mov qword [rsp + 0xb10], rax
cmp qword [rsp + 0xb10], 0
je 0x1800460fa
jmp 0x18004610b
movzx eax, word [rsp + 0x50]
sub eax, 0xa9f2
mov word [0x1800c3624], ax
mov eax, dword [rsp + 0x220]
add eax, 0x10d
mov dword [rsp + 0x98c], eax
mov eax, dword [rsp + 0x220]
add eax, 0x1c4
mov dword [rsp + 0x990], eax
movzx eax, byte [0x1800c35a4]
mov ecx, dword [0x1800c35bc]
add ecx, eax
mov eax, ecx
mov dword [0x1800c35bc], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x224], eax
mov qword [0x1800c3680], 2
mov eax, dword [rsp + 0x224]
add eax, 0x166
mov dword [rsp + 0x994], eax
mov eax, dword [rsp + 0x224]
add eax, 0x28c
mov dword [rsp + 0x2c0], eax
movzx eax, word [rsp + 0x60]
cwde
test eax, eax
je 0x1800461b7
mov rax, qword [0x1800c36b0]
movabs rcx, 0x4daf9ae5285b8
imul rax, rcx
movzx ecx, word [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x58], ax
jmp 0x180046203
mov rax, qword [0x1800c36a0]
add rax, 0xee6a
mov word [rsp + 0x50], ax
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
je 0x1800461e6
mov rax, qword [0x1800c3660]
mov qword [rsp + 0x880], rax
jmp 0x1800461f6
movsx rax, word [0x1800c360c]
mov qword [rsp + 0x880], rax
movzx eax, word [rsp + 0x880]
mov word [rsp + 0x60], ax
mov eax, dword [rsp + 0x224]
add eax, 0x178
mov dword [rsp + 0x998], eax
movzx eax, byte [0x1800c35a3]
movsx rax, al
cmp rax, qword [rsp + 0x88]
je 0x18004622d
jmp 0x180046272
cmp qword [0x1800c3688], 0
je 0x180046248
movsxd rax, dword [0x1800c36c4]
mov qword [rsp + 0x888], rax
jmp 0x180046257
mov rax, qword [0x1800c36d8]
mov qword [rsp + 0x888], rax
mov rax, qword [rsp + 0x888]
mov qword [0x1800c3690], rax
mov qword [rsp + 0x88], 0xfd
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x228], eax
mov qword [rsp + 0x80], 0
mov rax, qword [rsp + 0x90]
add rax, 0x58
mov word [rsp + 0x58], ax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xb18], rax
cmp qword [rsp + 0xb18], 0
je 0x1800462b9
jmp 0x180046310
mov eax, dword [0x1800c36c4]
sar eax, 7
cdqe
mov qword [0x1800c36d8], rax
mov rax, qword [0x1800c36b0]
test rax, rax
jne 0x1800462e4
mov dword [rsp + 0x554], 1
jmp 0x1800462ef
mov dword [rsp + 0x554], 0
movzx eax, byte [rsp + 0x41]
movsx eax, al
movzx ecx, byte [0x1800c35eb]
movzx ecx, cl
imul eax, ecx
imul eax, dword [rsp + 0x554]
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x228]
add eax, 0x30e
mov dword [rsp + 0x99c], eax
movzx eax, byte [0x1800c35d3]
movsx ecx, word [rsp + 0x5c]
sub eax, ecx
mov byte [0x1800c35d3], al
mov eax, dword [rsp + 0x228]
add eax, 0x3ec
mov dword [rsp + 0x9a0], eax
movzx eax, word [rsp + 0x4c]
cmp qword [0x1800c3680], rax
jne 0x180046365
mov dword [rsp + 0x55c], 1
jmp 0x180046370
mov dword [rsp + 0x55c], 0
cmp qword [0x1800c3680], 0x1d
jne 0x180046387
mov dword [rsp + 0x558], 1
jmp 0x180046392
mov dword [rsp + 0x558], 0
mov eax, dword [rsp + 0x558]
cmp dword [rsp + 0x55c], eax
je 0x1800463a7
jmp 0x18004642d
movzx eax, word [rsp + 0x60]
cwde
test eax, eax
je 0x1800463d6
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov ecx, dword [0x1800c36c4]
add ecx, eax
mov eax, ecx
mov dword [0x1800c36c4], eax
mov qword [0x1800c3670], 4
jmp 0x18004642d
mov rax, qword [0x1800c3678]
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
test rax, rax
je 0x18004642d
movsxd rax, dword [0x1800c36c0]
add rax, qword [0x1800c3680]
mov dword [0x1800c36c0], eax
mov eax, 1
imul rax, rax, 0x2254
lea rcx, [0x1808140c0]
movsx eax, byte [rcx + rax]
movzx ecx, word [0x1800c35ec]
movsx ecx, cx
add ecx, eax
mov eax, ecx
mov word [0x1800c35ec], ax
mov eax, dword [rsp + 0x228]
add eax, 0x104
mov dword [rsp + 0x9a4], eax
cmp qword [0x1800c3688], 0
jne 0x180046457
mov dword [rsp + 0x560], 1
jmp 0x180046462
mov dword [rsp + 0x560], 0
movzx eax, byte [str.not_a_stream]
mov ecx, dword [rsp + 0x560]
add ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [0x1800c36a0]
mov rdx, qword [0x1800c3678]
xor rdx, rcx
mov rcx, rdx
imul rax, rcx
movzx ecx, byte [0x1800c35eb]
movzx ecx, cl
imul rax, rcx
not rax
mov byte [0x1800c35a7], al
mov rax, qword [0x1800c3660]
mov ecx, 0x8796178f
sub rax, rcx
mov byte [0x1800c35a3], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x22c], eax
cmp qword [rsp + 0x98], 0
jne 0x1800464eb
movzx eax, byte [0x1800c35a4]
test eax, eax
je 0x1800464eb
mov qword [rsp + 0x890], 1
jmp 0x1800464f7
mov qword [rsp + 0x890], 0
movzx eax, word [rsp + 0x44]
movsx rax, ax
add rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x890]
sub rcx, rax
mov rax, rcx
test rax, rax
je 0x180046760
movzx eax, word [0x1800c3624]
movzx eax, ax
mov rcx, qword [rsp + 0xa0]
cmp rax, rcx
jle 0x18004656b
movzx eax, word [rsp + 0x50]
mov rcx, qword [0x1800c36e0]
sub rax, rcx
mov word [rsp + 0x50], ax
mov eax, 2
imul rax, rax, 0x90
lea rcx, [0x180823a00]
movzx edx, word [rsp + 0x6c]
mov word [rcx + rax], dx
jmp 0x180046760
cmp qword [0x1800c3670], 0
jne 0x180046582
mov dword [rsp + 0x240], 1
jmp 0x18004658d
mov dword [rsp + 0x240], 0
mov eax, dword [rsp + 0x240]
cmp dword [0x1800c36c4], eax
jl 0x1800465a9
mov dword [rsp + 0x244], 1
jmp 0x1800465b4
mov dword [rsp + 0x244], 0
mov eax, dword [rsp + 0x244]
not eax
test eax, eax
je 0x180046637
movsx eax, word [rsp + 0x5c]
test eax, eax
jne 0x1800465d8
mov qword [rsp + 0x898], 1
jmp 0x1800465e4
mov qword [rsp + 0x898], 0
mov rax, qword [rsp + 0x898]
mov rcx, qword [0x1800c3670]
xor rcx, rax
mov rax, rcx
movzx ecx, byte [0x1800c35a3]
movsx rcx, cl
add rcx, qword [rsp + 0x70]
not rcx
add rax, rcx
test rax, rax
jne 0x18004661e
mov byte [rsp + 0xa8], 1
jmp 0x180046626
mov byte [rsp + 0xa8], 0
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x40], al
jmp 0x180046760
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
jne 0x180046651
mov qword [rsp + 0x8a0], 1
jmp 0x18004665d
mov qword [rsp + 0x8a0], 0
mov rax, qword [0x1800c3698]
cmp qword [rsp + 0x8a0], rax
jne 0x18004667b
mov dword [rsp + 0x248], 1
jmp 0x180046686
mov dword [rsp + 0x248], 0
movsx eax, word [rsp + 0x68]
cmp dword [rsp + 0x248], eax
jg 0x1800466d5
movzx eax, word [0x1800c3624]
movzx eax, ax
test eax, eax
je 0x1800466b3
mov rax, qword [0x1800c36e0]
mov qword [rsp + 0x8a8], rax
jmp 0x1800466c1
movsx rax, word [rsp + 0x68]
mov qword [rsp + 0x8a8], rax
mov rax, qword [rsp + 0x8a8]
mov qword [0x1800c36b0], rax
jmp 0x180046760
movzx eax, word [rsp + 0x58]
mov rcx, qword [rsp + 0xa0]
add rax, rcx
test rax, rax
je 0x180046760
movzx eax, byte [0x1800c35a6]
movsx eax, al
test eax, eax
je 0x180046760
mov rax, qword [rsp + 0x90]
not rax
test rax, rax
je 0x180046760
movzx eax, word [rsp + 0x4c]
not eax
movzx ecx, word [rsp + 0x50]
mov edx, 0xdd719859
sub edx, ecx
mov ecx, edx
imul eax, ecx
test eax, eax
jne 0x180046731
mov dword [rsp + 0x24c], 1
jmp 0x18004673c
mov dword [rsp + 0x24c], 0
movsx eax, word [rsp + 0x68]
mov ecx, 0x3b39
sub ecx, eax
mov eax, ecx
xor eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x24c]
imul ecx, eax
mov eax, ecx
mov dword [0x1800c35d4], eax
mov eax, dword [rsp + 0x22c]
add eax, 0x36c
mov dword [rsp + 0x178], eax
mov eax, dword [rsp + 0x22c]
add eax, 0x314
mov dword [rsp + 0xd4], eax
movzx eax, word [rsp + 0x44]
movsx rax, ax
movabs rcx, 0x388f101d5fc68
sub rax, rcx
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x54]
movzx eax, ax
movabs rcx, 0x8afd845f77851
imul rax, rcx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x22c]
add eax, 0x3dd
mov dword [rsp + 0x60c], eax
movzx eax, byte [str.not_a_stream]
sar eax, 6
cdqe
mov qword [rsp + 0x90], rax
cmp dword [0x1800c35d4], 0
je 0x1800467fc
mov rax, qword [0x1800c3698]
mov qword [rsp + 0x8b0], rax
jmp 0x18004680d
movzx eax, byte [rsp + 0x41]
movsx rax, al
mov qword [rsp + 0x8b0], rax
mov rax, qword [rsp + 0x8b0]
mov qword [0x1800c3668], rax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x230], eax
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x180046834
jmp 0x18004686d
xor eax, eax
cmp eax, 0x42a0
je 0x180046850
movzx eax, byte [rsp + 0x40]
sub eax, 0x47
cdqe
mov qword [0x1800c3690], rax
jmp 0x18004686d
movzx eax, byte [str.not_a_stream]
test eax, eax
jne 0x180046868
movzx eax, byte [str.not_a_stream]
test eax, eax
je 0x180046868
jmp 0x18004686d
movsx eax, byte [rsp + 0x43]
mov eax, dword [rsp + 0x230]
add eax, 0x2e5
mov dword [rsp + 0x384], eax
mov eax, dword [rsp + 0x230]
add eax, 0x2ac
mov dword [rsp + 0x388], eax
mov eax, dword [rsp + 0x230]
add eax, 0x153
mov dword [rsp + 0x9a8], eax
movzx eax, word [rsp + 0x4c]
mov rcx, qword [0x1800c36a0]
cmp rax, rcx
jl 0x1800468c4
mov dword [rsp + 0x254], 1
jmp 0x1800468cf
mov dword [rsp + 0x254], 0
movzx eax, word [rsp + 0x4c]
cmp eax, 0x4e
jl 0x1800468e6
mov dword [rsp + 0x250], 1
jmp 0x1800468f1
mov dword [rsp + 0x250], 0
mov eax, dword [rsp + 0x250]
cmp dword [rsp + 0x254], eax
jl 0x180046920
movzx eax, word [rsp + 0x50]
mov ecx, dword [0x1800c3594]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x1800c3594]
sub ecx, eax
mov eax, ecx
mov dword [0x1800c3594], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x100
mov dword [rsp + 0x398], eax
cmp qword [0x1800c3698], 0xa61d
jg 0x18004695a
mov dword [rsp + 0x258], 1
jmp 0x180046965
mov dword [rsp + 0x258], 0
movsx eax, word [rsp + 0x5c]
sub eax, dword [rsp + 0x258]
mov eax, dword [rsp + 0xe8]
add eax, 0x3db
mov dword [rsp + 0x39c], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x2be
mov dword [rsp + 0x9ac], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xec], eax
mov eax, dword [0x1806dc008]
mov qword [0x1800c3668], rax
mov rax, qword [rsp + 0x98]
add rax, 0x43fdf7d8
mov qword [0x1800c3688], rax
mov eax, dword [rsp + 0xec]
add eax, 0x2a9
mov dword [rsp + 0x9b0], eax
mov eax, dword [rsp + 0xec]
add eax, 0x3e5
mov dword [rsp + 0x9b4], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
je 0x180046aa6
movzx eax, byte [0x1800c35a4]
movzx ecx, byte [0x1800c35a3]
movsx ecx, cl
cmp eax, ecx
jl 0x180046a1e
mov dword [rsp + 0x260], 1
jmp 0x180046a29
mov dword [rsp + 0x260], 0
movzx eax, byte [0x1800c35a4]
cmp eax, 0x1d
jl 0x180046a42
mov dword [rsp + 0x25c], 1
jmp 0x180046a4d
mov dword [rsp + 0x25c], 0
mov eax, dword [rsp + 0x25c]
cmp dword [rsp + 0x260], eax
jle 0x180046a6f
movzx eax, word [rsp + 0x64]
movsx rax, ax
mov qword [0x1800c3680], rax
jmp 0x180046aa4
movsx eax, byte [0x1800c35a7]
test eax, eax
je 0x180046aa4
mov eax, dword [rsp + 0x6c]
sub eax, 0xf33f42c6
mov word [rsp + 0x44], ax
mov eax, 1
imul rax, rax, 0x90
lea rcx, [0x180823930]
movzx eax, byte [rcx + rax]
mov word [rsp + 0x5c], ax
jmp 0x180046ab7
movzx eax, word [rsp + 0x50]
movzx ecx, word [rsp + 0x58]
and eax, ecx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0xec]
add eax, 0x256
mov dword [rsp + 0x3ac], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xf0], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x370
mov dword [rsp + 0x9b8], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x16
mov dword [rsp + 0x3d8], eax
mov eax, dword [rsp + 0xf0]
add eax, 0x17a
mov dword [rsp + 0x3d4], eax
movsx eax, word [0x1800c360c]
add eax, 0xfa88
mov word [rsp + 0x44], ax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xf4], eax
mov byte [0x1800c35a7], 0x98
mov eax, dword [rsp + 0xf4]
add eax, 0x3ba
mov dword [rsp + 0x1a4], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x247
mov dword [rsp + 0x3f4], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x9a
mov dword [rsp + 0x9bc], eax
movsx eax, byte [0x1800c35a5]
test eax, eax
jne 0x180046b85
mov qword [rsp + 0x8b8], 1
jmp 0x180046b91
mov qword [rsp + 0x8b8], 0
mov rax, qword [rsp + 0x8b8]
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x180046bba
mov qword [rsp + 0x8c0], 1
jmp 0x180046bc6
mov qword [rsp + 0x8c0], 0
movzx eax, byte [str.not_a_stream]
mov rcx, qword [0x1800c36a0]
imul rax, rcx
sub rax, qword [rsp + 0x8c0]
movzx ecx, word [rsp + 0x64]
movsx ecx, cx
mov edx, 0x24
sub edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x6c]
not edx
movzx r8d, byte [rsp + 0x40]
sub edx, r8d
not edx
imul ecx, edx
mov ecx, ecx
or rax, rcx
mov qword [0x1800c3690], rax
mov eax, dword [rsp + 0x6c]
mov rcx, qword [0x1800c36c8]
add rax, rcx
mov dword [rsp + 0x6c], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xf8], eax
mov qword [0x1800c3660], 1
mov rax, qword [rsp + 0x90]
sub rax, 0x5094
mov byte [0x1800c35a5], al
mov rax, qword [0x1800c3660]
mov qword [rsp + 0x8c8], rax
cmp qword [rsp + 0x8c8], 0
je 0x180046c76
cmp qword [rsp + 0x8c8], 1
je 0x180046c9c
jmp 0x180046cb3
movzx eax, byte [0x1800c35d3]
sub eax, 0x38b
mov word [rsp + 0x50], ax
movsx eax, byte [0x1800c35a7]
and eax, 0xe2
mov word [0x1800c35ec], ax
jmp 0x180046cb3
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x98]
lea rax, [rax + rcx + 0x2d]
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xf8]
add eax, 0x1e1
mov dword [rsp + 0x9c0], eax
mov eax, 4
mov word [rsp + 0x60], ax
movzx eax, byte [rsp + 0x42]
movzx eax, al
mov rcx, qword [0x1800c36a0]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c36a0], rax
movzx eax, word [rsp + 0x54]
movzx eax, ax
movzx ecx, byte [0x1800c35d3]
add eax, ecx
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x60]
cwde
mov dword [rsp + 0xb8], eax
cmp dword [rsp + 0xb8], 0
je 0x180046d52
cmp dword [rsp + 0xb8], 1
je 0x180046d6b
cmp dword [rsp + 0xb8], 2
je 0x180046db1
cmp dword [rsp + 0xb8], 3
je 0x180046dd1
cmp dword [rsp + 0xb8], 4
je 0x180046df4
jmp 0x180046e1d
movzx eax, word [rsp + 0x50]
movzx ecx, word [rsp + 0x64]
movsx ecx, cx
add eax, ecx
mov word [rsp + 0x64], ax
jmp 0x180046e1d
movzx eax, word [0x1800c35ec]
movsx rax, ax
mov rcx, qword [0x1800c36a8]
add rcx, rax
mov rax, rcx
not rax
movzx ecx, word [rsp + 0x44]
movsx rcx, cx
mov rdx, qword [0x1800c3668]
add rcx, rdx
mov rdx, qword [0x1800c36a8]
not rdx
sub rcx, rdx
and rax, rcx
mov byte [0x1800c35a6], al
jmp 0x180046e1d
mov rax, qword [0x1800c36b0]
dec rax
mov qword [0x1800c36b0], rax
mov eax, dword [0x1806dc008]
mov qword [0x1800c36a8], rax
jmp 0x180046e1d
movsxd rax, dword [0x1800c36c4]
sub rax, qword [0x1800c36a8]
movsxd rcx, dword [0x1800c36c4]
add rcx, rax
mov rax, rcx
mov dword [0x1800c36c4], eax
jmp 0x180046e1d
mov eax, 0xb9feaecf
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov word [rsp + 0x5c], ax
mov rax, qword [rsp + 0x70]
sub rax, 0x140
mov byte [0x1800c35a7], al
mov eax, dword [rsp + 0xf8]
add eax, 0x27a
mov dword [rsp + 0x9c4], eax
cmp dword [0x1800c35bc], 0
je 0x180046e3b
jmp 0x180046e47
movabs rax, 0x859fca2afbad5
xor ecx, ecx
mov eax, dword [rsp + 0xf8]
add eax, 0x34
mov dword [rsp + 0xd8], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xfc], eax
movzx eax, word [rsp + 0x54]
mov ecx, 1
imul rcx, rcx, 0x8738
lea rdx, [0x1806efd50]
mov byte [rdx + rcx], al
mov eax, dword [rsp + 0xfc]
add eax, 0x5bca
mov dword [rsp + 0x9c8], eax
movzx eax, word [rsp + 0x4c]
test eax, eax
jne 0x180046ea9
mov dword [rsp + 0x264], 1
jmp 0x180046eb4
mov dword [rsp + 0x264], 0
movsx eax, word [rsp + 0x5c]
and eax, dword [rsp + 0x264]
not eax
movsx ecx, byte [0x1800c35a5]
movzx edx, byte [rsp + 0x40]
not edx
sub ecx, edx
not ecx
add eax, ecx
cdqe
mov ecx, dword [rsp + 0x6c]
mov rdx, qword [0x1800c3670]
not rdx
sub rcx, rdx
imul rax, rcx
not rax
mov qword [0x1800c36c8], rax
mov eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x90]
xor rcx, rax
mov rax, rcx
mov qword [0x1800c3670], rax
mov eax, dword [rsp + 0xfc]
add eax, 0x5e9
mov dword [rsp + 0x748], eax
mov eax, dword [0x1800c36d4]
imul eax, eax, 0x7614855a
mov eax, eax
mov qword [0x1800c36b0], rax
mov rax, qword [rsp + 0x98]
sub rax, 0x2cc68fcb
mov dword [0x1800c36c4], eax
mov eax, dword [rsp + 0xfc]
add eax, 0x9b46
mov dword [rsp + 0x9cc], eax
movzx eax, word [rsp + 0x44]
cwde
shl eax, 2
mov word [0x1800c36d0], ax
mov eax, dword [rsp + 0x748]
add eax, 0x12
xor eax, 0x5fa
mov ecx, dword [rsp + 0x268]
xor ecx, 0x2bc
mov edx, dword [rsp + 0x268]
xor edx, 0x2bc
xor ecx, edx
sub eax, ecx
mov dword [rsp + 0x5d0], eax
movzx eax, word [rsp + 0x44]
cwde
sub eax, 0xe4
mov word [rsp + 0x50], ax
mov rax, qword [0x1800c3690]
mov qword [0x1800c3678], rax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x100], eax
movzx eax, word [rsp + 0x44]
movsx rax, ax
mov rcx, qword [0x1800c3678]
imul rcx, rax
mov rax, rcx
mov qword [0x1800c3678], rax
mov eax, dword [rsp + 0x100]
add eax, 0x4b1e
mov dword [rsp + 0x744], eax
mov eax, dword [rsp + 0x100]
add eax, 0x6c7c
mov dword [rsp + 0x740], eax
mov eax, dword [rsp + 0x100]
add eax, 0x1190
mov dword [rsp + 0x9d0], eax
mov eax, dword [0x1800c36c4]
sar eax, 7
cdqe
mov qword [rsp + 0x90], rax
movzx eax, byte [rsp + 0x40]
movabs rcx, 0x4b8aa394e48e3
imul rax, rcx
mov word [rsp + 0x54], ax
mov byte [0x1800c35a3], 2
movzx eax, byte [rsp + 0x40]
imul rax, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x40], al
movzx eax, word [rsp + 0x4c]
dec ax
mov word [rsp + 0x4c], ax
movzx eax, byte [0x1800c35a3]
mov byte [rsp + 0x104], al
cmp byte [rsp + 0x104], 0
je 0x1800470ac
cmp byte [rsp + 0x104], 1
je 0x1800470dd
cmp byte [rsp + 0x104], 2
je 0x1800470ea
jmp 0x18004710e
movsx rax, word [rsp + 0x5c]
sub rax, qword [0x1800c3678]
movsx rcx, word [rsp + 0x5c]
xor rcx, rax
mov rax, rcx
mov word [rsp + 0x5c], ax
mov rax, qword [0x1800c3698]
inc rax
mov qword [0x1800c3698], rax
jmp 0x18004710e
mov qword [0x1800c36a8], 0x2fc3
jmp 0x18004710e
mov eax, dword [rsp + 0x6c]
imul rax, qword [rsp + 0x98]
mov word [rsp + 0x4c], ax
mov rax, qword [0x1800c3660]
sub rax, 0x9c3
mov word [rsp + 0x68], ax
mov eax, dword [rsp + 0x744]
mov ecx, dword [rsp + 0x740]
or eax, ecx
mov ecx, 0x7213
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x5ec], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x108], eax
lea rax, [rsp + 0xc08]
lea rcx, str.CertSetCertificate
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xc08]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x108]
add eax, 0x93
mov dword [rsp + 0x734], eax
mov eax, dword [rsp + 0x108]
add eax, 0x103
mov dword [rsp + 0x738], eax
cmp qword [0x1800c3678], 0
je 0x1800471ac
movsx eax, byte [0x1800c35a5]
mov dword [rsp + 0x26c], eax
jmp 0x1800471b9
mov eax, dword [0x1800c36d4]
mov dword [rsp + 0x26c], eax
movzx eax, word [rsp + 0x26c]
mov word [rsp + 0x44], ax
mov rax, qword [rsp + 0x88]
add rax, rax
mov qword [0x1800c36e0], rax
mov eax, dword [rsp + 0x108]
add eax, 0x613f
mov dword [rsp + 0x730], eax
movsx rax, word [rsp + 0x5c]
add rax, qword [rsp + 0x88]
mov word [rsp + 0x5c], ax
mov rax, qword [0x1800c36d8]
imul rax, rax, 0xd9
mov rcx, qword [0x1800c36d8]
add rcx, rax
mov rax, rcx
mov qword [0x1800c36d8], rax
mov eax, 1
imul rax, rax, 0x5f
lea rcx, [0x1806efcc0]
movzx edx, byte [rsp + 0x88]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0x738]
mov ecx, dword [rsp + 0x734]
imul eax, ecx
mov ecx, dword [rsp + 0x730]
sub ecx, 0x77
or eax, ecx
xor eax, 0xf48f
mov dword [rsp + 0x5f0], eax
mov rax, qword [0x1800c3668]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
cmp rax, rcx
je 0x180047305
mov rax, qword [0x1800c36b0]
test rax, rax
je 0x1800472a5
movzx eax, byte [rsp + 0x40]
movzx ecx, byte [0x1800c35a4]
xor eax, ecx
movzx ecx, byte [rsp + 0x40]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
jmp 0x180047300
movsx rax, word [rsp + 0x68]
cmp qword [rsp + 0x70], rax
jae 0x180047300
mov eax, dword [0x1800c3594]
cdqe
imul rax, qword [0x1800c3688]
mov ecx, dword [0x1800c3594]
movsxd rcx, ecx
sub rcx, rax
mov rax, rcx
mov dword [0x1800c3594], eax
mov rax, qword [0x1800c3660]
mov rcx, qword [0x1800c3678]
imul rcx, rax
mov rax, rcx
mov rcx, qword [0x1800c3678]
xor rcx, rax
mov rax, rcx
mov qword [0x1800c3678], rax
jmp 0x180047397
mov rax, qword [0x1800c36a0]
movsxd rcx, dword [0x1800c36c0]
cmp rax, rcx
jle 0x180047325
mov dword [rsp + 0x274], 1
jmp 0x180047330
mov dword [rsp + 0x274], 0
movsx eax, byte [0x1800c35a5]
movsx ecx, byte [rsp + 0x43]
cmp eax, ecx
jle 0x18004734d
mov dword [rsp + 0x270], 1
jmp 0x180047358
mov dword [rsp + 0x270], 0
mov eax, dword [rsp + 0x270]
cmp dword [rsp + 0x274], eax
je 0x180047375
mov dword [rsp + 0x278], 1
jmp 0x180047380
mov dword [rsp + 0x278], 0
mov eax, dword [rsp + 0x278]
not eax
test eax, eax
je 0x180047397
mov eax, 0x6124
mov word [rsp + 0x44], ax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x10c]
add eax, 0x90
mov dword [rsp + 0x27c], eax
movsx eax, byte [0x1800c35a7]
test eax, eax
je 0x1800473d4
movzx eax, byte [rsp + 0x42]
movzx eax, al
mov qword [rsp + 0x8d0], rax
jmp 0x1800473e3
mov rax, qword [0x1800c3660]
mov qword [rsp + 0x8d0], rax
movzx eax, byte [rsp + 0x8d0]
mov byte [str.not_a_stream], al
mov eax, 0xe8934429
mov qword [0x1800c36e0], rax
mov eax, dword [rsp + 0x10c]
add eax, 0xe357
mov dword [rsp + 0x9d4], eax
mov eax, dword [rsp + 0x10c]
add eax, 0xf83a
mov dword [rsp + 0x72c], eax
movzx eax, word [rsp + 0x60]
cwde
movsx ecx, word [0x1800c36d0]
cmp eax, ecx
jge 0x180047436
jmp 0x180047440
mov dword [0x1800c36c0], 0x23
movzx eax, word [rsp + 0x58]
movabs rcx, 0x3735f90123ba0
sub rax, rcx
mov word [0x1800c3624], ax
mov eax, dword [rsp + 0x72c]
imul eax, eax, 0x8e31
mov ecx, dword [rsp + 0x27c]
mov edx, dword [rsp + 0x27c]
or ecx, edx
xor eax, ecx
mov eax, eax
mov ecx, 0x89dfabdd
sub rax, rcx
mov dword [rsp + 0x5f4], eax
mov qword [0x1800c36d8], 0
mov rax, qword [0x1800c36d8]
mov qword [rsp + 0xb20], rax
cmp qword [rsp + 0xb20], 0
je 0x1800474b0
jmp 0x1800474c3
movzx eax, word [rsp + 0x58]
sub eax, 0x8264
cdqe
mov qword [0x1800c36a0], rax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x110], eax
movabs rax, 0x6bfaeccfa1226
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x110]
add eax, 0x100
mov dword [rsp + 0x9d8], eax
mov eax, dword [rsp + 0x110]
add eax, 0x8cac
mov dword [rsp + 0x9dc], eax
mov eax, dword [rsp + 0x110]
add eax, 0x2c6a
mov dword [rsp + 0x280], eax
lea rax, [rsp + 0xb78]
lea rcx, str.Log_intialization
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xb78]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x1800c3594], eax
mov eax, dword [rsp + 0x280]
mov ecx, dword [rsp + 0x280]
xor eax, ecx
xor eax, 0x291
mov dword [rsp + 0x5fc], eax
mov eax, dword [0x1806dc008]
mov qword [0x1800c3660], rax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x114]
add eax, 0x743e
mov dword [rsp + 0x724], eax
mov eax, dword [rsp + 0x114]
add eax, 0xb3b4
mov dword [rsp + 0x9e0], eax
movzx eax, word [rsp + 0x48]
imul eax, eax, 0xe1
cdqe
mov qword [rsp + 0x88], rax
mov eax, 0x48ff
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x114]
add eax, 0x50c8
mov dword [rsp + 0x728], eax
mov eax, 0xd9
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x728]
mov ecx, dword [rsp + 0x724]
or eax, ecx
xor eax, 0x7518
mov dword [rsp + 0x600], eax
mov rax, qword [0x1800c3698]
not rax
test rax, rax
je 0x18004761e
mov qword [0x1800c3660], 0x9d
jmp 0x1800476a3
mov rax, qword [0x1800c36e0]
test rax, rax
jne 0x180047638
mov qword [rsp + 0x8d8], 1
jmp 0x180047644
mov qword [rsp + 0x8d8], 0
cmp qword [0x1800c3698], 0
jne 0x18004765c
mov qword [rsp + 0x870], 1
jmp 0x180047668
mov qword [rsp + 0x870], 0
mov rax, qword [0x1800c3670]
mov rcx, qword [rsp + 0x870]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x8d8]
add rcx, rax
mov rax, rcx
mov dword [0x1800c36c0], eax
movsx eax, byte [0x1800c35a5]
sub eax, 0xc0
mov byte [str.not_a_stream], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x118]
add eax, 0xe7
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x118]
add eax, 0xbf
mov dword [rsp + 0x9e4], eax
mov eax, dword [rsp + 0x118]
add eax, 0xd3
mov dword [rsp + 0x720], eax
movzx eax, byte [0x1800c35a6]
movsx eax, al
test eax, eax
je 0x1800476fc
jmp 0x1800477a3
movsx eax, word [rsp + 0x5c]
not eax
test eax, eax
je 0x18004771f
movsx eax, byte [0x1800c35a7]
test eax, eax
jne 0x18004771f
mov dword [rsp + 0x288], 1
jmp 0x18004772a
mov dword [rsp + 0x288], 0
mov rax, qword [0x1800c36c8]
test rax, rax
jne 0x180047751
movzx eax, byte [0x1800c35a6]
movsx eax, al
test eax, eax
jne 0x180047751
mov dword [rsp + 0x284], 0
jmp 0x18004775c
mov dword [rsp + 0x284], 1
mov eax, dword [rsp + 0x284]
cmp dword [rsp + 0x288], eax
jle 0x1800477a3
movsx rax, word [0x1800c36d0]
movabs rcx, 0x14c56a02909bd
add rax, rcx
mov word [rsp + 0x54], ax
movabs rax, 0xa016291e39794
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x50], ax
mov eax, dword [rsp + 0x11c]
mov ecx, dword [rsp + 0x11c]
or eax, ecx
mov ecx, dword [rsp + 0x720]
mov edx, dword [rsp + 0x11c]
sub ecx, edx
add eax, ecx
xor eax, 0xd3
mov dword [rsp + 0x640], eax
mov rax, qword [0x1800c36b0]
cmp rax, qword [0x1800c36a8]
jne 0x1800477ee
mov dword [rsp + 0x290], 1
jmp 0x1800477f9
mov dword [rsp + 0x290], 0
mov rax, qword [0x1800c36b0]
cmp rax, 0x19
jne 0x180047813
mov dword [rsp + 0x28c], 1
jmp 0x18004781e
mov dword [rsp + 0x28c], 0
mov eax, dword [rsp + 0x28c]
cmp dword [rsp + 0x290], eax
je 0x180047830
jmp 0x180047869
mov rax, qword [0x1800c3660]
test rax, rax
je 0x18004784d
movzx eax, byte [rsp + 0x41]
movsx eax, al
mov dword [rsp + 0x294], eax
jmp 0x18004785c
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov dword [rsp + 0x294], eax
mov eax, dword [rsp + 0x294]
mov dword [0x1800c35d4], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x120], eax
mov rax, qword [0x1800c36d8]
test rax, rax
je 0x180047946
mov rax, qword [0x1800c36d8]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
cmp rax, rcx
jne 0x1800478be
movabs rax, 0x418e312b7000f
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c36e0], rax
jmp 0x180047941
cmp dword [0x1800c36c0], 0
je 0x1800478de
mov eax, dword [0x1800c3594]
sub eax, 0x1403
cdqe
mov qword [rsp + 0x90], rax
jmp 0x180047941
movsx eax, byte [0x1800c35a7]
test eax, eax
je 0x180047903
mov eax, 1
imul rax, rax, 9
lea rcx, [0x1806efcc0]
movzx edx, byte [rsp + 0x68]
mov byte [rcx + rax], dl
jmp 0x180047941
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x180047941
mov rax, qword [0x1800c3660]
test rax, rax
je 0x180047926
movzx eax, word [rsp + 0x50]
mov dword [rsp + 0x298], eax
jmp 0x180047932
movsx eax, word [rsp + 0x68]
mov dword [rsp + 0x298], eax
movsxd rax, dword [rsp + 0x298]
mov qword [0x1800c3698], rax
jmp 0x1800479d1
movsx eax, word [0x1800c36d0]
test eax, eax
jne 0x18004795f
mov qword [rsp + 0x8e0], 1
jmp 0x18004796b
mov qword [rsp + 0x8e0], 0
mov rax, qword [0x1800c3660]
add rax, qword [rsp + 0x8e0]
test rax, rax
jne 0x18004798c
mov dword [rsp + 0x29c], 1
jmp 0x180047997
mov dword [rsp + 0x29c], 0
movsx rax, word [0x1800c360c]
mov rcx, qword [0x1800c36e0]
add rcx, rax
mov rax, rcx
movsx rcx, word [rsp + 0x68]
add rax, rcx
mov ecx, dword [0x1800c3594]
sub ecx, dword [rsp + 0x29c]
not ecx
movsxd rcx, ecx
and rax, rcx
mov word [0x1800c3624], ax
mov eax, dword [rsp + 0x120]
add eax, 0x79
mov dword [rsp + 0x9e8], eax
mov eax, dword [rsp + 0x120]
add eax, 0xbb
mov dword [rsp + 0x588], eax
movzx eax, word [rsp + 0x4c]
test eax, eax
je 0x180047a70
movzx eax, byte [0x1800c35d3]
test eax, eax
je 0x180047a70
movzx eax, word [0x1800c35ec]
cwde
test eax, eax
je 0x180047a70
movsxd rax, dword [0x1800c36c0]
cmp qword [rsp + 0x90], rax
jl 0x180047a34
mov qword [rsp + 0x8e8], 1
jmp 0x180047a40
mov qword [rsp + 0x8e8], 0
mov rax, qword [0x1800c36d8]
cmp qword [rsp + 0x8e8], rax
ja 0x180047a70
movsx rax, word [rsp + 0x68]
mov rcx, qword [0x1800c3698]
add rcx, rax
mov rax, rcx
mov qword [0x1800c3698], rax
jmp 0x180047b6f
movzx eax, byte [0x1800c35a3]
movsx eax, al
test eax, eax
jne 0x180047ac0
mov rax, qword [rsp + 0x90]
add rax, 0xa8
mov word [0x1800c3624], ax
mov rax, qword [0x1800c3670]
mov rcx, qword [0x1800c3680]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x1800c3680]
add rcx, rax
mov rax, rcx
mov qword [0x1800c3680], rax
jmp 0x180047b6f
cmp qword [0x1800c3688], 0
je 0x180047b16
movzx eax, byte [rsp + 0x42]
movzx eax, al
test eax, eax
je 0x180047b16
movsx rax, word [0x1800c360c]
mov rcx, qword [0x1800c36e0]
add rcx, rax
mov rax, rcx
mov qword [0x1800c36e0], rax
movzx eax, byte [rsp + 0x41]
movsx eax, al
mov ecx, dword [0x1800c36c4]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1800c36c4]
add ecx, eax
mov eax, ecx
mov dword [0x1800c36c4], eax
jmp 0x180047b6f
movzx eax, word [0x1800c35ec]
movsx rax, ax
cmp qword [0x1800c36a8], rax
jge 0x180047b37
mov dword [rsp + 0x2a0], 1
jmp 0x180047b42
mov dword [rsp + 0x2a0], 0
movzx eax, byte [0x1800c35d3]
cmp dword [rsp + 0x2a0], eax
je 0x180047b6f
movabs rax, 0x85696aba14668
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x120]
add eax, 0x59
mov dword [rsp + 0x9ec], eax
mov eax, dword [rsp + 0x588]
xor eax, 0xc74f
mov ecx, 0xc7f6
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x664], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x124], eax
mov rax, qword [0x1800c3660]
sub rax, 0xef
mov byte [0x1800c35d3], al
movsx eax, word [0x1800c36d0]
sub eax, 0x3862
movzx ecx, byte [0x1800c35a4]
sub ecx, eax
mov eax, ecx
mov byte [0x1800c35a4], al
mov eax, dword [rsp + 0x124]
add eax, 0x234
mov dword [rsp + 0x2b4], eax
movzx eax, word [rsp + 0x64]
cwde
test eax, eax
je 0x180047c08
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x8f0], rax
jmp 0x180047c18
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x8f0], rax
movzx eax, word [rsp + 0x8f0]
mov word [rsp + 0x5c], ax
movsx eax, byte [0x1800c35a5]
add eax, 0x84
test eax, eax
jne 0x180047c43
mov qword [rsp + 0x8f8], 1
jmp 0x180047c4f
mov qword [rsp + 0x8f8], 0
mov rax, qword [rsp + 0x8f8]
mov qword [0x1800c3680], rax
mov eax, dword [rsp + 0x124]
add eax, 0x28e
mov dword [rsp + 0x2b0], eax
movzx eax, byte [0x1800c35a6]
movsx eax, al
add eax, 0xa632
mov word [rsp + 0x54], ax
cmp qword [0x1800c3670], 0
je 0x180047c9e
movzx eax, word [rsp + 0x58]
mov qword [rsp + 0x900], rax
jmp 0x180047cae
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x900], rax
movzx eax, word [rsp + 0x900]
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x124]
add eax, 0x210
mov dword [rsp + 0x9f0], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x128], eax
mov eax, dword [rsp + 0x128]
add eax, 0x31b
mov dword [rsp + 0x9f4], eax
cmp dword [0x1800c36c4], 0
je 0x180047d09
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x908], rax
jmp 0x180047d19
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x908], rax
mov rax, qword [rsp + 0x908]
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x128]
add eax, 0x1e6
mov dword [rsp + 0x5b0], eax
movzx eax, word [0x1800c35ec]
cwde
movzx ecx, word [0x1800c35ec]
movsx ecx, cx
add eax, ecx
cdqe
mov qword [rsp + 0x98], rax
movsx eax, byte [rsp + 0x43]
test eax, eax
jne 0x180047d71
mov qword [rsp + 0x910], 1
jmp 0x180047d7d
mov qword [rsp + 0x910], 0
movzx eax, word [rsp + 0x58]
movzx ecx, byte [rsp + 0x42]
movzx ecx, cl
imul eax, ecx
movzx ecx, byte [0x1800c35eb]
movzx ecx, cl
movzx edx, word [0x1800c3624]
movzx edx, dx
sub ecx, edx
imul eax, ecx
cdqe
mov rcx, qword [0x1800c3660]
not rcx
movzx edx, word [rsp + 0x50]
imul rcx, rdx
imul rcx, qword [rsp + 0x910]
sub rax, rcx
test rax, rax
jne 0x180047dd6
mov byte [rsp + 0xab], 1
jmp 0x180047dde
mov byte [rsp + 0xab], 0
movzx eax, byte [rsp + 0xab]
mov byte [str.not_a_stream], al
mov eax, dword [rsp + 0x128]
add eax, 0x315
mov dword [rsp + 0x5b4], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x12c], eax
mov byte [0x1800c35a3], 0xee
movzx eax, word [0x1800c35ec]
movsx rax, ax
imul rax, qword [0x1800c36a8]
not rax
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x12c]
add eax, 0x255
mov dword [rsp + 0x414], eax
mov eax, dword [rsp + 0x12c]
add eax, 0x370
mov dword [rsp + 0x418], eax
lea rax, [rsp + 0xbe0]
lea rcx, str._common_sso_final
mov rdi, rax
mov rsi, rcx
mov ecx, 0x24
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xbe0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x12c]
add eax, 0x276
mov dword [rsp + 0x9f8], eax
movzx eax, word [rsp + 0x44]
cwde
sub eax, 0x6d64
mov dword [0x1800c3594], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x130], eax
movzx eax, byte [0x1806dc008]
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x130]
add eax, 0x23e
mov dword [rsp + 0x9fc], eax
movzx eax, byte [0x1800c35a3]
movsx eax, al
movzx ecx, word [rsp + 0x58]
add eax, ecx
movzx ecx, byte [0x1800c35a3]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [0x1800c35a3], al
mov eax, dword [rsp + 0x130]
add eax, 0x272
mov dword [rsp + 0x67c], eax
mov eax, dword [rsp + 0x130]
add eax, 0x2cd
mov dword [rsp + 0x680], eax
imul rax, qword [0x1800c36a8], 0xd643
mov dword [0x1800c35bc], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x134], eax
mov byte [0x1800c35a4], 4
movzx eax, byte [0x1800c35a4]
mov byte [rsp + 0xbc], al
cmp byte [rsp + 0xbc], 0
je 0x180047f94
cmp byte [rsp + 0xbc], 1
je 0x180047fd9
cmp byte [rsp + 0xbc], 2
je 0x180047ffa
cmp byte [rsp + 0xbc], 3
je 0x180048010
cmp byte [rsp + 0xbc], 4
je 0x1800480db
jmp 0x180048102
movzx eax, byte [0x1800c35a6]
movsx rax, al
movabs rcx, 0x603c7dee02e73
xor rax, rcx
mov rcx, qword [0x1800c3698]
xor rcx, rax
mov rax, rcx
mov qword [0x1800c3698], rax
movsx eax, byte [rsp + 0x43]
add eax, 0x58cb9262
cdqe
mov qword [rsp + 0x98], rax
jmp 0x180048102
movabs rax, 0xf405da102adc9
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x43], al
jmp 0x180048102
movzx eax, word [rsp + 0x60]
cwde
imul eax, eax, 0x81
mov word [rsp + 0x50], ax
jmp 0x180048102
cmp qword [0x1800c3680], 0
jne 0x180048027
mov dword [rsp + 0x2a4], 1
jmp 0x180048032
mov dword [rsp + 0x2a4], 0
movzx eax, byte [rsp + 0x41]
movsx eax, al
imul eax, dword [rsp + 0x2a4]
test eax, eax
jne 0x180048054
mov qword [rsp + 0x918], 1
jmp 0x180048060
mov qword [rsp + 0x918], 0
cmp qword [rsp + 0x80], 0
jne 0x180048078
mov dword [rsp + 0x2a8], 1
jmp 0x180048083
mov dword [rsp + 0x2a8], 0
movzx eax, byte [0x1800c35a6]
movsx rax, al
mov rcx, qword [0x1800c36e0]
not rcx
imul rax, rcx
add rax, qword [rsp + 0x918]
imul ecx, dword [rsp + 0x2a8], 0x3179
sub ecx, 0xb3bb
movsxd rcx, ecx
sub rax, rcx
mov dword [0x1800c35bc], eax
movzx eax, word [rsp + 0x50]
imul eax, eax, 0xfb
imul eax, eax, 0xb8
cdqe
mov qword [rsp + 0x70], rax
jmp 0x180048102
movzx eax, byte [rsp + 0x40]
movabs rcx, 0x4e047572ad270
imul rax, rcx
mov rcx, qword [0x1800c36a8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c36a8], rax
mov eax, dword [rsp + 0x134]
add eax, 0x1a9
mov dword [rsp + 0x698], eax
movzx eax, byte [0x1800c35a3]
movsx eax, al
shl eax, 2
cdqe
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x134]
add eax, 0x244
mov dword [rsp + 0x448], eax
mov eax, dword [rsp + 0x134]
add eax, 0x358
mov dword [rsp + 0x694], eax
mov rax, qword [0x1800c36c8]
mov qword [0x1800c36a8], rax
movzx eax, word [rsp + 0x4c]
mov rcx, qword [rsp + 0xa0]
imul rax, rcx
mov word [rsp + 0x4c], ax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x138], eax
movsx eax, byte [rsp + 0x43]
movsx ecx, byte [0x1800c35a7]
not ecx
sub eax, ecx
test eax, eax
jne 0x1800481a5
mov qword [rsp + 0x920], 1
jmp 0x1800481b1
mov qword [rsp + 0x920], 0
movzx eax, byte [0x1800c35a3]
movsx rax, al
xor rax, qword [rsp + 0x80]
and rax, qword [rsp + 0x920]
mov ecx, dword [0x1800c36c4]
not ecx
movsxd rcx, ecx
mov rdx, qword [rsp + 0x70]
and rdx, rcx
mov rcx, rdx
not rcx
add rax, rcx
mov word [rsp + 0x48], ax
mov eax, 0x959a
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x138]
add eax, 0x96
mov dword [rsp + 0x6c4], eax
mov eax, dword [rsp + 0x138]
add eax, 0x3dc
mov dword [rsp + 0xa00], eax
mov eax, dword [rsp + 0x138]
add eax, 0x2cd
mov dword [rsp + 0x4ac], eax
movzx eax, byte [0x1800c35a4]
mov ecx, 0xdc8a699c
add rax, rcx
mov rcx, qword [rsp + 0x90]
add rax, rcx
mov byte [0x1800c35a4], al
mov qword [rsp + 0x238], 0
mov eax, dword [rsp + 0x6c]
add eax, 0x1a
mov byte [0x1800c35a7], al
mov qword [rsp + 0x580], 0
mov dword [rsp + 0xe0], 0
mov byte [0x1800c35d3], 1
mov dword [0x1800c35bc], 0x1a1db3b
mov rax, qword [0x1800c36b0]
movzx ecx, word [rsp + 0x50]
lea rax, [rcx + rax - 0x43b8]
mov word [rsp + 0x50], ax
movzx eax, byte [0x1800c35d3]
mov byte [rsp + 0x2ac], al
cmp byte [rsp + 0x2ac], 0
je 0x1800482ce
cmp byte [rsp + 0x2ac], 1
je 0x1800482e4
jmp 0x1800482f6
mov rax, qword [rsp + 0xa0]
sub rax, 0xf5b6
mov dword [0x1800c36c4], eax
jmp 0x1800482f6
mov rax, qword [0x1800c36c8]
shl rax, 4
mov word [0x1800c360c], ax
mov dword [rsp + 0xc0], 0
mov eax, 2
imul rax, rax, 0xe
lea rcx, [0x1806ff900]
movzx eax, word [rcx + rax]
mov ecx, dword [rsp + 0x6c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x71c], 0
mov eax, dword [0x1800c35bc]
mov rcx, qword [0x1800c36b0]
sub rax, rcx
movzx ecx, word [rsp + 0x50]
mov rdx, qword [0x1800c3668]
sub rdx, rcx
mov rcx, rdx
add rax, rcx
test rax, rax
jne 0x180048364
mov qword [rsp + 0x928], 1
jmp 0x180048370
mov qword [rsp + 0x928], 0
movzx eax, word [rsp + 0x4c]
sub rax, qword [rsp + 0x90]
movzx ecx, word [rsp + 0x48]
mov rdx, qword [0x1800c36a0]
sub rcx, rdx
sub rax, rcx
add rax, qword [rsp + 0x928]
mov word [rsp + 0x68], ax
mov rax, qword [0x1800c3688]
not rax
mov byte [rsp + 0x40], al
movzx eax, word [rsp + 0x4c]
test eax, eax
je 0x1800483ea
movzx eax, word [rsp + 0x44]
cwde
mov ecx, dword [0x1800c36d4]
add eax, ecx
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x64]
movsx rax, ax
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov dword [rsp + 0xe0], 0x38c48348
mov eax, dword [rsp + 0x2b0]
mov ecx, dword [rsp + 0x2b0]
imul eax, ecx
mov ecx, dword [rsp + 0x2b4]
add ecx, 0x279
or eax, ecx
mov ecx, dword [rsp + 0x2b4]
cmp eax, ecx
je 0x1800492bf
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x13c], eax
mov rax, qword [rsp + 0x90]
shl rax, 8
mov word [0x1800c35ec], ax
mov eax, 2
imul rax, rax, 0x13
lea rcx, [0x18076a1e0]
movzx eax, word [rcx + rax]
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x13c]
add eax, 0x77
mov dword [rsp + 0xa04], eax
mov eax, dword [rsp + 0x13c]
add eax, 0x100
mov dword [rsp + 0x58c], eax
mov eax, dword [rsp + 0x13c]
add eax, 0xbb
mov dword [rsp + 0x2bc], eax
mov qword [rsp + 0x88], 4
movsx eax, byte [0x1800c35a5]
test eax, eax
jne 0x1800484b9
mov qword [rsp + 0x930], 1
jmp 0x1800484c5
mov qword [rsp + 0x930], 0
mov eax, dword [rsp + 0x6c]
sub rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x930]
mov rdx, qword [0x1800c3678]
and rdx, rcx
mov rcx, rdx
add rax, rcx
mov rcx, qword [0x1800c3678]
sub rcx, 0xb9
movzx edx, byte [0x1800c35a6]
movsx rdx, dl
imul rcx, rdx
not rcx
imul rax, rcx
mov word [rsp + 0x58], ax
mov rax, qword [0x1800c36b0]
mov qword [0x1800c36a8], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x568], rax
cmp qword [rsp + 0x568], 0
je 0x180048575
cmp qword [rsp + 0x568], 1
je 0x1800485ac
cmp qword [rsp + 0x568], 2
je 0x180048621
cmp qword [rsp + 0x568], 3
je 0x18004862f
cmp qword [rsp + 0x568], 4
je 0x180048648
jmp 0x180048681
movsxd rax, dword [0x1800c36c4]
movabs rcx, 0x241b16b832e46
add rax, rcx
mov qword [0x1800c36b8], rax
movzx eax, byte [0x1800c35eb]
movzx eax, al
sub rax, qword [0x1800c3678]
mov byte [0x1800c35eb], al
jmp 0x180048681
movzx eax, word [0x1800c35ec]
movsx rax, ax
imul rax, qword [0x1800c3688]
mov word [0x1800c35ec], ax
cmp qword [rsp + 0x80], 0
jne 0x1800485de
mov dword [rsp + 0x2b8], 1
jmp 0x1800485e9
mov dword [rsp + 0x2b8], 0
movsxd rax, dword [0x1800c36c0]
mov rcx, qword [0x1800c36a0]
imul rcx, rax
mov rax, rcx
not rax
movsx ecx, word [0x1800c36d0]
not ecx
imul ecx, dword [rsp + 0x2b8]
movsxd rcx, ecx
add rax, rcx
mov qword [0x1800c36a8], rax
jmp 0x180048681
movzx eax, word [rsp + 0x48]
mov word [0x1800c360c], ax
jmp 0x180048681
mov eax, dword [0x1806dc008]
mov dword [0x1800c3594], eax
mov qword [0x1800c3660], 0x9fce
jmp 0x180048681
mov eax, dword [0x1800c36d4]
mov eax, eax
mov rcx, qword [rsp + 0x70]
not rcx
add rax, rcx
mov byte [0x1800c35a4], al
movzx eax, word [0x1800c3624]
movzx eax, ax
mov rcx, qword [rsp + 0x88]
xor rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov byte [0x1800c35a5], 2
mov eax, dword [rsp + 0x58c]
xor eax, 0xf2ce
mov ecx, dword [rsp + 0x2bc]
mov edx, dword [rsp + 0x2bc]
xor ecx, edx
xor eax, ecx
add eax, 0xffff0e66
mov dword [rsp + 0x59c], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x140], eax
movzx eax, word [rsp + 0x44]
cwde
add eax, 0x3305e7ca
mov dword [rsp + 0x6c], eax
movsx rax, byte [rsp + 0x43]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x140]
add eax, 0xba
mov dword [rsp + 0x590], eax
movzx eax, word [rsp + 0x44]
cwde
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
sub eax, ecx
mov word [rsp + 0x44], ax
mov eax, dword [0x1800c35bc]
movabs rcx, 0x100091b7410ca
sub rax, rcx
mov byte [str.not_a_stream], al
mov eax, dword [rsp + 0x140]
add eax, 0x91d5
mov dword [rsp + 0xa08], eax
mov eax, dword [rsp + 0x140]
add eax, 0x4d
mov dword [rsp + 0x144], eax
mov rax, qword [rsp + 0x80]
add rax, 0x27
mov qword [0x1800c3668], rax
mov eax, 0xff1f3990
mov rcx, qword [rsp + 0x90]
sub rcx, rax
mov rax, rcx
mov word [0x1800c36d0], ax
mov qword [0x1800c3678], 0x60
mov eax, dword [rsp + 0x144]
mov ecx, dword [rsp + 0x144]
imul eax, ecx
mov ecx, dword [rsp + 0x590]
mov edx, dword [rsp + 0x144]
sub ecx, edx
xor eax, ecx
mov ecx, 0x17ef
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2c0]
mov edx, dword [rsp + 0x2c0]
mov edi, 0x1a7
sub edi, edx
mov edx, edi
lea ecx, [rcx + rdx - 0x1a7]
sub eax, ecx
mov dword [rsp + 0x5a0], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
movsx ecx, word [0x1800c36d0]
cmp eax, ecx
je 0x180048995
movzx eax, word [rsp + 0x60]
movsx rax, ax
cmp rax, qword [0x1800c36a8]
jg 0x180048819
movzx eax, word [rsp + 0x50]
test eax, eax
jne 0x180048819
mov dword [rsp + 0x2c8], 0
jmp 0x180048824
mov dword [rsp + 0x2c8], 1
movzx eax, byte [rsp + 0x41]
movsx eax, al
movzx ecx, byte [0x1800c35eb]
movzx ecx, cl
cmp eax, ecx
jg 0x180048848
mov qword [rsp + 0x938], 1
jmp 0x180048854
mov qword [rsp + 0x938], 0
mov rax, qword [0x1800c3690]
movabs rcx, 0x9d7a81356b04b
add rax, rcx
cmp qword [rsp + 0x938], rax
jge 0x18004887f
mov dword [rsp + 0x2c4], 1
jmp 0x18004888a
mov dword [rsp + 0x2c4], 0
mov eax, dword [rsp + 0x2c4]
cmp dword [rsp + 0x2c8], eax
jne 0x1800488b0
mov rax, qword [0x1800c36b0]
inc rax
mov qword [0x1800c36b0], rax
jmp 0x180048993
xor eax, eax
cmp eax, 0x3111bdbd
je 0x1800488c9
mov qword [0x1800c3678], 0x3a66c9e3
jmp 0x180048993
movzx eax, word [rsp + 0x58]
cmp rax, qword [rsp + 0x88]
jae 0x1800488e5
mov dword [rsp + 0x2d0], 1
jmp 0x1800488f0
mov dword [rsp + 0x2d0], 0
movzx eax, word [rsp + 0x50]
not eax
cmp eax, 0x60
jg 0x180048909
mov dword [rsp + 0x2cc], 1
jmp 0x180048914
mov dword [rsp + 0x2cc], 0
mov eax, dword [rsp + 0x2cc]
cmp dword [rsp + 0x2d0], eax
jl 0x18004895a
movsx eax, word [0x1800c36d0]
add eax, 0xe2b88bc6
mov word [rsp + 0x44], ax
mov eax, dword [0x1800c36d4]
mov eax, eax
add rax, qword [0x1800c3688]
mov ecx, dword [0x1800c36d4]
mov ecx, ecx
add rcx, rax
mov rax, rcx
mov dword [0x1800c36d4], eax
jmp 0x180048993
mov rax, qword [0x1800c3668]
test rax, rax
je 0x180048993
movzx eax, word [0x1800c35ec]
movsx rax, ax
mov rcx, qword [rsp + 0x80]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1800c3680]
imul rcx, rax
mov rax, rcx
mov byte [str.not_a_stream], al
jmp 0x1800489ff
movabs rax, 0xfc226b0677396
mov rcx, qword [0x1800c3678]
sub rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x48]
imul rax, rcx
test rax, rax
jne 0x1800489c9
mov eax, 1
mov word [rsp + 0xd0], ax
jmp 0x1800489d3
xor eax, eax
mov word [rsp + 0xd0], ax
movzx eax, word [rsp + 0xd0]
mov word [0x1800c360c], ax
movabs rax, 0x927613976b06
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x44], ax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x148], eax
movsx eax, byte [0x1800c35a5]
test eax, eax
je 0x180048ab9
mov rax, qword [0x1800c36c8]
movabs rcx, 0x3e6762da7a252
cmp rax, rcx
jae 0x180048a86
movzx eax, word [rsp + 0x50]
xor eax, 0x20
movzx ecx, byte [rsp + 0x41]
movsx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x41], al
movzx eax, word [rsp + 0x48]
test eax, eax
je 0x180048a66
movzx eax, word [0x1800c3624]
movzx eax, ax
mov qword [rsp + 0x940], rax
jmp 0x180048a76
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x940], rax
movzx eax, byte [rsp + 0x940]
mov byte [0x1800c35a7], al
jmp 0x180048ab4
movsx eax, word [rsp + 0x5c]
movzx ecx, byte [rsp + 0x42]
movzx ecx, cl
cmp eax, ecx
jle 0x180048ab4
movzx eax, byte [str.not_a_stream]
sub eax, 0xf2e2
movzx ecx, word [rsp + 0x60]
movsx ecx, cx
and ecx, eax
mov eax, ecx
mov word [rsp + 0x60], ax
jmp 0x180048b65
mov eax, dword [0x1800c3594]
test eax, eax
jne 0x180048b65
movsx rax, word [rsp + 0x5c]
movabs rcx, 0x7c2f7fcef4956
cmp rax, rcx
jl 0x180048b65
mov eax, dword [0x1800c3594]
test eax, eax
jne 0x180048af7
mov dword [rsp + 0x2d4], 1
jmp 0x180048b02
mov dword [rsp + 0x2d4], 0
mov rax, qword [0x1800c36e0]
test rax, rax
jne 0x180048b1b
mov dword [rsp + 0x2d8], 1
jmp 0x180048b26
mov dword [rsp + 0x2d8], 0
movzx eax, byte [0x1800c35a4]
mov ecx, dword [rsp + 0x2d4]
sub ecx, eax
mov eax, ecx
not eax
movzx ecx, byte [rsp + 0x40]
add eax, dword [rsp + 0x2d8]
add ecx, eax
mov eax, ecx
mov dword [0x1800c36c4], eax
movzx eax, word [rsp + 0x4c]
mov ecx, dword [0x1800c36d4]
sub ecx, eax
mov eax, ecx
mov dword [0x1800c36d4], eax
mov eax, dword [rsp + 0x148]
add eax, 0xc554
mov dword [rsp + 0x594], eax
movzx eax, word [rsp + 0x60]
movsx rax, ax
mov rcx, qword [rsp + 0x88]
mov rdx, qword [0x1800c3678]
add rdx, rcx
mov rcx, rdx
xor rax, rcx
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x148]
add eax, 0x38
mov dword [rsp + 0xa0c], eax
movzx eax, byte [0x1800c35eb]
movzx eax, al
sub rax, qword [rsp + 0x88]
mov byte [0x1800c35eb], al
mov eax, dword [rsp + 0x148]
add eax, 0xe6
mov dword [rsp + 0x598], eax
movsx rax, byte [rsp + 0x43]
cmp rax, qword [0x1800c3688]
jl 0x180048bf5
mov dword [rsp + 0x2dc], 1
jmp 0x180048c00
mov dword [rsp + 0x2dc], 0
movzx eax, word [rsp + 0x50]
or eax, dword [rsp + 0x2dc]
test eax, eax
jne 0x180048c12
jmp 0x180048c49
mov rax, qword [0x1800c36a0]
test rax, rax
je 0x180048c49
movzx eax, word [rsp + 0x54]
movzx eax, ax
sub eax, 0x54
mov byte [rsp + 0x42], al
movabs rax, 0x4dd86c80d06b1
mov rcx, qword [0x1800c3688]
add rcx, rax
mov rax, rcx
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x180048c69
mov rax, qword [0x1800c36b8]
imul rax, rax, 0x7fb0
mov byte [rsp + 0x42], al
jmp 0x180048cf2
movzx eax, byte [0x1800c35a6]
movsx eax, al
movzx ecx, word [0x1800c35ec]
movsx ecx, cx
cmp eax, ecx
jge 0x180048c8e
mov dword [rsp + 0x2e4], 1
jmp 0x180048c99
mov dword [rsp + 0x2e4], 0
movsxd rax, dword [0x1800c36c4]
movabs rcx, 0xe517ea0716aa6
cmp rax, rcx
jne 0x180048cbc
mov dword [rsp + 0x2e0], 1
jmp 0x180048cc7
mov dword [rsp + 0x2e0], 0
mov eax, dword [rsp + 0x2e0]
cmp dword [rsp + 0x2e4], eax
jle 0x180048cf2
movsx eax, word [0x1800c36d0]
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x6c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x594]
mov ecx, dword [rsp + 0x598]
or eax, ecx
add eax, 0xffff3b7b
mov dword [rsp + 0x5a4], eax
movzx eax, word [rsp + 0x4c]
cmp qword [0x1800c36a8], rax
je 0x180048d29
mov dword [rsp + 0x2e8], 1
jmp 0x180048d34
mov dword [rsp + 0x2e8], 0
movzx eax, word [rsp + 0x50]
cmp eax, dword [rsp + 0x2e8]
je 0x180048d4f
mov dword [rsp + 0x2f8], 1
jmp 0x180048d5a
mov dword [rsp + 0x2f8], 0
movsx eax, word [rsp + 0x68]
test eax, eax
jne 0x180048d70
mov dword [rsp + 0x2ec], 1
jmp 0x180048d7b
mov dword [rsp + 0x2ec], 0
movzx eax, byte [0x1800c35d3]
cmp dword [rsp + 0x2ec], eax
je 0x180048d98
mov dword [rsp + 0x2f0], 1
jmp 0x180048da3
mov dword [rsp + 0x2f0], 0
movzx eax, byte [rsp + 0x41]
movsx eax, al
cmp dword [rsp + 0x2f0], eax
jl 0x180048dc1
mov dword [rsp + 0x2f4], 1
jmp 0x180048dcc
mov dword [rsp + 0x2f4], 0
mov eax, dword [rsp + 0x2f4]
cmp dword [rsp + 0x2f8], eax
jle 0x180048e1b
movzx eax, byte [str.not_a_stream]
cmp qword [0x1800c3678], rax
jne 0x180048e14
mov eax, 0x9a15
mov word [rsp + 0x48], ax
movabs rax, 0x25ff31eb5d1ed
mov rcx, qword [0x1800c3678]
imul rcx, rax
mov rax, rcx
mov byte [rsp + 0x42], al
jmp 0x180048e19
mov byte [rsp + 0x40], 2
jmp 0x180048e78
mov eax, dword [rsp + 0x6c]
not eax
mov eax, eax
mov rcx, qword [0x1800c36b8]
sub rax, rcx
movzx ecx, byte [0x1800c35a6]
movsx ecx, cl
not ecx
add ecx, 0xff396cf3
mov ecx, ecx
add rax, rcx
not rax
movzx ecx, byte [rsp + 0x42]
movzx ecx, cl
movsx edx, word [rsp + 0x68]
sub ecx, edx
movsxd rcx, ecx
movzx edx, word [0x1800c3624]
movzx edx, dx
add rdx, qword [0x1800c3698]
xor rcx, rdx
xor rax, rcx
mov qword [rsp + 0x90], rax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x14c], eax
movzx eax, byte [str.not_a_stream]
sub eax, 0xf2
mov byte [str.not_a_stream], al
mov eax, dword [rsp + 0x14c]
add eax, 0x37
mov dword [rsp + 0x300], eax
mov eax, 1
imul rax, rax, 0x236c
lea rcx, [0x18080e9b0]
movzx eax, byte [rcx + rax]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x6c], 8
mov eax, dword [rsp + 0x14c]
add eax, 0x477a
mov dword [rsp + 0xaec], eax
mov rax, qword [0x1800c36d8]
test rax, rax
je 0x180048f0d
movzx eax, word [0x1800c35ec]
cwde
mov dword [rsp + 0x2fc], eax
jmp 0x180048f1a
mov eax, dword [0x1800c3594]
mov dword [rsp + 0x2fc], eax
movsxd rax, dword [rsp + 0x2fc]
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0x50]
movabs rcx, 0xc46cc7c9a7a4b
add rax, rcx
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x14c]
add eax, 0x44
mov dword [rsp + 0xae8], eax
movzx eax, word [rsp + 0x80]
mov word [rsp + 0x5c], ax
mov eax, dword [rsp + 0x300]
add eax, 0x2a41
mov ecx, dword [rsp + 0x300]
xor ecx, 0x1a17
sub eax, ecx
mov ecx, 0x131a
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x5ac], eax
cmp qword [0x1806dbfb0], 0
je 0x180048fab
cmp qword [0x1806dbfb8], 0
je 0x180048fab
cmp qword [0x1806dbfc0], 0
jne 0x1800492bf
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x180048fee
mov eax, dword [0x1800c35bc]
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c36b8], rax
movsx eax, byte [0x1800c35a5]
movsx ecx, word [rsp + 0x68]
xor eax, ecx
movsx ecx, byte [0x1800c35a5]
sub ecx, eax
mov eax, ecx
mov byte [0x1800c35a5], al
movzx eax, word [rsp + 0x64]
cwde
movzx ecx, byte [rsp + 0x42]
movzx ecx, cl
mov edx, 0x98433917
lea rcx, [rcx + rdx]
add eax, ecx
mov byte [rsp + 0x42], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x150], eax
movzx eax, word [rsp + 0x4c]
cmp rax, qword [rsp + 0x90]
jg 0x180049034
mov dword [rsp + 0x304], 1
jmp 0x18004903f
mov dword [rsp + 0x304], 0
movzx eax, byte [0x1800c35a6]
movsx eax, al
sub eax, 0x568840a8
cmp eax, dword [rsp + 0x304]
jl 0x180049064
mov dword [rsp + 0x30c], 1
jmp 0x18004906f
mov dword [rsp + 0x30c], 0
movzx eax, word [rsp + 0x4c]
movzx ecx, word [rsp + 0x60]
movsx ecx, cx
imul eax, ecx
test eax, eax
jne 0x180049091
mov qword [rsp + 0x948], 1
jmp 0x18004909d
mov qword [rsp + 0x948], 0
movabs rax, 0x7df677948be3b
cmp qword [rsp + 0x948], rax
jge 0x1800490be
mov dword [rsp + 0x308], 1
jmp 0x1800490c9
mov dword [rsp + 0x308], 0
mov eax, dword [rsp + 0x308]
cmp dword [rsp + 0x30c], eax
jl 0x180049148
movzx eax, word [rsp + 0x4c]
mov ecx, dword [0x1800c3594]
imul eax, ecx
test eax, eax
jne 0x1800490f9
mov qword [rsp + 0x950], 1
jmp 0x180049105
mov qword [rsp + 0x950], 0
mov rax, qword [0x1800c3670]
mov rcx, qword [rsp + 0x950]
sub rcx, rax
mov rax, rcx
mov byte [0x1800c35d3], al
mov rax, qword [0x1800c36b0]
movabs rcx, 0xfd129f6e81e44
xor rax, rcx
movzx ecx, byte [rsp + 0x41]
movsx rcx, cl
sub rax, rcx
mov dword [0x1800c36c4], eax
jmp 0x180049166
cmp qword [rsp + 0x98], 0
je 0x180049166
movzx eax, byte [rsp + 0x40]
mov rcx, qword [0x1800c36e0]
and rax, rcx
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x59c]
mov ecx, dword [rsp + 0x150]
add eax, ecx
mov dword [rsp + 0x5a8], eax
mov eax, dword [rsp + 0x5a0]
mov ecx, dword [rsp + 0x150]
add eax, ecx
mov dword [rsp + 0xae4], eax
movzx eax, byte [0x1800c35a3]
movsx rax, al
movabs rcx, 0x329dc42800e72
add rax, rcx
mov byte [0x1800c35a4], al
movzx eax, word [rsp + 0x4c]
add eax, 0x1ec
cdqe
mov qword [0x1800c3668], rax
mov eax, dword [rsp + 0x5a4]
mov ecx, dword [rsp + 0x150]
add eax, ecx
mov dword [rsp + 0x310], eax
mov eax, dword [rsp + 0x310]
mov ecx, dword [rsp + 0x5a8]
imul eax, ecx
mov ecx, dword [rsp + 0x310]
mov edx, dword [rsp + 0x5ac]
imul ecx, edx
cmp eax, ecx
je 0x1800492bf
movzx eax, byte [0x1800c35eb]
movzx eax, al
test eax, eax
je 0x180049223
movzx eax, word [rsp + 0x48]
mov word [rsp + 0xce], ax
jmp 0x180049230
movzx eax, word [rsp + 0x58]
mov word [rsp + 0xce], ax
movzx eax, word [rsp + 0xce]
mov qword [0x1800c3680], rax
movzx eax, word [rsp + 0x60]
cwde
test eax, eax
jne 0x180049256
mov dword [rsp + 0x314], 1
jmp 0x180049261
mov dword [rsp + 0x314], 0
movsx eax, word [rsp + 0x68]
imul eax, eax, 0
not eax
cdqe
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov ecx, dword [rsp + 0x314]
imul ecx, dword [rsp + 0x6c]
xor ecx, dword [0x1800c36c4]
mov ecx, ecx
or rax, rcx
test rax, rax
jne 0x1800492a3
mov eax, 1
mov word [rsp + 0xcc], ax
jmp 0x1800492ad
xor eax, eax
mov word [rsp + 0xcc], ax
movzx eax, word [rsp + 0xcc]
mov word [rsp + 0x48], ax
call fcn.180045830
mov eax, dword [rsp + 0x5b0]
imul eax, eax, 0x296
mov ecx, dword [rsp + 0x5b4]
imul ecx, ecx, 0x1f6
sub ecx, 0xb0
cmp eax, ecx
je 0x180049e1d
movsx rax, word [0x1800c360c]
cmp rax, qword [rsp + 0x70]
ja 0x18004931d
movzx eax, word [rsp + 0x58]
add eax, 0x8572
cdqe
mov qword [0x1800c36b8], rax
movzx eax, word [rsp + 0x4c]
sub eax, 0x2570
mov word [rsp + 0x50], ax
jmp 0x1800493a9
movzx eax, word [rsp + 0x4c]
cmp eax, dword [rsp + 0x6c]
jae 0x180049335
mov dword [rsp + 0x318], 1
jmp 0x180049340
mov dword [rsp + 0x318], 0
movzx eax, byte [rsp + 0x40]
cmp dword [rsp + 0x318], eax
je 0x18004936c
movzx eax, word [rsp + 0x60]
movsx rax, ax
movabs rcx, 0x75ba11464774b
add rax, rcx
mov byte [0x1800c35a5], al
jmp 0x1800493a9
movzx eax, byte [0x1800c35a3]
movsx eax, al
test eax, eax
je 0x1800493a9
movzx eax, byte [str.not_a_stream]
add eax, 0x60ec
cdqe
mov rcx, qword [rsp + 0x88]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov qword [0x1800c36a8], 0x89
movzx eax, word [rsp + 0x44]
cwde
test eax, eax
je 0x1800493e9
lea rax, [rsp + 0xc30]
lea rcx, str.GetSystemTimeAsFil
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xc30]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0x98], rax
jmp 0x180049417
mov rax, qword [0x1800c36d8]
mov rcx, qword [0x1800c3690]
cmp rax, rcx
jae 0x180049417
mov rax, qword [0x1800c3690]
movabs rcx, 0x190c244f9ae0
sub rax, rcx
mov qword [0x1800c3670], rax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x154], eax
cmp qword [rsp + 0x90], 0
je 0x180049440
mov rax, qword [0x1800c36d8]
mov qword [rsp + 0x958], rax
jmp 0x18004944f
mov rax, qword [0x1800c36b0]
mov qword [rsp + 0x958], rax
movzx eax, byte [rsp + 0x958]
mov byte [0x1800c35a5], al
movzx eax, byte [0x1800c35a6]
movsx eax, al
sub eax, 0xbc067691
mov eax, eax
mov qword [0x1800c36d8], rax
mov eax, dword [rsp + 0x154]
add eax, 0x6e
mov dword [rsp + 0xae0], eax
movzx eax, word [0x1806dc008]
mov word [rsp + 0x60], ax
mov eax, dword [rsp + 0x154]
add eax, 0xc57
mov dword [rsp + 0x5bc], eax
mov byte [str.not_a_stream], 0
movzx eax, word [0x1806dc008]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x1800c35d3]
xor eax, 0x89
mov dword [0x1800c3594], eax
movzx eax, byte [str.not_a_stream]
mov byte [rsp + 0x5b8], al
cmp byte [rsp + 0x5b8], 0
je 0x1800494e4
jmp 0x18004950a
movzx eax, byte [rsp + 0x40]
add eax, 0x3808be0a
cdqe
mov qword [0x1800c36e0], rax
movsx eax, word [rsp + 0x5c]
add eax, 0x64395d3
cdqe
mov qword [0x1800c3690], rax
mov eax, dword [rsp + 0x154]
add eax, 0x8614
mov dword [rsp + 0xadc], eax
mov eax, dword [0x1800c36d4]
mov eax, eax
mov rcx, qword [0x1800c36c8]
cmp rax, rcx
jb 0x18004953e
mov dword [rsp + 0x320], 1
jmp 0x180049549
mov dword [rsp + 0x320], 0
mov eax, dword [0x1800c36d4]
cmp eax, 0xa
jb 0x180049561
mov dword [rsp + 0x31c], 1
jmp 0x18004956c
mov dword [rsp + 0x31c], 0
mov eax, dword [rsp + 0x31c]
cmp dword [rsp + 0x320], eax
jl 0x1800495ae
lea rax, [rsp + 0xb90]
lea rcx, str.Url_is_invalid_or
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xb90]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1800c35a5], al
jmp 0x1800495f0
movzx eax, word [rsp + 0x58]
test eax, eax
jne 0x1800495f0
movzx eax, word [rsp + 0x60]
movsx rax, ax
movabs rcx, 0xc967a75fa3b5e
add rax, rcx
mov rcx, qword [0x1800c36b8]
add rcx, rax
mov rax, rcx
mov qword [0x1800c36b8], rax
mov eax, dword [0x1800c35bc]
add eax, 0x4324ebc9
mov byte [rsp + 0x42], al
cmp qword [rsp + 0x88], 0
je 0x1800496cc
movzx eax, byte [str.not_a_stream]
cmp rax, qword [rsp + 0x80]
jne 0x18004961d
mov dword [rsp + 0x328], 1
jmp 0x180049628
mov dword [rsp + 0x328], 0
movzx eax, byte [str.not_a_stream]
cmp eax, 0x2b
jne 0x180049641
mov dword [rsp + 0x324], 1
jmp 0x18004964c
mov dword [rsp + 0x324], 0
mov eax, dword [rsp + 0x324]
cmp dword [rsp + 0x328], eax
je 0x180049694
movsx rax, word [0x1800c360c]
mov rcx, qword [0x1800c3660]
and rcx, rax
mov rax, rcx
mov qword [0x1800c3660], rax
mov eax, 0xedec1697
mov rcx, qword [rsp + 0x90]
imul rcx, rax
mov rax, rcx
mov byte [0x1800c35eb], al
jmp 0x1800496ca
movzx eax, word [rsp + 0x58]
test eax, eax
je 0x1800496ae
mov rax, qword [0x1800c36d8]
mov qword [rsp + 0x960], rax
jmp 0x1800496bc
movsx rax, word [rsp + 0x68]
mov qword [rsp + 0x960], rax
movzx eax, byte [rsp + 0x960]
mov byte [0x1800c35eb], al
jmp 0x1800496e8
movsx eax, word [rsp + 0x68]
xor eax, 0xbc
mov word [0x1800c36d0], ax
mov qword [0x1800c3668], 0xad
mov eax, dword [rsp + 0x5bc]
or eax, 0x35ab
mov ecx, 0x3f2e
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x5d8], eax
movzx eax, word [0x1800c35ec]
cwde
test eax, eax
je 0x180049721
mov rax, qword [0x1800c36a8]
mov qword [rsp + 0x968], rax
jmp 0x180049734
movzx eax, word [0x1800c35ec]
movsx rax, ax
mov qword [rsp + 0x968], rax
movzx eax, byte [rsp + 0x968]
mov byte [0x1800c35d3], al
movzx eax, byte [0x1800c35a6]
movsx rax, al
mov rcx, qword [rsp + 0x88]
not rcx
sub rax, rcx
mov word [rsp + 0x64], ax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x158], eax
movzx eax, byte [0x1800c35eb]
movzx eax, al
mov rcx, qword [0x1800c36b8]
imul rcx, rax
mov rax, rcx
mov qword [0x1800c36b8], rax
mov eax, dword [rsp + 0x158]
add eax, 0xeac4
mov dword [rsp + 0xad8], eax
mov eax, dword [rsp + 0x158]
add eax, 0xa91c
mov dword [rsp + 0x5c0], eax
mov eax, dword [rsp + 0x158]
add eax, 0xf4
mov dword [rsp + 0xad4], eax
mov eax, dword [0x1800c36c0]
sub eax, 0xbd
mov word [rsp + 0x54], ax
mov eax, dword [0x1806dc008]
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0x5c0]
add eax, 0xe8
mov ecx, 0xaac7
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x5dc], eax
movzx eax, word [rsp + 0x4c]
movzx ecx, word [0x1800c35ec]
movsx ecx, cx
add eax, ecx
movzx ecx, word [rsp + 0x4c]
and ecx, eax
mov eax, ecx
mov word [rsp + 0x4c], ax
mov rax, qword [0x1800c3680]
dec rax
mov byte [rsp + 0x41], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x15c], eax
mov qword [0x1800c3670], 4
movzx eax, word [0x1800c3624]
movzx eax, ax
mov rcx, qword [rsp + 0x98]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c3680], rax
mov rax, qword [0x1800c3660]
sar rax, 5
mov qword [0x1800c36b8], rax
mov rax, qword [0x1800c3670]
mov qword [rsp + 0x570], rax
cmp qword [rsp + 0x570], 0
je 0x1800498cc
cmp qword [rsp + 0x570], 1
je 0x1800498f8
cmp qword [rsp + 0x570], 2
je 0x18004992d
cmp qword [rsp + 0x570], 3
je 0x18004993d
cmp qword [rsp + 0x570], 4
je 0x180049959
jmp 0x1800499ae
movzx eax, word [rsp + 0x44]
movsx rax, ax
mov rcx, qword [0x1800c36e0]
sub rax, rcx
movzx ecx, word [rsp + 0x44]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x44], ax
jmp 0x1800499ae
movzx eax, word [rsp + 0x58]
movabs rcx, 0xe0e56aa9acea0
add rax, rcx
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0x64]
movsx rax, ax
imul rax, qword [0x1800c36a8]
mov word [rsp + 0x64], ax
jmp 0x1800499ae
movzx eax, word [rsp + 0x48]
shl eax, 2
mov byte [0x1800c35a7], al
jmp 0x1800499ae
mov eax, dword [0x1800c35bc]
movabs rcx, 0xfb5ba14938571
and rax, rcx
mov qword [0x1800c36b0], rax
jmp 0x1800499ae
movzx eax, word [rsp + 0x60]
movsx rax, ax
mov rcx, qword [0x1800c36b0]
imul rcx, rax
mov rax, rcx
mov qword [0x1800c36b0], rax
movzx eax, byte [rsp + 0x40]
mov rcx, qword [0x1800c36c8]
mov rdx, qword [0x1800c36b0]
xor rcx, rdx
sub rax, rcx
not rax
movsx ecx, byte [rsp + 0x43]
movzx edx, byte [0x1800c35a3]
movsx edx, dl
sub ecx, edx
movsxd rcx, ecx
add rax, rcx
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x15c]
add eax, 0xcb0d
mov dword [rsp + 0xa20], eax
mov eax, dword [rsp + 0x15c]
add eax, 0x104
mov dword [rsp + 0x5c8], eax
movabs rax, 0xc212596cf8ff2
mov qword [0x1800c36e0], rax
mov eax, dword [rsp + 0x15c]
add eax, 0x59
mov dword [rsp + 0x5cc], eax
mov eax, dword [0x1800c36d4]
test eax, eax
je 0x180049a4c
mov byte [rsp + 0x42], 0
mov rax, qword [0x1800c36b0]
mov ecx, 0xfb4ec176
add rax, rcx
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x90]
mov byte [0x1800c35a6], al
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x5c4], al
cmp byte [rsp + 0x5c4], 0
je 0x180049a3e
jmp 0x180049a4a
mov eax, 0xf7b2b6f3
mov qword [0x1800c3680], rax
jmp 0x180049ab4
mov eax, dword [0x1800c3594]
cdqe
cmp rax, qword [0x1800c36a8]
jge 0x180049a78
movzx eax, word [rsp + 0x58]
movabs rcx, 0xc88d32668582d
sub rax, rcx
mov qword [0x1800c3690], rax
jmp 0x180049ab4
movsx eax, word [rsp + 0x5c]
test eax, eax
je 0x180049ab4
mov rax, qword [0x1800c36a0]
mov rcx, qword [rsp + 0x90]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x88], rax
mov eax, 0xead3
sub rax, qword [rsp + 0x98]
not rax
mov word [rsp + 0x54], ax
mov eax, dword [rsp + 0x5c8]
mov ecx, dword [rsp + 0x5cc]
sub eax, ecx
add eax, 0x238
mov dword [rsp + 0x5e0], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x160], eax
mov qword [0x1800c36d8], 0
movzx eax, byte [0x1800c35a6]
movsx rax, al
movabs rcx, 0x973bb18d02072
sub rax, rcx
mov word [rsp + 0x4c], ax
mov qword [0x1800c3688], 0x277191a7
mov rax, qword [0x1800c36d8]
mov qword [rsp + 0xb28], rax
cmp qword [rsp + 0xb28], 0
je 0x180049b2c
jmp 0x180049b5a
mov eax, 1
imul rax, rax, 0x1ab3
lea rcx, [0x1806eb070]
movzx eax, byte [rcx + rax]
mov ecx, dword [0x1800c35bc]
sub ecx, eax
mov eax, ecx
mov dword [0x1800c35bc], eax
mov byte [0x1800c35a5], 0x4a
mov eax, dword [rsp + 0x160]
add eax, 0xe037
mov dword [rsp + 0xad0], eax
mov eax, dword [rsp + 0x160]
add eax, 0x97bb
mov dword [rsp + 0xacc], eax
mov eax, dword [rsp + 0x160]
add eax, 0x63
mov dword [rsp + 0xac8], eax
movzx eax, byte [rsp + 0x41]
movsx eax, al
add eax, 0x61658c53
mov ecx, dword [0x1800c3594]
sub ecx, eax
mov eax, ecx
mov dword [0x1800c3594], eax
mov rax, qword [rsp + 0x88]
shr rax, 2
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x5e4], 0x1a1
mov eax, dword [rsp + 0x5d0]
test eax, eax
je 0x180049e1d
mov byte [0x1800c35a7], 0
mov eax, dword [rsp + 0x6c]
sub eax, 0x46
mov word [rsp + 0x64], ax
movzx eax, byte [0x1800c35a7]
mov byte [rsp + 0x5d4], al
cmp byte [rsp + 0x5d4], 0
je 0x180049c06
jmp 0x180049c27
movzx eax, word [rsp + 0x54]
inc ax
mov word [rsp + 0x54], ax
mov rax, qword [rsp + 0xa0]
add rax, 0x1c60
mov byte [0x1800c35a7], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x164], eax
mov qword [rsp + 0xa0], 8
mov eax, dword [rsp + 0x5d8]
mov ecx, dword [rsp + 0x164]
add eax, ecx
mov dword [rsp + 0x5e8], eax
mov rax, qword [0x1800c36b8]
movsxd rcx, dword [0x1800c36c4]
cmp rax, rcx
je 0x180049c77
mov dword [rsp + 0x330], 1
jmp 0x180049c82
mov dword [rsp + 0x330], 0
mov rax, qword [0x1800c36b8]
cmp rax, 0x52
je 0x180049c9c
mov dword [rsp + 0x32c], 1
jmp 0x180049ca7
mov dword [rsp + 0x32c], 0
mov eax, dword [rsp + 0x32c]
cmp dword [rsp + 0x330], eax
je 0x180049cbc
jmp 0x180049da2
movsx eax, word [rsp + 0x5c]
test eax, eax
je 0x180049ce5
movzx eax, byte [0x1800c35eb]
movzx eax, al
movabs rcx, 0x9d8724d005108
sub rax, rcx
mov byte [rsp + 0x41], al
jmp 0x180049da2
movzx eax, word [rsp + 0x60]
cwde
movsx ecx, word [rsp + 0x68]
cmp eax, ecx
jge 0x180049d01
mov dword [rsp + 0x334], 1
jmp 0x180049d0c
mov dword [rsp + 0x334], 0
movsx eax, word [rsp + 0x68]
cmp eax, dword [rsp + 0x334]
jg 0x180049d58
mov rax, qword [0x1800c36a0]
test rax, rax
je 0x180049d37
mov rax, qword [0x1800c3668]
mov qword [rsp + 0x970], rax
jmp 0x180049d47
mov eax, dword [0x1800c36d4]
mov eax, eax
mov qword [rsp + 0x970], rax
mov rax, qword [rsp + 0x970]
mov qword [0x1800c3660], rax
jmp 0x180049da2
mov rax, qword [0x1800c36b0]
movsx rcx, word [0x1800c36d0]
cmp rax, rcx
jbe 0x180049d79
mov dword [rsp + 0x338], 1
jmp 0x180049d84
mov dword [rsp + 0x338], 0
mov eax, dword [rsp + 0x338]
not eax
test eax, eax
je 0x180049da2
movzx eax, byte [0x1800c35a4]
shl eax, 2
mov word [0x1800c3624], ax
mov eax, dword [rsp + 0x5dc]
mov ecx, dword [rsp + 0x164]
add eax, ecx
mov dword [rsp + 0xac0], eax
mov eax, dword [rsp + 0x5e0]
mov ecx, dword [rsp + 0x164]
add eax, ecx
mov dword [rsp + 0x168], eax
mov eax, dword [rsp + 0x168]
mov ecx, dword [rsp + 0x5e4]
or eax, ecx
mov ecx, dword [rsp + 0x5e8]
add eax, ecx
mov ecx, dword [rsp + 0x168]
mov edx, dword [rsp + 0x168]
imul ecx, edx
cmp eax, ecx
je 0x180049e1d
mov rax, qword [0x1800c36a0]
dec rax
mov qword [0x1800c36a0], rax
mov eax, dword [0x1806dbff4]
inc eax
mov dword [0x1806dbff4], eax
mov rax, qword [0x1806dbfb8]
mov qword [0x1806dbec0], rax
mov rax, qword [0x1806dbfb8]
add rax, 0x368cc4
mov qword [0x1806dbec8], rax
mov rax, qword [0x1806dbfb0]
mov rcx, qword [0x1806dbfc8]
sub rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [0x1806dbfb0]
call fcn.180039ef0
mov qword [rsp + 0x238], rax
cmp qword [rsp + 0x238], 0
je 0x180049f05
mov rax, qword [0x1800c3690]
cmp qword [0x1800c36a8], rax
jle 0x180049ea8
mov eax, 1
imul rax, rax, 0x187d
lea rcx, [0x1806eb070]
movzx eax, byte [rcx + rax]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x238]
mov eax, dword [rax + 8]
mov rcx, qword [0x1806dbfb0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x580], rax
lea r8, [rsp + 0xc0]
mov rdx, qword [rsp + 0x580]
mov rcx, qword [0x1806dbfb0]
call fcn.18003cf30
mov rax, qword [0x1806dbfc8]
mov qword [0x1806dbed8], rax
mov eax, dword [rsp + 0xc0]
mov qword [0x1806dbf38], rax
jmp 0x180049ffe
mov rax, qword [0x1800c3690]
not rax
test rax, rax
je 0x180049f2d
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
je 0x180049f2d
mov dword [rsp + 0x340], 1
jmp 0x180049f38
mov dword [rsp + 0x340], 0
movzx eax, word [0x1800c3624]
movzx eax, ax
mov rcx, qword [0x1800c3690]
cmp rax, rcx
je 0x180049f5b
mov dword [rsp + 0x33c], 1
jmp 0x180049f66
mov dword [rsp + 0x33c], 0
mov eax, dword [rsp + 0x33c]
cmp dword [rsp + 0x340], eax
jne 0x180049f83
mov dword [rsp + 0x348], 1
jmp 0x180049f8e
mov dword [rsp + 0x348], 0
movzx eax, byte [rsp + 0x40]
test eax, eax
jne 0x180049fa4
mov dword [rsp + 0x344], 1
jmp 0x180049faf
mov dword [rsp + 0x344], 0
mov eax, dword [rsp + 0x344]
cmp dword [rsp + 0x348], eax
jge 0x180049fc1
jmp 0x180049ffe
movzx eax, byte [0x1800c35a4]
test eax, eax
je 0x180049fde
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x978], rax
jmp 0x180049fef
movzx eax, word [rsp + 0x60]
movsx rax, ax
mov qword [rsp + 0x978], rax
mov rax, qword [rsp + 0x978]
mov qword [0x1800c3688], rax
movsx eax, byte [0x1800c35a7]
imul eax, eax, 0xb2
cdqe
mov qword [0x1800c36d8], rax
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0x238], 0
mov rax, qword [0x1806dbfc0]
mov rcx, qword [0x1806dbfd0]
sub rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [0x1806dbfc0]
call fcn.180039ef0
mov qword [rsp + 0x238], rax
cmp qword [rsp + 0x238], 0
je 0x18004a2e4
movsx rax, byte [0x1800c35a5]
mov rcx, qword [0x1800c36b8]
cmp rax, rcx
jl 0x18004a07b
jmp 0x18004a095
mov rax, qword [0x1800c3690]
movabs rcx, 0xd28ca824a98ca
add rax, rcx
mov dword [0x1800c35d4], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x16c], eax
mov qword [rsp + 0xa0], 1
mov rax, qword [0x1800c3690]
add rax, qword [0x1800c3680]
test rax, rax
jne 0x18004a0cf
mov qword [rsp + 0x750], 1
jmp 0x18004a0db
mov qword [rsp + 0x750], 0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x90]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x750]
add rcx, rax
mov rax, rcx
movsx ecx, word [rsp + 0x68]
movzx edx, byte [rsp + 0x41]
movsx edx, dl
not edx
lea ecx, [rcx + rdx + 0x7e]
movsxd rcx, ecx
add rax, rcx
mov qword [0x1800c36a8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x758], rax
cmp qword [rsp + 0x758], 0
je 0x18004a144
cmp qword [rsp + 0x758], 1
je 0x18004a165
jmp 0x18004a17f
mov rax, qword [0x1800c3698]
add rax, 0xb3dd
mov word [rsp + 0x58], ax
mov eax, dword [0x1806dc008]
mov qword [0x1800c36c8], rax
jmp 0x18004a17f
mov byte [0x1800c35a7], 0xd2
movzx eax, word [rsp + 0x4c]
sub eax, 0x4834
cdqe
mov qword [0x1800c36b8], rax
mov eax, dword [rsp + 0x5ec]
mov ecx, dword [rsp + 0x16c]
add eax, ecx
mov dword [rsp + 0xabc], eax
mov eax, 0x8942
mov word [rsp + 0x54], ax
mov eax, 1
imul rax, rax, 0xb3
lea rcx, [0x18075d6c0]
movsx eax, byte [rcx + rax]
movzx ecx, word [rsp + 0x44]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0x5f0]
mov ecx, dword [rsp + 0x16c]
add eax, ecx
mov dword [rsp + 0x5f8], eax
movabs rax, 0xf3f228cf3686d
mov rcx, qword [rsp + 0x98]
and rcx, rax
mov rax, rcx
mov word [rsp + 0x50], ax
movzx eax, byte [rsp + 0x40]
mov rcx, qword [rsp + 0x80]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x5f4]
mov ecx, dword [rsp + 0x16c]
add eax, ecx
mov dword [rsp + 0x170], eax
mov eax, dword [rsp + 0x5f8]
mov ecx, dword [rsp + 0x5fc]
sub eax, ecx
mov ecx, dword [rsp + 0x170]
mov edx, dword [rsp + 0x170]
add ecx, edx
add eax, ecx
mov ecx, dword [rsp + 0x170]
mov edx, dword [rsp + 0x600]
imul ecx, edx
cmp eax, ecx
je 0x18004a2e2
movzx eax, word [0x1806dc008]
mov word [0x1800c3624], ax
movzx eax, byte [rsp + 0x41]
movsx eax, al
sub eax, 0x92
cdqe
mov qword [0x1800c3668], rax
mov rax, qword [rsp + 0x238]
mov eax, dword [rax + 8]
mov rcx, qword [0x1806dbfc0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x580], rax
lea r8, [rsp + 0xc0]
mov rdx, qword [rsp + 0x580]
mov rcx, qword [0x1806dbfc0]
call fcn.18003cf30
mov rax, qword [0x1806dbfd0]
mov qword [0x1806dbed0], rax
mov eax, dword [rsp + 0xc0]
mov qword [0x1806dbf30], rax
jmp 0x18004a302
movzx eax, byte [rsp + 0x40]
movzx ecx, word [0x1800c35ec]
movsx ecx, cx
xor eax, ecx
movzx ecx, byte [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
mov rax, qword [rsp + 0xcd0]
mov qword [0x1806dbf50], rax
movsxd rax, dword [rsp + 0xcd8]
mov qword [0x1806dbf60], rax
lea rax, [rsp + 0xce0]
mov qword [rsp + 0x78], rax
movzx eax, word [rsp + 0x44]
cwde
cmp dword [rsp + 0x6c], eax
jne 0x18004a3a7
movsx rax, word [0x1800c360c]
mov rcx, qword [0x1800c36c8]
cmp rax, rcx
jae 0x18004a37d
mov byte [0x1800c35a3], 8
movsx rax, word [0x1800c36d0]
mov rcx, qword [0x1800c3690]
add rax, rcx
movsx rcx, word [0x1800c36d0]
add rcx, rax
mov rax, rcx
mov word [0x1800c36d0], ax
jmp 0x18004a3a5
movsx eax, word [rsp + 0x68]
test eax, eax
je 0x18004a3a5
movsx eax, word [rsp + 0x5c]
mov ecx, dword [0x1800c35bc]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1800c35bc]
xor ecx, eax
mov eax, ecx
mov dword [0x1800c35bc], eax
jmp 0x18004a3c9
mov rax, qword [0x1800c36d8]
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
mov dword [rsp + 0xac], 0
jmp 0x18004a3e6
mov eax, dword [rsp + 0xcd8]
cmp dword [rsp + 0xac], eax
jge 0x18004f2ff
movzx eax, byte [rsp + 0x40]
cmp qword [0x1800c3698], rax
jle 0x18004a415
mov dword [rsp + 0x350], 1
jmp 0x18004a420
mov dword [rsp + 0x350], 0
cmp qword [0x1800c3698], 0x48
jle 0x18004a437
mov dword [rsp + 0x34c], 1
jmp 0x18004a442
mov dword [rsp + 0x34c], 0
mov eax, dword [rsp + 0x34c]
cmp dword [rsp + 0x350], eax
jl 0x18004a476
movzx eax, word [rsp + 0x60]
cwde
test eax, eax
je 0x18004a476
mov eax, dword [0x1800c35d4]
shl eax, 7
mov word [rsp + 0x58], ax
movzx eax, word [0x1806dc008]
mov word [rsp + 0x5c], ax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x174]
add eax, 0x31
mov dword [rsp + 0x604], eax
movzx eax, word [rsp + 0x50]
movzx ecx, word [rsp + 0x48]
cmp eax, ecx
jge 0x18004a4af
mov dword [rsp + 0x358], 1
jmp 0x18004a4ba
mov dword [rsp + 0x358], 0
movzx eax, word [rsp + 0x50]
cmp eax, 0x3d
jge 0x18004a4d1
mov dword [rsp + 0x354], 1
jmp 0x18004a4dc
mov dword [rsp + 0x354], 0
mov eax, dword [rsp + 0x354]
cmp dword [rsp + 0x358], eax
je 0x18004a580
mov eax, dword [0x1800c36d4]
test eax, eax
jne 0x18004a507
mov dword [rsp + 0x360], 1
jmp 0x18004a512
mov dword [rsp + 0x360], 0
movzx eax, byte [0x1800c35eb]
movzx eax, al
movzx ecx, word [rsp + 0x58]
add eax, ecx
test eax, eax
jne 0x18004a534
mov dword [rsp + 0x35c], 1
jmp 0x18004a53f
mov dword [rsp + 0x35c], 0
mov eax, dword [rsp + 0x35c]
mov ecx, dword [rsp + 0x360]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x18004a563
mov qword [rsp + 0x760], 1
jmp 0x18004a56f
mov qword [rsp + 0x760], 0
mov rax, qword [rsp + 0x760]
mov qword [0x1800c3660], rax
jmp 0x18004a5ab
movsx eax, byte [rsp + 0x43]
test eax, eax
je 0x18004a5ab
mov eax, 4
imul rax, rax, 0x6bb
lea rcx, [0x180823b70]
movzx edx, word [rsp + 0x48]
and edx, dword [rcx + rax]
mov eax, edx
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x174]
add eax, 0x76
mov dword [rsp + 0x608], eax
movabs rax, 0x58948a26a694a
mov rcx, qword [rsp + 0x88]
add rax, rcx
mov rcx, qword [rsp + 0x70]
add rax, rcx
mov qword [rsp + 0x88], rax
mov eax, dword [rsp + 0x174]
add eax, 0x5986
mov dword [rsp + 0xac4], eax
mov rax, qword [rsp + 0x70]
shr rax, 5
mov word [rsp + 0x5c], ax
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x18004a773
mov eax, 4
mov word [rsp + 0x4c], ax
cmp qword [rsp + 0x80], 0
jne 0x18004a635
mov dword [rsp + 0x364], 1
jmp 0x18004a640
mov dword [rsp + 0x364], 0
movzx eax, word [rsp + 0x48]
xor eax, dword [rsp + 0x364]
test eax, eax
jne 0x18004a65d
mov dword [rsp + 0x368], 1
jmp 0x18004a668
mov dword [rsp + 0x368], 0
mov eax, dword [0x1800c3594]
add eax, dword [rsp + 0x368]
movsx ecx, byte [rsp + 0x43]
movzx edx, byte [0x1800c35d3]
add ecx, edx
mov edx, dword [0x1800c35bc]
sub edx, ecx
mov ecx, edx
and eax, ecx
mov byte [rsp + 0x41], al
movzx eax, word [rsp + 0x4c]
mov dword [rsp + 0xc8], eax
cmp dword [rsp + 0xc8], 0
je 0x18004a6da
cmp dword [rsp + 0xc8], 1
je 0x18004a70c
cmp dword [rsp + 0xc8], 2
je 0x18004a72a
cmp dword [rsp + 0xc8], 3
je 0x18004a741
cmp dword [rsp + 0xc8], 4
je 0x18004a764
jmp 0x18004a773
movzx eax, byte [0x1800c35a4]
mov rcx, qword [rsp + 0x80]
add rcx, rax
mov rax, rcx
not rax
mov qword [0x1800c36e0], rax
movzx eax, word [rsp + 0x60]
cwde
imul eax, eax, 0x76ce
mov word [rsp + 0x48], ax
jmp 0x18004a773
mov rax, qword [rsp + 0xa0]
xor rax, 0x68
mov byte [0x1800c35a6], al
movzx eax, word [rsp + 0x54]
mov word [rsp + 0x64], ax
jmp 0x18004a773
mov rax, qword [0x1800c36a0]
sub rax, qword [0x1800c3670]
mov qword [0x1800c36a0], rax
jmp 0x18004a773
movsx eax, word [rsp + 0x68]
add eax, 0xec
mov dword [0x1800c3594], eax
movzx eax, byte [rsp + 0x40]
movsx ecx, byte [rsp + 0x43]
imul eax, ecx
mov byte [rsp + 0x40], al
jmp 0x18004a773
imul rax, qword [rsp + 0x70], 0xe5
mov byte [0x1800c35a3], al
mov eax, dword [rsp + 0x604]
or eax, 0x16
mov ecx, dword [rsp + 0x608]
lea eax, [rax + rcx - 0x72]
mov ecx, 0x10f
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xd4]
mov edx, dword [rsp + 0xd4]
sub ecx, edx
mov edx, dword [rsp + 0x178]
mov edi, dword [rsp + 0x178]
xor edx, edi
add ecx, edx
mov edx, dword [rsp + 0xd4]
mov edi, dword [rsp + 0x178]
imul edx, edi
mov edi, dword [rsp + 0xd4]
mov esi, dword [rsp + 0x60c]
xor edi, esi
xor edx, edi
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x644], eax
movzx eax, word [rsp + 0x44]
cwde
test eax, eax
jne 0x18004a7f5
xor eax, eax
cmp eax, 0xac
je 0x18004a810
mov rax, qword [0x1800c36e0]
sub rax, qword [rsp + 0x88]
mov qword [0x1800c36e0], rax
jmp 0x18004a8d8
mov rax, qword [0x1800c36d8]
movzx ecx, word [rsp + 0x4c]
cmp rax, rcx
jb 0x18004a82e
mov dword [rsp + 0x370], 1
jmp 0x18004a839
mov dword [rsp + 0x370], 0
mov rax, qword [0x1800c3668]
test rax, rax
jne 0x18004a853
mov qword [rsp + 0x768], 1
jmp 0x18004a85f
mov qword [rsp + 0x768], 0
mov rax, qword [0x1800c36b0]
cmp qword [rsp + 0x768], rax
jb 0x18004a87d
mov dword [rsp + 0x36c], 1
jmp 0x18004a888
mov dword [rsp + 0x36c], 0
mov eax, dword [rsp + 0x36c]
cmp dword [rsp + 0x370], eax
jge 0x18004a8a5
mov dword [rsp + 0x374], 1
jmp 0x18004a8b0
mov dword [rsp + 0x374], 0
mov eax, dword [rsp + 0x374]
not eax
test eax, eax
je 0x18004a8d8
mov dword [rsp + 0x6c], 0x27
movsx eax, byte [0x1800c35a5]
imul eax, eax, 0xdc4db37d
mov byte [0x1800c35eb], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x17c], eax
mov eax, dword [rsp + 0x17c]
add eax, 0xb294
mov dword [rsp + 0x610], eax
mov eax, dword [rsp + 0x17c]
add eax, 0xed
mov dword [rsp + 0xaf0], eax
movzx eax, word [rsp + 0x60]
cwde
imul eax, eax, 0xa1c06aae
movzx ecx, word [rsp + 0x48]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x48], ax
mov eax, dword [rsp + 0x17c]
add eax, 0xf9
mov dword [rsp + 0xaf4], eax
mov eax, dword [0x1800c3594]
cdqe
mov rcx, qword [0x1800c3668]
cmp rax, rcx
je 0x18004aa26
mov qword [0x1800c3690], 1
movzx eax, word [rsp + 0x68]
inc ax
mov word [rsp + 0x68], ax
mov rax, qword [0x1800c3698]
xor rax, 0xbc3e
mov byte [str.not_a_stream], al
mov rax, qword [0x1800c3690]
mov qword [rsp + 0x770], rax
cmp qword [rsp + 0x770], 0
je 0x18004a9a2
cmp qword [rsp + 0x770], 1
je 0x18004a9cb
jmp 0x18004aa21
movsx eax, word [rsp + 0x68]
sub eax, dword [rsp + 0x6c]
movsx ecx, word [rsp + 0x68]
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x68], ax
mov rax, qword [rsp + 0x98]
sar rax, 6
mov dword [rsp + 0x6c], eax
jmp 0x18004aa21
movsx rax, byte [0x1800c35a5]
imul rax, qword [rsp + 0x70]
movzx ecx, word [rsp + 0x64]
movsx rcx, cx
add rcx, qword [rsp + 0x88]
sub rax, rcx
movzx ecx, word [0x1800c3624]
movzx ecx, cx
mov edx, 0xac
sub rdx, qword [rsp + 0x70]
add rcx, rdx
sub rax, rcx
mov word [rsp + 0x4c], ax
mov rax, qword [rsp + 0x98]
sub rax, 0x69d6
mov word [0x1800c3624], ax
jmp 0x18004ab03
movzx eax, word [rsp + 0x60]
cwde
movzx ecx, word [rsp + 0x48]
not ecx
cmp eax, ecx
je 0x18004aa5b
movzx eax, byte [0x1800c35a6]
movsx rax, al
mov rcx, qword [0x1800c36e0]
cmp rax, rcx
jbe 0x18004aa5b
mov dword [rsp + 0x378], 1
jmp 0x18004aa66
mov dword [rsp + 0x378], 0
mov eax, dword [rsp + 0x378]
not eax
test eax, eax
je 0x18004aa86
movzx eax, word [rsp + 0x60]
cwde
sub eax, 0x3c7bfd23
mov dword [0x1800c35bc], eax
jmp 0x18004ab03
movzx eax, byte [rsp + 0x41]
movsx eax, al
test eax, eax
je 0x18004ab03
mov eax, 0xc48cda1e
sub rax, qword [0x1800c3670]
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
movzx ecx, word [0x1800c3624]
movzx ecx, cx
mov rdx, qword [0x1800c36a8]
sub rdx, rcx
mov rcx, rdx
sub rcx, qword [0x1800c36a8]
imul rax, rcx
test rax, rax
jne 0x18004aadd
mov byte [rsp + 0xa9], 1
jmp 0x18004aae5
mov byte [rsp + 0xa9], 0
movzx eax, byte [rsp + 0xa9]
mov byte [rsp + 0x40], al
movabs rax, 0xab542c2c4a3d6
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x610]
or eax, 0xaaa9
add eax, 0xffff4627
mov dword [rsp + 0x648], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x180], eax
mov rax, qword [0x1800c3668]
movabs rcx, 0x5c64dcaaa0119
sub rax, rcx
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x180]
add eax, 0x49
mov dword [rsp + 0xaf8], eax
movzx eax, word [rsp + 0x4c]
movsx ecx, byte [rsp + 0x43]
cmp eax, ecx
jl 0x18004ab70
mov dword [rsp + 0x380], 1
jmp 0x18004ab7b
mov dword [rsp + 0x380], 0
movzx eax, word [rsp + 0x4c]
cmp eax, 0x15
jl 0x18004ab92
mov dword [rsp + 0x37c], 1
jmp 0x18004ab9d
mov dword [rsp + 0x37c], 0
mov eax, dword [rsp + 0x37c]
cmp dword [rsp + 0x380], eax
jle 0x18004abbc
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov qword [0x1800c3660], rax
mov eax, dword [rsp + 0x180]
add eax, 0x740c
mov dword [rsp + 0xafc], eax
mov eax, dword [rsp + 0x180]
add eax, 0x7dd3
mov dword [rsp + 0xb00], eax
movzx eax, word [rsp + 0x48]
add eax, 0x845c
mov byte [0x1800c35a5], al
mov eax, dword [rsp + 0x384]
mov ecx, dword [rsp + 0x384]
sub eax, ecx
mov ecx, dword [rsp + 0x388]
mov edx, dword [rsp + 0x388]
sub ecx, edx
sub eax, ecx
add eax, 0x372
mov dword [rsp + 0x64c], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x184], eax
movzx eax, word [0x1800c35ec]
cwde
add eax, 0xf6a8
cdqe
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, word [rsp + 0x48]
sar eax, 1
mov word [0x1800c360c], ax
mov eax, dword [rsp + 0x184]
add eax, 0xb5de
mov dword [rsp + 0x614], eax
mov eax, 2
imul rax, rax, 0x470
lea rcx, [0x1807d7040]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x41], al
movsx eax, word [0x1800c36d0]
imul eax, eax, 0x1b6a
mov word [0x1800c360c], ax
mov eax, dword [rsp + 0x184]
add eax, 0xc5
mov dword [rsp + 0xb04], eax
movzx eax, word [rsp + 0x48]
sub eax, 0xecfd
cdqe
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x184]
add eax, 0x5d64
mov dword [rsp + 0x618], eax
mov eax, dword [rsp + 0x6c]
cmp rax, qword [rsp + 0x80]
jg 0x18004acee
mov dword [rsp + 0x390], 1
jmp 0x18004acf9
mov dword [rsp + 0x390], 0
cmp dword [rsp + 0x6c], 0x1a
ja 0x18004ad0d
mov dword [rsp + 0x38c], 1
jmp 0x18004ad18
mov dword [rsp + 0x38c], 0
mov eax, dword [rsp + 0x38c]
cmp dword [rsp + 0x390], eax
jle 0x18004ad4a
mov eax, dword [0x1800c36d4]
sub eax, 0x44b6
movzx ecx, word [0x1800c3624]
movzx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [0x1800c3624], ax
jmp 0x18004adac
mov eax, dword [0x1800c35d4]
mov rcx, qword [0x1800c3688]
imul rcx, rax
mov rax, rcx
test rax, rax
je 0x18004adac
mov rax, qword [0x1800c36a0]
test rax, rax
jne 0x18004ad7c
mov dword [rsp + 0x394], 1
jmp 0x18004ad87
mov dword [rsp + 0x394], 0
movzx eax, byte [0x1800c35a6]
movsx eax, al
add eax, dword [rsp + 0x394]
movsx ecx, byte [0x1800c35a7]
not ecx
sub eax, ecx
cdqe
mov qword [0x1800c3668], rax
mov eax, dword [rsp + 0x614]
mov ecx, dword [rsp + 0x618]
sub eax, ecx
or eax, 0xf3
mov ecx, 0x5a96
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x398]
mov edx, dword [rsp + 0x398]
xor ecx, edx
mov edx, dword [rsp + 0x39c]
mov edi, dword [rsp + 0x39c]
xor edx, edi
sub ecx, edx
add eax, ecx
mov dword [rsp + 0x650], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
mov rcx, qword [0x1800c36d8]
cmp rax, rcx
jae 0x18004ae0b
jmp 0x18004ae1a
movzx eax, byte [0x1800c35a5]
inc al
mov byte [0x1800c35a5], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x188], eax
movsx eax, word [rsp + 0x68]
movzx ecx, word [rsp + 0x54]
movzx ecx, cx
cmp eax, ecx
jl 0x18004ae45
mov dword [rsp + 0x3a4], 1
jmp 0x18004ae50
mov dword [rsp + 0x3a4], 0
movsx eax, word [rsp + 0x68]
cmp eax, 0x11
jl 0x18004ae67
mov dword [rsp + 0x3a0], 1
jmp 0x18004ae72
mov dword [rsp + 0x3a0], 0
mov eax, dword [rsp + 0x3a0]
cmp dword [rsp + 0x3a4], eax
jne 0x18004ae84
jmp 0x18004aeb9
cmp dword [rsp + 0x6c], 0
je 0x18004aeb9
movzx eax, byte [0x1800c35a6]
movsx eax, al
cmp eax, dword [0x1800c36c4]
jl 0x18004aeb9
mov rax, qword [0x1800c36b0]
movsx rcx, byte [rsp + 0x43]
mov edx, 0xfcf4bdef
add rcx, rdx
add rax, rcx
mov byte [rsp + 0x43], al
mov eax, dword [rsp + 0x188]
add eax, 0x79
mov dword [rsp + 0x3a8], eax
mov eax, dword [rsp + 0x188]
add eax, 0x4c20
mov dword [rsp + 0xb08], eax
mov qword [0x1800c36e0], 8
mov rax, qword [rsp + 0xa0]
sub rax, 0x56edf1aa
mov byte [0x1800c35a6], al
mov eax, dword [rsp + 0x188]
add eax, 0xb961
mov dword [rsp + 0x61c], eax
mov eax, dword [rsp + 0x3a8]
mov ecx, dword [rsp + 0x3a8]
or eax, ecx
mov ecx, dword [rsp + 0x61c]
xor ecx, 0xcc
imul eax, ecx
xor eax, 0x57c19b
mov ecx, dword [rsp + 0x3ac]
mov edx, dword [rsp + 0x3ac]
xor ecx, edx
add eax, ecx
mov dword [rsp + 0x654], eax
movzx eax, word [rsp + 0x54]
movzx eax, ax
test eax, eax
je 0x18004af66
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x3b0], eax
jmp 0x18004af74
movsx eax, word [0x1800c36d0]
mov dword [rsp + 0x3b0], eax
mov eax, dword [rsp + 0x3b0]
mov qword [rsp + 0x90], rax
movzx eax, word [rsp + 0x48]
mov word [rsp + 0x64], ax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x190], eax
mov dword [0x1800c35bc], 1
movzx eax, byte [rsp + 0x40]
movzx ecx, byte [0x1800c35a4]
movzx edx, byte [rsp + 0x42]
movzx edx, dl
imul ecx, edx
sub eax, ecx
mov word [rsp + 0x44], ax
mov rax, qword [0x1800c3660]
movabs rcx, 0xb599364211fe8
add rax, rcx
movzx ecx, word [rsp + 0x44]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x44], ax
mov eax, dword [0x1800c35bc]
mov dword [rsp + 0x3b4], eax
cmp dword [rsp + 0x3b4], 0
je 0x18004b00d
cmp dword [rsp + 0x3b4], 1
je 0x18004b032
jmp 0x18004b06d
mov eax, dword [0x1800c3594]
add eax, 0x259edea2
mov word [rsp + 0x44], ax
mov rax, qword [rsp + 0x90]
inc rax
mov qword [rsp + 0x90], rax
jmp 0x18004b06d
mov eax, dword [0x1800c3594]
add eax, 0x9b
cdqe
mov qword [0x1800c36d8], rax
mov eax, dword [0x1800c35bc]
movabs rcx, 0x8010543a2c932
imul rax, rcx
movzx ecx, byte [str.not_a_stream]
add rcx, rax
mov rax, rcx
mov byte [str.not_a_stream], al
mov eax, dword [rsp + 0x190]
add eax, 0xad
mov dword [rsp + 0x3c8], eax
movzx eax, byte [rsp + 0x41]
movsx rax, al
cmp qword [0x1800c3688], rax
jg 0x18004b09f
mov dword [rsp + 0x3bc], 1
jmp 0x18004b0aa
mov dword [rsp + 0x3bc], 0
cmp qword [0x1800c3688], 0x51
jg 0x18004b0c1
mov dword [rsp + 0x3b8], 1
jmp 0x18004b0cc
mov dword [rsp + 0x3b8], 0
mov eax, dword [rsp + 0x3b8]
cmp dword [rsp + 0x3bc], eax
jg 0x18004b10f
lea rax, [rsp + 0xba8]
lea rcx, str.An_internal_error
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xba8]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x43], al
jmp 0x18004b1ca
movzx eax, byte [rsp + 0x40]
not eax
test eax, eax
je 0x18004b172
mov rax, qword [0x1800c36a0]
inc rax
mov qword [0x1800c36a0], rax
movsx rax, word [0x1800c360c]
imul rax, qword [0x1800c3678]
mov rcx, qword [0x1800c36c8]
or rax, rcx
test rax, rax
jne 0x18004b159
mov eax, 1
mov word [rsp + 0xd2], ax
jmp 0x18004b163
xor eax, eax
mov word [rsp + 0xd2], ax
movzx eax, word [rsp + 0xd2]
mov word [rsp + 0x58], ax
jmp 0x18004b1ca
movzx eax, word [rsp + 0x50]
cmp rax, qword [0x1800c3680]
jne 0x18004b18d
mov dword [rsp + 0x3c0], 1
jmp 0x18004b198
mov dword [rsp + 0x3c0], 0
movzx eax, word [0x1800c3624]
movzx eax, ax
cmp eax, dword [rsp + 0x3c0]
jl 0x18004b1ca
movzx eax, word [0x1806dc008]
mov word [0x1800c35ec], ax
mov rax, qword [0x1800c3678]
sar rax, 2
mov dword [0x1800c36d4], eax
mov eax, dword [rsp + 0x190]
add eax, 0x2498
mov dword [rsp + 0x620], eax
mov rax, qword [0x1800c36a0]
test rax, rax
jne 0x18004b1f6
mov dword [rsp + 0x3c4], 1
jmp 0x18004b201
mov dword [rsp + 0x3c4], 0
movsx eax, word [rsp + 0x68]
mov ecx, dword [rsp + 0x3c4]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x18004b2ed
mov eax, 2
mov word [rsp + 0x44], ax
movzx eax, byte [rsp + 0x41]
movsx rax, al
movabs rcx, 0xeb4e1fb0d40ec
sub rax, rcx
mov byte [0x1800c35a7], al
movzx eax, word [rsp + 0x44]
cwde
mov dword [rsp + 0x18c], eax
cmp dword [rsp + 0x18c], 0
je 0x18004b26c
cmp dword [rsp + 0x18c], 1
je 0x18004b288
movsx rax, word [rsp + 0x5c]
mov rcx, qword [0x1800c36a8]
add rcx, rax
mov rax, rcx
mov qword [0x1800c36a8], rax
jmp 0x18004b2eb
cmp qword [rsp + 0x90], 0
je 0x18004b312
mov rax, qword [rsp + 0x80]
sub rax, 0x8e
mov qword [0x1800c36b0], rax
mov byte [rsp + 0x42], 0x5e
mov eax, dword [rsp + 0x190]
add eax, 0x94
mov dword [rsp + 0xa10], eax
movzx eax, word [0x1806dc008]
mov word [rsp + 0x54], ax
mov rax, qword [0x1800c3668]
dec rax
mov qword [0x1800c3668], rax
lea rax, [rsp + 0xc58]
lea rcx, str.WideCharToMultiByt
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0xc58]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x3c8]
mov ecx, dword [rsp + 0x3c8]
imul eax, ecx
mov ecx, dword [rsp + 0x620]
add ecx, 0x9f
or eax, ecx
mov ecx, 0x76e9
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x658], eax
mov byte [rsp + 0x42], 0
movzx eax, byte [rsp + 0x41]
movsx eax, al
movsx ecx, word [rsp + 0x68]
movzx edx, byte [0x1800c35a4]
imul ecx, edx
xor eax, ecx
cdqe
mov qword [0x1800c3680], rax
movzx eax, byte [rsp + 0x41]
movsx rax, al
movabs rcx, 0xfffd73f67680544e
mov rdx, qword [rsp + 0x70]
add rcx, rdx
add rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x624], al
cmp byte [rsp + 0x624], 0
je 0x18004b405
mov rax, qword [0x1806dbf60]
shl rax, 3
shl rax, 0x18
mov ecx, dword [rsp + 0xe0]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0xe0], eax
mov r8d, 8
xor edx, edx
lea rcx, [rsp + 0xe0]
call fcn.180039930
mov eax, 3
mov word [rsp + 0x44], ax
movzx eax, byte [0x1800c35d3]
mov rcx, qword [0x1800c36a0]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c36a0], rax
imul eax, dword [0x1800c36c4], 0x8a02
movzx ecx, word [rsp + 0x44]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x44], ax
movzx eax, word [rsp + 0x44]
cwde
mov dword [rsp + 0xe4], eax
cmp dword [rsp + 0xe4], 0
je 0x18004f3b5
cmp dword [rsp + 0xe4], 1
je 0x18004f3cf
cmp dword [rsp + 0xe4], 2
je 0x18004f3f8
cmp dword [rsp + 0xe4], 3
je 0x18004f430
jmp 0x18004f455
mov byte [rsp + 0x41], 0x97
movsx eax, word [rsp + 0x5c]
add eax, 0xe7b1a64
mov byte [0x1800c35a5], al
jmp 0x18004f455
mov rax, qword [0x1800c36d8]
sub rax, 0xe088
mov word [rsp + 0x64], ax
movzx eax, word [rsp + 0x64]
movsx rax, ax
add rax, qword [0x1800c3698]
mov word [rsp + 0x64], ax
jmp 0x18004f455
movsx rax, word [0x1800c36d0]
movabs rcx, 0x3e4d1103237e1
imul rax, rcx
movzx ecx, word [rsp + 0x44]
movsx rcx, cx
mov rdx, qword [rsp + 0x98]
sub rdx, rcx
mov rcx, rdx
sub rax, rcx
mov dword [0x1800c3594], eax
jmp 0x18004f455
movzx eax, byte [0x1800c35d3]
mov rcx, qword [0x1800c36b8]
imul rax, rcx
movzx ecx, byte [0x1800c35d3]
sub rcx, rax
mov rax, rcx
mov byte [0x1800c35d3], al
lea rax, [rsp + 0xcc8]
mov qword [0x1806dbfa8], rax
mov rax, qword [0x1806dbfa8]
mov qword [0x1806dbf58], rax
call fcn.180091c68
cdqe
mov qword [0x1806dbf08], rax
call fcn.180091c68
cdqe
mov qword [0x1806dbf18], rax
lea rax, [0x1806dbff8]
mov qword [rsp + 0x30], rax
lea rax, [0x1806dbff0]
mov qword [rsp + 0x28], rax
lea rax, [0x1806dbfec]
mov qword [rsp + 0x20], rax
lea r9, [0x1806dbfe8]
mov r8d, dword [0x1806dbfe4]
mov rdx, qword [0x1806dbfd8]
mov rcx, qword [0x1806dbfb8]
call fcn.1800413a0
lea rax, [0x1806dbff8]
mov qword [rsp + 0x30], rax
lea rax, [0x1806dbff4]
mov qword [rsp + 0x28], rax
lea rax, [0x1806dbfec]
mov qword [rsp + 0x20], rax
lea r9, [0x1806dbfe8]
mov r8d, dword [0x1806dbfe4]
mov rdx, qword [0x1806dbfd8]
mov rcx, qword [0x1806dbfb8]
call fcn.1800437a0
mov dword [rsp + 0x71c], eax
mov dword [rsp + 0x30], 0
lea rax, [0x1806dc000]
mov qword [rsp + 0x28], rax
lea rax, [0x1806dbfec]
mov qword [rsp + 0x20], rax
lea r9, [0x1806dbfe8]
mov r8d, dword [0x1806dbfe4]
mov rdx, qword [0x1806dbfd8]
mov rcx, qword [0x1806dbfb8]
call fcn.18003ef70
mov dword [rsp + 0x30], 1
lea rax, [0x1806dc004]
mov qword [rsp + 0x28], rax
lea rax, [0x1806dbfec]
mov qword [rsp + 0x20], rax
lea r9, [0x1806dbfe8]
mov r8d, dword [0x1806dbfe4]
mov rdx, qword [0x1806dbfd8]
mov rcx, qword [0x1806dbfb8]
call fcn.18003ef70
mov qword [rsp + 0x78], 0
lea rcx, [0x1806dbec0]
call fcn.18000a100
mov qword [rsp + 0xb40], rax
mov byte [0x1800c35a3], 0xcb
mov rax, qword [rsp + 0xb40]
add rsp, 0xcb8
pop rdi
pop rsi
ret