Function at 0x10056680
Capabilities:
Contain obfuscated stackstrings
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], 0x18
mov dl, 0x6c
xor dl, byte [esp + 0xc]
mov al, 0x7a
xor al, byte [esp + 0xc]
mov dh, 0x74
mov byte [esp + 0xd], al
mov ah, 0x76
mov byte [esp + 0xe], dl
xorps xmm0, xmm0
mov dl, byte [esp + 0xc]
mov byte [esp + 0xb], 0x77
xor ah, dl
mov al, byte [esp + 0xb]
xor dh, dl
xor al, dl
mov byte [esp + 9], 0x6b
mov byte [esp + 0x13], al
mov al, byte [esp + 9]
mov byte [esp + 0xa], 0x7d
xor al, dl
mov byte [esp + 0x16], 0
mov cl, 0x47
mov byte [esp + 0x14], al
mov al, byte [esp + 0xa]
mov ch, 0x7b
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 0x10056724
sub ecx, edx
lea eax, [esp + 0xd]
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 0x100567c6
test edi, edi
je 0x100567c6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100567c6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x2c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100567c2
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x1005677d
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x100567a9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1005678f
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 0x100567f9
mov edi, dword [esp + 0x28]
cmp esi, dword [edi + 0xc4]
jne 0x100567ba
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x2c]
jne 0x10056770
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x10056809
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100567ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100573e3
jmp 0x100567ff
mov esi, dword [esp + 0x24]
jmp 0x100567c8
push ecx
push edx
call fcn.100812a6
add esp, 8
mov dl, 0x37
mov dword [esp + 0xc], 0x59435537
mov dword [esp + 0x10], 0x45564068
xor ecx, ecx
mov dword [esp + 0x14], 0x45585e45
mov byte [esp + 0x18], 0
nop word [eax + eax]
lea eax, [esp + 0xd]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10056843
mov dl, byte [esp + 0xc]
jmp 0x10056830
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 0x10056867
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10056906
test edi, edi
je 0x10056906
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056906
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056902
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x100568bd
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x100568e9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100568cf
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 0x10056939
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100568fa
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100568b0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x10056949
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005693f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100573e8
jmp 0x1005693f
mov esi, dword [esp + 0x24]
jmp 0x10056908
push ecx
push edx
call fcn.100812a6
add esp, 8
mov byte [esp + 0xc], 0xb
mov cl, 0x7f
xor cl, byte [esp + 0xc]
mov al, 0x69
xor al, byte [esp + 0xc]
mov ch, 0x79
mov byte [esp + 0xd], al
mov dl, 0x65
mov byte [esp + 0xe], cl
mov dh, 0x64
mov cl, byte [esp + 0xc]
mov ah, 0x54
mov byte [esp + 0xa], 0x6c
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x7e
mov byte [esp + 0x13], al
xor dh, cl
mov al, byte [esp + 9]
xor ah, cl
xor al, cl
mov byte [esp + 0xb], 0x6e
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 0x100569e0
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10056a7c
test edi, edi
je 0x10056a7c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056a7c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056a78
cmp esi, dword [edi + 0xc4]
jne 0x10056a33
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056a5f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056a45
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 0x10056aaf
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056a70
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056a26
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0xc], edi
cmp ecx, 0xf
jbe 0x10056abf
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056ab5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100573ed
jmp 0x10056ab5
mov esi, dword [esp + 0x24]
jmp 0x10056a7e
push ecx
push edx
call fcn.100812a6
add esp, 8
mov byte [esp + 0xc], 0x19
mov cl, 0x6d
xor cl, byte [esp + 0xc]
mov al, 0x7b
xor al, byte [esp + 0xc]
mov ch, 0x74
mov byte [esp + 0xd], al
mov dl, 0x77
mov byte [esp + 0xe], cl
mov dh, 0x78
mov cl, byte [esp + 0xc]
mov ah, 0x46
mov byte [esp + 0xa], 0x7e
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x7c
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 0x10056b43
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10056be6
test edi, edi
je 0x10056be6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056be6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056be2
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10056b9d
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056bc9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056baf
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 0x10056c19
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056bda
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056b90
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x10], edi
cmp ecx, 0xf
jbe 0x10056c29
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056c1f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100573f2
jmp 0x10056c1f
mov esi, dword [esp + 0x24]
jmp 0x10056be8
push ecx
push edx
call fcn.100812a6
add esp, 8
mov cl, 0x34
mov byte [esp + 0xc], 0x40
mov byte [esp + 0x5f], cl
mov al, 0x22
xor al, byte [esp + 0xc]
mov ch, 0x30
xor cl, byte [esp + 0xc]
mov dl, 0x2e
mov byte [esp + 0xd], al
mov dh, 0x32
mov byte [esp + 0xe], cl
mov ah, 0x1f
mov cl, byte [esp + 0xc]
xorps xmm0, xmm0
mov byte [esp + 0xa], 0x29
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x25
mov byte [esp + 0x13], al
xor dh, cl
mov al, byte [esp + 9]
xor ah, cl
xor al, cl
mov byte [esp + 0xb], 0x33
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 0x10056cd0
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10056d6c
test edi, edi
je 0x10056d6c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056d6c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056d68
cmp esi, dword [edi + 0xc4]
jne 0x10056d23
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056d4f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056d35
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 0x10056d9f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056d60
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056d16
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x14], edi
cmp ecx, 0xf
jbe 0x10056daf
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056da5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100573f7
jmp 0x10056da5
mov esi, dword [esp + 0x24]
jmp 0x10056d6e
push ecx
push edx
call fcn.100812a6
add esp, 8
movaps xmm0, xmmword [0x100af9c0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x767e7a
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x12
jb 0x10056dc5
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 0x10056df7
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10056e96
test edi, edi
je 0x10056e96
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056e96
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056e92
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10056e4d
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056e79
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056e5f
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 0x10056ec9
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056e8a
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056e40
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x18], edi
cmp ecx, 0xf
jbe 0x10056ed9
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056ecf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100573fc
jmp 0x10056ecf
mov esi, dword [esp + 0x24]
jmp 0x10056e98
push ecx
push edx
call fcn.100812a6
add esp, 8
movaps xmm0, xmmword [str._TXT]
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 0x10056ee7
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 0x10056f20
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10056fbc
test edi, edi
je 0x10056fbc
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056fbc
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056fb8
cmp esi, dword [edi + 0xc4]
jne 0x10056f73
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056f9f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056f85
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 0x10056fef
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056fb0
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056f66
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x1c], edi
cmp ecx, 0xf
jbe 0x10056fff
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056ff5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057401
jmp 0x10056ff5
mov esi, dword [esp + 0x24]
jmp 0x10056fbe
push ecx
push edx
call fcn.100812a6
add esp, 8
movaps xmm0, xmmword [0x100aef60]
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 0x10057012
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 0x10057044
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100570e6
test edi, edi
je 0x100570e6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100570e6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100570e2
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x1005709d
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x100570c9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100570af
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 0x10057119
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100570da
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10057090
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x20], edi
cmp ecx, 0xf
jbe 0x10057129
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005711f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057406
jmp 0x1005711f
mov esi, dword [esp + 0x24]
jmp 0x100570e8
push ecx
push edx
call fcn.100812a6
add esp, 8
movaps xmm0, xmmword [str.H_0_]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x263d272b
mov word [esp + 0x20], 0x3c
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x14
jb 0x10057146
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 0x10057178
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10057216
test edi, edi
je 0x10057216
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10057216
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10057212
nop
cmp esi, dword [edi + 0xc4]
jne 0x100571cd
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x100571f9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100571df
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 0x10057249
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x1005720a
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100571c0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x24], edi
cmp ecx, 0xf
jbe 0x10057259
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005724f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005740b
jmp 0x1005724f
mov esi, dword [esp + 0x24]
jmp 0x10057218
push ecx
push edx
call fcn.100812a6
add esp, 8
movaps xmm0, xmmword [0x100af0a0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x2b271b28
mov dword [esp + 0x20], 0x302a31
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x16
jb 0x10057277
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 0x100572b0
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002570
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x1005734c
test edi, edi
je 0x1005734c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1005734c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10057348
cmp esi, dword [edi + 0xc4]
jne 0x10057303
call fcn.1008642f
mov edi, dword [esi + 8]
test edi, edi
je 0x1005732f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10057315
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 0x1005737f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10057340
call fcn.1008642f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100572f6
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x28], edi
cmp ecx, 0xf
jbe 0x1005738f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10057385
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057410
jmp 0x10057385
mov esi, dword [esp + 0x24]
jmp 0x1005734e
push ecx
push edx
call fcn.100812a6
add esp, 8
mov ecx, esi
call fcn.10057420
mov esi, dword [esi]
test esi, esi
je 0x100573b8
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100573b8
lea ecx, [esi + 0xd4]
call fcn.10018500
mov esi, eax
jmp 0x100573ba
xor esi, esi
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
test edi, edi
je 0x100573dd
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100573dd
or esi, 0x38
mov ecx, edi
push esi
call dword [0x100ae570]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
call fcn.1008643f
int3