Function at 0x18004c4f0
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, 0x2b8
mov eax, 0x4605
mov word [rsp + 0xfc], ax
movzx eax, byte [0x1800e3533]
mov byte [rsp + 0x38], al
mov eax, dword [0x1800e359c]
mov dword [rsp + 0x58], eax
movzx eax, word [0x1800e3590]
mov word [rsp + 0x3c], ax
movzx eax, word [0x1800e35f8]
mov word [rsp + 0x4c], ax
mov byte [rsp + 0x54], 0x60
mov dword [rsp + 0x64], 0xe9
movzx eax, word [0x1800e3614]
mov dword [rsp + 0x60], eax
mov eax, dword [0x1800e35f4]
mov byte [rsp + 0x22], al
mov eax, 0x1c
mov word [rsp + 0x44], ax
mov byte [rsp + 0x20], 0x26
movzx eax, byte [0x1800e3562]
movsx rax, al
mov qword [rsp + 0x80], rax
mov eax, dword [0x1800e35b8]
mov dword [rsp + 0x5c], eax
mov eax, dword [0x1800e3534]
mov dword [rsp + 0x48], eax
movabs rax, 0xde14d31a2bdbe
mov qword [rsp + 0x190], rax
mov eax, dword [0x1800e3534]
mov eax, eax
mov qword [rsp + 0x130], rax
mov byte [rsp + 0x23], 0xd9
mov qword [rsp + 0x70], 0xcb
mov rax, qword [0x1800e35e0]
mov qword [rsp + 0x140], rax
mov eax, 0xa499
mov word [rsp + 0x40], ax
movzx eax, byte [0x1800e3578]
mov byte [rsp + 0x2c], al
movzx eax, byte [0x1800e3563]
mov byte [rsp + 0x24], al
mov byte [rsp + 0x21], 0x62
mov qword [rsp + 0x1b0], 0xf3
mov qword [rsp + 0x1b8], 0xfd
mov eax, 0xc73dd4dc
mov qword [rsp + 0x1c0], rax
movabs rax, 0xdc69e1e5947d6
mov qword [rsp + 0x1c8], rax
mov byte [rsp + 0x88], 0x43
movzx eax, byte [0x1800e3566]
movzx eax, al
mov dword [rsp + 0x160], eax
mov rax, qword [0x1800e3570]
mov word [rsp + 0x100], ax
mov byte [rsp + 0x89], 0xc8
mov eax, dword [str.Bw8_]
mov dword [rsp + 0x164], eax
mov rax, qword [0x1800e3568]
mov byte [rsp + 0x8a], al
mov byte [rsp + 0x8b], 0x4e
movzx eax, word [0x1800e35a8]
mov byte [rsp + 0x8c], al
movzx eax, word [0x1800e3578]
mov word [rsp + 0x104], ax
mov eax, 0x401e
mov word [rsp + 0x108], ax
mov qword [rsp + 0x1d0], 0x3875aa62
mov rax, qword [0x1800e35d8]
mov dword [rsp + 0x168], eax
mov rax, qword [0x1800e3570]
mov qword [rsp + 0x1d8], rax
movzx eax, byte [0x1800e3562]
movsx rax, al
mov qword [rsp + 0x1e0], rax
movzx eax, byte [0x1800e359c]
mov byte [rsp + 0x8d], al
mov rax, qword [0x1800e3568]
mov word [rsp + 0x138], ax
mov rax, qword [0x1800e3600]
mov word [rsp + 0x124], ax
movzx eax, word [str.Bw8_]
mov word [rsp + 0x128], ax
mov dword [rsp + 0x16c], 0xa28c
mov eax, dword [0x1800e35f4]
mov byte [rsp + 0x8e], al
movsxd rax, dword [0x1800e35c0]
mov qword [rsp + 0x1e8], rax
mov dword [rsp + 0x170], 0x7a43df76
movsx ax, byte [0x1800e3563]
mov word [rsp + 0x12c], ax
movzx eax, byte [rsp + 0x23]
cmp dword [0x1800e35ac], eax
jae 0x18004c7f2
movsx eax, byte [rsp + 0x22]
sub eax, 0x9e75
cdqe
movsx rcx, byte [rsp + 0x38]
add rcx, qword [rsp + 0x80]
cmp rax, rcx
jb 0x18004c7b2
movsx eax, word [rsp + 0x44]
movsx ecx, word [rsp + 0x44]
imul eax, ecx
mov ecx, dword [0x1800e35f0]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x18004c7f0
movzx eax, byte [rsp + 0x54]
sar eax, 5
mov byte [0x1800e355e], al
mov eax, dword [0x1800e3610]
test eax, eax
je 0x18004c7d7
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0xbc], eax
jmp 0x18004c7e3
movzx eax, byte [rsp + 0x23]
mov dword [rsp + 0xbc], eax
movzx eax, word [rsp + 0xbc]
mov word [rsp + 0x4c], ax
jmp 0x18004c820
movzx eax, byte [rsp + 0x24]
movzx ecx, byte [rsp + 0x20]
cmp eax, ecx
je 0x18004c820
imul rax, qword [0x1800e35c8], 0xf322
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x48]
mov eax, eax
sub rax, qword [0x1800e3590]
mov dword [rsp + 0x48], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x9c], eax
mov rax, qword [0x1800e3600]
imul rax, rax, 0xdd
mov dword [0x1800e3504], eax
mov eax, dword [rsp + 0x9c]
add eax, 0x2c5
mov dword [rsp + 0x110], eax
movzx eax, byte [rsp + 0x20]
mov rcx, qword [0x1800e35d8]
add rax, rcx
mov byte [rsp + 0x20], al
mov eax, dword [rsp + 0x9c]
add eax, 0x315
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x9c]
add eax, 0xa0
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x58]
mov rcx, qword [0x1800e35f8]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e35f8], rax
cmp dword [rsp + 0x58], 0
je 0x18004c8e6
mov eax, dword [0x1800e3514]
add eax, 0x84
mov byte [rsp + 0x23], al
movzx eax, byte [rsp + 0x24]
mov rcx, qword [0x1800e3590]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x1800e3590]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e3590], rax
jmp 0x18004c96a
xor eax, eax
test eax, eax
je 0x18004c911
mov rax, qword [0x1800e35d8]
imul rax, rax, 0x787e
mov word [0x1800e35a8], ax
mov eax, dword [0x1800e35d4]
shr eax, 7
mov word [rsp + 0x44], ax
jmp 0x18004c96a
movzx eax, byte [0x1800e3566]
movzx eax, al
test eax, eax
je 0x18004c935
movzx eax, byte [rsp + 0x23]
test eax, eax
jne 0x18004c935
mov dword [rsp + 0xc0], 0
jmp 0x18004c940
mov dword [rsp + 0xc0], 1
movzx eax, word [0x1800e3580]
movzx eax, ax
cmp eax, dword [rsp + 0xc0]
jg 0x18004c96a
mov eax, dword [rsp + 0x48]
mov eax, eax
movabs rcx, 0x8502747544f7a
add rax, rcx
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x78], 0
mov rax, qword [0x1800e35f8]
sub rax, 0xf3fc
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x2d8]
mov qword [rsp + 0x68], rax
movzx eax, byte [rsp + 0x20]
add eax, 0x14
mov word [0x1800e3614], ax
mov rax, qword [0x1800e3578]
sub rax, 0x96b7
mov byte [rsp + 0x22], al
mov rax, qword [rsp + 0x68]
add rax, 4
mov qword [rsp + 0x30], rax
cmp dword [rsp + 0x58], 0
je 0x18004c9db
jmp 0x18004ca39
cmp qword [rsp + 0x80], 0
je 0x18004ca39
mov rax, qword [0x1800e35a0]
add rax, 0x40bf
mov rcx, qword [0x1800e3590]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e3590], rax
mov eax, dword [0x1800e35f0]
test eax, eax
je 0x18004ca1f
movsx eax, byte [rsp + 0x2c]
mov dword [rsp + 0xc4], eax
jmp 0x18004ca2e
movzx eax, word [rsp + 0x3c]
movzx eax, ax
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0xc4]
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x210]
mov rdi, rax
xor eax, eax
mov ecx, 0x98
rep stosb byte [rdi], al
mov eax, 0xe1
mov word [0x1800e3560], ax
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x18004ca6f
mov dword [rsp + 0xc8], 1
jmp 0x18004ca7a
mov dword [rsp + 0xc8], 0
movzx eax, word [rsp + 0x4c]
mov ecx, dword [0x1800e35ac]
add ecx, eax
mov eax, ecx
mov eax, eax
movsx rcx, word [rsp + 0x44]
mov rdx, qword [0x1800e35a0]
sub rdx, rcx
mov rcx, rdx
mov edx, dword [rsp + 0xc8]
mov edi, dword [0x1800e3608]
sub edi, edx
mov edx, edi
mov edx, edx
sub rcx, rdx
imul rax, rcx
mov word [rsp + 0x4c], ax
mov rax, qword [rsp + 0x2e0]
mov dword [rax], 0
mov r8d, 0x98
xor edx, edx
lea rcx, [rsp + 0x210]
call fcn.18004adf0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 2]
cmp dword [rsp + 0x28], eax
jae 0x18004ce7d
mov dword [rsp + 0x50], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
and al, 0xf
movzx eax, al
mov dword [rsp + 0xcc], eax
cmp dword [rsp + 0xcc], 0xa
ja case.default.0x18004cb37
movsxd rax, dword [rsp + 0xcc]
lea rcx, [0x180000000]
mov eax, dword [rcx + rax*4 + 0x4d940]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 4
jne 0x18004cb5d
cmp dword [rsp + 0x78], 0
jne 0x18004cb5d
xor eax, eax
jmp 0x18004d935
mov rax, qword [rsp + 0x2e0]
mov eax, dword [rax]
add eax, 8
mov rcx, qword [rsp + 0x2e0]
mov dword [rcx], eax
jmp case.default.0x18004cb37
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
test eax, eax
jne 0x18004cbbf
mov eax, dword [rsp + 0x50]
shl eax, 3
mov dword [rsp + 0x50], eax
jmp 0x18004cbee
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax]
shl eax, 0x10
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x2e0]
mov eax, dword [rax]
add eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x2e0]
mov dword [rcx], eax
jmp case.default.0x18004cb37
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov rcx, qword [rsp + 0x2e0]
mov ecx, dword [rcx]
lea eax, [rcx + rax*8 + 8]
mov rcx, qword [rsp + 0x2e0]
mov dword [rcx], eax
jmp case.default.0x18004cb37
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax]
shr al, 3
and al, 0x1f
movzx eax, al
and eax, 1
test eax, eax
je 0x18004cc71
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax]
shr al, 3
and al, 0x1f
movzx eax, al
sar eax, 2
and eax, 1
test eax, eax
je 0x18004cc71
xor eax, eax
jmp 0x18004d935
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 3]
shr al, 4
and al, 0xf
movzx eax, al
imul eax, eax, 0xfffffff0
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x2e0]
mov eax, dword [rax]
add eax, dword [rsp + 0x50]
mov rcx, qword [rsp + 0x2e0]
mov dword [rcx], eax
jmp case.default.0x18004cb37
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 5
je 0x18004ccda
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 4
jne 0x18004cce1
xor eax, eax
jmp 0x18004d935
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x2e0]
mov ecx, dword [rcx]
lea eax, [rcx + rax*8]
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 1]
shr cl, 4
and cl, 0xf
movzx ecx, cl
mov dword [rsp + rcx*4 + 0x210], eax
jmp case.default.0x18004cb37
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 5
je 0x18004cd59
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
cmp eax, 4
jne 0x18004cd60
xor eax, eax
jmp 0x18004d935
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
mov rcx, qword [rsp + 0x2e0]
add eax, dword [rcx]
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 1]
shr cl, 4
and cl, 0xf
movzx ecx, cl
mov dword [rsp + rcx*4 + 0x210], eax
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
mov rcx, qword [rsp + 0x30]
movzx ecx, word [rcx + 4]
shl ecx, 0x10
add ecx, dword [rsp + rax*4 + 0x210]
mov eax, ecx
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 1]
shr cl, 4
and cl, 0xf
movzx ecx, cl
mov dword [rsp + rcx*4 + 0x210], eax
mov rax, qword [rsp + 0x30]
add rax, 4
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x28]
add eax, 2
mov dword [rsp + 0x28], eax
jmp case.default.0x18004cb37
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
jmp case.default.0x18004cb37
mov rax, qword [rsp + 0x30]
add rax, 4
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x28]
add eax, 2
mov dword [rsp + 0x28], eax
jmp case.default.0x18004cb37
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 1]
shr al, 4
and al, 0xf
movzx eax, al
test eax, eax
jne 0x18004ce49
mov rax, qword [rsp + 0x2e0]
mov eax, dword [rax]
add eax, 0x40
mov rcx, qword [rsp + 0x2e0]
mov dword [rcx], eax
jmp case.default.0x18004cb37
mov rax, qword [rsp + 0x2e0]
mov eax, dword [rax]
add eax, 0x48
mov rcx, qword [rsp + 0x2e0]
mov dword [rcx], eax
mov rax, qword [rsp + 0x30]
add rax, 2
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x28]
inc eax
mov dword [rsp + 0x28], eax
jmp 0x18004cae0
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax]
shr al, 3
and al, 0x1f
movzx eax, al
sar eax, 2
and eax, 1
test eax, eax
je 0x18004d90a
lea rax, [rsp + 0x1a0]
lea rcx, str.Get_unlock_key
mov rdi, rax
mov rsi, rcx
mov ecx, 0xf
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x1a0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x2c], al
movsx eax, word [0x1800e360c]
test eax, eax
jne 0x18004cee2
mov qword [rsp + 0x158], 1
jmp 0x18004ceee
mov qword [rsp + 0x158], 0
mov rax, qword [rsp + 0x158]
mov qword [0x1800e35d8], rax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xa0], eax
lea rax, [rsp + 0x1f0]
lea rcx, str.federation_metadat
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x1f0]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x1800e3532], al
mov eax, dword [rsp + 0xa0]
add eax, 0xdc
mov dword [rsp + 0x178], eax
movsx eax, word [rsp + 0x44]
imul eax, eax, 0xa295371e
mov byte [0x1800e3513], al
mov eax, dword [rsp + 0xa0]
add eax, 0x11a
mov dword [rsp + 0x180], eax
movsx eax, byte [0x1800e3513]
test eax, eax
je 0x18004cf93
mov eax, dword [0x1800e3610]
test eax, eax
je 0x18004cf93
mov dword [rsp + 0xdc], 1
jmp 0x18004cf9e
mov dword [rsp + 0xdc], 0
movsx eax, word [0x1800e3560]
test eax, eax
jne 0x18004cfb6
mov dword [rsp + 0xd8], 1
jmp 0x18004cfc1
mov dword [rsp + 0xd8], 0
mov eax, dword [rsp + 0x5c]
not eax
mov eax, eax
cmp qword [0x1800e35f8], rax
jl 0x18004cfdf
mov dword [rsp + 0xd4], 1
jmp 0x18004cfea
mov dword [rsp + 0xd4], 0
movzx eax, word [rsp + 0x3c]
movzx eax, ax
cmp eax, 0x4f
jge 0x18004d004
mov dword [rsp + 0xd0], 1
jmp 0x18004d00f
mov dword [rsp + 0xd0], 0
mov eax, dword [rsp + 0xd0]
cmp dword [rsp + 0xd4], eax
jge 0x18004d02c
mov dword [rsp + 0xe0], 1
jmp 0x18004d037
mov dword [rsp + 0xe0], 0
mov eax, dword [rsp + 0xd8]
mov ecx, dword [rsp + 0xdc]
add ecx, eax
mov eax, ecx
imul eax, dword [rsp + 0xe0]
test eax, eax
je 0x18004d07c
movsx rax, byte [0x1800e3563]
movabs rcx, 0x92684b71077c7
add rax, rcx
movzx ecx, word [rsp + 0x40]
sub rcx, rax
mov rax, rcx
mov word [rsp + 0x40], ax
jmp 0x18004d089
mov rax, qword [rsp + 0x70]
dec rax
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0xa0]
add eax, 0x38e
mov dword [rsp + 0xa4], eax
mov eax, dword [rsp + 0xa4]
add eax, 0x25e
mov ecx, dword [rsp + 0xa4]
imul ecx, ecx, 0x27e
mov edx, dword [rsp + 0xa4]
sub ecx, edx
cmp eax, ecx
je 0x18004d90a
movsx rax, byte [0x1800e3563]
cmp qword [rsp + 0x80], rax
jae 0x18004d0e5
mov dword [rsp + 0xe8], 1
jmp 0x18004d0f0
mov dword [rsp + 0xe8], 0
cmp qword [rsp + 0x80], 0x34
jae 0x18004d108
mov dword [rsp + 0xe4], 1
jmp 0x18004d113
mov dword [rsp + 0xe4], 0
mov eax, dword [rsp + 0xe4]
cmp dword [rsp + 0xe8], eax
jg 0x18004d159
movzx eax, byte [rsp + 0x21]
movsx eax, al
movzx ecx, word [rsp + 0x40]
add eax, ecx
mov byte [rsp + 0x21], al
movzx eax, byte [0x1800e3562]
movsx eax, al
imul eax, dword [0x1800e35c0]
movzx ecx, byte [rsp + 0x24]
sub eax, ecx
not eax
mov word [0x1800e35d0], ax
jmp 0x18004d1c8
mov eax, dword [0x1800e3608]
cmp rax, qword [0x1800e3578]
ja 0x18004d175
mov dword [rsp + 0xec], 1
jmp 0x18004d180
mov dword [rsp + 0xec], 0
mov eax, dword [rsp + 0xec]
not eax
test eax, eax
je 0x18004d1c8
mov eax, dword [rsp + 0x5c]
mov eax, eax
mov rcx, qword [0x1800e35d8]
xor rcx, rax
mov rax, rcx
movsx ecx, byte [rsp + 0x22]
not ecx
mov edx, dword [0x1800e3584]
sub ecx, edx
mov ecx, ecx
sub rax, rcx
mov dword [0x1800e358c], eax
mov eax, dword [rsp + 0x64]
cdqe
mov qword [rsp + 0x140], rax
movsx eax, word [0x1800e35b4]
test eax, eax
je 0x18004d1d5
jmp 0x18004d1ee
mov eax, dword [rsp + 0x5c]
not eax
test eax, eax
je 0x18004d1ee
movzx eax, word [rsp + 0x40]
add eax, 0x2725
mov word [rsp + 0x44], ax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x190]
test rax, rax
jne 0x18004d221
mov eax, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x5c]
cmp eax, ecx
ja 0x18004d221
mov dword [rsp + 0xf0], 0
jmp 0x18004d22c
mov dword [rsp + 0xf0], 1
mov eax, dword [0x1800e359c]
mov ecx, dword [rsp + 0xf0]
xor ecx, eax
mov eax, ecx
not eax
test eax, eax
je 0x18004d25b
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x64], eax
movsx eax, byte [rsp + 0x38]
sar eax, 2
mov dword [rsp + 0x48], eax
jmp 0x18004d28c
movzx eax, word [rsp + 0x4c]
movsx ecx, word [0x1800e3560]
xor eax, ecx
cdqe
mov rcx, qword [0x1800e3590]
sub rcx, 0xc3
not rcx
sub rax, rcx
not rax
imul rax, qword [rsp + 0x70]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0xa8]
add eax, 0x1ff
mov dword [rsp + 0x17c], eax
movzx eax, word [0x1800e3564]
movsx rax, ax
cmp rax, qword [rsp + 0x80]
jbe 0x18004d2b6
jmp 0x18004d2c7
movzx eax, byte [rsp + 0x21]
movsx eax, al
add eax, 0xbbd2
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0xa8]
add eax, 0x55
mov dword [rsp + 0x18c], eax
movzx eax, word [rsp + 0x3c]
movzx eax, ax
movsx ecx, byte [0x1800e3533]
xor eax, ecx
movzx ecx, word [rsp + 0x3c]
movzx ecx, cx
add ecx, eax
mov eax, ecx
mov word [rsp + 0x3c], ax
mov eax, dword [rsp + 0xa8]
add eax, 0x2c
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0x48]
add eax, 0x943c
mov dword [0x1800e3608], eax
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x90], eax
movzx eax, word [0x1800e3614]
test eax, eax
jne 0x18004d34a
mov rax, qword [0x1800e35d8]
test rax, rax
je 0x18004d348
mov eax, 0x62db
mov word [rsp + 0x40], ax
jmp 0x18004d3bd
mov eax, dword [0x1800e35f4]
cdqe
mov rcx, qword [0x1800e35e0]
sub rcx, rax
mov rax, rcx
mov rcx, qword [0x1800e35e0]
add rcx, rax
mov rax, rcx
mov qword [0x1800e35e0], rax
mov eax, dword [0x1800e3610]
mov ecx, dword [0x1800e35b0]
and ecx, eax
mov eax, ecx
cdqe
mov rcx, qword [rsp + 0x70]
add rcx, rax
mov rax, rcx
movzx ecx, byte [rsp + 0x21]
movsx rcx, cl
mov rdx, qword [0x1800e3570]
sub rdx, rcx
mov rcx, rdx
mov rdx, qword [0x1800e3600]
add rdx, rcx
mov rcx, rdx
xor rax, rcx
mov qword [0x1800e3568], rax
mov eax, dword [rsp + 0x90]
add eax, 0x59
mov dword [rsp + 0x10c], eax
movsx eax, word [0x1800e3560]
test eax, eax
je 0x18004d3db
jmp 0x18004d448
mov eax, dword [rsp + 0x60]
test eax, eax
jne 0x18004d3ff
mov eax, dword [0x1800e358c]
test eax, eax
jne 0x18004d3ff
mov eax, dword [0x1800e3584]
mov ecx, dword [0x1800e3598]
not ecx
cmp eax, ecx
je 0x18004d416
movsx eax, word [rsp + 0x44]
imul eax, eax, 0xae
cdqe
mov qword [rsp + 0x130], rax
jmp 0x18004d448
cmp dword [0x1800e359c], 0
je 0x18004d448
movzx eax, word [0x1800e3580]
movzx eax, ax
movzx ecx, byte [rsp + 0x23]
sub eax, ecx
mov word [0x1800e3580], ax
movzx eax, byte [rsp + 0x21]
movsx eax, al
sar eax, 4
mov dword [0x1800e3584], eax
mov eax, dword [rsp + 0x90]
add eax, 0xa1
mov dword [rsp + 0xb0], eax
mov eax, dword [rsp + 0x90]
add eax, 0xf1
mov dword [rsp + 0x188], eax
cmp dword [rsp + 0x58], 0
je 0x18004d493
movabs rax, 0x10ef464c6c9dd
xor ecx, ecx
cmp rcx, rax
je 0x18004d493
mov dword [rsp + 0xac], 1
jmp 0x18004d49e
mov dword [rsp + 0xac], 0
movsx eax, word [0x1800e3560]
test eax, eax
jne 0x18004d4b6
mov dword [rsp + 0xf4], 1
jmp 0x18004d4c1
mov dword [rsp + 0xf4], 0
mov eax, dword [0x1800e359c]
cmp dword [rsp + 0xf4], eax
jl 0x18004d4dd
mov dword [rsp + 0xf8], 1
jmp 0x18004d4e8
mov dword [rsp + 0xf8], 0
mov eax, dword [rsp + 0xf8]
cmp dword [rsp + 0xac], eax
jge 0x18004d51a
mov eax, 2
imul rax, rax, 0x39
lea rcx, [0x180a21aa0]
movsx eax, word [rcx + rax]
mov ecx, dword [rsp + 0x64]
or ecx, eax
mov eax, ecx
mov dword [rsp + 0x64], eax
jmp 0x18004d54b
mov eax, dword [0x1800e3610]
test eax, eax
je 0x18004d54b
mov eax, dword [rsp + 0x60]
mov eax, eax
movabs rcx, 0x412cdaeafff4e
sub rax, rcx
mov rcx, qword [0x1800e3590]
sub rcx, rax
mov rax, rcx
mov qword [0x1800e3590], rax
mov eax, dword [rsp + 0x10c]
imul eax, eax, 0xde20
mov ecx, dword [rsp + 0xb0]
mov edx, dword [rsp + 0xb0]
add ecx, edx
or eax, ecx
xor eax, 0x4d3962
mov dword [rsp + 0x11c], eax
mov rax, qword [rsp + 0x68]
movzx eax, byte [rax + 2]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x94]
mov ecx, dword [rsp + 0x94]
sub eax, ecx
mov ecx, dword [rsp + 0x110]
sub ecx, 0x387
or eax, ecx
mov ecx, dword [rsp + 0x94]
cmp eax, ecx
je 0x18004d8c1
movsx rax, byte [rsp + 0x22]
mov rcx, qword [rsp + 0x140]
cmp rax, rcx
jae 0x18004d60f
mov eax, dword [0x1800e35ac]
mov rcx, qword [0x1800e35a0]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x1800e35a0]
add rcx, rax
mov rax, rcx
mov qword [0x1800e35a0], rax
movzx eax, byte [0x1800e355f]
movsx ecx, byte [rsp + 0x2c]
add eax, ecx
movzx ecx, byte [0x1800e355f]
and ecx, eax
mov eax, ecx
mov byte [0x1800e355f], al
jmp 0x18004d6b7
mov eax, dword [0x1800e358c]
mov ecx, dword [rsp + 0x60]
cmp eax, ecx
jbe 0x18004d62b
mov qword [rsp + 0x148], 1
jmp 0x18004d637
mov qword [rsp + 0x148], 0
mov rax, qword [0x1800e3578]
cmp qword [rsp + 0x148], rax
jbe 0x18004d66e
mov eax, dword [0x1800e3584]
mov eax, eax
mov rcx, qword [rsp + 0x70]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x70], rax
movzx eax, word [0x18094ab58]
mov word [rsp + 0x40], ax
jmp 0x18004d6b7
movzx eax, byte [rsp + 0x24]
cmp eax, 0xc23dd956
ja 0x18004d6b1
movzx eax, byte [rsp + 0x20]
mov rcx, qword [0x1800e3578]
add rcx, rax
mov rax, rcx
movsx ecx, byte [0x1800e3563]
not ecx
mov edx, dword [rsp + 0x5c]
add ecx, edx
mov ecx, ecx
imul rax, rcx
movsx rcx, byte [rsp + 0x38]
add rax, rcx
mov qword [rsp + 0x70], rax
jmp 0x18004d6b7
mov eax, dword [0x1800e35f0]
mov eax, dword [0x18094ab58]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x98]
add eax, 0x498a
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x98]
add eax, 0x86
mov dword [rsp + 0x184], eax
mov dword [rsp + 0x48], 1
movzx eax, word [rsp + 0x3c]
movzx eax, ax
movsx ecx, byte [rsp + 0x22]
sub eax, ecx
mov word [rsp + 0x3c], ax
movzx eax, byte [0x1800e3562]
movsx rax, al
mov rcx, qword [rsp + 0x130]
imul rcx, rax
mov rax, rcx
mov qword [rsp + 0x130], rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0xb4], eax
cmp dword [rsp + 0xb4], 0
je 0x18004d749
cmp dword [rsp + 0xb4], 1
je 0x18004d777
jmp 0x18004d79e
movzx eax, byte [0x1800e355e]
movsx eax, al
mov ecx, dword [0x1800e3598]
sub eax, ecx
cdqe
movzx ecx, byte [rsp + 0x24]
add rcx, qword [0x1800e3578]
not rcx
add rax, rcx
mov byte [0x1800e3566], al
jmp 0x18004d79e
mov eax, 2
imul rax, rax, 0x10ab
lea rcx, [0x180abe590]
movzx eax, word [rcx + rax]
mov ecx, dword [0x1800e3598]
add ecx, eax
mov eax, ecx
mov dword [0x1800e3598], eax
mov eax, dword [rsp + 0x98]
add eax, 0x683e
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x48]
mov eax, eax
mov rcx, qword [rsp + 0x70]
not rcx
cmp rax, rcx
jg 0x18004d7d0
movzx eax, byte [rsp + 0x21]
movsx eax, al
test eax, eax
jne 0x18004d7f8
mov eax, 8
imul rax, rax, 0xa
lea rcx, [0x180ad9f10]
mov rax, qword [rcx + rax]
mov rcx, qword [0x1800e35e0]
add rcx, rax
mov rax, rcx
mov qword [0x1800e35e0], rax
mov eax, dword [rsp + 0x114]
mov ecx, dword [rsp + 0x118]
xor eax, ecx
mov ecx, dword [rsp + 0xb8]
imul ecx, ecx, 0xf0
mov edx, dword [rsp + 0xb8]
imul edx, edx, 0xf0
sub ecx, edx
mov edx, 0xffffde4d
lea rax, [rax + rdx]
lea eax, [rax + rcx]
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0x11c]
mov ecx, dword [rsp + 0x28]
and ecx, 1
cmp eax, ecx
je 0x18004d8c1
mov eax, dword [0x1800e3504]
sub eax, 0x4dc1e38
test eax, eax
jne 0x18004d866
mov qword [rsp + 0x150], 1
jmp 0x18004d872
mov qword [rsp + 0x150], 0
movzx eax, byte [0x1800e355f]
xor rax, qword [0x1800e3578]
mov rcx, qword [rsp + 0x150]
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x48], eax
movsx rax, byte [0x1800e3563]
mov rcx, qword [0x1800e35e0]
add rcx, rax
mov rax, rcx
mov word [0x1800e360c], ax
mov eax, dword [rsp + 0x120]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x68]
lea rax, [rcx + rax*2 + 4]
mov qword [rsp + 0x198], rax
mov rax, qword [rsp + 0x198]
mov eax, dword [rax + 8]
mov rcx, qword [rsp + 0x2d0]
add rcx, rax
mov rax, rcx
mov r8, qword [rsp + 0x2e0]
mov rdx, rax
mov rcx, qword [rsp + 0x2d0]
call fcn.18004c4f0
jmp 0x18004d935
mov eax, dword [0x1800e35d4]
cmp dword [0x1800e35ac], eax
je 0x18004d91a
jmp 0x18004d931
movsx eax, byte [rsp + 0x22]
test eax, eax
je 0x18004d931
movzx eax, word [rsp + 0x40]
add eax, 0xac
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x78]
add rsp, 0x2b8
pop rdi
pop rsi
ret