Function at 0x100557c0
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], 0x2e
mov dl, 0x5a
xor dl, byte [esp + 0xc]
mov al, 0x4c
xor al, byte [esp + 0xc]
mov dh, 0x42
mov byte [esp + 0xd], al
mov ah, 0x40
mov byte [esp + 0xe], dl
xorps xmm0, xmm0
mov dl, byte [esp + 0xc]
mov byte [esp + 0xb], 0x41
xor ah, dl
mov al, byte [esp + 0xb]
xor dh, dl
xor al, dl
mov byte [esp + 9], 0x5d
mov byte [esp + 0x13], al
mov al, byte [esp + 9]
mov byte [esp + 0xa], 0x4b
xor al, dl
mov byte [esp + 0x16], 0
mov cl, 0x71
mov byte [esp + 0x14], al
mov al, byte [esp + 0xa]
mov ch, 0x4d
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 0x10055864
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 0x10055906
test edi, edi
je 0x10055906
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055906
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x2c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055902
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x100558bd
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x100558e9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100558cf
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 0x10055939
mov edi, dword [esp + 0x28]
cmp esi, dword [edi + 0xc4]
jne 0x100558fa
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x2c]
jne 0x100558b0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x10055949
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005593f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056523
jmp 0x1005593f
mov esi, dword [esp + 0x24]
jmp 0x10055908
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov dl, 6
mov dword [esp + 0xc], 0x68726406
mov dword [esp + 0x10], 0x74677159
xor ecx, ecx
mov dword [esp + 0x14], 0x74696f74
mov byte [esp + 0x18], 0
nop word [eax + eax]
lea eax, [esp + 0xd]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10055983
mov dl, byte [esp + 0xc]
jmp 0x10055970
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 0x100559a7
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 0x10055a46
test edi, edi
je 0x10055a46
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055a46
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055a42
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x100559fd
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10055a29
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10055a0f
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 0x10055a79
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10055a3a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100559f0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x10055a89
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055a7f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056528
jmp 0x10055a7f
mov esi, dword [esp + 0x24]
jmp 0x10055a48
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov byte [esp + 0xc], 0x28
mov cl, 0x5c
xor cl, byte [esp + 0xc]
mov al, 0x4a
xor al, byte [esp + 0xc]
mov ch, 0x5a
mov byte [esp + 0xd], al
mov dl, 0x46
mov byte [esp + 0xe], cl
mov dh, 0x47
mov cl, byte [esp + 0xc]
mov ah, 0x77
mov byte [esp + 0xa], 0x4f
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x5d
mov byte [esp + 0x13], al
xor dh, cl
mov al, byte [esp + 9]
xor ah, cl
xor al, cl
mov byte [esp + 0xb], 0x4d
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 0x10055b20
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 0x10055bbc
test edi, edi
je 0x10055bbc
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055bbc
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055bb8
cmp esi, dword [edi + 0xc4]
jne 0x10055b73
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10055b9f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10055b85
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 0x10055bef
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10055bb0
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055b66
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0xc], edi
cmp ecx, 0xf
jbe 0x10055bff
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055bf5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005652d
jmp 0x10055bf5
mov esi, dword [esp + 0x24]
jmp 0x10055bbe
push ecx
push edx
call fcn.1007fa16
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, 0x50
mov byte [esp + 0xd], al
mov dl, 0x53
mov byte [esp + 0xe], cl
mov dh, 0x5c
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], 0x58
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 0x10055c83
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 0x10055d26
test edi, edi
je 0x10055d26
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055d26
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055d22
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10055cdd
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10055d09
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10055cef
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 0x10055d59
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10055d1a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055cd0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x10], edi
cmp ecx, 0xf
jbe 0x10055d69
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055d5f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056532
jmp 0x10055d5f
mov esi, dword [esp + 0x24]
jmp 0x10055d28
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov cl, 0x19
mov byte [esp + 0xc], 0x6d
mov byte [esp + 0x5f], cl
mov al, 0xf
xor al, byte [esp + 0xc]
mov ch, 0x1d
xor cl, byte [esp + 0xc]
mov dl, 3
mov byte [esp + 0xd], al
mov dh, 0x1f
mov byte [esp + 0xe], cl
mov ah, 0x32
mov cl, byte [esp + 0xc]
xorps xmm0, xmm0
mov byte [esp + 0xa], 4
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 8
mov byte [esp + 0x13], al
xor dh, cl
mov al, byte [esp + 9]
xor ah, cl
xor al, cl
mov byte [esp + 0xb], 0x1e
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 0x10055e10
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 0x10055eac
test edi, edi
je 0x10055eac
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055eac
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055ea8
cmp esi, dword [edi + 0xc4]
jne 0x10055e63
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10055e8f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10055e75
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 0x10055edf
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10055ea0
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055e56
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x14], edi
cmp ecx, 0xf
jbe 0x10055eef
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055ee5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056537
jmp 0x10055ee5
mov esi, dword [esp + 0x24]
jmp 0x10055eae
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b44f0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x61696d
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x12
jb 0x10055f05
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 0x10055f37
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 0x10055fd6
test edi, edi
je 0x10055fd6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055fd6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055fd2
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x10055f8d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10055fb9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10055f9f
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 0x10056009
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10055fca
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055f80
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x18], edi
cmp ecx, 0xf
jbe 0x10056019
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005600f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005653c
jmp 0x1005600f
mov esi, dword [esp + 0x24]
jmp 0x10055fd8
push ecx
push edx
call fcn.1007fa16
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 0x10056027
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 0x10056060
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 0x100560fc
test edi, edi
je 0x100560fc
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100560fc
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100560f8
cmp esi, dword [edi + 0xc4]
jne 0x100560b3
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x100560df
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100560c5
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 0x1005612f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100560f0
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100560a6
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x1c], edi
cmp ecx, 0xf
jbe 0x1005613f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10056135
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056541
jmp 0x10056135
mov esi, dword [esp + 0x24]
jmp 0x100560fe
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3d80]
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 0x10056152
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 0x10056184
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 0x10056226
test edi, edi
je 0x10056226
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056226
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056222
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x100561dd
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056209
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100561ef
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 0x10056259
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x1005621a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100561d0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x20], edi
cmp ecx, 0xf
jbe 0x10056269
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005625f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056546
jmp 0x1005625f
mov esi, dword [esp + 0x24]
jmp 0x10056228
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3b60]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x1308121e
mov word [esp + 0x20], 9
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x14
jb 0x10056286
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 0x100562b8
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 0x10056356
test edi, edi
je 0x10056356
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10056356
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056352
nop
cmp esi, dword [edi + 0xc4]
jne 0x1005630d
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x10056339
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1005631f
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 0x10056389
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x1005634a
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056300
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x24], edi
cmp ecx, 0xf
jbe 0x10056399
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005638f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005654b
jmp 0x1005638f
mov esi, dword [esp + 0x24]
jmp 0x10056358
push ecx
push edx
call fcn.1007fa16
add esp, 8
movaps xmm0, xmmword [0x100b3bb0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x202c1023
mov dword [esp + 0x20], 0x3b213a
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x16
jb 0x100563b7
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 0x100563f0
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 0x1005648c
test edi, edi
je 0x1005648c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1005648c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10056488
cmp esi, dword [edi + 0xc4]
jne 0x10056443
call fcn.10084b0f
mov edi, dword [esi + 8]
test edi, edi
je 0x1005646f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10056455
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 0x100564bf
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10056480
call fcn.10084b0f
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10056436
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x28], edi
cmp ecx, 0xf
jbe 0x100564cf
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100564c5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10056550
jmp 0x100564c5
mov esi, dword [esp + 0x24]
jmp 0x1005648e
push ecx
push edx
call fcn.1007fa16
add esp, 8
mov ecx, esi
call fcn.10056560
mov esi, dword [esi]
test esi, esi
je 0x100564f8
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100564f8
lea ecx, [esi + 0xd4]
call fcn.10019710
mov esi, eax
jmp 0x100564fa
xor esi, esi
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
test edi, edi
je 0x1005651d
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1005651d
or esi, 0x38
mov ecx, edi
push 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
int3