Function at 0x10065780
Capabilities:
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], 0x1f
mov dl, 0x6b
xor dl, byte [esp + 0x10]
mov al, 0x7d
xor al, byte [esp + 0x10]
mov dh, 0x73
mov byte [esp + 0x11], al
mov ah, 0x71
mov byte [esp + 0x12], dl
xorps xmm0, xmm0
mov dl, byte [esp + 0x10]
mov byte [esp + 0x27], 0x70
xor ah, dl
mov al, byte [esp + 0x27]
xor dh, dl
xor al, dl
mov byte [esp + 0xe], 0x6c
mov byte [esp + 0x17], al
mov al, byte [esp + 0xe]
mov byte [esp + 0xc], 0x7a
xor al, dl
mov byte [esp + 0x1a], 0
mov cl, 0x40
mov byte [esp + 0x18], al
mov al, byte [esp + 0xc]
mov ch, 0x7c
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 0x10065824
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x5c], edi
je 0x100658c6
test edi, edi
je 0x100658c6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100658c6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x2c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100658c2
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x1006587d
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x100658a9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1006588f
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 0x100658f9
mov edi, dword [esp + 0x5c]
cmp esi, dword [edi + 0xc4]
jne 0x100658ba
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x2c]
jne 0x10065870
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x10065909
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100658ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006659c
jmp 0x100658ff
mov esi, dword [esp + 0x28]
jmp 0x100658c8
push ecx
push edx
call fcn.100810d6
add esp, 8
mov dl, 0x12
mov dword [esp + 0x10], 0x7b767712
mov dword [esp + 0x14], 0x77614d66
xor ecx, ecx
mov dword [esp + 0x18], 0x7a716073
mov byte [esp + 0x1c], 0
nop word [eax + eax]
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10065943
mov dl, byte [esp + 0x10]
jmp 0x10065930
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 0x10065967
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
mov ecx, dword [esi]
lea edx, [esp + 0x30]
call fcn.10017ca0
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x10], eax
cmp ecx, 0xf
jbe 0x100659c3
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100659b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100665a1
push ecx
push edx
call fcn.100810d6
add esp, 8
mov byte [esp + 0x10], 0x3d
mov cl, 0x49
xor cl, byte [esp + 0x10]
mov al, 0x5f
xor al, byte [esp + 0x10]
mov ch, 0x4e
mov byte [esp + 0x11], al
mov dl, 0x53
mov byte [esp + 0x12], cl
mov dh, 0x58
mov cl, byte [esp + 0x10]
mov ah, 0x62
mov byte [esp + 0xc], 0x5c
xor dl, cl
mov al, byte [esp + 0xc]
xor ch, cl
xor al, cl
mov byte [esp + 0xe], 0x4f
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0xe]
xor ah, cl
xor al, cl
mov byte [esp + 0x27], 0x5e
mov byte [esp + 0x18], al
xorps xmm0, xmm0
mov al, byte [esp + 0x27]
xor al, cl
mov byte [esp + 0xd], 0x55
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 0x10065a65
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10065b06
test edi, edi
je 0x10065b06
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10065b06
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10065b02
nop dword [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x10065abd
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10065ae9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10065acf
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 0x10065b39
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10065afa
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10065ab0
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x10065b49
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065b3f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100665a6
jmp 0x10065b3f
mov esi, dword [esp + 0x28]
jmp 0x10065b08
push ecx
push edx
call fcn.100810d6
add esp, 8
movaps xmm0, xmmword [0x100ae960]
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 0x10065b57
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 0x10065b90
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10065c2c
test edi, edi
je 0x10065c2c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10065c2c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10065c28
cmp esi, dword [edi + 0xc4]
jne 0x10065be3
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10065c0f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10065bf5
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 0x10065c5f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10065c20
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10065bd6
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x14], edi
cmp ecx, 0xf
jbe 0x10065c6f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065c65
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100665ab
jmp 0x10065c65
mov esi, dword [esp + 0x28]
jmp 0x10065c2e
push ecx
push edx
call fcn.100810d6
add esp, 8
xor al, al
mov byte [esp + 0x27], al
movzx esi, al
mov cl, 0x7e
mov byte [esp + 0x10], 0x11
mov al, 0x5c
xor al, byte [esp + 0x10]
mov dl, 0x7f
xor cl, byte [esp + 0x10]
mov ch, 0x65
mov byte [esp + 0x11], al
mov dh, 0x74
mov byte [esp + 0x12], cl
mov ah, 0x62
mov cl, byte [esp + 0x10]
xorps xmm0, xmm0
mov byte [esp + 0xd], 0x63
xor dl, cl
mov al, byte [esp + 0xd]
xor dh, cl
xor al, cl
mov byte [esp + 0xc], 0x4e
mov byte [esp + 0x17], al
xor ah, cl
mov al, byte [esp + 0xc]
xor ch, cl
xor al, cl
mov byte [esp + 0xe], 0x34
mov byte [esp + 0x18], al
mov al, byte [esp + 0xe]
xor al, cl
mov byte [esp + 0xf], 0x75
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 0x10065d20
sub ecx, edi
lea eax, [esp + 0x2d]
push ecx
push eax
mov ecx, edx
call fcn.10002580
lea eax, [esp + 0x4c]
push eax
call fcn.1000a310
mov edi, dword [esp + 0x48]
add esp, 0x20
mov edx, eax
mov ecx, dword [edi]
call fcn.10017ca0
mov ecx, dword [esp + 0x44]
mov dword [edi + esi*4 + 0x18], eax
cmp ecx, 0xf
jbe 0x10065d8a
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065d80
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1006659c
push ecx
push edx
call fcn.100810d6
add esp, 8
mov al, byte [esp + 0x27]
inc al
mov byte [esp + 0x27], al
cmp al, 5
jb 0x10065c75
mov byte [esp + 0x10], 0x5b
mov cl, 0x2f
xor cl, byte [esp + 0x10]
mov al, 0x39
xor al, byte [esp + 0x10]
mov ch, 0x3f
mov byte [esp + 0x11], al
mov dl, 0x35
mov byte [esp + 0x12], cl
mov dh, 0x29
mov cl, byte [esp + 0x10]
mov ah, 4
mov byte [esp + 0xf], 0x34
xor dl, cl
mov al, byte [esp + 0xf]
xor ch, cl
xor al, cl
mov byte [esp + 0xd], 0x2b
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 0x10065e20
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
mov ecx, dword [edi]
lea edx, [esp + 0x30]
call fcn.10017ca0
mov ecx, dword [esp + 0x44]
mov dword [edi + 0xc], eax
cmp ecx, 0xf
jbe 0x10065e7c
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065e72
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100665b0
push ecx
push edx
call fcn.100810d6
add esp, 8
movaps xmm0, xmmword [0x100aeea0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x20], 0x1f
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x10065e91
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 0x10065ec3
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
cmp dword [esp + 0x40], 0
mov edi, dword [edi]
mov dword [esp + 0x2c], edi
je 0x10065f62
test edi, edi
je 0x10065f62
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10065f62
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10065f62
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10065f1d
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10065f49
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10065f2f
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 0x10065f64
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10065f5a
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10065f10
xor edi, edi
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x2c], edi
cmp ecx, 0xf
jbe 0x10065fa1
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10065f97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100665b5
push ecx
push edx
call fcn.100810d6
add esp, 8
mov al, 0x59
mov byte [esp + 0x10], 0x2d
mov dl, al
mov byte [esp + 0xf], 0x5b
xor al, byte [esp + 0x10]
mov cl, 0x55
xor cl, byte [esp + 0x10]
mov dh, 0x48
mov byte [esp + 0x11], al
mov ch, 0x41
mov al, byte [esp + 0xf]
mov ah, 0x72
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 0x10066032
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100660ce
test edi, edi
je 0x100660ce
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100660ce
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100660ca
cmp esi, dword [edi + 0xc4]
jne 0x10066085
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x100660b1
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10066097
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 0x10066101
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100660c2
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10066078
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x30], edi
cmp ecx, 0xf
jbe 0x10066111
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066107
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100665ba
jmp 0x10066107
mov esi, dword [esp + 0x28]
jmp 0x100660d0
push ecx
push edx
call fcn.100810d6
add esp, 8
mov al, 0x7f
mov byte [esp + 0x10], 0xb
mov dl, al
mov byte [esp + 0xf], 0x66
xor al, byte [esp + 0x10]
mov cl, 0x73
xor cl, byte [esp + 0x10]
mov dh, 0x6a
mov byte [esp + 0x11], al
mov ch, 0x6f
mov al, byte [esp + 0xf]
mov ah, 0x54
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], 0x6c
mov byte [esp + 0x18], al
xor dh, cl
mov al, byte [esp + 0xc]
xor ah, cl
xor al, cl
mov byte [esp + 0xe], 0x6e
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 0x100661b2
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x1006624e
test edi, edi
je 0x1006624e
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1006624e
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1006624a
cmp esi, dword [edi + 0xc4]
jne 0x10066205
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10066231
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10066217
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 0x10066281
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10066242
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x100661f8
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x34], edi
cmp ecx, 0xf
jbe 0x10066291
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066287
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100665bf
jmp 0x10066287
mov esi, dword [esp + 0x28]
jmp 0x10066250
push ecx
push edx
call fcn.100810d6
add esp, 8
mov dl, 0x6a
mov dword [esp + 0x10], 0x1e121e6a
mov dword [esp + 0x14], 0xc0f0e35
xor ecx, ecx
mov dword [esp + 0x18], 0xf19040f
mov byte [esp + 0x1c], 0
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x100662c5
mov dl, byte [esp + 0x10]
jmp 0x100662b2
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 0x100662f0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x1006638c
test edi, edi
je 0x1006638c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1006638c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10066388
cmp esi, dword [edi + 0xc4]
jne 0x10066343
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x1006636f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10066355
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 0x100663bf
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10066380
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x10066336
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x38], edi
cmp ecx, 0xf
jbe 0x100663cf
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100663c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100665c4
jmp 0x100663c5
mov esi, dword [esp + 0x28]
jmp 0x1006638e
push ecx
push edx
call fcn.100810d6
add esp, 8
mov al, 0x48
mov byte [esp + 0x10], 0x3c
mov dl, al
mov byte [esp + 0xc], al
xor al, byte [esp + 0x10]
mov cl, 0x44
xor cl, byte [esp + 0x10]
mov ch, 0x54
mov byte [esp + 0x11], al
mov dh, 0x59
mov byte [esp + 0x12], cl
mov ah, 0x63
mov cl, byte [esp + 0x10]
xorps xmm0, xmm0
mov byte [esp + 0xf], 0x5d
xor dl, cl
mov al, byte [esp + 0xf]
xor dh, cl
xor al, cl
mov byte [esp + 0xd], 0x50
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 0x10066470
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x1006650c
test edi, edi
je 0x1006650c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1006650c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x5c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10066508
cmp esi, dword [edi + 0xc4]
jne 0x100664c3
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x100664ef
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100664d5
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 0x1006653f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10066500
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x5c]
jne 0x100664b6
mov esi, dword [esp + 0x28]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x3c], edi
cmp ecx, 0xf
jbe 0x1006654f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066545
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100665c9
jmp 0x10066545
mov esi, dword [esp + 0x28]
jmp 0x1006650e
push ecx
push edx
call fcn.100810d6
add esp, 8
mov esi, dword [esi]
test esi, esi
je 0x10066571
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10066571
lea ecx, [esi + 0xd4]
call fcn.10018420
mov esi, eax
jmp 0x10066573
xor esi, esi
mov edi, dword [esp + 0x28]
mov edi, dword [edi]
test edi, edi
je 0x10066596
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10066596
or esi, 0x28
mov ecx, edi
push esi
call dword [0x100ae520]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.1008626f
call fcn.1008626f
call fcn.1008626f
call fcn.1008626f
call fcn.1008626f
call fcn.1008626f
call fcn.1008626f
call fcn.1008626f
call fcn.1008626f
call fcn.1008626f
int3