Function at 0x10056560
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
push esi
push edi
mov esi, ecx
mov dword [esp + 0x24], esi
mov byte [esp + 0xc], 0x1f
mov dl, 0x6b
xor dl, byte [esp + 0xc]
mov al, 0x7d
xor al, byte [esp + 0xc]
mov dh, 0x73
mov byte [esp + 0xd], al
mov ah, 0x71
mov byte [esp + 0xe], dl
xorps xmm0, xmm0
mov dl, byte [esp + 0xc]
mov byte [esp + 0xb], 0x70
xor ah, dl
mov al, byte [esp + 0xb]
xor dh, dl
xor al, dl
mov byte [esp + 9], 0x6c
mov byte [esp + 0x13], al
mov al, byte [esp + 9]
mov byte [esp + 0xa], 0x7a
xor al, dl
mov byte [esp + 0x16], 0
mov cl, 0x40
mov byte [esp + 0x14], al
mov al, byte [esp + 0xa]
mov ch, 0x7c
xor cl, dl
mov byte [esp + 0x12], dh
xor ch, dl
mov byte [esp + 0x10], cl
mov byte [esp + 0x11], ch
xor al, dl
lea ecx, [esp + 0xd]
mov byte [esp + 0xf], ah
lea edx, [ecx + 1]
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 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 0x10056604
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002580
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x28], edi
je 0x100566a6
test edi, edi
je 0x100566a6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100566a6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x2c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100566a2
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x1005665d
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056689
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1005666f
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 0x100566d9
mov edi, dword [esp + 0x28]
cmp esi, dword [edi + 0xc4]
jne 0x1005669a
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x2c]
jne 0x10056650
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x100566e9
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100566df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572c3
jmp 0x100566df
mov esi, dword [esp + 0x24]
jmp 0x100566a8
push ecx
push edx
call fcn.100810d6
add esp, 8
mov dl, 0x12
mov dword [esp + 0xc], 0x7c667012
mov dword [esp + 0x10], 0x6073654d
xor ecx, ecx
mov dword [esp + 0x14], 0x607d7b60
mov byte [esp + 0x18], 0
nop word [eax + eax]
lea eax, [esp + 0xd]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10056723
mov dl, byte [esp + 0xc]
jmp 0x10056710
xorps xmm0, xmm0
mov byte [esp + 0x18], 0
lea ecx, [esp + 0xd]
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 0x10056747
sub ecx, edx
lea eax, [esp + 0xd]
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 0x100567e6
test edi, edi
je 0x100567e6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100567e6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100567e2
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x1005679d
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x100567c9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100567af
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 0x10056819
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100567da
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056790
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x10056829
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005681f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572c8
jmp 0x1005681f
mov esi, dword [esp + 0x24]
jmp 0x100567e8
push ecx
push edx
call fcn.100810d6
add esp, 8
mov byte [esp + 0xc], 0x3d
mov cl, 0x49
xor cl, byte [esp + 0xc]
mov al, 0x5f
xor al, byte [esp + 0xc]
mov ch, 0x4f
mov byte [esp + 0xd], al
mov dl, 0x53
mov byte [esp + 0xe], cl
mov dh, 0x52
mov cl, byte [esp + 0xc]
mov ah, 0x62
mov byte [esp + 0xa], 0x5a
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x48
mov byte [esp + 0x13], al
xor dh, cl
mov al, byte [esp + 9]
xor ah, cl
xor al, cl
mov byte [esp + 0xb], 0x58
mov byte [esp + 0x14], al
xorps xmm0, xmm0
mov al, byte [esp + 0xb]
xor al, cl
mov byte [esp + 0x11], ch
lea ecx, [esp + 0xd]
mov byte [esp + 0x16], 0
mov byte [esp + 0xf], dl
mov byte [esp + 0x12], dh
lea edx, [ecx + 1]
mov byte [esp + 0x10], ah
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 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 0x100568c0
sub ecx, edx
lea eax, [esp + 0xd]
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 0x1005695c
test edi, edi
je 0x1005695c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1005695c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056958
cmp esi, dword [edi + 0xc4]
jne 0x10056913
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x1005693f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056925
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 0x1005698f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056950
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056906
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0xc], edi
cmp ecx, 0xf
jbe 0x1005699f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056995
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572cd
jmp 0x10056995
mov esi, dword [esp + 0x24]
jmp 0x1005695e
push ecx
push edx
call fcn.100810d6
add esp, 8
mov byte [esp + 0xc], 0x73
mov cl, 7
xor cl, byte [esp + 0xc]
mov al, 0x11
xor al, byte [esp + 0xc]
mov ch, 0x1e
mov byte [esp + 0xd], al
mov dl, 0x1d
mov byte [esp + 0xe], cl
mov dh, 0x12
mov cl, byte [esp + 0xc]
mov ah, 0x2c
mov byte [esp + 0xa], 0x14
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x16
xor dh, cl
mov byte [esp + 0x13], al
mov al, byte [esp + 9]
xor ah, cl
xor al, cl
mov byte [esp + 0x11], ch
xorps xmm0, xmm0
mov byte [esp + 0x15], 0
lea ecx, [esp + 0xd]
mov byte [esp + 0xf], dl
mov byte [esp + 0x12], dh
lea edx, [ecx + 1]
mov byte [esp + 0x10], ah
mov byte [esp + 0x14], al
mov byte [esp + 0x15], 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 0x10056a23
sub ecx, edx
lea eax, [esp + 0xd]
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 0x10056ac6
test edi, edi
je 0x10056ac6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056ac6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056ac2
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10056a7d
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056aa9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056a8f
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 0x10056af9
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056aba
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056a70
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x10], edi
cmp ecx, 0xf
jbe 0x10056b09
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056aff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572d2
jmp 0x10056aff
mov esi, dword [esp + 0x24]
jmp 0x10056ac8
push ecx
push edx
call fcn.100810d6
add esp, 8
mov cl, 0x65
mov byte [esp + 0xc], 0x11
mov byte [esp + 0x5f], cl
mov al, 0x73
xor al, byte [esp + 0xc]
mov ch, 0x61
xor cl, byte [esp + 0xc]
mov dl, 0x7f
mov byte [esp + 0xd], al
mov dh, 0x63
mov byte [esp + 0xe], cl
mov ah, 0x4e
mov cl, byte [esp + 0xc]
xorps xmm0, xmm0
mov byte [esp + 0xa], 0x78
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x74
mov byte [esp + 0x13], al
xor dh, cl
mov al, byte [esp + 9]
xor ah, cl
xor al, cl
mov byte [esp + 0xb], 0x62
mov byte [esp + 0x14], al
mov al, byte [esp + 0xb]
xor al, cl
mov byte [esp + 0x11], ch
mov byte [esp + 0x15], al
mov al, byte [esp + 0x5f]
xor al, cl
mov byte [esp + 0x17], 0
lea ecx, [esp + 0xd]
mov byte [esp + 0xf], dl
mov byte [esp + 0x12], dh
lea edx, [ecx + 1]
mov byte [esp + 0x10], ah
mov byte [esp + 0x16], al
mov byte [esp + 0x17], 0
movaps xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10056bb0
sub ecx, edx
lea eax, [esp + 0xd]
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 0x10056c4c
test edi, edi
je 0x10056c4c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056c4c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056c48
cmp esi, dword [edi + 0xc4]
jne 0x10056c03
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056c2f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056c15
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 0x10056c7f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056c40
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056bf6
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x14], edi
cmp ecx, 0xf
jbe 0x10056c8f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056c85
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572d7
jmp 0x10056c85
mov esi, dword [esp + 0x24]
jmp 0x10056c4e
push ecx
push edx
call fcn.100810d6
add esp, 8
movaps xmm0, xmmword [0x100af150]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x3e3632
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x12
jb 0x10056ca5
xorps xmm0, xmm0
mov byte [esp + 0x1f], 0
lea ecx, [esp + 0xd]
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 0x10056cd7
sub ecx, edx
lea eax, [esp + 0xd]
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 0x10056d76
test edi, edi
je 0x10056d76
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056d76
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056d72
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10056d2d
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056d59
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056d3f
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 0x10056da9
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056d6a
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056d20
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x18], edi
cmp ecx, 0xf
jbe 0x10056db9
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056daf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572dc
jmp 0x10056daf
mov esi, dword [esp + 0x24]
jmp 0x10056d78
push ecx
push edx
call fcn.100810d6
add esp, 8
movaps xmm0, xmmword [0x100ae9c0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0xe
jb 0x10056dc7
xorps xmm0, xmm0
mov byte [esp + 0x1b], 0
lea ecx, [esp + 0xd]
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 0x10056e00
sub ecx, edx
lea eax, [esp + 0xd]
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 0x10056e9c
test edi, edi
je 0x10056e9c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056e9c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056e98
cmp esi, dword [edi + 0xc4]
jne 0x10056e53
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056e7f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056e65
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 0x10056ecf
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056e90
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056e46
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x1c], edi
cmp ecx, 0xf
jbe 0x10056edf
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056ed5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572e1
jmp 0x10056ed5
mov esi, dword [esp + 0x24]
jmp 0x10056e9e
push ecx
push edx
call fcn.100810d6
add esp, 8
movaps xmm0, xmmword [0x100af6c0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov byte [esp + 0x1c], 0
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0xf
jb 0x10056ef2
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0xd]
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 0x10056f24
sub ecx, edx
lea eax, [esp + 0xd]
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 0x10056fc6
test edi, edi
je 0x10056fc6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056fc6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056fc2
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x10056f7d
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056fa9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056f8f
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 0x10056ff9
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056fba
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056f70
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x20], edi
cmp ecx, 0xf
jbe 0x10057009
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056fff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572e6
jmp 0x10056fff
mov esi, dword [esp + 0x24]
jmp 0x10056fc8
push ecx
push edx
call fcn.100810d6
add esp, 8
movaps xmm0, xmmword [0x100af620]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x657e6468
mov word [esp + 0x20], 0x7f
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x14
jb 0x10057026
xorps xmm0, xmm0
mov byte [esp + 0x21], 0
lea ecx, [esp + 0xd]
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 0x10057058
sub ecx, edx
lea eax, [esp + 0xd]
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 0x100570f6
test edi, edi
je 0x100570f6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100570f6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100570f2
nop
cmp esi, dword [edi + 0xc4]
jne 0x100570ad
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x100570d9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100570bf
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 0x10057129
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100570ea
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100570a0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x24], edi
cmp ecx, 0xf
jbe 0x10057139
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005712f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572eb
jmp 0x1005712f
mov esi, dword [esp + 0x24]
jmp 0x100570f8
push ecx
push edx
call fcn.100810d6
add esp, 8
movaps xmm0, xmmword [0x100aecf0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x5093506
mov dword [esp + 0x20], 0x1e041f
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x16
jb 0x10057157
xorps xmm0, xmm0
mov byte [esp + 0x23], 0
lea ecx, [esp + 0xd]
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 0x10057190
sub ecx, edx
lea eax, [esp + 0xd]
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 0x1005722c
test edi, edi
je 0x1005722c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1005722c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10057228
cmp esi, dword [edi + 0xc4]
jne 0x100571e3
call fcn.1008625f
mov edi, dword [esi + 8]
test edi, edi
je 0x1005720f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100571f5
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 0x1005725f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10057220
call fcn.1008625f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100571d6
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x28], edi
cmp ecx, 0xf
jbe 0x1005726f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10057265
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100572f0
jmp 0x10057265
mov esi, dword [esp + 0x24]
jmp 0x1005722e
push ecx
push edx
call fcn.100810d6
add esp, 8
mov ecx, esi
call fcn.10057300
mov esi, dword [esi]
test esi, esi
je 0x10057298
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10057298
lea ecx, [esi + 0xd4]
call fcn.10018420
mov esi, eax
jmp 0x1005729a
xor esi, esi
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
test edi, edi
je 0x100572bd
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100572bd
or esi, 0x38
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