Function at 0x1003c400
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
movaps xmm0, xmmword [str.Y_r___]
xor edx, edx
push ebx
push esi
mov ebx, ecx
push edi
mov dword [esp + 0x44], ebx
movups xmmword [esp + 0x10], xmm0
mov al, byte [esp + edx + 0x11]
xor al, byte [esp + 0x10]
mov byte [esp + edx + 0x11], al
inc edx
cmp edx, 0xe
jb 0x1003c420
xorps xmm0, xmm0
mov byte [esp + 0x1f], 0
lea ecx, [esp + 0x11]
mov dword [esp + 0x28], 0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], 0
lea edx, [ecx + 1]
mov dword [esp + 0x40], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c460
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10003370
cmp dword [esp + 0x3c], 0
mov ebx, dword [ebx + 0xc]
mov esi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
je 0x1003c4f9
test ebx, ebx
je 0x1003c4f9
push 4
push ebx
call esi
test eax, eax
jne 0x1003c4f9
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x24], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c4f3
cmp esi, dword [ebx + 0xc4]
jne 0x1003c4b2
call fcn.1008fc90
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c4de
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c4c4
mov ecx, dword [ecx]
cmp dword [esp + 0x40], 0xf
lea eax, [esp + 0x2c]
cmova eax, dword [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c554
cmp esi, dword [ebx + 0xc4]
jne 0x1003c4eb
call fcn.1008fc90
mov esi, dword [esi]
cmp esi, dword [esp + 0x24]
jne 0x1003c4a5
mov esi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
xor edi, edi
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x28]
mov dword [ebx], edi
call fcn.10002f50
mov eax, dword [esp + 0x28]
push 8
push eax
mov dword [esp + 0x30], 0
call fcn.100891b0
add esp, 8
mov dword [esp + 0x10], 0x6c714014
mov dl, 0x14
mov dword [esp + 0x14], 0x75564b60
mov dword [esp + 0x18], 0x777a7578
xor ecx, ecx
mov word [esp + 0x1c], 0x71
xor byte [esp + ecx + 0x11], dl
inc ecx
cmp ecx, 0xc
jae 0x1003c55c
mov dl, byte [esp + 0x10]
jmp 0x1003c544
mov esi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
jmp 0x1003c4fb
xorps xmm0, xmm0
mov byte [esp + 0x1d], 0
lea ecx, [esp + 0x11]
mov dword [esp + 0x28], 0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], 0
lea edx, [ecx + 1]
mov dword [esp + 0x40], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c588
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10003370
cmp dword [esp + 0x3c], 0
mov ebx, dword [ebx + 0xc]
je 0x1003c615
test ebx, ebx
je 0x1003c615
push 4
push ebx
call esi
test eax, eax
jne 0x1003c615
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x24], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c615
cmp esi, dword [ebx + 0xc4]
jne 0x1003c5d4
call fcn.1008fc90
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c600
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c5e6
mov ecx, dword [ecx]
cmp dword [esp + 0x40], 0xf
lea eax, [esp + 0x2c]
cmova eax, dword [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c617
cmp esi, dword [ebx + 0xc4]
jne 0x1003c60d
call fcn.1008fc90
mov esi, dword [esi]
cmp esi, dword [esp + 0x24]
jne 0x1003c5c7
xor edi, edi
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x28]
mov dword [ebx + 4], edi
call fcn.10002f50
mov eax, dword [esp + 0x28]
push 8
push eax
mov dword [esp + 0x30], 0
call fcn.100891b0
add esp, 8
mov dword [esp + 0x10], 0x554f793b
mov dl, 0x3b
mov dword [esp + 0x14], 0x494f6864
mov dword [esp + 0x18], 0x4f5c555e
xor ecx, ecx
mov word [esp + 0x1c], 0x53
xor byte [esp + ecx + 0x11], dl
inc ecx
cmp ecx, 0xc
jae 0x1003c671
mov dl, byte [esp + 0x10]
jmp 0x1003c661
xorps xmm0, xmm0
mov byte [esp + 0x1d], 0
lea ecx, [esp + 0x11]
mov dword [esp + 0x28], 0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], 0
lea edx, [ecx + 1]
mov dword [esp + 0x40], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c6a0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10003370
cmp dword [esp + 0x3c], 0
mov ebx, dword [ebx + 0xc]
je 0x1003c731
test ebx, ebx
je 0x1003c731
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c731
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x24], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c731
cmp esi, dword [ebx + 0xc4]
jne 0x1003c6f0
call fcn.1008fc90
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c71c
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c702
mov ecx, dword [ecx]
cmp dword [esp + 0x40], 0xf
lea eax, [esp + 0x2c]
cmova eax, dword [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c733
cmp esi, dword [ebx + 0xc4]
jne 0x1003c729
call fcn.1008fc90
mov esi, dword [esi]
cmp esi, dword [esp + 0x24]
jne 0x1003c6e3
xor edi, edi
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x28]
mov dword [ebx + 0x10], edi
call fcn.10002f50
mov eax, dword [esp + 0x28]
push 8
push eax
mov dword [esp + 0x30], 0
call fcn.100891b0
add esp, 8
mov dword [esp + 0x10], 0x68724406
mov dl, 6
mov dword [esp + 0x14], 0x67725559
mov dword [esp + 0x18], 0x67686f6b
xor ecx, ecx
mov byte [esp + 0x1c], 0
nop dword [eax + eax]
xor byte [esp + ecx + 0x11], dl
inc ecx
cmp ecx, 0xb
jae 0x1003c790
mov dl, byte [esp + 0x10]
jmp 0x1003c780
xorps xmm0, xmm0
mov byte [esp + 0x1c], 0
lea ecx, [esp + 0x11]
mov dword [esp + 0x28], 0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], 0
lea edx, [ecx + 1]
mov dword [esp + 0x40], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c7c0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10003370
cmp dword [esp + 0x3c], 0
mov ebx, dword [ebx + 0xc]
je 0x1003c851
test ebx, ebx
je 0x1003c851
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c851
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x24], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c851
cmp esi, dword [ebx + 0xc4]
jne 0x1003c810
call fcn.1008fc90
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c83c
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c822
mov ecx, dword [ecx]
cmp dword [esp + 0x40], 0xf
lea eax, [esp + 0x2c]
cmova eax, dword [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c853
cmp esi, dword [ebx + 0xc4]
jne 0x1003c849
call fcn.1008fc90
mov esi, dword [esi]
cmp esi, dword [esp + 0x24]
jne 0x1003c803
xor edi, edi
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x28]
mov dword [ebx + 0x14], edi
call fcn.10002f50
mov eax, dword [esp + 0x28]
push 8
push eax
mov dword [esp + 0x30], 0
call fcn.100891b0
add esp, 8
mov dword [esp + 0x10], 0x4c566022
mov dl, 0x22
mov dword [esp + 0x14], 0x5a47667d
mov dword [esp + 0x18], 0x4b504756
xor ecx, ecx
mov word [esp + 0x1c], 0x5b56
mov byte [esp + 0x1e], 0
xor byte [esp + ecx + 0x11], dl
inc ecx
cmp ecx, 0xd
jae 0x1003c8b2
mov dl, byte [esp + 0x10]
jmp 0x1003c8a2
xorps xmm0, xmm0
mov byte [esp + 0x1e], 0
lea ecx, [esp + 0x11]
mov dword [esp + 0x28], 0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], 0
lea edx, [ecx + 1]
mov dword [esp + 0x40], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c8e0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10003370
cmp dword [esp + 0x3c], 0
mov ebx, dword [ebx + 0xc]
je 0x1003c971
test ebx, ebx
je 0x1003c971
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003c971
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x24], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003c971
cmp esi, dword [ebx + 0xc4]
jne 0x1003c930
call fcn.1008fc90
mov edi, dword [esi + 8]
test edi, edi
je 0x1003c95c
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003c942
mov ecx, dword [ecx]
cmp dword [esp + 0x40], 0xf
lea eax, [esp + 0x2c]
cmova eax, dword [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003c973
cmp esi, dword [ebx + 0xc4]
jne 0x1003c969
call fcn.1008fc90
mov esi, dword [esi]
cmp esi, dword [esp + 0x24]
jne 0x1003c923
xor edi, edi
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x28]
mov dword [ebx + 0x18], edi
call fcn.10002f50
mov eax, dword [esp + 0x28]
push 8
push eax
mov dword [esp + 0x30], 0
call fcn.100891b0
movaps xmm0, xmmword [0x100e9a00]
add esp, 8
movups xmmword [esp + 0x10], xmm0
mov byte [esp + 0x20], 0
xor ecx, ecx
nop dword [eax]
mov al, byte [esp + ecx + 0x11]
xor al, byte [esp + 0x10]
mov byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0xf
jb 0x1003c9b0
xorps xmm0, xmm0
mov byte [esp + 0x20], 0
lea ecx, [esp + 0x11]
mov dword [esp + 0x28], 0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], 0
lea edx, [ecx + 1]
mov dword [esp + 0x40], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003c9f0
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10003370
cmp dword [esp + 0x3c], 0
mov ebx, dword [ebx + 0xc]
je 0x1003ca81
test ebx, ebx
je 0x1003ca81
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003ca81
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x24], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003ca81
cmp esi, dword [ebx + 0xc4]
jne 0x1003ca40
call fcn.1008fc90
mov edi, dword [esi + 8]
test edi, edi
je 0x1003ca6c
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003ca52
mov ecx, dword [ecx]
cmp dword [esp + 0x40], 0xf
lea eax, [esp + 0x2c]
cmova eax, dword [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003ca83
cmp esi, dword [ebx + 0xc4]
jne 0x1003ca79
call fcn.1008fc90
mov esi, dword [esi]
cmp esi, dword [esp + 0x24]
jne 0x1003ca33
xor edi, edi
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x28]
mov dword [ebx + 0x1c], edi
call fcn.10002f50
mov eax, dword [esp + 0x28]
push 8
push eax
mov dword [esp + 0x30], 0
call fcn.100891b0
movaps xmm0, xmmword [0x100e9380]
add esp, 8
movups xmmword [esp + 0x10], xmm0
mov word [esp + 0x20], 0x4d
xor ecx, ecx
nop
mov al, byte [esp + ecx + 0x11]
xor al, byte [esp + 0x10]
mov byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 0x10
jb 0x1003cac0
xorps xmm0, xmm0
mov byte [esp + 0x21], 0
lea ecx, [esp + 0x11]
mov dword [esp + 0x28], 0
movups xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x3c], 0
lea edx, [ecx + 1]
mov dword [esp + 0x40], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003cb00
sub ecx, edx
lea eax, [esp + 0x11]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.10003370
cmp dword [esp + 0x3c], 0
mov ebx, dword [ebx + 0xc]
je 0x1003cb91
test ebx, ebx
je 0x1003cb91
push 4
push ebx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1003cb91
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x24], eax
mov esi, dword [eax]
cmp esi, eax
je 0x1003cb91
cmp esi, dword [ebx + 0xc4]
jne 0x1003cb50
call fcn.1008fc90
mov edi, dword [esi + 8]
test edi, edi
je 0x1003cb7c
cmp dword [edi + 0x78], 0x10
lea ecx, [edi + 0x64]
jb 0x1003cb62
mov ecx, dword [ecx]
cmp dword [esp + 0x40], 0xf
lea eax, [esp + 0x2c]
cmova eax, dword [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x1003cb93
cmp esi, dword [ebx + 0xc4]
jne 0x1003cb89
call fcn.1008fc90
mov esi, dword [esi]
cmp esi, dword [esp + 0x24]
jne 0x1003cb43
xor edi, edi
mov ebx, dword [esp + 0x44]
lea ecx, [esp + 0x28]
mov dword [ebx + 0x20], edi
call fcn.10002f50
mov eax, dword [esp + 0x28]
push 8
push eax
mov dword [esp + 0x30], 0
call fcn.100891b0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret