Function at 0x140046210
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 [0x14007f010]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r10, qword [0x14010c548]
test r10, r10
jne 0x14004639c
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
mov eax, dword [rdi + 0x58]
sub ax, 8
test r14d, r14d
je 0x1400462bd
mov rcx, qword [rdi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400462b4
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400462a0
cmp edx, r14d
jne 0x140046383
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 0x140046383
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140046383
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 0x140046337
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 0x140046320
cmp edx, ebx
je 0x140046342
test r8d, r8d
jne 0x140046300
jmp 0x140046383
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 0x140046395
lea rax, [r15 + r11]
cmp r10, rax
jae 0x140046395
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x39], r14d
mov dword [rbp - 0x35], r14d
mov rbx, qword [rbp - 0x39]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x140046270
xor r10d, r10d
mov qword [0x14010c548], r10
movdqa xmm0, xmmword [0x140074800]
xor ecx, ecx
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x19], 0x7e
mov byte [rbp - 0x17], 1
nop word [rax + rax]
lea eax, [rcx + 0x20]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x11
jb 0x1400463c0
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 0x140046412
mov qword [0], 1
mov rdx, qword [0x14010c528]
test rdx, rdx
jne 0x14004656a
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
mov eax, dword [rdi + 0x58]
sub ax, 8
test r14d, r14d
je 0x14004648d
mov rcx, qword [rdi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140046484
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140046470
cmp edx, r14d
jne 0x140046552
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 0x140046552
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140046552
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 0x140046507
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 0x1400464f0
cmp edx, ebx
je 0x140046512
test r8d, r8d
jne 0x1400464d0
jmp 0x140046552
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 0x140046563
lea rax, [r15 + r10]
cmp rdx, rax
jae 0x140046563
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x39], r14d
mov dword [rbp - 0x35], r14d
mov rbx, qword [rbp - 0x39]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x140046440
xor edx, edx
mov qword [0x14010c528], rdx
mov dword [rbp - 0x59], 0x5b4d6376
xor ecx, ecx
mov dword [rbp - 0x55], 0x4c494a6c
mov dword [rbp - 0x51], 0x47464d06
mov word [rbp - 0x4d], 0x100
nop word [rax + rax]
lea eax, [rcx + 0x20]
xor byte [rbp + rcx - 0x59], al
inc rcx
cmp rcx, 0xc
jb 0x140046590
lea rcx, [rbp - 0x59]
mov byte [rbp - 0x4c], 0
call rdx
test rax, rax
je 0x1400465bb
mov qword [0], 1
mov r10, qword [0x14010c508]
mov r13d, 0xdf6a51c
mov qword [rbp + 0x1f], 0
test r10, r10
jne 0x14004671c
mov rax, qword gs:[0x60]
xor r14d, r14d
mov ebx, r13d
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rdi, r12
mov eax, dword [rdi + 0x58]
sub ax, 8
test r14d, r14d
je 0x14004663d
mov rcx, qword [rdi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140046634
nop word [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140046620
cmp edx, r14d
jne 0x140046703
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 0x140046703
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140046703
mov esi, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rsi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400466b7
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 0x1400466a0
cmp edx, ebx
je 0x1400466c2
test r8d, r8d
jne 0x140046680
jmp 0x140046703
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 0x140046715
lea rax, [r15 + r11]
cmp r10, rax
jae 0x140046715
mov r14d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x39], r14d
mov dword [rbp - 0x35], r14d
mov rbx, qword [rbp - 0x39]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x1400465f3
xor r10d, r10d
mov qword [0x14010c508], r10
movdqa xmm0, xmmword [0x140074830]
xor ecx, ecx
movdqa xmm1, xmmword [0x140074730]
movdqu xmmword [rbp - 0x29], xmm0
mov dword [rbp - 9], 0x27260060
movdqu xmmword [rbp - 0x19], xmm1
mov dword [rbp - 5], 0x282f312d
mov dword [rbp - 1], 0x1003a26
nop dword [rax]
lea eax, [rcx + 0x20]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x2a
jb 0x140046750
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 - 0x39], r8
test eax, eax
jne 0x14004690c
mov rcx, qword [rbp + 0x1f]
test rcx, rcx
je 0x14004690c
mov rdx, qword [0x14010c4f0]
test rdx, rdx
jne 0x1400468fe
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]
mov eax, dword [rsi + 0x58]
sub ax, 8
test r15d, r15d
je 0x14004681d
mov rcx, qword [rsi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140046814
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140046800
cmp edx, r15d
jne 0x1400468e2
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 0x1400468e2
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x1400468e2
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 0x140046897
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 0x140046880
cmp edx, ebx
je 0x1400468a2
test r8d, r8d
jne 0x140046860
jmp 0x1400468e2
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 0x1400468f3
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x1400468f3
mov r15d, 0x811c9dc5
mov rsi, r12
mov dword [rbp - 0x41], r15d
mov dword [rbp - 0x3d], r15d
mov rbx, qword [rbp - 0x41]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
jne 0x1400467d0
xor edx, edx
mov rcx, qword [rbp + 0x1f]
mov qword [0x14010c4f0], rdx
call rdx
mov qword [0], 1
mov r10, qword [0x14010c508]
mov qword [rbp + 0x1f], 0
test r10, r10
jne 0x140046a6d
mov rax, qword gs:[0x60]
xor r14d, r14d
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rbx, r15
nop dword [rax + rax]
mov eax, dword [rbx + 0x58]
sub ax, 8
test r14d, r14d
je 0x14004698d
mov rcx, qword [rbx + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140046984
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140046970
cmp edx, r14d
jne 0x140046a54
mov r9, qword [rbx + 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 0x140046a54
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140046a54
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 0x140046a07
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 0x1400469f0
cmp edx, r13d
je 0x140046a13
test r8d, r8d
jne 0x1400469d0
jmp 0x140046a54
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 0x140046a66
lea rax, [rsi + r11]
cmp r10, rax
jae 0x140046a66
mov r14d, 0x811c9dc5
mov rbx, r15
mov dword [rbp - 0x41], r14d
mov dword [rbp - 0x3d], r14d
mov r13, qword [rbp - 0x41]
shr r13, 0x20
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x140046940
xor r10d, r10d
mov qword [0x14010c508], r10
movdqa xmm0, xmmword [0x140074860]
xor edx, edx
movdqu xmmword [rbp - 0x29], xmm0
mov dword [rbp - 0x19], 0x7d7d7864
mov dword [rbp - 0x15], 0x444f6668
mov dword [rbp - 0x11], 0x575c4c
mov byte [rbp - 0xd], 1
nop word [rax + rax]
lea eax, [rdx + 0x20]
xor byte [rbp + rdx - 0x29], al
inc rdx
cmp rdx, 0x1b
jb 0x140046aa0
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 0x140047707
mov r8, qword [0x14010c5a0]
mov dword [rbp + 0x27], eax
mov eax, 0xc2c33c3d
mov qword [rbp + 0x17], rax
mov dword [rbp + 0x2b], 0x100
test r8, r8
jne 0x140046c4c
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]
mov eax, dword [rdi + 0x58]
sub ax, 8
test r15d, r15d
je 0x140046b6d
mov rcx, qword [rdi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140046b64
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140046b50
cmp edx, r15d
jne 0x140046c33
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 0x140046c33
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140046c33
mov esi, dword [r10 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rsi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140046be7
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 0x140046bd0
cmp edx, ebx
je 0x140046bf2
test r8d, r8d
jne 0x140046bb0
jmp 0x140046c33
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 0x140046c45
lea rax, [r10 + r14]
cmp r8, rax
jae 0x140046c45
mov r15d, 0x811c9dc5
mov rdi, r12
mov dword [rbp - 0x41], r15d
mov dword [rbp - 0x3d], r15d
mov rbx, qword [rbp - 0x41]
shr rbx, 0x20
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r12
jne 0x140046b20
xor r8d, r8d
mov qword [0x14010c5a0], r8
mov edx, 0x10a
mov ecx, 0x40
call r8
mov r10, qword [0x14010c610]
mov r13, rax
mov eax, 0x9027eb7c
mov qword [rbp - 0x41], rax
test r10, r10
jne 0x140046dbc
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
mov eax, dword [rsi + 0x58]
sub ax, 8
test r15d, r15d
je 0x140046cdd
mov rcx, qword [rsi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140046cd4
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140046cc0
cmp edx, r15d
jne 0x140046da3
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 0x140046da3
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140046da3
mov edi, dword [r11 + 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 0x140046d57
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 0x140046d40
cmp edx, ebx
je 0x140046d62
test r8d, r8d
jne 0x140046d20
jmp 0x140046da3
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 0x140046db5
lea rax, [r11 + r14]
cmp r10, rax
jae 0x140046db5
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 0x140046c90
xor r10d, r10d
mov qword [0x14010c610], r10
movdqa xmm0, xmmword [0x140074680]
xor ecx, ecx
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x19], 0x5e
mov byte [rbp - 0x17], 1
nop word [rax + rax]
lea eax, [rcx + 0x20]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x11
jb 0x140046de0
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 0x140046ea2
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rax + r13], 0
jne 0x140046e23
test eax, eax
je 0x140046e4b
mov rbx, r13
mov edi, eax
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 rdi, 1
jne 0x140046e36
mov eax, dword [rbp + 0x27]
cmp eax, 1
je 0x140046e58
cmp eax, 7
jne 0x140046ea2
mov dword [rbp - 0x49], 0x5b4d4356
xor ecx, ecx
mov word [rbp - 0x45], 0x100
nop word [rax + rax]
lea eax, [rcx + 0x20]
xor byte [rbp + rcx - 0x49], al
inc rcx
cmp rcx, 4
jb 0x140046e70
lea rdx, [rbp - 0x49]
mov byte [rbp - 0x44], 0
mov rcx, r13
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x140046ea2
mov qword [0], 1
mov rdx, qword [0x14010c4e0]
mov eax, 0xbf0306f6
mov qword [rbp - 0x49], rax
test rdx, rdx
jne 0x140046ffa
mov ebx, eax
xor r15d, r15d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov r12, qword [rcx + 0x10]
mov rsi, r12
mov eax, dword [rsi + 0x58]
sub ax, 8
test r15d, r15d
je 0x140046f1d
mov rcx, qword [rsi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140046f14
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140046f00
cmp edx, r15d
jne 0x140046fe2
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 0x140046fe2
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140046fe2
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 0x140046f97
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 0x140046f80
cmp edx, ebx
je 0x140046fa2
test r8d, r8d
jne 0x140046f60
jmp 0x140046fe2
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 0x140046ff3
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x140046ff3
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 0x140046ed4
xor edx, edx
mov qword [0x14010c4e0], rdx
mov rcx, r13
call rdx
mov r8, qword [0x14010c5a0]
mov dword [rbp + 0x27], 0
mov dword [rbp + 0x2b], 0x200
test r8, r8
jne 0x140047174
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]
mov eax, dword [rdi + 0x58]
sub ax, 8
test r14d, r14d
je 0x14004708d
mov rcx, qword [rdi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140047084
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140047070
cmp edx, r14d
jne 0x14004715b
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 0x14004715b
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x14004715b
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 0x140047107
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 0x1400470f0
cmp edx, r12d
je 0x140047113
test r8d, r8d
jne 0x1400470d0
jmp 0x14004715b
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 0x14004716d
lea rax, [rsi + r10]
cmp r8, rax
jae 0x14004716d
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 0x140047040
xor r8d, r8d
mov qword [0x14010c5a0], r8
mov edx, 0x20a
mov ecx, 0x40
call r8
mov r10, qword [0x14010c610]
mov r12, rax
test r10, r10
jne 0x1400472e4
mov rcx, qword gs:[0x60]
xor r14d, r14d
mov r13, qword [rbp - 0x41]
mov rdx, qword [rcx + 0x18]
mov r15, qword [rdx + 0x10]
mov rdi, r15
nop
mov eax, dword [rdi + 0x58]
sub ax, 8
test r14d, r14d
je 0x1400471fd
mov rcx, qword [rdi + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400471f4
nop dword [rax]
nop dword [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400471e0
cmp edx, r14d
jne 0x1400472cb
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 0x1400472cb
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x1400472cb
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 0x140047277
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 0x140047260
cmp edx, r13d
je 0x140047283
test r8d, r8d
jne 0x140047240
jmp 0x1400472cb
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 0x1400472dd
lea rax, [rsi + r11]
cmp r10, rax
jae 0x1400472dd
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 - 0x41], rax
mov r13, rax
mov rax, qword [rdi]
mov rdi, rax
cmp rax, r15
jne 0x1400471b0
xor r10d, r10d
mov qword [0x14010c610], r10
movdqa xmm0, xmmword [0x140074690]
xor ecx, ecx
movdqu xmmword [rbp - 0x29], xmm0
mov word [rbp - 0x19], 0x100
nop dword [rax]
lea eax, [rcx + 0x20]
xor byte [rbp + rcx - 0x29], al
inc rcx
cmp rcx, 0x10
jb 0x140047300
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 0x140047448
cmp dword [rbp + 0x27], 7
jne 0x140047448
mov rdi, r12
cmp byte [r12], al
je 0x140047448
nop dword [rax]
nop word [rax + rax]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], 0
jne 0x140047367
test eax, eax
je 0x140047395
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 0x140047380
mov dword [rbp - 0x31], 0x4043534f
xor ecx, ecx
mov dword [rbp - 0x2d], 0x1004048
nop word [rax + rax]
lea eax, [rcx + 0x20]
xor byte [rbp + rcx - 0x31], al
inc rcx
cmp rcx, 6
jb 0x1400473b0
lea rdx, [rbp - 0x31]
mov byte [rbp - 0x2a], 0
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
jne 0x140047416
mov dword [rbp + 7], 0x57504856
xor ecx, ecx
mov dword [rbp + 0xb], 0x454a4451
mov dword [rbp + 0xf], 0x1005147
nop dword [rax]
lea eax, [rcx + 0x20]
xor byte [rbp + rcx + 7], al
inc rcx
cmp rcx, 0xa
jb 0x1400473f0
lea rdx, [rbp + 7]
mov byte [rbp + 0x12], 0
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
test rax, rax
je 0x140047422
mov qword [0], 1
mov rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x140047430
inc rdi
add rdi, rax
cmp byte [rdi], 0
jne 0x140047360
mov rdx, qword [0x14010c4e0]
test rdx, rdx
jne 0x14004759f
mov rax, qword gs:[0x60]
xor esi, esi
mov r13, qword [rbp - 0x49]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rbx, r15
mov eax, dword [rbx + 0x58]
sub ax, 8
test esi, esi
je 0x1400474bc
mov rcx, qword [rbx + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400474b4
nop word [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400474a0
cmp edx, esi
jne 0x140047587
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 0x140047587
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x140047587
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 0x140047537
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 0x140047520
cmp edx, r13d
je 0x140047543
test r8d, r8d
jne 0x140047500
jmp 0x140047587
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 0x140047598
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x140047598
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 - 0x49], rax
mov r13, rax
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x140047472
xor edx, edx
mov qword [0x14010c4e0], rdx
mov rcx, r12
call rdx
mov rdx, qword [0x14010c4f0]
test rdx, rdx
jne 0x1400476ff
mov rax, qword gs:[0x60]
xor esi, esi
mov r12, qword [rbp - 0x39]
mov rcx, qword [rax + 0x18]
mov r15, qword [rcx + 0x10]
mov rbx, r15
nop
mov eax, dword [rbx + 0x58]
sub ax, 8
test esi, esi
je 0x14004761c
mov rcx, qword [rbx + 0x60]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140047614
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140047600
cmp edx, esi
jne 0x1400476e7
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 0x1400476e7
mov r8d, dword [r10 + 0x18]
test r8d, r8d
je 0x1400476e7
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 0x140047697
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 0x140047680
cmp edx, r12d
je 0x1400476a3
test r8d, r8d
jne 0x140047660
jmp 0x1400476e7
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 0x1400476f8
lea rax, [r14 + r10]
cmp rdx, rax
jae 0x1400476f8
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 - 0x39], rax
mov r12, rax
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x1400475d0
xor edx, edx
mov qword [0x14010c4f0], rdx
mov rcx, qword [rbp + 0x1f]
call rdx
xor eax, eax
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.140069720
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