Function at 0x18001e1e8
Capabilities:
Parse credit card information

Disassembly:
sub rsp, 0x38
movzx eax, word [0x18004e804]
mov r10d, ecx
movzx eax, word [0x18004e850]
xor ecx, ecx
mov word [rsp + 0x50], ax
mov r9, rdx
mov eax, dword [0x18004e838]
mov rax, qword [0x18004e840]
movsx rax, word [0x18004e810]
mov qword [rsp + 0x50], rax
mov eax, 0xffff8b20
mov word [rsp + 0x50], ax
mov eax, 0xb3
mov word [rsp + 0x50], ax
movzx eax, byte [0x18004e6ff]
mov dword [rsp + 0x50], eax
mov eax, dword [0x18004e838]
movzx r8d, byte [0x18004e73b]
mov byte [rsp + 0x50], al
mov dword [rsp + 0x50], 0x48ab
mov byte [rsp + 0x50], 0xa2
mov rax, qword [0x18004e7d0]
mov dword [rsp + 0x20], 0x73f9c927
movabs rax, 0xe8fcd080151e5
mov qword [rsp + 0x58], rax
mov al, byte [0x18004e83c]
mov byte [rsp + 0x58], 0x32
mov qword [rsp + 0x58], 0xfe1b
mov byte [rsp + 0x58], 0x1e
mov byte [rsp + 0x58], al
movsx rax, word [0x18004e810]
mov qword [rsp + 0x58], rax
movzx eax, word [0x18004e800]
mov byte [rsp + 0x58], al
mov byte [rsp + 0x58], 0x4d
mov al, byte [0x18004e7e7]
movzx eax, byte [0x18004e73b]
mov word [rsp + 0x58], ax
mov eax, 0x49c6
mov byte [rsp + 0x58], 7
mov word [rsp + 0x58], ax
movzx eax, word [0x18004e864]
mov word [rsp + 0x58], ax
movsx eax, byte [0x18004e7e7]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18004e850]
mov word [rsp + 0x58], ax
movzx eax, byte [0x18004e6fe]
mov word [rsp + 0x58], ax
mov dword [rsp + 0x58], 0xabc1
movsx eax, byte [0x18004e726]
mov edx, dword [0x18004e864]
mov word [rsp + 0x58], ax
mov dword [rsp + 0x58], 0x2ba65b26
mov eax, dword [rsp + 0x20]
cmp edx, eax
sete cl
xor eax, eax
cmp edx, 0xb
sete al
cmp ecx, eax
je 0x18001e34e
mov byte [0x18004e7e7], 0xd8
movzx eax, word [0x18004e82c]
jmp 0x18001e39d
cmp qword [0x18004e820], 0
je 0x18001e360
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
jmp 0x18001e39d
movzx ecx, byte [0x18004e79f]
mov rax, qword [0x18004e840]
or rax, rcx
jne 0x18001e395
not r8d
test r8d, r8d
je 0x18001e395
mov rax, qword [0x18004e830]
add rax, rax
sub rax, qword [0x18004e820]
mov qword [0x18004e830], rax
jmp 0x18001e39d
mov al, byte [rsp + 0x50]
mov eax, dword [rsp + 0x20]
mov r8, r9
xor edx, edx
mov ecx, r10d
add rsp, 0x38
jmp 0x18001e3b0
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x21d8]
mov eax, 0x22b0
call fcn.18002a200
sub rsp, rax
mov rax, qword [0x18004ed78]
xor rax, rsp
mov qword [rbp + 0x21a0], rax
mov eax, 1
mov qword [rbp + 0x48], r8
mov word [rsp + 0x64], ax
mov r15d, 0xd9
mov eax, dword [0x18004e838]
xor r9d, r9d
mov byte [rsp + 0x53], al
xor r8d, r8d
movsx rax, byte [0x18004e7e7]
mov edi, 0xe6ef
movzx esi, word [0x18004e830]
mov qword [rbp - 0x28], rax
mov dword [rsp + 0x68], 0x1b
mov byte [rsp + 0x52], 0x5e
mov rax, qword [0x18004e808]
mov byte [rsp + 0x51], al
mov eax, 0xf3d6
mov word [rsp + 0x54], ax
mov r13, qword [0x18004e808]
mov eax, dword [0x18004e838]
mov dword [rbp - 0x78], eax
movabs rax, 0x5dde236f92705
mov qword [rbp - 0x40], rax
mov eax, dword [0x18004e850]
mov dword [rbp - 0x80], eax
mov eax, dword [0x18004e774]
mov dword [rsp + 0x60], eax
mov eax, 0xee79
mov word [rsp + 0x58], ax
mov eax, dword [0x18004e774]
movzx eax, word [0x18004e828]
mov r12b, byte [0x18004e7d8]
mov byte [rsp + 0x50], Ordinal_138
mov qword [rbp - 0x68], 0xd3c3
mov word [rsp + 0x5c], ax
mov eax, 0xe3da
mov word [rsp + 0x64], ax
movzx eax, byte [0x18004e79f]
mov dword [rsp + 0x7c], eax
mov byte [rbp - 0x70], 0xfd
movzx eax, byte [0x18004e6ff]
mov dword [rsp + 0x7c], eax
movzx eax, word [0x18004e7d8]
mov word [rsp + 0x64], ax
movzx eax, word [0x18004e82c]
mov byte [rbp - 0x70], al
movzx eax, byte [0x18004e773]
mov word [rsp + 0x64], ax
mov eax, 0x1b3c
mov word [rsp + 0x64], ax
mov al, byte [0x18004e6ff]
mov eax, dword [0x18004e73c]
mov qword [rbp - 8], rax
mov eax, dword [0x18004e7e0]
mov dword [rsp + 0x7c], eax
mov eax, 0xaf44
mov word [rsp + 0x64], ax
movzx eax, byte [0x18004e773]
mov dword [rsp + 0x7c], eax
movzx eax, word [0x18004e82c]
mov dword [rsp + 0x7c], eax
mov al, byte [0x180915368]
mov byte [rsp + 0x50], al
mov eax, dword [0x1807446d0]
mov byte [rbp - 0x54], dl
xor edx, edx
mov dword [rbp - 0x30], ecx
mov cl, byte [reloc.mozglue.dll_export_full.dll_Ordinal_116]
mov dword [rbp - 0x58], eax
mov dword [rsp + 0x70], 0xc67f
mov qword [rbp + 0x18], r13
mov qword [rbp - 0x48], r15
call fcn.180023524
xor ebx, ebx
movzx r14d, al
mov ecx, ebx
lea eax, [rbx + 0x37]
cmp r14w, ax
mov eax, ebx
setbe cl
test r14w, r14w
sete al
cmp eax, ecx
jae 0x18001e59f
test r12b, r12b
mov r13d, 0x15c5c
mov qword [rbp + 0x18], r13
sete byte [rsp + 0x51]
jmp 0x18001e5f0
movsx edx, word [0x18004e7f4]
movzx eax, word [0x18004e804]
cmp eax, edx
jge 0x18001e5f0
mov al, byte [rsp + 0x50]
mov edx, ebx
movzx ecx, byte [0x18004e7df]
test al, al
movzx eax, word [0x18004e804]
sete dl
xor ecx, edx
not ecx
test ax, ax
mov eax, dword [rsp + 0x68]
movsxd rdx, ecx
mov rcx, rbx
sete cl
xor rcx, rdx
dec eax
mov qword [0x18004e820], rcx
mov dword [0x18004e73c], eax
mov eax, dword [rbp - 0x58]
mov edx, 4
add eax, 0x88
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x68]
add al, 0x54
mov byte [0x18004e7cf], al
movzx eax, r12b
imul ecx, eax, 0x54
mov eax, dword [rbp - 0x58]
add eax, 0xf033
mov byte [0x18004e6fe], cl
mov dword [rbp - 0x60], eax
movzx ecx, word [rsp + 0x54]
movsx eax, byte [rbp - 0x78]
cmp eax, ecx
jge 0x18001e675
mov eax, dword [rsp + 0x68]
movsx ecx, r14w
cmp eax, ecx
jbe 0x18001e655
movsx ecx, byte [0x18004e7e7]
mov esi, 0xc6
sub ecx, 0x21
mov dword [0x18004e868], ecx
jmp 0x18001e68a
movzx eax, word [0x18004e804]
test ax, ax
je 0x18001e68a
movsx ecx, byte [0x18004e726]
shl cx, 2
mov word [0x18004e7f4], cx
jmp 0x18001e68a
mov al, byte [0x18004e84c]
add al, dl
mov byte [rsp + 0x53], al
mov al, byte [0x1807446d0]
mov dword [rbp - 0x78], eax
mov eax, dword [rbp - 0x58]
xor ecx, ecx
add eax, 0x8431
mov dword [rsp + 0x7c], eax
call fcn.1800233e4
movzx eax, al
mov word [0x18004e800], ax
movzx eax, word [0x18004e800]
test ax, ax
jle 0x18001e6e2
cmp word [0x18004e810], bx
je 0x18001e6c8
movzx eax, word [rsp + 0x58]
mov ecx, 1
jmp 0x18001e6ca
mov ecx, ebx
movzx eax, r12b
imul eax, ecx
test eax, eax
jne 0x18001e6e2
movzx edi, byte [0x18004e773]
sub edi, 0xabb7
mov ecx, dword [0x18004e774]
movzx eax, word [rsp + 0x5c]
not ecx
cmp ecx, eax
ja 0x18001e710
movzx eax, word [rsp + 0x5c]
test ax, ax
jne 0x18001e710
mov eax, dword [0x18004e868]
test eax, eax
jne 0x18001e710
lea r10d, [rax + 1]
mov edx, r10d
jmp 0x18001e718
mov edx, ebx
mov r10d, 1
cmp dword [0x18004e73c], edi
mov ecx, ebx
movsx rax, byte [0x18004e7de]
setae cl
cmp r13, rax
sbb eax, eax
and eax, ecx
cmp edx, eax
jb 0x18001e7f8
mov rcx, qword [0x18004e840]
mov r8d, ebx
mov edx, dword [0x18004e7ec]
mov eax, ebx
cmp rdx, rcx
setge r8b
cmp edx, 0x3c
setae al
cmp r8d, eax
je 0x18001e772
mov eax, dword [0x18004e7d8]
sar eax, 3
mov dword [0x18004e85c], eax
jmp 0x18001e7f8
movsx ecx, byte [rsp + 0x51]
mov edx, ebx
movzx eax, byte [rsp + 0x52]
not ecx
cmp ecx, eax
mov rax, qword [0x18004e7d0]
mov ecx, ebx
setne dl
cmp rax, 0x9d6c
setge cl
cmp edx, ecx
jbe 0x18001e7ab
add byte [0x18004e773], 0xdd
mov rax, qword [0x18004e808]
jmp 0x18001e7f8
mov eax, dword [0x18004e774]
test eax, eax
jne 0x18001e7bf
cmp byte [0x18004e7cf], bl
mov eax, ebx
je 0x18001e7c2
mov eax, r10d
cmp eax, dword [0x18004e73c]
jne 0x18001e7da
mov eax, dword [rbp - 0x80]
add eax, eax
sub eax, dword [0x18004e85c]
mov dword [rbp - 0x80], eax
jmp 0x18001e7f8
movzx eax, word [0x18004e7e4]
test ax, ax
jne 0x18001e7ea
mov al, byte [rsp + 0x50]
mov eax, dword [rsp + 0x60]
mov rcx, qword [rbp - 0x40]
add ecx, eax
mov dword [rsp + 0x60], ecx
mov eax, dword [rbp - 0x60]
mov r9d, 0x164
or eax, 0x69
movsx r8, r14w
sub eax, 0xed15
mov dword [rbp - 0x18], eax
xor r8, r15
movzx ecx, byte [0x18004e73b]
movzx eax, word [0x18004e7f0]
and ecx, 0x9a
not ecx
imul ecx, eax
mov eax, ebx
movsxd rdx, ecx
mov ecx, dword [0x18004e85c]
add rdx, r8
not ecx
cmp rdx, rcx
sete al
mov dword [rsp + 0x68], eax
movzx eax, word [0x18004e82c]
add ax, r10w
mov word [0x18004e82c], ax
sub r9, r10
jne 0x18001e813
mov eax, dword [0x1807446d0]
xor r8d, r8d
mov dword [rsp + 0x6c], eax
mov al, byte [0x18004e6ff]
add al, 0xa
mov byte [0x18004e6fe], al
mov eax, dword [rsp + 0x6c]
add eax, 0xe0
mov dword [rbp - 0x50], eax
mov eax, 0xabf2
add word [0x18004e814], ax
movzx eax, word [rsp + 0x54]
mov ecx, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
add eax, 0xffffff3b
add cx, ax
mov word [rsp + 0x54], cx
mov eax, dword [rsp + 0x6c]
mov dl, byte [0x18004e85c]
add eax, 0x452a
mov cl, byte [reloc.mozglue.dll_export_full.dll_Ordinal_116]
mov dword [rbp - 0x74], eax
call fcn.18002321c
movzx r15d, al
mov dword [rbp - 0x58], r15d
test al, al
je 0x18001e90b
mov al, byte [rsp + 0x53]
movzx ecx, byte [rsp + 0x53]
movzx eax, r12b
sub ecx, eax
movzx eax, si
sub ecx, eax
cmp ecx, dword [0x18004e7d8]
sete byte [rsp + 0x50]
movsx ecx, byte [0x18004e726]
add ecx, dword [0x18004e84c]
mov al, byte [0x18004e726]
or al, cl
mov byte [0x18004e726], al
mov eax, dword [rsp + 0x6c]
mov r9d, 1
mov rcx, qword [0x18004e830]
add eax, 0x353a
mov dword [rbp - 0x60], eax
mov r8b, 0x2b
movzx eax, word [0x18074d91c]
or rcx, rax
mov byte [rsp + 0x20], 0xd2
mov qword [0x18004e830], rcx
mov dword [0x18086fd08], ecx
mov ecx, dword [rbp - 0x60]
mov eax, dword [rbp - 0x50]
or ecx, eax
mov eax, dword [rbp - 0x74]
mov dl, byte [0x18004e73b]
or eax, 0xa5
imul eax, ecx
mov ecx, 0xce5b69a5
xor eax, 0xeb1446a
mov dword [rbp - 0x20], eax
movzx eax, word [0x18004e81c]
sub ecx, eax
mov eax, dword [0x18004e830]
add dword [0x18004e84c], eax
mov eax, dword [0x1807446d0]
mov dword [0x18004e828], ecx
xor ecx, ecx
mov dword [rsp + 0x6c], eax
call fcn.1800236a4
movzx r9d, al
test al, al
je 0x18001e9f2
movsx ecx, byte [rbp - 0x78]
movzx eax, word [0x18004e7dc]
sub ecx, eax
movabs rax, 0xc0e29e71d5b80
cmp ecx, 0xbc
movzx ecx, word [0x18004e804]
sete r8b
imul rcx, rax
test rcx, rcx
mov ecx, dword [0x18004e858]
movsx r14d, cl
sete al
sub r8b, al
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
movsx edx, al
imul r14d, edx
add r14b, r8b
mov dword [rbp - 0x78], r14d
jmp 0x18001e9f6
mov r14d, dword [rbp - 0x78]
mov eax, dword [rsp + 0x6c]
mov edx, ebx
add eax, 0x103
mov dword [rbp + 8], eax
mov eax, dword [rsp + 0x6c]
add eax, 0x202
mov dword [rbp - 0x5c], eax
mov eax, dword [0x18004e818]
add eax, eax
mov dword [reloc.mozglue.dll_export_full.dll_Ordinal_116], eax
mov eax, dword [0x18004e860]
add al, 0x1a
mov byte [0x18004e7e7], al
mov eax, dword [rsp + 0x6c]
add eax, 0x1e
mov dword [rbp + 0x40], eax
mov rcx, qword [0x18004e7d0]
mov rax, qword [0x18004e7d0]
cmp rcx, r9
mov ecx, ebx
setne dl
cmp rax, 0x60
setne cl
cmp edx, ecx
jae 0x18001ea92
movzx ecx, word [0x18004e82c]
mov edx, ebx
mov eax, dword [rsp + 0x60]
mov r13, qword [0x18004e7f8]
add r13, 0xffffffffffffff69
add eax, ecx
mov qword [rbp + 0x18], r13
movzx eax, byte [rsp + 0x52]
movsx ecx, byte [0x18004e7ce]
sete dl
xor cx, ax
sub dx, cx
mov word [rsp + 0x54], dx
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x6c], eax
mov rax, qword [rbp - 0x68]
sar rax, 2
mov qword [rbp - 0x10], rax
mov eax, dword [0x18004e774]
movzx ecx, word [0x18004e7f0]
not eax
add ecx, eax
mov eax, dword [rsp + 0x6c]
add ecx, dword [0x18004e7f8]
add eax, 0x3c4
mov dword [0x18004e864], ecx
mov dword [rbp], eax
mov eax, dword [0x18004e818]
cmp rax, qword [0x18004e820]
jne 0x18001eb06
mov ecx, dword [0x18004e860]
mov eax, dword [rsp + 0x68]
cmp eax, ecx
jae 0x18001eb06
movzx ecx, word [0x18004e82c]
movsx eax, byte [rsp + 0x50]
movsx edx, cl
mov ecx, eax
imul ecx, edx
mov byte [rsp + 0x50], cl
mov eax, dword [rsp + 0x6c]
add eax, 0x11b
movsx rdi, r14b
mov dword [rsp + 0x7c], eax
mov rcx, rdi
movzx eax, si
add eax, 0x4032
mov qword [rsp + 0x20], 0x45
mov dword [0x18004e818], eax
mov eax, 0x5fd2
add ax, word [0x18004e810]
mov dword [rbp - 0x7c], eax
mov eax, dword [rsp + 0x6c]
mov r9d, dword [0x18004e85c]
add eax, 0x214
mov r8d, dword [0x18004e818]
movsx rdx, byte [0x18004e727]
mov dword [rbp - 0x74], eax
call fcn.180023998
mov dword [0x18004e85c], eax
test eax, eax
je 0x18001ebb0
mov r9b, 0x58
xor r8d, r8d
mov dl, 0x4d
mov cl, 0xc0
call fcn.180023524
movzx eax, al
mov dword [0x18004e73c], eax
test eax, eax
jne 0x18001eb94
movzx esi, word [rsp + 0x5c]
jmp 0x18001ebcc
movzx ecx, word [rsp + 0x58]
mov r13d, 5
movzx eax, r12b
add rcx, rax
mov qword [rbp + 0x18], r13
mov qword [rbp - 0x68], rcx
jmp 0x18001ebcc
movsxd rax, dword [0x18004e7d8]
cmp rax, qword [0x18004e820]
je 0x18001ebcc
movzx eax, word [0x1807446d0]
mov word [rsp + 0x58], ax
mov eax, dword [0x1807446d0]
mov ecx, 1
mov dword [rsp + 0x6c], eax
mov r8d, ebx
mov eax, dword [rsp + 0x6c]
mov edx, ebx
add eax, 0x2b0
movzx r9d, si
mov dword [rsp + 0x7c], eax
mov eax, 0xa1
add dword [0x18004e828], eax
imul eax, r9d, 0xa1
add dword [0x18004e818], eax
mov eax, dword [rsp + 0x6c]
add eax, 0x24f
mov dword [rbp - 0x50], eax
mov eax, dword [0x1807446d0]
mov dword [0x18004e828], eax
mov eax, dword [rsp + 0x6c]
add eax, 0x171
mov dword [rbp - 0x1c], eax
movzx eax, word [0x18004e7e4]
cmp ax, cx
mov ecx, dword [0x18004e818]
mov rax, qword [rbp - 0x28]
setle r8b
cmp rcx, rax
setne dl
cmp r8d, edx
je 0x18001ecb1
cmp word [0x18004e7dc], bx
je 0x18001ec7a
mov rax, qword [rbp - 0x68]
sub rdi, rax
mov rax, qword [rbp - 0x68]
add rax, rdi
mov qword [rbp - 0x68], rax
mov eax, dword [0x1807446d0]
mov qword [rbp - 0x40], rax
jmp 0x18001ecfa
mov eax, dword [rbp - 0x80]
not eax
test eax, eax
je 0x18001ecfa
movzx ecx, word [rsp + 0x54]
movzx eax, word [rsp + 0x54]
imul ecx, dword [0x18004e73c]
add ax, cx
mov word [rsp + 0x54], ax
movsx eax, byte [rsp + 0x50]
add eax, 0xf6
cdqe
mov qword [0x18004e7d0], rax
jmp 0x18001ecfa
movzx ecx, word [rsp + 0x54]
mov edx, ebx
movzx eax, word [0x18004e7dc]
imul ecx, r9d
not eax
imul ecx, eax
cmp dword [0x18004e7ec], ebx
mov al, byte [0x18004e7df]
sete dl
add edx, ecx
mov ecx, ebx
test al, al
movzx eax, word [rsp + 0x5c]
sete cl
sub edx, ecx
sub dx, ax
mov al, r12b
xor al, 0xe4
mov word [0x18004e7f4], dx
mov byte [rsp + 0x52], al
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x6c]
movzx ecx, byte [0x18004e6fe]
add eax, 0x3bc
mov dword [rbp + 0x28], eax
mov eax, dword [0x18004e838]
cmp ecx, eax
jl 0x18001ed61
mov al, byte [0x18004e7e7]
mov ecx, ebx
test al, al
mov edx, ebx
mov eax, ebx
sete cl
cmp dword [0x18004e85c], ecx
movzx ecx, byte [0x18004e6ff]
setne dl
add edx, 0xfffffffe
cmp r15d, ecx
sete al
add eax, edx
mov edx, dword [rbp - 0x7c]
je 0x18001ed64
mov eax, dword [rsp + 0x68]
movsx ecx, dx
add ecx, eax
mov dword [rsp + 0x68], ecx
jmp 0x18001ed64
mov edx, dword [rbp - 0x7c]
mov eax, dword [rsp + 0x6c]
movzx esi, word [rbp - 0x10]
add eax, 0x32a
mov dword [rsp + 0x7c], eax
mov al, byte [rsp + 0x52]
mov eax, dword [rsp + 0x6c]
add eax, 0x3a9
mov dword [rbp + 0x38], eax
lea eax, [r15 + 0x360b62eb]
mov dword [0x18004e860], eax
mov rax, qword [rbp - 0x68]
imul rcx, rax, 0xc5
mov eax, dword [0x1807446d0]
sub rcx, rsi
mov qword [0x18004e7f8], rcx
mov dword [rsp + 0x64], eax
mov eax, dword [0x18004e7e0]
cmp dword [0x18004e828], eax
jbe 0x18001edfa
movzx eax, word [0x18004e804]
mov edi, 0xc67f
test ax, ax
je 0x18001ee31
mov ecx, dword [0x18004e868]
movsx eax, dx
imul ecx, eax
mov eax, dword [0x18004e868]
add eax, ecx
mov dword [0x18004e868], eax
mov rax, qword [0x18004e7f8]
mov qword [0x1809457f8], rax
jmp 0x18001ee31
movzx eax, word [0x18004e7e4]
test ax, ax
je 0x18001ee2c
movzx eax, byte [rsp + 0x52]
movsx edi, byte [0x18004e726]
add eax, 0x19ff58a0
add r15d, eax
mov eax, 0xbb97
xor di, ax
mov dword [rbp - 0x58], r15d
mov dword [rsp + 0x70], edi
jmp 0x18001ee31
mov edi, 0xc67f
mov eax, dword [rsp + 0x64]
xor r8d, r8d
sub r12b, byte [0x18004e85c]
add eax, 0x29
mov dword [rbp + 0x34], eax
xor ecx, ecx
movsx eax, byte [rsp + 0x51]
mov word [0x18004e82c], ax
mov eax, dword [rsp + 0x64]
mov edx, dword [0x18004e84c]
add eax, 0x13c
mov dword [rbp - 0x60], eax
mov word [rsp + 0x78], r12w
call fcn.18002306c
mov dword [rsp + 0x6c], eax
xor r8d, r8d
mov eax, dword [rsp + 0x64]
mov ecx, r13d
movzx edx, word [0x18004e7f0]
add eax, 0x3c7
mov dword [rbp + 0x2c], eax
call fcn.18002306c
mov ecx, eax
mov dword [0x18004e83c], eax
mov edx, eax
shr ecx, 0x1f
mov eax, ebx
mov r8d, 8
cmp edx, r8d
setl al
cmp ecx, eax
je 0x18001eefe
mov eax, dword [0x18004e858]
mov edx, ebx
cmp eax, dword [0x18004e7ec]
mov ecx, ebx
mov eax, dword [0x18004e858]
setbe dl
cmp eax, 0x45
setle cl
cmp edx, ecx
jb 0x18001eee5
movzx eax, di
imul ecx, eax, 0x6a8719f7
mov dword [0x18004e818], ecx
jmp 0x18001eefe
test r15d, r15d
je 0x18001eefe
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
shr eax, 6
add r14b, r13b
mov dword [rsp + 0x60], eax
mov dword [rbp - 0x78], r14d
mov eax, dword [0x1807446d0]
mov edi, 0x15f
cmp dword [0x18004e818], ebx
mov esi, 1
mov r14d, dword [rsp + 0x70]
mov dword [rsp + 0x64], eax
mov eax, ebx
sete al
mov word [rsp + 0x5c], ax
mov rax, qword [0x18004e840]
sub al, byte [0x18004e85c]
mov byte [0x18004e6fe], al
movzx edx, byte [rsp + 0x52]
xor r8d, r8d
xor ecx, ecx
call fcn.18002306c
mov byte [rsp + 0x53], al
mov ecx, ebx
mov al, byte [rsp + 0x53]
mov al, byte [rsp + 0x53]
cmp al, 0x42
setb cl
test ecx, ecx
je 0x18001ef6c
mov dword [0x18004e83c], 0x6e
jmp 0x18001efd6
movsx ecx, byte [0x18004e726]
movzx eax, r14w
imul ecx, eax
test ecx, ecx
je 0x18001ef97
movzx ecx, word [rsp + 0x5c]
mov dl, byte [0x18004e773]
mov al, dl
sub al, cl
and dl, al
mov byte [0x18004e773], dl
jmp 0x18001efd6
mov al, byte [rsp + 0x53]
cmp al, sil
ja 0x18001efaa
movzx r12d, word [0x18004e7e8]
jmp 0x18001efd6
mov rax, qword [0x18004e808]
test rax, rax
je 0x18001efd6
mov byte [0x18004e7df], 0x28
movabs rcx, 0x3c237525da720
movzx eax, byte [rsp + 0x53]
add rax, rcx
mov qword [0x18004e830], rax
sub rdi, rsi
jne 0x18001ef3a
mov eax, dword [rsp + 0x64]
xor r8d, r8d
add eax, 0x202
mov word [rsp + 0x78], r12w
mov dword [rbp + 0x10], eax
mov eax, dword [rsp + 0x64]
add eax, 0x28c
mov qword [rbp + 0x20], rbx
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x64]
add eax, 0x3d0
mov dword [0x18004e85c], 0x92
mov dword [rsp + 0x74], eax
mov rax, rsi
add byte [0x18004e7e6], al
mov eax, 0x7dd7
add eax, r15d
mov word [rsp + 0x5c], ax
movzx eax, word [0x18004e804]
mov rdx, qword [rbp - 0x40]
and rdx, rax
movzx eax, word [0x18004e804]
movsx ecx, byte [0x18004e7cf]
sub ax, dx
mov edx, 0xb1
mov word [0x18004e804], ax
call fcn.18002306c
mov edi, dword [rbp - 0x80]
cmp al, 0x61
mov ecx, eax
mov edx, ebx
setle dl
mov byte [0x18004e7ce], cl
test cl, cl
mov eax, ebx
setle al
cmp eax, edx
ja 0x18001f098
mov eax, dword [0x18004e850]
add eax, 0x8be2bd07
mov byte [0x18004e7e6], 0xf9
or edi, eax
mov dword [rbp - 0x80], edi
jmp 0x18001f0a6
movzx eax, word [0x18004e84c]
mov word [0x18078d8ae], ax
mov al, byte [0x18004e73b]
mov r9b, 0xf3
xor r8d, r8d
mov byte [rsp + 0x20], al
xor edx, edx
mov dword [rbp - 0x38], ebx
xor ecx, ecx
call fcn.1800236a4
movzx eax, al
mov dword [0x18004e85c], eax
mov eax, dword [0x18004e860]
test eax, eax
je 0x18001f168
mov qword [rbp - 0x28], 3
mov ecx, 0x6dfa
movzx eax, r12b
add ax, cx
mov word [0x18004e800], ax
movzx eax, word [0x18004e800]
imul eax, eax, 0x7d
mov word [rsp + 0x54], ax
mov rax, qword [rbp - 0x28]
dec rax
sub rax, rsi
je 0x18001f124
cmp rax, rsi
jne 0x18001f19c
mov al, byte [rsp + 0x51]
sub al, 0x1e
mov byte [rsp + 0x51], al
jmp 0x18001f19c
movsx eax, byte [rsp + 0x50]
movzx r8d, r12b
not r8d
sub r8d, eax
movsx eax, word [rbp - 0x7c]
add eax, 0xa1
and r8d, eax
movsx eax, byte [0x18004e7e7]
movzx edx, byte [reloc.mozglue.dll_export_full.dll_Ordinal_116]
movzx ecx, byte [0x18004e7df]
sub edx, eax
not ecx
add ecx, edx
not ecx
imul ecx, r8d
mov dword [reloc.mozglue.dll_export_full.dll_Ordinal_116], ecx
jmp 0x18001f19c
cmp qword [0x18004e850], rbx
je 0x18001f186
mov cl, byte [0x18004e6fe]
mov al, cl
sub al, r12b
and cl, al
mov byte [0x18004e6fe], cl
jmp 0x18001f19c
mov rax, qword [rbp - 0x28]
test rax, rax
je 0x18001f19c
mov eax, dword [rsp + 0x60]
add eax, 0xd9
mov dword [rsp + 0x60], eax
movzx eax, word [rsp + 0x58]
movsx rcx, byte [0x18004e7ce]
mov r9, qword [0x18004e820]
mov rdx, qword [0x18004e808]
movzx r8d, r12b
mov qword [rsp + 0x20], rax
call fcn.180023998
mov r14, rax
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x28]
movzx eax, word [rsp + 0x54]
movzx eax, word [rsp + 0x5c]
mov ecx, dword [0x18004e868]
sub ecx, eax
mov dword [rsp + 0x74], ebx
mov eax, dword [0x18004e868]
sub ecx, eax
movsx rax, byte [0x18004e7cf]
mov dword [0x18004e868], ecx
imul rcx, rax, 0xd9
mov dword [rbp + 0x30], ebx
test rcx, rcx
je 0x18001f233
movzx eax, word [0x18004e7e8]
and ax, word [0x18004e73c]
mov r12d, dword [0x18004e84c]
sar r12d, 7
mov word [rsp + 0x78], r12w
mov word [0x18004e7e8], ax
jmp 0x18001f23d
mov rax, rsi
add qword [0x18004e7f8], rax
mov edx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x5c]
sub edx, eax
mov eax, dword [rbp - 0x5c]
sub edx, eax
mov ecx, dword [rbp + 0x40]
mov eax, dword [rbp + 8]
movzx esi, word [rbp - 0x10]
imul ecx, eax
mov dword [rbp + 0x3c], ebx
imul eax, ecx, 0x4380
cmp eax, edx
je 0x18001f6bc
movsx edx, byte [rsp + 0x50]
movsx eax, byte [rsp + 0x50]
sub edx, eax
mov eax, dword [rsp + 0x60]
sub dl, al
mov byte [rsp + 0x50], dl
mov rax, qword [rbp - 0x68]
cmp rax, qword [0x18004e820]
jne 0x18001f2c1
mov ecx, dword [rsp + 0x60]
mov rax, qword [0x18004e840]
cmp rcx, rax
jge 0x18001f2b0
mov eax, dword [rsp + 0x60]
test eax, eax
jne 0x18001f2b0
movsx ecx, word [0x18004e7e8]
not ecx
test ecx, ecx
je 0x18001f2c1
mov eax, dword [0x1807446d0]
mov r12b, al
mov word [rsp + 0x78], r12w
jmp 0x18001f2c7
mov eax, dword [0x1807446d0]
xor r9d, r9d
mov dword [rsp + 0x64], eax
mov r8b, 0x4f
mov byte [rsp + 0x20], bl
mov dl, 0xb3
xor ecx, ecx
call fcn.1800236a4
movzx r15d, al
mov dword [rbp - 0x58], r15d
test al, al
je 0x18001f306
mov eax, edi
not eax
test eax, eax
je 0x18001f328
movsx eax, word [0x18004e7f4]
sub eax, 0xc643
cdqe
mov qword [rbp - 0x68], rax
jmp 0x18001f328
movzx eax, word [rsp + 0x54]
movzx eax, word [rsp + 0x54]
shl rax, 6
mov qword [rbp - 0x68], rax
movzx eax, word [rsp + 0x54]
add eax, 0xb5
mov dword [0x18004e73c], eax
mov eax, dword [rsp + 0x64]
xor r8d, r8d
add eax, 0xd4a5
mov dl, reloc.mozglue.dll_export_full.dll_Ordinal_116
mov dword [rbp + 8], eax
xor ecx, ecx
mov r9b, byte [0x18004e726]
call fcn.180023524
movzx eax, al
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x54]
test ax, ax
jne 0x18001f37b
mov eax, dword [rsp + 0x68]
imul ecx, eax, 0x22
mov eax, dword [rsp + 0x60]
add eax, ecx
mov dword [rsp + 0x60], eax
movzx eax, word [rsp + 0x58]
sub ax, word [0x18004e7ec]
mov word [rsp + 0x58], ax
mov eax, dword [rsp + 0x64]
mov ecx, 0x9b
add eax, 0x7919
mov qword [rsp + 0x20], rbx
mov dword [rbp - 0x5c], eax
movzx edx, word [rsp + 0x58]
lea r9d, [rcx + 0x10]
lea r8d, [rcx - 0x72]
call fcn.180023998
mov word [0x18004e800], ax
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x18001f405
movzx ecx, word [0x18004e82c]
mov edx, ebx
mov eax, dword [rsp + 0x68]
cmp eax, ecx
mov eax, dword [rsp + 0x68]
mov ecx, ebx
seta dl
cmp eax, 0x21
seta cl
cmp edx, ecx
jb 0x18001f3e5
mov eax, dword [0x18004e84c]
xor eax, 0x9b7ea20e
mov dword [rsp + 0x68], eax
jmp 0x18001f441
mov rax, r13
not rax
test rax, rax
je 0x18001f441
movzx ecx, byte [0x18004e79f]
movzx eax, r12b
sub ecx, eax
mov dword [0x18004e73c], ecx
jmp 0x18001f441
mov eax, dword [0x18004e7e0]
not eax
test eax, eax
je 0x18001f441
movsx eax, byte [0x18004e83c]
imul ecx, eax, 0xffffff93
movsx rax, byte [0x18004e7ce]
mov byte [rbp - 0x78], cl
mov rcx, qword [0x18004e808]
add rcx, rax
mov rax, qword [0x18004e808]
add rax, rcx
mov qword [0x18004e808], rax
mov eax, dword [rsp + 0x64]
mov ecx, 0x300
movsxd rdi, dword [rbp - 0x30]
add eax, 0xdf
mov dword [rbp + 8], eax
mov qword [rbp - 0x48], rcx
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x5c]
xor ecx, eax
mov eax, dword [rbp - 0x5c]
xor eax, 0xe5
add eax, 0xffff873c
add eax, ecx
mov dword [rbp + 8], eax
test edi, edi
jne 0x18001f4a5
movzx eax, word [rsp + 0x54]
xor r9d, r9d
mov rcx, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
add al, 0x39
mov byte [0x18004e79f], al
movzx eax, r12b
sub rax, 5
mov qword [0x18004e7f8], rax
xor edx, edx
jmp 0x18001f697
mov ecx, dword [0x18004e73c]
mov rax, qword [0x18004e7d0]
not ecx
add rax, rcx
jne 0x18001f4cc
mov rax, qword [0x18004e840]
cmp rax, 0x4e9d
jge 0x18001f4cc
mov edx, ebx
jmp 0x18001f4d1
mov edx, 1
mov eax, dword [0x18004e868]
mov ecx, ebx
test eax, eax
sete cl
cmp ecx, edx
jne 0x18001f54e
mov al, byte [0x18004e7dc]
xor r9d, r9d
mov r8b, byte [0x18004e726]
mov dl, 0x33
mov cl, byte [0x18004e84c]
mov byte [rsp + 0x20], al
call fcn.1800236a4
movzx ecx, al
mov qword [rbp - 0x48], rcx
cmp word [rsp + 0x70], bx
jne 0x18001f51a
cmp qword [0x18004e850], r15
jb 0x18001f51f
movzx eax, word [rsp + 0x54]
movsx ecx, word [0x18004e7e8]
mov edx, 4
movzx eax, word [rsp + 0x6c]
cmp eax, ecx
jge 0x18001f53b
mov word [rsp + 0x70], dx
jmp 0x18001f553
movabs rax, 0x738e4fe68946
add rax, rsi
mov qword [rbp - 0x28], rax
jmp 0x18001f553
mov edx, 4
movsx rcx, byte [0x18004e7e7]
movabs rax, 0xfff63a4629692421
add rax, rcx
movzx ecx, word [rsp + 0x5c]
or rcx, rax
mov eax, dword [0x1807446d0]
mov qword [rbp - 0x68], rcx
mov dword [rsp + 0x64], eax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp + 8]
add ecx, eax
mov dword [rbp - 0x30], ecx
movzx eax, word [rsp + 0x5c]
test ax, ax
je 0x18001f5dd
movsxd rcx, dword [0x18004e838]
mov rax, qword [rbp - 0x68]
cmp rcx, rax
jge 0x18001f5c9
mov eax, dword [rsp + 0x68]
test eax, eax
sete al
cmp dword [0x18004e818], ebx
sete cl
and cl, al
sub cl, 0x5f
add cl, byte [0x18004e7de]
mov byte [0x18004e73b], cl
jmp 0x18001f5fe
movsx eax, byte [rsp + 0x50]
imul eax, eax, 0x9b
movsxd rcx, eax
mov qword [rbp - 0x68], rcx
jmp 0x18001f5fe
mov rax, qword [0x18004e840]
test rax, rax
jne 0x18001f5ee
test r12b, r12b
je 0x18001f5fe
movsx eax, byte [0x18004e7cf]
sub eax, 0x4cad4ddd
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x64]
mov r15d, edx
add eax, 0x2bd
mov dword [rbp - 0x58], edx
mov dword [rbp - 0x30], eax
movzx eax, word [0x18004e800]
sub al, 5
mov byte [0x18004e6ff], al
mov ecx, dword [rsp + 0x68]
movzx eax, r12b
sub ecx, eax
mov dword [0x18004e864], 0x5284
mov dword [rsp + 0x68], ecx
mov ecx, 0xfaf8
movsx eax, r14b
movzx edx, ax
mov eax, dword [rsp + 0x64]
add eax, 0x16
imul edx, ecx
mov dword [rbp + 8], eax
mov eax, dword [rbp - 0x30]
imul ecx, eax, 0x6177c
mov eax, dword [rbp + 8]
mov word [rsp + 0x6c], dx
cmp eax, ecx
je 0x18001f6bc
movsx ecx, word [0x18004e7f4]
mov r9, rdi
mov eax, dword [0x18004e85c]
mov edx, 0x1fffff
add eax, 0x61
mov dword [0x18004e84c], eax
movsx eax, word [0x18004e810]
add eax, ecx
mov rcx, qword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [rsp + 0x60], eax
mov qword [rsp + 0x40], rbx
xor r8d, r8d
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.18000b68c
mov qword [rbp + 0x20], rax
mov edx, dword [rbp - 0x74]
mov eax, dword [rbp]
add edx, eax
mov ecx, dword [rbp]
mov eax, dword [rbp - 0x74]
sub eax, 0x24d
imul ecx, edx
xor eax, 0x282
cmp ecx, eax
je 0x18001fcb7
movsx ecx, word [0x18004e7e4]
mov edx, ebx
mov eax, dword [rsp + 0x60]
cmp eax, ecx
mov eax, dword [rsp + 0x60]
mov ecx, ebx
setae dl
cmp eax, 0x25
setae cl
cmp edx, ecx
ja 0x18001f74c
movsx rcx, word [0x18004e7f4]
mov r15d, ebx
mov rax, qword [rbp - 0x28]
sub rax, rcx
mov dword [rbp - 0x58], ebx
cmp qword [0x18004e850], rbx
mov qword [rbp - 0x28], rax
mov rcx, qword [rbp - 0x68]
sete al
and cl, al
mov al, byte [rsp + 0x53]
sub cl, al
mov rax, qword [rbp - 0x28]
sub cl, al
mov eax, dword [rsp + 0x60]
mov byte [0x18004e727], cl
mov rcx, qword [rbp - 0x68]
add ecx, eax
mov dword [rsp + 0x60], ecx
jmp 0x18001f758
mov eax, 0xffff
add word [0x18004e814], ax
mov eax, dword [0x1807446d0]
mov byte [0x18004e6ff], r13b
mov dword [rbp - 0x7c], eax
mov eax, 0xffffc575
mov word [0x18004e7f4], ax
mov eax, dword [rbp - 0x7c]
add eax, 0xbaa2
mov dword [rbp - 0x30], eax
movzx eax, word [rsp + 0x5c]
dec ax
mov word [rsp + 0x5c], ax
movzx eax, word [rsp + 0x58]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp - 0x7c]
add eax, 0xb2f9
mov dword [rbp - 0x30], eax
movsx rcx, byte [rsp + 0x51]
movzx eax, r12b
xor rcx, rax
movzx eax, word [0x18004e804]
test ax, ax
sete al
xor r9d, r9d
sub cl, al
xor r8d, r8d
sub cl, byte [0x18004e7f8]
mov byte [rsp + 0x51], cl
xor ecx, ecx
mov al, byte [rsp + 0x51]
mov eax, dword [rbp - 0x7c]
add eax, 0xe2
mov dword [rbp + 8], eax
mov edx, dword [0x18004e858]
call fcn.180023524
mov rsi, qword [rbp - 0x48]
mov edx, ebx
test rsi, rsi
movzx edi, al
movzx eax, word [0x18004e804]
movzx r11d, di
sete dl
mov dword [rbp - 0x7c], r11d
cmp eax, edx
ja 0x18001f82c
movzx ecx, word [rsp + 0x58]
mov edx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x68]
add edx, ecx
or eax, edx
mov dword [rsp + 0x68], eax
movzx eax, byte [0x18004e6fe]
mov dword [reloc.mozglue.dll_export_full.dll_Ordinal_116], eax
mov rcx, qword [rbp - 0x68]
mov edx, ebx
movzx eax, word [rsp + 0x6c]
cmp rcx, rax
mov rax, qword [rbp - 0x68]
mov ecx, ebx
setge dl
cmp rax, 0x64
setge cl
cmp edx, ecx
jne 0x18001f8e0
xor ecx, ecx
call fcn.1800233e4
mov r11d, dword [rbp - 0x7c]
mov r12b, al
mov word [rsp + 0x78], r12w
test al, al
je 0x18001f8cc
mov ecx, dword [0x18004e7ec]
mov edx, ebx
cmp ecx, dword [0x18004e818]
mov eax, ebx
sete dl
cmp ecx, 0x5e
sete al
cmp edx, eax
jae 0x18001f8ab
movzx eax, word [rsp + 0x58]
cmp dword [0x18004e7e0], ebx
je 0x18001f89e
movzx r14d, word [0x18004e7e8]
jmp 0x18001f8a2
mov r14d, dword [rbp - 0x80]
mov qword [rbp - 8], r14
jmp 0x18001f933
movzx eax, word [0x18004e7e4]
test ax, ax
je 0x18001f933
movzx eax, word [rbp - 0x10]
mov ecx, 0x6268
sub ax, cx
mov word [0x18004e800], ax
jmp 0x18001f933
cmp dword [0x18004e7e0], ebx
je 0x18001f933
mov al, byte [rsp + 0x50]
sub al, 9
mov byte [rsp + 0x52], al
jmp 0x18001f933
cmp dword [rbp - 0x80], ebx
mov ecx, ebx
movsx eax, byte [rbp - 0x78]
sete cl
cmp eax, ecx
jge 0x18001f91a
movzx eax, byte [0x18004e79f]
imul eax, eax, 0x356
mov qword [rbp - 0x40], rax
mov ecx, dword [rsp + 0x60]
movzx eax, byte [0x18004e773]
sub ecx, eax
add ecx, 0x31618eeb
mov dword [rsp + 0x60], ecx
jmp 0x18001f933
cmp byte [0x18004e7cf], bl
mov ecx, dword [0x18004e838]
sete al
not cl
add cl, al
mov byte [reloc.mozglue.dll_export_full.dll_Ordinal_116], cl
mov eax, dword [rbp - 0x30]
imul ecx, eax, 0xa69f
mov eax, 0x747ca1c7
sub eax, ecx
mov dword [rbp - 0x30], eax
cmp qword [rbp + 0x20], rbx
jne 0x18001fcbb
mov eax, r15d
not eax
test eax, eax
jne 0x18001f96d
movzx eax, word [rsp + 0x54]
test ax, ax
jne 0x18001f96d
mov r9d, ebx
mov ecx, 1
jmp 0x18001f975
mov ecx, 1
mov r9d, ecx
mov al, byte [rsp + 0x50]
test al, al
jne 0x18001f988
cmp byte [0x18004e73b], bl
mov r8d, ecx
je 0x18001f98b
mov r8d, ebx
movsx eax, byte [0x18004e727]
mov edx, ebx
not eax
movsxd rcx, eax
mov rax, qword [rbp - 0x28]
cmp rcx, rax
mov eax, ebx
setg dl
cmp byte [0x18004e7de], bl
sete al
and r8d, r9d
and eax, edx
cmp eax, r8d
jne 0x18001f9d9
mov ecx, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
mov rax, qword [0x18004e7d0]
add rax, rcx
mov ecx, ebx
sete cl
sub cx, si
mov word [0x18004e7e4], cx
jmp 0x18001f9fc
cmp byte [reloc.mozglue.dll_export_full.dll_Ordinal_116], bl
jne 0x18001f9e9
cmp dword [0x18004e85c], ebx
je 0x18001f9fc
movsx r15d, byte [0x18004e7e6]
movsx eax, r11w
sub r15d, eax
mov dword [rbp - 0x58], r15d
mov qword [rbp - 0x68], rbx
add dil, 0x58
mov al, byte [rsp + 0x53]
or dil, al
mov byte [rsp + 0x53], dil
mov rax, qword [rbp - 0x68]
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x64], eax
movzx eax, r12b
cmp rax, r13
jne 0x18001fa3d
movzx eax, word [rsp + 0x58]
add eax, dword [0x18004e7ec]
je 0x18001fa3d
mov edi, 1
mov ecx, edi
jmp 0x18001fa44
mov ecx, ebx
mov edi, 1
movsx eax, r14b
cmp eax, ecx
jne 0x18001fa86
movzx eax, word [0x180036780]
lea rcx, [rbp + 0x2050]
movups xmm0, xmmword [str.access_token_issue]
mov word [rbp + 0x2060], ax
mov al, byte [0x180036782]
mov byte [rbp + 0x2062], al
movups xmmword [rbp + 0x2050], xmm0
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [rbp - 0x80], eax
jmp 0x18001fae0
movzx eax, word [0x18004e7e8]
mov rax, qword [0x18004e7d0]
mov eax, dword [0x18004e85c]
sub rax, rsi
not rax
test rax, rax
je 0x18001fac8
movzx r12d, word [0x18004e7f4]
movzx eax, byte [reloc.mozglue.dll_export_full.dll_Ordinal_116]
imul ecx, eax, 0x8f
mov word [rsp + 0x78], r12w
mov byte [reloc.mozglue.dll_export_full.dll_Ordinal_116], cl
jmp 0x18001fae0
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
test eax, eax
je 0x18001fae0
movzx eax, byte [0x18004e6ff]
mov word [0x18078d89e], ax
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x30]
add ecx, eax
movzx r9d, word [rsp + 0x70]
mov dword [rbp - 0x74], ecx
mov edx, r9d
mov cl, byte [0x18004e726]
not edx
mov al, byte [0x18004e6ff]
sub cl, al
sub cl, 0x6d
mov byte [0x18004e726], cl
movzx eax, word [0x18004e82c]
movzx r8d, word [rsp + 0x54]
imul r8d, eax
movzx eax, word [0x18004e82c]
sub ax, r8w
mov r8d, 0xcf3
mov word [0x18004e82c], ax
movzx eax, byte [0x18004e79f]
imul r13d, eax, 0xe90e139b
movsx eax, byte [rsp + 0x50]
xor eax, edx
add eax, 0x40af
cdqe
imul rax, qword [0x18004e830]
mov qword [rbp + 0x18], r13
mov qword [0x18004e808], rax
sub r8, rdi
jne 0x18001fb37
mov eax, dword [rsp + 0x64]
mov ecx, ebx
add eax, 0x2ce
mov dword [rbp - 0x30], eax
mov eax, r15d
cmp r13, rax
mov eax, ebx
setbe cl
cmp r13, 0x21
setbe al
cmp ecx, eax
jb 0x18001fb97
mov dword [rsp + 0x60], 0x2aaf
mov eax, dword [rsp + 0x64]
add eax, 0x324
mov dword [rbp + 8], eax
mov ecx, dword [rbp - 0x30]
mov eax, dword [rbp - 0x74]
sub ecx, eax
mov eax, dword [rbp - 0x74]
cmp eax, ecx
je 0x18001fcc0
movsx ecx, byte [0x18004e727]
mov edx, ebx
cmp ecx, r9d
mov eax, ebx
mov r13d, 2
setle dl
mov qword [0x18004e850], r13
cmp cl, 0xa
mov qword [rbp - 0x40], 0x1a8
setle al
cmp edx, eax
je 0x18001fc84
cmp dword [0x18004e73c], ebx
je 0x18001fc1b
movsx rcx, byte [0x18004e7e7]
add cl, 6
add cl, byte [0x18004e7dc]
mov byte [0x18004e7e7], cl
mov rax, qword [rbp - 0x68]
xor eax, 0x28
mov dword [0x18004e83c], eax
jmp 0x18001fcb0
mov rax, qword [rbp - 0x28]
mov edx, ebx
movzx ecx, word [0x18004e82c]
test rax, rax
sete dl
add ecx, edx
je 0x18001fc4f
mov rcx, qword [rbp - 0x40]
movsx rax, byte [rbp - 0x78]
imul rcx, rax
mov rax, qword [rbp - 0x28]
add rax, rcx
sete byte [0x18004e7df]
jmp 0x18001fcb0
cmp byte [0x18004e727], bl
je 0x18001fc66
mov rax, qword [0x18004e840]
not rax
test rax, rax
jne 0x18001fc6c
mov eax, dword [0x18004e868]
mov ecx, dword [0x18004e828]
mov al, byte [rsp + 0x50]
xor ecx, 0xb35b
sub al, cl
mov byte [rsp + 0x50], al
jmp 0x18001fcb0
movzx ecx, word [rsp + 0x54]
test cx, cx
je 0x18001fcb0
mov rcx, qword [0x18004e808]
mov edx, 0xaa58
mov byte [rsp + 0x50], cl
movzx r8d, byte [rsp + 0x52]
imul r8d, edx
mov word [0x18004e804], r8w
mov eax, edi
jmp 0x1800216bd
mov rsi, qword [rbp - 0x48]
mov edi, 1
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r9d, r9d
mov qword [rsp + 0x40], rbx
xor r8d, r8d
mov qword [rsp + 0x38], rbx
xor edx, edx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.18000b68c
mov rcx, qword [sym.imp.mozglue.dll_export_full.dll_Ordinal_115]
mov rdx, rax
mov qword [rsp + 0x40], rbx
mov r9d, 0x2000
mov qword [rsp + 0x38], rbx
mov r8d, 8
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.18000b68c
mov r14, rax
test rax, rax
jne 0x18001fd72
movzx edx, byte [rsp + 0x52]
xor r8d, r8d
xor ecx, ecx
call fcn.18002306c
cmp dword [0x18004e73c], edi
jae 0x18001fd4f
mov eax, dword [rsp + 0x68]
sub eax, 0xe1db
mov qword [rbp - 0x68], rax
jmp 0x18001fd68
test r15d, r15d
je 0x18001fd68
movzx ecx, word [0x18004e7f4]
sar cx, 5
movsx ecx, cx
mov dword [0x18004e85c], ecx
mov eax, 0xa
jmp 0x1800216bd
mov qword [rsp + 0x40], rbx
lea rcx, [fcn.18002b7c0]
mov qword [rsp + 0x38], rbx
mov edi, 0x2000
mov qword [rsp + 0x30], rbx
mov r9d, edi
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov rdx, r14
mov qword [rsp + 0x20], rbx
call fcn.18000b68c
mov rcx, qword [rbp + 0x20]
lea r9, [rbp - 0x38]
mov r8d, edi
mov rdx, r14
call fcn.180018bc0
test eax, eax
je 0x18001feea
movsx ecx, byte [rsp + 0x50]
mov eax, dword [0x18004e860]
add ecx, 0xffffff43
mov r8, qword [rbp - 0x10]
add eax, ecx
mov dword [0x18004e860], eax
mov ecx, 0x76fe
movzx eax, r15w
add r8w, 0x4e
sub ax, cx
mov qword [rbp - 0x10], r8
mov word [rsp + 0x58], ax
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x64], eax
movzx eax, word [rsp + 0x5c]
mov ecx, dword [rsp + 0x60]
sub ecx, eax
mov eax, dword [rsp + 0x60]
sub ecx, eax
mov dword [rsp + 0x60], ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x18]
add ecx, eax
mov dword [rbp - 0x18], ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rbp - 0x20]
add ecx, eax
mov dword [rbp - 0x20], ecx
mov eax, r13d
mov ecx, dword [0x18004e85c]
add ecx, 0x58f8685c
add ecx, esi
cmp byte [0x18004e727], bl
mov dword [0x18004e85c], ecx
jne 0x18001fe52
movzx eax, word [rsp + 0x54]
mov dword [0x18004e864], eax
mov eax, dword [rsp + 0x64]
add eax, 0x3b
mov dword [rbp - 0x74], eax
mov edx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x74]
add edx, eax
mov ecx, dword [rbp - 0x20]
mov eax, dword [rbp - 0x18]
imul ecx, eax
cmp edx, ecx
je 0x18001feea
movsx rax, byte [rbp - 0x78]
mov r13d, 2
cmp rax, qword [0x18004e830]
je 0x18001fec2
movzx ecx, word [rsp + 0x54]
mov eax, dword [0x18004e860]
cmp ecx, eax
jge 0x18001feaf
mov eax, dword [0x18092286c]
or dword [0x18004e83c], eax
mov qword [0x18004e7d0], r13
jmp 0x18001fed1
mov eax, dword [0x18004e774]
add eax, 0xbb
mov dword [0x18004e858], eax
jmp 0x18001fed1
mov ecx, 0xed0c
sub cx, si
add word [0x18004e81c], cx
mov rcx, qword [rbp - 0x40]
test r8w, r8w
mov eax, r13d
sete bl
add dword [0x18004e864], ebx
jmp 0x1800216bd
mov eax, dword [rbp - 0x38]
mov ecx, eax
mov qword [rbp + 8], rax
call fcn.18001d804
mov r8d, dword [rbp - 0x50]
mov rdi, rax
mov ecx, dword [rbp - 0x50]
mov r13d, 2
sub r8d, ecx
mov qword [rbp - 0x30], rax
mov ecx, dword [rbp - 0x1c]
add ecx, 0x368
imul edx, ecx, 0xfffffcdb
cmp edx, r8d
je 0x18002018e
movsx edx, word [0x18004e7f4]
mov r8d, ebx
mov ecx, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
cmp ecx, edx
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
mov ecx, ebx
setae r8b
cmp eax, 0x58
setae cl
cmp r8d, ecx
jae 0x18001ff59
mov esi, r13d
mov qword [rbp - 0x48], r13
jmp 0x18001ffcd
cmp dword [0x18004e73c], ebx
mov edx, ebx
movsx eax, byte [0x18004e7cf]
mov ecx, ebx
sete dl
add edx, eax
mov eax, dword [0x18004e858]
cmp dword [0x18004e84c], eax
setg cl
cmp edx, ecx
jne 0x18001ffcd
mov eax, dword [rsp + 0x68]
mov ecx, 0xb214
xor ax, cx
mov edx, ebx
cmp byte [rbp - 0x78], bl
mov word [rsp + 0x6c], ax
movsx eax, byte [0x18004e727]
cmove edx, eax
movzx eax, byte [rsp + 0x52]
imul edx, dword [0x18004e7e0]
movsx ecx, byte [0x18004e7e6]
imul ecx, eax
or ecx, 0xbaccafc8
neg edx
sbb eax, eax
add eax, r13d
add ecx, eax
mov dword [0x18004e774], ecx
movzx eax, word [0x18004e800]
test ax, ax
je 0x18001fff2
movzx ecx, word [0x18004e7f4]
mov eax, dword [rsp + 0x68]
xor cx, ax
mov word [rbp - 0x10], cx
mov byte [rsp + 0x53], 0x92
jmp 0x180020024
mov rax, qword [rbp - 0x68]
test rax, rax
jne 0x180020007
cmp dword [0x18004e828], ebx
jne 0x180020007
mov edx, ebx
jmp 0x18002000c
mov edx, 1
movsx eax, byte [rsp + 0x51]
cmp edx, eax
je 0x180020024
mov al, byte [0x18004e73b]
sub al, sil
mov byte [0x18004e7e6], al
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
add eax, 0x753
mov dword [rbp - 0x20], eax
mov eax, dword [rsp + 0x64]
add eax, 0x5455
mov dword [rbp - 0x1c], eax
mov dword [0x18004e860], 0xc8159904
mov eax, dword [rsp + 0x64]
add eax, 0xadf0
mov dword [rbp - 0x18], eax
mov al, byte [rsp + 0x53]
test al, al
je 0x1800200c3
mov r8, qword [rbp - 0x68]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call fcn.180023524
movzx eax, al
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x1800200ac
movzx eax, byte [rsp + 0x53]
mov dword [0x18004e838], eax
movzx ecx, byte [rsp + 0x52]
movzx eax, word [0x18004e814]
sub ecx, eax
mov al, byte [rsp + 0x52]
and al, cl
mov byte [rsp + 0x52], al
jmp 0x180020145
mov al, byte [0x1807446d0]
mov byte [0x18004e7cf], al
mov word [rsp + 0x58], r13w
jmp 0x180020145
movzx eax, word [rsp + 0x54]
test ax, ax
je 0x1800200db
mov eax, dword [0x1807446d0]
mov dword [reloc.mozglue.dll_export_full.dll_Ordinal_116], eax
jmp 0x180020145
cmp dword [0x18004e818], ebx
je 0x180020109
movsx edx, byte [rsp + 0x51]
movsx eax, byte [rsp + 0x51]
sub edx, eax
mov eax, dword [0x18004e858]
sub dl, al
mov byte [rsp + 0x51], dl
mov eax, dword [0x18004e868]
mov dword [0x18004e7d8], eax
jmp 0x180020145
movsx ecx, byte [0x18004e7e7]
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
test ecx, eax
mov eax, ebx
sete al
cmp dword [0x18004e7d8], eax
jg 0x180020145
movzx eax, byte [0x18004e81d]
movsx ecx, byte [rsp + 0x51]
mov qword [0x18004e850], rax
movzx eax, word [rsp + 0x70]
sub ecx, eax
mov dword [0x18004e838], ecx
mov ecx, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x20]
imul ecx, eax
sub ecx, 0x269aa85
mov dword [rbp - 0x1c], ecx
test rdi, rdi
jne 0x18002018e
movsx eax, byte [rbp - 0x78]
cmp eax, r15d
jb 0x180020171
mov eax, dword [0x18004e858]
add byte [0x18004e773], al
movzx eax, word [0x18004e7f8]
mov word [0x18004e7f0], ax
mov byte [0x18004e726], 0x34
mov eax, dword [rbp - 0x1c]
jmp 0x1800216bd
movzx ecx, byte [0x18004e6ff]
mov esi, ebx
movzx eax, byte [0x18004e6fe]
sub eax, 0xa8fd
mov dword [0x18004e7ec], eax
movzx eax, word [0x18004e81c]
sub ecx, eax
mov al, byte [0x18004e6ff]
add al, cl
mov byte [0x18004e6ff], al
cmp dword [rbp - 0x38], ebx
jbe 0x1800206fd
mov r13, rdi
mov eax, dword [0x18004e85c]
mov dword [0x1808a1cac], eax
movzx eax, word [0x18004e804]
mov edx, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
xor edx, eax
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
movzx ecx, byte [reloc.mozglue.dll_export_full.dll_Ordinal_116]
add eax, edx
mov dword [reloc.mozglue.dll_export_full.dll_Ordinal_116], eax
mov rax, qword [rbp - 0x28]
cmp rcx, rax
jle 0x180020220
mov eax, dword [0x18004e7d8]
add eax, 0x1dd5c762
mov qword [rbp + 0x18], 0x95
mov dword [reloc.mozglue.dll_export_full.dll_Ordinal_116], eax
jmp 0x18002023b
mov eax, r15d
not eax
test eax, eax
je 0x18002023b
movzx eax, word [0x18004e82c]
movzx eax, word [0x18004e82c]
mov al, byte [rsp + 0x50]
mov eax, dword [0x1807446d0]
mov edi, 0x110
mov dword [rsp + 0x60], eax
mov r15d, 1
movups xmm0, xmmword [str.Endpoint_URI]
lea rcx, [rbp + 0x2068]
movzx eax, word [0x1800367a0]
movsd xmm1, qword [0x180036798]
movups xmmword [rbp + 0x2068], xmm0
mov word [rbp + 0x2080], ax
movsd qword [rbp + 0x2078], xmm1
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r12b, al
mov rax, qword [0x18004e840]
add rax, r15
mov word [rsp + 0x78], r12w
mov qword [0x18004e840], rax
sub rdi, r15
jne 0x180020250
mov eax, dword [rsp + 0x60]
add eax, 0x1a9
mov dword [rbp - 0x74], eax
mov eax, dword [rsp + 0x60]
add eax, 0x39e
mov dword [rsp + 0x64], eax
mov eax, dword [0x18004e85c]
neg eax
mov dword [0x18004e864], eax
mov eax, dword [rsp + 0x60]
add eax, 0xed
mov dword [rbp - 0x18], eax
mov eax, dword [0x1807446d0]
mov dword [rbp - 0x5c], eax
mov al, byte [rsp + 0x6c]
add al, byte [0x18004e7ce]
mov byte [0x18004e726], al
movsx ecx, word [0x18004e7e8]
add ecx, 0x25a8551c
mov dword [rsp + 0x60], ecx
mov eax, dword [rbp - 0x5c]
add eax, 0x38c
mov dword [rbp - 0x20], eax
lea eax, [rdi + 0x7e]
sub al, byte [rbp + 0x18]
add byte [0x18004e7e6], al
cmp dword [rbp - 0x80], ebx
je 0x180020328
movzx eax, word [rsp + 0x58]
jmp 0x18002032e
mov eax, dword [0x18004e85c]
mov byte [rsp + 0x51], al
mov r9b, 0xfa
mov eax, dword [rbp - 0x5c]
mov r8b, 0x32
add eax, 0x38e
xor edx, edx
mov dword [rbp - 0x1c], eax
movzx ecx, word [rsp + 0x54]
call fcn.180023524
mov byte [rsp + 0x52], al
mov al, byte [rsp + 0x52]
test al, al
je 0x180020367
mov eax, 8
mov word [rsp + 0x70], ax
jmp 0x180020380
movsx rcx, word [0x18004e7e8]
mov rax, qword [0x18004e808]
sub rax, rcx
mov qword [0x18004e808], rax
mov eax, dword [rbp - 0x5c]
mov r15d, dword [rbp - 0x58]
add eax, 0x22e
mov dword [rbp - 0x50], eax
mov ecx, dword [rbp - 0x1c]
mov eax, dword [rbp - 0x20]
and ecx, eax
mov eax, dword [rbp - 0x50]
sub ecx, eax
mov eax, dword [rbp - 0x50]
add eax, ecx
cmp eax, 0x196
je 0x1800206ec
movzx edx, word [rsp + 0x5c]
mov eax, 1
mov byte [rbp - 8], al
mov ecx, ebx
mov eax, dword [rsp + 0x60]
mov r9d, 0x104
add dx, ax
mov qword [rsp + 0x40], rbx
movzx eax, word [0x18004e85c]
cmp word [0x18004e814], bx
mov qword [rsp + 0x38], rbx
cmove cx, dx
mov qword [rsp + 0x30], rbx
movzx edx, cx
xor r8d, r8d
movsx rcx, byte [rsp + 0x50]
imul edx, eax
mov rax, qword [rbp - 0x40]
not ax
mov qword [rsp + 0x28], rbx
xor ax, cx
mov qword [rsp + 0x20], rbx
not ax
mov ecx, 0x6159
add ax, dx
lea rdx, [rbp + 0x2090]
sub ax, word [0x18004e84c]
sub ax, cx
mov word [rsp + 0x6c], ax
movzx eax, byte [rsp + 0x53]
mov ecx, dword [rsp + 0x68]
add eax, 0xce39
and ecx, eax
mov eax, dword [0x18004e83c]
add eax, 0xa06f2933
mov dword [rsp + 0x68], ecx
lea rcx, [fcn.18002b7c0]
mov dword [0x18004e73c], eax
call fcn.18000b68c
mov rcx, qword [rbp + 0x20]
lea r8, [rbp + 0x2090]
mov edi, esi
mov r9d, 0x104
mov rdx, qword [r14 + rdi*8]
call fcn.1800186b4
mov edx, dword [rbp + 0x38]
mov r8d, eax
mov ecx, dword [rbp + 0x28]
add edx, 0x17a
cmp ecx, edx
je 0x18002059a
cmp byte [0x18004e7cf], bl
je 0x1800204a8
cmp byte [reloc.mozglue.dll_export_full.dll_Ordinal_116], bl
je 0x1800204a8
mov edx, 1
jmp 0x1800204aa
mov edx, ebx
movsx ecx, byte [0x18004e7e7]
movzx eax, word [0x18004e7f0]
add eax, ecx
mov ecx, ebx
cmp eax, edx
mov eax, dword [rsp + 0x68]
setge cl
cmp ecx, eax
jae 0x1800204d8
movzx eax, word [0x18004e7f4]
shl ax, 3
mov word [rbp - 0x7c], ax
test r8d, r8d
je 0x18002059a
movzx ecx, word [rsp + 0x58]
mov eax, dword [0x18004e838]
cmp eax, ecx
jle 0x18002050b
mov rax, qword [0x18004e808]
add al, byte [0x18004e850]
add al, byte [0x18004e7d8]
mov byte [rbp - 8], al
jmp 0x18002059a
cmp byte [0x18004e7e6], bl
mov rcx, rbx
mov rax, qword [0x18004e7d0]
mov r8d, ebx
sete cl
mov edx, ebx
cmp rax, rcx
movsx ecx, byte [0x18004e7e7]
movzx eax, byte [0x18004e773]
setle r8b
cmp eax, ecx
setl dl
sub edx, r8d
not edx
test edx, edx
je 0x18002056b
movsx ecx, byte [0x18004e726]
mov eax, 0x4b3d750e
sub eax, ecx
mov ecx, 0x5e7b
add dword [rbp - 0x80], eax
movzx eax, word [rsp + 0x54]
add ax, cx
mov word [rsp + 0x70], ax
jmp 0x18002059a
movzx eax, word [rsp + 0x54]
cmp eax, dword [0x18004e7e0]
ja 0x18002059a
movzx ecx, word [0x18004e818]
mov eax, dword [rbp + 0x18]
xor eax, 0x73565a0a
mov dword [0x18004e838], eax
mov eax, 0x9b2f
imul ecx, eax
mov word [rsp + 0x54], cx
mov rax, qword [rbp + 0x48]
mov r9d, 0x400
mov r8, qword [r13 + rdi*8]
mov rdx, qword [r14 + rdi*8]
add r8, 0x110
mov rcx, qword [rbp + 0x20]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
call fcn.1800164a8
mov edx, dword [rbp + 0x2c]
mov r9d, eax
mov ecx, dword [rbp - 0x60]
imul edx, ecx
mov ecx, dword [rbp + 0x34]
mov r8d, dword [rbp - 0x60]
sub edx, ecx
add r8d, edx
mov edx, dword [rbp + 0x34]
mov ecx, dword [rbp + 0x34]
imul edx, ecx
cmp edx, r8d
je 0x18002063e
mov ecx, 0x19c
mov edx, 1
movzx eax, word [0x18004e7e8]
sar ax, 8
mov byte [rbp - 8], al
movzx eax, word [rsp + 0x5c]
add ax, dx
mov word [rsp + 0x5c], ax
sub rcx, rdx
jne 0x1800205fb
test r9d, r9d
je 0x18002063e
movsxd rax, dword [0x18004e858]
neg rax
mov qword [rbp - 0x48], rax
movzx eax, word [rsp + 0x6c]
add eax, 0xbf18
and dword [0x18004e85c], eax
mov rcx, qword [r13 + rdi*8]
lea r8, [rbp + 0x2090]
mov rax, qword [r14 + rdi*8]
mov r9d, 0x103
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], rbx
mov qword [rcx], rax
mov rcx, qword [r13 + rdi*8]
mov eax, dword [rbp + 0x30]
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov dword [rcx + 0x10c], eax
lea rcx, [0x18002c9d0]
mov rdx, qword [r13 + rdi*8]
add rdx, 8
mov qword [rsp + 0x20], rbx
call fcn.18000b68c
movzx eax, word [rbp - 0x10]
sub rax, 0x6dc1
mov qword [rbp - 0x68], rax
movzx eax, r12b
imul ecx, eax, 0x462966aa
mov dword [0x18004e7e0], ecx
mov ecx, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub ecx, eax
mov r8d, dword [rsp + 0x64]
mov eax, dword [rsp + 0x64]
sub r8d, eax
mov edx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x74]
sub edx, eax
imul r8d, ecx
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp + 0x30]
xor ecx, 0x348
imul edx, r8d
imul ecx, edx
sub eax, ecx
add dword [rsp + 0x74], eax
inc esi
cmp esi, dword [rbp - 0x38]
jb 0x1800201cc
mov r13d, 2
mov esi, dword [rbp - 0x7c]
xor r9d, r9d
mov rcx, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
xor r8d, r8d
mov qword [rsp + 0x40], rbx
xor edx, edx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
mov word [rsp + 0x64], si
call fcn.18000b68c
mov rcx, qword [sym.imp.mozglue.dll_export_full.dll_Ordinal_116]
mov rdx, rax
mov qword [rsp + 0x40], rbx
mov r9, r14
mov qword [rsp + 0x38], rbx
xor r8d, r8d
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call fcn.18000b68c
movzx edx, word [rsp + 0x54]
movzx eax, byte [rsp + 0x52]
imul eax, edx
mov word [rsp + 0x54], ax
mov edx, dword [rbp + 0x10]
mov eax, dword [rsp + 0x7c]
and edx, 0x360
imul ecx, eax, 0xf1
cmp edx, ecx
je 0x180021641
mov dword [reloc.mozglue.dll_export_full.dll_Ordinal_116], 4
test r12b, r12b
mov eax, dword [0x18004e838]
mov r8d, ebx
mov edx, dword [0x18004e860]
sete r8b
movsx ecx, byte [0x18004e7e7]
not edx
add ecx, edx
mov edx, ebx
cmp r8d, eax
mov eax, dword [0x18004e84c]
mov r8d, dword [rsp + 0x70]
not eax
cmove edx, ecx
add eax, edx
mov eax, ebx
sete al
mov word [0x18004e81c], ax
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
mov cl, byte [0x18004e79f]
xor al, cl
add cl, al
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
mov byte [0x18004e79f], cl
test eax, eax
je 0x18002086a
sub eax, 1
je 0x18002084b
sub eax, 1
je 0x18002083b
mov r9d, 1
cmp eax, r9d
jne 0x180020877
movzx ecx, word [0x18004e804]
mov rax, qword [rbp - 0x28]
sub rcx, rax
movzx eax, word [0x18004e804]
add ax, cx
mov word [0x18004e804], ax
mov eax, dword [0x1809225e0]
mov dword [rsp + 0x68], eax
jmp 0x180020877
movzx eax, byte [0x18004e6ff]
mov word [0x18004e7e4], ax
jmp 0x180020862
movzx ecx, word [rsp + 0x6c]
movzx eax, r8w
not cx
not ax
add cx, ax
mov word [rsp + 0x5c], cx
mov r9d, 1
jmp 0x180020877
mov r9d, 1
add dword [0x18004e7e0], r9d
cmp dword [rsp + 0x74], ebx
jbe 0x180021641
movzx eax, byte [0x18004e73b]
movsx ecx, byte [0x18004e7e6]
movsx edi, byte [rbp - 8]
sub ecx, edi
imul ecx, eax
mov eax, r15d
movsxd rdx, ecx
add rdx, rax
mov rax, qword [rbp - 0x28]
movzx ecx, byte [0x18004e6fe]
add al, dl
add al, byte [0x18004e820]
add ecx, 0x7732f234
mov byte [rsp + 0x52], al
mov qword [rbp - 0x40], rbx
mov eax, dword [rsp + 0x60]
sub eax, 0x75
mov esi, ecx
mov dword [0x18004e83c], eax
mov rax, qword [rbp - 0x40]
mov rax, qword [0x18004e808]
mov qword [rbp - 8], rsi
test rax, rax
je 0x1800208f2
mov r15d, dword [0x18004e860]
mov dword [rbp - 0x58], r15d
jmp 0x1800208f8
mov r15d, ecx
mov dword [rbp - 0x58], ecx
movzx eax, word [0x18004e7f4]
sub ax, r8w
mov word [0x18004e7f4], ax
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x74], eax
movsx ecx, word [0x18004e800]
movzx eax, byte [rsp + 0x53]
cmp eax, ecx
je 0x18002094b
movzx ecx, r8w
mov eax, 0xce
mov r12d, dword [rsp + 0x60]
add byte [0x18004e727], r9b
add r12d, ecx
mov dword [rbp - 0x80], r12d
sub rax, r9
jne 0x18002092d
movzx r12d, word [rsp + 0x78]
mov eax, dword [rsp + 0x74]
mov ecx, ebx
add eax, 0xac
mov dword [rsp + 0x7c], eax
movzx eax, byte [reloc.mozglue.dll_export_full.dll_Ordinal_116]
cmp r8w, ax
mov eax, ebx
setae cl
cmp r8w, 0x2d
setae al
cmp ecx, eax
ja 0x1800209e8
mov r9, qword [0x18004e840]
mov r8d, 0x41
movsx ecx, byte [rsp + 0x51]
xor edx, edx
mov word [rsp + 0x20], r8w
movzx r8d, word [rbp - 0x80]
call fcn.1800237f8
mov ecx, ebx
mov word [0x18004e82c], ax
mov rax, qword [rbp - 0x68]
test rax, rax
sete cl
cmp r15d, ecx
jbe 0x1800209cc
mov eax, 0x6cdc
movzx ecx, di
imul ecx, eax
movzx eax, word [rsp + 0x58]
sub ax, cx
mov word [rsp + 0x58], ax
jmp 0x180020a0d
movsx eax, byte [rsp + 0x50]
mov word [0x18004e81c], ax
mov al, byte [0x18004e7e7]
xor al, 0xab
mov byte [reloc.mozglue.dll_export_full.dll_Ordinal_116], al
jmp 0x180020a0d
mov eax, dword [0x18004e868]
mov al, byte [0x18004e6ff]
movzx eax, word [rsp + 0x5c]
mov word [0x18004e7e8], ax
movsx eax, word [0x18004e810]
sub dword [0x18004e85c], eax
mov eax, dword [rsp + 0x74]
add eax, 0x187
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x74]
add eax, 0x29a
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x7c]
cmp eax, 0x314
je 0x18002163e
mov ecx, dword [0x18004e828]
xor edx, edx
mov qword [rsp + 0x20], rbx
lea r9d, [rdx + 0x76]
lea r8d, [rdx + 0x75]
call fcn.180023998
cmp al, 0x35
mov byte [0x18004e7ce], al
mov ecx, ebx
movzx eax, al
setl cl
shr eax, 7
cmp eax, ecx
jae 0x180020a98
mov r9b, byte [0x18004e7d8]
mov r8b, 0x3a
mov dl, sil
xor ecx, ecx
call fcn.180023524
movzx ecx, word [0x18004e7dc]
movzx eax, al
mov dword [0x18004e858], eax
mov eax, r15d
not eax
cmp ecx, eax
jne 0x180020a98
mov al, byte [rsp + 0x52]
mov rax, qword [rbp - 0x40]
mov r10d, 1
mov rax, qword [rbp - 0x40]
mov edx, ebx
movzx ecx, word [0x18004e804]
mov r8, qword [rbp - 0x48]
mov r9d, dword [rsp + 0x70]
mov rax, r8
sub rax, rcx
movzx esi, r12b
or r8, rax
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x74], eax
mov r14b, r8b
movzx eax, byte [0x18004e6fe]
and r14b, r10b
mov dword [rsp + 0x60], 0xc3dd7750
mov word [0x18004e7e4], ax
movzx eax, byte [0x18004e73b]
imul ecx, eax, 0x66
mov eax, dword [rsp + 0x74]
add eax, 0x1be
mov qword [rbp - 0x48], r8
mov byte [rbp - 0x70], r14b
mov byte [0x18004e773], cl
mov dword [rbp - 0x74], eax
mov eax, r10d
sub al, r14b
mov dword [rbp], eax
mov eax, dword [rsp + 0x74]
add eax, 0x213
mov dword [rsp + 0x7c], eax
movsx ecx, byte [rsp + 0x50]
mov al, byte [rsp + 0x50]
imul ecx, esi
or al, cl
mov byte [rsp + 0x50], al
movzx eax, word [0x18004e83c]
sub word [rbp - 0x7c], ax
mov word [rbp - 0x5c], ax
mov eax, dword [rsp + 0x74]
add eax, 0xc1
mov dword [rbp + 0x28], eax
mov rcx, qword [rbp - 0x40]
movzx eax, r9w
cmp rax, rcx
mov eax, ebx
setbe dl
cmp r9w, 7
setbe al
cmp edx, eax
ja 0x180020bbb
movzx eax, word [0x18004e82c]
movsx ecx, byte [rsp + 0x50]
not ecx
test ecx, ecx
je 0x180020ba2
mov cl, byte [0x18004e7df]
mov al, byte [0x18004e6ff]
sub cl, 0x2d
add cl, al
mov eax, dword [0x1807446d0]
mov byte [0x18004e7df], cl
mov dword [rbp - 0x80], eax
jmp 0x180020bcd
mov al, byte [rsp + 0x51]
mov ecx, ebx
test al, al
sete cl
cmp ecx, esi
ja 0x180020bcd
mov eax, dword [rsp + 0x60]
mov byte [rsp + 0x51], al
jmp 0x180020bcd
mov al, byte [0x18004e726]
sub al, byte [0x1809217c0]
mov byte [0x18004e726], al
mov edx, dword [rbp - 0x38]
mov edi, ebx
test edx, edx
je 0x1800210a9
movzx eax, r14b
mov r15, r10
movzx r14d, word [rbp - 0x5c]
sub r15, rax
mov eax, 0x90fc
movzx r12d, r8w
and r12w, ax
movzx ecx, word [0x18004e82c]
mov rax, qword [0x18004e808]
cmp rax, rcx
jle 0x180020c61
movsx ecx, byte [0x18004e726]
mov edx, ebx
mov eax, dword [0x18004e774]
cmp eax, ecx
mov eax, dword [0x18004e774]
mov ecx, ebx
seta dl
cmp eax, 8
seta cl
cmp edx, ecx
je 0x180020c51
mov eax, 4
mov word [0x18004e804], ax
movzx eax, r9w
imul ecx, eax, 0x94324042
mov eax, dword [rsp + 0x60]
and ecx, eax
mov dword [rsp + 0x60], ecx
jmp 0x180020c61
movsx ecx, word [0x18004e7e8]
sar ecx, 7
mov dword [0x18004e864], ecx
mov eax, dword [rsp + 0x60]
mov ecx, 0x7119f8b5
sub ecx, esi
mov edx, 0x147
add ecx, eax
mov eax, dword [0x18004e864]
mov dword [rsp + 0x60], ecx
sar eax, 2
mov byte [0x18004e73b], al
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x74], eax
movzx ecx, word [rsp + 0x58]
movsx eax, byte [0x18004e7ce]
sub ecx, eax
movzx eax, word [rsp + 0x58]
sub cx, ax
mov word [rsp + 0x58], cx
mov al, byte [rsp + 0x52]
sub al, byte [rbp - 8]
mov byte [rsp + 0x52], al
mov eax, dword [rsp + 0x74]
add eax, 0x221
mov dword [rbp - 0x60], eax
mov eax, dword [rsp + 0x60]
movsx ecx, byte [0x18004e7de]
not eax
add ecx, eax
mov rax, qword [rbp - 0x40]
not ecx
add rax, rcx
mov rcx, rbx
sete cl
mov qword [rbp - 0x68], rcx
mov ecx, dword [0x18004e868]
mov rax, qword [rbp - 0x40]
sub rcx, r15
add eax, ecx
mov dword [0x18004e774], eax
mov eax, dword [rsp + 0x74]
add eax, 0x1c4
mov word [0x18004e814], r12w
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x74]
add eax, 0x88
mov dword [rbp + 0x10], eax
mov ecx, dword [rsp + 0x7c]
mov eax, dword [rbp - 0x60]
imul ecx, eax
mov eax, dword [rbp - 0x60]
sub edx, ecx
cmp edx, eax
je 0x180021091
mov al, byte [0x1807446d0]
mov byte [rsp + 0x50], al
mov eax, 0xeb
mov word [rbp - 0x10], ax
movzx eax, word [0x18004e814]
cmp rax, r8
je 0x180020d81
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x180020d81
movzx eax, word [0x18004e81c]
mov ecx, r10d
add eax, 0xe7
mov qword [rbp - 0x68], rax
movzx eax, word [rsp + 0x58]
sub ecx, eax
mov eax, dword [0x18004e828]
imul eax, ecx
mov dword [0x18004e828], eax
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x74], eax
mov rax, qword [0x18004e7d0]
test rax, rax
mov eax, dword [rsp + 0x68]
je 0x180020da5
add al, 0x70
add byte [0x18004e73b], al
jmp 0x180020dc9
mov eax, dword [rsp + 0x68]
mov ecx, 0xd6
imul eax, dword [0x18004e828], 0x7c1f48a9
mov dword [0x18004e84c], eax
mov eax, dword [rsp + 0x68]
sub ax, cx
mov word [rbp - 0x10], ax
mov eax, dword [rsp + 0x74]
xor edx, edx
add eax, 0x3a
mov dword [rbp - 0x50], eax
mov eax, dword [rsp + 0x74]
add eax, 0x2bf
mov dword [rbp - 0x60], eax
movzx r9d, word [rsp + 0x58]
movzx r8d, word [0x18004e7e8]
mov cl, byte [0x18004e810]
call fcn.180023524
mov ecx, dword [rsp + 0x74]
mov r10, qword [rbp - 0x30]
add ecx, 0x15b
mov r9d, edi
mov dword [rbp + 0x2c], ecx
movsx r8d, al
mov r11b, r8b
mov rcx, qword [r10 + r9*8]
mov dword [rbp - 0x78], r11d
cmp dword [rcx + 0x10c], ebx
jbe 0x180021082
mov byte [0x18004e7e7], bl
mov eax, 0x84
movsx edx, word [0x18004e804]
cwde
imul edx, eax
mov al, byte [0x1807446d0]
mov byte [0x18004e7ce], al
mov al, byte [0x18004e7e7]
mov word [0x18004e810], dx
test al, al
jne 0x180020e9b
movzx eax, word [0x18004e7e8]
movzx ecx, word [0x18004e7e4]
sub cx, ax
movzx eax, word [0x18004e7e4]
or cx, ax
mov eax, 0xb6
mov word [0x18004e7e4], cx
movzx ecx, r8w
xor cx, ax
movzx eax, word [0x18004e7e8]
sub ax, cx
mov word [0x18004e7e8], ax
mov eax, dword [0x1807446d0]
movzx ecx, word [rsp + 0x78]
mov byte [0x18004e727], al
mov dword [rsp + 0x74], eax
movzx eax, word [rsp + 0x5c]
sub cl, al
mov al, byte [0x18004e850]
xor al, 0xb2
movzx esi, cl
mov byte [rsp + 0x50], al
mov eax, dword [rsp + 0x74]
add eax, 0x3d4
mov word [rsp + 0x78], cx
mov dword [rsp + 0x7c], eax
mov eax, 4
mov word [rbp - 0x10], ax
movsx eax, word [0x18004e7e8]
add eax, 0x3d
add eax, esi
sete byte [0x18004e6ff]
mov eax, dword [rsp + 0x74]
add eax, 0x2d2
mov dword [rsp + 0x7c], eax
movsx ecx, word [0x18004e800]
movzx eax, byte [rsp + 0x52]
cmp eax, ecx
je 0x180020f67
cmp byte [0x18004e73b], bl
je 0x180020f3d
mov rax, qword [rbp - 8]
movsx ecx, byte [0x18004e7de]
mov word [0x18004e814], ax
movsx eax, byte [0x18004e84c]
imul ecx, eax
mov byte [0x18004e7de], cl
jmp 0x180020f67
cmp byte [rbp], bl
jne 0x180020f58
mov eax, dword [rsp + 0x60]
mov ecx, ebx
test eax, eax
movzx eax, byte [0x18004e773]
sete cl
add eax, ecx
je 0x180020f67
mov rax, qword [rbp - 0x68]
add eax, 0x3d1fe635
mov dword [0x18004e7e0], eax
mov eax, dword [rsp + 0x74]
add eax, 0x278
mov dword [rbp + 0x10], eax
mov eax, dword [rsp + 0x7c]
imul ecx, eax, 0x357
mov eax, dword [rbp + 0x10]
xor eax, 0x86
cmp eax, ecx
je 0x180021082
cmp byte [rbp - 0x54], bl
jne 0x180020faf
mov rdx, qword [r10 + r9*8]
mov r8, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rdx]
call fcn.180021e44
mov r11d, dword [rbp - 0x78]
mov r8d, eax
jmp 0x180020fb2
mov r8d, ebx
mov eax, dword [rbp + 0x2c]
mov ecx, 0x1a5
sub ecx, eax
mov eax, dword [rbp - 0x60]
mov edx, dword [rbp - 0x50]
add ecx, eax
mov eax, dword [rbp - 0x60]
add edx, ecx
imul ecx, eax, 0x326
mov eax, dword [rbp - 0x50]
sub ecx, eax
add ecx, 0x1da
cmp edx, ecx
je 0x180021082
movsx eax, byte [0x18004e727]
cmp dword [0x18004e84c], eax
jne 0x18002100b
movsx rcx, byte [rsp + 0x50]
sub cl, byte [0x18004e84c]
add cl, 0x78
mov word [rbp - 0x10], r13w
mov byte [rsp + 0x50], cl
jmp 0x18002103c
cmp word [rsp + 0x64], r14w
mov eax, ebx
movzx ecx, word [rbp - 0x80]
sete al
sub cx, ax
movsx eax, r11b
sub ax, 0x2d
xor cx, ax
not cx
mov word [rsp + 0x54], cx
movsx eax, byte [rsp + 0x50]
mov word [0x18004e7e4], ax
mov r9d, dword [rsp + 0x70]
test r8d, r8d
mov r8, qword [rbp - 0x48]
mov r10d, 1
je 0x180021091
movsx eax, r11b
cmp word [0x18004e810], ax
jle 0x180021091
mov eax, dword [rsp + 0x60]
cmp eax, dword [0x18004e83c]
movsx eax, byte [0x18004e7cf]
sbb ecx, ecx
neg ecx
add ecx, 0xfffffffe
cmp eax, ecx
je 0x180021091
sub dword [0x18004e84c], r8d
jmp 0x180021091
mov r8, qword [rbp - 0x48]
mov r10d, 1
mov r9d, dword [rsp + 0x70]
mov edx, dword [rbp - 0x38]
add edi, r10d
cmp edi, edx
jb 0x180020bf6
mov r14b, byte [rbp - 0x70]
movzx r12d, word [rsp + 0x78]
imul eax, dword [0x18004e7f8], 0x19c30420
mov esi, ebx
movzx ecx, word [rsp + 0x6c]
mov dword [0x18004e860], eax
mov eax, 0xfd12
imul ecx, eax
mov word [rsp + 0x5c], cx
test edx, edx
je 0x180021588
mov r15d, dword [rbp - 0x58]
movzx eax, r14b
mov r14, r10
sub r14, rax
mov qword [rbp + 0x18], r14
mov r12, qword [rbp - 8]
mov r9d, 0x1d1
mov r14d, dword [rbp - 0x78]
test r12, r12
jne 0x180021102
mov r8d, ebx
test r14b, r14b
jne 0x180021105
mov r8d, r10d
movzx eax, byte [0x18004e6ff]
mov edx, ebx
movzx ecx, byte [0x18004e6ff]
cmp r8d, eax
mov eax, ebx
setne dl
cmp ecx, 0xe432
setbe al
cmp eax, edx
jne 0x180021134
mov word [0x18004e804], r13w
jmp 0x180021138
mov eax, dword [rsp + 0x60]
mov al, byte [rsp + 0x50]
add al, r10b
mov byte [rsp + 0x50], al
sub r9, r10
jne 0x1800210f5
movzx eax, word [rsp + 0x5c]
mov r14, qword [rbp + 0x18]
movzx r12d, word [rsp + 0x78]
test ax, ax
je 0x1800211db
xor r8d, r8d
lea edx, [r9 + 0x4a]
xor ecx, ecx
call fcn.18002306c
mov word [0x18004e7e8], ax
movzx eax, word [0x18004e7e8]
test ax, ax
je 0x1800211b1
movzx eax, word [rsp + 0x58]
mov r15d, 3
test ax, ax
je 0x180021196
mov rax, qword [0x18004e7d0]
jmp 0x18002119d
mov rax, qword [0x18004e820]
mov word [0x18004e7e4], ax
mov al, byte [rbp - 0x10]
add al, 0x4f
mov byte [0x18004e79f], al
jmp 0x1800211d5
cmp dword [0x18004e85c], ebx
je 0x1800211d5
movsx rax, byte [rsp + 0x51]
add qword [0x18004e830], rax
mov rax, qword [rbp - 0x28]
add eax, 0xb853749
mov dword [0x18004e83c], eax
mov r10d, 1
mov eax, dword [0x1807446d0]
mov dword [rsp + 0x74], eax
movsx rcx, byte [rsp + 0x50]
mov rax, qword [rbp - 0x40]
cmp rax, rcx
jne 0x180021267
movzx eax, r12b
imul rcx, rax, 0xf8
movzx eax, word [0x18004e7f0]
mov qword [rbp - 0x68], rcx
mov word [rsp + 0x58], ax
mov r8, qword [rbp - 0x48]
mov eax, dword [rsp + 0x74]
add eax, 0x12c
mov dword [rsp + 0x7c], eax
mov al, byte [rsp + 0x53]
test al, al
je 0x1800212cc
mov rax, qword [rbp - 0x40]
mov edx, ebx
movsx rcx, byte [0x18004e7cf]
cmp rcx, rax
sete dl
cmp byte [0x18004e7cf], 0x50
sete al
cmp edx, eax
jbe 0x18002128c
movzx eax, word [rsp + 0x5c]
mov r9d, dword [rsp + 0x70]
mov byte [0x18004e7df], bl
lea eax, [r9 - 0x18]
mov byte [rbp - 0x78], al
jmp 0x1800212d1
cmp byte [0x18004e727], bl
je 0x18002120f
mov r8d, dword [0x18004e85c]
movabs rax, 0x6733a60e24069
not r8d
or r8, rax
mov qword [rbp - 0x48], r8
jmp 0x180021213
cmp word [0x18004e814], bx
je 0x1800212cc
cmp byte [0x18004e7de], bl
mov ecx, ebx
movzx eax, word [0x18004e7f0]
mov r9d, dword [rsp + 0x70]
sete cl
cmp eax, ecx
jbe 0x1800212d1
mov ecx, dword [rsp + 0x68]
test ecx, ecx
movzx edx, byte [0x18004e6fe]
movzx eax, r15b
cmovne edx, eax
mov byte [0x18004e726], dl
jmp 0x1800212d1
mov r9d, dword [rsp + 0x70]
mov eax, dword [rsp + 0x74]
mov ecx, ebx
add eax, 0x369
cmp r8, r14
mov dword [rbp - 0x60], eax
mov eax, ebx
setl cl
cmp r8, 0x49
setl al
cmp ecx, eax
jne 0x180021321
mov eax, dword [0x18004e774]
mov ecx, ebx
test eax, eax
mov eax, ebx
sete cl
cmp dword [0x18004e83c], ecx
sete al
cmp dword [0x18004e7ec], eax
jne 0x180021321
movzx eax, r9w
imul rax, rax, 0x8d
mov qword [rbp - 8], rax
mov eax, dword [rsp + 0x74]
add eax, 0xe7
mov dword [rsp + 0x7c], eax
mov edx, dword [rsp + 0x7c]
mov eax, dword [rbp - 0x60]
add edx, eax
mov eax, dword [rbp - 0x60]
cmp eax, edx
je 0x18002157c
mov word [0x18004e800], r10w
mov rax, qword [0x18004e7d0]
test rax, rax
movzx eax, byte [reloc.mozglue.dll_export_full.dll_Ordinal_116]
jne 0x180021362
movsx eax, byte [rsp + 0x51]
mov word [0x18004e7f0], ax
mov ecx, 0x4367
movzx eax, word [0x18004e7e4]
add ax, cx
mov word [0x18004e804], ax
movsx eax, word [0x18004e800]
test eax, eax
je 0x1800213a5
cmp eax, 1
jne 0x1800213c8
mov al, byte [0x18004e850]
shl al, 3
mov byte [0x18004e727], al
mov word [rsp + 0x70], bx
jmp 0x1800213c8
movsx eax, byte [0x18004e726]
movzx edx, byte [reloc.mozglue.dll_export_full.dll_Ordinal_116]
sub edx, eax
mov al, byte [0x18004e726]
add al, dl
mov byte [0x18004e726], al
mov byte [rsp + 0x51], 0xa0
mov eax, dword [rbp + 0x28]
mov ecx, dword [rbp - 0x74]
sub ecx, eax
mov eax, dword [rbp - 0x74]
cmp ecx, eax
je 0x18002157c
mov eax, dword [0x18004e868]
mov dword [0x18004e828], eax
mov rax, qword [rbp - 0x30]
mov edi, esi
mov rax, qword [rax + rdi*8]
cmp dword [rax + 0x10c], ebx
jbe 0x18002157c
cmp dword [0x18004e7d8], ebx
jne 0x18002140f
cmp dword [0x18004e73c], ebx
mov ecx, ebx
je 0x180021412
mov ecx, r10d
mov eax, dword [reloc.mozglue.dll_export_full.dll_Ordinal_116]
test eax, eax
movzx eax, byte [rsp + 0x52]
cmove ecx, r10d
cmp eax, ecx
jb 0x180021464
cmp byte [rbp], bl
mov ecx, ebx
movzx eax, byte [0x18004e79f]
sete cl
cmp ecx, eax
jb 0x180021464
cmp byte [0x18004e773], bl
je 0x180021464
mov rax, qword [rbp - 0x68]
test r8, r8
jne 0x180021450
movzx eax, word [rsp + 0x54]
mov qword [0x18004e808], rax
mov rax, qword [rbp - 0x40]
imul ecx, eax, 0xffffff94
add dword [0x18004e73c], ecx
mov qword [rsp + 0x40], rbx
lea rdx, [rbp + 0x50]
mov qword [rsp + 0x38], rbx
lea rcx, [fcn.18002b7c0]
mov qword [rsp + 0x30], rbx
mov r9d, 0x2000
mov qword [rsp + 0x28], rbx
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call fcn.18000b68c
cmp byte [rbp - 0x54], bl
jne 0x180021576
mov rax, qword [rbp - 0x30]
lea r8, [rbp + 0x50]
mov rcx, qword [rbp + 0x20]
mov r9d, 0x400
mov rdx, qword [rax + rdi*8]
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x3c]
mov qword [rsp + 0x20], rax
mov rdx, qword [rdx]
call fcn.1800164a8
test eax, eax
je 0x180021576
mov ecx, dword [rsp + 0x60]
call fcn.1800233e4
movzx eax, al
mov word [rsp + 0x54], ax
movzx eax, word [rsp + 0x54]
test ax, ax
je 0x18002152b
test r15d, r15d
je 0x180021507
mov rax, qword [0x18004e808]
mov qword [0x18004e850], rax
jmp 0x180021576
movsx ecx, word [0x18004e7e4]
mov r10d, 1
movzx eax, word [rbp - 0x10]
not ecx
cmp eax, ecx
jg 0x18002157c
movzx eax, word [rsp + 0x54]
sub al, 0x2e
mov byte [rsp + 0x52], al
jmp 0x18002157c
movzx edx, byte [rsp + 0x53]
mov eax, dword [0x18004e828]
movzx r8d, word [0x18004e81c]
neg eax
sbb ecx, ecx
lea eax, [rcx + r13]
movsx ecx, byte [rsp + 0x51]
add eax, edx
add r8d, eax
add r8d, dword [0x18004e85c]
or ecx, r8d
mov dword [0x18004e868], ecx
mov cl, byte [0x18004e7ce]
mov al, cl
add al, byte [0x18004e830]
and cl, al
mov byte [0x18004e7ce], cl
mov r10d, 1
add esi, r10d
cmp esi, dword [rbp - 0x38]
jb 0x1800210e7
movzx eax, word [rsp + 0x54]
mov ecx, dword [rbp - 0x80]
sub ecx, dword [0x18004e73c]
add al, cl
mov byte [0x18004e726], al
mov eax, dword [rsp + 0x68]
imul eax, dword [0x18004e7f8]
mov dword [rsp + 0x68], eax
cmp dword [rbp - 0x38], ebx
jbe 0x18002163e
mov r15, qword [rbp - 0x30]
cmp r12b, 0x55
mov esi, ebx
movzx r14d, r12b
mov r12, qword [rbp + 8]
sete sil
mov r13d, 8
cmp r14, qword [0x18004e850]
mov eax, ebx
sete al
cmp eax, esi
jbe 0x1800215f0
movzx eax, word [0x1807446d0]
mov word [rsp + 0x54], ax
jmp 0x1800215fe
movzx eax, byte [reloc.mozglue.dll_export_full.dll_Ordinal_116]
add qword [0x18004e820], rax
mov rcx, qword [r15]
mov edi, ebx
cmp dword [rcx + 0x10c], ebx
jbe 0x180021631
mov eax, edi
lea rcx, [rcx + rax*8]
add rcx, 0x110
call fcn.1800184d0
mov rcx, qword [r15]
mov r10d, 1
add edi, r10d
cmp edi, dword [rcx + 0x10c]
jb 0x18002160b
add r15, r13
sub r12, r10
jne 0x1800215d2
lea r13d, [r12 + 2]
mov esi, dword [rbp - 0x7c]
mov al, byte [rsp + 0x53]
mov ecx, ebx
mov edi, dword [rbp - 0x80]
sub al, 0x52
cmp byte [rbp - 0x78], bl
mov byte [0x18004e7de], al
mov eax, dword [rsp + 0x68]
sete cl
add ecx, eax
mov eax, dword [0x18004e828]
mov ecx, dword [rsp + 0x60]
not eax
sete bl
xor ecx, eax
sub ecx, ebx
mov ebx, Ordinal_127
mov dword [rsp + 0x68], ecx
movzx r8d, byte [0x18004e6fe]
mov edx, 0xec
mov r9d, 0x37
mov qword [rsp + 0x20], 6
mov rcx, rdi
call fcn.180023998
mov eax, 0x9df2
movzx ecx, si
imul ecx, eax
mov word [rsp + 0x58], cx
mov qword [0x18004e808], r13
sub rbx, 1
jne 0x18002167a
xor eax, eax
mov rcx, qword [rbp + 0x21a0]
xor rcx, rsp
call fcn.18002a1d0
lea r11, [rsp + 0x22b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret