Function at 0x1800ba10
Capabilities:
Create directory
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1802ace6
mov eax, dword fs:[0]
push eax
mov eax, 0x1ae4
call fcn.18029d80
mov eax, dword [0x1804e020]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov edi, edx
mov eax, dword [edi + 0x18]
sub eax, dword [edi + 0x14]
mov dword [ebp - 0x1aac], edi
test eax, 0xfffffffc
je 0x1800c38d
lea ecx, [ebp - 0x1ab4]
xor esi, esi
mov dword [ebp - 0x1ab8], ecx
mov dword [ebp - 0x1abc], esi
push 0x104
lea edx, [ebp - 0xc40]
push edx
push str._UserData
mov dword [ebp - 4], esi
call sym.HncBL90.dll_HncPathToAbsolute
lea edx, [ebp - 0x218]
cmp ebx, esi
je 0x1800badd
lea eax, [ebp - 0xc40]
push eax
push str._sERS
call fcn.180054a0
add esp, 8
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea ecx, [ebp - 0x218]
push ecx
call esi
lea edx, [ebp - 0xc40]
push edx
push str._sERSLog
lea edx, [ebp - 0x218]
call fcn.180054a0
add esp, 8
push 0
lea eax, [ebp - 0x218]
push eax
jmp 0x1800bb00
lea ecx, [ebp - 0xc40]
push ecx
push str._sUFB
call fcn.180054a0
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
add esp, 8
push 0
lea edx, [ebp - 0x218]
push edx
call esi
xor eax, eax
mov ecx, 8
lea esp, [esp]
cmp dword [eax*8 + 0x18050fc8], ecx
je 0x1800bd38
inc eax
cmp eax, 0x1a
jl 0x1800bb10
xor eax, eax
push 0
push 0x80000001
push eax
lea ecx, [ebp - 0x1a98]
call sym.HncBL90.dll_public:_void___thiscall_CHncRegistry::constructor_unsigned_short_int_const___struct_HKEY_____int_
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0xa36]
mov byte [ebp - 4], 1
push ecx
mov word [ebp - 0xa38], ax
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x104
lea edx, [ebp - 0xa38]
push edx
push str.UserGUID
push 0
lea ecx, [ebp - 0x1a98]
call sym.HncBL90.dll_public:_int___thiscall_CHncRegistry::GetStringValue_unsigned_short_int_const___unsigned_short_int_const___unsigned_short_int___int_
lea eax, [ebp - 0x1ac8]
push eax
call dword [sym.imp.MSVCR90.dll__time64]
add esp, 4
lea ecx, [ebp - 0x1ac8]
push ecx
lea edx, [ebp - 0x1aec]
push edx
call dword [sym.imp.MSVCR90.dll__localtime64_s]
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x82e]
push ecx
mov word [ebp - 0x830], ax
call sub.MSVCR90.dll_memset
mov edx, dword [ebp - 0x1aec]
mov eax, dword [ebp - 0x1ae8]
mov ecx, dword [ebp - 0x1ae4]
add esp, 0x14
push edx
mov edx, dword [ebp - 0x1ae0]
push eax
mov eax, dword [ebp - 0x1adc]
push ecx
mov ecx, dword [ebp - 0x1ad8]
push edx
inc eax
push eax
add ecx, 0x76c
push ecx
push str._04d_02d_02d__02d_02d_02d
lea edx, [ebp - 0x830]
call fcn.180054a0
mov eax, dword [0x180538b4]
add esp, 0x1c
test eax, eax
jne 0x1800bc15
call fcn.1800e370
mov eax, dword [0x180538b4]
test eax, eax
je 0x1800bc4c
push 2
call eax
add esp, 4
test eax, eax
je 0x1800bc4c
test ebx, ebx
je 0x1800bc4c
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0x218]
push eax
push str._s_s
mov edx, eax
call fcn.180054a0
add esp, 0xc
push 0
lea ecx, [ebp - 0x218]
push ecx
call esi
push 0x104
lea edx, [ebp - 0x1050]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x104
lea eax, [ebp - 0x1668]
push eax
push 0x104
lea ecx, [ebp - 0xe48]
push ecx
push 0x104
lea edx, [ebp - 0x1460]
push edx
push 0x104
lea eax, [ebp - 0x1258]
push eax
lea ecx, [ebp - 0x1050]
push ecx
call dword [sym.imp.MSVCR90.dll__wsplitpath_s]
add esp, 0x24
lea edx, [ebp - 0x830]
push edx
lea eax, [ebp - 0xa38]
push eax
push 0x18040ee0
lea ecx, [ebp - 0xe48]
push ecx
lea edx, [ebp - 0x218]
push edx
push str._s_s_s__s__s.ufb2
lea edx, [ebp - 0x420]
call fcn.180054a0
lea eax, [ebp - 0x830]
push eax
lea ecx, [ebp - 0xa38]
push ecx
push 0x18040ee0
lea edx, [ebp - 0xe48]
push edx
lea eax, [ebp - 0x218]
push eax
push str._s_s_s__s__s.txt
lea edx, [ebp - 0x628]
call fcn.180054a0
lea eax, [ebp - 0x218]
add esp, 0x30
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bd10
sub eax, edx
sar eax, 1
mov dword [ebp - 0x1a9c], eax
cmp word [ebp - 0x218], cx
jne 0x1800bd44
mov ebx, 0x18040a86
jmp 0x1800be3a
mov eax, dword [eax*8 + 0x18050fcc]
jmp 0x1800bb25
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bd50
sub eax, edx
sar eax, 1
mov esi, eax
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bd70
sub eax, edx
sar eax, 1
lea ecx, [eax*4 + 0xc]
cmp ecx, 0x400
lea eax, [ebp - 0x218]
lea edx, [eax + 2]
jg 0x1800bdc3
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bd97
sub eax, edx
sar eax, 1
lea eax, [eax*4 + 0xc]
call fcn.18029d50
mov ebx, esp
test ebx, ebx
je 0x1800bdf2
mov dword [ebx], 0xcccc
add ebx, 8
jmp 0x1800bdf2
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bdc3
sub eax, edx
sar eax, 1
lea edx, [eax*4 + 0xc]
push edx
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
test eax, eax
je 0x1800bdf0
mov dword [eax], 0xdddd
add eax, 8
mov ebx, eax
lea edi, [esi*4 + 4]
lea esi, [ebp - 0x1abc]
call fcn.180022d0
xor eax, eax
cmp edi, 1
jle 0x1800be30
lea ecx, [ebp - 0x1aa4]
push ecx
push eax
push edi
push ebx
lea edx, [ebp - 0x218]
push edx
mov dword [ebp - 0x1aa4], eax
push eax
or eax, 0xffffffff
xor ecx, ecx
call fcn.1801f770
add esp, 0x18
mov edi, dword [ebp - 0x1aac]
mov byte [eax + ebx], 0
mov eax, dword [ebp - 0x1a9c]
mov ecx, dword [edi + 0x20]
push eax
push ecx
push 0xffffffffffffffff
push ebx
push 2
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp dword [0x180537a0], 0
mov dword [ebp - 0x1aa0], 0
je 0x1800bf91
cmp word [ebp - 0x628], 0
jne 0x1800be7d
mov ebx, 0x18040a86
jmp 0x1800bf68
lea eax, [ebp - 0x628]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800be86
sub eax, edx
sar eax, 1
mov esi, eax
lea eax, [ebp - 0x628]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bea0
sub eax, edx
sar eax, 1
lea edx, [eax*4 + 0xc]
lea eax, [ebp - 0x628]
cmp edx, 0x400
lea edx, [eax + 2]
jg 0x1800bef3
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bec7
sub eax, edx
sar eax, 1
lea eax, [eax*4 + 0xc]
call fcn.18029d50
mov ebx, esp
test ebx, ebx
je 0x1800bf22
mov dword [ebx], 0xcccc
add ebx, 8
jmp 0x1800bf22
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bef3
sub eax, edx
sar eax, 1
lea eax, [eax*4 + 0xc]
push eax
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
test eax, eax
je 0x1800bf20
mov dword [eax], 0xdddd
add eax, 8
mov ebx, eax
lea edi, [esi*4 + 4]
lea esi, [ebp - 0x1abc]
call fcn.180022d0
xor eax, eax
cmp edi, 1
jle 0x1800bf60
lea ecx, [ebp - 0x1a9c]
push ecx
push eax
push edi
push ebx
lea edx, [ebp - 0x628]
push edx
mov dword [ebp - 0x1a9c], eax
push eax
or eax, 0xffffffff
xor ecx, ecx
call fcn.1801f770
add esp, 0x18
mov byte [eax + ebx], 0
test ebx, ebx
je 0x1800bf84
push 0x18040f34
push ebx
push 0x180537a4
call dword [sym.imp.MSVCR90.dll_fopen_s]
add esp, 0xc
test eax, eax
jne 0x1800c377
cmp dword [0x180537a4], 0
je 0x1800c377
cmp word [ebp - 0x420], 0
jne 0x1800bfa5
mov ebx, 0x18040a86
jmp 0x1800c098
lea eax, [ebp - 0x420]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bfb0
sub eax, edx
sar eax, 1
mov esi, eax
lea eax, [ebp - 0x420]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bfd0
sub eax, edx
sar eax, 1
lea eax, [eax*4 + 0xc]
cmp eax, 0x400
lea eax, [ebp - 0x420]
lea edx, [eax + 2]
jg 0x1800c022
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800bff6
sub eax, edx
sar eax, 1
lea eax, [eax*4 + 0xc]
call fcn.18029d50
mov ebx, esp
test ebx, ebx
je 0x1800c051
mov dword [ebx], 0xcccc
add ebx, 8
jmp 0x1800c051
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800c022
sub eax, edx
sar eax, 1
lea ecx, [eax*4 + 0xc]
push ecx
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
test eax, eax
je 0x1800c04f
mov dword [eax], 0xdddd
add eax, 8
mov ebx, eax
lea edi, [esi*4 + 4]
lea esi, [ebp - 0x1abc]
call fcn.180022d0
xor eax, eax
cmp edi, 1
jle 0x1800c090
lea edx, [ebp - 0x1a9c]
push edx
push eax
push edi
mov dword [ebp - 0x1a9c], eax
push ebx
lea eax, [ebp - 0x420]
push eax
push 0
or eax, 0xffffffff
xor ecx, ecx
call fcn.1801f770
add esp, 0x18
mov byte [eax + ebx], 0
test ebx, ebx
je 0x1800c0b6
push 0x18040f38
lea ecx, [ebp - 0x1aa0]
push ebx
push ecx
call dword [sym.imp.MSVCR90.dll_fopen_s]
add esp, 0xc
test eax, eax
jne 0x1800c377
cmp dword [ebp - 0x1aa0], 0
je 0x1800c377
mov esi, dword [ebp - 0x1aac]
mov ebx, dword [esi + 0x14]
cmp ebx, dword [esi + 0x18]
jbe 0x1800c0d7
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, dword [esi + 8]
mov dword [ebp - 0x1aa8], edi
mov dword [ebp - 0x1aa4], ebx
mov eax, dword [esi + 0x18]
mov ebx, dword [sym.imp.MSVCR90.dll_fprintf]
mov dword [ebp - 0x1a9c], eax
cmp dword [esi + 0x14], eax
jbe 0x1800c100
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 8]
test edi, edi
je 0x1800c10b
cmp edi, eax
je 0x1800c111
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, dword [ebp - 0x1a9c]
cmp dword [ebp - 0x1aa4], edx
je 0x1800c305
test edi, edi
jne 0x1800c16c
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [ebp - 0x1aa4]
cmp eax, dword [edi + 0x10]
jb 0x1800c13e
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [0x180537a0], 0
mov ecx, dword [ebp - 0x1aa4]
mov esi, dword [ecx]
mov dword [ebp - 0x1a9c], esi
je 0x1800c264
movzx eax, byte [esi]
cmp eax, 0x10
ja case.default.0x1800c165
jmp dword [eax*4 + 0x1800c3b0]
mov edi, dword [edi]
jmp 0x1800c12d
mov edx, dword [0x180537a4]
push str.TYPE_:_UFB_SYSINFO_RPOC_n
push edx
jmp 0x1800c24a
push str.TYPE_:_UFB_ACTION_PROC_n
jmp 0x1800c244
mov ecx, dword [0x180537a4]
push str.TYPE_:_UFB_FONT_PROC_n
push ecx
jmp 0x1800c24a
mov edx, dword [0x180537a4]
push str.TYPE_:_UFB_COLOR_PROC_n
push edx
jmp 0x1800c24a
push str.TYPE_:_UFB_DOCFIL_PROC_n
jmp 0x1800c244
mov ecx, dword [0x180537a4]
push str.TYPE_:_UFB_IMGFIL_PROC_n
push ecx
jmp 0x1800c24a
mov edx, dword [0x180537a4]
push str.TYPE_:_UFB_TMP_PROC_n
push edx
jmp 0x1800c24a
push str.TYPE_:_UFB_HELP_PROC_n
jmp 0x1800c244
mov ecx, dword [0x180537a4]
push str.TYPE_:_UFB_HNC_COLOR_PROC_n
push ecx
jmp 0x1800c24a
mov edx, dword [0x180537a4]
push str.TYPE_:_UFB_IMAGE_GROUP_PROC_n
push edx
jmp 0x1800c24a
push str.TYPE_:_UFB_BUTTON_EXCUTE_PROC_n
jmp 0x1800c244
mov ecx, dword [0x180537a4]
push str.TYPE_:_UFB_WORKSPACE_PROC_n
push ecx
jmp 0x1800c24a
mov edx, dword [0x180537a4]
push str.TYPE_:_UFB_TOOLBAR_PROC_n
push edx
jmp 0x1800c24a
push str.TYPE_:_UFB_THEME_PROC_n
jmp 0x1800c244
mov ecx, dword [0x180537a4]
push str.TYPE_:_UFB_TOOLBOX_PROC_n
push ecx
jmp 0x1800c24a
mov edx, dword [0x180537a4]
push str.TYPE_:_UFB_DEADACTION_PROC_n
push edx
jmp 0x1800c24a
push str.TYPE_:_UFB_PRINT_PROC_n
mov eax, dword [0x180537a4]
push eax
call ebx
add esp, 8
mov ecx, dword [esi + 4]
mov edx, dword [0x180537a4]
push ecx
push str.Data_Count_:__d_n
push edx
call ebx
add esp, 0xc
mov eax, dword [ebp - 0x1aa0]
mov edi, dword [sym.imp.MSVCR90.dll_fwrite]
push eax
push 1
push 1
push esi
call edi
mov ecx, dword [ebp - 0x1aa0]
push ecx
push 1
add esi, 4
push 4
push esi
call edi
xor ebx, ebx
add esp, 0x20
cmp dword [esi], ebx
jbe 0x1800c2c6
xor edi, edi
jmp 0x1800c2a0
mov edx, dword [ebp - 0x1a9c]
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x1aa0]
add eax, edi
push eax
push ecx
mov ecx, dword [ebp - 0x1aac]
call fcn.1800c400
inc ebx
add edi, 0x18
cmp ebx, dword [esi]
jb 0x1800c2a0
mov eax, dword [ebp - 0x1aa8]
test eax, eax
jne 0x1800c301
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov edx, dword [ebp - 0x1aa4]
cmp edx, dword [eax + 0x10]
jb 0x1800c2e9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
add dword [ebp - 0x1aa4], 4
mov esi, dword [ebp - 0x1aac]
mov edi, dword [ebp - 0x1aa8]
jmp 0x1800c0e6
mov eax, dword [eax]
jmp 0x1800c2d8
cmp dword [0x180537a0], 0
mov edi, dword [sym.imp.MSVCR90.dll_fclose]
je 0x1800c31f
mov eax, dword [0x180537a4]
push eax
call edi
add esp, 4
mov ecx, dword [ebp - 0x1aa0]
push ecx
call edi
mov edx, dword [esi]
mov eax, dword [edx + 8]
add esp, 4
mov ecx, esi
call eax
mov eax, dword [ebp - 0x1a90]
mov dword [ebp - 0x1a98], sym.HncBL90.dll_const_CHncRegistry::vftable
test eax, eax
je 0x1800c358
cmp dword [ebp - 0x1678], 0
jne 0x1800c358
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x1674]
test eax, eax
je 0x1800c382
push eax
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
mov dword [ebp - 0x1674], 0
jmp 0x1800c382
lea ecx, [ebp - 0x1a98]
call sym.HncBL90.dll_public_virtual:_void___thiscall_CHncRegistry::destructor_void_
lea edi, [ebp - 0x1abc]
call fcn.18002330
lea esp, [ebp - 0x1b00]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1802929c
mov esp, ebp
pop ebp
ret