Function at 0x100658a0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
push esi
push edi
mov esi, ecx
mov dword [esp + 0x28], esi
mov byte [esp + 0x10], 0x18
mov dl, 0x6c
xor dl, byte [esp + 0x10]
mov al, 0x7a
xor al, byte [esp + 0x10]
mov dh, 0x74
mov byte [esp + 0x11], al
mov ah, 0x76
mov byte [esp + 0x12], dl
xorps xmm0, xmm0
mov dl, byte [esp + 0x10]
mov byte [esp + 0x27], 0x77
xor ah, dl
mov al, byte [esp + 0x27]
xor dh, dl
xor al, dl
mov byte [esp + 0xe], 0x6b
mov byte [esp + 0x17], al
mov al, byte [esp + 0xe]
mov byte [esp + 0xc], 0x7d
xor al, dl
mov byte [esp + 0x1a], 0
mov cl, 0x47
mov byte [esp + 0x18], al
mov al, byte [esp + 0xc]
mov ch, 0x7b
xor cl, dl
mov byte [esp + 0x16], dh
xor ch, dl
mov byte [esp + 0x14], cl
mov byte [esp + 0x15], ch
xor al, dl
lea ecx, [esp + 0x11]
mov byte [esp + 0x13], ah
lea edx, [ecx + 1]
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065944
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x5c], edi
je 0x100659e6
test edi, edi
je 0x100659e6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100659e6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x2c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100659e2
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x1006599d
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x100659c9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100659af
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10065a19
mov edi, dword [esp + 0x5c]
cmp esi, dword [edi + 0xc4]
jne 0x100659da
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x2c]
jne 0x10065990
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x10065a29
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065a1f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666bc
jmp 0x10065a1f
mov esi, dword [esp + 0x28]
jmp 0x100659e8
push ecx
push edx
call fcn.100812a6
add esp, 8
mov dl, 0x37
mov dword [esp + 0x10], 0x5e535237
mov dword [esp + 0x14], 0x52446843
xor ecx, ecx
mov dword [esp + 0x18], 0x5f544556
mov byte [esp + 0x1c], 0
nop word [eax + eax]
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10065a63
mov dl, byte [esp + 0x10]
jmp 0x10065a50
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
lea edx, [ecx + 1]
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065a87
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
mov ecx, dword [esi]
lea edx, [esp + 0x30]
call fcn.10017d80
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x10], eax
cmp ecx, 0xf
jbe 0x10065ae3
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065ad9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666c1
push ecx
push edx
call fcn.100812a6
add esp, 8
mov byte [esp + 0x10], 0xb
mov cl, 0x7f
xor cl, byte [esp + 0x10]
mov al, 0x69
xor al, byte [esp + 0x10]
mov ch, 0x78
mov byte [esp + 0x11], al
mov dl, 0x65
mov byte [esp + 0x12], cl
mov dh, 0x6e
mov cl, byte [esp + 0x10]
mov ah, 0x54
mov byte [esp + 0xc], 0x6a
xor dl, cl
mov al, byte [esp + 0xc]
xor ch, cl
xor al, cl
mov byte [esp + 0xe], 0x79
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0xe]
xor ah, cl
xor al, cl
mov byte [esp + 0x27], 0x68
mov byte [esp + 0x18], al
xorps xmm0, xmm0
mov al, byte [esp + 0x27]
xor al, cl
mov byte [esp + 0xd], 0x63
mov byte [esp + 0x19], al
mov al, byte [esp + 0xd]
xor al, cl
mov byte [esp + 0x15], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x1b], 0
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065b85
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10065c26
test edi, edi
je 0x10065c26
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10065c26
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10065c22
nop dword [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x10065bdd
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x10065c09
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10065bef
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10065c59
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10065c1a
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10065bd0
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x10065c69
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065c5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666c6
jmp 0x10065c5f
mov esi, dword [esp + 0x28]
jmp 0x10065c28
push ecx
push edx
call fcn.100812a6
add esp, 8
movaps xmm0, xmmword [0x100aebe0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0xe
jb 0x10065c77
xorps xmm0, xmm0
mov byte [esp + 0x1f], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
lea edx, [ecx + 1]
mov dword [esp + 0x44], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065cb0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10065d4c
test edi, edi
je 0x10065d4c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10065d4c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10065d48
cmp esi, dword [edi + 0xc4]
jne 0x10065d03
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x10065d2f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10065d15
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10065d7f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10065d40
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10065cf6
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x14], edi
cmp ecx, 0xf
jbe 0x10065d8f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065d85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666cb
jmp 0x10065d85
mov esi, dword [esp + 0x28]
jmp 0x10065d4e
push ecx
push edx
call fcn.100812a6
add esp, 8
xor al, al
mov byte [esp + 0x27], al
movzx esi, al
mov cl, 0x2f
mov byte [esp + 0x10], 0x40
mov al, 0xd
xor al, byte [esp + 0x10]
mov dl, 0x2e
xor cl, byte [esp + 0x10]
mov ch, 0x34
mov byte [esp + 0x11], al
mov dh, 0x25
mov byte [esp + 0x12], cl
mov ah, 0x33
mov cl, byte [esp + 0x10]
xorps xmm0, xmm0
mov byte [esp + 0xd], 0x32
xor dl, cl
mov al, byte [esp + 0xd]
xor dh, cl
xor al, cl
mov byte [esp + 0xc], 0x1f
mov byte [esp + 0x17], al
xor ah, cl
mov al, byte [esp + 0xc]
xor ch, cl
xor al, cl
mov byte [esp + 0xe], 0x65
mov byte [esp + 0x18], al
mov al, byte [esp + 0xe]
xor al, cl
mov byte [esp + 0xf], 0x24
mov byte [esp + 0x19], al
mov al, byte [esp + 0xf]
xor al, cl
mov byte [esp + 0x13], dl
push esi
sub esp, 0x18
mov byte [esp + 0x32], dh
mov edx, esp
mov byte [esp + 0x31], ch
lea ecx, [esp + 0x2d]
mov byte [esp + 0x37], 0
mov byte [esp + 0x30], ah
lea edi, [ecx + 1]
mov byte [esp + 0x36], al
movups xmmword [edx], xmm0
mov byte [esp + 0x37], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065e40
sub ecx, edi
lea eax, [esp + 0x2d]
push ecx
push eax
mov ecx, edx
call fcn.10002570
lea eax, [esp + 0x4c]
push eax
call fcn.1000a3e0
mov edi, dword [esp + 0x48]
add esp, 0x20
mov edx, eax
mov ecx, dword [edi]
call fcn.10017d80
mov ecx, dword [esp + 0x44]
mov dword [edi + esi*4 + 0x18], eax
cmp ecx, 0xf
jbe 0x10065eaa
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065ea0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666bc
push ecx
push edx
call fcn.100812a6
add esp, 8
mov al, byte [esp + 0x27]
inc al
mov byte [esp + 0x27], al
cmp al, 5
jb 0x10065d95
mov byte [esp + 0x10], 0x13
mov cl, 0x67
xor cl, byte [esp + 0x10]
mov al, 0x71
xor al, byte [esp + 0x10]
mov ch, 0x77
mov byte [esp + 0x11], al
mov dl, 0x7d
mov byte [esp + 0x12], cl
mov dh, 0x61
mov cl, byte [esp + 0x10]
mov ah, 0x4c
mov byte [esp + 0xf], 0x7c
xor dl, cl
mov al, byte [esp + 0xf]
xor ch, cl
xor al, cl
mov byte [esp + 0xd], 0x63
xor dh, cl
mov byte [esp + 0x17], al
mov al, byte [esp + 0xd]
xor ah, cl
xor al, cl
mov byte [esp + 0x15], ch
xorps xmm0, xmm0
mov byte [esp + 0x19], 0
lea ecx, [esp + 0x11]
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x18], al
mov byte [esp + 0x19], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065f40
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
mov ecx, dword [edi]
lea edx, [esp + 0x30]
call fcn.10017d80
mov ecx, dword [esp + 0x44]
mov dword [edi + 0xc], eax
cmp ecx, 0xf
jbe 0x10065f9c
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065f92
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666d0
push ecx
push edx
call fcn.100812a6
add esp, 8
movaps xmm0, xmmword [0x100af5e0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x20], 0x45
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x10065fb1
xorps xmm0, xmm0
mov byte [esp + 0x21], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
lea edx, [ecx + 1]
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10065fe3
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [edi]
mov dword [esp + 0x2c], edi
je 0x10066082
test edi, edi
je 0x10066082
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10066082
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10066082
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x1006603d
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x10066069
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1006604f
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10066084
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x1006607a
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10066030
xor edi, edi
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x2c], edi
cmp ecx, 0xf
jbe 0x100660c1
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100660b7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666d5
push ecx
push edx
call fcn.100812a6
add esp, 8
mov al, 0x1b
mov byte [esp + 0x10], 0x6f
mov dl, al
mov byte [esp + 0xf], 0x19
xor al, byte [esp + 0x10]
mov cl, 0x17
xor cl, byte [esp + 0x10]
mov dh, 0xa
mov byte [esp + 0x11], al
mov ch, 3
mov al, byte [esp + 0xf]
mov ah, 0x30
mov byte [esp + 0x12], cl
xorps xmm0, xmm0
mov cl, byte [esp + 0x10]
xor al, cl
mov byte [esp + 0xd], dh
mov byte [esp + 0x17], al
xor dl, cl
mov al, byte [esp + 0xd]
xor dh, cl
xor al, cl
mov byte [esp + 0xc], ch
xor ch, cl
mov byte [esp + 0x18], al
mov al, byte [esp + 0xc]
xor ah, cl
xor al, cl
mov byte [esp + 0x15], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x1a], 0
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066152
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100661ee
test edi, edi
je 0x100661ee
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100661ee
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100661ea
cmp esi, dword [edi + 0xc4]
jne 0x100661a5
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x100661d1
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100661b7
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10066221
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100661e2
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10066198
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x30], edi
cmp ecx, 0xf
jbe 0x10066231
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066227
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666da
jmp 0x10066227
mov esi, dword [esp + 0x28]
jmp 0x100661f0
push ecx
push edx
call fcn.100812a6
add esp, 8
mov al, 0x3c
mov byte [esp + 0x10], 0x48
mov dl, al
mov byte [esp + 0xf], 0x25
xor al, byte [esp + 0x10]
mov cl, 0x30
xor cl, byte [esp + 0x10]
mov dh, 0x29
mov byte [esp + 0x11], al
mov ch, 0x2c
mov al, byte [esp + 0xf]
mov ah, 0x17
mov byte [esp + 0x12], cl
xorps xmm0, xmm0
mov cl, byte [esp + 0x10]
xor al, cl
mov byte [esp + 0xd], dh
mov byte [esp + 0x17], al
xor dl, cl
mov al, byte [esp + 0xd]
xor ch, cl
xor al, cl
mov byte [esp + 0xc], 0x2f
mov byte [esp + 0x18], al
xor dh, cl
mov al, byte [esp + 0xc]
xor ah, cl
xor al, cl
mov byte [esp + 0xe], 0x2d
mov byte [esp + 0x19], al
mov al, byte [esp + 0xe]
xor al, cl
mov byte [esp + 0x15], ch
lea ecx, [esp + 0x11]
mov byte [esp + 0x1b], 0
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100662d2
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x1006636e
test edi, edi
je 0x1006636e
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1006636e
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1006636a
cmp esi, dword [edi + 0xc4]
jne 0x10066325
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x10066351
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10066337
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100663a1
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10066362
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10066318
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x34], edi
cmp ecx, 0xf
jbe 0x100663b1
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100663a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666df
jmp 0x100663a7
mov esi, dword [esp + 0x28]
jmp 0x10066370
push ecx
push edx
call fcn.100812a6
add esp, 8
mov dl, 0x44
mov dword [esp + 0x10], 0x303c3044
mov dword [esp + 0x14], 0x2221201b
xor ecx, ecx
mov dword [esp + 0x18], 0x21372a21
mov byte [esp + 0x1c], 0
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x100663e5
mov dl, byte [esp + 0x10]
jmp 0x100663d2
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
lea edx, [ecx + 1]
mov dword [esp + 0x44], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066410
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100664ac
test edi, edi
je 0x100664ac
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100664ac
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100664a8
cmp esi, dword [edi + 0xc4]
jne 0x10066463
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1006648f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10066475
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100664df
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100664a0
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10066456
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x38], edi
cmp ecx, 0xf
jbe 0x100664ef
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100664e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666e4
jmp 0x100664e5
mov esi, dword [esp + 0x28]
jmp 0x100664ae
push ecx
push edx
call fcn.100812a6
add esp, 8
mov al, 0x16
mov byte [esp + 0x10], 0x62
mov dl, al
mov byte [esp + 0xc], al
xor al, byte [esp + 0x10]
mov cl, 0x1a
xor cl, byte [esp + 0x10]
mov ch, 0xa
mov byte [esp + 0x11], al
mov dh, 7
mov byte [esp + 0x12], cl
mov ah, 0x3d
mov cl, byte [esp + 0x10]
xorps xmm0, xmm0
mov byte [esp + 0xf], 3
xor dl, cl
mov al, byte [esp + 0xf]
xor dh, cl
xor al, cl
mov byte [esp + 0xd], 0xe
mov byte [esp + 0x17], al
xor ah, cl
mov al, byte [esp + 0xd]
xor al, cl
mov byte [esp + 0xe], ch
mov byte [esp + 0x18], al
xor ch, cl
mov al, byte [esp + 0xc]
xor al, cl
mov byte [esp + 0x15], ch
mov byte [esp + 0x19], al
mov al, byte [esp + 0xe]
xor al, cl
mov byte [esp + 0x1b], 0
lea ecx, [esp + 0x11]
mov byte [esp + 0x13], dl
mov byte [esp + 0x16], dh
lea edx, [ecx + 1]
mov byte [esp + 0x14], ah
mov byte [esp + 0x1a], al
mov byte [esp + 0x1b], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066590
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x1006662c
test edi, edi
je 0x1006662c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1006662c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10066628
cmp esi, dword [edi + 0xc4]
jne 0x100665e3
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1006660f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100665f5
mov ecx, dword [ecx]
cmp dword [esp + 0x44], 0xf
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1006665f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10066620
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x100665d6
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x3c], edi
cmp ecx, 0xf
jbe 0x1006666f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066665
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100666e9
jmp 0x10066665
mov esi, dword [esp + 0x28]
jmp 0x1006662e
push ecx
push edx
call fcn.100812a6
add esp, 8
mov esi, dword [esi]
test esi, esi
je 0x10066691
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10066691
lea ecx, [esi + 0xd4]
call fcn.10018500
mov esi, eax
jmp 0x10066693
xor esi, esi
mov edi, dword [esp + 0x28]
mov edi, dword [edi]
test edi, edi
je 0x100666b6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100666b6
or esi, 0x28
mov ecx, edi
push esi
call dword [0x100ae570]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
int3