Function at 0x18004d980
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x528
mov eax, dword [0x1800e35f8]
mov dword [rsp + 0x368], eax
movzx eax, word [0x1800e35d0]
mov byte [rsp + 0x25], al
mov dword [rsp + 0x34], 0xd9
mov byte [rsp + 0x27], 0x66
mov eax, 0xfffff6e8
mov word [rsp + 0x2c], ax
mov eax, dword [0x1800e358c]
mov dword [rsp + 0x48], eax
movzx eax, byte [0x1800e35e0]
mov byte [rsp + 0x20], al
mov qword [rsp + 0xb8], 0xdf
mov byte [rsp + 0x24], 0x17
movzx eax, byte [0x1800e3562]
mov byte [rsp + 0x22], al
mov rax, qword [0x1800e3568]
mov byte [rsp + 0x23], al
mov eax, 0xe905c70b
mov qword [rsp + 0x68], rax
movsxd rax, dword [0x1800e35c0]
mov qword [rsp + 0xa0], rax
mov rax, qword [0x1800e3570]
mov dword [rsp + 0x60], eax
movsx rax, byte [0x1800e3533]
mov qword [rsp + 0xb0], rax
mov byte [rsp + 0x28], 0x93
mov byte [rsp + 0x29], 0xb
movzx eax, word [0x1800e35c0]
mov word [rsp + 0x38], ax
mov byte [rsp + 0x21], 0xca
mov eax, dword [0x1800e3534]
mov word [rsp + 0x30], ax
mov dword [rsp + 0x50], 0x87
movsxd rax, dword [0x1800e35c0]
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x26], 0xe6
mov byte [rsp + 0xc0], 0xb3
movzx eax, byte [0x1800e3562]
movsx ax, al
mov word [rsp + 0x244], ax
mov byte [rsp + 0xc1], 0xc
mov eax, 0x21a0
mov word [rsp + 0x2d8], ax
mov eax, 0xacbe
mov word [rsp + 0x2e0], ax
mov eax, 0xd1b4
mov word [rsp + 0x2dc], ax
mov byte [rsp + 0xc2], 0xd3
mov dword [rsp + 0x36c], 0xb6
mov dword [rsp + 0x390], 0xd0e8
movzx eax, byte [0x1800e3532]
movzx eax, al
mov dword [rsp + 0x370], eax
movzx eax, byte [0x1800e34eb]
mov byte [rsp + 0xc3], al
mov byte [rsp + 0xc4], 0xaa
mov eax, dword [0x1800e35ac]
mov qword [rsp + 0x3e0], rax
movzx eax, word [0x1800e3564]
movsx rax, ax
mov qword [rsp + 0x3e8], rax
mov dword [rsp + 0x374], 0x9ce3caad
mov byte [rsp + 0xc6], 0x29
mov eax, dword [0x1800e35f4]
mov byte [rsp + 0xc5], al
mov eax, dword [0x1800e3534]
mov eax, eax
mov qword [rsp + 0x3f0], rax
mov eax, 0xffffbc7c
mov word [rsp + 0x2e4], ax
mov qword [rsp + 0x3f8], 0x677d863a
mov qword [rsp + 0x400], 0xe81e
mov byte [rsp + 0xf8], 0xb7
mov eax, dword [0x1800e35f4]
mov dword [rsp + 0x378], eax
mov rax, qword [0x1800e3570]
mov qword [rsp + 0x408], rax
movzx eax, byte [0x1800e3562]
mov byte [rsp + 0xd0], al
mov eax, 0x2b6f
mov word [rsp + 0x2e8], ax
mov eax, dword [0x1800e3584]
mov word [rsp + 0x2ec], ax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xd4], eax
movzx eax, byte [rsp + 0x27]
movsx rax, al
cmp qword [0x1800e35c8], rax
jge 0x18004dbf4
mov dword [rsp + 0x144], 1
jmp 0x18004dbff
mov dword [rsp + 0x144], 0
mov eax, dword [0x1800e35f4]
movzx ecx, byte [rsp + 0x21]
movzx ecx, cl
cmp eax, ecx
jle 0x18004dc1e
mov dword [rsp + 0x140], 1
jmp 0x18004dc29
mov dword [rsp + 0x140], 0
mov eax, dword [rsp + 0x140]
not eax
cmp dword [rsp + 0x144], eax
jl 0x18004dcfd
mov qword [0x1800e3578], 1
mov eax, dword [rsp + 0x50]
add eax, 0x440c35da
mov eax, eax
mov rcx, qword [0x1800e35b8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e35b8], rax
mov rax, qword [0x1800e3578]
mov qword [rsp + 0x328], rax
cmp qword [rsp + 0x328], 0
je 0x18004dc90
cmp qword [rsp + 0x328], 1
je 0x18004dccb
jmp 0x18004dcfb
movsx eax, word [0x1800e360c]
and eax, dword [0x1800e35c0]
mov word [0x1800e360c], ax
movzx eax, word [rsp + 0x38]
movzx eax, ax
add eax, 0x29205a50
cdqe
mov rcx, qword [rsp + 0xb8]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xb8], rax
jmp 0x18004dcfb
movzx eax, word [rsp + 0x2c]
cwde
movzx ecx, byte [rsp + 0x23]
movzx ecx, cl
sub eax, ecx
movzx ecx, word [rsp + 0x2c]
movsx ecx, cx
sub ecx, eax
mov eax, ecx
mov word [rsp + 0x2c], ax
movzx eax, byte [rsp + 0x23]
movzx eax, al
shl eax, 5
mov byte [rsp + 0x23], al
jmp 0x18004dd62
cmp qword [0x1800e35e8], 0
jne 0x18004dd14
mov dword [rsp + 0x14c], 1
jmp 0x18004dd1f
mov dword [rsp + 0x14c], 0
movzx eax, byte [rsp + 0x22]
cmp eax, 0x53
jl 0x18004dd36
mov dword [rsp + 0x148], 1
jmp 0x18004dd41
mov dword [rsp + 0x148], 0
mov eax, dword [rsp + 0x148]
cmp dword [rsp + 0x14c], eax
jge 0x18004dd62
mov rax, qword [0x1800e3600]
sub rax, 0x1bb4
mov byte [rsp + 0x21], al
mov eax, dword [rsp + 0xd4]
add eax, 0xe9
mov dword [rsp + 0x250], eax
movzx eax, word [0x1800e35a8]
movzx eax, ax
movzx ecx, byte [0x1800e3582]
cmp eax, ecx
jge 0x18004de70
movzx eax, byte [rsp + 0x20]
movsx rax, al
cmp rax, qword [0x1800e3590]
ja 0x18004ddad
mov dword [rsp + 0x154], 1
jmp 0x18004ddb8
mov dword [rsp + 0x154], 0
movzx eax, byte [rsp + 0x20]
movsx eax, al
cmp eax, 8
jg 0x18004ddd2
mov dword [rsp + 0x150], 1
jmp 0x18004dddd
mov dword [rsp + 0x150], 0
mov eax, dword [rsp + 0x150]
cmp dword [rsp + 0x154], eax
jl 0x18004de19
movzx eax, byte [0x1800e3532]
movzx eax, al
movzx ecx, byte [rsp + 0x27]
movsx ecx, cl
add eax, ecx
mov byte [0x1800e3532], al
mov rax, qword [0x1800e35b8]
not rax
mov byte [0x1800e3566], al
jmp 0x18004de6e
movsx eax, word [0x1800e360c]
test eax, eax
jne 0x18004de32
mov qword [rsp + 0x330], 1
jmp 0x18004de3e
mov qword [rsp + 0x330], 0
mov rax, qword [0x1800e3568]
cmp qword [rsp + 0x330], rax
jne 0x18004de6e
mov rax, qword [0x1800e3568]
test rax, rax
jne 0x18004de63
cmp qword [rsp + 0x68], 0
je 0x18004de6e
movzx eax, byte [rsp + 0x24]
dec al
mov byte [rsp + 0x24], al
jmp 0x18004debd
mov eax, dword [rsp + 0x50]
not eax
mov eax, eax
mov rcx, qword [0x1800e35a0]
add rax, rcx
movsx rcx, byte [rsp + 0x28]
movzx edx, byte [rsp + 0x20]
movsx rdx, dl
mov r8, qword [0x1800e35f8]
or r8, rdx
mov rdx, r8
or rcx, rdx
not rcx
imul rax, rcx
mov byte [rsp + 0x22], al
movzx eax, byte [0x1800e355f]
imul eax, eax, 0x9be4
mov byte [rsp + 0x26], al
mov eax, dword [rsp + 0xd4]
add eax, 0x6c
mov dword [rsp + 0x39c], eax
movsx eax, word [rsp + 0x30]
test eax, eax
je 0x18004def8
movzx eax, word [0x1800e35a8]
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x29]
movsx eax, al
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
jmp 0x18004df31
mov eax, dword [0x1800e3534]
test eax, eax
je 0x18004df31
movzx eax, word [0x1800e35c4]
cwde
xor eax, 0x71
cdqe
mov rcx, qword [rsp + 0xa0]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
mov eax, dword [0x18094ab58]
mov dword [str.Bw8_], eax
mov eax, dword [rsp + 0xd4]
add eax, 0x295
mov dword [rsp + 0x398], eax
mov rax, qword [0x1800e3600]
mov rcx, qword [0x1800e3578]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e3578], rax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x370
mov dword [rsp + 0x394], eax
mov eax, 0x9d
mov word [rsp + 0x30], ax
mov eax, dword [rsp + 0xd8]
add eax, 0x25c
mov dword [rsp + 0x25c], eax
mov eax, dword [rsp + 0xd8]
add eax, 0x1d7
mov dword [rsp + 0xa8], eax
movzx eax, word [rsp + 0x2c]
cwde
sar eax, 2
mov dword [0x1800e3610], eax
mov dword [rsp + 0x74], 0
mov eax, 0xffffa35c
mov word [rsp + 0x30], ax
mov dword [rsp + 0x7c], 0
movzx eax, byte [rsp + 0x29]
movsx eax, al
test eax, eax
je 0x18004e007
movzx eax, byte [rsp + 0x20]
movsx eax, al
sub eax, 0x8982b63a
mov word [0x1800e3614], ax
mov eax, dword [rsp + 0x34]
and eax, 0x3e
mov byte [0x1800e3567], al
jmp 0x18004e058
movzx eax, byte [rsp + 0x25]
movsx rax, al
movabs rcx, 0xaaef1290c04c9
cmp rax, rcx
jl 0x18004e058
movzx eax, byte [0x1800e3567]
and rax, qword [rsp + 0x68]
movzx ecx, byte [0x1800e3567]
sub rcx, rax
mov rax, rcx
mov byte [0x1800e3567], al
movzx eax, byte [rsp + 0x22]
mov ecx, dword [0x1800e3598]
add eax, ecx
movzx ecx, byte [rsp + 0x22]
or ecx, eax
mov eax, ecx
mov byte [rsp + 0x22], al
movzx eax, byte [rsp + 0x20]
movsx eax, al
cmp eax, dword [rsp + 0x60]
ja 0x18004e068
jmp 0x18004e072
mov dword [0x1800e358c], 0xf51c8eb1
mov dword [rsp + 0x80], 0
cmp qword [0x1800e35c8], 0
je 0x18004e089
jmp 0x18004e0d6
cmp dword [0x1800e35b0], 0
jne 0x18004e09f
mov dword [rsp + 0x158], 1
jmp 0x18004e0aa
mov dword [rsp + 0x158], 0
mov eax, dword [rsp + 0x158]
cmp dword [0x1800e3608], eax
ja 0x18004e0d6
movabs rax, 0x1d7a6b541b4e1
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov rax, rcx
mov qword [0x1800e35a0], rax
mov rax, qword [rsp + 0x548]
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x138]
add rax, 4
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xb0]
sub rax, 0xe3
mov byte [rsp + 0x26], al
movzx eax, byte [0x1800e3582]
movsx ecx, byte [0x1800e34eb]
imul eax, ecx
xor eax, 0xe0b50a1
cdqe
movsx ecx, byte [rsp + 0x28]
movzx edx, byte [rsp + 0x22]
add ecx, edx
movsxd rcx, ecx
movsx rdx, byte [0x1800e3513]
sub rdx, qword [0x1800e35b8]
not rdx
add rcx, rdx
sub rax, rcx
mov byte [0x1800e3566], al
lea rax, [rsp + 0x480]
mov rdi, rax
xor eax, eax
mov ecx, 0x98
rep stosb byte [rdi], al
mov dword [rsp + 0x70], 0
cmp dword [0x1800e35b0], 0
je 0x18004e178
jmp 0x18004e23b
movzx eax, byte [rsp + 0x27]
movsx eax, al
mov ecx, dword [0x1800e3514]
cmp eax, ecx
jle 0x18004e197
mov dword [rsp + 0x15c], 1
jmp 0x18004e1a2
mov dword [rsp + 0x15c], 0
mov eax, dword [rsp + 0x15c]
not eax
test eax, eax
je 0x18004e1bb
mov byte [0x1800e3567], 0x5b
jmp 0x18004e23b
mov eax, dword [0x1800e358c]
movsx ecx, byte [0x1800e3513]
cmp eax, ecx
ja 0x18004e1d9
mov dword [rsp + 0x164], 1
jmp 0x18004e1e4
mov dword [rsp + 0x164], 0
movsx eax, word [0x1800e360c]
test eax, eax
jne 0x18004e208
mov rax, qword [0x1800e35a0]
test rax, rax
jne 0x18004e208
mov dword [rsp + 0x160], 0
jmp 0x18004e213
mov dword [rsp + 0x160], 1
mov eax, dword [rsp + 0x160]
not eax
cmp dword [rsp + 0x164], eax
jge 0x18004e23b
movzx eax, byte [rsp + 0x21]
movzx eax, al
movzx ecx, word [rsp + 0x38]
movzx ecx, cx
add eax, ecx
mov byte [rsp + 0x21], al
mov dword [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x27]
movsx eax, al
mov ecx, dword [0x1800e35f4]
cmp eax, ecx
jne 0x18004e27d
mov eax, 2
imul rax, rax, 0x459
lea rcx, [0x180abe590]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x26], al
movzx eax, byte [rsp + 0x22]
inc al
mov byte [rsp + 0x22], al
jmp 0x18004e28f
movzx eax, byte [rsp + 0x26]
movsx eax, al
sub eax, 0xd
cdqe
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x138]
movzx eax, byte [rax + 2]
mov dword [rsp + 0x2f0], eax
mov dword [rsp + 0x74], 0
mov rax, qword [rsp + 0x550]
mov dword [rax], 0
mov eax, dword [rsp + 0x34]
mov ecx, 8
imul rcx, rcx, 0x116d
lea rdx, [0x18094ab60]
mov qword [rdx + rcx], rax
mov eax, dword [rsp + 0x34]
add eax, 0xe9
mov word [0x1800e3614], ax
mov rax, qword [rsp + 0x550]
mov eax, dword [rax]
mov dword [rsp + 0x7c], eax
mov r8d, 0x98
xor edx, edx
lea rcx, [rsp + 0x480]
call fcn.18004adf0
movzx eax, byte [0x1800e3566]
movzx eax, al
test eax, eax
je 0x18004e36c
movzx eax, byte [rsp + 0x29]
movsx rax, al
mov rcx, qword [0x1800e3600]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e3600], rax
movzx eax, byte [0x1800e3562]
movsx rax, al
movzx ecx, byte [0x1800e355f]
and rcx, qword [0x1800e35e0]
movzx edx, byte [rsp + 0x27]
movsx edx, dl
movsx edi, word [0x1800e360c]
sub edx, edi
movsxd rdx, edx
imul rcx, rdx
imul rax, rcx
mov byte [rsp + 0x23], al
jmp 0x18004e3a3
mov eax, dword [0x1800e3610]
test eax, eax
je 0x18004e385
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x338], rax
jmp 0x18004e394
mov rax, qword [0x1800e3578]
mov qword [rsp + 0x338], rax
mov rax, qword [rsp + 0x338]
mov qword [0x1800e35d8], rax
mov eax, dword [rsp + 0x2f0]
cmp dword [rsp + 0x3c], eax
jae 0x18004e92c
movzx eax, byte [rsp + 0x20]
movsx eax, al
movzx ecx, word [0x1800e35c4]
movsx ecx, cx
cmp eax, ecx
jl 0x18004e3d7
mov dword [rsp + 0x16c], 1
jmp 0x18004e3e2
mov dword [rsp + 0x16c], 0
movzx eax, byte [rsp + 0x20]
movsx eax, al
cmp eax, 0x38
jl 0x18004e3fc
mov dword [rsp + 0x168], 1
jmp 0x18004e407
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xdc], eax
mov eax, dword [rsp + 0xdc]
add eax, 0x114
mov dword [rsp + 0x248], eax
mov eax, dword [rsp + 0xdc]
add eax, 0x262
mov dword [rsp + 0x24c], eax
movzx eax, byte [rsp + 0x28]
dec al
mov byte [rsp + 0x28], al
mov eax, 1
imul rax, rax, 0xd4
lea rcx, [0x180abe120]
movzx edx, byte [rsp + 0x68]
mov byte [rcx + rax], dl
mov eax, dword [rsp + 0xdc]
add eax, 0x162
mov dword [rsp + 0x38c], eax
mov eax, dword [rsp + 0x248]
add eax, 0x302
mov ecx, dword [rsp + 0x24c]
add ecx, 0x3ab
cmp eax, ecx
je 0x18004e927
mov eax, 1
imul rax, rax, 0x3daa
lea rcx, [0x180ac1f60]
movzx eax, byte [rcx + rax]
mov byte [rsp + 0x28], al
movzx eax, byte [rsp + 0x25]
movsx eax, al
test eax, eax
je 0x18004e4d3
movzx eax, byte [rsp + 0x20]
movsx eax, al
mov dword [rsp + 0x170], eax
jmp 0x18004e4de
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x170], eax
mov eax, dword [rsp + 0x170]
mov dword [rsp + 0x48], eax
movzx eax, byte [rsp + 0x27]
movsx rax, al
add rax, qword [0x1800e35e0]
mov byte [rsp + 0x27], al
mov rax, qword [0x1800e35a0]
inc rax
mov qword [0x1800e35a0], rax
mov dword [rsp + 0x70], 0
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
and al, 0xf
movzx eax, al
mov dword [rsp + 0x174], eax
cmp dword [rsp + 0x174], 0xa
ja case.default.0x18004e552
movsxd rax, dword [rsp + 0x174]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x51038]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 4
jne 0x18004e571
xor eax, eax
jmp 0x18005102b
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 5
jne 0x18004e59a
cmp dword [rsp + 0x80], 0
je 0x18004e59a
xor eax, eax
jmp 0x18005102b
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 5
jne 0x18004e5c9
mov rax, qword [rsp + 0x550]
mov eax, dword [rax]
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x80], 1
mov rax, qword [rsp + 0x550]
mov eax, dword [rax]
add eax, 8
mov rcx, qword [rsp + 0x550]
mov dword [rcx], eax
jmp case.default.0x18004e552
mov rax, qword [rsp + 0x40]
add rax, 2
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
test eax, eax
jne 0x18004e62b
mov eax, dword [rsp + 0x70]
shl eax, 3
mov dword [rsp + 0x70], eax
jmp 0x18004e65a
mov rax, qword [rsp + 0x40]
add rax, 2
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x40]
movzx eax, word [rax]
shl eax, 0x10
mov ecx, dword [rsp + 0x70]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x550]
mov eax, dword [rax]
add eax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x550]
mov dword [rcx], eax
jmp case.default.0x18004e552
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov rcx, qword [rsp + 0x550]
mov ecx, dword [rcx]
lea eax, [rcx + rax*8 + 8]
mov rcx, qword [rsp + 0x550]
mov dword [rcx], eax
jmp case.default.0x18004e552
xor eax, eax
jmp 0x18005102b
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 4
jne 0x18004e6d3
xor eax, eax
jmp 0x18005102b
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x550]
mov ecx, dword [rcx]
lea eax, [rcx + rax*8]
mov rcx, qword [rsp + 0x40]
movzx ecx, byte [rcx + 1]
shr cl, 4
and cl, 0xf
movzx ecx, cl
mov dword [rsp + rcx*4 + 0x480], eax
mov rax, qword [rsp + 0x40]
add rax, 2
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 5
je 0x18004e743
mov rax, qword [rsp + 0x550]
mov ecx, dword [rsp + 0x7c]
mov dword [rax], ecx
jmp case.default.0x18004e552
cmp dword [rsp + 0x80], 0
je 0x18004e754
xor eax, eax
jmp 0x18005102b
mov dword [rsp + 0x80], 1
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov eax, dword [rsp + rax*4 + 0x480]
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x550]
mov ecx, dword [rsp + 0x7c]
mov dword [rax], ecx
jmp case.default.0x18004e552
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 4
jne 0x18004e7ab
xor eax, eax
jmp 0x18005102b
mov rax, qword [rsp + 0x40]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x550]
add eax, dword [rcx]
mov rcx, qword [rsp + 0x40]
movzx ecx, byte [rcx + 1]
shr cl, 4
and cl, 0xf
movzx ecx, cl
mov dword [rsp + rcx*4 + 0x480], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov rcx, qword [rsp + 0x40]
movzx ecx, word [rcx + 4]
shl ecx, 0x10
add ecx, dword [rsp + rax*4 + 0x480]
mov eax, ecx
mov rcx, qword [rsp + 0x40]
movzx ecx, byte [rcx + 1]
shr cl, 4
and cl, 0xf
movzx ecx, cl
mov dword [rsp + rcx*4 + 0x480], eax
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 5
je 0x18004e83f
mov rax, qword [rsp + 0x550]
mov ecx, dword [rsp + 0x7c]
mov dword [rax], ecx
jmp case.default.0x18004e552
cmp dword [rsp + 0x80], 0
je 0x18004e850
xor eax, eax
jmp 0x18005102b
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov eax, dword [rsp + rax*4 + 0x480]
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x550]
mov ecx, dword [rsp + 0x7c]
mov dword [rax], ecx
mov rax, qword [rsp + 0x40]
add rax, 4
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3c]
add eax, 2
mov dword [rsp + 0x3c], eax
jmp case.default.0x18004e552
mov rax, qword [rsp + 0x40]
add rax, 2
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
jmp case.default.0x18004e552
mov rax, qword [rsp + 0x40]
add rax, 4
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3c]
add eax, 2
mov dword [rsp + 0x3c], eax
jmp case.default.0x18004e552
mov rax, qword [rsp + 0x40]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
test eax, eax
jne 0x18004e8f8
mov rax, qword [rsp + 0x550]
mov eax, dword [rax]
add eax, 0x40
mov rcx, qword [rsp + 0x550]
mov dword [rcx], eax
jmp case.default.0x18004e552
mov rax, qword [rsp + 0x550]
mov eax, dword [rax]
add eax, 0x48
mov rcx, qword [rsp + 0x550]
mov dword [rcx], eax
mov rax, qword [rsp + 0x40]
add rax, 2
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x3c]
inc eax
mov dword [rsp + 0x3c], eax
jmp 0x18004e3a3
mov eax, dword [rsp + 0x250]
sub eax, 0x1ad
cmp eax, 0x189
je 0x180050f04
movzx eax, byte [rsp + 0x20]
movsx eax, al
movzx ecx, byte [rsp + 0x25]
movsx ecx, cl
imul eax, ecx
mov byte [rsp + 0x23], al
movzx eax, byte [rsp + 0x21]
movzx eax, al
movabs rcx, 0xbbdc0c64ad158
imul rax, rcx
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x138]
movzx eax, byte [rax]
shr al, 3
and al, 0x1f
movzx eax, al
sar eax, 2
and eax, 1
test eax, eax
je 0x180050f04
mov rax, qword [rsp + 0xb8]
mov rcx, qword [0x1800e3590]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e3590], rax
mov eax, dword [0x1800e3514]
test eax, eax
je 0x18004ea09
mov eax, dword [0x1800e3610]
movzx ecx, byte [rsp + 0x27]
movsx ecx, cl
cmp eax, ecx
je 0x18004e9e1
mov rax, qword [rsp + 0x68]
sub rax, 0x7f5a214d
mov byte [0x1800e3567], al
jmp 0x18004ea07
movzx eax, word [0x1800e3564]
cwde
mov ecx, 0x66e2
sub ecx, eax
mov eax, ecx
not eax
mov byte [rsp + 0x28], al
movzx eax, byte [0x1800e3532]
inc al
mov byte [0x1800e3532], al
jmp 0x18004ea52
movzx eax, word [0x1800e35c4]
cwde
not eax
test eax, eax
je 0x18004ea26
movzx eax, byte [0x18094ab58]
mov byte [0x1800e34eb], al
jmp 0x18004ea52
movzx eax, byte [rsp + 0x23]
movzx eax, al
test eax, eax
jne 0x18004ea3e
mov rax, qword [0x1800e35d8]
test rax, rax
je 0x18004ea52
movzx eax, word [0x1800e3580]
movzx eax, ax
xor ecx, ecx
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xe0], eax
movzx eax, byte [rsp + 0x20]
movsx eax, al
movzx ecx, word [0x1800e3580]
movzx ecx, cx
add eax, ecx
movzx ecx, byte [rsp + 0x20]
movsx ecx, cl
xor ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
movzx eax, byte [rsp + 0x23]
movzx eax, al
mov rcx, qword [0x1800e35e0]
imul rcx, rax
mov rax, rcx
mov byte [0x1800e3582], al
mov eax, dword [rsp + 0xe0]
add eax, 0x2f5
mov dword [rsp + 0x17c], eax
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x18004eabe
jmp 0x18004eb18
movsx eax, byte [0x1800e34eb]
cmp eax, 0x3fade56
jae 0x18004ead9
mov dword [rsp + 0x178], 1
jmp 0x18004eae4
mov dword [rsp + 0x178], 0
movsx eax, word [0x1800e360c]
movzx ecx, byte [rsp + 0x20]
movsx ecx, cl
sub eax, ecx
cmp dword [rsp + 0x178], eax
je 0x18004eb18
mov eax, dword [rsp + 0x34]
xor eax, 0x4d306036
mov dword [0x1800e35f4], eax
movsx eax, byte [rsp + 0x28]
mov dword [0x1800e359c], eax
mov eax, dword [rsp + 0xe0]
add eax, 0x184
mov dword [rsp + 0x254], eax
mov eax, 8
imul rax, rax, 4
lea rcx, [0x1809a9a50]
movzx eax, word [rcx + rax]
mov word [0x1800e35a8], ax
mov eax, dword [rsp + 0xe0]
add eax, 0x1e6
mov dword [rsp + 0x258], eax
mov eax, dword [rsp + 0x17c]
mov ecx, dword [rsp + 0x17c]
add eax, ecx
imul eax, eax, 0x2f3
mov ecx, dword [rsp + 0x254]
mov edx, dword [rsp + 0x258]
add ecx, edx
cmp eax, ecx
je 0x180050f04
movzx eax, word [0x1800e3580]
movzx eax, ax
cmp dword [str.Bw8_], eax
jl 0x18004eba6
mov dword [rsp + 0x184], 1
jmp 0x18004ebb1
mov dword [rsp + 0x184], 0
cmp dword [str.Bw8_], 0x5c
jl 0x18004ebc7
mov dword [rsp + 0x180], 1
jmp 0x18004ebd2
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x180]
movzx eax, byte [rsp + 0x26]
movsx eax, al
movsx ecx, byte [0x1800e3513]
cmp eax, ecx
jne 0x18004ebfc
movzx eax, byte [rsp + 0x21]
inc al
mov byte [rsp + 0x21], al
jmp 0x18004ecd6
movzx eax, byte [0x1800e3582]
cmp rax, qword [rsp + 0xb0]
jl 0x18004ec1a
mov dword [rsp + 0x188], 1
jmp 0x18004ec25
mov dword [rsp + 0x188], 0
movsx eax, word [0x1800e360c]
cmp dword [rsp + 0x188], eax
jl 0x18004ecd6
movzx eax, byte [rsp + 0x23]
movzx eax, al
mov rcx, qword [rsp + 0xb8]
imul rax, rcx
test rax, rax
jne 0x18004ec60
mov qword [rsp + 0x340], 1
jmp 0x18004ec6c
mov qword [rsp + 0x340], 0
mov eax, dword [rsp + 0x48]
mov ecx, dword [0x1800e3504]
imul eax, ecx
movzx ecx, word [0x1800e3614]
mov edx, dword [0x1800e35f4]
imul ecx, edx
add eax, ecx
cdqe
mov ecx, dword [0x1800e3598]
movsxd rcx, ecx
mov rdx, qword [0x1800e35a0]
imul rdx, rcx
mov rcx, rdx
mov rdx, qword [rsp + 0x340]
imul rdx, rcx
mov rcx, rdx
imul rax, rcx
mov byte [rsp + 0x28], al
mov rax, qword [0x1800e3568]
mov rcx, qword [0x1800e35e8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e35e8], rax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xe4], eax
mov rax, qword [0x1800e3568]
movabs rcx, 0x9647c09d5d3ce
xor rax, rcx
mov byte [rsp + 0x21], al
mov eax, dword [rsp + 0xe4]
add eax, 0x2d6
mov dword [rsp + 0x270], eax
mov eax, dword [rsp + 0xe4]
add eax, 0x386
mov dword [rsp + 0x1f8], eax
cmp dword [rsp + 0x34], 0
je 0x18004ed64
movzx eax, word [0x1800e35c4]
cwde
add eax, 0xcfcd
cdqe
mov qword [rsp + 0xb8], rax
movsx eax, byte [0x1800e34eb]
movzx ecx, byte [rsp + 0x20]
movsx ecx, cl
imul eax, ecx
movsx ecx, byte [0x1800e34eb]
add ecx, eax
mov eax, ecx
mov byte [0x1800e34eb], al
jmp 0x18004edd5
movzx eax, word [0x1800e35c4]
movsx rax, ax
cmp rax, qword [0x1800e3590]
jae 0x18004ed86
mov qword [rsp + 0x348], 1
jmp 0x18004ed92
mov qword [rsp + 0x348], 0
mov rax, qword [rsp + 0x348]
cmp qword [rsp + 0x68], rax
jg 0x18004edd5
mov eax, dword [0x1800e35f0]
test eax, eax
je 0x18004edba
mov eax, dword [0x1800e359c]
mov dword [rsp + 0x18c], eax
jmp 0x18004edc6
movzx eax, byte [rsp + 0x24]
mov dword [rsp + 0x18c], eax
movzx eax, word [rsp + 0x18c]
mov word [0x1800e35b4], ax
mov eax, dword [rsp + 0xe4]
add eax, 0x177
mov dword [rsp + 0x26c], eax
mov eax, dword [0x18094ab58]
mov qword [0x1800e35d8], rax
movsx rax, byte [rsp + 0x28]
movabs rcx, 0x73a4c5b2d3d5c
xor rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xe8], eax
lea rax, [rsp + 0x428]
lea rcx, str.The_request_should
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x428]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
cdqe
mov qword [0x1800e3578], rax
mov eax, dword [rsp + 0xe8]
add eax, 0x10b
mov dword [rsp + 0x278], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x329
mov dword [rsp + 0x108], eax
mov eax, dword [rsp + 0xe8]
add eax, 0x51
mov dword [rsp + 0x27c], eax
movzx eax, byte [rsp + 0x20]
movsx eax, al
movzx ecx, word [rsp + 0x2c]
movsx ecx, cx
cmp eax, ecx
jle 0x18004ef9e
movzx eax, byte [rsp + 0x20]
movsx eax, al
test eax, eax
je 0x18004eed0
mov qword [rsp + 0xb0], 0x862e
movzx eax, byte [rsp + 0x24]
movabs rcx, 0x139759948cc8e
imul rax, rcx
mov byte [rsp + 0x25], al
jmp 0x18004ef9e
movzx eax, byte [rsp + 0x25]
movsx eax, al
movzx ecx, byte [rsp + 0x21]
movzx ecx, cl
cmp eax, ecx
jg 0x18004eef1
mov dword [rsp + 0x194], 1
jmp 0x18004eefc
mov dword [rsp + 0x194], 0
mov eax, dword [0x1800e3504]
movzx ecx, word [rsp + 0x38]
movzx ecx, cx
cmp eax, ecx
jne 0x18004ef1b
mov dword [rsp + 0x190], 1
jmp 0x18004ef26
mov dword [rsp + 0x190], 0
mov eax, dword [rsp + 0x190]
cmp dword [rsp + 0x194], eax
jge 0x18004ef4f
movzx eax, byte [rsp + 0x24]
movzx ecx, byte [0x1800e355f]
add eax, ecx
mov byte [rsp + 0x24], al
mov byte [rsp + 0x21], 0x7f
jmp 0x18004ef9e
movsx eax, byte [0x1800e3563]
not eax
cdqe
mov rcx, qword [0x1800e3568]
imul rcx, rax
mov rax, rcx
test rax, rax
je 0x18004ef7b
mov eax, dword [0x18094ab58]
mov dword [0x1800e35b0], eax
jmp 0x18004ef9e
xor eax, eax
cmp eax, 0x14
je 0x18004ef9e
movzx eax, byte [rsp + 0x25]
movsx rax, al
movabs rcx, 0x65affd6e01a46
add rax, rcx
mov byte [0x1800e3563], al
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xec], eax
mov eax, dword [rsp + 0xec]
add eax, 0xe8
mov dword [rsp + 0x388], eax
movzx eax, byte [rsp + 0x20]
movsx eax, al
sar eax, 3
mov byte [0x1800e3533], al
mov eax, dword [rsp + 0xec]
add eax, 0x3e
mov dword [rsp + 0x198], eax
mov eax, dword [0x1800e3514]
test eax, eax
je 0x18004efec
jmp 0x18004f038
movzx eax, byte [rsp + 0x25]
movsx eax, al
movzx ecx, byte [0x1800e3562]
movsx ecx, cl
cmp eax, ecx
jle 0x18004f038
movsx rax, word [0x1800e3560]
mov rcx, qword [0x1800e3568]
add rax, rcx
mov dword [0x1800e35d4], eax
movabs rax, 0xf51b25f4ca3db
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
mov rax, rcx
mov dword [0x1800e35c0], eax
mov eax, dword [rsp + 0xec]
add eax, 0x1302
mov dword [rsp + 0x384], eax
movzx eax, byte [rsp + 0x21]
movzx eax, al
movzx ecx, word [rsp + 0x2c]
movsx ecx, cx
cmp eax, ecx
jle 0x18004f061
jmp 0x18004f0b5
movzx eax, byte [0x1800e355f]
sub eax, 4
movzx ecx, byte [0x1800e355f]
mov edx, dword [0x1800e3514]
imul edx, ecx
mov ecx, edx
not ecx
movzx edx, byte [rsp + 0x25]
movsx edx, dl
movzx edi, byte [rsp + 0x27]
movsx edi, dil
not edi
add edx, edi
add ecx, edx
sub eax, ecx
mov dword [0x1800e359c], eax
mov eax, dword [0x1800e35c0]
mov ecx, dword [rsp + 0x34]
lea eax, [rax + rcx + 0x80]
mov dword [0x1800e35c0], eax
movzx eax, byte [0x1800e3566]
movzx eax, al
cmp rax, qword [rsp + 0xa0]
je 0x18004f0cb
jmp 0x18004f0f5
movzx eax, byte [0x1800e3566]
movzx eax, al
movzx ecx, word [0x1800e35a8]
movzx ecx, cx
add eax, ecx
movzx ecx, byte [0x1800e3566]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [0x1800e3566], al
mov eax, dword [rsp + 0x198]
mov ecx, dword [rsp + 0x198]
imul eax, ecx
mov ecx, 0xf04
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x280], eax
lea rax, [rsp + 0x410]
lea rcx, [0x1800b8d38]
mov rdi, rax
mov rsi, rcx
mov ecx, 0x12
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x410]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [rsp + 0x38], ax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xf0], eax
movzx eax, byte [0x1800e3567]
movabs rcx, 0x77bcd47f3b00b
sub rax, rcx
mov word [rsp + 0x30], ax
mov byte [0x1800e3582], 0xb5
mov eax, dword [rsp + 0xf0]
add eax, 0x711b
mov dword [rsp + 0x3d4], eax
mov eax, dword [0x1800e3610]
cdqe
cmp qword [0x1800e35c8], rax
jle 0x18004f1a3
mov dword [rsp + 0x1a0], 1
jmp 0x18004f1ae
mov dword [rsp + 0x1a0], 0
cmp qword [0x1800e35c8], 0x34
jle 0x18004f1c5
mov dword [rsp + 0x19c], 1
jmp 0x18004f1d0
mov dword [rsp + 0x19c], 0
mov eax, dword [rsp + 0x19c]
cmp dword [rsp + 0x1a0], eax
jge 0x18004f389
mov byte [rsp + 0x22], 3
mov eax, dword [0x1800e3598]
mov ecx, dword [rsp + 0x34]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x34]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
movzx eax, byte [rsp + 0x22]
mov byte [rsp + 0x8c], al
cmp byte [rsp + 0x8c], 0
je 0x18004f244
cmp byte [rsp + 0x8c], 1
je 0x18004f277
cmp byte [rsp + 0x8c], 2
je 0x18004f328
cmp byte [rsp + 0x8c], 3
je 0x18004f36b
jmp 0x18004f389
mov rax, qword [rsp + 0x58]
mov rcx, qword [0x1800e3600]
sub rax, rcx
mov dword [rsp + 0x34], eax
movzx eax, byte [0x1800e355e]
movsx rax, al
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
jmp 0x18004f389
movsx eax, word [rsp + 0x30]
mov ecx, dword [0x1800e3608]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e3608]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e3608], eax
cmp dword [rsp + 0x60], 0
jne 0x18004f2aa
mov dword [rsp + 0x1a4], 1
jmp 0x18004f2b5
mov dword [rsp + 0x1a4], 0
movzx eax, byte [rsp + 0x25]
movsx rax, al
mov rcx, qword [0x1800e35c8]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x18004f2dd
mov dword [rsp + 0x1a8], 1
jmp 0x18004f2e8
mov dword [rsp + 0x1a8], 0
mov eax, dword [0x1800e35ac]
mov ecx, dword [rsp + 0x1a4]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x20]
movsx ecx, cl
movsx edx, word [0x1800e3560]
imul ecx, edx
not ecx
add eax, ecx
movzx ecx, word [rsp + 0x38]
movzx ecx, cx
xor ecx, dword [rsp + 0x1a8]
sub eax, ecx
mov dword [0x1800e35d4], eax
jmp 0x18004f389
cmp dword [rsp + 0x34], 0
je 0x18004f33f
movzx eax, byte [0x1800e3582]
mov dword [rsp + 0x1ac], eax
jmp 0x18004f34d
movsx eax, word [0x1800e35b4]
mov dword [rsp + 0x1ac], eax
mov eax, dword [rsp + 0x1ac]
mov dword [rsp + 0x34], eax
mov rax, qword [0x1800e35e0]
dec rax
mov qword [0x1800e35e0], rax
jmp 0x18004f389
mov eax, dword [rsp + 0x60]
add eax, 0x9d413e6b
mov eax, eax
mov qword [rsp + 0xb8], rax
mov qword [0x1800e35c8], 0x63
mov eax, dword [rsp + 0xf0]
add eax, 0xb5
mov dword [rsp + 0x3a0], eax
mov rax, qword [0x1800e35a0]
test rax, rax
jne 0x18004f3b5
mov dword [rsp + 0x1b0], 1
jmp 0x18004f3c0
mov dword [rsp + 0x1b0], 0
movsx eax, word [rsp + 0x30]
add eax, dword [0x1800e359c]
test eax, eax
jne 0x18004f3dc
mov dword [rsp + 0x1b4], 1
jmp 0x18004f3e7
mov dword [rsp + 0x1b4], 0
mov eax, dword [0x1800e35f4]
mov ecx, dword [rsp + 0x1b0]
sub ecx, eax
mov eax, ecx
cdqe
movzx ecx, byte [0x1800e3582]
movabs rdx, 0x52eb08b5e99e
add rcx, rdx
not rcx
sub rax, rcx
movzx ecx, byte [0x1800e355e]
movsx ecx, cl
movzx edx, word [0x1800e3580]
movzx edx, dx
xor ecx, edx
add ecx, dword [rsp + 0x1b4]
not ecx
movsxd rcx, ecx
add rax, rcx
not rax
mov word [rsp + 0x30], ax
mov eax, dword [rsp + 0xf0]
add eax, 0xb0e
mov dword [rsp + 0x1c4], eax
mov eax, 1
mov word [0x1800e35d0], ax
movsx rax, byte [0x1800e34eb]
movabs rcx, 0xe6abc15bb7fa5
sub rax, rcx
mov byte [rsp + 0x24], al
movzx eax, word [0x1800e35d0]
cwde
mov dword [rsp + 0x1b8], eax
cmp dword [rsp + 0x1b8], 0
je 0x18004f4a1
cmp dword [rsp + 0x1b8], 1
je 0x18004f4c0
jmp 0x18004f56c
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x48], eax
movzx eax, word [0x1800e35d0]
cwde
shl eax, 6
mov byte [rsp + 0x20], al
jmp 0x18004f56c
movzx eax, byte [rsp + 0x26]
movsx eax, al
test eax, eax
jne 0x18004f4d9
mov dword [rsp + 0x1bc], 1
jmp 0x18004f4e4
mov dword [rsp + 0x1bc], 0
movzx eax, word [0x1800e35c4]
cwde
movzx ecx, word [rsp + 0x2c]
movsx ecx, cx
mov edx, dword [rsp + 0x1bc]
imul edx, ecx
mov ecx, edx
or eax, ecx
test eax, eax
jne 0x18004f513
mov dword [rsp + 0x1c0], 1
jmp 0x18004f51e
mov dword [rsp + 0x1c0], 0
movzx eax, word [0x1800e3614]
movzx ecx, word [0x1800e3564]
movsx ecx, cx
imul eax, ecx
not eax
mov ecx, dword [rsp + 0x1c0]
lea eax, [rcx + rax - 0x2c95]
test eax, eax
jne 0x18004f555
mov eax, 1
mov word [rsp + 0x84], ax
jmp 0x18004f55f
xor eax, eax
mov word [rsp + 0x84], ax
movzx eax, word [rsp + 0x84]
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0x1c4]
mov ecx, dword [rsp + 0x1c4]
or eax, ecx
mov ecx, 0xb0f
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x284], eax
mov rax, qword [rsp + 0x138]
movzx eax, byte [rax + 2]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x25c]
mov ecx, dword [rsp + 0xa8]
imul eax, ecx
mov ecx, dword [rsp + 0xa8]
mov edx, dword [rsp + 0xa8]
imul ecx, edx
mov edx, dword [rsp + 0xa8]
add edx, ecx
mov ecx, edx
cmp eax, ecx
je 0x180050eb5
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xf4]
add eax, 0xc0f3
mov dword [rsp + 0x3a4], eax
mov eax, dword [rsp + 0xf4]
add eax, 0x85
mov dword [rsp + 0x3a8], eax
movzx eax, byte [rsp + 0x27]
movsx rax, al
mov rcx, qword [rsp + 0x58]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0xf4]
add eax, 0x22
mov dword [rsp + 0x260], eax
mov eax, dword [rsp + 0x260]
add eax, 0x235
mov dword [rsp + 0x294], eax
movzx eax, byte [0x1800e355f]
not eax
movzx ecx, byte [rsp + 0x22]
xor eax, ecx
test eax, eax
jne 0x18004f662
mov dword [rsp + 0x1cc], 1
jmp 0x18004f66d
mov dword [rsp + 0x1cc], 0
cmp dword [rsp + 0x60], 0
jne 0x18004f68d
movzx eax, byte [rsp + 0x27]
movsx eax, al
test eax, eax
jne 0x18004f68d
mov dword [rsp + 0x1c8], 0
jmp 0x18004f698
mov dword [rsp + 0x1c8], 1
mov eax, dword [rsp + 0x1c8]
cmp dword [rsp + 0x1cc], eax
jne 0x18004f6b5
mov dword [rsp + 0x1d0], 1
jmp 0x18004f6c0
mov dword [rsp + 0x1d0], 0
mov eax, dword [0x1800e35f4]
mov ecx, dword [0x1800e358c]
imul eax, ecx
cmp dword [rsp + 0x1d0], eax
ja 0x18004f6da
jmp 0x18004f70c
movzx eax, word [rsp + 0x38]
movzx eax, ax
mov ecx, dword [0x1800e35f0]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x18004f70c
movzx eax, byte [rsp + 0x21]
movzx eax, al
test eax, eax
je 0x18004f70c
movzx eax, byte [0x18094ab58]
mov byte [rsp + 0x20], al
mov byte [rsp + 0x21], 1
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xcc], eax
mov eax, dword [rsp + 0xcc]
add eax, 0x103
mov dword [rsp + 0x3ac], eax
mov eax, dword [rsp + 0xcc]
add eax, 0xab
mov dword [rsp + 0x1e0], eax
mov eax, dword [0x1800e35f0]
test eax, eax
jne 0x18004f761
cmp qword [rsp + 0xb0], 0
jne 0x18004f761
mov dword [rsp + 0x1d4], 0
jmp 0x18004f76c
mov dword [rsp + 0x1d4], 1
mov eax, dword [rsp + 0x1d4]
not eax
test eax, eax
je 0x18004f804
movzx eax, byte [rsp + 0x23]
movzx eax, al
movzx ecx, byte [rsp + 0x26]
movsx ecx, cl
cmp eax, ecx
jl 0x18004f79e
mov dword [rsp + 0x1dc], 1
jmp 0x18004f7a9
mov dword [rsp + 0x1dc], 0
movzx eax, byte [rsp + 0x23]
movzx eax, al
cmp eax, 0x44
jl 0x18004f7c3
mov dword [rsp + 0x1d8], 1
jmp 0x18004f7ce
mov dword [rsp + 0x1d8], 0
mov eax, dword [rsp + 0x1d8]
cmp dword [rsp + 0x1dc], eax
jg 0x18004f802
movzx eax, byte [rsp + 0x25]
movsx rax, al
mov rcx, qword [rsp + 0x58]
sub rax, rcx
movzx ecx, byte [rsp + 0x25]
movsx rcx, cl
sub rcx, rax
mov rax, rcx
mov byte [rsp + 0x25], al
jmp 0x18004f86d
movzx eax, word [rsp + 0x2c]
cwde
test eax, eax
jne 0x18004f81c
mov qword [rsp + 0x350], 1
jmp 0x18004f828
mov qword [rsp + 0x350], 0
movabs rax, 0x4aef31280447b
cmp qword [rsp + 0x350], rax
je 0x18004f86d
movzx eax, byte [rsp + 0x26]
movsx rax, al
mov rcx, qword [0x1800e3570]
imul rcx, rax
mov rax, rcx
mov byte [rsp + 0x21], al
movsx eax, word [0x1800e360c]
add eax, 0x2e9293dc
cdqe
mov qword [rsp + 0xa0], rax
mov eax, dword [rsp + 0xcc]
add eax, 0xb585
mov dword [rsp + 0x3b0], eax
mov eax, dword [rsp + 0x1e0]
mov ecx, dword [rsp + 0x1e0]
sub eax, ecx
imul eax, eax, 0x27f3
mov ecx, 0xcd
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x298], eax
mov byte [rsp + 0x21], 3
movzx eax, byte [rsp + 0x21]
mov byte [rsp + 0x90], al
cmp byte [rsp + 0x90], 0
je 0x18004f8e1
cmp byte [rsp + 0x90], 1
je 0x18004f90b
cmp byte [rsp + 0x90], 2
je 0x18004f937
cmp byte [rsp + 0x90], 3
je 0x18004f955
jmp 0x18004f95d
movzx eax, word [0x1800e3580]
movzx eax, ax
imul eax, eax, 0x8e86
cdqe
mov qword [0x1800e3570], rax
movzx eax, word [rsp + 0x2c]
cwde
add eax, 0xda
mov byte [rsp + 0x24], al
jmp 0x18004f95d
movsx rax, byte [0x1800e3563]
movabs rcx, 0x6e18276a54274
imul rax, rcx
mov ecx, dword [0x1800e35f0]
mov ecx, ecx
sub rcx, rax
mov rax, rcx
mov dword [0x1800e35f0], eax
jmp 0x18004f95d
movzx eax, byte [rsp + 0x20]
movsx eax, al
sub eax, dword [rsp + 0x34]
movzx ecx, byte [rsp + 0x20]
movsx ecx, cl
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
jmp 0x18004f95d
mov dword [rsp + 0x50], 0x37
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0xfc]
add eax, 0xdb
mov dword [rsp + 0x268], eax
cmp dword [0x1800e35b0], 0
je 0x18004f9ca
mov rax, qword [rsp + 0x68]
sar rax, 7
mov byte [rsp + 0x24], al
movzx eax, word [0x1800e3614]
mov rcx, qword [0x1800e3568]
imul rax, rcx
movzx ecx, byte [rsp + 0x26]
movsx ecx, cl
movzx edx, byte [0x1800e355e]
movsx edx, dl
add ecx, edx
movsxd rcx, ecx
add rax, rcx
mov dword [0x1800e358c], eax
jmp 0x18004fb8e
mov rax, qword [0x1800e3570]
test rax, rax
je 0x18004f9f5
movzx eax, byte [rsp + 0x21]
movzx eax, al
movabs rcx, 0x416f39889c24e
imul rax, rcx
mov dword [rsp + 0x34], eax
jmp 0x18004fb8e
mov eax, dword [0x1800e3610]
imul eax, eax, 0x1af7
test eax, eax
je 0x18004fac6
movsx eax, word [0x1800e3560]
mov ecx, dword [0x1800e35f0]
add eax, ecx
movsx ecx, word [0x1800e3560]
or ecx, eax
mov eax, ecx
mov word [0x1800e3560], ax
movsx eax, word [0x1800e3560]
test eax, eax
jne 0x18004fa42
mov dword [rsp + 0x1e4], 1
jmp 0x18004fa4d
mov dword [rsp + 0x1e4], 0
movzx eax, byte [rsp + 0x24]
mov ecx, dword [rsp + 0x1e4]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x18004fa6f
mov qword [rsp + 0x358], 1
jmp 0x18004fa7b
mov qword [rsp + 0x358], 0
movzx eax, word [0x1800e3580]
movzx eax, ax
mov ecx, dword [0x1800e3514]
sub eax, ecx
movzx ecx, byte [rsp + 0x22]
mov edx, dword [0x1800e3504]
sub edx, ecx
mov ecx, edx
add eax, ecx
cdqe
mov ecx, dword [0x1800e3608]
mov rdx, qword [rsp + 0x58]
xor rcx, rdx
xor rcx, qword [rsp + 0x358]
imul rax, rcx
not rax
mov dword [rsp + 0x34], eax
jmp 0x18004fb8e
movabs rax, 0xa539390d35fea
xor ecx, ecx
cmp rcx, rax
je 0x18004faf8
mov eax, dword [0x1800e3584]
movzx ecx, byte [rsp + 0x27]
movsx ecx, cl
not ecx
cmp eax, ecx
jb 0x18004faf8
mov dword [rsp + 0x1e8], 1
jmp 0x18004fb03
mov dword [rsp + 0x1e8], 0
mov eax, dword [rsp + 0x1e8]
not eax
test eax, eax
je 0x18004fb8e
movsx rax, word [rsp + 0x30]
mov rcx, qword [0x1800e35a0]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x18004fb35
mov dword [rsp + 0x1ec], 1
jmp 0x18004fb40
mov dword [rsp + 0x1ec], 0
mov eax, dword [0x1800e35f0]
sub eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x1ec]
imul ecx, eax
mov eax, ecx
movzx ecx, byte [0x1800e3566]
movzx ecx, cl
mov edx, dword [0x1800e35f0]
imul ecx, edx
mov edx, dword [0x1800e3584]
sub edx, ecx
mov ecx, edx
add eax, ecx
test eax, eax
jne 0x18004fb80
mov byte [rsp + 0x4c], 1
jmp 0x18004fb85
mov byte [rsp + 0x4c], 0
movzx eax, byte [rsp + 0x4c]
mov byte [rsp + 0x26], al
mov eax, dword [rsp + 0xfc]
add eax, 0xb4
mov dword [rsp + 0x264], eax
movzx eax, byte [rsp + 0x22]
movabs rcx, 0xb2b01e1914c47
add rax, rcx
mov rcx, qword [0x1800e35f8]
add rax, rcx
mov byte [rsp + 0x22], al
mov eax, dword [rsp + 0xfc]
add eax, 0xf8
mov dword [rsp + 0x3b4], eax
mov eax, dword [0x1800e359c]
cmp dword [rsp + 0x34], eax
jne 0x18004fbed
mov dword [rsp + 0x1f4], 1
jmp 0x18004fbf8
mov dword [rsp + 0x1f4], 0
cmp dword [rsp + 0x34], 0x19
jne 0x18004fc0c
mov dword [rsp + 0x1f0], 1
jmp 0x18004fc17
mov dword [rsp + 0x1f0], 0
mov eax, dword [rsp + 0x1f0]
cmp dword [rsp + 0x1f4], eax
jle 0x18004fc58
movzx eax, byte [rsp + 0x24]
sar eax, 8
mov dword [0x1800e3584], eax
movsx eax, byte [0x1800e3533]
mov ecx, dword [0x1800e35f0]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x1800e35f0]
sub ecx, eax
mov eax, ecx
mov dword [0x1800e35f0], eax
jmp 0x18004fc88
movzx eax, word [rsp + 0x38]
movzx eax, ax
mov ecx, dword [0x1800e359c]
and ecx, eax
mov eax, ecx
mov dword [0x1800e359c], eax
movsx eax, word [0x1800e360c]
movzx ecx, byte [rsp + 0x22]
imul eax, ecx
cdqe
mov qword [0x1800e3570], rax
mov dword [rsp + 0x50], 0x481fdb50
mov eax, dword [rsp + 0x264]
imul eax, eax, 0x53
mov ecx, dword [rsp + 0x268]
xor ecx, 0xc4
imul eax, ecx
mov ecx, 0x7121d
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x1f8]
imul ecx, ecx, 0x3cf
imul ecx, ecx, 0
mov edx, dword [rsp + 0x26c]
mov edi, dword [rsp + 0x1f8]
add edx, edi
mov edi, dword [rsp + 0x270]
imul edi, edi, 0x3cf
sub edx, edi
imul ecx, edx
add eax, ecx
mov dword [rsp + 0x29c], eax
mov eax, dword [0x1800e3504]
shl eax, 5
mov byte [rsp + 0x23], al
mov eax, dword [0x1800e3514]
xor eax, dword [rsp + 0x60]
mov dword [0x1800e3514], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x100], eax
mov eax, dword [rsp + 0x100]
add eax, 0xf120
mov dword [rsp + 0x3b8], eax
movzx eax, byte [rsp + 0x22]
movzx ecx, byte [0x1800e3582]
cmp eax, ecx
jge 0x18004fd3d
jmp 0x18004fd5c
movzx eax, byte [rsp + 0x20]
movsx eax, al
test eax, eax
jne 0x18004fd5c
movzx eax, byte [0x1800e3532]
movzx eax, al
sar eax, 3
mov dword [0x1800e35c0], eax
mov eax, dword [rsp + 0x100]
add eax, 0x111
mov dword [rsp + 0x104], eax
movsx eax, byte [0x1800e3533]
add eax, 0x4c66c351
mov byte [rsp + 0x26], al
mov rax, qword [0x1800e3570]
add rax, 0x7e67
mov qword [0x1800e35a0], rax
mov eax, dword [rsp + 0x100]
add eax, 0x7dd9
mov dword [rsp + 0x274], eax
mov eax, dword [rsp + 0x48]
cdqe
cmp qword [rsp + 0x68], rax
jge 0x18004fdc0
mov dword [rsp + 0x1fc], 1
jmp 0x18004fdcb
mov dword [rsp + 0x1fc], 0
movsx eax, word [0x1800e3560]
cmp dword [rsp + 0x1fc], eax
jge 0x18004fde8
mov dword [rsp + 0x20c], 1
jmp 0x18004fdf3
mov dword [rsp + 0x20c], 0
movzx eax, word [0x1800e3614]
movsx ecx, word [0x1800e35b4]
not ecx
cmp eax, ecx
jne 0x18004fe14
mov dword [rsp + 0x204], 1
jmp 0x18004fe1f
mov dword [rsp + 0x204], 0
movzx eax, byte [rsp + 0x20]
movsx eax, al
movsx ecx, word [0x1800e3560]
cmp eax, ecx
jl 0x18004fe3f
mov dword [rsp + 0x200], 1
jmp 0x18004fe4a
mov dword [rsp + 0x200], 0
mov eax, dword [rsp + 0x200]
not eax
cmp dword [rsp + 0x204], eax
jl 0x18004fe69
mov dword [rsp + 0x208], 1
jmp 0x18004fe74
mov dword [rsp + 0x208], 0
mov eax, dword [rsp + 0x208]
cmp dword [rsp + 0x20c], eax
jne 0x18004fed1
movzx eax, word [rsp + 0x38]
movzx eax, ax
movsx ecx, word [0x1800e3560]
cmp eax, ecx
je 0x18004feb0
movzx eax, word [rsp + 0x38]
movzx eax, ax
movzx ecx, byte [rsp + 0x23]
movzx ecx, cl
add eax, ecx
mov word [rsp + 0x38], ax
jmp 0x18004fecc
mov rax, qword [0x1800e35f8]
inc rax
mov qword [0x1800e35f8], rax
movzx eax, byte [rsp + 0x22]
mov dword [0x1800e3584], eax
jmp 0x18004ffcf
mov rax, qword [rsp + 0xb8]
not rax
movzx ecx, byte [rsp + 0x29]
movsx rcx, cl
cmp rax, rcx
jg 0x18004fef8
mov qword [rsp + 0x360], 1
jmp 0x18004ff04
mov qword [rsp + 0x360], 0
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x360], rax
je 0x18004ff2e
mov eax, dword [0x1800e3514]
cdqe
add rax, qword [0x1800e3590]
mov byte [rsp + 0x23], al
jmp 0x18004ffcf
movzx eax, byte [rsp + 0x21]
movzx eax, al
test eax, eax
je 0x18004ff9a
movzx eax, byte [rsp + 0x21]
movzx eax, al
mov rcx, qword [0x1800e35b8]
add rcx, rax
mov rax, rcx
test rax, rax
jne 0x18004ff63
mov eax, 1
mov word [rsp + 0x86], ax
jmp 0x18004ff6d
xor eax, eax
mov word [rsp + 0x86], ax
movzx eax, word [rsp + 0x86]
mov word [rsp + 0x2c], ax
mov eax, 8
imul rax, rax, 0xd3f
lea rcx, [0x1809ad6c0]
mov rdx, qword [0x1800e35f8]
mov qword [rcx + rax], rdx
jmp 0x18004ffcf
cmp qword [0x1800e3578], 0
jne 0x18004ffcf
mov eax, 8
imul rax, rax, 0x4daf
lea rcx, [0x180a6ee10]
mov rax, qword [rcx + rax]
mov rcx, qword [0x1800e35f8]
or rcx, rax
mov rax, rcx
mov qword [0x1800e35f8], rax
mov eax, dword [rsp + 0x104]
mov ecx, dword [rsp + 0x274]
imul eax, ecx
mov ecx, dword [rsp + 0x104]
mov edx, dword [rsp + 0x104]
xor ecx, edx
add eax, ecx
xor eax, 0x863408
mov ecx, dword [rsp + 0x108]
mov edx, dword [rsp + 0x278]
add ecx, edx
mov edx, dword [rsp + 0x108]
mov edi, dword [rsp + 0x108]
sub edx, edi
imul ecx, edx
mov edx, dword [rsp + 0x27c]
add edx, 0x24f
imul edx, edx, 0
xor ecx, edx
add eax, ecx
mov dword [rsp + 0x2a8], eax
mov eax, dword [rsp + 0x280]
mov ecx, dword [rsp + 0x284]
mov edx, dword [rsp + 0x3c]
and edx, ecx
mov ecx, edx
cmp eax, ecx
je 0x180050eb5
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x10c], eax
cmp dword [rsp + 0x60], 0
je 0x1800500f5
movzx eax, word [0x1800e35d0]
cwde
movzx ecx, word [0x1800e3580]
movzx ecx, cx
cmp eax, ecx
jne 0x18005008e
mov dword [rsp + 0x214], 1
jmp 0x180050099
mov dword [rsp + 0x214], 0
movzx eax, word [0x1800e35d0]
cwde
cmp eax, 0xf
jne 0x1800500b3
mov dword [rsp + 0x210], 1
jmp 0x1800500be
mov dword [rsp + 0x210], 0
mov eax, dword [rsp + 0x210]
cmp dword [rsp + 0x214], eax
je 0x1800500f5
movzx eax, word [0x1800e35c4]
cwde
movzx ecx, word [0x1800e35c4]
movsx ecx, cx
add eax, ecx
mov byte [rsp + 0x26], al
mov eax, dword [0x1800e3584]
mov eax, eax
mov qword [0x1800e35d8], rax
mov eax, dword [rsp + 0x10c]
add eax, 0x71
mov dword [rsp + 0x21c], eax
movsx rax, word [rsp + 0x30]
add rax, qword [0x1800e35b8]
movsx ecx, word [rsp + 0x30]
movzx edx, byte [0x1800e355e]
movsx edx, dl
not edx
imul ecx, edx
movsxd rcx, ecx
add rax, rcx
test rax, rax
jne 0x180050141
mov eax, 1
mov word [rsp + 0x88], ax
jmp 0x18005014b
xor eax, eax
mov word [rsp + 0x88], ax
movzx eax, word [rsp + 0x88]
mov word [0x1800e3564], ax
mov eax, dword [rsp + 0x10c]
add eax, 0x8537
mov dword [rsp + 0x3bc], eax
movzx eax, byte [rsp + 0x21]
movzx eax, al
add eax, 0x8a
mov byte [rsp + 0x23], al
mov eax, dword [rsp + 0x48]
add eax, 0x241c0923
movzx ecx, byte [0x1800e355f]
sub ecx, eax
mov eax, ecx
mov byte [0x1800e355f], al
mov eax, dword [rsp + 0x10c]
add eax, 0xc0f
mov dword [rsp + 0x218], eax
movzx eax, word [0x1800e35d0]
movsx rax, ax
mov rcx, qword [rsp + 0x68]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, dword [0x18094ab58]
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0x218]
mov ecx, dword [rsp + 0x21c]
xor eax, ecx
mov ecx, dword [rsp + 0x218]
mov edx, dword [rsp + 0x21c]
imul ecx, edx
imul eax, ecx
mov ecx, 0x427e1ecd
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x2bc], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x110], eax
movsx eax, word [0x1800e3560]
movsx ecx, word [0x1800e3560]
cmp eax, ecx
je 0x18005023c
mov eax, dword [0x1800e3534]
add eax, dword [0x1800e35c0]
mov dword [0x1800e3534], eax
jmp 0x180050272
cmp qword [0x1800e35e8], 0
je 0x180050272
movzx eax, byte [rsp + 0x24]
imul eax, eax, 0xf761
movzx ecx, byte [rsp + 0x23]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x23], al
movsx eax, word [0x1800e3560]
add eax, 0xee
mov word [rsp + 0x30], ax
mov eax, dword [rsp + 0x110]
add eax, 0x139e
mov dword [rsp + 0x28c], eax
mov eax, dword [rsp + 0x110]
add eax, 0x103
mov dword [rsp + 0x3c0], eax
movzx eax, byte [0x1800e3566]
movzx eax, al
movsx ecx, word [0x1800e35b4]
xor eax, ecx
mov byte [0x1800e3566], al
mov eax, dword [rsp + 0x110]
add eax, 0xc39b
mov dword [rsp + 0x288], eax
lea rax, [rsp + 0x458]
lea rcx, str.CStdStubBuffer2_Qu
mov rdi, rax
mov rsi, rcx
mov ecx, 0x26
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x458]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
cdqe
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0x288]
xor eax, 0xe638
mov ecx, dword [rsp + 0x28c]
mov edx, 0xdf
sub edx, ecx
mov ecx, edx
sub eax, ecx
xor eax, 0x3979
mov dword [rsp + 0x2c0], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x114]
add eax, 0x5f
mov dword [rsp + 0x3c4], eax
mov eax, dword [rsp + 0x114]
add eax, 0xca
mov dword [rsp + 0x290], eax
mov eax, 3
mov word [rsp + 0x2c], ax
cmp qword [0x1800e35e8], 0
je 0x180050377
movsx rax, word [rsp + 0x30]
mov qword [rsp + 0x2f8], rax
jmp 0x180050384
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x2f8], rax
movzx eax, word [rsp + 0x2f8]
mov word [rsp + 0x38], ax
mov rax, qword [0x1800e3570]
movabs rcx, 0xa5dee15d4d7e9
xor rax, rcx
mov ecx, dword [rsp + 0x34]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x34], eax
movzx eax, word [rsp + 0x2c]
cwde
mov dword [rsp + 0x94], eax
cmp dword [rsp + 0x94], 0
je 0x1800503f5
cmp dword [rsp + 0x94], 1
je 0x18005042a
cmp dword [rsp + 0x94], 2
je 0x180050483
cmp dword [rsp + 0x94], 3
je 0x1800504aa
jmp 0x1800504cc
mov eax, dword [0x1800e35ac]
movabs rcx, 0x213088e6a4307
sub rax, rcx
mov byte [rsp + 0x29], al
movzx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x48]
imul eax, ecx
movzx ecx, byte [rsp + 0x22]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x22], al
jmp 0x1800504cc
mov eax, dword [0x1800e3534]
mov ecx, dword [0x1800e3514]
sub eax, ecx
mov ecx, dword [0x1800e3534]
or ecx, eax
mov eax, ecx
mov dword [0x1800e3534], eax
movzx eax, byte [0x1800e355e]
movsx eax, al
movsx ecx, word [0x1800e3560]
not ecx
movzx edx, byte [rsp + 0x26]
movsx edx, dl
add ecx, edx
not ecx
movsx edx, byte [0x1800e3533]
movzx edi, byte [0x1800e3567]
sub edx, edi
sub ecx, edx
add eax, ecx
not eax
mov byte [rsp + 0x22], al
jmp 0x1800504cc
movzx eax, byte [rsp + 0x25]
movsx eax, al
mov ecx, dword [rsp + 0x48]
sub ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0xa0]
imul rcx, rax
mov rax, rcx
mov byte [rsp + 0x28], al
jmp 0x1800504cc
movzx eax, byte [rsp + 0x27]
movsx eax, al
and eax, 0x38416262
mov byte [rsp + 0x25], al
movzx eax, word [0x1800e3564]
cwde
xor eax, 0xbb5e
mov byte [rsp + 0x26], al
mov eax, dword [rsp + 0x114]
add eax, 0x1e
mov dword [rsp + 0x220], eax
movzx eax, word [0x1800e35d0]
cwde
test eax, eax
jne 0x180050507
xor eax, eax
cmp eax, 0x33e031b9
jne 0x180050507
mov rax, qword [0x1800e3600]
movzx ecx, byte [rsp + 0x27]
movsx rcx, cl
cmp rax, rcx
jbe 0x180050509
jmp 0x18005055e
mov dword [rsp + 0x60], 0xd701
mov rax, qword [0x1800e3568]
test rax, rax
jne 0x18005052b
mov qword [rsp + 0x300], 1
jmp 0x180050537
mov qword [rsp + 0x300], 0
mov rax, qword [rsp + 0x68]
not rax
mov ecx, dword [rsp + 0x48]
movsxd rcx, ecx
imul rax, rcx
mov rcx, qword [rsp + 0x300]
add rcx, rax
mov rax, rcx
mov byte [0x1800e355e], al
mov eax, 8
imul rax, rax, 4
lea rcx, [0x1809a9a50]
mov rdx, qword [0x1800e35e0]
mov qword [rcx + rax], rdx
imul rax, qword [0x1800e35c8], 0x1187
not rax
movzx ecx, word [rsp + 0x2c]
movsx ecx, cx
or ecx, dword [0x1800e35ac]
mov ecx, ecx
imul rax, rcx
test rax, rax
jne 0x1800505a7
mov byte [rsp + 0x4d], 1
jmp 0x1800505ac
mov byte [rsp + 0x4d], 0
movzx eax, byte [rsp + 0x4d]
mov byte [rsp + 0x22], al
mov eax, dword [rsp + 0x220]
xor eax, 0xd603
mov ecx, dword [rsp + 0x290]
mov edx, dword [rsp + 0x220]
imul ecx, edx
sub eax, ecx
xor eax, 0xbcbb
mov dword [rsp + 0x2c4], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x118], eax
mov rax, qword [rsp + 0x58]
mov ecx, 8
imul rcx, rcx, 1
lea rdx, [0x1809a9a50]
mov qword [rdx + rcx], rax
mov rax, qword [0x1800e35a0]
movabs rcx, 0x1ffa205fea1a8
add rax, rcx
mov byte [rsp + 0x29], al
mov eax, dword [rsp + 0x118]
add eax, 0x87
mov dword [rsp + 0x3c8], eax
movsx eax, byte [rsp + 0x28]
mov eax, dword [rsp + 0x118]
add eax, 0xa45c
mov dword [rsp + 0x3cc], eax
movzx eax, byte [rsp + 0x21]
movzx eax, al
add eax, dword [0x1800e359c]
movzx ecx, byte [rsp + 0x21]
movzx ecx, cl
sub ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
movzx eax, byte [rsp + 0x24]
add eax, 0x1948
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0x118]
add eax, 0xdd
mov dword [rsp + 0x3d0], eax
mov eax, dword [0x1800e3514]
cdqe
cmp qword [0x1800e35c8], rax
jge 0x1800506a7
mov dword [rsp + 0x228], 1
jmp 0x1800506b2
mov dword [rsp + 0x228], 0
cmp qword [0x1800e35c8], 9
jge 0x1800506c9
mov dword [rsp + 0x224], 1
jmp 0x1800506d4
mov dword [rsp + 0x224], 0
mov eax, dword [rsp + 0x224]
cmp dword [rsp + 0x228], eax
jle 0x1800506e6
jmp 0x1800506f1
mov rax, qword [0x1800e35a0]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x2c8], 0x185
mov byte [0x1800e3533], 2
mov eax, dword [rsp + 0x34]
shr eax, 6
mov eax, eax
mov qword [0x1800e3568], rax
movzx eax, byte [0x1800e3533]
mov byte [rsp + 0x11c], al
cmp byte [rsp + 0x11c], 0
je 0x180050748
cmp byte [rsp + 0x11c], 1
je 0x18005079f
cmp byte [rsp + 0x11c], 2
je 0x1800507e0
jmp 0x1800508ac
movzx eax, byte [rsp + 0x24]
test eax, eax
je 0x180050762
movzx eax, byte [rsp + 0x21]
movzx eax, al
mov dword [rsp + 0x22c], eax
jmp 0x18005076f
mov eax, dword [0x1800e35f0]
mov dword [rsp + 0x22c], eax
movzx eax, byte [rsp + 0x22c]
mov byte [rsp + 0x24], al
movzx eax, byte [0x1800e3582]
add rax, qword [rsp + 0x68]
movzx ecx, byte [0x1800e3582]
or rcx, rax
mov rax, rcx
mov byte [0x1800e3582], al
jmp 0x1800508ac
movzx eax, byte [rsp + 0x25]
movsx eax, al
movsx ecx, byte [0x1800e3563]
xor eax, ecx
test eax, eax
jne 0x1800507c2
mov qword [rsp + 0x308], 1
jmp 0x1800507ce
mov qword [rsp + 0x308], 0
mov rax, qword [rsp + 0x308]
mov qword [rsp + 0x68], rax
jmp 0x1800508ac
mov eax, dword [0x18094ab58]
mov qword [rsp + 0x58], rax
movzx eax, word [rsp + 0x2c]
cwde
test eax, eax
jne 0x180050802
mov dword [rsp + 0x234], 1
jmp 0x18005080d
mov dword [rsp + 0x234], 0
cmp dword [rsp + 0x60], 0
jne 0x180050821
mov dword [rsp + 0x230], 1
jmp 0x18005082c
mov dword [rsp + 0x230], 0
mov eax, dword [rsp + 0x230]
mov ecx, dword [rsp + 0x234]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x18005084f
mov dword [rsp + 0x238], 1
jmp 0x18005085a
mov dword [rsp + 0x238], 0
mov eax, dword [0x1800e358c]
xor eax, dword [rsp + 0x238]
test eax, eax
jne 0x180050879
mov qword [rsp + 0x310], 1
jmp 0x180050885
mov qword [rsp + 0x310], 0
movsx eax, byte [rsp + 0x28]
add eax, 0xf425c27f
mov eax, eax
xor rax, qword [0x1800e35e8]
mov rcx, qword [rsp + 0x310]
sub rcx, rax
mov rax, rcx
mov dword [0x1800e3610], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0x294]
mov ecx, dword [rsp + 0x120]
add eax, ecx
mov dword [rsp + 0x23c], eax
mov byte [0x1800e3566], 2
movzx eax, word [0x1800e3614]
inc ax
mov word [0x1800e3614], ax
mov eax, dword [rsp + 0x298]
mov ecx, dword [rsp + 0x120]
add eax, ecx
mov dword [rsp + 0x2a4], eax
mov dword [0x1800e3598], 4
mov rax, qword [0x1800e35f8]
imul rax, qword [rsp + 0x68]
mov rcx, qword [0x1800e35f8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e35f8], rax
mov eax, dword [0x1800e3598]
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x78], 0
je 0x180050959
cmp dword [rsp + 0x78], 1
je 0x180050976
cmp dword [rsp + 0x78], 2
je 0x18005098d
cmp dword [rsp + 0x78], 3
je 0x18005099f
cmp dword [rsp + 0x78], 4
je 0x1800509b5
jmp 0x1800509c9
mov rax, qword [0x1800e3568]
sub rax, 0x28
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
jmp 0x1800509c9
movzx eax, word [0x1800e3614]
sub eax, 0x2d83395d
cdqe
mov qword [0x1800e35b8], rax
jmp 0x1800509c9
movzx eax, byte [0x1800e3567]
sar eax, 5
mov dword [0x1800e3514], eax
jmp 0x1800509c9
movzx eax, byte [rsp + 0x20]
movsx eax, al
mov ecx, dword [0x1800e3610]
sub eax, ecx
mov byte [rsp + 0x20], al
jmp 0x1800509c9
movsx eax, word [0x1800e35b4]
imul eax, eax, 0x16109715
mov word [0x1800e360c], ax
mov eax, dword [rsp + 0x29c]
mov ecx, dword [rsp + 0x120]
add eax, ecx
mov dword [rsp + 0x2a0], eax
mov eax, dword [rsp + 0x23c]
mov ecx, dword [rsp + 0x23c]
mov edx, dword [rsp + 0x2a0]
imul ecx, edx
mov edx, dword [rsp + 0x2a4]
mov edi, dword [rsp + 0x2a8]
xor edx, edi
xor ecx, edx
cmp eax, ecx
je 0x180050eb5
movsx eax, word [0x1800e360c]
cmp dword [rsp + 0x34], eax
jbe 0x180050a5b
movabs rax, 0xf6fde991d4cd7
mov rcx, qword [0x1800e3578]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x68], rax
mov eax, 1
imul rax, rax, 0xf
lea rcx, [0x180abe120]
movzx edx, byte [rsp + 0xa0]
mov byte [rcx + rax], dl
jmp 0x180050b03
movsx eax, word [rsp + 0x30]
test eax, eax
je 0x180050a91
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
add rax, rcx
mov rcx, qword [rsp + 0x58]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x58], rax
mov eax, dword [0x1800e3534]
not eax
mov dword [0x1800e359c], eax
jmp 0x180050b03
xor eax, eax
cmp eax, 0x1a91632b
je 0x180050ac3
movzx eax, word [0x1800e35c4]
cwde
sub eax, 0x216af7cc
mov dword [0x1800e358c], eax
mov rax, qword [rsp + 0xa0]
sub rax, 0xb3
mov dword [0x1800e35c0], eax
jmp 0x180050b03
movsx eax, byte [rsp + 0x28]
movzx ecx, byte [rsp + 0x22]
cmp eax, ecx
jg 0x180050b03
movzx eax, byte [rsp + 0x29]
movsx eax, al
movzx ecx, byte [rsp + 0x24]
sub eax, ecx
movsx ecx, byte [rsp + 0x28]
mov edx, dword [0x1800e35f4]
add ecx, edx
sub eax, ecx
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x50]
imul rax, qword [0x1800e35e0]
mov dword [rsp + 0x50], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x124], eax
lea rax, [rsp + 0x440]
lea rcx, str.Creation_of_CSR_fa
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x440]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x1800e35c0], eax
mov eax, dword [rsp + 0x124]
add eax, 0x9d
mov dword [rsp + 0x2d0], eax
mov eax, dword [rsp + 0x34]
mov rcx, qword [0x1800e3570]
imul rax, rcx
mov dword [rsp + 0x34], eax
movzx eax, word [0x1800e35c4]
cwde
not eax
imul eax, dword [0x1800e35ac]
mov byte [0x1800e3567], al
mov eax, dword [rsp + 0x124]
add eax, 0xa9
mov dword [rsp + 0x130], eax
mov eax, dword [rsp + 0x124]
add eax, 0x192
mov dword [rsp + 0xc8], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x128], eax
mov eax, dword [rsp + 0x60]
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x180050c34
mov dword [rsp + 0x34], 0
mov rax, qword [rsp + 0x58]
sub rax, 0x26
mov word [0x1800e3580], ax
mov dword [0x1800e3598], 0x4b
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x2ac], eax
cmp dword [rsp + 0x2ac], 0
je 0x180050bf9
jmp 0x180050c32
mov eax, dword [0x1800e3534]
mov eax, eax
mov rcx, qword [rsp + 0xb8]
not rcx
add rax, rcx
movsx ecx, byte [0x1800e34eb]
movzx edx, word [0x1800e35a8]
movzx edx, dx
xor ecx, edx
movsxd rcx, ecx
add rax, rcx
not rax
mov qword [0x1800e35e0], rax
jmp 0x180050c51
movzx eax, byte [0x1800e3562]
movsx eax, al
test eax, eax
je 0x180050c51
movzx eax, byte [rsp + 0x25]
movsx eax, al
add eax, 0x56
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x128]
add eax, 0xcd
mov dword [rsp + 0x2b8], eax
mov eax, dword [0x1800e3608]
cmp qword [0x1800e35c8], rax
jle 0x180050c75
jmp 0x180050c90
mov eax, dword [0x1800e3598]
cdqe
movabs rcx, 0xb233a7f1f6236
add rax, rcx
mov dword [0x1800e3514], eax
mov eax, dword [rsp + 0x128]
add eax, 0xdb
mov dword [rsp + 0x37c], eax
imul eax, dword [rsp + 0x50], 0xe5
mov byte [rsp + 0x29], al
movsx eax, word [rsp + 0x30]
test eax, eax
jne 0x180050cc6
mov qword [rsp + 0x318], 1
jmp 0x180050cd2
mov qword [rsp + 0x318], 0
movzx eax, byte [rsp + 0x29]
movsx rax, al
add rax, qword [0x1800e35f8]
not rax
mov rcx, qword [rsp + 0x318]
or rcx, rax
mov rax, rcx
mov word [rsp + 0x2c], ax
mov eax, dword [rsp + 0x128]
add eax, 0x307a
mov dword [rsp + 0x2b4], eax
mov byte [rsp + 0x23], 1
movzx eax, byte [rsp + 0x29]
movsx ax, al
mov ecx, 2
imul rcx, rcx, 0xa4
lea rdx, [0x1809a6350]
mov word [rdx + rcx], ax
movzx eax, byte [rsp + 0x23]
movzx eax, al
not eax
cdqe
movzx ecx, byte [rsp + 0x24]
movabs rdx, 0x323dbd85a445
add rcx, rdx
sub rax, rcx
mov byte [0x1800e3532], al
movzx eax, byte [rsp + 0x23]
mov byte [rsp + 0x2b0], al
cmp byte [rsp + 0x2b0], 0
je 0x180050d6f
jmp 0x180050d94
movsx eax, byte [0x1800e34eb]
sub eax, 0x8914
mov word [0x1800e3614], ax
movzx eax, word [0x1800e35c4]
cwde
imul eax, eax, 0x511d
mov byte [rsp + 0x26], al
mov eax, dword [rsp + 0x2b4]
mov ecx, dword [rsp + 0x2b8]
sub eax, ecx
xor eax, 0x2fac
mov dword [rsp + 0x2d4], eax
movzx eax, word [0x1800e3614]
movabs rcx, 0xafd008f4408b9
sub rax, rcx
mov dword [0x1800e35f0], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x12c], eax
mov eax, dword [rsp + 0x2bc]
mov ecx, dword [rsp + 0x12c]
add eax, ecx
mov dword [rsp + 0x2cc], eax
mov eax, dword [0x1800e35f4]
movzx ecx, byte [rsp + 0x26]
movsx ecx, cl
mov eax, dword [rsp + 0x2c0]
mov ecx, dword [rsp + 0x12c]
add eax, ecx
mov dword [rsp + 0x240], eax
mov eax, dword [rsp + 0x2c4]
mov ecx, dword [rsp + 0x12c]
add eax, ecx
mov dword [rsp + 0x380], eax
mov eax, dword [rsp + 0x240]
mov ecx, dword [rsp + 0x240]
sub eax, ecx
mov ecx, dword [rsp + 0x2c8]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2cc]
cmp eax, ecx
je 0x180050eb5
mov byte [rsp + 0x24], 0xd5
mov eax, dword [rsp + 0x130]
mov ecx, dword [rsp + 0x130]
xor eax, ecx
mov ecx, dword [rsp + 0x2d0]
mov edx, dword [rsp + 0x130]
sub ecx, edx
add eax, ecx
mov ecx, dword [rsp + 0xc8]
mov edx, 0xed
sub edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0xc8]
mov edi, dword [rsp + 0xc8]
sub edx, edi
imul ecx, edx
imul eax, ecx
mov ecx, dword [rsp + 0x2d4]
sub 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 + 0x3c]
mov rcx, qword [rsp + 0x138]
lea rax, [rcx + rax*2 + 4]
mov qword [rsp + 0x3d8], rax
mov rax, qword [rsp + 0x3d8]
mov eax, dword [rax + 8]
mov rcx, qword [rsp + 0x540]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x550]
mov rdx, rax
mov rcx, qword [rsp + 0x540]
call fcn.18004c4f0
jmp 0x18005102b
mov dword [0x1800e35f0], 3
movzx eax, word [rsp + 0x2c]
dec ax
mov word [rsp + 0x2c], ax
mov eax, dword [0x1800e35f0]
mov dword [rsp + 0x98], eax
cmp dword [rsp + 0x98], 0
je 0x180050f59
cmp dword [rsp + 0x98], 1
je 0x180050f7c
cmp dword [rsp + 0x98], 2
je 0x180050fc3
cmp dword [rsp + 0x98], 3
je 0x18005100b
jmp 0x180051027
mov eax, 8
imul rax, rax, 0xf44
lea rcx, [0x18094ab60]
mov rdx, qword [0x1800e35b8]
mov qword [rcx + rax], rdx
jmp 0x180051027
mov eax, 1
imul rax, rax, 0x6e95
lea rcx, [0x180ac1f60]
movzx edx, byte [rsp + 0x34]
mov byte [rcx + rax], dl
movzx eax, word [0x1800e3564]
movsx rax, ax
add rax, qword [0x1800e3590]
movzx ecx, word [0x1800e3564]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [0x1800e3564], ax
jmp 0x180051027
cmp dword [0x1800e3608], 0
jne 0x180050fda
mov qword [rsp + 0x320], 1
jmp 0x180050fe6
mov qword [rsp + 0x320], 0
mov rax, qword [rsp + 0x320]
mov rcx, qword [rsp + 0xb0]
add rcx, rax
mov rax, rcx
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x68], 0x69
jmp 0x180051027
movzx eax, byte [0x1800e3567]
sub eax, 0x16ef9281
mov dword [0x1800e35f0], eax
mov dword [0x1800e359c], 1
mov eax, dword [rsp + 0x74]
add rsp, 0x528
pop rdi
pop rsi
ret