Function at 0x1038c28
Capabilities:
Contain obfuscated stackstrings
Write file on windows

Disassembly:
push 0x494
mov eax, 0x104d240
call fcn.0104125b
mov eax, dword [ebp + 0xc]
mov esi, dword [sym.imp.unbcl.dll_public:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::constructor_void_]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x424], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp + 0x28]
lea ecx, [ebp - 0x454]
mov dword [ebp - 0x434], eax
call esi
and dword [ebp - 4], 0
lea ecx, [ebp - 0x44c]
call esi
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 1
call esi
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 2
call esi
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 3
call esi
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 4
call esi
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 5
call esi
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 6
call esi
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 7
call esi
lea ecx, [ebp - 0x494]
mov byte [ebp - 4], 8
call esi
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 9
call esi
mov ebx, dword [sym.imp.unbcl.dll_public_virtual:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::destructor_void_]
mov byte [ebp - 4], 0xa
test edi, edi
je 0x10393e4
xor esi, esi
cmp dword [ebp - 0x424], esi
je 0x10393e6
cmp dword [ebp + 0x14], esi
je 0x1038d15
cmp dword [ebp - 0x43c], esi
je 0x10393e6
cmp dword [ebp + 0x1c], esi
je 0x1038d26
cmp dword [ebp - 0x438], esi
je 0x10393e6
cmp dword [ebp + 0x24], esi
je 0x1038d37
cmp dword [ebp - 0x434], esi
je 0x10393e6
mov esi, 0x104
push esi
lea eax, [ebp - 0x420]
push eax
push edi
call fcn.0103739e
push 0x1007530
lea eax, [ebp - 0x420]
push esi
push eax
call sub.msvcrt.dll_wcscat_s
add esp, 0xc
push esi
lea eax, [ebp - 0x218]
push eax
call fcn.01037442
push 0x1007680
lea eax, [ebp - 0x430]
push edi
push eax
call dword [sym.imp.msvcrt.dll__wfopen_s]
add esp, 0xc
test eax, eax
jne 0x10393e4
push dword [ebp - 0x430]
lea eax, [ebp - 0x498]
push 1
push 2
push eax
mov dword [ebp - 0x498], 0xfeff
call dword [sym.imp.msvcrt.dll_fwrite]
add esp, 0x10
cmp eax, 1
jne 0x10393d7
push 2
push 0x232
call fcn.01024e08
mov esi, dword [sym.imp.unbcl.dll_public:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::constructor_class_UnBCL::String__]
push eax
lea ecx, [ebp - 0x42c]
call esi
mov edi, dword [sym.imp.unbcl.dll_public:_class_UnBCL::SmartPtr_class_UnBCL::String_____thiscall_UnBCL::SmartPtr_class_UnBCL::String_::operator_class_UnBCL::SmartPtr_class_UnBCL::String__const__]
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 0xb
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x23a
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 0xc
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x23b
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 0xd
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x23c
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 0xe
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x23d
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 0xf
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x29a
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 0x10
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x29b
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x11
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x29c
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 0x12
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x29d
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x13
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x29e
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call esi
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x494]
mov byte [ebp - 4], 0x14
call edi
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0xa
call ebx
push 2
push 0x29f
call fcn.01024e08
push eax
lea ecx, [ebp - 0x4a0]
call esi
lea eax, [ebp - 0x4a0]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x47c]
call edi
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 0xa
call ebx
cmp dword [ebp + 0x10], 0
mov eax, 0x100d93c
jne 0x103900f
mov eax, 0x100d934
lea ecx, [ebp - 0x218]
push ecx
push dword [ebp - 0x424]
push eax
push 0x100d718
push dword [ebp - 0x430]
call dword [sym.imp.msvcrt.dll_fwprintf]
add esp, 0x14
test eax, eax
jle 0x10393d7
and dword [ebp - 0x428], 0
cmp dword [ebp + 0x24], 0
mov esi, dword [sym.imp.unbcl.dll_public:_unsigned_short_int_const____thiscall_UnBCL::String::get_CString_void_const]
mov edi, dword [sym.imp.unbcl.dll_public:_class_UnBCL::String____thiscall_UnBCL::SmartPtr_class_UnBCL::String_::operator___void_const]
jbe 0x103921f
mov eax, dword [ebp - 0x434]
add eax, 0x24
mov dword [ebp - 0x424], eax
jmp 0x103906d
mov eax, dword [ebp - 0x424]
mov edx, dword [eax - 4]
cmp edx, dword [ebp + 0x14]
jae 0x10393d7
mov ecx, dword [eax]
push edx
push ecx
push dword [ebp - 0x428]
test ecx, ecx
push dword [eax - 8]
lea ecx, [ebp - 0x474]
push dword [eax - 0x18]
jl 0x1039141
call edi
mov ecx, eax
call esi
push eax
lea ecx, [ebp - 0x46c]
call edi
mov ecx, eax
call esi
push eax
lea ecx, [ebp - 0x454]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax - 0xc]
lea ecx, [ebp - 0x444]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax - 0x10]
lea ecx, [ebp - 0x45c]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax - 0x14]
lea ecx, [ebp - 0x44c]
call edi
mov ecx, eax
call esi
push eax
lea ecx, [ebp - 0x464]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax - 0x1c]
lea ecx, [ebp - 0x420]
push dword [eax - 0x20]
push dword [eax - 0x24]
push ecx
lea ecx, [ebp - 0x218]
push ecx
push dword [ebp - 0x428]
push 0x100d6f0
push dword [0x10591fc]
push dword [eax]
push 0x100d6d8
jmp 0x10391e7
call edi
mov ecx, eax
call esi
push eax
lea ecx, [ebp - 0x46c]
call edi
mov ecx, eax
call esi
push eax
lea ecx, [ebp - 0x454]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax - 0xc]
lea ecx, [ebp - 0x444]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax - 0x10]
lea ecx, [ebp - 0x45c]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax - 0x14]
lea ecx, [ebp - 0x44c]
call edi
mov ecx, eax
call esi
push eax
lea ecx, [ebp - 0x464]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax - 0x1c]
lea ecx, [ebp - 0x420]
push dword [eax - 0x20]
push dword [eax - 0x24]
push ecx
lea ecx, [ebp - 0x218]
push ecx
push dword [ebp - 0x428]
push 0x100d6f0
push dword [0x10591e0]
push dword [eax - 4]
push 0x100d6b8
push 0x100d0d8
push dword [ebp - 0x430]
call dword [sym.imp.msvcrt.dll_fwprintf]
add esp, 0x6c
test eax, eax
jle 0x10393d7
inc dword [ebp - 0x428]
mov eax, dword [ebp - 0x428]
add dword [ebp - 0x424], 0x28
cmp eax, dword [ebp + 0x24]
jb 0x1039067
push 0x100d048
push dword [ebp - 0x430]
call dword [sym.imp.msvcrt.dll_fwprintf]
and dword [ebp - 0x428], 0
cmp dword [ebp + 0x1c], 0
pop ecx
pop ecx
jbe 0x10392df
mov eax, dword [ebp - 0x438]
add eax, 8
mov dword [ebp - 0x424], eax
jmp 0x103925a
mov eax, dword [ebp - 0x424]
push dword [eax]
lea ecx, [ebp - 0x48c]
push dword [ebp - 0x428]
push dword [eax - 4]
call edi
mov ecx, eax
call esi
push eax
lea ecx, [ebp - 0x484]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax - 8]
lea ecx, [ebp - 0x218]
push ecx
push dword [ebp - 0x428]
push 0x100d6d8
push dword [0x10591e0]
push dword [eax]
push 0x100d6b8
push 0x100cd98
push dword [ebp - 0x430]
call dword [sym.imp.msvcrt.dll_fwprintf]
add esp, 0x38
test eax, eax
jle 0x10393d7
inc dword [ebp - 0x428]
mov eax, dword [ebp - 0x428]
add dword [ebp - 0x424], 0xc
cmp eax, dword [ebp + 0x1c]
jb 0x1039254
push 0x100cd00
push dword [ebp - 0x430]
call dword [sym.imp.msvcrt.dll_fwprintf]
and dword [ebp - 0x428], 0
cmp dword [ebp + 0x14], 0
pop ecx
pop ecx
jbe 0x103938d
mov eax, dword [ebp - 0x43c]
add eax, 4
mov dword [ebp - 0x424], eax
push dword [ebp - 0x428]
mov eax, dword [ebp - 0x424]
push dword [eax + 4]
lea ecx, [ebp - 0x47c]
call edi
mov ecx, eax
call esi
push eax
lea ecx, [ebp - 0x494]
call edi
mov ecx, eax
call esi
push eax
mov eax, dword [ebp - 0x424]
push dword [eax]
push dword [eax - 4]
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x428]
push 0x100d6b8
push 0x100ccf0
push 0x100ca08
push dword [ebp - 0x430]
call dword [sym.imp.msvcrt.dll_fwprintf]
add esp, 0x30
test eax, eax
jle 0x10393d7
inc dword [ebp - 0x428]
mov eax, dword [ebp - 0x428]
add dword [ebp - 0x424], 0xc
cmp eax, dword [ebp + 0x14]
jb 0x1039312
push dword [ebp + 0x14]
mov esi, dword [sym.imp.msvcrt.dll_fwprintf]
push 0x100c9ec
push dword [ebp + 0x1c]
push 0x100c9d4
push dword [ebp + 0x24]
push 0x100c9c0
push 0x100ccf0
push 0x100c900
push dword [ebp - 0x430]
call esi
add esp, 0x24
test eax, eax
jle 0x10393d7
push 0x100c6e8
push dword [ebp - 0x430]
call esi
pop ecx
pop ecx
test eax, eax
jg 0x1039424
push dword [ebp - 0x430]
call dword [sym.imp.msvcrt.dll_fclose]
pop ecx
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sub.WDSCORE.dll_CurrentIP
push eax
push 0x100c6a8
push 0x100bd50
push 0xb1b
push esi
push 0x10019a4
push esi
push 0x100c674
push 0x3000000
call fcn.0101d7c6
pop ecx
pop ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
jmp 0x1039434
push dword [ebp - 0x430]
call dword [sym.imp.msvcrt.dll_fclose]
xor esi, esi
pop ecx
inc esi
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 9
call ebx
lea ecx, [ebp - 0x494]
mov byte [ebp - 4], 8
call ebx
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 7
call ebx
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 6
call ebx
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 5
call ebx
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 4
call ebx
lea ecx, [ebp - 0x464]
mov byte [ebp - 4], 3
call ebx
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 2
call ebx
lea ecx, [ebp - 0x45c]
mov byte [ebp - 4], 1
call ebx
lea ecx, [ebp - 0x44c]
mov byte [ebp - 4], 0
call ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x454]
call ebx
mov eax, esi
call fcn.010412ed
ret 0x24