Function at 0x10027600
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov eax, dword [0x100bd080]
xor eax, esp
mov dword [esp + 0x74], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x30], edi
mov byte [esp + 0x10], 0x2e
mov dl, 0x4f
xor dl, byte [esp + 0x10]
mov al, 0x7a
xor al, byte [esp + 0x10]
mov dh, 0x5a
mov byte [esp + 0x11], al
mov ah, 0x5c
mov byte [esp + 0x12], dl
xorps xmm0, xmm0
mov dl, byte [esp + 0x10]
mov byte [esp + 0x3d], 0x61
xor ah, dl
mov al, byte [esp + 0x3d]
xor dh, dl
xor al, dl
mov byte [esp + 0x3e], 0x40
mov byte [esp + 0x17], al
mov al, byte [esp + 0x3e]
mov byte [esp + 0x1a], 0
mov ch, 0x4b
mov byte [esp + 0x16], dh
xor al, dl
mov byte [esp + 0x3f], ch
mov cl, 0x49
mov byte [esp + 0x18], al
mov al, byte [esp + 0x3f]
xor cl, dl
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 + 0x40], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100276b0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [edi]
mov dword [esp + 0x34], edi
je 0x10027748
test edi, edi
je 0x10027748
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10027748
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x38], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10027748
cmp esi, dword [edi + 0xc4]
jne 0x10027703
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x1002772f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10027715
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1002774a
mov edi, dword [esp + 0x34]
cmp esi, dword [edi + 0xc4]
jne 0x10027740
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x38]
jne 0x100276f6
xor edi, edi
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x10027787
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002777d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100287db
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov dl, 6
mov dword [esp + 0x10], 0x74727506
mov dword [esp + 0x14], 0x6b674859
xor ecx, ecx
mov dword [esp + 0x18], 0x63684963
mov byte [esp + 0x1c], 0
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x100277bb
mov dl, byte [esp + 0x10]
jmp 0x100277a8
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100277e0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 4]
mov dword [esp + 0x38], edi
je 0x1002787d
test edi, edi
je 0x1002787d
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1002787d
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10027879
cmp esi, dword [edi + 0xc4]
jne 0x10027834
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10027860
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10027846
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100278b0
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x10027871
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x10027827
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x100278c0
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100278b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100287e0
jmp 0x100278b6
mov esi, dword [esp + 0x30]
jmp 0x1002787f
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3fa0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov byte [esp + 0x20], 0
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0xf
jb 0x100278d3
xorps xmm0, xmm0
mov byte [esp + 0x20], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027905
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 4]
mov dword [esp + 0x38], edi
je 0x100279a6
test edi, edi
je 0x100279a6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100279a6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100279a2
cmp esi, dword [edi + 0xc4]
jne 0x1002795d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10027989
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1002796f
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100279d9
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x1002799a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x10027950
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0xc], edi
cmp ecx, 0xf
jbe 0x100279e9
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100279df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100287e5
jmp 0x100279df
mov esi, dword [esp + 0x30]
jmp 0x100279a8
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b4250]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x20], 0x59
nop
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x10027a00
xorps xmm0, xmm0
mov byte [esp + 0x21], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027a32
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 4]
mov dword [esp + 0x38], edi
je 0x10027ad7
test edi, edi
je 0x10027ad7
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10027ad7
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10027ad3
cmp esi, dword [edi + 0xc4]
jne 0x10027a8e
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10027aba
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10027aa0
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10027b0a
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x10027acb
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x10027a81
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x10], edi
cmp ecx, 0xf
jbe 0x10027b1a
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027b10
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100287ea
jmp 0x10027b10
mov esi, dword [esp + 0x30]
jmp 0x10027ad9
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3940]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov dword [esp + 0x20], 0x31f1819
mov byte [esp + 0x24], 0
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x13
jb 0x10027b35
xorps xmm0, xmm0
mov byte [esp + 0x24], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027b67
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 4]
mov dword [esp + 0x38], edi
je 0x10027c16
test edi, edi
je 0x10027c16
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10027c16
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10027c12
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x10027bcd
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10027bf9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10027bdf
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10027c49
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x10027c0a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x10027bc0
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x14], edi
cmp ecx, 0xf
jbe 0x10027c59
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027c4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100287ef
jmp 0x10027c4f
mov esi, dword [esp + 0x30]
jmp 0x10027c18
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov al, 0x50
mov byte [esp + 0x10], 4
mov byte [esp + 0x3f], al
mov cl, 0x65
xor al, byte [esp + 0x10]
mov ch, 0x61
xor cl, byte [esp + 0x10]
mov dl, 0x76
mov byte [esp + 0x11], al
mov dh, 0x70
mov al, byte [esp + 0x3f]
mov ah, 0x63
mov byte [esp + 0x12], cl
xorps xmm0, xmm0
mov cl, byte [esp + 0x10]
xor al, cl
mov byte [esp + 0x3e], 0x73
mov byte [esp + 0x17], al
xor dl, cl
mov al, byte [esp + 0x3e]
xor ch, cl
xor al, cl
mov byte [esp + 0x3d], 0x6b
xor dh, cl
mov byte [esp + 0x18], al
mov al, byte [esp + 0x3d]
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 + 0x40], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027cf0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi]
mov dword [esp + 0x38], edi
je 0x10027d96
test edi, edi
je 0x10027d96
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10027d96
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10027d92
nop
cmp esi, dword [edi + 0xc4]
jne 0x10027d4d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10027d79
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10027d5f
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10027dc9
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x10027d8a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x10027d40
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x18], edi
cmp ecx, 0xf
jbe 0x10027dd9
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027dcf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100287f4
jmp 0x10027dcf
mov esi, dword [esp + 0x30]
jmp 0x10027d98
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov dl, 0x20
mov dword [esp + 0x10], 0x52545320
mov dword [esp + 0x14], 0x4d416e7f
xor ecx, ecx
mov dword [esp + 0x18], 0x4f577445
mov byte [esp + 0x1c], 0
nop word [eax + eax]
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10027e13
mov dl, byte [esp + 0x10]
jmp 0x10027e00
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027e37
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x18]
mov dword [esp + 0x38], edi
je 0x10027edc
test edi, edi
je 0x10027edc
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10027edc
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10027ed8
cmp esi, dword [edi + 0xc4]
jne 0x10027e93
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10027ebf
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10027ea5
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10027f0f
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x10027ed0
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x10027e86
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x1c], edi
cmp ecx, 0xf
jbe 0x10027f1f
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10027f15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100287f9
jmp 0x10027f15
mov esi, dword [esp + 0x30]
jmp 0x10027ede
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3ca0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov byte [esp + 0x20], 0
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0xf
jb 0x10027f32
xorps xmm0, xmm0
mov byte [esp + 0x20], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10027f64
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x18]
mov dword [esp + 0x38], edi
je 0x10028009
test edi, edi
je 0x10028009
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10028009
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10028005
cmp esi, dword [edi + 0xc4]
jne 0x10027fc0
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10027fec
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10027fd2
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1002803c
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x10027ffd
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x10027fb3
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x20], edi
cmp ecx, 0xf
jbe 0x1002804c
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10028042
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100287fe
jmp 0x10028042
mov esi, dword [esp + 0x30]
jmp 0x1002800b
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3aa0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x20], 0x19
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x10028061
xorps xmm0, xmm0
mov byte [esp + 0x21], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028093
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x18]
mov dword [esp + 0x38], edi
je 0x1002813c
test edi, edi
je 0x1002813c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1002813c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10028138
cmp esi, dword [edi + 0xc4]
jne 0x100280f3
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x1002811f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10028105
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1002816f
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x10028130
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x100280e6
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x24], edi
cmp ecx, 0xf
jbe 0x1002817f
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10028175
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10028803
jmp 0x10028175
mov esi, dword [esp + 0x30]
jmp 0x1002813e
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3c60]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov dword [esp + 0x20], 0x213d3a3b
mov byte [esp + 0x24], 0
nop word [eax + eax]
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x13
jb 0x100281a0
xorps xmm0, xmm0
mov byte [esp + 0x24], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100281d2
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x18]
mov dword [esp + 0x38], edi
je 0x1002827b
test edi, edi
je 0x1002827b
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1002827b
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10028277
cmp esi, dword [edi + 0xc4]
jne 0x10028232
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x1002825e
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10028244
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x100282ae
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x1002826f
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x10028225
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x28], edi
cmp ecx, 0xf
jbe 0x100282be
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100282b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10028808
jmp 0x100282b4
mov esi, dword [esp + 0x30]
jmp 0x1002827d
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov cl, 0xb
mov byte [esp + 0x10], 0x6a
mov byte [esp + 0x3e], cl
mov al, 0x3e
xor al, byte [esp + 0x10]
mov ch, 0xf
xor cl, byte [esp + 0x10]
mov dl, 0x18
mov byte [esp + 0x11], al
mov dh, 0x1e
mov byte [esp + 0x12], cl
mov ah, 0xd
mov cl, byte [esp + 0x10]
xorps xmm0, xmm0
mov byte [esp + 0x3f], 0x39
xor dl, cl
mov al, byte [esp + 0x3f]
xor ch, cl
xor al, cl
mov byte [esp + 0x3d], 7
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0x3e]
xor ah, cl
xor al, cl
mov byte [esp + 0x15], ch
mov byte [esp + 0x18], al
mov al, byte [esp + 0x3d]
xor al, cl
mov byte [esp + 0x1a], 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 + 0x19], al
mov byte [esp + 0x1a], 0
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028350
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi]
mov dword [esp + 0x38], edi
je 0x100283f8
test edi, edi
je 0x100283f8
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100283f8
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100283f4
cmp esi, dword [edi + 0xc4]
jne 0x100283af
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x100283db
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100283c1
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1002842b
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x100283ec
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x100283a2
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x2c], edi
cmp ecx, 0xf
jbe 0x1002843b
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10028431
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002880d
jmp 0x10028431
mov esi, dword [esp + 0x30]
jmp 0x100283fa
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov dl, 0x69
mov dword [esp + 0x10], 0x1b1d1a69
mov dword [esp + 0x14], 0x4082736
xor ecx, ecx
mov dword [esp + 0x18], 0x4083a0c
mov byte [esp + 0x1c], 0
nop dword [eax]
lea eax, [esp + 0x11]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10028473
mov dl, byte [esp + 0x10]
jmp 0x10028460
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10028497
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x38], edi
je 0x10028546
test edi, edi
je 0x10028546
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10028546
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10028542
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x100284fd
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10028529
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1002850f
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10028579
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x1002853a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x100284f0
mov esi, dword [esp + 0x30]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov dword [esi + 0x30], edi
cmp ecx, 0xf
jbe 0x10028589
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002857f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10028812
jmp 0x1002857f
mov esi, dword [esp + 0x30]
jmp 0x10028548
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b38b0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov byte [esp + 0x20], 0
nop dword [eax]
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0xf
jb 0x100285a0
xorps xmm0, xmm0
mov byte [esp + 0x20], 0
lea ecx, [esp + 0x11]
movaps xmmword [esp + 0x40], xmm0
mov dword [esp + 0x50], 0
lea edx, [ecx + 1]
mov dword [esp + 0x54], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100285d2
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x48]
call fcn.10002570
cmp dword [esp + 0x50], 0
mov edi, dword [esi + 0x2c]
mov dword [esp + 0x38], edi
je 0x10028677
test edi, edi
je 0x10028677
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10028677
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x34], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10028677
cmp esi, dword [edi + 0xc4]
jne 0x10028632
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x1002865e
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10028644
mov ecx, dword [ecx]
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
cmova eax, dword [esp + 0x40]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x10028679
mov edi, dword [esp + 0x38]
cmp esi, dword [edi + 0xc4]
jne 0x1002866f
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x34]
jne 0x10028625
xor edi, edi
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
mov dword [eax + 0x34], edi
cmp ecx, 0xf
jbe 0x100286b6
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100286ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10028817
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov edi, dword [esp + 0x30]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
mov esi, dword [edi + 0x18]
test esi, esi
je 0x100286ec
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100286ec
push eax
mov ecx, esi
call dword [0x100b2edc]
mov esi, dword [edi + 0x2c]
test esi, esi
je 0x10028709
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10028709
push eax
mov ecx, esi
call dword [0x100b2edc]
mov esi, dword [edi]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
test esi, esi
je 0x10028764
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10028764
mov eax, dword [esi + 0xdc]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xe0]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xe4]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0xe8]
mov dword [esp + 0x1c], eax
mov esi, dword [edi + 4]
xor edi, edi
movaps xmm0, xmmword [esp + 0x10]
movaps xmmword [esp + 0x60], xmm0
test esi, esi
je 0x1002878a
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1002878a
mov edi, dword [esi + 0xe8]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], edi
mov esi, dword [eax]
test esi, esi
je 0x100287b2
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100287b2
lea eax, [esp + 0x60]
mov ecx, esi
push eax
call dword [0x100b2ec4]
mov esi, dword [0x100b2f94]
mov ecx, 0xd78d54
call fcn.10019710
mov ecx, dword [eax + 0x350]
call esi
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
xor ecx, esp
call fcn.1007f9b5
mov esp, ebp
pop ebp
ret
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
call fcn.10084b1f
int3