Function at 0x1000f730
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x84
lea eax, [esp + 0x20]
lea edx, [ecx + 8]
push esi
push edi
xor edi, edi
push eax
mov eax, dword [ecx + 4]
push 0xf003f
push edi
push edx
push eax
call dword [fcn.10003d00]
test eax, eax
jne 0x1000faf2
lea ecx, [esp + 0x78]
mov byte [esp + 0x54], al
lea edx, [esp + 0x48]
mov al, 0x79
push ecx
push edx
mov byte [esp + 0x50], 0x41
mov byte [esp + 0x51], 0x44
mov byte [esp + 0x52], 0x56
mov byte [esp + 0x53], 0x41
mov byte [esp + 0x54], 0x50
mov byte [esp + 0x55], 0x49
mov byte [esp + 0x56], 0x33
mov byte [esp + 0x57], 0x32
mov byte [esp + 0x58], 0x2e
mov byte [esp + 0x59], 0x64
mov byte [esp + 0x5a], 0x6c
mov byte [esp + 0x5b], 0x6c
mov byte [esp + 0x80], 0x52
mov byte [esp + 0x81], 0x65
mov byte [esp + 0x82], 0x67
mov byte [esp + 0x83], 0x51
mov byte [esp + 0x84], 0x75
mov byte [esp + 0x85], 0x65
mov byte [esp + 0x86], 0x72
mov byte [esp + 0x87], al
mov byte [esp + 0x88], 0x49
mov byte [esp + 0x89], 0x6e
mov byte [esp + 0x8a], 0x66
mov byte [esp + 0x8b], 0x6f
mov byte [esp + 0x8c], 0x4b
mov byte [esp + 0x8d], 0x65
mov byte [esp + 0x8e], al
mov byte [esp + 0x8f], 0x41
mov byte [esp + 0x90], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
lea ecx, [esp + 0x24]
push edi
push ecx
lea edx, [esp + 0x30]
lea ecx, [esp + 0x28]
push edx
push ecx
lea edx, [esp + 0x48]
push edi
lea ecx, [esp + 0x50]
push edx
mov edx, dword [esp + 0x44]
push ecx
push edi
push edi
push edi
push edx
call eax
test eax, eax
je 0x1000f86f
pop edi
xor eax, eax
pop esi
add esp, 0x84
ret
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jbe 0x1000faf2
mov esi, dword [esp + 0x20]
test esi, esi
jbe 0x1000faf2
mov eax, dword [esp + 8]
test eax, eax
jbe 0x1000faf2
mov eax, dword [esp + 0x24]
inc esi
add eax, 0x64
mov dword [esp + 0x10], esi
mov dword [esp + 0x44], esi
push ebx
lea esi, [esi + eax + 1]
push ebp
imul esi, ecx
add esi, 0x16
mov dword [esp + 0x10], eax
push esi
push 0x40
mov ebx, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x40], esi
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ecx, esi
mov edx, eax
mov ebp, ecx
xor eax, eax
mov edi, edx
mov dword [esp + 0x34], edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, ebp
and ecx, 3
inc edx
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x48]
mov byte [edx - 1], 0x87
mov eax, dword [esp + 0x4c]
mov dword [edx], ebx
mov edi, dword [sym.imp.MSVCRT.dll_malloc]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov ecx, dword [esp + 0x10]
push ecx
call edi
mov edx, dword [esp + 0x1c]
mov ebp, eax
push edx
call edi
mov ebx, eax
mov eax, dword [esp + 0x3c]
add eax, 0xd
add esp, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
test eax, eax
mov dword [esp + 0x20], 0
jbe 0x1000fad1
mov ecx, dword [esp + 0x10]
xor eax, eax
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov byte [esp + 0x60], 0x41
and ecx, 3
mov byte [esp + 0x61], 0x44
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x18]
xor eax, eax
mov edx, ecx
mov edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
lea edx, [esp + 0x70]
and ecx, 3
push edx
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
inc eax
add ecx, 0x64
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x64]
push eax
mov dword [esp + 0x18], ecx
mov byte [esp + 0x6a], 0x56
mov byte [esp + 0x6b], 0x41
mov byte [esp + 0x6c], 0x50
mov byte [esp + 0x6d], 0x49
mov byte [esp + 0x6e], 0x33
mov byte [esp + 0x6f], 0x32
mov byte [esp + 0x70], 0x2e
mov byte [esp + 0x71], 0x64
mov byte [esp + 0x72], 0x6c
mov byte [esp + 0x73], 0x6c
mov byte [esp + 0x74], 0
mov byte [esp + 0x78], 0x52
mov byte [esp + 0x79], 0x65
mov byte [esp + 0x7a], 0x67
mov byte [esp + 0x7b], 0x45
mov byte [esp + 0x7c], 0x6e
mov byte [esp + 0x7d], 0x75
mov byte [esp + 0x7e], 0x6d
mov byte [esp + 0x7f], 0x56
mov byte [esp + 0x80], 0x61
mov byte [esp + 0x81], 0x6c
mov byte [esp + 0x82], 0x75
mov byte [esp + 0x83], 0x65
mov byte [esp + 0x84], 0x41
mov byte [esp + 0x85], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x1c]
push ecx
push ebx
push edx
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x1c]
push 0
push ecx
mov ecx, dword [esp + 0x44]
push ebp
push edx
push ecx
call eax
mov eax, dword [esp + 0x1c]
cmp eax, 1
mov eax, dword [esp + 0x14]
jne 0x1000fa4e
mov byte [eax], 0
cmp dword [esp + 0x1c], 4
jne 0x1000fa58
mov byte [eax], 1
cmp dword [esp + 0x1c], 3
jne 0x1000fa62
mov byte [eax], 2
cmp dword [esp + 0x1c], 2
jne 0x1000fa6c
mov byte [eax], 3
inc eax
mov edi, ebp
mov dword [esp + 0x14], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x14]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
add eax, esi
mov edx, ecx
mov esi, ebx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
mov esi, edx
add eax, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jb 0x1000f92f
mov esi, dword [esp + 0x38]
mov edi, dword [sym.imp.MSVCRT.dll_free]
push ebp
call edi
push ebx
call edi
mov eax, dword [esp + 0x3c]
add esp, 8
push 0x42
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LocalReAlloc]
pop ebp
mov edi, eax
pop ebx
mov eax, edi
pop edi
pop esi
add esp, 0x84
ret