Function at 0x180024c40
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov rax, qword [0x18004ed78]
xor rax, rsp
mov qword [rbp + 0xa0], rax
movzx eax, word [0x18004eb94]
mov r13b, reloc.mozglue.dll_export_full.dll_Ordinal_115
mov qword [rbp + 0x50], r9
movabs rax, 0x67cf20e16cc8c
mov qword [rsp + 0x70], 0x6cb6
mov sil, 0xe0
mov qword [rbp + 0x60], r8
mov r10d, 1
mov r8b, byte [0x18004ea9c]
mov byte [rsp + 0x42], 0x2e
mov qword [rbp - 0x78], rax
mov r12, qword [0x18004eb38]
mov edi, dword [0x18004eba0]
mov byte [rsp + 0x44], 3
mov byte [rsp + 0x40], 0x39
mov rax, qword [0x18004eb38]
mov dword [rsp + 0x64], eax
movsx r9, word [0x18004eb18]
mov eax, dword [0x18004eb70]
mov dword [rsp + 0x54], eax
mov byte [rsp + 0x43], 0xa8
mov eax, dword [0x18004eb1c]
mov byte [rsp + 0x41], al
movsx r14, byte [0x18004ea46]
mov dword [rsp + 0x5c], 0x88a8
mov rax, qword [0x18004eb08]
movzx eax, word [0x18004ebb8]
mov byte [rsp + 0x60], al
movabs rax, 0x13a96c376295a
mov qword [rbp + 0x28], rax
movzx eax, word [0x18004eba8]
mov word [rsp + 0x60], ax
mov rax, qword [0x18004eaf0]
movsx eax, word [0x18004ea9c]
mov dword [rsp + 0x58], eax
mov eax, dword [0x18004eb78]
movzx eax, word [0x18004ea9c]
mov word [rsp + 0x60], ax
mov eax, dword [0x18004eb00]
mov dword [rsp + 0x58], eax
mov eax, 0xfffffa37
mov word [rsp + 0x60], ax
mov byte [rsp + 0x60], 0x44
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
mov dword [rsp + 0x58], 0x1e74811a
mov rax, qword [0x18004eb98]
mov qword [rbp + 0x58], rcx
mov rcx, qword [0x18004eb00]
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x38], rdi
mov qword [rbp - 0x48], 0x9641
mov qword [rbp], r9
mov dword [rsp + 0x48], r13d
mov qword [rbp - 0x68], r14
cmp rax, rcx
jg 0x180024de7
mov edx, 0x167
movzx ecx, byte [0x18004ea06]
mov al, byte [rsp + 0x42]
sub al, r9b
shl rcx, 4
mov qword [0x18004eb10], rcx
mov byte [rsp + 0x42], al
mov al, byte [rsp + 0x43]
add al, r10b
mov byte [rsp + 0x43], al
sub rdx, r10
jne 0x180024db3
mov rcx, qword [0x18004eb00]
mov eax, dword [0x180c4c910]
xor r15d, r15d
mov dword [rsp + 0x50], eax
movzx eax, r12b
cmp rax, qword [str.O__nIIY]
jne 0x180024e4f
mov rax, qword [0x18004eb38]
mov ecx, 0x15ac
mov edx, dword [0x18004eb78]
sub ax, cx
mov word [0x18004ea9c], ax
lea ecx, [r15 - 0x74]
mov al, byte [rsp + 0x42]
add dl, al
mov al, byte [rsp + 0x42]
add dl, byte [0x18004eb2c]
sub cl, al
add dl, r10b
movsx esi, cl
movsx eax, dl
imul esi, eax
movzx eax, word [0x18004ebb8]
mov word [0x18004ebb8], ax
jmp 0x180024e88
test r8b, r8b
je 0x180024e79
mov rax, qword [0x18004eb50]
add rcx, rcx
sub rcx, rax
mov eax, dword [0x18004eb34]
add eax, 0x83
mov qword [0x18004eb00], rcx
mov dword [rsp + 0x64], eax
jmp 0x180024e88
mov al, byte [rsp + 0x44]
mov al, byte [rsp + 0x42]
mov dword [0x18004eba0], r15d
mov eax, dword [rsp + 0x50]
add eax, 0x270
mov dword [rbp - 0x58], eax
mov al, byte [rsp + 0x42]
test al, al
mov rax, qword [0x18004eb60]
jne 0x180024ea8
movzx eax, byte [rsp + 0x43]
mov word [0x18004ebb8], ax
mov eax, dword [rsp + 0x50]
add eax, 0xc3
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x50]
add eax, 0x152
mov dword [rsp + 0x78], eax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x50]
add eax, 0x259
mov dword [rsp + 0x4c], eax
mov al, byte [rsp + 0x44]
mov al, byte [rsp + 0x44]
mov rax, qword [0x18004eb98]
cmp rax, r10
jle 0x180024f0e
mov r13b, byte [0x18004eb10]
add r13b, 0xf
mov dword [rsp + 0x64], 0xe4d5
mov dword [rsp + 0x48], r13d
jmp 0x180024f4d
movsx eax, word [0x18004ebb8]
imul eax, eax, 0x9211819e
test eax, eax
je 0x180024f4d
movsx ecx, byte [rsp + 0x41]
add ecx, 0x2f80bed2
movsx eax, sil
mov dword [0x18004ebac], ecx
mov ecx, 0x78bf
sub cx, ax
movzx eax, word [0x18004eb94]
add cx, ax
mov word [0x18004eb94], cx
mov eax, dword [rsp + 0x50]
mov r8b, 0x1c
add eax, 0x18e
mov dl, 0x64
xor ecx, ecx
mov dword [rsp + 0x58], eax
call fcn.180024928
mov byte [0x18004ea07], al
mov ecx, 0x4fd1
mov rax, qword [0x18004eaf0]
mov r9d, 0x15f
mov eax, dword [0x18004ebac]
mov rax, qword [0x18004eb38]
mov eax, dword [rsp + 0x50]
add eax, 0x32
mov qword [0x18004eb40], r15
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x5c], 0x487171b4
mov eax, dword [0x18004eb78]
add ax, cx
movsx ebx, sil
mov word [0x18004ea04], ax
mov r8d, ebx
mov eax, dword [0x180c4c910]
not r8d
mov dword [rsp + 0x50], eax
mov eax, dword [0x18004eb78]
sar eax, 6
mov dword [rsp + 0x5c], eax
mov al, byte [0x180c4c910]
mov byte [rsp + 0x41], al
mov eax, dword [rsp + 0x50]
add eax, 0x2b6
mov dword [rbp - 0x60], eax
mov eax, 0x46a9
mov word [0x18004ebb8], ax
mov eax, dword [rsp + 0x50]
add eax, 0x118
mov dword [rbp + 0x30], eax
mov rax, qword [0x18004eb58]
sub rax, r14
mov qword [0x18004eb58], rax
movsx eax, word [0x18004ea04]
mov edx, r15d
cmp r8d, eax
movsx eax, byte [rsp + 0x41]
setge dl
cmp edx, eax
je 0x18002503a
mov al, byte [rsp + 0x43]
add al, 0x5a
mov byte [rsp + 0x43], al
jmp 0x180025071
mov rax, qword [0x18004eb70]
not rax
test rax, rax
je 0x180025071
lea eax, [rdi + 0xbd]
mov dword [0x18004eb78], eax
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x180025063
mov rax, qword [rbp + 0x38]
jmp 0x18002506a
mov rax, qword [0x18004eb50]
mov qword [0x18004eaf0], rax
sub r9, 1
jne 0x180025015
mov eax, dword [rsp + 0x50]
mov edi, 0xe1
add eax, 0x3d6
mov word [rsp + 0x28], di
mov dword [rsp + 0x58], eax
xor r8d, r8d
movzx edx, byte [0x18004ea07]
xor ecx, ecx
movzx r9d, word [0x18004eb68]
mov word [rsp + 0x20], r15w
call fcn.1800247c8
movsx rcx, byte [rsp + 0x41]
xor r11d, r11d
mov word [0x18004eba8], ax
mov edx, r11d
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
cmp rax, rcx
movzx eax, word [0x18004eba8]
mov ecx, r11d
lea r8d, [r11 + 4]
setge dl
cmp eax, edx
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
lea edx, [r11 + 2]
sete cl
or rax, rcx
jne 0x180025174
mov eax, dword [0x180c4c910]
mov qword [0x18004eb00], rax
mov word [0x18004eb18], r8w
movsx eax, word [0x18004eb18]
mov ecx, eax
test eax, eax
je 0x180025141
sub ecx, 1
je 0x180025131
sub ecx, edx
je 0x18002518f
cmp ecx, 1
jne 0x18002518f
movzx eax, byte [rsp + 0x43]
mov dword [0x18004ebac], eax
jmp 0x18002518f
movzx eax, byte [0x18004eb88]
imul ecx, eax, 0x39
mov byte [rsp + 0x43], cl
jmp 0x18002518f
mov ecx, dword [0x18004eb1c]
mov eax, dword [rsp + 0x64]
xor ecx, eax
mov eax, dword [rsp + 0x64]
add eax, ecx
mov dword [rsp + 0x64], eax
mov ecx, dword [0x18004eb34]
mov eax, dword [0x18004eba0]
cmp eax, ecx
mov rcx, r11
sete cl
mov qword [0x18004eb70], rcx
jmp 0x18002518f
movzx ecx, word [0x18004eb2c]
mov rax, qword [0x18004eb48]
add ecx, 0x53
add rax, rcx
mov qword [0x18004eb48], rax
mov eax, dword [0x180c4c910]
mov edx, 0x1b
mov dword [rsp + 0x50], eax
lea r9d, [rdx - 0x1a]
mov r8d, dword [rsp + 0x54]
mov rax, r11
cmp word [0x18004eba8], r11w
movsx ecx, word [0x18004ea04]
sete al
add word [0x18004eb8c], r9w
mov qword [0x18004eb40], rax
mov eax, 0x24ea
cwde
imul ecx, eax
sub r8w, cx
mov dword [rbp - 0x6c], r8d
sub rdx, r9
jne 0x1800251a2
mov eax, dword [rsp + 0x50]
add eax, 0x277
mov dword [rbp - 0x5c], eax
mov eax, dword [rsp + 0x50]
add eax, 0xdb
mov dword [rsp + 0x58], eax
movzx eax, word [0x180f04106]
mov qword [rbp - 0x78], rax
mov eax, dword [rsp + 0x50]
add eax, edi
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x64]
cmp eax, ebx
jne 0x180025236
mov rax, qword [rsp + 0x70]
mov al, byte [rsp + 0x42]
mov al, byte [rsp + 0x40]
mov ecx, dword [0x18004ebac]
mov eax, dword [rsp + 0x54]
add ecx, eax
mov dword [0x18004ebac], ecx
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x50], eax
movsx rcx, byte [rsp + 0x41]
mov rax, qword [0x18004eb50]
sub cl, al
add cl, 0x5a
mov byte [rsp + 0x41], cl
mov eax, dword [rsp + 0x50]
add eax, 0x26d
mov dword [rsp + 0x58], eax
mov eax, 0xffff9641
xor ax, word [0x18004eb40]
mov word [0x18004ebb8], ax
mov eax, dword [rsp + 0x50]
movzx r15d, byte [0x18004ea5f]
add eax, 0x30a
mov dword [rbp - 0xc], eax
xor r15d, 0x5af1
mov eax, dword [rsp + 0x50]
add eax, 0x1b5
mov dword [rbp - 0x70], r15d
mov dword [rbp - 0x10], eax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x50], eax
test r13b, r13b
je 0x180025328
movsx ecx, word [0x18004eb30]
movzx eax, byte [rsp + 0x44]
not ecx
cmp eax, ecx
jle 0x1800252f1
cmp qword [str.O__nIIY], r11
je 0x1800252f1
movsx ecx, byte [rsp + 0x41]
movzx edx, byte [0x18004ea47]
add ecx, r15d
imul ebx, r15d
movzx eax, r12b
xor edx, eax
add edx, ebx
imul ecx, edx
mov dword [0x18004eb88], ecx
jmp 0x180025328
movsx ecx, byte [rsp + 0x41]
movzx eax, byte [rsp + 0x44]
cmp ecx, eax
jge 0x180025304
mov rax, qword [rsp + 0x70]
mov eax, dword [0x180e052ac]
mov dword [rsp + 0x64], eax
movzx eax, byte [0x18004ea5f]
mov rcx, qword [rbp - 0x78]
imul rcx, rax
mov rax, qword [rbp - 0x78]
add rax, rcx
mov qword [rbp - 0x78], rax
mov eax, dword [rsp + 0x50]
mov ebx, 0xfc
add eax, 0xc36f
mov dword [rbp - 0x3c], eax
mov dword [rsp + 0x64], 0xb28e13c6
mov eax, dword [rsp + 0x50]
mov rcx, qword [0x18004eb70]
add eax, ebx
mov dword [rbp - 0x80], eax
mov rax, qword [0x18004eb38]
xor rax, rcx
sub rcx, rax
mov eax, dword [rsp + 0x50]
add eax, 0x9c
mov qword [0x18004eb70], rcx
mov dword [rsp + 0x58], eax
mov eax, dword [0x18004eba0]
shl ax, 6
mov word [0x18004eb28], ax
movabs rax, 0xa79ed12010006
mov qword [0x18004eb58], rax
mov eax, 0xf7262a29
mov qword [0x18004eb68], rax
mov eax, dword [rsp + 0x78]
mov eax, dword [rbp - 0x58]
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
sub ecx, eax
mov eax, dword [rbp - 0x3c]
xor eax, 0xcf
imul eax, ecx
add eax, 0x2ab
mov dword [rbp - 0x3c], eax
mov rcx, qword [0x18004eb48]
mov rax, qword [0x18004eb38]
imul rcx, rax
mov eax, dword [0x180c4c910]
mov qword [0x18004eb38], rcx
mov word [0x18004ebb8], ax
mov dword [rsp + 0x50], eax
mov al, byte [0x18004ea46]
mov r10, qword [0x18004eaf0]
mov eax, dword [rsp + 0x50]
add eax, 0xbed
mov qword [rbp - 0x30], r10
mov dword [rbp - 0x58], eax
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x18002542c
movsx rcx, byte [0x18004ea46]
mov rax, qword [0x18004eb48]
sub rax, rcx
mov qword [0x18004eb48], rax
jmp 0x1800254aa
cmp qword [0x18004eb70], r11
je 0x180025443
mov eax, dword [0x180c4c910]
mov dword [0x18004eb34], eax
jmp 0x1800254aa
movzx eax, word [0x18004eb28]
test ax, ax
je 0x18002548c
mov rax, qword [0x18004eaf8]
movsx ecx, word [0x18004eba8]
not ax
movsx edx, ax
mov rax, qword [0x18004eb50]
mov r8d, dword [0x18004eb1c]
xor ax, r14w
imul edx, ecx
xor ax, dx
sar r8d, 2
mov dword [rbp - 0x6c], r8d
mov word [0x18004eb30], ax
jmp 0x1800254aa
cmp qword [0x18004eb00], r11
mov eax, r11d
sete al
cmp r14d, eax
jl 0x1800254aa
mov al, byte [0x18004eb40]
add al, 0x6c
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x50]
mov edx, r11d
add eax, ebx
movsx r8, r8w
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x50]
add eax, 0x2bdd
cmp qword [0x18004eb00], r8
mov dword [rsp + 0x58], eax
mov eax, r11d
setg dl
cmp qword [0x18004eb00], 0x2d
setg al
cmp edx, eax
jne 0x1800254f1
movzx eax, word [0x18004eb94]
mov al, byte [0x18004ea07]
mov rdx, qword [0x18004eb50]
mov eax, r15d
add rdx, rax
mov rax, qword [0x18004eb50]
and rax, rdx
movzx edx, word [0x18004eba4]
mov qword [0x18004eb50], rax
mov ecx, dword [rsp + 0x78]
mov eax, dword [rbp - 0x58]
xor ecx, eax
sub ecx, 0xa00
mov eax, 2
mov byte [0x18004ea47], al
movabs rax, 0xc0c76804440e3
mov dword [rbp - 0x58], ecx
mov ecx, 0x2d7b
movsxd rdi, dword [0x18004eb78]
imul rdi, rax
movzx eax, r15w
sub ax, cx
add rdi, rdx
movzx ecx, byte [0x18004ea47]
mov word [0x18004ebbc], ax
test ecx, ecx
je 0x180025596
sub ecx, r9d
je 0x180025589
cmp ecx, r9d
mov r9d, 0x9641
jne 0x1800255be
mov eax, dword [rsp + 0x64]
shl eax, 5
movsxd rsi, eax
mov qword [rbp], rsi
jmp 0x1800255c2
mov r9d, dword [0x180c4c910]
mov qword [rbp - 0x48], r9
jmp 0x1800255be
movzx eax, byte [rsp + 0x44]
mov ecx, dword [rsp + 0x64]
sub cl, al
movzx eax, sil
test rdi, rdi
mov byte [rsp + 0x42], cl
cmovne eax, r9d
mov r9d, 0x9641
movsx r10d, al
mov qword [rbp - 0x30], r10
mov rsi, qword [rbp]
mov eax, dword [0x180c4c910]
mov edx, r11d
movsx rcx, byte [0x18004ea1b]
mov dword [rsp + 0x50], eax
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
cmp rax, rcx
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
mov ecx, r11d
setne dl
cmp rax, 0x11
setne cl
cmp edx, ecx
jne 0x180025607
mov rax, r9
and eax, 0x182d90c3
mov qword [rbp - 0x78], rax
jmp 0x18002562a
mov cl, byte [rsp + 0x42]
mov al, byte [rsp + 0x42]
and ecx, 0x53
sub al, cl
mov byte [rsp + 0x42], al
mov cl, byte [0x18004ea46]
mov al, byte [rsp + 0x43]
sub cl, al
mov byte [0x18004ea46], cl
mov eax, dword [rsp + 0x50]
add eax, 0x37cf
mov dword [rbp - 0x80], eax
mov r13b, byte [rsp + 0x42]
mov eax, dword [rsp + 0x50]
add r13b, 0x1d
mov bl, byte [str.O__nIIY]
add eax, 0x75b4
add r13b, r13b
neg bl
add r13b, byte [0x18004eb7c]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x50]
add eax, 0x2b3d
mov word [rsp + 0x60], bx
mov dword [rsp + 0x58], eax
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x1800256a7
movzx eax, r12b
cmp word [0x18004eb30], ax
jle 0x1800256cc
mov rax, qword [0x18004eaf0]
and eax, esi
not eax
mov dword [0x18004eb1c], eax
mov eax, dword [rsp + 0x5c]
mov cl, byte [0x18004ea86]
and al, cl
add cl, al
jmp 0x1800256d2
mov rcx, qword [0x18004eb58]
mov r9d, 0xd374bb3
mov rax, qword [rsp + 0x70]
mov edx, dword [0x18004eb24]
cmp rax, rcx
cmove edx, r9d
mov dword [0x18004eb24], edx
mov cl, byte [0x18004ea86]
or eax, 0xffffffff
sub cl, r12b
add dword [0x18004eb7c], eax
mov r9d, 2
mov rax, qword [rsp + 0x70]
sub r13b, byte [0x18004eba4]
add rdi, rax
mov byte [0x18004ea86], cl
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
or ecx, eax
mov eax, 0x3839
mov byte [rbp - 0x18], r9b
sub eax, ecx
mov dword [rbp + 8], eax
movsxd rcx, dword [0x18004eb90]
mov rax, qword [0x18004eb48]
cmp rcx, rax
je 0x18002575f
cmp qword [0x18004eb68], r11
mov al, byte [0x180c4c910]
mov byte [0x18004ea86], al
lea eax, [r10 - 0x73]
mov dword [0x18004eb88], r9d
mov byte [rsp + 0x43], al
je 0x18002574f
movzx eax, word [0x18004ebb8]
jmp 0x180025756
movzx eax, word [str.O__nIIY]
mov word [0x18004ea9c], ax
jmp 0x180025777
test r14d, r14d
je 0x180025773
mov eax, dword [0x180c4c910]
mov qword [0x18004eb08], rax
jmp 0x180025777
mov eax, dword [rsp + 0x54]
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x50], eax
mov al, byte [0x18004ea07]
test al, al
je 0x18002579e
mov bl, byte [0x18004eb00]
sub bl, 7
mov word [rsp + 0x60], bx
jmp 0x180025827
test r10d, r10d
je 0x1800257c6
mov rax, qword [rbp - 0x78]
movabs rcx, 0xffff16d73de03c23
imul rax, rcx
add qword [0x18004eb00], rax
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x64], eax
jmp 0x180025827
test r14d, r14d
je 0x180025805
mov eax, dword [0x18004eb34]
test eax, eax
mov rax, qword [str.O__nIIY]
jne 0x1800257e3
mov rax, qword [0x18004eb38]
mov word [0x18004eb94], ax
mov ecx, 0xffffafd4
mov eax, dword [rsp + 0x64]
movsx ecx, cx
movsx edx, ax
imul edx, ecx
mov word [0x18004eb18], dx
jmp 0x180025827
mov eax, dword [0x18004eb1c]
test eax, eax
je 0x180025827
mov ecx, dword [0x18004eb20]
add ecx, 0x5fba307e
add ecx, dword [0x18004eb24]
mov dword [0x18004eb20], ecx
mov eax, dword [rsp + 0x50]
add eax, 0xce
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x50]
mov r14b, byte [0x18004ea5f]
add eax, 0x32c1
mov dword [rsp + 0x78], eax
sub r14b, 0x63
movsx rdx, byte [rsp + 0x41]
mov eax, 4
mov ecx, dword [0x18004eb88]
add rdx, 0x38d92ce2
mov word [0x18004ea04], ax
movsx rax, bl
imul rdx, rax
mov eax, dword [0x18004eb10]
imul rdx, r8
neg eax
mov byte [rsp + 0x7c], r14b
and ecx, eax
imul ecx, edx
mov dword [0x18004ea1c], ecx
movsx ecx, word [0x18004ea04]
test ecx, ecx
je 0x180025933
sub ecx, 1
je 0x1800258ed
sub ecx, 1
je 0x1800258c8
cmp ecx, 1
jne 0x18002594e
test r10d, r10d
movzx eax, si
cmovne ax, r9w
mov word [0x18004eb94], ax
jmp 0x18002594e
mov al, byte [0x18004eb60]
mov ecx, 0x65
sub al, 0x31
mov byte [0x18004ea06], al
mov rax, qword [0x18004eaf8]
sub cl, al
add r12b, cl
mov qword [rbp + 0x10], r12
jmp 0x18002594e
mov edx, dword [0x18004ea1c]
mov eax, r11d
movsx ecx, byte [rsp + 0x41]
test edx, edx
cmove eax, ecx
movzx ecx, byte [rsp + 0x43]
movsxd rdx, eax
movzx eax, r14b
sub rdx, rax
imul rax, qword [0x18004eb60], 0x49010e2f
sub rdx, qword [0x18004eb00]
add rcx, rax
not rcx
and rcx, rdx
mov qword [0x18004eaf0], rcx
jmp 0x18002594e
mov rax, qword [0x18004eb70]
add rax, 0x75af0b1e
mov qword [0x18004eb50], rax
mov rax, qword [rbp - 0x68]
movsxd rdi, eax
mov eax, dword [rsp + 0x50]
xor edx, edx
add eax, 0x93
mov ecx, 0x9d
mov dword [rbp - 0x80], eax
mov eax, dword [0x18004eb78]
movzx r9d, word [0x18004eb10]
lea r8d, [rdx + 0x42]
mov word [rsp + 0x28], ax
movzx eax, word [0x18004eb2c]
mov word [rsp + 0x20], ax
call fcn.1800247c8
mov byte [rsp + 0x40], al
xor edx, edx
mov al, byte [rsp + 0x40]
test al, al
je 0x180025a5f
movzx ebx, word [0x18004ebbc]
lea eax, [rdx + 4]
add bl, 0x65
mov dword [0x18004eb7c], eax
mov eax, dword [0x18004eb7c]
mov word [rsp + 0x60], bx
test eax, eax
je 0x180025a44
sub eax, 1
je 0x180025a19
sub eax, 1
je 0x180025a01
sub eax, 1
je 0x1800259f3
cmp eax, 1
jne 0x180025a5f
mov rax, qword [0x18004eaf8]
sub word [0x18004eba8], ax
mov dword [0x18004eb24], 0xffff32bc
jmp 0x180025a5f
mov eax, 0x6499
mov word [0x18004ea9c], ax
jmp 0x180025a5f
mov eax, dword [rsp + 0x5c]
mov ecx, 0x6678
movzx edx, ax
imul edx, ecx
mov word [0x18004eba8], dx
jmp 0x180025a5f
mov al, byte [rsp + 0x40]
mov rcx, rdx
test al, al
movsx rax, bl
sete cl
sub rcx, rax
lea eax, [r14 + 0x24]
sub rcx, qword [str.O__nIIY]
add rcx, rsi
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x48], rcx
jmp 0x180025a5f
mov qword [0x18004eb50], 0x80
mov cl, r12b
mov al, byte [rsp + 0x40]
and cl, 0x6b
sub al, cl
mov byte [rsp + 0x40], al
mov r15d, dword [rsp + 0x48]
mov eax, 0x3174
mov r14, qword [rbp - 0x48]
mov esi, 0x20c3
mov word [0x18004eba8], ax
mov ebx, 1
mov dword [rsp + 0x54], 0xdc
xor r9d, r9d
mov r8b, 0xfe
xor edx, edx
mov cl, r15b
call fcn.180024aa8
mov byte [0x18004ea07], al
mov al, byte [0x18004ea07]
test al, al
je 0x180025aea
mov rax, qword [0x18004eb08]
mov eax, dword [rsp + 0x54]
movzx eax, word [0x18004eb94]
movsx ecx, byte [rsp + 0x42]
imul ecx, eax
test ecx, ecx
jne 0x180025ad7
movsxd rcx, dword [0x18004ebac]
mov rax, rbx
sub rax, rcx
imul rdi, rax
jmp 0x180025aea
test r14, r14
jne 0x180025ae2
mov eax, dword [0x18004eb34]
mov rax, qword [rsp + 0x70]
add r13b, al
sub rsi, rbx
jne 0x180025a86
mov eax, dword [rsp + 0x68]
mov eax, dword [rsp + 0x68]
mov eax, dword [rsp + 0x68]
mov eax, dword [rsp + 0x4c]
mov eax, dword [rbp - 0x80]
mov ecx, dword [rbp - 0x80]
xor eax, 0xa419
imul ecx, eax
mov eax, dword [rsp + 0x78]
imul eax, ecx
add eax, 0x44b2fbf4
mov dword [rbp - 8], eax
movsxd r9, dword [rsp + 0x5c]
movsx ecx, word [0x18004ebb8]
mov dl, byte [0x18004ea46]
imul ecx, dword [0x18004eb24]
mov r8, qword [0x18004eb00]
movsx rax, byte [rbp - 0x18]
sub r9, rax
or dl, cl
cmp r9, r8
lea r8d, [rsi + 0x47]
sete al
xor edi, edi
add dl, al
mov word [rsp + 0x28], di
mov eax, dword [0x180c4c910]
xor r9d, r9d
mov byte [rsp + 0x44], dl
mov edx, 0x91
mov dword [rsp + 0x50], eax
movsx ecx, byte [0x18004ea46]
mov word [rsp + 0x20], di
call fcn.1800247c8
movzx ebx, word [rsp + 0x60]
test r15b, r15b
mov r15d, dword [rbp - 0x70]
movzx r14d, byte [rsp + 0x7c]
mov r12, qword [rbp + 0x10]
mov word [0x18004eba8], ax
je 0x180025ca0
cmp word [rbp - 0x6c], di
je 0x180025ca0
movsx rcx, byte [0x18004ea1b]
cmp qword [0x18004eb00], rcx
jne 0x180025c51
mov al, byte [rsp + 0x41]
mov r9, qword [rbp]
sub al, r9b
mov byte [rsp + 0x41], al
mov rsi, qword [rbp - 0x48]
mov eax, dword [rsp + 0x50]
mov r8b, bl
add eax, 0x4e
mov byte [rsp + 0x60], bl
mov dword [rsp + 0x78], eax
mov dl, r15b
mov eax, dword [rsp + 0x50]
xor ecx, ecx
add eax, 0xa9
mov byte [rbp - 0x40], bl
mov dword [rsp + 0x58], eax
mov byte [rsp + 0x7c], bl
call fcn.180024928
mov rdi, qword [rbp - 0x68]
xor r15d, r15d
movzx eax, al
mov qword [rbp - 0x78], rax
mov rax, qword [rbp - 0x78]
test rax, rax
jns 0x180025cd4
mov eax, dword [0x18004ea1c]
mov edx, r15d
test eax, eax
movsx eax, byte [0x18004ea46]
sete dl
cmp eax, edx
je 0x180025cd4
test edi, edi
je 0x180025ccd
mov r13, qword [0x18004eb98]
jmp 0x180025cd4
mov rsi, qword [rbp - 0x48]
test ax, ax
je 0x180025bd5
mov rax, qword [rbp - 0x78]
add rsi, 0xfffffffffed9b909
mov rcx, qword [rbp - 0x78]
add rsi, rax
mov eax, dword [0x18004eb1c]
movsx r8d, cx
mov ecx, 0x29cf
movsx ecx, cx
movsx edx, ax
imul edx, ecx
imul r8d, r14d
mov qword [rbp - 0x48], rsi
add dx, r8w
not dx
mov word [rbp - 0x6c], dx
jmp 0x180025bd5
test r12b, r12b
jne 0x180025bd1
mov rax, qword [rsp + 0x70]
mov rsi, qword [rbp - 0x48]
movsx edx, al
movsx ecx, sil
imul edx, ecx
movsx ebx, dl
lea eax, [rbx - 0x71]
mov dword [0x18004ea1c], eax
jmp 0x180025bd5
mov r13, qword [0x18004eb08]
mov eax, dword [rsp + 0x50]
mov ecx, Ordinal_138
add eax, 0xa5
mov dword [rbp - 0x70], eax
call fcn.180024528
mov r10d, dword [rbp - 0x6c]
mov edx, r15d
mov byte [rsp + 0x40], al
mov ecx, r15d
mov al, byte [rsp + 0x40]
cmp al, 0x50
mov al, byte [rsp + 0x40]
setg dl
test al, al
setg cl
cmp ecx, edx
jbe 0x180025d4d
mov rax, qword [rbp - 0x78]
mov edx, r15d
shl rax, 4
mov ecx, r15d
mov qword [0x18004ebc0], rax
mov eax, dword [0x18004eb90]
test eax, eax
movsx eax, r10w
sete dl
xor edx, eax
movsx eax, byte [0x18004ea86]
cmp byte [0x18004ea47], r15b
sete cl
add ecx, eax
imul ecx, edx
mov dword [rbp - 0x30], ecx
movsxd r12, dword [rsp + 0x48]
movsx r9d, r12b
lea eax, [r9 - 0x16]
mov byte [rsp + 0x43], al
mov ecx, dword [rbp - 0x70]
mov eax, dword [rsp + 0x78]
imul ecx, eax
movsx eax, bl
xor ecx, 0x33a7
mov dword [rbp - 0x7c], ecx
test r12b, r12b
mov ecx, r15d
sete cl
cmp eax, ecx
jge 0x180025d92
test r10w, r10w
jne 0x180025d92
mov r8d, 1
mov edx, r8d
jmp 0x180025d9b
mov edx, r15d
mov r8d, 1
mov eax, dword [0x18004eb7c]
mov ecx, r15d
cmp qword [0x18004ebc0], rax
setg cl
cmp ecx, edx
jae 0x180025dd2
mov rcx, qword [rbp - 0x78]
mov al, byte [rsp + 0x44]
and rcx, r8
add al, cl
mov byte [rsp + 0x44], al
movsx eax, word [0x18004eb18]
mov dword [0x180ca1fa0], eax
jmp 0x180025dec
cmp word [0x18004ea9c], r15w
mov eax, r15d
mov dword [0x180ca1fe0], esi
sete al
mov dword [0x18004eb7c], eax
mov eax, dword [0x180c4c910]
mov r11b, bl
mov dword [rsp + 0x48], eax
xor r11b, 0xbb
mov eax, dword [0x18004eba0]
add al, 0x4f
movsx rcx, r10w
add al, r14b
mov dword [rsp + 0x68], r11d
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x48]
add eax, 0x85
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x48]
add eax, 0xbd1a
mov qword [str.O__nIIY], 3
mov dword [rbp - 0x70], eax
mov eax, dword [0x18004ebac]
sar eax, 4
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x48]
xor rcx, qword [0x18004eb10]
add eax, 0x15
add qword [0x18004eb10], rcx
mov ecx, 0x10
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004ebb8]
movsx r15d, byte [0x18004ea86]
sub cl, al
mov eax, dword [rbp - 0x70]
add r15d, 0x3dc24c4f
add eax, 0xffff4561
mov byte [0x18004ea47], cl
mov ecx, dword [rsp + 0x78]
add ecx, eax
mov qword [rbp + 0x28], r15
mov dword [rbp - 0x1c], ecx
mov al, byte [rsp + 0x41]
sub al, 0x36
and byte [0x18004ea5f], al
mov rax, qword [rbp - 0x78]
sub al, r8b
mov byte [rsp + 0x44], al
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
add eax, 0x1372
mov dword [rsp + 0x58], eax
movzx eax, byte [0x18004ea07]
movsx edx, word [0x18004ebb8]
movsx r8d, byte [0x18004ea86]
xor edx, eax
movsx ecx, byte [0x18004ea1b]
add ecx, edx
movsx eax, r13b
xor r8d, eax
movzx eax, word [0x18004eba4]
add ecx, r8d
add eax, ecx
movsxd r8, eax
mov eax, dword [rsp + 0x48]
add eax, 0x52
mov qword [rbp + 0x10], r8
mov dword [rsp + 0x78], eax
movzx ecx, byte [rsp + 0x44]
movzx eax, word [0x18004eb2c]
not ecx
imul eax, ecx
cmp eax, 0x23619063
jle 0x180025f55
xor ecx, ecx
cmp word [0x18004eb30], cx
je 0x180025f3d
movsx eax, r10b
imul ecx, eax, 0xfffffff2
mov byte [0x18004ea46], cl
jmp 0x180025f50
movsx eax, byte [rsp + 0x41]
sub r9d, eax
mov al, byte [rsp + 0x41]
add al, r9b
mov byte [rsp + 0x41], al
xor r9d, r9d
jmp 0x180025f74
mov al, byte [rsp + 0x44]
xor r9d, r9d
test al, al
je 0x180025f74
mov eax, dword [0x18004eb1c]
sub eax, 0xa4
cdqe
mov qword [0x18004eb68], rax
mov eax, dword [rsp + 0x48]
mov edx, 0x19b5c170
add eax, 0x40f7
mov dword [rbp - 0x70], eax
mov al, byte [rsp + 0x43]
movsx eax, word [0x18004ea04]
xor eax, 0xc72156ca
mov dword [0x18004eb78], eax
mov eax, dword [rbp - 0x70]
imul ecx, eax, 0x6550
mov eax, dword [rsp + 0x78]
sub edx, ecx
sub edx, eax
lea eax, [r8 + 0x24]
cmp qword [0x18004eb70], r9
mov dword [rbp + 0x44], edx
mov byte [rsp + 0x44], al
movzx ecx, word [0x18004eb28]
jne 0x180025fc9
mov ecx, edi
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x48], eax
mov eax, 4
mov dword [0x18004eb78], eax
movzx eax, byte [0x18004ea47]
movsxd r14, ecx
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov qword [rbp + 0x38], r14
mov eax, dword [rsp + 0x54]
add eax, ecx
mov dword [rsp + 0x54], eax
mov ecx, dword [0x18004eb78]
test ecx, ecx
je 0x18002609b
sub ecx, 1
je 0x180026072
sub ecx, 1
je 0x180026062
sub ecx, 1
je 0x180026041
cmp ecx, 1
jne 0x1800260d2
mov rdi, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
xor edi, 0xa2
mov byte [0x18004ea86], r14b
not edi
mov qword [rbp - 0x68], rdi
jmp 0x1800260d6
movzx edi, byte [0x18004ea07]
mov rax, qword [0x18004eb38]
add edi, 0xef
sub qword [0x18004eb60], rax
mov qword [rbp - 0x68], rdi
jmp 0x1800260d6
mov rax, r14
shl rax, 7
mov word [0x18004eba8], ax
jmp 0x1800260d2
movsxd rcx, dword [rsp + 0x64]
movabs rax, 0xfff3cfb1a2ca0d1a
imul rcx, rax
mov eax, dword [0x18004eba0]
mov qword [0x18004eb68], rcx
mov r14d, eax
mov qword [rbp + 0x38], rax
jmp 0x1800260d2
cmp qword [0x18004eb00], r9
mov rax, r9
mov rcx, r9
sete cl
test r13b, r13b
sete al
xor rcx, rax
movzx eax, byte [rsp + 0x43]
add rcx, rax
mov eax, dword [rsp + 0x54]
mov bl, byte [0x18004ea1b]
and eax, r8d
xor eax, ecx
mov dword [rsp + 0x64], eax
add bl, 0x44
mov rdi, qword [rbp - 0x68]
mov eax, dword [rsp + 0x48]
add eax, 0xfccc
mov dword [rbp - 0x80], eax
mov eax, dword [rsp + 0x48]
add eax, 0xadc4
cmp qword [0x18004eb00], r9
mov dword [rsp + 0x58], eax
je 0x1800261e4
mov al, byte [rsp + 0x41]
test al, al
je 0x180026125
cmp byte [0x18004ea47], r9b
movzx eax, bl
movzx ecx, r12b
cmovne ecx, eax
movsx rax, cl
mov qword [0x18004eb60], rax
jmp 0x18002621f
cmp byte [0x18004ea5f], r9b
mov edx, r9d
mov ecx, dword [0x18004eb34]
mov eax, r9d
setne dl
cmp qword [str.O__nIIY], rcx
setl al
cmp eax, edx
jae 0x180026178
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
movsx rcx, r12b
sub rcx, rax
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
add rax, rcx
mov qword [0x18004eb40], 0x1b
mov qword [reloc.mozglue.dll_export_full.dll_Ordinal_116], rax
jmp 0x18002621f
cmp qword [0x18004eb60], r9
je 0x18002621f
movzx ecx, r11b
movsx eax, r10w
add eax, ecx
movsx rdx, bl
movsxd rcx, dword [rsp + 0x64]
imul rdx, qword [0x18004eb68]
cdqe
not rdx
sub rdx, rax
mov rax, qword [0x18004eaf8]
xor rax, rcx
mov rcx, r9
not rax
test r13b, r13b
cmove rcx, rax
mov eax, 0x6339
imul rcx, qword [0x18004eb10]
xor rcx, rdx
not rcx
add eax, esi
mov qword [0x18004eb70], rcx
mov word [0x18004eb2c], ax
jmp 0x18002621f
movsx eax, byte [rsp + 0x40]
movsx r8d, byte [rsp + 0x40]
movsx ecx, byte [rsp + 0x41]
add r8d, eax
cmp r10w, cx
mov eax, r9d
sete al
cmp eax, r8d
jg 0x18002621f
mov r15, qword [0x18004eb60]
mov al, byte [0x180c4c910]
shl r15, 4
mov qword [rbp + 0x28], r15
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x48]
xor ecx, ecx
add eax, 0xd1
mov dword [rsp + 0x58], eax
call fcn.180024528
mov dword [rsp + 0x54], eax
xor r10d, r10d
mov eax, dword [0x18004eb90]
test eax, eax
jne 0x18002628c
movzx eax, word [0x18004eb18]
lea ecx, [r14 + 0x36]
mov al, byte [rsp + 0x42]
mov edx, r10d
xor cl, al
mov byte [rsp + 0x42], cl
mov al, byte [rsp + 0x41]
test al, al
sete al
cmp byte [0x18004ea86], r10b
sete r8b
and r8b, al
movzx eax, byte [0x18004ea07]
cmp qword [rbp + 0x10], r10
sete dl
add edx, eax
sete r13b
add r13b, r8b
jmp 0x1800262c8
mov rax, qword [0x18004eb08]
test rax, rax
je 0x1800262c8
movzx eax, byte [rsp + 0x68]
imul rcx, rax, 0x7a41
mov qword [reloc.mozglue.dll_export_full.dll_Ordinal_116], rcx
mov cl, sil
mov al, byte [rsp + 0x43]
test al, al
sete al
sub cl, al
movzx eax, word [0x18004eb18]
add al, cl
mov byte [0x18004ea5e], al
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
xor ecx, eax
xor ecx, 0xe1
cmp qword [0x18004eb70], r10
mov dword [rbp + 0xc], ecx
je 0x1800262f3
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x1800262f3
mov rdx, 0xfffffffffffffffe
jmp 0x1800262f7
or rdx, 0xffffffffffffffff
movsxd rcx, dword [rsp + 0x5c]
mov rax, qword [0x18004eb00]
sub rax, rcx
not rax
cmp rax, rdx
jle 0x180026331
mov al, byte [rsp + 0x41]
add bl, bl
add bl, al
mov eax, dword [0x18004eba0]
movsx ecx, al
imul eax, ecx, 0xffffff92
movzx r12d, al
test al, al
mov eax, 0xffffffff
cmove r12d, eax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x48], eax
mov al, byte [0x18004eb10]
add al, 0x20
mov byte [rsp + 0x41], 1
mov byte [rsp + 0x40], al
cmp byte [rsp + 0x41], 1
jne 0x180026376
mov rax, qword [0x18004eaf8]
imul rcx, rax, 0x2bebc2f8
movsx eax, byte [rbp - 0x18]
mov qword [0x18004eaf0], rcx
mov ecx, dword [rsp + 0x5c]
add ecx, eax
mov dword [rsp + 0x5c], ecx
mov eax, dword [rsp + 0x48]
mov edx, r10d
add eax, 0x7bb1
mov r8d, r10d
mov dword [rsp + 0x58], eax
mov al, byte [rsp + 0x41]
mov eax, dword [rsp + 0x64]
sub dword [rbp - 0x30], eax
mov al, byte [rsp + 0x43]
movzx ecx, byte [0x18004ea5f]
test al, al
mov eax, dword [rsp + 0x48]
cmovne rcx, qword [rbp - 0x78]
add eax, 0x2009
mov qword [0x18004eb68], rcx
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x48]
add eax, 0x67d1
mov dword [rsp + 0x48], eax
mov eax, dword [0x180c4c910]
mov dword [0x18004eb90], eax
movzx ecx, byte [0x18004ea06]
mov rax, qword [rsp + 0x70]
add al, cl
mov byte [0x18004ea06], al
movsxd rcx, dword [0x18004eb78]
mov rax, qword [rsp + 0x70]
cmp rax, rcx
movsx ecx, byte [rsp + 0x42]
movsx eax, bl
seta dl
not eax
cmp edx, eax
mov eax, r10d
setle r8b
cmp ecx, dword [0x18004eb24]
seta al
cmp r8d, eax
jne 0x180026445
movzx eax, byte [rsp + 0x43]
cmp qword [0x18004eb70], rax
jl 0x180026464
movzx ecx, word [0x18004ebbc]
movabs rax, 0xcf10bcd673d4b
sub rcx, rax
mov qword [str.O__nIIY], rcx
jmp 0x180026464
mov rax, qword [0x18004eb70]
mov qword [0x180d84b00], rax
mov eax, dword [0x18004eb00]
add eax, 0x91e
mov dword [0x18004eb7c], eax
mov edx, dword [rsp + 0x48]
mov eax, dword [rsp + 0x48]
or edx, eax
mov eax, dword [rsp + 0x48]
imul ecx, eax, 0xe3
mov eax, dword [0x180c4c910]
add ecx, edx
xor ecx, 0x5c756c
mov dword [rbp + 0x34], ecx
mov dword [rsp + 0x48], eax
mov al, byte [rsp + 0x42]
test al, al
je 0x180026573
xor ecx, ecx
call fcn.180024168
xor r10d, r10d
mov r12b, al
test al, al
je 0x180026538
cmp word [0x18004ea04], r10w
je 0x1800264e3
cmp byte [rsp + 0x7c], 0xbb
mov rax, r14
jne 0x1800264c7
mov rax, qword [rsp + 0x70]
mov byte [rsp + 0x44], al
mov al, byte [rsp + 0x40]
mov rcx, qword [0x18004eb68]
test al, al
cmovne rcx, rsi
mov qword [0x18004eb10], rcx
mov r9d, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x48]
mov eax, dword [rbp - 0x3c]
add ecx, eax
mov dword [rsp + 0x58], ecx
mov eax, dword [rsp + 0x48]
add eax, 0x280
mov dword [rsp + 0x50], eax
mov al, byte [rsp + 0x42]
test al, al
je 0x180026592
mov rsi, qword [rbp - 0x30]
mov eax, 4
mov word [rbp - 0x6c], ax
mov rax, qword [0x18004eb38]
test esi, esi
jne 0x18002652d
movsxd rax, dword [0x18004ebac]
mov dword [0x18004ebac], eax
jmp 0x180026642
cmp word [0x18004ea04], r10w
je 0x1800264e3
mov rax, qword [rsp + 0x70]
test r15d, r15d
jne 0x180026553
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
mov byte [rsp + 0x42], al
mov eax, dword [0x18004ea1c]
add eax, 0xffffff3d
movsx ecx, r13b
add ecx, eax
mov dword [0x18004ea1c], ecx
jmp 0x1800264e3
mov r9d, dword [rsp + 0x50]
mov r15d, 0xe7595838
mov al, r9b
mov qword [rbp + 0x28], r15
xor al, 0x8d
mov byte [0x18004ea5e], al
jmp 0x1800264e8
test bl, bl
je 0x1800265ef
mov ecx, dword [0x18004ebac]
mov r8d, r10d
movzx eax, byte [rsp + 0x43]
not ecx
movsx edx, byte [0x18004ea46]
add eax, 0xff053e3
add ecx, eax
movzx eax, byte [0x18004ea47]
mov ecx, r10d
sete r8b
add eax, 0xaa
add edx, eax
mov eax, r10d
sete al
xor eax, r8d
not eax
mov dword [0x18004eb24], eax
mov rax, qword [0x18004eb98]
test rax, rax
sete cl
mov dword [0x18004eb34], ecx
jmp 0x18002663e
movzx eax, word [0x18004eb28]
movsx r8, word [0x18004ea9c]
cmp eax, r8d
jg 0x180026619
movzx eax, word [0x18004eba4]
mov rcx, qword [rsp + 0x70]
xor rcx, rax
mov qword [rsp + 0x70], rcx
jmp 0x18002663e
cmp qword [0x18004eb10], r8
mov rcx, r10
setb cl
cmp qword [0x18004eb10], rcx
jb 0x18002663e
mov rax, qword [0x18004eb48]
neg eax
mov dword [0x18004eb20], eax
mov rsi, qword [rbp - 0x30]
mov eax, dword [rsp + 0x48]
mov ecx, 0x81
add eax, 0x2c3
mov dword [rsp + 0x58], eax
mov eax, 2
mov word [0x18004ebb8], ax
movzx eax, word [0x18004ebbc]
add ax, cx
mov ecx, r10d
mov word [0x18004eb8c], ax
movsx eax, word [0x18004eb18]
movzx edx, word [0x18004eba8]
sub edx, eax
movsx eax, byte [rsp + 0x42]
sub edx, eax
mov eax, dword [0x18004eb78]
cmp edx, eax
movzx eax, word [0x18004eba8]
sete cl
sub ax, word [rbp - 0x6c]
sub ax, word [0x18004eb24]
xor ax, cx
mov word [0x18004eb18], ax
movsx eax, word [0x18004ebb8]
mov ecx, eax
test eax, eax
je 0x180026704
sub ecx, 1
je 0x1800266e1
cmp ecx, 1
jne 0x180026721
mov rax, qword [0x18004eb58]
mov ecx, 0x3921
sub ax, cx
mov word [0x18004ea04], ax
jmp 0x180026721
movzx eax, byte [rsp + 0x43]
mov rcx, qword [rbp - 0x78]
sub rcx, rax
mov qword [rbp - 0x78], rcx
movsx rcx, byte [rsp + 0x40]
mov rax, qword [rsp + 0x70]
add al, cl
mov byte [rsp + 0x40], al
jmp 0x180026721
mov eax, 0x4f2b
add eax, esi
mov word [0x18004eb18], ax
mov al, byte [0x18004ea06]
add al, r9b
mov byte [0x18004ea06], al
mov eax, dword [0x180c4c910]
mov ecx, 0xec
mov dword [rsp + 0x48], eax
call fcn.180024168
movsx r8d, ax
xor r9d, r9d
test r8b, r8b
je 0x180026745
mov ecx, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x48]
add ecx, 0x108
mov dword [rbp - 0x50], ecx
mov rcx, qword [0x18004eb98]
add qword [0x18004eb68], rcx
movsx ecx, byte [rsp + 0x40]
shl cx, 4
mov word [0x18004eb28], cx
mov eax, dword [0x18004eba0]
mov byte [0x18004ea06], al
mov eax, dword [rsp + 0x48]
add eax, 0x141
mov dword [rsp + 0x4c], eax
mov al, byte [rsp + 0x41]
add al, 0x41
mov byte [0x18004ea5f], al
mov al, byte [rsp + 0x42]
shl al, 7
mov byte [rsp + 0x42], al
mov eax, dword [rsp + 0x48]
add eax, 0x2a7
mov dword [rbp - 0x70], eax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x48], eax
mov rax, qword [0x18004eaf0]
test rax, rax
je 0x1800267ef
movsxd rax, esi
cmp rax, qword [0x18004eb68]
jge 0x1800267dd
movzx eax, word [0x18004eb94]
add al, 7
mov byte [rsp + 0x40], al
jmp 0x180026818
mov eax, dword [rsp + 0x54]
imul ecx, eax, 0xa210
mov dword [0x18004eb7c], ecx
jmp 0x180026818
mov eax, dword [0x18004eba0]
mov ecx, dword [0x18004eba0]
movzx eax, word [0x18004eba8]
not cx
not ax
movzx ecx, cx
movzx edx, ax
imul edx, ecx
mov word [0x18004eba8], dx
mov eax, dword [rsp + 0x48]
mov edx, r9d
add eax, 0x3d9
movsx rcx, r12b
mov dword [rbp - 0x54], eax
mov eax, dword [rsp + 0x48]
add eax, 0x26e
mov dword [rbp - 0x38], eax
mov rax, qword [rsp + 0x70]
cmp rax, rcx
mov rax, qword [rsp + 0x70]
mov ecx, r9d
seta dl
cmp rax, 0x22
seta cl
cmp edx, ecx
je 0x180026882
movzx ecx, word [0x18004eb28]
movsx eax, r8b
add cx, ax
mov eax, 0x4141
add cx, ax
mov word [0x18004eb28], cx
mov rbx, qword [0x18004eb58]
shl bl, 8
mov qword [rbp - 0x18], rbx
jmp 0x180026886
mov rbx, qword [rbp - 0x18]
mov ecx, dword [rsp + 0x48]
mov eax, dword [rbp - 0x58]
add ecx, eax
mov dword [rsp + 0x58], ecx
movsx ecx, bl
call fcn.180024168
xor r8d, r8d
movzx eax, ax
mov dword [0x18004eba0], eax
mov edx, r8d
mov eax, dword [0x18004eba0]
mov ecx, r8d
cmp eax, 0x1b
mov eax, dword [0x18004eba0]
sete dl
test eax, eax
sete cl
cmp ecx, edx
jb 0x180026920
cmp byte [rbp - 0x40], 0xbb
jne 0x1800268d5
movzx eax, word [0x18004eb94]
test r14, r14
je 0x1800268fb
movzx r15d, byte [rsp + 0x68]
mov rax, qword [0x18004eb98]
and r15d, 0x7e05
mov qword [rbp + 0x28], r15
mov qword [0x180cca200], rax
jmp 0x180026920
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x180026920
cmp dword [0x18004eb7c], r8d
je 0x180026915
movsx eax, word [0x18004eb18]
jmp 0x18002691a
mov eax, 2
mov dword [0x18004eb20], eax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x48], eax
test esi, esi
je 0x18002693a
mov eax, 0xffffcb9e
mov word [0x18004ebb8], ax
mov eax, dword [rsp + 0x48]
mov edx, r8d
add eax, 0x33b
mov dword [rbp - 0x58], eax
mov ecx, dword [rsp + 0x48]
mov eax, dword [rbp + 8]
add ecx, eax
cmp byte [0x18004ea86], r8b
mov dword [rbp - 0x20], ecx
movsx eax, byte [rsp + 0x40]
sete dl
cmp edx, eax
mov rax, qword [str.O__nIIY]
setge r8b
imul rax, qword [0x18004eb10]
cmp r8, rax
je 0x1800269c9
movsx ecx, r13b
call fcn.180024528
mov dword [0x18004eb90], eax
xor r13d, r13d
mov eax, dword [0x18004eb90]
test eax, eax
jne 0x180026a13
movsx rcx, word [0x18004eb18]
and edi, 0xffffff5a
mov rax, qword [0x18004eb58]
sub rcx, rax
mov qword [rbp - 0x68], rdi
movzx eax, word [0x18004eb18]
or ax, cx
mov word [0x18004eb18], ax
jmp 0x180026a13
mov rcx, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
movsx rax, bl
cmp rax, rcx
jg 0x1800269eb
movsx ecx, byte [rsp + 0x40]
shl cx, 2
mov word [0x18004ebbc], cx
jmp 0x180026a10
mov eax, dword [rsp + 0x5c]
movsx ecx, byte [rsp + 0x40]
mov eax, 0xf9c536c7
not ecx
mov qword [0x18004eb68], rax
imul ecx, dword [0x18004eb7c]
imul ecx, esi
mov dword [rsp + 0x54], ecx
xor r13d, r13d
mov eax, dword [rsp + 0x48]
lea ecx, [r15 - 0xd3]
add eax, 0x2c0
mov dword [rsp + 0x78], eax
movsx eax, byte [rsp + 0x41]
mov ebx, dword [0x180c4c910]
mov dword [rsp + 0x48], ebx
imul esi, eax, 0xffffff8e
mov eax, dword [rsp + 0x48]
add eax, 0x360
mov dword [rbp - 0x3c], eax
mov qword [rsp + 0x70], rcx
xor ecx, ecx
mov eax, dword [rsp + 0x48]
add eax, 0x105
mov dword [rsp + 0x58], eax
call fcn.180024528
mov byte [0x18004ea06], al
mov edx, r13d
mov al, byte [0x18004ea06]
mov ecx, r13d
cmp al, 0x20
mov al, byte [0x18004ea06]
setne dl
test al, al
setne cl
cmp ecx, edx
ja 0x180026a92
mov al, byte [0x18004ea5e]
xor al, 0x73
mov byte [rsp + 0x43], al
jmp 0x180026ab4
mov al, byte [rsp + 0x42]
test al, al
je 0x180026aa5
mov edi, 0xef22
mov qword [rbp - 0x68], rdi
jmp 0x180026ab4
movsx ecx, byte [rsp + 0x41]
mov eax, dword [rsp + 0x54]
add eax, ecx
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x48]
add eax, 0x276
mov dword [rsp + 0x58], eax
movsx eax, word [0x18004eb18]
add eax, 0x35b0fe51
cmp byte [0x18004ea1b], r13b
mov qword [0x18004ebc0], rax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x48], eax
je 0x180026af2
mov sil, byte [rsp + 0x40]
add sil, 0xa
jmp 0x180026b0b
mov eax, dword [0x18004eb7c]
add r12b, r12b
add eax, 0x8b4ca3ce
mov byte [rsp + 0x40], r12b
mov dword [0x18004ea1c], eax
mov eax, dword [rsp + 0x48]
mov edx, r13d
add eax, 0x132
mov r8d, 0x94af87f6
mov dword [rbp - 0x80], eax
mov ecx, dword [rsp + 0x54]
movzx eax, bl
cmp eax, ecx
mov eax, dword [0x18004eb20]
mov ecx, r13d
seta dl
cmp bl, 0x4a
seta cl
cmp edx, ecx
cmovb eax, r8d
mov dword [0x18004eb20], eax
mov eax, dword [rsp + 0x48]
add eax, 0x310
mov dword [rbp], eax
mov rax, qword [0x18004eb58]
sub rax, 0x5d332b37
mov qword [str.O__nIIY], rax
mov rax, qword [rsp + 0x70]
mov cl, byte [0x18004eb30]
sub cl, al
movsx eax, dil
movsx edi, cl
imul edi, eax
mov eax, dword [rsp + 0x48]
add eax, 0x69
mov dword [rsp + 0x58], eax
movsx rcx, byte [0x18004ea46]
mov rax, qword [0x18004eb08]
not dil
cmp rax, rcx
jbe 0x180026bb8
movsx eax, word [0x18004ea9c]
add eax, 0x5c16a2df
mov dword [0x18004eb88], eax
add dil, 1
jmp 0x180026bd2
mov eax, dword [0x18004eb90]
test eax, eax
je 0x180026bd2
movsx eax, byte [0x18004ea86]
sub eax, 0x58
cdqe
mov qword [rbp - 0x48], rax
mov ecx, dword [0x18004eb1c]
lea r9, [rbp + 0x18]
mov eax, dword [0x18004eba0]
lea rdx, [rbp - 0x28]
mov rbx, qword [rbp + 0x58]
add ecx, eax
mov rax, qword [0x18004eb70]
xor r8d, r8d
mov dword [0x18004eb1c], ecx
mov rcx, qword [0x18004eaf0]
add rcx, rax
mov qword [rbp - 0x28], r13
or rcx, rax
mov dword [rbp + 0x48], r13d
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x18], rax
mov eax, dword [rsp + 0x54]
add eax, dword [0x18004eb00]
dec byte [0x18004ea47]
mov qword [0x18004eb70], rcx
mov rcx, qword [rbp - 0x30]
add ecx, 0x21c42a16
mov dword [rbp + 0x40], r13d
add eax, ecx
mov dword [rsp + 0x28], 0x40
mov rcx, rbx
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x20], 0x3000
call fcn.180001778
mov edx, dword [rsp + 0x50]
mov r9d, eax
mov ecx, dword [rsp + 0x50]
sub edx, ecx
mov r8d, dword [rsp + 0x50]
mov ecx, dword [rsp + 0x50]
add r8d, ecx
mov ecx, dword [rbp - 8]
or r8d, edx
add ecx, 0x3e1
cmp r8d, ecx
je 0x180026cbb
test eax, eax
jns 0x180026cbb
mov ecx, dword [0x18004ea1c]
movsx eax, word [0x18004ea9c]
xor rcx, 0x31f8
sub qword [0x18004eb68], rcx
sub eax, 0xa1
cdqe
mov qword [0x18004eb98], rax
mov eax, r9d
jmp 0x180028124
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x30], r13d
mov r8, rcx
mov dword [rsp + 0x28], r13d
lea r9, [rbp + 0x20]
mov dword [rsp + 0x20], 0x1fffff
mov rdx, rbx
call fcn.1800021ff
mov edx, dword [rbp - 0x70]
mov r12d, eax
mov ecx, dword [rsp + 0x4c]
sub edx, ecx
mov ecx, dword [rsp + 0x4c]
sub edx, ecx
mov r8d, dword [rbp - 0x50]
add r8d, edx
mov dword [rbp + 8], eax
mov edx, dword [rsp + 0x4c]
mov ecx, dword [rbp - 0x7c]
or edx, ecx
cmp edx, r8d
je 0x180027366
cmp word [rbp - 0x6c], r13w
je 0x180026dcc
xor edx, edx
xor ecx, ecx
call fcn.18002468c
cmp dword [0x18004eb24], r13d
mov edx, r13d
mov byte [rsp + 0x41], al
movsx eax, word [0x18004eb18]
sete dl
cmp edx, eax
jle 0x180026de9
mov cl, byte [rsp + 0x43]
mov al, byte [rsp + 0x44]
cmp cl, al
jne 0x180026d79
mov al, byte [rsp + 0x42]
test al, al
movzx eax, byte [0x18004ea47]
jne 0x180026d64
movsx eax, byte [0x18004ea46]
mov dword [rsp + 0x5c], eax
mov eax, dword [0x18004eb34]
sub eax, dword [rbp + 0x10]
mov dword [0x18004eb34], eax
jmp 0x180026de9
mov ecx, r13d
movsx eax, dil
mov r13, qword [rbp - 0x68]
cmp eax, r13d
movsx eax, sil
setne cl
cmp ecx, eax
je 0x180026ded
mov rax, qword [0x18004eb98]
xor edx, edx
mov ecx, 0x6eec
add ax, cx
mov ecx, edx
mov word [0x18004eb94], ax
mov al, byte [rsp + 0x40]
test al, al
movzx eax, byte [0x18004ea47]
sete cl
add eax, ecx
add eax, dword [0x18004eb88]
mov dword [0x18004eb78], eax
jmp 0x180026ded
mov eax, dword [0x18004eb68]
add eax, 0x83ad
mov dword [rsp + 0x54], eax
mov rax, r14
shl rax, 8
mov word [0x18004eb8c], ax
mov r13, qword [rbp - 0x68]
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
add eax, 0xb07e
mov dword [rbp - 0x7c], eax
mov cl, byte [rsp + 0x44]
mov esi, dword [rsp + 0x54]
mov dl, byte [0x18004ea86]
add sil, 0x80
mov al, dl
sub al, cl
and dl, al
mov eax, dword [rsp + 0x4c]
add eax, 0x47
mov byte [0x18004ea86], dl
mov dword [rbp - 0x50], eax
mov rax, qword [0x18004eaf0]
mov rcx, qword [0x18004eb58]
test rax, rax
movsxd rax, dword [0x18004eb20]
sete bl
xor rcx, rax
mov rax, qword [0x18004eb58]
xor r9d, r9d
sub bl, byte [0x18004ea86]
and rax, rcx
mov qword [0x18004eb58], rax
xor r8d, r8d
mov eax, dword [rsp + 0x4c]
mov ecx, 0xc8
add eax, 0x5fde
xor bl, r14b
mov dword [rbp - 0x50], eax
movzx edx, byte [rsp + 0x43]
call fcn.18002435c
mov rdx, qword [rsp + 0x70]
movzx r14d, ax
mov rcx, qword [rsp + 0x70]
or rdx, rcx
jne 0x180026ec4
movsx edx, byte [rbp - 0x18]
mov eax, 0xc2b3f9ab
xor rdx, rax
mov qword [0x18004eaf8], rdx
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x70]
sub rdx, rcx
add rax, rdx
mov qword [rsp + 0x70], rax
mov r8b, byte [rsp + 0x42]
xor edx, edx
xor ecx, ecx
call fcn.180024928
xor r8d, r8d
cmp al, 0x31
mov edx, r8d
mov ecx, r8d
setle dl
test al, al
setle cl
cmp ecx, edx
je 0x180026f39
mov eax, dword [0x1800368f8]
lea rcx, [rbp + 0x80]
movsd xmm0, qword [str.CreateEventExW]
mov dword [rbp + 0x88], eax
movzx eax, word [0x1800368fc]
mov word [rbp + 0x8c], ax
mov al, byte [0x1800368fe]
mov byte [rbp + 0x8e], al
movsd qword [rbp + 0x80], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
xor r8d, r8d
mov qword [reloc.mozglue.dll_export_full.dll_Ordinal_116], rcx
mov ecx, dword [rbp - 0x7c]
mov r9d, 1
mov eax, dword [rbp - 0x50]
xor ecx, 0xe1
xor eax, 0xab
movsx edx, bl
add ecx, 0xfffef1cf
movsx r15d, dil
add eax, ecx
not edx
mov dword [rbp - 0x50], eax
mov ecx, r8d
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
add eax, 0xdc
mov dword [rbp - 0x7c], eax
mov eax, dword [rsp + 0x5c]
cmp r15d, eax
movzx ebx, byte [rsp + 0x44]
setg cl
cmp edx, 0xa2
cmovle ecx, r9d
test ecx, ecx
je 0x180026f9d
mov ebx, dword [rbp - 0x6c]
mov eax, dword [rsp + 0x4c]
mov ecx, 0x361
add eax, 0x5b
mov dword [rsp + 0x48], eax
mov eax, 0x2498
add bx, ax
add r13d, ecx
mov qword [rbp - 0x68], r13
mov edx, 0x398
mov rax, qword [rbp - 0x78]
sub r14b, al
sub rdx, r9
jne 0x180026fc1
sub rcx, r9
jne 0x180026fbc
mov eax, dword [rsp + 0x4c]
mov r9b, 0x8d
add eax, 0x6346
mov dl, 0x46
mov dword [rbp - 0x7c], eax
mov cl, 0x62
mov r8, qword [0x18004eb48]
call fcn.180024aa8
movzx eax, al
xor r9d, r9d
mov word [0x18004ebb8], ax
movzx eax, word [0x18004ebb8]
test ax, ax
jne 0x180027020
lea ecx, [r9 + 0x24]
call fcn.180024528
movsxd rcx, eax
xor r9d, r9d
mov qword [0x18004eb10], rcx
mov ecx, 0x3d6
mov r10d, 1
mov al, byte [0x180c4c910]
mov byte [rsp + 0x41], al
mov al, byte [rsp + 0x40]
add al, r10b
mov byte [rsp + 0x40], al
sub rcx, r10
jne 0x18002702b
mov eax, dword [rsp + 0x48]
mov ecx, 0x32e
sub ecx, eax
mov eax, dword [rsp + 0x48]
sub ecx, eax
mov eax, dword [rsp + 0x48]
sub ecx, eax
mov eax, dword [0x180c4c910]
cmp qword [0x18004eb68], r9
mov dword [rbp - 8], ecx
mov dword [rsp + 0x4c], eax
je 0x1800270d7
test dil, dil
je 0x18002707e
mov byte [rsp + 0x43], 0x23
jmp 0x1800270d7
mov eax, dword [rbp - 0x30]
movsx ecx, word [0x18004ebb8]
not eax
cmp ecx, eax
jl 0x1800270d7
movsx eax, word [0x18004eb30]
movsx edx, byte [0x18004ea1b]
add edx, eax
movzx eax, word [0x18004eb94]
movsxd rcx, dword [rsp + 0x5c]
sub edx, eax
mov rax, qword [0x18004eaf0]
add edx, 0x7e
imul rax, rcx
mov rcx, r9
movsxd r13, edx
test rax, rax
mov rax, qword [0x18004eb08]
sete cl
and rax, rcx
sub r13, rax
mov qword [rbp - 0x48], r13
mov eax, dword [rsp + 0x4c]
add eax, 0x5c
mov dword [rbp - 0x7c], eax
movzx ecx, byte [0x18004ea07]
imul r13d, dword [0x18004eb7c], 0xf9
inc ecx
movsx eax, bx
add ecx, eax
mov dword [rsp + 0x5c], ecx
mov eax, dword [rsp + 0x4c]
add eax, 0x2a
mov dword [rbp - 0x7c], eax
mov rax, qword [rbp - 0x78]
sub qword [rbp - 0x48], rax
cmp byte [rsp + 0x60], 0xbb
je 0x18002711e
movzx eax, byte [rsp + 0x43]
jmp 0x180027125
mov rax, qword [0x18004eb98]
mov dword [rsp + 0x64], eax
mov r8d, 0x12e6
mov qword [rbp + 0x10], r10
movsx rcx, word [0x18004eb18]
imul rcx, qword [0x18004eb40]
mov edx, dword [rsp + 0x54]
xor rdx, rcx
mov ecx, dword [rsp + 0x54]
not ecx
sub rdx, rcx
mov rcx, qword [0x18004eb58]
add rcx, 0xffffffffdf21a23a
add rcx, rdx
mov qword [0x18004eb08], rcx
mov ecx, dword [0x18004eba0]
shr rcx, 8
mov qword [rbp - 0x78], rcx
mov edx, dword [0x18004eba0]
mov eax, dword [0x18004eba0]
sub rdx, rax
mov rax, qword [0x18004eb50]
add eax, edx
mov dword [0x18004eba0], eax
sub r8, r10
jne 0x180027133
mov eax, dword [rsp + 0x4c]
add eax, 0x78
mov byte [rbp - 0x18], 0xd6
mov dword [rbp - 0x70], eax
movsx eax, byte [0x18004ea46]
imul eax, eax, 0x369ad49d
movsxd rcx, eax
mov eax, dword [rbp - 0x7c]
add r13, rcx
add eax, 0x396
mov dword [rbp - 0x7c], eax
test r12d, r12d
jns 0x18002736c
movzx ecx, byte [0x18004ea06]
mov eax, 0xa80
sub cx, ax
xor r9d, r9d
mov word [0x18004ebb8], cx
imul ecx, r15d, 0x4d
lea edx, [r9 + 0x23]
mov byte [rsp + 0x40], cl
mov ecx, 0xffffdece
mov rax, qword [0x18004eb38]
movsx ecx, cx
movsx r8d, ax
mov eax, dword [0x180c4c910]
imul r8d, ecx
mov ecx, 0xe5
mov word [0x18004eb18], r8w
mov dword [rsp + 0x4c], eax
movzx r8d, word [0x18004eb18]
call fcn.18002435c
mov byte [rsp + 0x41], al
mov al, byte [rsp + 0x41]
mov ecx, dword [rsp + 0x4c]
mov eax, dword [rbp - 0x50]
add ecx, eax
mov dword [rbp - 0x50], ecx
mov ecx, dword [rsp + 0x4c]
mov eax, dword [rbp - 8]
add ecx, eax
mov dword [rsp + 0x48], ecx
mov ecx, 0x1c9
mov eax, dword [0x18004eb34]
add ax, cx
add word [0x18004eb30], ax
mov rax, qword [0x18004eb58]
imul r13, rax
mov eax, dword [rsp + 0x4c]
add eax, 0x34d
mov dword [rbp - 8], eax
mov ecx, dword [rsp + 0x48]
mov eax, dword [rbp - 0x7c]
or ecx, eax
mov edx, dword [rsp + 0x48]
add edx, ecx
mov ecx, dword [rbp - 0x50]
mov eax, dword [rsp + 0x48]
or ecx, 0x2ab
imul eax, ecx
imul eax, eax, 0x11a
cmp eax, edx
je 0x18002736c
xor edi, edi
cmp qword [rbp - 0x28], rdi
je 0x1800272f1
movsxd rdx, dword [rsp + 0x5c]
lea r8, [rbp + 0x18]
mov rcx, qword [rbp + 0x58]
movabs rax, 0xf75a2c229a585
imul rdx, rax
mov eax, dword [rsp + 0x54]
mov r9d, 0x8000
mov qword [0x18004eb40], rdx
add eax, 0x717d3977
lea rdx, [rbp - 0x28]
mov dword [rsp + 0x54], eax
call fcn.1800018f9
mov ebx, 0x158
mov r12d, 1
mov ecx, dword [rsp + 0x5c]
call fcn.180024528
mov dword [0x18004eb88], eax
test eax, eax
je 0x180027324
test sil, sil
movzx ecx, r14b
movzx eax, al
cmovne ecx, eax
mov byte [0x18004ea46], cl
jmp 0x180027352
movzx eax, byte [rsp + 0x43]
mov edx, edi
cmp dword [0x18004eb88], eax
movsx eax, byte [rsp + 0x42]
setge dl
cmp eax, edx
jl 0x18002734b
mov eax, 0xffff8765
mov word [0x18004ea9c], ax
jmp 0x180027352
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
add qword [str.O__nIIY], r12
sub rbx, r12
jne 0x1800272fc
mov eax, dword [rbp + 8]
jmp 0x180028124
mov r13, qword [rbp + 0x38]
jmp 0x180027370
mov r15, qword [rbp + 0x28]
mov r9, qword [rbp + 0x50]
lea rax, [rbp + 0x48]
mov r8, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
call fcn.180002165
xor r14d, r14d
mov ebx, eax
test eax, eax
jns 0x180027519
xor ecx, ecx
call fcn.180024528
cmp al, 0x56
mov dword [rsp + 0x68], eax
mov edx, r14d
mov ecx, r14d
setne dl
test al, al
setne cl
cmp ecx, edx
jae 0x1800273cd
mov rcx, qword [0x18004eb50]
test rcx, rcx
je 0x1800273cd
lea eax, [rdi - 0x45]
mov byte [rsp + 0x43], al
movzx edx, byte [rsp + 0x43]
movzx eax, byte [rsp + 0x44]
mov r8d, dword [0x18004eb90]
imul eax, edx
mov edx, r14d
sub r8w, ax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x4c], eax
mov rcx, qword [0x18004eb58]
movsx rax, r8w
cmp rax, rcx
mov eax, r14d
setne dl
cmp r8w, 0x50
setne al
cmp edx, eax
jae 0x180027431
movsx ecx, byte [rsp + 0x40]
not r15d
mov eax, dword [0x18004eba0]
sub ecx, eax
mov al, byte [0x18004ea06]
imul r15d, ecx
sub dil, al
jmp 0x180027438
mov al, byte [rsp + 0x43]
mov sil, dil
mov eax, dword [rsp + 0x4c]
add eax, 0x1af
mov dword [rbp - 0x7c], eax
mov eax, dword [0x18004eb78]
movzx ecx, word [0x18004eba8]
add eax, 0x451c7e4f
mov qword [rsp + 0x70], rax
movabs rax, 0x2a7865f63453a
imul rcx, rax
mov al, byte [rsp + 0x40]
sub al, cl
mov ecx, 0xc4
mov byte [rsp + 0x40], al
mov eax, dword [rsp + 0x4c]
add eax, 0xf0
mov dword [rbp - 0x7c], eax
mov eax, dword [0x18004eb78]
movabs rax, 0xec0b93f16e276
mov qword [str.O__nIIY], rax
mov eax, dword [rsp + 0x4c]
add eax, 0x3bb
mov dword [rbp - 0x7c], eax
mov edx, dword [rbp + 0x44]
mov eax, dword [rbp - 0x1c]
imul edx, eax
mov eax, dword [rbp - 0x7c]
sub ecx, eax
cmp ecx, edx
je 0x180027519
cmp qword [rbp - 0x28], r14
je 0x1800274e9
mov rax, qword [rbp - 0x68]
lea r8, [rbp + 0x18]
sub r15d, eax
lea rdx, [rbp - 0x28]
mov dword [rsp + 0x54], r15d
mov r9d, 0x8000
movzx eax, word [0x18004eb18]
mov rcx, qword [rbp + 0x20]
call fcn.1800018f9
movzx eax, byte [0x18004ea06]
movsx r8d, word [0x18004eb18]
movzx ecx, byte [0x18004ea47]
add r8d, eax
movsx eax, byte [0x18004ea5e]
add eax, r8d
add ecx, eax
mov dword [0x18004eb24], ecx
jmp 0x180028122
mov rcx, qword [rbp + 0x20]
lea rax, [rbp + 0x40]
mov r9d, 0x20
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x28]
call fcn.180002803
mov ecx, dword [rbp - 0x38]
mov edx, 0x1d5
sub edx, ecx
mov r14d, eax
mov ecx, dword [rbp - 0x54]
add ecx, edx
cmp ecx, 0x2a6
je 0x180027bd3
mov ecx, dword [0x180036908]
movsd xmm0, qword [0x180036900]
mov dword [rbp + 0x98], ecx
lea rcx, [rbp + 0x90]
movsd qword [rbp + 0x90], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
xor r9d, r9d
xor edx, edx
mov r12b, al
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
mov r8b, byte [0x18004eb68]
add eax, 0xaf
mov cl, byte [0x18004ea04]
mov dword [rbp - 0x38], eax
mov dword [rsp + 0x68], r12d
call fcn.180024aa8
mov bl, al
cmp al, 0x29
jb 0x1800275e4
movzx edx, word [0x18004eb94]
mov rcx, qword [0x18004eb58]
cmp rcx, rdx
ja 0x1800275e4
mov rcx, qword [0x18004eb48]
mov eax, 0x77c2
add cx, ax
mov word [0x18004eb30], cx
mov eax, dword [rsp + 0x4c]
add eax, 0xca40
mov dword [rbp - 0x54], eax
mov edx, dword [rsp + 0x5c]
mov r8b, byte [0x18004eb30]
mov cl, byte [rsp + 0x41]
call fcn.180024928
xor r11d, r11d
movzx eax, al
mov dword [0x18004eb90], eax
mov edx, r11d
mov eax, dword [0x18004eb90]
mov ecx, r11d
cmp eax, 0x5a
mov eax, dword [0x18004eb90]
setge dl
test eax, eax
setns cl
cmp ecx, edx
jb 0x18002769c
mov byte [rsp + 0x40], 3
movsx ecx, byte [rsp + 0x42]
movzx eax, word [0x18004eba8]
add cx, ax
and ax, cx
movsx ecx, byte [rsp + 0x40]
mov word [0x18004eba8], ax
sub ecx, 1
je 0x18002768a
sub ecx, 1
je 0x180027679
mov r9d, dword [rsp + 0x68]
cmp ecx, 1
jne 0x18002773a
add bl, bl
add bl, byte [0x18004ea9c]
jmp 0x18002773a
mov al, byte [rsp + 0x41]
mov dil, 0x43
mov rax, qword [rsp + 0x70]
jmp 0x180027735
mov eax, dword [rsp + 0x54]
sub eax, 0x3c
mov dword [0x18004eb90], eax
jmp 0x180027735
test dil, dil
je 0x1800276d1
cmp qword [0x18004eb10], r11
je 0x1800276b3
mov cl, byte [rbp - 0x48]
mov qword [rbp - 0x18], rcx
jmp 0x1800276bc
mov eax, dword [0x18004eb90]
mov byte [rbp - 0x18], al
mov r9b, byte [0x18004eb70]
sub r9b, dil
sub r9b, 0x51
mov dword [rsp + 0x68], r9d
jmp 0x18002773a
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1800276ff
mov eax, dword [0x18004ea1c]
test eax, eax
movsx rcx, byte [0x18004ea1b]
mov rdx, qword [0x18004eb70]
cmovne rdx, rcx
mov qword [0x18004eb98], rdx
jmp 0x180027735
movzx eax, r12b
mov edx, r11d
cmp qword [rbp + 0x10], rax
mov ecx, r11d
mov eax, dword [0x18004ea1c]
setne dl
test eax, eax
setne cl
cmp edx, ecx
ja 0x180027735
mov eax, dword [0x18004ebc0]
add eax, 0xffffff21
mov dword [rsp + 0x64], eax
movzx ebx, word [0x18004eb18]
mov r9d, dword [rsp + 0x68]
mov eax, dword [rsp + 0x4c]
add eax, 0x9b32
cmp byte [0x18004ea5e], r11b
mov dword [rbp - 0x1c], eax
movzx ecx, word [0x18004eb94]
jne 0x18002775a
movsx ecx, dil
cmp word [0x18004eba8], r11w
movsxd r8, ecx
je 0x1800277ab
mov edx, 0x12f
mov r11d, 1
mov bl, byte [rsp + 0x40]
movsx rcx, byte [rsp + 0x42]
mov rax, qword [0x18004eb98]
sub rcx, rax
shl bl, 3
mov qword [rsp + 0x70], rcx
mov eax, dword [0x18004ebac]
add eax, r11d
mov dword [0x18004ebac], eax
sub rdx, r11
jne 0x180027772
mov r10, qword [rbp - 0x30]
xor r11d, r11d
jmp 0x1800277c8
movzx ecx, byte [rsp + 0x44]
mov eax, dword [0x18004eb1c]
mov r10, qword [rbp - 0x30]
inc eax
imul ecx, r10d
add ecx, eax
not ecx
mov dword [rsp + 0x54], ecx
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp - 0x60]
mov edx, dword [rbp - 0x54]
imul ecx, eax
mov eax, dword [rbp - 0x38]
xor edx, eax
sub edx, ecx
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp - 0x60]
mov r12d, dword [0x18004eb68]
imul eax, ecx
add r12d, 0x8a1a
add eax, 0xffff36ef
add eax, edx
mov dword [rbp - 0x54], eax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
add eax, 0x3330
mov dword [rbp - 0x38], eax
mov eax, dword [rsp + 0x4c]
add eax, 0xa1c2
mov dword [rbp - 0x60], eax
mov ecx, dword [0x18004ea1c]
mov eax, dword [0x18004eb34]
cmp eax, ecx
ja 0x18002784a
movsx ecx, word [0x18004eb30]
mov eax, dword [rsp + 0x5c]
cmp ecx, eax
jg 0x1800278b7
mov eax, dword [rsp + 0x54]
sub qword [0x18004eb60], rax
jmp 0x1800278b7
test r9b, r9b
jne 0x180027861
movsx eax, byte [0x18004eba4]
imul ecx, eax, 0x4f
mov byte [0x18004ea5e], cl
jmp 0x1800278b7
cmp word [0x18004eb2c], r11w
je 0x1800278b7
mov rdx, qword [rsp + 0x70]
mov rax, r11
cmp dword [0x18004eb20], r11d
mov rcx, r11
sete al
sub rdx, rax
movzx eax, word [0x18004eb94]
test ax, ax
mov eax, 0xea2e
sete cl
sub rdx, rcx
mov ecx, dword [0x18004ea1c]
cmp eax, ecx
mov al, byte [rsp + 0x44]
mov rcx, r11
sete cl
and rcx, rdx
not rcx
mov qword [0x18004ebc0], rcx
mov eax, dword [rsp + 0x4c]
mov edx, r11d
add eax, 0x109
mov dword [rbp - 0x38], eax
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x70]
sub rcx, rax
movzx eax, word [0x18004eba4]
add ax, ax
mov qword [rsp + 0x70], rcx
add ax, r8w
mov ecx, 0x18
mov word [0x18004eba4], ax
mov eax, dword [rbp - 0x5c]
sub ecx, eax
mov eax, dword [rbp - 0x60]
sub ecx, eax
mov eax, dword [rbp - 0x60]
add ecx, eax
mov eax, dword [rbp - 0x5c]
add eax, ecx
mov dword [rbp - 0x38], eax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x4c]
add eax, 0x1bc4
mov dword [rbp - 0x5c], eax
mov eax, dword [rsp + 0x4c]
movzx ecx, word [0x18004eb8c]
add eax, 0x1688
cmp rcx, r13
mov dword [rbp - 0x1c], eax
mov eax, r11d
setle dl
cmp ecx, 0x2f
setbe al
cmp edx, eax
ja 0x180027950
mov qword [0x18004eaf0], 0x37
mov eax, dword [rsp + 0x4c]
add eax, 0xd8d4
mov dword [rbp - 0x1c], eax
mov rax, qword [0x18004eb38]
movzx ecx, al
imul eax, ecx, 0xd0
mov ecx, dword [rbp - 0x5c]
add byte [0x18004ea5f], al
mov eax, dword [rbp - 0x5c]
xor ecx, eax
xor ecx, 0x290
mov dword [rbp - 0x1c], ecx
test r14d, r14d
jns 0x180027bda
movzx eax, byte [rsp + 0x44]
mov edx, r11d
cmp eax, dword [0x18004eb88]
mov ecx, r11d
mov al, byte [rsp + 0x44]
setne dl
cmp al, 0xa
setne cl
cmp edx, ecx
jb 0x180027a5d
mov byte [rsp + 0x42], 4
mov al, byte [rsp + 0x43]
add al, 0x66
add al, r12b
mov byte [rsp + 0x43], al
movsx ecx, byte [rsp + 0x40]
mov al, byte [rsp + 0x40]
sub ecx, r12d
sub cl, al
mov byte [rsp + 0x40], cl
movsx ecx, byte [rsp + 0x42]
sub ecx, 1
je 0x180027a55
sub ecx, 1
je 0x180027a3e
sub ecx, 1
je 0x180027a1c
cmp ecx, 1
jne 0x180027a76
movzx ecx, byte [rsp + 0x43]
lea eax, [r10 - 0xdd3d]
movsxd r13, eax
mov eax, 0xffffd759
xor cx, ax
movzx eax, word [0x18004eb18]
add cx, ax
mov word [0x18004eb18], cx
jmp 0x180027a76
movzx eax, word [rbp - 0x48]
sub ax, 0x60
mov word [0x18004eb94], ax
mov al, byte [0x18004ea47]
add al, al
sub al, r15b
mov byte [0x18004ea47], al
jmp 0x180027a76
movzx eax, word [0x18004ebbc]
add ax, word [0x18004eb60]
mov word [0x18004ebbc], ax
jmp 0x180027a76
add sil, sil
sub sil, dil
jmp 0x180027a76
movsx rax, byte [0x18004ea5e]
cmp rax, qword [0x18004eb60]
jge 0x180027a76
add bl, bl
add bl, byte [0x18004eb40]
mov al, byte [rsp + 0x41]
mov eax, dword [rsp + 0x54]
mov al, byte [rsp + 0x41]
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x4c], eax
mov ecx, dword [rsp + 0x4c]
mov eax, dword [rbp - 0x54]
add ecx, eax
mov dword [rbp - 0x60], ecx
mov ecx, dword [rsp + 0x4c]
mov eax, dword [rbp - 0x38]
add ecx, eax
movsx eax, sil
not eax
mov dword [rbp - 0x5c], ecx
test eax, eax
je 0x180027ab9
mov al, byte [rsp + 0x42]
mov r8, r11
test al, al
jne 0x180027abf
mov r8d, 1
movzx eax, byte [0x18004ea06]
mov edx, r11d
mov r15, qword [rbp - 0x18]
mov ecx, r11d
movsx rsi, r15b
cmp r13, rsi
sete dl
or edx, eax
mov rax, qword [0x18004eb50]
cmp rax, r8
setne cl
cmp edx, ecx
jbe 0x180027b23
mov rax, qword [0x18004eb50]
movabs r8, 0xca89d2817f02d
movsx ecx, word [0x18004ebb8]
sub r8, rax
mov rax, qword [0x18004eb50]
not ecx
movsxd rdx, ecx
not r8
imul rdx, r8
add al, dl
mov byte [rsp + 0x43], al
jmp 0x180027b4b
test bl, bl
je 0x180027b4b
movzx eax, word [0x180c4c910]
movzx ecx, word [0x18004eba4]
mov word [0x18004eb30], ax
mov eax, dword [0x18004eb20]
lea ecx, [rcx + rax*2]
mov dword [0x18004eb20], ecx
mov eax, dword [rsp + 0x4c]
add eax, 0x12f
mov dword [rbp - 0x54], eax
mov edx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x60]
add edx, eax
mov r8d, dword [rbp - 0x5c]
mov ecx, dword [rbp - 0x60]
or r8d, edx
mov eax, dword [rbp - 0x1c]
add ecx, 0x277
add ecx, eax
cmp r8d, ecx
je 0x180027bde
cmp qword [rbp - 0x28], r11
je 0x180027b96
mov rcx, qword [rbp + 0x20]
lea r8, [rbp + 0x18]
mov r9d, 0x8000
lea rdx, [rbp - 0x28]
call fcn.1800018f9
cmp rsi, qword [0x18004eb10]
jne 0x180027bad
mov eax, 2
mov word [0x18004eba4], ax
jmp 0x180027bcb
mov al, byte [rsp + 0x41]
test al, al
je 0x180027bbe
movzx eax, word [0x18004eba4]
jmp 0x180027bc4
mov eax, dword [0x18004eba0]
mov qword [0x18004eb38], rax
mov eax, r14d
jmp 0x180028124
mov r12, qword [rbp - 0x68]
xor r11d, r11d
mov r15, qword [rbp - 0x18]
mov rsi, qword [rbp + 0x68]
xor r9d, r9d
mov rdx, qword [rbp - 0x28]
mov rcx, rsi
xor r8d, r8d
mov qword [rsp + 0x20], r11
call fcn.1800024b4
mov edx, dword [rbp + 0x34]
xor r14d, r14d
mov ecx, dword [rbp + 0xc]
or edx, ecx
mov ecx, dword [rbp - 0x58]
sub edx, ecx
mov r8d, dword [rsp + 0x78]
add r8d, edx
mov dword [rbp - 0x54], eax
mov edx, dword [rbp - 0x20]
mov ecx, dword [rbp - 0x58]
sub edx, ecx
mov eax, dword [rsp + 0x78]
sub edx, eax
cmp edx, r8d
je 0x180027fe1
movsx rax, word [0x18004ea9c]
mov ecx, 0xcc2658e2
mov qword [0x180d478e8], rax
mov word [0x18004eb28], r14w
mov rax, qword [0x18004eaf8]
sub rax, rcx
mov qword [0x18004eaf0], rax
movzx eax, word [0x18004eb28]
test ax, ax
jne 0x180027c78
mov ecx, dword [0x18004ebac]
mov eax, dword [0x18004eb34]
add ecx, eax
mov dword [0x18004ebac], ecx
mov eax, dword [0x180c4c910]
mov ecx, dword [0x18004eb20]
mov r9d, dword [rsp + 0x68]
mov rbx, qword [rbp - 0x48]
mov dword [rsp + 0x4c], eax
mov eax, dword [0x18004eb10]
xor eax, ecx
sub ecx, eax
mov eax, dword [rsp + 0x4c]
add eax, 0xd725
mov dword [0x18004eb20], ecx
mov dword [rbp + 0xc], eax
movsx rax, dil
mov edi, 1
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x4c]
add eax, 0x2e
mov dword [rbp - 0x20], eax
mov eax, 0x48a0
movsx ecx, byte [0x18004ea46]
add cx, ax
mov word [0x18004eb28], cx
mov eax, dword [rsp + 0x4c]
add eax, 0x86
mov dword [rbp + 0x34], eax
movzx edx, byte [rsp + 0x44]
mov r8, qword [rbp - 0x78]
movzx eax, r9b
add rdx, rax
add r8, rdx
mov edx, 0x15b
movsx rcx, byte [rsp + 0x40]
mov al, byte [rsp + 0x40]
sub rcx, rbx
sub cl, al
mov byte [rsp + 0x40], cl
sub rdx, rdi
jne 0x180027cff
mov al, byte [0x18004ea07]
mov ecx, dword [rbp - 0xc]
mov eax, dword [rbp - 0xc]
xor ecx, eax
mov edx, dword [rbp - 0x10]
mov eax, dword [rbp - 0x20]
add edx, 0x269
mov ebx, dword [rbp - 0x54]
imul edx, ecx
mov ecx, dword [rbp + 0xc]
sub ecx, eax
xor ecx, 0xeddd
lea eax, [rdx - 0x3943]
mov edx, r14d
add eax, ecx
mov ecx, r14d
mov dword [rbp - 0x10], eax
movzx eax, byte [0x18004ea5f]
cmp rax, r8
mov eax, dword [0x18004eb7c]
movabs r8, 0x46f8d3c0843d5
setb dl
cmp rax, r8
setbe cl
cmp ecx, edx
ja 0x180027d9a
movsxd rdx, dword [0x18004eb78]
movsxd rax, dword [0x18004eb78]
sub rdx, rax
mov rax, qword [0x18004eaf8]
add eax, edx
mov dword [0x18004eb78], eax
mov eax, dword [0x180c4c910]
mov ecx, 0x123
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x54]
sub eax, edi
mov dword [rsp + 0x54], eax
mov al, byte [rsp + 0x40]
add al, dil
mov byte [rsp + 0x40], al
sub rcx, rdi
jne 0x180027da9
mov eax, dword [rsp + 0x4c]
add eax, 0xf228
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x4c]
add eax, 0x53a8
mov dword [rbp - 0xc], eax
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x180027e4b
mov r8, qword [0x18004eb08]
xor edx, edx
mov cl, r15b
call fcn.180024928
mov r9d, dword [rsp + 0x68]
mov edx, r14d
movzx ecx, al
mov eax, r14d
cmp ecx, 5
mov word [0x18004eb8c], cx
seta dl
test cx, cx
setne al
cmp eax, edx
je 0x180027e42
movsx eax, byte [rsp + 0x42]
add eax, r12d
cdqe
mov qword [0x18004eb58], rax
mov al, byte [rsp + 0x43]
mov eax, dword [rsp + 0x5c]
mov al, byte [rsp + 0x41]
mov al, byte [rsp + 0x42]
mov eax, dword [rsp + 0x64]
jmp 0x180027e63
movzx eax, word [0x18004ebbc]
jmp 0x180027e63
cmp word [0x18004eb8c], r14w
jne 0x180027e5a
test r15b, r15b
je 0x180027e63
mov rax, qword [rsp + 0x70]
mov eax, dword [rsp + 0x54]
mov eax, dword [rsp + 0x4c]
add eax, 0x6801
mov dword [rbp - 0x20], eax
movsx eax, byte [0x18004ea86]
mov qword [rsp + 0x70], 2
sar eax, 4
mov dword [0x18004eb20], eax
mov rax, qword [rsp + 0x70]
mov edx, dword [rbp - 0xc]
mov eax, dword [rsp + 0x78]
xor edx, eax
mov ecx, dword [rbp - 0xc]
mov eax, dword [rsp + 0x78]
or ecx, eax
add qword [str.O__nIIY], 0x21f
imul ecx, edx
add ecx, 0x664985f8
mov dword [rbp - 0x20], ecx
test ebx, ebx
jns 0x180027fe6
movzx eax, r9b
mov edx, r14d
add dword [0x18004eb20], eax
mov al, byte [0x18004ea06]
mov cl, byte [rsp + 0x44]
and cl, al
mov eax, dword [0x180c4c910]
mov byte [0x18004ea06], cl
mov dword [rsp + 0x4c], eax
mov ecx, dword [rsp + 0x4c]
mov eax, dword [rbp - 0x10]
add ecx, eax
mov dword [rsp + 0x48], ecx
movzx eax, byte [rsp + 0x44]
cmp word [0x18004eba8], ax
mov eax, r14d
setne dl
cmp word [0x18004eba8], 0x1f
setne al
cmp edx, eax
je 0x180027f36
mov cl, byte [0x18004ea07]
mov al, byte [rsp + 0x44]
cmp cl, al
jae 0x180027f36
movzx ecx, word [0x18004ebbc]
xor ecx, 0x3c2e12c7
mov dword [0x18004eb24], ecx
mov eax, dword [rsp + 0x4c]
add eax, 0x371
mov dword [rbp - 0x10], eax
mov rcx, qword [0x18004eaf8]
movsxd rax, dword [rbp - 0x30]
sub rcx, rax
mov qword [0x18004eaf8], rcx
mov ecx, dword [rsp + 0x4c]
mov eax, dword [rbp - 0x20]
add ecx, eax
mov dword [rsp + 0x4c], ecx
mov edx, dword [rsp + 0x4c]
mov eax, dword [rbp - 0x10]
add edx, eax
mov ecx, dword [rsp + 0x48]
add ecx, edx
mov edx, dword [rsp + 0x48]
add edx, ecx
mov ecx, dword [rsp + 0x4c]
mov eax, dword [rsp + 0x4c]
xor ecx, eax
mov eax, dword [rsp + 0x48]
sub ecx, eax
cmp ecx, edx
je 0x180027fe6
mov eax, dword [0x180c4c910]
mov dword [0x18004eb34], eax
mov al, byte [0x18004ea06]
mov eax, dword [rbp - 0x3c]
mov eax, dword [rbp - 0x3c]
mov eax, dword [rbp - 0x3c]
cmp qword [rbp - 0x28], r14
je 0x180028122
movsd xmm0, qword [str.wcsftime]
lea rcx, [rbp + 0x70]
mov al, byte [0x180036918]
movsd qword [rbp + 0x70], xmm0
mov byte [rbp + 0x78], al
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd rcx, eax
mov qword [0x18004ebc0], rcx
jmp 0x18002810b
mov edi, 1
xor edx, edx
mov rcx, rsi
call fcn.18000289d
mov ebx, eax
test eax, eax
jns 0x180028122
mov r9b, byte [0x18004ea86]
mov r8b, dil
xor edx, edx
mov cl, 0x8e
call fcn.180024aa8
test al, al
je 0x1800280b8
mov qword [0x18004eb38], 3
movsxd rdx, dword [0x18004eb1c]
imul rdx, qword [0x18004eb68]
mov eax, dword [0x18004eb1c]
add eax, edx
mov dword [0x18004eb1c], eax
mov rax, qword [0x18004eb38]
test rax, rax
je 0x18002809c
sub rax, 1
je 0x18002807f
sub rax, 1
je 0x180028067
cmp rax, 1
jne 0x1800280b8
mov rax, qword [rbp - 0x78]
mov dword [0x18004eb1c], eax
jmp 0x1800280b8
movzx eax, byte [rsp + 0x43]
mov ecx, dword [0x18004eb20]
add eax, edi
imul ecx, eax
mov dword [0x18004eb20], ecx
jmp 0x1800280b8
movzx eax, byte [rsp + 0x44]
sub eax, 0x69
mov dword [rsp + 0x5c], eax
mov rax, qword [rbp - 0x78]
add rax, qword [0x18004eb70]
mov qword [rbp - 0x78], rax
jmp 0x1800280b8
mov al, byte [rsp + 0x40]
mov byte [0x180e913e4], al
mov eax, dword [rsp + 0x64]
sub eax, 0x96
cdqe
add qword [0x18004eb68], rax
mov ecx, dword [rbp - 0x80]
mov eax, dword [rbp - 0x80]
sub ecx, eax
mov edx, dword [rbp - 0x80]
mov eax, dword [rbp]
imul edx, ecx
mov ecx, 0x97
sub ecx, eax
mov eax, dword [rsp + 0x58]
add eax, ecx
cmp eax, edx
je 0x180028122
mov ecx, dword [0x18004eb34]
movabs rax, 0xa70b2090e276e
mov qword [0x18004eb68], rax
movabs rax, 0xe9fc759ae4108
sub rcx, rax
mov qword [0x18004eb38], rcx
cmp qword [rbp - 0x28], r14
je 0x180028122
mov rcx, qword [rbp + 0x20]
lea r8, [rbp + 0x18]
mov r9d, 0x8000
lea rdx, [rbp - 0x28]
call fcn.1800018f9
mov eax, ebx
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.18002a1d0
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret