Function at 0x180024c64
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 0x180024e0b
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 0x180024dd7
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 0x180024e73
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 0x180024eac
test r8b, r8b
je 0x180024e9d
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 0x180024eac
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 0x180024ecc
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 0x180024f32
mov r13b, byte [0x18004eb10]
add r13b, 0xf
mov dword [rsp + 0x64], 0xe4d5
mov dword [rsp + 0x48], r13d
jmp 0x180024f71
movsx eax, word [0x18004ebb8]
imul eax, eax, 0x9211819e
test eax, eax
je 0x180024f71
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.18002494c
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 0x18002505e
mov al, byte [rsp + 0x43]
add al, 0x5a
mov byte [rsp + 0x43], al
jmp 0x180025095
mov rax, qword [0x18004eb70]
not rax
test rax, rax
je 0x180025095
lea eax, [rdi + 0xbd]
mov dword [0x18004eb78], eax
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x180025087
mov rax, qword [rbp + 0x38]
jmp 0x18002508e
mov rax, qword [0x18004eb50]
mov qword [0x18004eaf0], rax
sub r9, 1
jne 0x180025039
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.1800247ec
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 0x180025198
mov eax, dword [0x180c4c910]
mov qword [0x18004eb00], rax
mov word [0x18004eb18], r8w
movsx eax, word [0x18004eb18]
mov ecx, eax
test eax, eax
je 0x180025165
sub ecx, 1
je 0x180025155
sub ecx, edx
je 0x1800251b3
cmp ecx, 1
jne 0x1800251b3
movzx eax, byte [rsp + 0x43]
mov dword [0x18004ebac], eax
jmp 0x1800251b3
movzx eax, byte [0x18004eb88]
imul ecx, eax, 0x39
mov byte [rsp + 0x43], cl
jmp 0x1800251b3
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 0x1800251b3
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 0x1800251c6
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 0x18002525a
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 0x18002534c
movsx ecx, word [0x18004eb30]
movzx eax, byte [rsp + 0x44]
not ecx
cmp eax, ecx
jle 0x180025315
cmp qword [str.O__nIIY], r11
je 0x180025315
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 0x18002534c
movsx ecx, byte [rsp + 0x41]
movzx eax, byte [rsp + 0x44]
cmp ecx, eax
jge 0x180025328
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 0x180025450
movsx rcx, byte [0x18004ea46]
mov rax, qword [0x18004eb48]
sub rax, rcx
mov qword [0x18004eb48], rax
jmp 0x1800254ce
cmp qword [0x18004eb70], r11
je 0x180025467
mov eax, dword [0x180c4c910]
mov dword [0x18004eb34], eax
jmp 0x1800254ce
movzx eax, word [0x18004eb28]
test ax, ax
je 0x1800254b0
mov rax, qword [str.e__h]
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 0x1800254ce
cmp qword [0x18004eb00], r11
mov eax, r11d
sete al
cmp r14d, eax
jl 0x1800254ce
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 0x180025515
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 0x1800255ba
sub ecx, r9d
je 0x1800255ad
cmp ecx, r9d
mov r9d, 0x9641
jne 0x1800255e2
mov eax, dword [rsp + 0x64]
shl eax, 5
movsxd rsi, eax
mov qword [rbp], rsi
jmp 0x1800255e6
mov r9d, dword [0x180c4c910]
mov qword [rbp - 0x48], r9
jmp 0x1800255e2
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 0x18002562b
mov rax, r9
and eax, 0x182d90c3
mov qword [rbp - 0x78], rax
jmp 0x18002564e
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 0x1800256cb
movzx eax, r12b
cmp word [0x18004eb30], ax
jle 0x1800256f0
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 0x1800256f6
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 0x180025783
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 0x180025773
movzx eax, word [0x18004ebb8]
jmp 0x18002577a
movzx eax, word [str.O__nIIY]
mov word [0x18004ea9c], ax
jmp 0x18002579b
test r14d, r14d
je 0x180025797
mov eax, dword [0x180c4c910]
mov qword [0x18004eb08], rax
jmp 0x18002579b
mov eax, dword [rsp + 0x54]
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x50], eax
mov al, byte [0x18004ea07]
test al, al
je 0x1800257c2
mov bl, byte [0x18004eb00]
sub bl, 7
mov word [rsp + 0x60], bx
jmp 0x18002584b
test r10d, r10d
je 0x1800257ea
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 0x18002584b
test r14d, r14d
je 0x180025829
mov eax, dword [0x18004eb34]
test eax, eax
mov rax, qword [str.O__nIIY]
jne 0x180025807
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 0x18002584b
mov eax, dword [0x18004eb1c]
test eax, eax
je 0x18002584b
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 0x180025957
sub ecx, 1
je 0x180025911
sub ecx, 1
je 0x1800258ec
cmp ecx, 1
jne 0x180025972
test r10d, r10d
movzx eax, si
cmovne ax, r9w
mov word [0x18004eb94], ax
jmp 0x180025972
mov al, byte [0x18004eb60]
mov ecx, 0x65
sub al, 0x31
mov byte [0x18004ea06], al
mov rax, qword [str.e__h]
sub cl, al
add r12b, cl
mov qword [rbp + 0x10], r12
jmp 0x180025972
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 0x180025972
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.1800247ec
mov byte [rsp + 0x40], al
xor edx, edx
mov al, byte [rsp + 0x40]
test al, al
je 0x180025a83
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 0x180025a68
sub eax, 1
je 0x180025a3d
sub eax, 1
je 0x180025a25
sub eax, 1
je 0x180025a17
cmp eax, 1
jne 0x180025a83
mov rax, qword [str.e__h]
sub word [0x18004eba8], ax
mov dword [0x18004eb24], 0xffff32bc
jmp 0x180025a83
mov eax, 0x6499
mov word [0x18004ea9c], ax
jmp 0x180025a83
mov eax, dword [rsp + 0x5c]
mov ecx, 0x6678
movzx edx, ax
imul edx, ecx
mov word [0x18004eba8], dx
jmp 0x180025a83
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 0x180025a83
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.180024acc
mov byte [0x18004ea07], al
mov al, byte [0x18004ea07]
test al, al
je 0x180025b0e
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 0x180025afb
movsxd rcx, dword [0x18004ebac]
mov rax, rbx
sub rax, rcx
imul rdi, rax
jmp 0x180025b0e
test r14, r14
jne 0x180025b06
mov eax, dword [0x18004eb34]
mov rax, qword [rsp + 0x70]
add r13b, al
sub rsi, rbx
jne 0x180025aaa
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.1800247ec
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 0x180025cc4
cmp word [rbp - 0x6c], di
je 0x180025cc4
movsx rcx, byte [0x18004ea1b]
cmp qword [0x18004eb00], rcx
jne 0x180025c75
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.18002494c
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 0x180025cf8
mov eax, dword [0x18004ea1c]
mov edx, r15d
test eax, eax
movsx eax, byte [0x18004ea46]
sete dl
cmp eax, edx
je 0x180025cf8
test edi, edi
je 0x180025cf1
mov r13, qword [0x18004eb98]
jmp 0x180025cf8
mov rsi, qword [rbp - 0x48]
test ax, ax
je 0x180025bf9
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 0x180025bf9
test r12b, r12b
jne 0x180025bf5
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 0x180025bf9
mov r13, qword [0x18004eb08]
mov eax, dword [rsp + 0x50]
mov ecx, Ordinal_138
add eax, 0xa5
mov dword [rbp - 0x70], eax
call fcn.18002454c
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 0x180025d71
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 0x180025db6
test r10w, r10w
jne 0x180025db6
mov r8d, 1
mov edx, r8d
jmp 0x180025dbf
mov edx, r15d
mov r8d, 1
mov eax, dword [0x18004eb7c]
mov ecx, r15d
cmp qword [0x18004ebc0], rax
setg cl
cmp ecx, edx
jae 0x180025df6
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 0x180025e10
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 0x180025f79
xor ecx, ecx
cmp word [0x18004eb30], cx
je 0x180025f61
movsx eax, r10b
imul ecx, eax, 0xfffffff2
mov byte [0x18004ea46], cl
jmp 0x180025f74
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 0x180025f98
mov al, byte [rsp + 0x44]
xor r9d, r9d
test al, al
je 0x180025f98
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 0x180025fed
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 0x1800260bf
sub ecx, 1
je 0x180026096
sub ecx, 1
je 0x180026086
sub ecx, 1
je 0x180026065
cmp ecx, 1
jne 0x1800260f6
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 0x1800260fa
movzx edi, byte [0x18004ea07]
mov rax, qword [0x18004eb38]
add edi, 0xef
sub qword [0x18004eb60], rax
mov qword [rbp - 0x68], rdi
jmp 0x1800260fa
mov rax, r14
shl rax, 7
mov word [0x18004eba8], ax
jmp 0x1800260f6
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 0x1800260f6
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 0x180026208
mov al, byte [rsp + 0x41]
test al, al
je 0x180026149
cmp byte [0x18004ea47], r9b
movzx eax, bl
movzx ecx, r12b
cmovne ecx, eax
movsx rax, cl
mov qword [0x18004eb60], rax
jmp 0x180026243
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 0x18002619c
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 0x180026243
cmp qword [0x18004eb60], r9
je 0x180026243
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 [str.e__h]
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 0x180026243
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 0x180026243
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.18002454c
mov dword [rsp + 0x54], eax
xor r10d, r10d
mov eax, dword [0x18004eb90]
test eax, eax
jne 0x1800262b0
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 0x1800262ec
mov rax, qword [0x18004eb08]
test rax, rax
je 0x1800262ec
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 0x180026317
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x180026317
mov rdx, 0xfffffffffffffffe
jmp 0x18002631b
or rdx, 0xffffffffffffffff
movsxd rcx, dword [rsp + 0x5c]
mov rax, qword [0x18004eb00]
sub rax, rcx
not rax
cmp rax, rdx
jle 0x180026355
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 0x18002639a
mov rax, qword [str.e__h]
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 0x180026469
movzx eax, byte [rsp + 0x43]
cmp qword [0x18004eb70], rax
jl 0x180026488
movzx ecx, word [0x18004ebbc]
movabs rax, 0xcf10bcd673d4b
sub rcx, rax
mov qword [str.O__nIIY], rcx
jmp 0x180026488
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 0x180026597
xor ecx, ecx
call fcn.18002418c
xor r10d, r10d
mov r12b, al
test al, al
je 0x18002655c
cmp word [0x18004ea04], r10w
je 0x180026507
cmp byte [rsp + 0x7c], 0xbb
mov rax, r14
jne 0x1800264eb
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 0x1800265b6
mov rsi, qword [rbp - 0x30]
mov eax, 4
mov word [rbp - 0x6c], ax
mov rax, qword [0x18004eb38]
test esi, esi
jne 0x180026551
movsxd rax, dword [0x18004ebac]
mov dword [0x18004ebac], eax
jmp 0x180026666
cmp word [0x18004ea04], r10w
je 0x180026507
mov rax, qword [rsp + 0x70]
test r15d, r15d
jne 0x180026577
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 0x180026507
mov r9d, dword [rsp + 0x50]
mov r15d, 0xe7595838
mov al, r9b
mov qword [rbp + 0x28], r15
xor al, 0x8d
mov byte [0x18004ea5e], al
jmp 0x18002650c
test bl, bl
je 0x180026613
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 0x180026662
movzx eax, word [0x18004eb28]
movsx r8, word [0x18004ea9c]
cmp eax, r8d
jg 0x18002663d
movzx eax, word [0x18004eba4]
mov rcx, qword [rsp + 0x70]
xor rcx, rax
mov qword [rsp + 0x70], rcx
jmp 0x180026662
cmp qword [0x18004eb10], r8
mov rcx, r10
setb cl
cmp qword [0x18004eb10], rcx
jb 0x180026662
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 0x180026728
sub ecx, 1
je 0x180026705
cmp ecx, 1
jne 0x180026745
mov rax, qword [0x18004eb58]
mov ecx, 0x3921
sub ax, cx
mov word [0x18004ea04], ax
jmp 0x180026745
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 0x180026745
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.18002418c
movsx r8d, ax
xor r9d, r9d
test r8b, r8b
je 0x180026769
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 0x180026813
movsxd rax, esi
cmp rax, qword [0x18004eb68]
jge 0x180026801
movzx eax, word [0x18004eb94]
add al, 7
mov byte [rsp + 0x40], al
jmp 0x18002683c
mov eax, dword [rsp + 0x54]
imul ecx, eax, 0xa210
mov dword [0x18004eb7c], ecx
jmp 0x18002683c
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 0x1800268a6
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 0x1800268aa
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.18002418c
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 0x180026944
cmp byte [rbp - 0x40], 0xbb
jne 0x1800268f9
movzx eax, word [0x18004eb94]
test r14, r14
je 0x18002691f
movzx r15d, byte [rsp + 0x68]
mov rax, qword [0x18004eb98]
and r15d, 0x7e05
mov qword [rbp + 0x28], r15
mov qword [0x180cca200], rax
jmp 0x180026944
mov eax, dword [rsp + 0x5c]
test eax, eax
je 0x180026944
cmp dword [0x18004eb7c], r8d
je 0x180026939
movsx eax, word [0x18004eb18]
jmp 0x18002693e
mov eax, 2
mov dword [0x18004eb20], eax
mov eax, dword [0x180c4c910]
mov dword [rsp + 0x48], eax
test esi, esi
je 0x18002695e
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 0x1800269ed
movsx ecx, r13b
call fcn.18002454c
mov dword [0x18004eb90], eax
xor r13d, r13d
mov eax, dword [0x18004eb90]
test eax, eax
jne 0x180026a37
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 0x180026a37
mov rcx, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
movsx rax, bl
cmp rax, rcx
jg 0x180026a0f
movsx ecx, byte [rsp + 0x40]
shl cx, 2
mov word [0x18004ebbc], cx
jmp 0x180026a34
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.18002454c
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 0x180026ab6
mov al, byte [0x18004ea5e]
xor al, 0x73
mov byte [rsp + 0x43], al
jmp 0x180026ad8
mov al, byte [rsp + 0x42]
test al, al
je 0x180026ac9
mov edi, 0xef22
mov qword [rbp - 0x68], rdi
jmp 0x180026ad8
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 0x180026b16
mov sil, byte [rsp + 0x40]
add sil, 0xa
jmp 0x180026b2f
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 0x180026bdc
movsx eax, word [0x18004ea9c]
add eax, 0x5c16a2df
mov dword [0x18004eb88], eax
add dil, 1
jmp 0x180026bf6
mov eax, dword [0x18004eb90]
test eax, eax
je 0x180026bf6
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 0x180026cdf
test eax, eax
jns 0x180026cdf
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 0x180028148
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 0x18002738a
cmp word [rbp - 0x6c], r13w
je 0x180026df0
xor edx, edx
xor ecx, ecx
call fcn.1800246b0
cmp dword [0x18004eb24], r13d
mov edx, r13d
mov byte [rsp + 0x41], al
movsx eax, word [0x18004eb18]
sete dl
cmp edx, eax
jle 0x180026e0d
mov cl, byte [rsp + 0x43]
mov al, byte [rsp + 0x44]
cmp cl, al
jne 0x180026d9d
mov al, byte [rsp + 0x42]
test al, al
movzx eax, byte [0x18004ea47]
jne 0x180026d88
movsx eax, byte [0x18004ea46]
mov dword [rsp + 0x5c], eax
mov eax, dword [0x18004eb34]
sub eax, dword [rbp + 0x10]
mov dword [0x18004eb34], eax
jmp 0x180026e0d
mov ecx, r13d
movsx eax, dil
mov r13, qword [rbp - 0x68]
cmp eax, r13d
movsx eax, sil
setne cl
cmp ecx, eax
je 0x180026e11
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 0x180026e11
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.180024380
mov rdx, qword [rsp + 0x70]
movzx r14d, ax
mov rcx, qword [rsp + 0x70]
or rdx, rcx
jne 0x180026ee8
movsx edx, byte [rbp - 0x18]
mov eax, 0xc2b3f9ab
xor rdx, rax
mov qword [str.e__h], 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.18002494c
xor r8d, r8d
cmp al, 0x31
mov edx, r8d
mov ecx, r8d
setle dl
test al, al
setle cl
cmp ecx, edx
je 0x180026f5d
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 0x180026fc1
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 0x180026fe5
sub rcx, r9
jne 0x180026fe0
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.180024acc
movzx eax, al
xor r9d, r9d
mov word [0x18004ebb8], ax
movzx eax, word [0x18004ebb8]
test ax, ax
jne 0x180027044
lea ecx, [r9 + 0x24]
call fcn.18002454c
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 0x18002704f
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 0x1800270fb
test dil, dil
je 0x1800270a2
mov byte [rsp + 0x43], 0x23
jmp 0x1800270fb
mov eax, dword [rbp - 0x30]
movsx ecx, word [0x18004ebb8]
not eax
cmp ecx, eax
jl 0x1800270fb
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 0x180027142
movzx eax, byte [rsp + 0x43]
jmp 0x180027149
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 0x180027157
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 0x180027390
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.180024380
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 0x180027390
xor edi, edi
cmp qword [rbp - 0x28], rdi
je 0x180027315
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.18002454c
mov dword [0x18004eb88], eax
test eax, eax
je 0x180027348
test sil, sil
movzx ecx, r14b
movzx eax, al
cmovne ecx, eax
mov byte [0x18004ea46], cl
jmp 0x180027376
movzx eax, byte [rsp + 0x43]
mov edx, edi
cmp dword [0x18004eb88], eax
movsx eax, byte [rsp + 0x42]
setge dl
cmp eax, edx
jl 0x18002736f
mov eax, 0xffff8765
mov word [0x18004ea9c], ax
jmp 0x180027376
mov rax, qword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
add qword [str.O__nIIY], r12
sub rbx, r12
jne 0x180027320
mov eax, dword [rbp + 8]
jmp 0x180028148
mov r13, qword [rbp + 0x38]
jmp 0x180027394
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 0x18002753d
xor ecx, ecx
call fcn.18002454c
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 0x1800273f1
mov rcx, qword [0x18004eb50]
test rcx, rcx
je 0x1800273f1
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 0x180027455
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 0x18002745c
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 0x18002753d
cmp qword [rbp - 0x28], r14
je 0x18002750d
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 0x180028146
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 0x180027bf7
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.180024acc
mov bl, al
cmp al, 0x29
jb 0x180027608
movzx edx, word [0x18004eb94]
mov rcx, qword [0x18004eb58]
cmp rcx, rdx
ja 0x180027608
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.18002494c
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 0x1800276c0
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 0x1800276ae
sub ecx, 1
je 0x18002769d
mov r9d, dword [rsp + 0x68]
cmp ecx, 1
jne 0x18002775e
add bl, bl
add bl, byte [0x18004ea9c]
jmp 0x18002775e
mov al, byte [rsp + 0x41]
mov dil, 0x43
mov rax, qword [rsp + 0x70]
jmp 0x180027759
mov eax, dword [rsp + 0x54]
sub eax, 0x3c
mov dword [0x18004eb90], eax
jmp 0x180027759
test dil, dil
je 0x1800276f5
cmp qword [0x18004eb10], r11
je 0x1800276d7
mov cl, byte [rbp - 0x48]
mov qword [rbp - 0x18], rcx
jmp 0x1800276e0
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 0x18002775e
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x180027723
mov eax, dword [0x18004ea1c]
test eax, eax
movsx rcx, byte [0x18004ea1b]
mov rdx, qword [0x18004eb70]
cmovne rdx, rcx
mov qword [0x18004eb98], rdx
jmp 0x180027759
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 0x180027759
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 0x18002777e
movsx ecx, dil
cmp word [0x18004eba8], r11w
movsxd r8, ecx
je 0x1800277cf
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 0x180027796
mov r10, qword [rbp - 0x30]
xor r11d, r11d
jmp 0x1800277ec
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 0x18002786e
movsx ecx, word [0x18004eb30]
mov eax, dword [rsp + 0x5c]
cmp ecx, eax
jg 0x1800278db
mov eax, dword [rsp + 0x54]
sub qword [0x18004eb60], rax
jmp 0x1800278db
test r9b, r9b
jne 0x180027885
movsx eax, byte [0x18004eba4]
imul ecx, eax, 0x4f
mov byte [0x18004ea5e], cl
jmp 0x1800278db
cmp word [0x18004eb2c], r11w
je 0x1800278db
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 0x180027974
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 0x180027bfe
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 0x180027a81
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 0x180027a79
sub ecx, 1
je 0x180027a62
sub ecx, 1
je 0x180027a40
cmp ecx, 1
jne 0x180027a9a
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 0x180027a9a
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 0x180027a9a
movzx eax, word [0x18004ebbc]
add ax, word [0x18004eb60]
mov word [0x18004ebbc], ax
jmp 0x180027a9a
add sil, sil
sub sil, dil
jmp 0x180027a9a
movsx rax, byte [0x18004ea5e]
cmp rax, qword [0x18004eb60]
jge 0x180027a9a
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 0x180027add
mov al, byte [rsp + 0x42]
mov r8, r11
test al, al
jne 0x180027ae3
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 0x180027b47
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 0x180027b6f
test bl, bl
je 0x180027b6f
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 0x180027c02
cmp qword [rbp - 0x28], r11
je 0x180027bba
mov rcx, qword [rbp + 0x20]
lea r8, [rbp + 0x18]
mov r9d, 0x8000
lea rdx, [rbp - 0x28]
call fcn.1800018f9
cmp rsi, qword [0x18004eb10]
jne 0x180027bd1
mov eax, 2
mov word [0x18004eba4], ax
jmp 0x180027bef
mov al, byte [rsp + 0x41]
test al, al
je 0x180027be2
movzx eax, word [0x18004eba4]
jmp 0x180027be8
mov eax, dword [0x18004eba0]
mov qword [0x18004eb38], rax
mov eax, r14d
jmp 0x180028148
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 0x180028005
movsx rax, word [0x18004ea9c]
mov ecx, 0xcc2658e2
mov qword [0x180d478e8], rax
mov word [0x18004eb28], r14w
mov rax, qword [str.e__h]
sub rax, rcx
mov qword [0x18004eaf0], rax
movzx eax, word [0x18004eb28]
test ax, ax
jne 0x180027c9c
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 0x180027d23
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 0x180027dbe
movsxd rdx, dword [0x18004eb78]
movsxd rax, dword [0x18004eb78]
sub rdx, rax
mov rax, qword [str.e__h]
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 0x180027dcd
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 0x180027e6f
mov r8, qword [0x18004eb08]
xor edx, edx
mov cl, r15b
call fcn.18002494c
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 0x180027e66
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 0x180027e87
movzx eax, word [0x18004ebbc]
jmp 0x180027e87
cmp word [0x18004eb8c], r14w
jne 0x180027e7e
test r15b, r15b
je 0x180027e87
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 0x18002800a
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 0x180027f5a
mov cl, byte [0x18004ea07]
mov al, byte [rsp + 0x44]
cmp cl, al
jae 0x180027f5a
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 [str.e__h]
movsxd rax, dword [rbp - 0x30]
sub rcx, rax
mov qword [str.e__h], 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 0x18002800a
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 0x180028146
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 0x18002812f
mov edi, 1
xor edx, edx
mov rcx, rsi
call fcn.18000289d
mov ebx, eax
test eax, eax
jns 0x180028146
mov r9b, byte [0x18004ea86]
mov r8b, dil
xor edx, edx
mov cl, 0x8e
call fcn.180024acc
test al, al
je 0x1800280dc
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 0x1800280c0
sub rax, 1
je 0x1800280a3
sub rax, 1
je 0x18002808b
cmp rax, 1
jne 0x1800280dc
mov rax, qword [rbp - 0x78]
mov dword [0x18004eb1c], eax
jmp 0x1800280dc
movzx eax, byte [rsp + 0x43]
mov ecx, dword [0x18004eb20]
add eax, edi
imul ecx, eax
mov dword [0x18004eb20], ecx
jmp 0x1800280dc
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 0x1800280dc
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 0x180028146
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 0x180028146
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.18002a1f0
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret