Function at 0x1800c400
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x20
mov eax, dword [0x1804e020]
xor eax, esp
mov dword [esp + 0x1c], eax
inc dword [0x18053b94]
cmp dword [0x180537a0], 0
push ebx
push esi
mov esi, dword [esp + 0x30]
push edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x14], ecx
je case.default.0x1800c43c
call fcn.1800c8f0
mov eax, dword [esi]
cmp eax, 8
ja case.default.0x1800c43c
jmp dword [eax*4 + 0x1800c744]
mov eax, dword [0x180537a4]
push str.HNC_UFB_BINARY_:
push eax
jmp 0x1800c4ae
mov ecx, dword [0x180537a4]
push str.HNC_UFB_SET_:
push ecx
jmp 0x1800c4ae
push str.HNC_UFB_ARRAY_:
jmp 0x1800c4a7
mov eax, dword [0x180537a4]
push str.HNC_UFB_SIZE1_:
push eax
jmp 0x1800c4ae
mov ecx, dword [0x180537a4]
push str.HNC_UFB_SIZE2_:
push ecx
jmp 0x1800c4ae
push str.HNC_UFB_SIZE4_:
jmp 0x1800c4a7
mov eax, dword [0x180537a4]
push str.HNC_UFB_SIZE8_:
push eax
jmp 0x1800c4ae
mov ecx, dword [0x180537a4]
push str.HNC_UFB_STRING_:
push ecx
jmp 0x1800c4ae
push str.HNC_UFB_SIZE16_:
mov edx, dword [0x180537a4]
push edx
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 8
mov ebx, dword [sym.imp.MSVCR90.dll_fwrite]
push edi
push 1
push 4
push esi
call ebx
mov eax, dword [esi]
add esp, 0x10
cmp eax, 8
ja case.default.0x1800c4d4
push ebp
jmp dword [eax*4 + 0x1800c768]
cmp dword [0x180537a0], 0
je 0x1800c4fd
call fcn.1800c8f0
mov eax, dword [0x180537a4]
push str.NULL__n
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 8
push edi
push 1
push 4
jmp 0x1800c71d
cmp dword [0x180537a0], 0
je 0x1800c52e
call fcn.1800c8f0
mov ecx, dword [esi + 8]
mov edx, dword [0x180537a4]
push ecx
push str.Set_Arr_Data_Count_:__d_n
push edx
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
push edi
push 1
lea ebp, [esi + 8]
push 4
push ebp
call ebx
xor eax, eax
add esp, 0x10
mov dword [esp + 0x14], eax
cmp dword [ebp], eax
jbe 0x1800c726
mov dword [esp + 0x10], eax
nop
mov eax, dword [esi + 0xc]
test eax, eax
jne 0x1800c589
cmp dword [0x180537a0], eax
je 0x1800c578
call fcn.1800c8f0
mov eax, dword [0x180537a4]
push str.NULL
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 8
push edi
push 1
push 2
push 0x180411ec
call ebx
add esp, 0x10
jmp 0x1800c59a
mov ecx, dword [esp + 0x10]
add ecx, eax
push ecx
mov ecx, dword [esp + 0x1c]
push edi
call fcn.1800c400
mov eax, dword [esp + 0x14]
add dword [esp + 0x10], 0x18
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ebp]
jb 0x1800c550
jmp 0x1800c726
cmp dword [0x180537a0], 0
je 0x1800c5d9
call fcn.1800c8f0
movzx edx, byte [esi + 8]
mov eax, dword [0x180537a4]
push edx
push 0x180411f0
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
push edi
push 1
push 1
jmp 0x1800c71d
cmp dword [0x180537a0], 0
je 0x1800c60b
call fcn.1800c8f0
movsx ecx, word [esi + 8]
mov edx, dword [0x180537a4]
push ecx
push 0x180411f0
push edx
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
push edi
push 1
push 2
jmp 0x1800c71d
cmp dword [0x180537a0], 0
je 0x1800c63c
call fcn.1800c8f0
mov eax, dword [esi + 8]
mov ecx, dword [0x180537a4]
push eax
push 0x180411f0
push ecx
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
push edi
push 1
push 4
jmp 0x1800c71d
cmp dword [0x180537a0], 0
je 0x1800c66c
call fcn.1800c8f0
mov edx, dword [esi + 8]
mov eax, dword [0x180537a4]
push edx
push 0x180411f0
push eax
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
push edi
push 1
push 8
jmp 0x1800c71d
cmp dword [0x180537a0], 0
je 0x1800c69d
call fcn.1800c8f0
mov ecx, dword [esi + 8]
mov edx, dword [0x180537a4]
push ecx
push 0x180411f4
push edx
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0xc
mov esi, dword [esi + 8]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1800c6a5
sub eax, edx
push edi
sar eax, 1
push 1
lea eax, [eax + eax + 2]
push eax
jmp 0x1800c720
cmp dword [0x180537a0], 0
je 0x1800c718
call fcn.1800c8f0
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov ebp, dword [esi + 0xc]
mov dword [esp + 0x28], edx
mov ecx, dword [esi + 8]
mov edx, eax
shr edx, 0x18
push edx
mov edx, eax
shr edx, 0x10
movzx edx, dl
push edx
mov edx, eax
shr edx, 8
movzx edx, dl
push edx
movzx eax, al
push eax
mov edx, ebp
shr edx, 0x10
push edx
movzx eax, bp
push eax
push ecx
mov ecx, dword [0x180537a4]
push str.CLSID_:__x__x__x__x__x__x__x__n
push ecx
call dword [sym.imp.MSVCR90.dll_fprintf]
add esp, 0x24
push edi
push 1
push 0x10
add esi, 8
push esi
call ebx
add esp, 0x10
pop ebp
mov ecx, dword [esp + 0x28]
dec dword [0x18053b94]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1802929c
add esp, 0x20
ret 8