Function at 0x103b066
Capabilities:
Write file on windows

Disassembly:
push 0x438
mov eax, 0x104d347
call fcn.0104125b
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp + 0x18]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x430], esi
mov dword [ebp - 0x440], eax
call dword [sym.imp.unbcl.dll_public:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::constructor_void_]
xor eax, eax
mov dword [ebp - 4], eax
cmp ebx, eax
je 0x103b3c8
cmp edi, eax
je 0x103b3c8
cmp dword [ebp + 0x14], eax
je 0x103b0bb
cmp esi, eax
je 0x103b3c8
cmp dword [ebp + 0x1c], eax
je 0x103b0cc
cmp dword [ebp - 0x440], eax
je 0x103b3c8
mov esi, 0x104
push esi
lea eax, [ebp - 0x420]
push eax
push ebx
call fcn.0103739e
push esi
lea eax, [ebp - 0x218]
push eax
call fcn.01037442
push 0x1007680
lea eax, [ebp - 0x424]
push ebx
push eax
call dword [sym.imp.msvcrt.dll__wfopen_s]
add esp, 0xc
test eax, eax
jne 0x103b3c8
push dword [ebp - 0x424]
lea eax, [ebp - 0x444]
push 1
push 2
push eax
mov dword [ebp - 0x444], 0xfeff
call dword [sym.imp.msvcrt.dll_fwrite]
add esp, 0x10
cmp eax, 1
jne 0x103b3bb
push 2
push 0x233
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call dword [sym.imp.unbcl.dll_public:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::constructor_class_UnBCL::String__]
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp - 0x43c]
mov byte [ebp - 4], 1
call 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 ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0
call dword [sym.imp.unbcl.dll_public_virtual:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::destructor_void_]
xor ebx, ebx
mov eax, 0x100d93c
cmp dword [ebp + 0x10], ebx
jne 0x103b188
mov eax, 0x100d934
mov esi, dword [sym.imp.msvcrt.dll_fwprintf]
lea ecx, [ebp - 0x218]
push ecx
push edi
push eax
push 0x100f128
push dword [ebp - 0x424]
call esi
add esp, 0x14
cmp eax, ebx
jle 0x103b3bb
cmp dword [ebp + 0x14], ebx
mov dword [ebp - 0x428], ebx
mov ebx, dword [sym.imp.unbcl.dll_public:_unsigned_short_int_const____thiscall_UnBCL::String::get_CString_void_const]
jbe 0x103b22f
mov edi, dword [ebp - 0x430]
add edi, 8
cmp dword [edi + 4], 0
je 0x103b1e1
lea ecx, [ebp - 0x43c]
call dword [sym.imp.unbcl.dll_public:_class_UnBCL::String____thiscall_UnBCL::SmartPtr_class_UnBCL::String_::operator___void_const]
mov ecx, eax
call ebx
jmp 0x103b1e6
mov eax, 0x1001dc8
push dword [edi]
push eax
push dword [edi - 4]
lea eax, [ebp - 0x420]
push dword [edi - 8]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x428]
push 0x100ee68
push dword [ebp - 0x424]
call esi
add esp, 0x24
test eax, eax
jle 0x103b3bb
inc dword [ebp - 0x428]
mov eax, dword [ebp - 0x428]
add edi, 0x10
cmp eax, dword [ebp + 0x14]
jb 0x103b1c9
and dword [ebp - 0x428], 0
cmp dword [ebp + 0x1c], 0
jbe 0x103b2b1
mov edi, dword [ebp - 0x440]
add edi, 8
cmp dword [edi + 4], 0
je 0x103b25d
lea ecx, [ebp - 0x43c]
call dword [sym.imp.unbcl.dll_public:_class_UnBCL::String____thiscall_UnBCL::SmartPtr_class_UnBCL::String_::operator___void_const]
mov ecx, eax
call ebx
jmp 0x103b262
mov eax, 0x1001dc8
push dword [edi]
mov ecx, dword [ebp - 0x428]
push eax
push dword [edi - 4]
lea eax, [ebp - 0x420]
push dword [edi - 8]
push eax
lea eax, [ebp - 0x218]
push eax
mov eax, dword [ebp + 0x14]
add ecx, eax
push ecx
push 0x100eba8
push dword [ebp - 0x424]
call esi
add esp, 0x24
test eax, eax
jle 0x103b3bb
inc dword [ebp - 0x428]
mov eax, dword [ebp - 0x428]
add edi, 0x10
cmp eax, dword [ebp + 0x1c]
jb 0x103b245
push 0x100eab0
push dword [ebp - 0x424]
call esi
pop ecx
pop ecx
test eax, eax
jle 0x103b3bb
cmp dword [ebp + 0x14], 0
jbe 0x103b337
push 1
push 0x220
call fcn.01024e08
push eax
lea ecx, [ebp - 0x434]
call dword [sym.imp.unbcl.dll_public:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::constructor_class_UnBCL::String__]
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], 2
call dword [sym.imp.unbcl.dll_public:_class_UnBCL::String____thiscall_UnBCL::SmartPtr_class_UnBCL::String_::operator___void_const]
mov ecx, eax
call ebx
push eax
push 0x1007564
lea eax, [ebp - 0x218]
push eax
push 0x100e6d0
push dword [ebp - 0x424]
call esi
add esp, 0x14
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x434]
test eax, eax
jg 0x103b331
call dword [sym.imp.unbcl.dll_public_virtual:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::destructor_void_]
jmp 0x103b3bb
call dword [sym.imp.unbcl.dll_public_virtual:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::destructor_void_]
cmp dword [ebp + 0x1c], 0
jbe 0x103b3a8
cmp dword [ebp + 0x14], 0
jbe 0x103b356
push 0x100e620
push dword [ebp - 0x424]
call esi
pop ecx
pop ecx
test eax, eax
jle 0x103b3bb
push 1
push 0x221
call fcn.01024e08
push eax
lea ecx, [ebp - 0x42c]
call dword [sym.imp.unbcl.dll_public:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::constructor_class_UnBCL::String__]
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 3
call dword [sym.imp.unbcl.dll_public:_class_UnBCL::String____thiscall_UnBCL::SmartPtr_class_UnBCL::String_::operator___void_const]
mov ecx, eax
call ebx
push eax
push 0x100e398
push dword [ebp - 0x424]
call esi
add esp, 0xc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x42c]
test eax, eax
jle 0x103b326
call dword [sym.imp.unbcl.dll_public_virtual:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::destructor_void_]
push 0x100e218
push dword [ebp - 0x424]
call esi
pop ecx
pop ecx
test eax, eax
jg 0x103b420
push dword [ebp - 0x424]
call dword [sym.imp.msvcrt.dll_fclose]
pop ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call sub.WDSCORE.dll_CurrentIP
push eax
push 0x100e1dc
push 0x100de08
push 0x307
push 0
push 0x10019a4
push 0
push 0x100e1a8
push 0x3000000
call fcn.0101d7c6
pop ecx
pop ecx
push eax
call sub.WDSCORE.dll_WdsSetupLogMessageW
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x43c]
call dword [sym.imp.unbcl.dll_public_virtual:_void___thiscall_UnBCL::SmartPtr_class_UnBCL::String_::destructor_void_]
call fcn.010412ed
ret 0x1c
push dword [ebp - 0x424]
call dword [sym.imp.msvcrt.dll_fclose]
pop ecx
jmp 0x103b408