Function at 0x1800413a0
Capabilities:
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x378
mov dword [rsp + 0x298], 0x34e3
movzx eax, byte [str.not_a_stream]
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x48], 0xa5570437
mov rax, qword [0x1800c3690]
mov byte [rsp + 0x22], al
mov rax, qword [0x1800c3660]
mov word [rsp + 0x80], ax
mov rax, qword [0x1800c36c8]
mov byte [rsp + 0x21], al
mov eax, dword [0x1800c3594]
cdqe
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x44], 0xf782a380
movabs rax, 0x76caa6821a7b4
mov qword [rsp + 0x78], rax
mov byte [rsp + 0x23], 0x2f
movzx eax, word [0x1800c3624]
movzx eax, ax
mov dword [rsp + 0x40], eax
mov eax, 1
mov word [rsp + 0x30], ax
mov byte [rsp + 0x2c], 0x2a
mov byte [rsp + 0x24], 0xb9
mov dword [rsp + 0x3c], 3
mov dword [rsp + 0x4c], 0x3862
movzx eax, word [0x1800c3678]
mov word [rsp + 0x34], ax
mov eax, 0x72ad
mov word [rsp + 0x38], ax
mov rax, qword [0x1800c36b0]
mov dword [rsp + 0x60], eax
mov byte [rsp + 0x20], 0x49
movsx rax, byte [0x1800c35a7]
mov qword [rsp + 0x70], rax
mov rax, qword [0x1800c36a0]
mov word [rsp + 0x28], ax
movabs rax, 0x96400f1dc05
mov qword [rsp + 0x318], rax
mov byte [rsp + 0x94], 0xc2
movzx eax, byte [0x1800c35d3]
mov byte [rsp + 0x95], al
movzx eax, byte [0x1800c3678]
mov byte [rsp + 0xed], al
mov eax, dword [0x1800c3594]
mov dword [rsp + 0x29c], eax
mov byte [rsp + 0xec], 0x5d
movzx eax, byte [str.not_a_stream]
mov dword [rsp + 0x2e4], eax
movzx eax, byte [0x1800c35d4]
mov byte [rsp + 0xc4], al
movsx eax, word [rsp + 0x28]
movsx ecx, word [0x1800c360c]
cmp eax, ecx
jge 0x18004151e
mov dword [rsp + 0x1c8], 1
jmp 0x180041529
mov dword [rsp + 0x1c8], 0
movsx eax, word [rsp + 0x28]
cmp eax, 0x4e
jge 0x180041540
mov dword [rsp + 0x1c4], 1
jmp 0x18004154b
mov dword [rsp + 0x1c4], 0
mov eax, dword [rsp + 0x1c4]
cmp dword [rsp + 0x1c8], eax
je 0x18004175b
mov dword [rsp + 0x60], 4
mov eax, dword [0x1800c35bc]
mov rcx, qword [0x1800c3690]
add rax, rcx
mov ecx, dword [0x1800c35bc]
sub rcx, rax
mov rax, rcx
mov dword [0x1800c35bc], eax
movzx eax, word [rsp + 0x34]
cwde
mov ecx, 4
imul rcx, rcx, 0x36
lea rdx, [0x1808237f0]
mov dword [rdx + rcx], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x84], 0
je 0x1800415ec
cmp dword [rsp + 0x84], 1
je 0x180041614
cmp dword [rsp + 0x84], 2
je 0x180041636
cmp dword [rsp + 0x84], 3
je 0x180041678
cmp dword [rsp + 0x84], 4
je 0x1800416af
jmp 0x18004175b
mov dword [0x1800c35d4], 0xb9f0650d
movsx rax, word [rsp + 0x28]
movabs rcx, 0x9cd49518d252f
xor rax, rcx
mov dword [0x1800c36d4], eax
jmp 0x18004175b
movzx eax, word [rsp + 0x80]
cwde
add eax, 0x87ba
mov dword [rsp + 0x44], eax
mov qword [0x1800c36a0], 0xcb
jmp 0x18004175b
movsx rax, word [0x1800c36d0]
movabs rcx, 0x314fe4f17f57
add rax, rcx
mov rcx, qword [0x1800c3660]
add rcx, rax
mov rax, rcx
mov qword [0x1800c3660], rax
mov rax, qword [0x1800c3670]
add rax, 0xf540
mov qword [0x1800c36b8], rax
jmp 0x18004175b
mov rax, qword [0x1800c3660]
add rax, 0xcfc4
mov word [rsp + 0x28], ax
mov rax, qword [0x1800c3688]
xor rax, 0x49d0fcd7
movzx ecx, byte [0x1800c35d3]
add rcx, rax
mov rax, rcx
mov byte [0x1800c35d3], al
jmp 0x18004175b
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x1800416c6
mov dword [rsp + 0x1cc], 1
jmp 0x1800416d1
mov dword [rsp + 0x1cc], 0
mov eax, dword [rsp + 0x3c]
xor eax, dword [rsp + 0x1cc]
test eax, eax
jne 0x1800416ed
mov dword [rsp + 0xf4], 1
jmp 0x1800416f8
mov dword [rsp + 0xf4], 0
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0xf4]
sub ecx, eax
mov eax, ecx
mov eax, eax
movsx ecx, word [0x1800c36d0]
imul ecx, ecx, 0x92b53ce4
not ecx
mov ecx, ecx
mov edx, dword [rsp + 0x48]
mov r8, qword [rsp + 0x70]
add r8, rdx
mov rdx, r8
xor rcx, rdx
sub rax, rcx
test rax, rax
jne 0x180041742
mov qword [rsp + 0x280], 1
jmp 0x18004174e
mov qword [rsp + 0x280], 0
mov rax, qword [rsp + 0x280]
mov qword [rsp + 0x78], rax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x98]
add eax, 0x13d
mov dword [rsp + 0x2a0], eax
mov eax, dword [rsp + 0x98]
add eax, 0x3cb
mov dword [rsp + 0x128], eax
mov eax, 1
mov word [0x1800c3624], ax
movzx eax, word [0x1800c3624]
movzx eax, ax
test eax, eax
jne 0x1800417b5
mov dword [rsp + 0xf8], 1
jmp 0x1800417c0
mov dword [rsp + 0xf8], 0
movsxd rax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0xf8]
mov edx, dword [rsp + 0x48]
xor edx, ecx
mov ecx, edx
mov ecx, ecx
mov rdx, qword [rsp + 0x58]
not rdx
movsxd r8, dword [rsp + 0x40]
imul rdx, r8
and rcx, rdx
sub rax, rcx
mov dword [rsp + 0x40], eax
movzx eax, word [0x1800c3624]
movzx eax, ax
mov dword [rsp + 0xfc], eax
cmp dword [rsp + 0xfc], 0
je 0x18004181f
cmp dword [rsp + 0xfc], 1
je 0x1800418c3
jmp 0x18004196b
movsx rax, byte [0x1800c35a7]
mov rcx, qword [0x1800c36e0]
add rax, rcx
movsx rcx, byte [0x1800c35a7]
sub rcx, rax
mov rax, rcx
mov byte [0x1800c35a7], al
mov rax, qword [0x1800c36b8]
test rax, rax
jne 0x18004185e
mov dword [rsp + 0x100], 1
jmp 0x180041869
mov dword [rsp + 0x100], 0
mov eax, dword [rsp + 0x100]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov ecx, 0xc022c70
sub ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [0x1800c36b0]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x1800418a3
mov qword [rsp + 0x288], 1
jmp 0x1800418af
mov qword [rsp + 0x288], 0
mov rax, qword [rsp + 0x288]
mov qword [0x1800c3660], rax
jmp 0x18004196b
movzx eax, byte [rsp + 0x21]
movzx eax, al
test eax, eax
jne 0x1800418dd
mov qword [rsp + 0x290], 1
jmp 0x1800418e9
mov qword [rsp + 0x290], 0
imul rax, qword [0x1800c3670], 0x6d
xor rax, qword [rsp + 0x58]
mov rcx, qword [0x1800c3670]
mov rdx, qword [rsp + 0x290]
and rdx, rcx
mov rcx, rdx
not rcx
mov rdx, qword [0x1800c3670]
sub rdx, rcx
mov rcx, rdx
imul rax, rcx
test rax, rax
jne 0x180041932
mov qword [rsp + 0x230], 1
jmp 0x18004193e
mov qword [rsp + 0x230], 0
mov rax, qword [rsp + 0x230]
mov qword [rsp + 0x70], rax
movsx rax, byte [rsp + 0x22]
mov rcx, qword [0x1800c3668]
add rax, rcx
movsx rcx, byte [rsp + 0x22]
add rcx, rax
mov rax, rcx
mov byte [rsp + 0x22], al
mov eax, dword [rsp + 0x98]
add eax, 0x61
mov dword [rsp + 0x228], eax
mov eax, dword [0x1806dc008]
mov qword [0x1800c3660], rax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x9c]
add eax, 0x4c
mov dword [rsp + 0xb4], eax
mov rax, qword [0x1800c3690]
mov rcx, qword [0x1800c36b0]
cmp rax, rcx
jb 0x1800419bc
jmp 0x180041a0f
movsx eax, byte [0x1800c35a7]
not eax
mov ecx, dword [0x1800c3594]
cmp eax, ecx
jl 0x1800419dd
mov qword [rsp + 0x238], 1
jmp 0x1800419e9
mov qword [rsp + 0x238], 0
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x238]
or rcx, rax
mov rax, rcx
test rax, rax
je 0x180041a0f
mov eax, dword [rsp + 0x54]
sub eax, 0x5ea2
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0x9c]
add eax, 0x162
mov dword [rsp + 0x90], eax
cmp dword [0x1800c36c0], 0
je 0x180041a53
mov rax, qword [0x1800c36d8]
cmp rax, qword [rsp + 0x58]
ja 0x180041a51
mov qword [0x1800c3690], 0x2948
mov rax, qword [0x1800c3660]
mov byte [0x1800c35eb], al
jmp 0x180041a72
xor eax, eax
cmp eax, 0x8fe04ff3
je 0x180041a72
mov rax, qword [rsp + 0x58]
shr rax, 3
mov dword [0x1800c36c0], eax
mov byte [0x1800c35a7], 4
mov eax, dword [rsp + 0x9c]
add eax, 0x176
mov dword [rsp + 0x2a4], eax
mov eax, dword [rsp + 0x3c]
movsx ecx, word [rsp + 0x38]
cmp eax, ecx
je 0x180041a9f
mov dword [rsp + 0x108], 1
jmp 0x180041aaa
mov dword [rsp + 0x108], 0
mov eax, dword [rsp + 0x3c]
cmp eax, 0x5f
je 0x180041ac0
mov dword [rsp + 0x104], 1
jmp 0x180041acb
mov dword [rsp + 0x104], 0
mov eax, dword [rsp + 0x104]
cmp dword [rsp + 0x108], eax
jge 0x180041b54
movzx eax, byte [rsp + 0x24]
movsx eax, al
movzx ecx, byte [0x1800c35a3]
movsx ecx, cl
cmp eax, ecx
jl 0x180041afe
mov dword [rsp + 0x110], 1
jmp 0x180041b09
mov dword [rsp + 0x110], 0
movzx eax, byte [rsp + 0x24]
movsx eax, al
cmp eax, 0x1f
jl 0x180041b23
mov dword [rsp + 0x10c], 1
jmp 0x180041b2e
mov dword [rsp + 0x10c], 0
mov eax, dword [rsp + 0x10c]
cmp dword [rsp + 0x110], eax
jg 0x180041b52
movzx eax, byte [str.not_a_stream]
imul eax, eax, 0x37ea9a76
cdqe
mov qword [rsp + 0x70], rax
jmp 0x180041b8b
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x180041b8b
mov rax, qword [0x1800c36d8]
add rax, 0x91e3
mov word [rsp + 0x30], ax
movsx rax, byte [rsp + 0x22]
sub rax, qword [0x1800c3680]
movsx rcx, byte [rsp + 0x22]
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x22], al
movsx rax, word [0x1800c36d0]
sub rax, qword [rsp + 0x78]
movsx rcx, word [0x1800c36d0]
add rcx, rax
mov rax, rcx
mov word [0x1800c36d0], ax
mov dword [rsp + 0xe8], 0
mov eax, 2
mov word [rsp + 0x28], ax
mov rax, qword [rsp + 0x78]
sub rax, 0x2275e693
mov dword [rsp + 0x44], eax
movsx eax, word [rsp + 0x28]
mov dword [rsp + 0xa0], eax
cmp dword [rsp + 0xa0], 0
je 0x180041c04
cmp dword [rsp + 0xa0], 1
je 0x180041c2a
cmp dword [rsp + 0xa0], 2
je 0x180041ca8
jmp 0x180041cb6
mov eax, dword [0x1800c36c0]
add eax, 0xcd
cdqe
mov qword [0x1800c3680], rax
mov eax, dword [0x1806dc008]
mov qword [0x1800c36e0], rax
jmp 0x180041cb6
mov eax, dword [0x1800c36d4]
imul eax, dword [0x1800c35d4]
mov dword [0x1800c36d4], eax
movzx eax, byte [rsp + 0x23]
test eax, eax
jne 0x180041c54
mov qword [rsp + 0x240], 1
jmp 0x180041c60
mov qword [rsp + 0x240], 0
movsx eax, byte [0x1800c35a5]
mov ecx, dword [rsp + 0x60]
add ecx, eax
mov eax, ecx
mov eax, eax
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x240]
sub rdx, rcx
mov rcx, rdx
imul rax, rcx
mov ecx, dword [0x1800c36c4]
imul ecx, dword [0x1800c35bc]
movsx edx, word [rsp + 0x28]
imul ecx, edx
mov ecx, ecx
sub rax, rcx
mov byte [rsp + 0x2c], al
jmp 0x180041cb6
mov eax, dword [0x1800c3594]
add eax, 0x25
mov word [rsp + 0x34], ax
mov dword [rsp + 0x8c], 0
movabs rax, 0xc248db605a682
mov rcx, qword [0x1800c3680]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x3a8]
mov dword [rax], 0
mov eax, dword [rsp + 0x60]
movabs rcx, 0xfb4cc445eb8f4
sub rax, rcx
mov ecx, dword [rsp + 0x3c]
mov ecx, ecx
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x3c], eax
movsx rax, byte [rsp + 0x22]
movabs rcx, 0xfdd172e7288e2
add rax, rcx
mov word [rsp + 0x34], ax
mov dword [rsp + 0x68], 0
jmp 0x180041d37
mov eax, dword [rsp + 0x68]
inc eax
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x3a0]
cmp dword [rsp + 0x68], eax
jae 0x180043711
movzx eax, byte [rsp + 0x23]
imul eax, eax, 0xc3
mov word [rsp + 0x38], ax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0xa4]
add eax, 0x1e7
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0xa4]
add eax, 0x288
mov dword [rsp + 0x2a8], eax
lea rax, [rsp + 0x320]
lea rcx, str.Windows.Foundation
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1800c35a6], al
mov eax, dword [rsp + 0xa4]
add eax, 0x17d
mov dword [rsp + 0x1e4], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0xa8]
add eax, 0x9b
mov dword [rsp + 0x224], eax
mov eax, dword [rsp + 0xa8]
add eax, 0xdc1e
mov dword [rsp + 0x22c], eax
mov eax, dword [rsp + 0xa8]
add eax, 0x30
mov dword [rsp + 0x124], eax
movsx eax, word [rsp + 0x38]
mov ecx, dword [rsp + 0x48]
xor ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [0x1800c36d4]
mov eax, eax
movabs rcx, 0xbe1e770543edc
sub rax, rcx
mov byte [0x1800c35d3], al
mov dword [0x1800c36c0], 2
imul rax, qword [0x1800c3670], 0x2ac32b2f
mov word [0x1800c36d0], ax
movzx eax, word [0x1800c3624]
movzx eax, ax
imul eax, eax, 0x10
mov dword [rsp + 0x54], eax
mov eax, dword [0x1800c36c0]
mov dword [rsp + 0xac], eax
cmp dword [rsp + 0xac], 0
je 0x180041e9b
cmp dword [rsp + 0xac], 1
je 0x180041eb3
cmp dword [rsp + 0xac], 2
je 0x180041f10
jmp 0x180041fc9
mov rax, qword [0x1800c3680]
add rax, 0x6067
mov byte [0x1800c35a4], al
jmp 0x180041fc9
movzx eax, byte [0x1800c35a4]
test eax, eax
jne 0x180041ecb
mov dword [rsp + 0x114], 1
jmp 0x180041ed6
mov dword [rsp + 0x114], 0
movzx eax, byte [0x1800c35d3]
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x114]
add edx, ecx
mov ecx, edx
not ecx
add eax, ecx
test eax, eax
jne 0x180041efb
mov byte [rsp + 0x50], 1
jmp 0x180041f00
mov byte [rsp + 0x50], 0
movzx eax, byte [rsp + 0x50]
mov byte [0x1800c35a3], al
jmp 0x180041fc9
cmp qword [0x1800c3680], 0
jne 0x180041f27
mov dword [rsp + 0x118], 1
jmp 0x180041f32
mov dword [rsp + 0x118], 0
cmp dword [0x1800c35bc], 0
jne 0x180041f48
mov dword [rsp + 0x11c], 1
jmp 0x180041f53
mov dword [rsp + 0x11c], 0
movzx eax, word [rsp + 0x30]
movzx eax, ax
test eax, eax
jne 0x180041f6c
mov dword [rsp + 0x120], 1
jmp 0x180041f77
mov dword [rsp + 0x120], 0
movzx eax, word [rsp + 0x34]
cwde
mov ecx, dword [rsp + 0x118]
add ecx, eax
mov eax, ecx
movzx ecx, byte [str.not_a_stream]
movzx edx, word [rsp + 0x34]
movsx edx, dx
add ecx, edx
and eax, ecx
mov ecx, dword [rsp + 0x11c]
imul ecx, dword [rsp + 0x120]
sub eax, ecx
mov word [0x1800c35ec], ax
movzx eax, byte [0x1800c35eb]
movzx eax, al
shl eax, 6
cdqe
mov qword [0x1800c3680], rax
mov eax, dword [rsp + 0x22c]
mov ecx, dword [rsp + 0x124]
sub eax, ecx
mov ecx, dword [rsp + 0x224]
mov edx, dword [rsp + 0x124]
imul ecx, edx
imul eax, ecx
mov ecx, 0x18f7b81f
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x228]
sub ecx, 0x232
mov edx, dword [rsp + 0x128]
mov edi, dword [rsp + 0x128]
xor edx, edi
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x1e8], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xb0], eax
cmp qword [0x1800c3680], 0
je 0x18004206c
mov rax, qword [0x1800c3688]
xor rax, 0x5cc62f75
mov byte [0x1800c35eb], al
mov rax, qword [0x1800c36b8]
imul rax, qword [rsp + 0x58]
mov rcx, qword [0x1800c36b8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c36b8], rax
jmp 0x1800420de
movsx eax, word [rsp + 0x38]
test eax, eax
je 0x180042089
cmp dword [rsp + 0x40], 0
je 0x180042089
mov dword [rsp + 0x130], 1
jmp 0x180042094
mov dword [rsp + 0x130], 0
mov rax, qword [0x1800c36b8]
cmp rax, 0x559c
jl 0x1800420b0
mov dword [rsp + 0x12c], 1
jmp 0x1800420bb
mov dword [rsp + 0x12c], 0
mov eax, dword [rsp + 0x12c]
mov ecx, dword [rsp + 0x130]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x1800420de
mov rax, qword [rsp + 0x70]
sub rax, 0x5f
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0xb0]
add eax, 0xcf
mov dword [rsp + 0x1d0], eax
mov eax, dword [rsp + 0xb0]
add eax, 0xc7
mov dword [rsp + 0x2ac], eax
mov eax, dword [rsp + 0xb0]
add eax, 0x7d39
mov dword [rsp + 0x2b0], eax
movzx eax, byte [rsp + 0x21]
movzx eax, al
movzx ecx, byte [0x1800c35a3]
movsx ecx, cl
cmp eax, ecx
je 0x180042153
mov eax, dword [rsp + 0x3c]
not eax
mov eax, eax
mov rcx, qword [0x1800c36b8]
cmp rax, rcx
jl 0x180042153
movzx eax, byte [rsp + 0x20]
shl eax, 1
cdqe
mov qword [0x1800c3668], rax
jmp 0x180042183
mov rax, qword [0x1800c36b8]
mov ecx, 2
imul rcx, rcx, 0xa
lea rdx, [0x18075f350]
mov word [rdx + rcx], ax
movsx eax, byte [0x1800c35a5]
mov ecx, dword [0x1800c35bc]
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x1d0]
imul eax, eax, 0xadff
mov ecx, dword [rsp + 0xb4]
imul ecx, ecx, 0x245
mov edx, dword [rsp + 0xb4]
mov edi, dword [rsp + 0xb4]
imul edx, edi
xor ecx, edx
mov edx, dword [rsp + 0x90]
mov edi, dword [rsp + 0x90]
add edx, edi
mov edi, dword [rsp + 0x90]
mov esi, dword [rsp + 0x90]
add edi, esi
xor edx, edi
imul ecx, edx
mov edx, 0xff73502f
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x1ec], eax
lea rax, [rsp + 0x338]
lea rcx, [0x18009fc20]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x338]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x1800c3594], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xb8], eax
movzx eax, byte [rsp + 0x20]
movzx ecx, word [rsp + 0x30]
movzx ecx, cx
cmp eax, ecx
jl 0x180042243
mov dword [rsp + 0x138], 1
jmp 0x18004224e
mov dword [rsp + 0x138], 0
movzx eax, byte [rsp + 0x20]
cmp eax, 0x5a
jl 0x180042265
mov dword [rsp + 0x134], 1
jmp 0x180042270
mov dword [rsp + 0x134], 0
mov eax, dword [rsp + 0x134]
cmp dword [rsp + 0x138], eax
jne 0x180042282
jmp 0x180042296
movsx rax, word [rsp + 0x28]
mov rcx, qword [rsp + 0x70]
imul rax, rcx
mov word [rsp + 0x28], ax
mov eax, dword [rsp + 0xb8]
add eax, 0xda
mov dword [rsp + 0x1d4], eax
movzx eax, word [rsp + 0x30]
movzx eax, ax
shl eax, 2
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xb8]
add eax, 0x738b
mov dword [rsp + 0x2b4], eax
mov eax, 1
imul rax, rax, 0xb85f
lea rcx, [0x1808140c0]
movzx edx, byte [rsp + 0x78]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0xb8]
add eax, 0x1de9
mov dword [rsp + 0x2b8], eax
mov eax, dword [0x1800c35bc]
cmp dword [rsp + 0x4c], eax
jb 0x180042312
mov dword [rsp + 0x140], 1
jmp 0x18004231d
mov dword [rsp + 0x140], 0
cmp dword [rsp + 0x4c], 0x3e
jb 0x180042331
mov dword [rsp + 0x13c], 1
jmp 0x18004233c
mov dword [rsp + 0x13c], 0
mov eax, dword [rsp + 0x13c]
cmp dword [rsp + 0x140], eax
jge 0x180042499
movzx eax, byte [rsp + 0x20]
movzx ecx, word [rsp + 0x80]
movsx ecx, cx
cmp eax, ecx
jne 0x1800423ed
mov eax, dword [rsp + 0x44]
cdqe
movzx ecx, byte [0x1800c35eb]
movzx ecx, cl
mov rdx, qword [rsp + 0x58]
add rdx, rax
mov rax, rdx
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x18004239b
mov dword [rsp + 0x148], 1
jmp 0x1800423a6
mov dword [rsp + 0x148], 0
movsx eax, word [rsp + 0x28]
sub eax, 0x4d71
test eax, eax
jne 0x1800423c1
mov dword [rsp + 0x144], 1
jmp 0x1800423cc
mov dword [rsp + 0x144], 0
movzx eax, byte [rsp + 0x23]
sub eax, dword [rsp + 0x144]
mov ecx, dword [rsp + 0x148]
imul ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
jmp 0x180042494
mov eax, dword [rsp + 0x48]
movabs rcx, 0x52d73840676ba
cmp rax, rcx
jle 0x180042494
cmp dword [0x1800c36c4], 0
jne 0x18004241a
mov dword [rsp + 0x150], 1
jmp 0x180042425
mov dword [rsp + 0x150], 0
movzx eax, byte [0x1800c35eb]
movzx eax, al
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x20]
mov rdx, qword [rsp + 0x78]
add rdx, rcx
mov rcx, rdx
sub rax, rcx
test rax, rax
jne 0x18004245f
mov dword [rsp + 0x14c], 1
jmp 0x18004246a
mov dword [rsp + 0x14c], 0
mov eax, dword [rsp + 0x14c]
mov ecx, dword [rsp + 0x150]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x54], eax
movzx eax, byte [rsp + 0x21]
movzx eax, al
mov ecx, dword [rsp + 0x4c]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x4c], eax
jmp 0x180042544
movzx eax, byte [0x1800c35eb]
movzx eax, al
movsx ecx, word [0x1800c36d0]
cmp eax, ecx
jg 0x1800424c3
mov eax, dword [0x1800c3594]
imul eax, eax, 0x7a82
mov dword [rsp + 0x4c], eax
jmp 0x180042544
movzx eax, byte [0x1800c35a6]
movsx eax, al
test eax, eax
jne 0x1800424de
mov dword [rsp + 0x154], 1
jmp 0x1800424e9
mov dword [rsp + 0x154], 0
mov eax, dword [rsp + 0x154]
cmp dword [rsp + 0x60], eax
ja 0x180042503
mov dword [rsp + 0x15c], 1
jmp 0x18004250e
mov dword [rsp + 0x15c], 0
movzx eax, byte [0x1800c35a6]
movsx rax, al
mov rcx, qword [0x1800c3690]
cmp rax, rcx
jle 0x180042532
mov dword [rsp + 0x158], 1
jmp 0x18004253d
mov dword [rsp + 0x158], 0
mov eax, dword [rsp + 0x158]
mov eax, dword [rsp + 0x40]
not eax
cdqe
mov rcx, qword [0x1800c3680]
imul rcx, rax
mov rax, rcx
test rax, rax
jne 0x18004256d
mov qword [rsp + 0x248], 1
jmp 0x180042579
mov qword [rsp + 0x248], 0
mov rax, qword [rsp + 0x248]
mov qword [rsp + 0x78], rax
movsx rax, word [rsp + 0x28]
movabs rcx, 0x5ab9c0dd51a80
sub rax, rcx
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x1d4]
add eax, 0x9a
mov ecx, 0x495
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x1f0], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xbc], eax
movzx eax, byte [0x1800c35a6]
movsx eax, al
test eax, eax
je 0x1800425e6
mov rax, qword [0x1800c3680]
mov qword [rsp + 0x250], rax
jmp 0x1800425f9
movzx eax, byte [0x1800c35a3]
movsx rax, al
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x250]
mov qword [0x1800c36b8], rax
mov eax, dword [rsp + 0xbc]
add eax, 0x65c1
mov dword [rsp + 0x2ec], eax
mov eax, dword [rsp + 0xbc]
add eax, 0xaa63
mov dword [rsp + 0x1d8], eax
mov eax, dword [rsp + 0xbc]
add eax, 0xd7
mov dword [rsp + 0x2e0], eax
mov rax, qword [0x1800c3668]
test rax, rax
je 0x18004268a
movzx eax, byte [str.not_a_stream]
test eax, eax
je 0x180042677
movabs rax, 0x3e72fe7749916
mov rcx, qword [0x1800c36a8]
xor rcx, rax
mov rax, rcx
mov byte [0x1800c35a6], al
jmp 0x180042685
movzx eax, word [0x1800c3670]
mov word [0x1800c36d0], ax
jmp 0x180042725
cmp qword [rsp + 0x78], 0
je 0x1800426af
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [0x1800c36b0]
add rax, rcx
mov byte [rsp + 0x23], al
mov dword [rsp + 0x48], 2
jmp 0x180042725
movzx eax, byte [rsp + 0x21]
movzx eax, al
cmp dword [0x1800c36c0], eax
jg 0x1800426cc
mov dword [rsp + 0x160], 1
jmp 0x1800426d7
mov dword [rsp + 0x160], 0
movzx eax, word [0x1800c35ec]
cwde
cmp eax, dword [rsp + 0x160]
jge 0x180042725
cmp dword [rsp + 0x48], 0
je 0x1800426fc
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x164], eax
jmp 0x180042708
movsx eax, byte [rsp + 0x22]
mov dword [rsp + 0x164], eax
movzx eax, byte [rsp + 0x164]
mov byte [rsp + 0x24], al
movsx eax, word [rsp + 0x38]
imul eax, eax, 0x8461
mov dword [0x1800c36c0], eax
mov eax, dword [rsp + 0x1d8]
add eax, 0xffff5946
mov dword [rsp + 0x1f4], eax
movzx eax, byte [rsp + 0x21]
movzx eax, al
movsx ecx, byte [rsp + 0x22]
cmp eax, ecx
je 0x180042756
mov dword [rsp + 0x16c], 1
jmp 0x180042761
mov dword [rsp + 0x16c], 0
movzx eax, byte [rsp + 0x21]
movzx eax, al
cmp eax, 0x1b
je 0x18004277b
mov dword [rsp + 0x168], 1
jmp 0x180042786
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
cmp dword [rsp + 0x16c], eax
jle 0x1800428be
mov rax, qword [rsp + 0x58]
add rax, 0xe679
movsx rcx, word [0x1800c360c]
cmp rax, rcx
ja 0x1800427d8
cmp dword [rsp + 0x4c], 0
jne 0x1800427d8
xor eax, eax
cmp eax, 0xffffffeb
je 0x1800427cb
movsx eax, byte [0x1800c35a5]
test eax, eax
je 0x1800427d8
mov dword [rsp + 0x170], 0
jmp 0x1800427e3
mov dword [rsp + 0x170], 1
mov eax, dword [rsp + 0x170]
not eax
test eax, eax
je 0x18004280d
mov rax, qword [rsp + 0x70]
movabs rcx, 0xd13147d245d58
add rax, rcx
mov dword [0x1800c35bc], eax
jmp 0x1800428b9
cmp dword [0x1800c36c0], 0
jne 0x180042823
mov dword [rsp + 0x174], 1
jmp 0x18004282e
mov dword [rsp + 0x174], 0
movzx eax, word [0x1800c3624]
movzx eax, ax
cmp eax, dword [rsp + 0x174]
je 0x18004284f
mov qword [rsp + 0x258], 1
jmp 0x18004285b
mov qword [rsp + 0x258], 0
mov rax, qword [0x1800c3690]
imul rax, qword [rsp + 0x258]
test rax, rax
je 0x1800428b9
movzx eax, byte [rsp + 0x23]
test eax, eax
je 0x180042889
movsx eax, word [0x1800c36d0]
mov dword [rsp + 0x178], eax
jmp 0x180042894
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x178], eax
movzx eax, byte [rsp + 0x178]
mov byte [rsp + 0x24], al
movzx eax, byte [rsp + 0x2c]
mov ecx, dword [rsp + 0x44]
imul eax, ecx
movzx ecx, byte [rsp + 0x2c]
and ecx, eax
mov eax, ecx
mov byte [rsp + 0x2c], al
jmp 0x1800429df
movsx eax, word [rsp + 0x28]
cmp eax, 0x15
je 0x1800428d5
mov dword [rsp + 0x180], 1
jmp 0x1800428e0
mov dword [rsp + 0x180], 0
cmp dword [0x1800c35d4], 0
jne 0x180042902
movzx eax, word [rsp + 0x30]
movzx eax, ax
test eax, eax
jne 0x180042902
mov dword [rsp + 0x17c], 0
jmp 0x18004290d
mov dword [rsp + 0x17c], 1
mov eax, dword [rsp + 0x17c]
mov ecx, dword [rsp + 0x180]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x180042950
mov dword [0x1800c35d4], 0x8db
movzx eax, word [0x1800c3624]
movzx eax, ax
movabs rcx, 0xe2e0eb5532dbd
imul rax, rcx
mov byte [0x1800c35a3], al
jmp 0x1800429df
movzx eax, byte [str.not_a_stream]
not eax
movzx ecx, byte [rsp + 0x23]
xor eax, ecx
cmp dword [0x1800c36c0], eax
jne 0x18004298b
mov eax, dword [rsp + 0x54]
cdqe
mov rcx, qword [0x1800c3660]
and rax, rcx
mov ecx, dword [rsp + 0x54]
movsxd rcx, ecx
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x54], eax
jmp 0x1800429df
mov eax, dword [rsp + 0x4c]
not eax
test eax, eax
je 0x1800429df
mov eax, dword [rsp + 0x4c]
movabs rcx, 0xc40d9b6ffa1b3
add rax, rcx
mov byte [rsp + 0x22], al
movzx eax, byte [0x1800c35a6]
movsx eax, al
not eax
movzx ecx, byte [0x1800c35d3]
sub eax, ecx
cdqe
movzx ecx, byte [rsp + 0x21]
movzx ecx, cl
mov rdx, qword [0x1800c36b0]
and rdx, rcx
mov rcx, rdx
xor rax, rcx
mov byte [0x1800c35a3], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xc0], eax
movzx eax, word [rsp + 0x34]
movsx rax, ax
mov rcx, qword [0x1800c3698]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x1800c3698]
sub rcx, rax
mov rax, rcx
mov qword [0x1800c3698], rax
cmp qword [0x1800c36a8], 0
jne 0x180042a2d
mov dword [rsp + 0x184], 1
jmp 0x180042a38
mov dword [rsp + 0x184], 0
movzx eax, byte [rsp + 0x2c]
mov ecx, dword [rsp + 0x40]
not ecx
add eax, ecx
test eax, eax
jne 0x180042a56
mov dword [rsp + 0x188], 1
jmp 0x180042a61
mov dword [rsp + 0x188], 0
mov eax, dword [rsp + 0x184]
imul eax, dword [rsp + 0x188]
cdqe
mov rcx, qword [0x1800c36b0]
imul rax, rcx
mov dword [0x1800c36d4], eax
mov eax, dword [rsp + 0xc0]
add eax, 0x372
mov dword [rsp + 0x200], eax
lea rax, [rsp + 0x350]
lea rcx, str.hiddenform
mov rdi, rax
mov rsi, rcx
mov ecx, 0x16
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x350]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov byte [0x1800c35d3], al
mov eax, dword [rsp + 0xc0]
add eax, 0x105
mov dword [rsp + 0x1fc], eax
movsx eax, byte [0x1800c35a5]
cmp eax, dword [rsp + 0x4c]
ja 0x180042b24
movzx eax, byte [0x1800c35eb]
movzx eax, al
add rax, qword [rsp + 0x58]
mov qword [0x1800c36d8], rax
movzx eax, word [0x1800c3624]
movzx eax, ax
movsx ecx, word [0x1800c36d0]
sub eax, ecx
movzx ecx, word [0x1800c3624]
movzx ecx, cx
and ecx, eax
mov eax, ecx
mov word [0x1800c3624], ax
mov eax, dword [rsp + 0xc0]
add eax, 0x9d
mov dword [rsp + 0x2e8], eax
mov eax, dword [rsp + 0x68]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x398]
mov eax, dword [rcx + rax + 8]
mov rcx, qword [rsp + 0x390]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x2f0], rax
mov r8, qword [rsp + 0x3a8]
mov rdx, qword [rsp + 0x2f0]
mov rcx, qword [rsp + 0x390]
call fcn.18003a3b0
mov dword [rsp + 0xe8], eax
cmp dword [rsp + 0xe8], 0
je 0x18004370c
movzx eax, byte [rsp + 0x21]
movzx eax, al
test eax, eax
je 0x180042ba1
jmp 0x180042bcd
movzx eax, byte [0x1800c35eb]
movzx eax, al
mov rcx, qword [0x1800c3670]
imul rcx, rax
mov rax, rcx
test rax, rax
je 0x180042bcd
movsx rax, word [rsp + 0x38]
add rax, qword [rsp + 0x78]
mov byte [rsp + 0x20], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xdc], eax
mov eax, dword [rsp + 0xdc]
add eax, 0x13
mov dword [rsp + 0x2bc], eax
mov eax, dword [rsp + 0xdc]
add eax, 0x102
mov dword [rsp + 0x1dc], eax
mov eax, dword [rsp + 0xdc]
add eax, 0xc5
mov dword [rsp + 0x18c], eax
movsx eax, word [rsp + 0x38]
not eax
test eax, eax
je 0x180042c47
mov eax, 1
imul rax, rax, 0x1faa
lea rcx, [0x1806eb070]
movzx edx, byte [0x1800c36c0]
mov byte [rcx + rax], dl
mov eax, 0xa0341a57
mov qword [0x1800c36d8], rax
jmp 0x180042c73
movsx eax, word [rsp + 0x28]
test eax, eax
je 0x180042c5a
mov dword [rsp + 0x44], 1
jmp 0x180042c73
mov eax, dword [rsp + 0x3c]
test eax, eax
je 0x180042c73
movzx eax, byte [str.not_a_stream]
imul eax, eax, 0xda88
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x18c]
mov ecx, dword [rsp + 0x18c]
or eax, ecx
mov ecx, dword [rsp + 0x1dc]
xor ecx, 0x88e1
imul eax, ecx
xor eax, 0x6a1b4e
mov dword [rsp + 0x204], eax
mov eax, 3
mov word [rsp + 0x30], ax
mov eax, dword [0x1800c36d4]
mov eax, eax
movabs rcx, 0xbf75e20fcd214
sub rax, rcx
mov dword [0x1800c35bc], eax
mov eax, dword [0x1806dc008]
mov dword [0x1800c3594], eax
movzx eax, word [rsp + 0x30]
movzx eax, ax
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x88], 0
je 0x180042d09
cmp dword [rsp + 0x88], 1
je 0x180042d10
cmp dword [rsp + 0x88], 2
je 0x180042d23
cmp dword [rsp + 0x88], 3
je 0x180042d32
jmp 0x180042d40
mov byte [rsp + 0x21], 2
jmp 0x180042d40
mov byte [rsp + 0x21], 0x88
mov eax, dword [0x1806dc008]
mov dword [0x1800c35bc], eax
jmp 0x180042d40
movzx eax, byte [rsp + 0x21]
movzx eax, al
mov qword [rsp + 0x58], rax
jmp 0x180042d40
mov eax, dword [0x1800c36c4]
dec eax
mov dword [0x1800c36c4], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xc8], eax
mov eax, 8
imul rax, rax, 0x1f67
lea rcx, [0x180706f10]
mov rdx, qword [0x1800c36b0]
or rdx, qword [rcx + rax]
mov rax, rdx
mov qword [0x1800c36b0], rax
mov eax, dword [rsp + 0xc8]
add eax, 0xe810
mov dword [rsp + 0x190], eax
mov eax, dword [0x1806dc008]
mov qword [0x1800c36a0], rax
mov eax, dword [rsp + 0xc8]
add eax, 0xdf
mov dword [rsp + 0x1e0], eax
mov eax, dword [rsp + 0xc8]
add eax, 0x57
mov dword [rsp + 0x2c0], eax
mov rax, qword [0x1800c3668]
test rax, rax
je 0x180042e16
mov rax, qword [0x1800c36a0]
test rax, rax
je 0x180042dea
mov eax, dword [0x1800c3594]
sub eax, 0xa9
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x180042e16
mov eax, dword [rsp + 0x44]
dec eax
mov dword [rsp + 0x44], eax
movsx eax, byte [0x1800c35a7]
movzx ecx, word [rsp + 0x30]
movzx ecx, cx
sub eax, ecx
movsx ecx, byte [0x1800c35a7]
add ecx, eax
mov eax, ecx
mov byte [0x1800c35a7], al
mov eax, dword [rsp + 0x1e0]
add eax, 0xb7
mov ecx, dword [rsp + 0x190]
mov edx, dword [rsp + 0x190]
sub ecx, edx
or eax, ecx
mov ecx, 0x27f
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xcc]
mov edx, dword [rsp + 0x1e4]
xor ecx, edx
mov edx, dword [rsp + 0xcc]
mov edi, dword [rsp + 0xcc]
sub edx, edi
imul ecx, edx
sub eax, ecx
mov dword [rsp + 0x208], eax
movzx eax, word [rsp + 0x30]
movzx eax, ax
movzx ecx, byte [rsp + 0x20]
cmp eax, ecx
jl 0x180042f2e
mov rax, qword [rsp + 0x70]
sub rax, 0x85
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x4c]
mov rcx, qword [0x1800c3690]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x180042eb0
mov dword [rsp + 0x19c], 1
jmp 0x180042ebb
mov dword [rsp + 0x19c], 0
movzx eax, byte [rsp + 0x20]
mov ecx, dword [0x1800c35d4]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x180042edb
mov dword [rsp + 0x194], 1
jmp 0x180042ee6
mov dword [rsp + 0x194], 0
movzx eax, byte [0x1800c35a3]
movsx eax, al
sub eax, dword [rsp + 0x194]
test eax, eax
jne 0x180042f08
mov dword [rsp + 0x198], 1
jmp 0x180042f13
mov dword [rsp + 0x198], 0
mov eax, dword [rsp + 0x198]
mov ecx, dword [rsp + 0x19c]
sub ecx, eax
mov eax, ecx
cdqe
mov qword [rsp + 0x58], rax
jmp 0x180042f61
cmp qword [0x1800c36a8], 0
je 0x180042f49
mov rax, qword [0x1800c36d8]
mov qword [rsp + 0x260], rax
jmp 0x180042f56
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x260], rax
mov eax, dword [rsp + 0x260]
mov dword [rsp + 0x40], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xd0], eax
movsx eax, byte [rsp + 0x22]
movzx ecx, byte [rsp + 0x20]
cmp eax, ecx
jge 0x180042f96
mov rax, qword [rsp + 0x58]
not rax
mov ecx, dword [rsp + 0x54]
not ecx
movsxd rcx, ecx
imul rax, rcx
mov word [rsp + 0x34], ax
mov eax, dword [rsp + 0xd0]
add eax, 0x29e
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x1e8]
mov ecx, dword [rsp + 0xd0]
add eax, ecx
mov dword [rsp + 0x2c4], eax
movsxd rax, dword [0x1800c36c4]
cmp qword [0x1800c3680], rax
jg 0x180042fe1
mov dword [rsp + 0x44], 0x1e
mov eax, 0x6fb8
mov word [rsp + 0x30], ax
jmp 0x18004301a
xor eax, eax
test eax, eax
je 0x18004301a
movzx eax, byte [0x1800c35eb]
movzx eax, al
sub eax, dword [0x1800c36c0]
mov byte [0x1800c35eb], al
movzx eax, byte [rsp + 0x24]
movsx eax, al
mov ecx, dword [rsp + 0x3c]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x1ec]
mov ecx, dword [rsp + 0xd0]
add eax, ecx
mov dword [rsp + 0x1f8], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x64]
imul eax, ecx
mov ecx, dword [rsp + 0x1f0]
mov edx, dword [rsp + 0x1f4]
sub ecx, edx
add eax, ecx
mov ecx, dword [rsp + 0x1f8]
mov edx, dword [rsp + 0x64]
add ecx, edx
mov edx, dword [rsp + 0x64]
mov edi, dword [rsp + 0x64]
sub edx, edi
add ecx, edx
cmp eax, ecx
je 0x18004370c
mov rax, qword [0x1800c36d8]
test rax, rax
je 0x180043088
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x1a0], eax
jmp 0x180043094
movzx eax, byte [rsp + 0x23]
mov dword [rsp + 0x1a0], eax
mov eax, dword [rsp + 0x1a0]
mov dword [rsp + 0x44], eax
mov rax, qword [0x1800c36a0]
add rax, 0xb0
mov qword [0x1800c3670], rax
cmp dword [rsp + 0x40], 0
je 0x1800430cb
mov rax, qword [0x1800c3688]
mov qword [rsp + 0x268], rax
jmp 0x1800430d8
movsxd rax, dword [rsp + 0x40]
mov qword [rsp + 0x268], rax
mov eax, dword [rsp + 0x268]
mov dword [rsp + 0x3c], eax
movsx ax, byte [rsp + 0x22]
mov ecx, 2
imul rcx, rcx, 0x31df
lea rdx, [0x1807d7040]
mov word [rdx + rcx], ax
mov eax, dword [rsp + 0x8c]
inc eax
mov dword [rsp + 0x8c], eax
mov eax, dword [rsp + 0x1fc]
mov ecx, dword [rsp + 0x200]
mov edx, dword [rsp + 0x204]
sub ecx, edx
mov edx, dword [rsp + 0x208]
sub ecx, edx
cmp eax, ecx
je 0x1800436eb
lea rax, [rsp + 0x2f8]
lea rcx, [0x18009fc50]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xd
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x2f8]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [rsp + 0x38], ax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xd4], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x8779
mov dword [rsp + 0x20c], eax
mov eax, dword [rsp + 0xd4]
add eax, 0xc6
mov dword [rsp + 0x210], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x8a26
mov dword [rsp + 0x2c8], eax
movsx rax, byte [0x1800c35a5]
mov rcx, qword [0x1800c36d8]
add rax, rcx
movsx rcx, byte [0x1800c35a5]
add rcx, rax
mov rax, rcx
mov byte [0x1800c35a5], al
mov eax, dword [rsp + 0x20c]
mov ecx, dword [rsp + 0x210]
xor eax, ecx
add eax, 0xffff7b5f
mov dword [rsp + 0x214], eax
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xd8], eax
mov eax, dword [0x1800c3688]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x35d1
mov dword [rsp + 0x2cc], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x22
mov dword [rsp + 0x2d0], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x9006
mov dword [rsp + 0x1a4], eax
cmp dword [rsp + 0x48], 0
je 0x180043283
movsx eax, byte [0x1800c35a7]
test eax, eax
jne 0x18004325d
mov qword [rsp + 0x278], 1
jmp 0x180043269
mov qword [rsp + 0x278], 0
mov rax, qword [rsp + 0x278]
mov rcx, qword [0x1800c3670]
add rcx, rax
mov rax, rcx
mov word [rsp + 0x28], ax
movzx eax, byte [rsp + 0x21]
movzx eax, al
sar eax, 2
mov dword [0x1800c3594], eax
mov eax, dword [rsp + 0x1a4]
mov ecx, dword [rsp + 0x1a4]
imul ecx, ecx, 0xb
lea eax, [rax + rcx - 0xc3]
xor eax, 0x6beee
mov dword [rsp + 0x218], eax
movzx eax, word [rsp + 0x30]
movzx eax, ax
add eax, 0x102e5f67
mov dword [0x1800c35d4], eax
movzx eax, byte [0x1806dc008]
mov byte [0x1800c35a5], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xf0], eax
mov rax, qword [0x1800c36b0]
cmp rax, 0x139e16b7
jae 0x180043301
mov dword [rsp + 0x1ac], 1
jmp 0x18004330c
mov dword [rsp + 0x1ac], 0
movzx eax, byte [rsp + 0x24]
movsx eax, al
test eax, eax
jne 0x18004332d
mov eax, dword [rsp + 0x54]
test eax, eax
jne 0x18004332d
mov dword [rsp + 0x1a8], 0
jmp 0x180043338
mov dword [rsp + 0x1a8], 1
mov eax, dword [rsp + 0x1a8]
cmp dword [rsp + 0x1ac], eax
jge 0x180043399
cmp qword [0x1800c3670], 0
je 0x18004336c
movzx eax, word [0x1800c35ec]
cwde
test eax, eax
je 0x18004336c
mov qword [rsp + 0x270], 1
jmp 0x180043378
mov qword [rsp + 0x270], 0
mov rax, qword [0x1800c3690]
mov rcx, qword [rsp + 0x270]
add rcx, rax
mov rax, rcx
not rax
test rax, rax
je 0x18004345c
mov eax, dword [0x1800c3594]
cmp eax, dword [rsp + 0x48]
ja 0x1800433b2
mov dword [rsp + 0x1b4], 1
jmp 0x1800433bd
mov dword [rsp + 0x1b4], 0
mov eax, dword [0x1800c3594]
cmp eax, 0x44
jg 0x1800433d5
mov dword [rsp + 0x1b0], 1
jmp 0x1800433e0
mov dword [rsp + 0x1b0], 0
mov eax, dword [rsp + 0x1b0]
cmp dword [rsp + 0x1b4], eax
jne 0x180043402
imul eax, dword [0x1800c36c0], 0xa1
mov dword [0x1800c36c4], eax
jmp 0x18004345a
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x18004345a
mov eax, 1
imul rax, rax, 0x1311
lea rcx, [0x1806eb070]
movzx eax, byte [rcx + rax]
movsx ecx, byte [0x1800c35a7]
sub ecx, eax
mov eax, ecx
mov byte [0x1800c35a7], al
movsx rax, word [0x1800c36d0]
mov rcx, qword [0x1800c36d8]
sub rax, rcx
movsx rcx, word [0x1800c36d0]
or rcx, rax
mov rax, rcx
mov word [0x1800c36d0], ax
jmp 0x180043474
mov rax, qword [0x1800c36b8]
mov rcx, qword [0x1800c36b8]
add rax, rcx
mov qword [0x1800c36b8], rax
mov eax, dword [rsp + 0xf0]
add eax, 0x64b8
mov dword [rsp + 0x2d4], eax
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x1800434f2
movzx eax, byte [rsp + 0x23]
mov rcx, qword [0x1800c36b8]
cmp rax, rcx
jl 0x1800434c0
movzx eax, byte [rsp + 0x20]
movzx ecx, word [0x1800c35ec]
movsx ecx, cx
lea eax, [rcx + rax - 0x3c693a0]
mov word [0x1800c35ec], ax
jmp 0x1800434f2
mov eax, dword [rsp + 0x60]
sub eax, 0x52ae
mov dword [0x1800c35d4], eax
movsx rax, word [0x1800c36d0]
mov rcx, qword [rsp + 0x58]
xor rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0xf0]
add eax, 0xe41a
mov dword [rsp + 0x2d8], eax
mov eax, dword [rsp + 0xf0]
add eax, 0xde
mov dword [rsp + 0x1b8], eax
lea rax, [rsp + 0x308]
lea rcx, str.x_ia5_swedish
mov rdi, rax
mov rsi, rcx
mov ecx, 0xe
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x308]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x23], al
mov eax, dword [rsp + 0x1b8]
mov ecx, dword [rsp + 0x1b8]
sub eax, ecx
mov ecx, 0x1bf
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x21c], eax
mov rax, qword [rsp + 0x3b8]
mov ecx, dword [rsp + 0x8c]
cmp dword [rax], ecx
jb 0x1800436eb
movzx eax, word [rsp + 0x34]
mov byte [0x1800c35d3], al
movzx eax, byte [rsp + 0x2c]
mov ecx, dword [rsp + 0x44]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x44]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x40]
sub eax, 0x86
mov byte [rsp + 0x24], al
mov eax, dword [0x1806dc008]
mov dword [rsp + 0xe0], eax
mov rax, qword [0x1800c3680]
not rax
test rax, rax
jne 0x18004362a
movzx eax, byte [0x1800c35a4]
cmp eax, dword [rsp + 0x4c]
jbe 0x1800435e5
mov dword [rsp + 0x1c0], 1
jmp 0x1800435f0
mov dword [rsp + 0x1c0], 0
movzx eax, word [rsp + 0x34]
cwde
test eax, eax
jne 0x18004360f
cmp qword [rsp + 0x78], 0
jne 0x18004360f
mov dword [rsp + 0x1bc], 1
jmp 0x18004361a
mov dword [rsp + 0x1bc], 0
mov eax, dword [rsp + 0x1bc]
cmp dword [rsp + 0x1c0], eax
jl 0x18004364e
movsx eax, byte [0x1800c35a5]
movzx ecx, byte [0x1800c35eb]
movzx ecx, cl
sub eax, ecx
movsx ecx, byte [0x1800c35a5]
sub ecx, eax
mov eax, ecx
mov byte [0x1800c35a5], al
mov eax, dword [rsp + 0x214]
mov ecx, dword [rsp + 0xe0]
add eax, ecx
mov dword [rsp + 0x220], eax
movzx eax, word [rsp + 0x34]
cwde
test eax, eax
je 0x180043671
jmp 0x18004368d
movzx eax, byte [rsp + 0x23]
add eax, 0xff
cdqe
mov qword [rsp + 0x78], rax
mov qword [0x1800c3660], 0x2bd50763
mov eax, dword [rsp + 0x218]
mov ecx, dword [rsp + 0xe0]
add eax, ecx
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0x21c]
mov ecx, dword [rsp + 0xe0]
add eax, ecx
mov dword [rsp + 0x2dc], eax
mov eax, dword [rsp + 0xe4]
mov ecx, dword [rsp + 0x220]
mov edx, dword [rsp + 0xe4]
imul ecx, edx
mov edx, dword [rsp + 0xe4]
imul edx, edx, 0x24e
sub ecx, edx
cmp eax, ecx
je 0x1800436eb
jmp 0x180041d2d
mov rax, qword [rsp + 0x3b8]
mov ecx, dword [rsp + 0x8c]
mov dword [rax], ecx
mov rax, qword [rsp + 0x3b0]
mov ecx, dword [rsp + 0x68]
mov dword [rax], ecx
jmp 0x180043711
jmp 0x180041d2d
mov rax, qword [rsp + 0x3b0]
mov eax, dword [rax]
imul rax, rax, 0xc
mov rcx, qword [rsp + 0x398]
mov eax, dword [rcx + rax]
mov rcx, qword [rsp + 0x390]
add rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x3c0]
mov qword [rcx], rax
mov rax, qword [rsp + 0x3c0]
mov rax, qword [rax]
mov qword [0x1806dbee0], rax
mov rax, qword [rsp + 0x3a8]
mov eax, dword [rax]
mov qword [0x1806dbf00], rax
movzx eax, byte [rsp + 0x20]
imul eax, eax, 0xe7e4eeb9
movzx ecx, byte [rsp + 0x21]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
mov eax, dword [rsp + 0xe8]
add rsp, 0x378
pop rdi
pop rsi
ret