Function at 0x10078430
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x48
push esi
push edi
mov esi, ecx
mov dword [esp + 0x24], esi
mov dl, 0x4f
mov byte [esp + 0x10], 0x2e
mov byte [esp + 0xd], dl
mov al, 0x4c
xor al, byte [esp + 0x10]
mov dh, 0x4d
xor dl, byte [esp + 0x10]
mov ah, 0x5d
mov byte [esp + 0x11], al
xorps xmm0, xmm0
mov byte [esp + 0x12], dl
mov dl, byte [esp + 0x10]
mov byte [esp + 0xf], 0x42
xor ah, dl
mov al, byte [esp + 0xf]
xor dh, dl
xor al, dl
mov byte [esp + 0xe], 0x40
mov byte [esp + 0x17], al
mov al, byte [esp + 0xd]
mov byte [esp + 0x1a], 0
xor al, dl
mov byte [esp + 0x16], dh
mov cl, 0x4b
mov byte [esp + 0x18], al
mov al, byte [esp + 0xe]
mov ch, 0x71
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
mov byte [esp + 0x19], al
lea edx, [ecx + 1]
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 0x100784d3
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 + 0x28], edi
je 0x10078576
test edi, edi
je 0x10078576
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10078576
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x2c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10078572
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x1007852d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10078559
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1007853f
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 0x100785a9
mov edi, dword [esp + 0x28]
cmp esi, dword [edi + 0xc4]
jne 0x1007856a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x2c]
jne 0x10078520
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x100785b9
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100785af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007937c
jmp 0x100785af
mov esi, dword [esp + 0x24]
jmp 0x10078578
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3db0]
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 0x100785d0
xorps xmm0, xmm0
mov byte [esp + 0x20], 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 0x10078602
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 + 4]
mov dword [esp + 0x2c], edi
je 0x100786a6
test edi, edi
je 0x100786a6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100786a6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100786a2
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x1007865d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10078689
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1007866f
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 0x100786d9
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x1007869a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10078650
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x100786e9
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100786df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10079381
jmp 0x100786df
mov esi, dword [esp + 0x24]
jmp 0x100786a8
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [str.__ZwKDIFwFIEMw]
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 0x10078700
xorps xmm0, xmm0
mov byte [esp + 0x20], 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 0x10078732
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 + 4]
mov dword [esp + 0x2c], edi
je 0x100787d7
test edi, edi
je 0x100787d7
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100787d7
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100787d3
cmp esi, dword [edi + 0xc4]
jne 0x1007878e
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x100787ba
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100787a0
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 0x1007880a
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100787cb
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10078781
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0xc], edi
cmp ecx, 0xf
jbe 0x1007881a
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10078810
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10079386
jmp 0x10078810
mov esi, dword [esp + 0x24]
jmp 0x100787d9
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b43a0]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x20], 0xc
nop
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x10078830
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 0x10078862
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 + 4]
mov dword [esp + 0x2c], edi
je 0x1007890b
test edi, edi
je 0x1007890b
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1007890b
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10078907
cmp esi, dword [edi + 0xc4]
jne 0x100788c2
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x100788ee
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100788d4
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 0x1007893e
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100788ff
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100788b5
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x10], edi
cmp ecx, 0xf
jbe 0x1007894e
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10078944
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007938b
jmp 0x10078944
mov esi, dword [esp + 0x24]
jmp 0x1007890d
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3d30]
xor ecx, ecx
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x20], 0x5f
mov al, byte [esp + 0x10]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x10078963
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 0x10078995
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 + 4]
mov dword [esp + 0x2c], edi
je 0x10078a3e
test edi, edi
je 0x10078a3e
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10078a3e
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10078a3a
cmp esi, dword [edi + 0xc4]
jne 0x100789f5
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10078a21
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10078a07
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 0x10078a71
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10078a32
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100789e8
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x14], edi
cmp ecx, 0xf
jbe 0x10078a81
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10078a77
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10079390
jmp 0x10078a77
mov esi, dword [esp + 0x24]
jmp 0x10078a40
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3d60]
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 0x10078a94
xorps xmm0, xmm0
mov byte [esp + 0x20], 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 0x10078ac6
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 + 4]
mov dword [esp + 0x2c], edi
je 0x10078b7a
test edi, edi
je 0x10078b7a
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10078b7a
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10078b76
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10078b2d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10078b5d
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10078b3f
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 0x10078bad
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10078b6e
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10078b20
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x18], edi
cmp ecx, 0xf
jbe 0x10078bbd
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10078bb3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10079395
jmp 0x10078bb3
mov esi, dword [esp + 0x24]
jmp 0x10078b7c
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [str._IMG]
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 0x10078bd0
xorps xmm0, xmm0
mov byte [esp + 0x20], 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 0x10078c02
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 + 4]
mov dword [esp + 0x2c], edi
je 0x10078cba
test edi, edi
je 0x10078cba
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10078cba
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10078cb6
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10078c6d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10078c9d
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10078c7f
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 0x10078ced
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10078cae
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10078c60
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x1c], edi
cmp ecx, 0xf
jbe 0x10078cfd
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10078cf3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007939a
jmp 0x10078cf3
mov esi, dword [esp + 0x24]
jmp 0x10078cbc
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov byte [esp + 0x10], 0x42
mov cl, 0x2f
xor cl, byte [esp + 0x10]
mov al, 0x2b
xor al, byte [esp + 0x10]
mov ah, 0x1d
mov byte [esp + 0x11], al
mov ch, 0x23
mov byte [esp + 0x12], cl
mov dl, 0x25
mov cl, byte [esp + 0x10]
mov dh, 0x26
mov byte [esp + 0xe], 0x34
xor dl, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0xd], ah
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0xd]
xor ah, cl
xor al, cl
mov byte [esp + 0xf], 0x73
mov byte [esp + 0x18], al
xorps xmm0, xmm0
mov al, byte [esp + 0xf]
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
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10078d90
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 + 4]
mov dword [esp + 0x2c], edi
je 0x10078e41
test edi, edi
je 0x10078e41
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10078e41
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10078e3d
cmp esi, dword [edi + 0xc4]
jne 0x10078df4
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10078e24
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10078e06
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 0x10078e74
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10078e35
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10078de7
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x20], edi
cmp ecx, 0xf
jbe 0x10078e84
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10078e7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1007939f
jmp 0x10078e7a
mov esi, dword [esp + 0x24]
jmp 0x10078e43
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov byte [esp + 0x10], 0x7d
mov cl, 0x10
xor cl, byte [esp + 0x10]
mov al, 0x14
xor al, byte [esp + 0x10]
mov ah, 0x22
mov byte [esp + 0x11], al
mov ch, 0x1c
mov byte [esp + 0x12], cl
mov dl, 0x1a
mov cl, byte [esp + 0x10]
mov dh, 0x19
mov byte [esp + 0xe], 0xb
xor dl, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0xd], ah
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0xd]
xor ah, cl
xor al, cl
mov byte [esp + 0xf], 0x4f
mov byte [esp + 0x18], al
xorps xmm0, xmm0
mov al, byte [esp + 0xf]
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 0x10078f16
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 + 4]
mov dword [esp + 0x2c], edi
je 0x10078fca
test edi, edi
je 0x10078fca
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10078fca
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10078fc6
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10078f7d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10078fad
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10078f8f
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 0x10078ffd
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10078fbe
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10078f70
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x24], edi
cmp ecx, 0xf
jbe 0x1007900d
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10079003
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100793a4
jmp 0x10079003
mov esi, dword [esp + 0x24]
jmp 0x10078fcc
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov esi, dword [esi + 0x20]
test esi, esi
je 0x1007902a
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1007902a
push eax
mov ecx, esi
call dword [0x100b2edc]
mov edi, dword [esp + 0x24]
mov esi, dword [edi + 0x24]
test esi, esi
je 0x1007904b
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1007904b
push eax
mov ecx, esi
call dword [0x100b2edc]
mov byte [esp + 0x10], 0x4f
mov cl, 0x2e
xor cl, byte [esp + 0x10]
mov al, 0x2d
xor al, byte [esp + 0x10]
mov ah, 0x2a
mov byte [esp + 0x11], al
mov ch, 0x10
mov byte [esp + 0x12], cl
mov dl, 0x3c
mov cl, byte [esp + 0x10]
mov dh, 0x3b
mov byte [esp + 0xe], 0x26
xor dl, cl
mov al, byte [esp + 0xe]
xor ch, cl
xor al, cl
mov byte [esp + 0xd], 0x22
mov byte [esp + 0x17], al
xor dh, cl
mov al, byte [esp + 0xd]
xorps xmm0, xmm0
xor al, cl
mov byte [esp + 0xf], ah
mov byte [esp + 0x18], al
xor ah, cl
mov al, byte [esp + 0xf]
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
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100790e0
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 + 4]
mov dword [esp + 0x2c], edi
je 0x10079189
test edi, edi
je 0x10079189
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10079189
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10079189
cmp esi, dword [edi + 0xc4]
jne 0x10079144
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10079170
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10079156
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 0x1007918b
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10079181
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10079137
xor edi, edi
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x28], edi
cmp ecx, 0xf
jbe 0x100791c8
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100791be
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100793a9
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov cl, 0x1e
mov byte [esp + 0x10], 0x6a
mov ch, cl
mov byte [esp + 0xe], 7
xor cl, byte [esp + 0x10]
mov al, 0x19
xor al, byte [esp + 0x10]
mov dl, 0x18
mov byte [esp + 0x11], al
mov dh, 3
mov al, byte [esp + 0xe]
mov ah, 0x35
mov byte [esp + 0x12], cl
xorps xmm0, xmm0
mov cl, byte [esp + 0x10]
xor al, cl
mov byte [esp + 0xd], 0xf
xor dl, cl
mov byte [esp + 0x17], al
mov al, byte [esp + 0xd]
xor ch, cl
xor dh, cl
mov byte [esp + 0x15], ch
xor ah, cl
mov byte [esp + 0x19], 0
xor al, cl
mov byte [esp + 0x13], dl
lea ecx, [esp + 0x11]
mov byte [esp + 0x16], dh
mov byte [esp + 0x14], ah
lea edx, [ecx + 1]
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
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10079250
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 + 0x28]
mov dword [esp + 0x2c], edi
je 0x100792f9
test edi, edi
je 0x100792f9
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100792f9
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100792f9
cmp esi, dword [edi + 0xc4]
jne 0x100792b4
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x100792e0
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100792c6
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 0x100792fb
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100792f1
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100792a7
xor edi, edi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x2c], edi
cmp ecx, 0xf
jbe 0x10079338
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1007932e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100793ae
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov edi, dword [esp + 0x24]
mov esi, dword [edi + 0x28]
test esi, esi
je 0x10079359
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10079359
push eax
mov ecx, esi
call dword [0x100b2edc]
mov esi, dword [edi]
test esi, esi
je 0x10079376
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10079376
push 0x14
mov ecx, esi
call dword [0x100b2ee8]
pop edi
pop esi
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
int3