Function at 0x140056e80
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x1400d9bc0]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r10, qword [0x1400da528]
test r10, r10
jne 0x14005700c
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebx, 0xbdcac9ce
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x140056f2d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140056f24
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140056f10
cmp edx, r14d
jne 0x140056ff3
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov r11d, ecx
shr r15, 0x20
add r11, r9
cmp r11, r9
je 0x140056ff3
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140056ff3
mov esi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rsi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140056fa7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140056f90
cmp edx, ebx
je 0x140056fb2
test r8d, r8d
jne 0x140056f70
jmp 0x140056ff3
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x140057005
lea rax, [r15 + r11]
cmp r10, rax
jae 0x140057005
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x41], r14d
mov dword [rbp - 0x3d], r14d
mov rbx, qword [rbp - 0x41]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x140056ee0
xor r10d, r10d
mov qword [0x1400da528], r10
movdqa xmm0, xmmword [0x1400b5f80]
xor ecx, ecx
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x19], 0x33
mov byte [rbp - 0x17], 1
nop word [rax + rax]
lea eax, [rcx + 0x6d]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x11
jb 0x140057030
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
lea rcx, [rbp - 0x29]
mov edx, 0x80000000
mov byte [rbp - 0x17], 0
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 7]
call r10
cmp rax, 0xffffffffffffffff
je 0x140057082
mov qword [0], 1
mov rdx, qword [0x1400da548]
test rdx, rdx
jne 0x1400571da
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebx, 0x53b2070f
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x1400570fd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400570f4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400570e0
cmp edx, r14d
jne 0x1400571c2
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov r10d, ecx
shr r15, 0x20
add r10, r9
cmp r10, r9
je 0x1400571c2
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x1400571c2
mov esi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rsi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140057177
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140057160
cmp edx, ebx
je 0x140057182
test r8d, r8d
jne 0x140057140
jmp 0x1400571c2
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x1400571d3
lea rax, [r15 + r10]
cmp rdx, rax
jae 0x1400571d3
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x41], r14d
mov dword [rbp - 0x3d], r14d
mov rbx, qword [rbp - 0x41]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x1400570b0
xor edx, edx
mov qword [0x1400da548], rdx
mov dword [rbp - 0x59], 0x8002c3b
xor ecx, ecx
mov dword [rbp - 0x55], 0x1f1c1d39
mov dword [rbp - 0x51], 0x141b125b
mov word [rbp - 0x4d], 0x100
nop word [rax + rax]
lea eax, [rcx + 0x6d]
xor byte [rbp + rcx - 0x59], al
inc rcx
cmp rcx, 0xc
jb 0x140057200
lea rcx, [rbp - 0x59]
mov byte [rbp - 0x4c], 0
call rdx
test rax, rax
je 0x14005722b
mov qword [0], 1
mov r10, qword [0x1400da530]
mov r13d, 0xdf6a51c
mov qword [rbp + 0x1f], 0
test r10, r10
jne 0x14005739c
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebx, r13d
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x1400572bd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400572b4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400572a0
cmp edx, r14d
jne 0x140057383
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov r11d, ecx
shr r15, 0x20
add r11, r9
cmp r11, r9
je 0x140057383
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140057383
mov esi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rsi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140057337
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140057320
cmp edx, ebx
je 0x140057342
test r8d, r8d
jne 0x140057300
jmp 0x140057383
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x140057395
lea rax, [r15 + r11]
cmp r10, rax
jae 0x140057395
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x41], r14d
mov dword [rbp - 0x3d], r14d
mov rbx, qword [rbp - 0x41]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x140057270
xor r10d, r10d
mov qword [0x1400da530], r10
movdqa xmm0, xmmword [str.____3_1_9]
xor ecx, ecx
movdqa xmm1, xmmword [0x1400b6100]
movdqu xmmword [rbp - 0x29], xmm0
mov dword [rbp - 9], 0xf4ebcfad
movdqu xmmword [rbp - 0x19], xmm1
mov dword [rbp - 5], 0xfbfae6f8
mov dword [rbp - 1], 0x100e5fb
nop dword [rax]
lea eax, [rcx + 0x6d]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x2a
jb 0x1400573d0
lea rax, [rbp + 0x1f]
mov byte [rbp + 2], 0
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp - 0x29]
mov rcx, 0xffffffff80000002
call r10
mov r8d, 0x1242154a
mov qword [rbp - 0x41], r8
test eax, eax
jne 0x14005758c
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x14005758c
mov rdx, qword [0x1400da520]
test rdx, rdx
jne 0x14005757e
mov rax, qword gs:[0x60]
xor r15d, r15d
mov ebx, r8d
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rsi, r12
nop dword [rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x14005749d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140057494
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140057480
cmp edx, r15d
jne 0x140057562
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x140057562
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140057562
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140057517
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140057500
cmp edx, ebx
je 0x140057522
test r8d, r8d
jne 0x1400574e0
jmp 0x140057562
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x140057573
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x140057573
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp - 0x49], r15d
mov dword [rbp - 0x45], r15d
mov rbx, qword [rbp - 0x49]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x140057450
xor edx, edx
mov rcx, qword [rbp + 0x1f]
mov qword [0x1400da520], rdx
call rdx
mov qword [0], 1
mov r10, qword [0x1400da530]
mov qword [rbp + 0x1f], 0
test r10, r10
jne 0x1400576ed
mov rax, qword gs:[0x60]
xor r14d, r14d
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rdi, r15
nop dword [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x14005760d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140057604
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400575f0
cmp edx, r14d
jne 0x1400576d4
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rsi, rcx
mov r11d, ecx
shr rsi, 0x20
add r11, r9
cmp r11, r9
je 0x1400576d4
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x1400576d4
mov ebx, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140057687
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140057670
cmp edx, r13d
je 0x140057693
test r8d, r8d
jne 0x140057650
jmp 0x1400576d4
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x1400576e6
lea rax, [rsi + r11]
cmp r10, rax
jae 0x1400576e6
mov r14d, 0x811c9dc5
mov rdi, r15
mov dword [rbp - 0x49], r14d
mov dword [rbp - 0x45], r14d
mov r13, qword [rbp - 0x49]
shr r13, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x1400575c0
xor r10d, r10d
mov qword [0x1400da530], r10
movdqa xmm0, xmmword [0x1400b5f50]
xor edx, edx
movdqu xmmword [rbp - 0x29], xmm0
mov dword [rbp - 0x19], 0xce303729
mov dword [rbp - 0x15], 0xf7fad1dd
mov dword [rbp - 0x11], 0xeae3f1
mov byte [rbp - 0xd], 1
nop word [rax + rax]
lea eax, [rdx + 0x6d]
xor byte [rbp + rdx - 0x29], al
inc rdx
cmp rdx, 0x1b
jb 0x140057720
lea rax, [rbp + 0x1f]
mov byte [rbp - 0xd], 0
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, [rbp - 0x29]
mov rcx, 0xffffffff80000002
call r10
test eax, eax
jne 0x140058357
mov r8, qword [0x1400da518]
mov dword [rbp + 0x27], eax
mov eax, 0xc2c33c3d
mov qword [rbp + 0x17], rax
mov dword [rbp + 0x2b], 0x100
test r8, r8
jne 0x1400578cc
mov ebx, eax
xor r15d, r15d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
nop dword [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x1400577ed
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400577e4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400577d0
cmp edx, r15d
jne 0x1400578b3
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x1400578b3
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x1400578b3
mov esi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rsi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140057867
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140057850
cmp edx, ebx
je 0x140057872
test r8d, r8d
jne 0x140057830
jmp 0x1400578b3
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov r8d, dword [rcx + rdx*4]
add r8, r9
cmp r8, r10
jbe 0x1400578c5
lea rax, [r14 + r10]
cmp r8, rax
jae 0x1400578c5
mov r15d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x49], r15d
mov dword [rbp - 0x45], r15d
mov rbx, qword [rbp - 0x49]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x1400577a0
xor r8d, r8d
mov qword [0x1400da518], r8
mov edx, 0x10a
mov ecx, 0x40
call r8
mov r10, qword [0x1400da510]
mov r13, rax
mov eax, 0x9027eb7c
mov qword [rbp - 0x49], rax
test r10, r10
jne 0x140057a3c
mov rcx, qword gs:[0x60]
xor r15d, r15d
mov ebx, eax
mov rdx, qword [rcx + 0x18]
mov r12, qword [rdx + 0x10]
mov rsi, r12
nop
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x14005795d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140057954
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140057940
cmp edx, r15d
jne 0x140057a23
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r11d, ecx
shr r14, 0x20
add r11, r9
cmp r11, r9
je 0x140057a23
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140057a23
mov edi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400579d7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1400579c0
cmp edx, ebx
je 0x1400579e2
test r8d, r8d
jne 0x1400579a0
jmp 0x140057a23
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x140057a35
lea rax, [r11 + r14]
cmp r10, rax
jae 0x140057a35
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp - 0x59], r15d
mov dword [rbp - 0x55], r15d
mov rbx, qword [rbp - 0x59]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x140057910
xor r10d, r10d
mov qword [0x1400da510], r10
movdqa xmm0, xmmword [0x1400b5e90]
xor ecx, ecx
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x19], 0x13
mov byte [rbp - 0x17], 1
nop word [rax + rax]
lea eax, [rcx + 0x6d]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x11
jb 0x140057a60
mov rcx, qword [rbp + 0x1f]
lea rax, [rbp + 0x2b]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x27]
xor r8d, r8d
mov qword [rsp + 0x20], r13
lea rdx, [rbp - 0x29]
mov byte [rbp - 0x17], 0
call r10
test eax, eax
jne 0x140057adf
mov rcx, r13
call fcn.140056d60
mov eax, dword [rbp + 0x27]
cmp eax, 1
je 0x140057aad
cmp eax, 7
jne 0x140057adf
lea rcx, [rbp - 0x31]
mov dword [rbp - 0x31], 0x8000c1b
mov word [rbp - 0x2d], 0x100
call fcn.1400484a0
mov rdx, rax
mov rcx, r13
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140057adf
mov qword [0], 1
mov rdx, qword [0x1400da508]
mov eax, 0xbf0306f6
mov qword [rbp - 0x31], rax
test rdx, rdx
jne 0x140057c3a
mov ebx, eax
xor r15d, r15d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rsi, r12
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r15d, r15d
je 0x140057b5d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140057b54
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140057b40
cmp edx, r15d
jne 0x140057c22
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x140057c22
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140057c22
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140057bd7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140057bc0
cmp edx, ebx
je 0x140057be2
test r8d, r8d
jne 0x140057ba0
jmp 0x140057c22
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x140057c33
lea rax, [r10 + r14]
cmp rdx, rax
jae 0x140057c33
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp - 0x59], r15d
mov dword [rbp - 0x55], r15d
mov rbx, qword [rbp - 0x59]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x140057b11
xor edx, edx
mov qword [0x1400da508], rdx
mov rcx, r13
call rdx
mov r8, qword [0x1400da518]
mov dword [rbp + 0x27], 0
mov dword [rbp + 0x2b], 0x200
test r8, r8
jne 0x140057db4
mov rax, qword gs:[0x60]
xor r14d, r14d
mov r12, qword [rbp + 0x17]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rdi, r15
nop dword [rax + rax]
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x140057ccd
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140057cc4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140057cb0
cmp edx, r14d
jne 0x140057d9b
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rsi, rcx
mov r10d, ecx
shr rsi, 0x20
add r10, r9
cmp r10, r9
je 0x140057d9b
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140057d9b
mov ebx, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140057d47
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140057d30
cmp edx, r12d
je 0x140057d53
test r8d, r8d
jne 0x140057d10
jmp 0x140057d9b
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov r8d, dword [rcx + rdx*4]
add r8, r9
cmp r8, r10
jbe 0x140057dad
lea rax, [rsi + r10]
cmp r8, rax
jae 0x140057dad
mov r14d, 0x811c9dc5
mov rdi, r15
mov dword [rbp - 0x59], r14d
mov dword [rbp - 0x55], r14d
mov rax, qword [rbp - 0x59]
shr rax, 0x20
mov qword [rbp + 0x17], rax
mov r12, rax
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x140057c80
xor r8d, r8d
mov qword [0x1400da518], r8
mov edx, 0x20a
mov ecx, 0x40
call r8
mov r10, qword [0x1400da510]
mov r12, rax
test r10, r10
jne 0x140057f24
mov rcx, qword gs:[0x60]
xor r14d, r14d
mov r13, qword [rbp - 0x49]
mov rdx, qword [rcx + 0x18]
mov r15, qword [rdx + 0x10]
mov rdi, r15
nop
movups xmm0, xmmword [rdi + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x140057e3d
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140057e34
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140057e20
cmp edx, r14d
jne 0x140057f0b
mov r9, qword [rdi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov rsi, rcx
mov r11d, ecx
shr rsi, 0x20
add r11, r9
cmp r11, r9
je 0x140057f0b
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140057f0b
mov ebx, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [rbx + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140057eb7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140057ea0
cmp edx, r13d
je 0x140057ec3
test r8d, r8d
jne 0x140057e80
jmp 0x140057f0b
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov r10d, dword [rcx + rdx*4]
add r10, r9
cmp r10, r11
jbe 0x140057f1d
lea rax, [rsi + r11]
cmp r10, rax
jae 0x140057f1d
mov r14d, 0x811c9dc5
mov rdi, r15
mov dword [rbp - 0x59], r14d
mov dword [rbp - 0x55], r14d
mov rax, qword [rbp - 0x59]
shr rax, 0x20
mov qword [rbp - 0x49], rax
mov r13, rax
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x140057df0
xor r10d, r10d
mov qword [0x1400da510], r10
movdqa xmm0, xmmword [0x1400b5e70]
xor ecx, ecx
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x19], 0x100
nop dword [rax]
lea eax, [rcx + 0x6d]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x10
jb 0x140057f40
mov rcx, qword [rbp + 0x1f]
lea rax, [rbp + 0x2b]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x27]
xor r8d, r8d
mov qword [rsp + 0x20], r12
lea rdx, [rbp - 0x29]
mov byte [rbp - 0x18], 0
call r10
test eax, eax
jne 0x140058088
cmp dword [rbp + 0x27], 7
jne 0x140058088
mov rdi, r12
cmp byte [r12], al
je 0x140058088
nop dword [rax]
nop word [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x140057fa7
test eax, eax
je 0x140057fd5
mov rbx, rdi
mov esi, eax
nop dword [rax]
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [rbx], al
lea rbx, [rbx + 1]
sub rsi, 1
jne 0x140057fc0
mov dword [rbp - 0x39], 0x130e1c02
xor ecx, ecx
mov dword [rbp - 0x35], 0x100171d
nop word [rax + rax]
lea eax, [rcx + 0x6d]
xor byte [rbp + rcx - 0x39], al
inc rcx
cmp rcx, 6
jb 0x140057ff0
lea rdx, [rbp - 0x39]
mov byte [rbp - 0x32], 0
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
jne 0x140058055
mov dword [rbp + 7], 0x41d071b
xor ecx, ecx
mov dword [rbp + 0xb], 0x161f1304
mov dword [rbp + 0xf], 0x1000e1a
nop dword [rax]
lea eax, [rcx + 0x6d]
xor byte [rbp + rcx + 7], al
inc rcx
cmp rcx, 0xa
jb 0x140058030
lea rdx, [rbp + 7]
mov byte [rbp + 0x12], 0
mov rcx, rdi
call sub.VCRUNTIME140.dll_strstr
test rax, rax
je 0x140058061
mov qword [0], 1
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x140058070
inc rdi
add rdi, rax
cmp byte [rdi], 0
jne 0x140057fa0
mov rdx, qword [0x1400da508]
test rdx, rdx
jne 0x1400581ef
mov rax, qword gs:[0x60]
xor esi, esi
mov r13, qword [rbp - 0x31]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rbx, r15
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x14005810c
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140058104
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400580f0
cmp edx, esi
jne 0x1400581d7
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x1400581d7
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x1400581d7
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140058187
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140058170
cmp edx, r13d
je 0x140058193
test r8d, r8d
jne 0x140058150
jmp 0x1400581d7
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x1400581e8
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x1400581e8
mov esi, 0x811c9dc5
mov rbx, r15
mov dword [rbp - 0x59], esi
mov dword [rbp - 0x55], esi
mov rax, qword [rbp - 0x59]
shr rax, 0x20
mov qword [rbp - 0x31], rax
mov r13, rax
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x1400580c0
xor edx, edx
mov qword [0x1400da508], rdx
mov rcx, r12
call rdx
mov rdx, qword [0x1400da520]
test rdx, rdx
jne 0x14005834f
mov rax, qword gs:[0x60]
xor esi, esi
mov r12, qword [rbp - 0x41]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rbx, r15
nop
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x14005826c
psrldq xmm0, 8
mov edx, 0x811c9dc5
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140058264
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140058250
cmp edx, esi
jne 0x140058337
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r14, rcx
mov r10d, ecx
shr r14, 0x20
add r10, r9
cmp r10, r9
je 0x140058337
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140058337
mov edi, dword [r10 + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400582e7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1400582d0
cmp edx, r12d
je 0x1400582f3
test r8d, r8d
jne 0x1400582b0
jmp 0x140058337
mov ecx, dword [r10 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r9
mov edx, dword [rcx + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x140058348
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x140058348
mov esi, 0x811c9dc5
mov rbx, r15
mov dword [rbp - 0x59], esi
mov dword [rbp - 0x55], esi
mov rax, qword [rbp - 0x59]
shr rax, 0x20
mov qword [rbp - 0x41], rax
mov r12, rax
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x140058220
xor edx, edx
mov qword [0x1400da520], rdx
mov rcx, qword [rbp + 0x1f]
call rdx
xor eax, eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14005aa20
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret