Function at 0x10054fb0
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], 0x6b
mov dl, 0x1f
xor dl, byte [esp + 0xc]
mov al, 9
xor al, byte [esp + 0xc]
mov dh, 7
mov byte [esp + 0xd], al
mov ah, 5
mov byte [esp + 0xe], dl
xorps xmm0, xmm0
mov dl, byte [esp + 0xc]
mov byte [esp + 0xb], 4
xor ah, dl
mov al, byte [esp + 0xb]
xor dh, dl
xor al, dl
mov byte [esp + 9], 0x18
mov byte [esp + 0x13], al
mov al, byte [esp + 9]
mov byte [esp + 0xa], 0xe
xor al, dl
mov byte [esp + 0x16], 0
mov cl, 0x34
mov byte [esp + 0x14], al
mov al, byte [esp + 0xa]
mov ch, 8
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 0x10055054
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x28], edi
je 0x100550f6
test edi, edi
je 0x100550f6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100550f6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x2c], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100550f2
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x100550ad
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x100550d9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100550bf
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 0x10055129
mov edi, dword [esp + 0x28]
cmp esi, dword [edi + 0xc4]
jne 0x100550ea
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x2c]
jne 0x100550a0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 4], edi
cmp ecx, 0xf
jbe 0x10055139
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005512f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d13
jmp 0x1005512f
mov esi, dword [esp + 0x24]
jmp 0x100550f8
push ecx
push edx
call fcn.1007fa46
add esp, 8
mov dl, 0x6c
mov dword [esp + 0xc], 0x2180e6c
mov dword [esp + 0x10], 0x1e0d1b33
xor ecx, ecx
mov dword [esp + 0x14], 0x1e03051e
mov byte [esp + 0x18], 0
nop word [eax + eax]
lea eax, [esp + 0xd]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x10055173
mov dl, byte [esp + 0xc]
jmp 0x10055160
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 0x10055197
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10055236
test edi, edi
je 0x10055236
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055236
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055232
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x100551ed
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x10055219
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100551ff
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 0x10055269
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x1005522a
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100551e0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 8], edi
cmp ecx, 0xf
jbe 0x10055279
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005526f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d18
jmp 0x1005526f
mov esi, dword [esp + 0x24]
jmp 0x10055238
push ecx
push edx
call fcn.1007fa46
add esp, 8
mov byte [esp + 0xc], 0x36
mov cl, 0x42
xor cl, byte [esp + 0xc]
mov al, 0x54
xor al, byte [esp + 0xc]
mov ch, 0x44
mov byte [esp + 0xd], al
mov dl, 0x58
mov byte [esp + 0xe], cl
mov dh, 0x59
mov cl, byte [esp + 0xc]
mov ah, 0x69
mov byte [esp + 0xa], 0x51
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x43
mov byte [esp + 0x13], al
xor dh, cl
mov al, byte [esp + 9]
xor ah, cl
xor al, cl
mov byte [esp + 0xb], 0x53
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 0x10055310
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100553ac
test edi, edi
je 0x100553ac
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100553ac
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100553a8
cmp esi, dword [edi + 0xc4]
jne 0x10055363
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x1005538f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10055375
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 0x100553df
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100553a0
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055356
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0xc], edi
cmp ecx, 0xf
jbe 0x100553ef
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100553e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d1d
jmp 0x100553e5
mov esi, dword [esp + 0x24]
jmp 0x100553ae
push ecx
push edx
call fcn.1007fa46
add esp, 8
mov byte [esp + 0xc], 0xf
mov cl, 0x7b
xor cl, byte [esp + 0xc]
mov al, 0x6d
xor al, byte [esp + 0xc]
mov ch, 0x62
mov byte [esp + 0xd], al
mov dl, 0x61
mov byte [esp + 0xe], cl
mov dh, 0x6e
mov cl, byte [esp + 0xc]
mov ah, 0x50
mov byte [esp + 0xa], 0x68
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x6a
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 0x10055473
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10055516
test edi, edi
je 0x10055516
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055516
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055512
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x100554cd
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x100554f9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100554df
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 0x10055549
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x1005550a
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100554c0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x10], edi
cmp ecx, 0xf
jbe 0x10055559
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1005554f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d22
jmp 0x1005554f
mov esi, dword [esp + 0x24]
jmp 0x10055518
push ecx
push edx
call fcn.1007fa46
add esp, 8
mov cl, 0x47
mov byte [esp + 0xc], 0x33
mov byte [esp + 0x5f], cl
mov al, 0x51
xor al, byte [esp + 0xc]
mov ch, 0x43
xor cl, byte [esp + 0xc]
mov dl, 0x5d
mov byte [esp + 0xd], al
mov dh, 0x41
mov byte [esp + 0xe], cl
mov ah, 0x6c
mov cl, byte [esp + 0xc]
xorps xmm0, xmm0
mov byte [esp + 0xa], 0x5a
xor dl, cl
mov al, byte [esp + 0xa]
xor ch, cl
xor al, cl
mov byte [esp + 9], 0x56
mov byte [esp + 0x13], al
xor dh, cl
mov al, byte [esp + 9]
xor ah, cl
xor al, cl
mov byte [esp + 0xb], 0x40
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 0x10055600
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x1005569c
test edi, edi
je 0x1005569c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1005569c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055698
cmp esi, dword [edi + 0xc4]
jne 0x10055653
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x1005567f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10055665
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 0x100556cf
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10055690
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055646
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x14], edi
cmp ecx, 0xf
jbe 0x100556df
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100556d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d27
jmp 0x100556d5
mov esi, dword [esp + 0x24]
jmp 0x1005569e
push ecx
push edx
call fcn.1007fa46
add esp, 8
movaps xmm0, xmmword [0x100afa50]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x70787c
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x12
jb 0x100556f5
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 0x10055727
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100557c6
test edi, edi
je 0x100557c6
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100557c6
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100557c2
nop dword [eax]
cmp esi, dword [edi + 0xc4]
jne 0x1005577d
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x100557a9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1005578f
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 0x100557f9
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100557ba
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055770
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x18], edi
cmp ecx, 0xf
jbe 0x10055809
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100557ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d2c
jmp 0x100557ff
mov esi, dword [esp + 0x24]
jmp 0x100557c8
push ecx
push edx
call fcn.1007fa46
add esp, 8
movaps xmm0, xmmword [str.RuACFFuIE_D]
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 0x10055817
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 0x10055850
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x100558ec
test edi, edi
je 0x100558ec
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100558ec
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x100558e8
cmp esi, dword [edi + 0xc4]
jne 0x100558a3
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x100558cf
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100558b5
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 0x1005591f
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x100558e0
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055896
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x1c], edi
cmp ecx, 0xf
jbe 0x1005592f
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055925
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d31
jmp 0x10055925
mov esi, dword [esp + 0x24]
jmp 0x100558ee
push ecx
push edx
call fcn.1007fa46
add esp, 8
movaps xmm0, xmmword [0x100af340]
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 0x10055942
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 0x10055974
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10055a16
test edi, edi
je 0x10055a16
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055a16
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055a12
nop word [eax + eax]
cmp esi, dword [edi + 0xc4]
jne 0x100559cd
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x100559f9
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x100559df
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 0x10055a49
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10055a0a
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x100559c0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x20], edi
cmp ecx, 0xf
jbe 0x10055a59
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055a4f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d36
jmp 0x10055a4f
mov esi, dword [esp + 0x24]
jmp 0x10055a18
push ecx
push edx
call fcn.1007fa46
add esp, 8
movaps xmm0, xmmword [0x100af690]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x7a617b77
mov word [esp + 0x20], 0x60
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x14
jb 0x10055a76
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 0x10055aa8
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10055b46
test edi, edi
je 0x10055b46
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055b46
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055b42
nop
cmp esi, dword [edi + 0xc4]
jne 0x10055afd
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x10055b29
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10055b0f
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 0x10055b79
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10055b3a
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055af0
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x24], edi
cmp ecx, 0xf
jbe 0x10055b89
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055b7f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d3b
jmp 0x10055b7f
mov esi, dword [esp + 0x24]
jmp 0x10055b48
push ecx
push edx
call fcn.1007fa46
add esp, 8
movaps xmm0, xmmword [0x100af1f0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x2a261a29
mov dword [esp + 0x20], 0x312b30
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x16
jb 0x10055ba7
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 0x10055be0
sub ecx, edx
lea eax, [esp + 0xd]
push ecx
push eax
lea ecx, [esp + 0x38]
call fcn.10002540
cmp dword [esp + 0x40], 0
mov edi, dword [esi]
mov dword [esp + 0x2c], edi
je 0x10055c7c
test edi, edi
je 0x10055c7c
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055c7c
mov eax, dword [edi + 0xc4]
mov dword [esp + 0x28], eax
mov esi, dword [eax]
cmp esi, eax
je 0x10055c78
cmp esi, dword [edi + 0xc4]
jne 0x10055c33
call fcn.10084bcf
mov edi, dword [esi + 8]
test edi, edi
je 0x10055c5f
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x10055c45
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 0x10055caf
mov edi, dword [esp + 0x2c]
cmp esi, dword [edi + 0xc4]
jne 0x10055c70
call fcn.10084bcf
mov esi, dword [esi]
cmp esi, dword [esp + 0x28]
jne 0x10055c26
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x28], edi
cmp ecx, 0xf
jbe 0x10055cbf
mov edx, dword [esp + 0x30]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10055cb5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10055d40
jmp 0x10055cb5
mov esi, dword [esp + 0x24]
jmp 0x10055c7e
push ecx
push edx
call fcn.1007fa46
add esp, 8
mov ecx, esi
call fcn.10055d50
mov esi, dword [esi]
test esi, esi
je 0x10055ce8
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055ce8
lea ecx, [esi + 0xd4]
call fcn.100184a0
mov esi, eax
jmp 0x10055cea
xor esi, esi
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
test edi, edi
je 0x10055d0d
push 4
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10055d0d
or esi, 0x38
mov ecx, edi
push esi
call dword [0x100ae558]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.10084bdf
call fcn.10084bdf
call fcn.10084bdf
call fcn.10084bdf
call fcn.10084bdf
call fcn.10084bdf
call fcn.10084bdf
call fcn.10084bdf
call fcn.10084bdf
call fcn.10084bdf
int3