Function at 0x43ce70
Capabilities:
Write file on windows

Disassembly:
push ebp
mov eax, 0x9c5c
push edi
push esi
push ebx
call fcn.004e20f0
sub esp, eax
mov ebp, dword [esp + 0x9c74]
mov ebx, dword [esp + 0x9c70]
test ebp, ebp
je 0x43d055
cmp ebx, 0xff
ja 0x43d1b2
mov edx, ebx
mov eax, 1
mov ecx, ebx
shr edx, 5
shl eax, cl
and eax, dword [edx*4 + 0x69937c]
je 0x43d055
mov dword [esp], ebp
call sub.msvcrt.dll_strlen
mov edi, eax
test eax, eax
je 0x43d055
cmp eax, 0x9c3f
ja 0x43d1d2
lea esi, [esp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], esi
call sub.msvcrt.dll_memcpy
mov byte [esp + edi + 0x10], 0
mov dword [esp], esi
call fcn.004220f0
mov eax, dword [0x699370]
mov dword [esp + 0x9c74], ebp
mov ecx, eax
lea esi, [esi]
cmp ebx, dword [0x699364]
je 0x43cfd8
mov edx, dword [0x69936c]
test edx, edx
jne 0x43d0c0
mov dword [0x699364], ebx
mov dword [0x699368], 0
cmp byte [0x69939c], 0
jne 0x43d060
mov edx, dword [0x69936c]
mov ebp, edx
mov ecx, dword [0x699374]
mov edi, 0xfffffffe
add edx, eax
mov dword [esp + 8], esi
sub edi, ebp
mov dword [esp], edx
sub ecx, eax
add edi, ecx
lea ecx, [esp + 0x9c78]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
call fcn.004e7d30
mov edx, eax
mov eax, dword [0x699370]
mov ecx, eax
test edx, edx
je 0x43cf10
cmp edi, edx
jae 0x43cff0
mov ebp, dword [0x699374]
mov edx, ebp
sub edx, eax
lea edi, [edx + edx]
cmp edi, 0x9c3f
ja 0x43d12d
cmp edx, edi
jb 0x43d098
cmp edi, edx
jae 0x43cf10
add edi, eax
cmp ebp, edi
je 0x43cf10
mov dword [0x699374], edi
cmp ebx, dword [0x699364]
jne 0x43cf1c
lea esi, cs:[esi]
mov edx, dword [0x699368]
test edx, edx
jne 0x43cf47
jmp 0x43cf3a
add edx, dword [0x69936c]
mov dword [0x69936c], edx
mov byte [eax + edx], 0
mov edx, dword [0x69936c]
xor eax, eax
mov ecx, dword [0x699370]
cmp byte [ecx + edx - 1], 0xa
setne al
mov dword [0x699368], eax
je 0x43d120
mov eax, dword [0x699374]
sub eax, ecx
shr eax, 1
cmp eax, edx
jae 0x43d055
mov eax, dword [0x699360]
mov dword [esp + 8], 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], ecx
call sub.msvcrt.dll_fwrite
mov dword [0x69936c], 0
add esp, 0x9c5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x699374]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x5f17d2
sub edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004f1110
mov ebp, eax
mov dword [0x69936c], eax
mov eax, dword [0x699370]
mov edx, ebp
jmp 0x43cf4f
sub edi, edx
mov ecx, 0x699370
mov dword [esp], edi
call fcn.005813b0
mov eax, dword [0x699370]
sub esp, 4
mov ecx, eax
jmp 0x43cf10
cmp byte [eax + edx - 1], 0xa
je 0x43d0ef
lea ecx, [edx + 1]
mov dword [0x69936c], ecx
mov byte [eax + edx], 0xa
mov edx, dword [0x699370]
mov eax, dword [0x69936c]
mov byte [edx + eax], 0
mov edx, dword [0x69936c]
mov ecx, dword [0x699370]
mov eax, dword [0x699360]
mov dword [esp + 8], 1
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
mov dword [esp], ecx
call sub.msvcrt.dll_fwrite
mov eax, dword [0x699370]
mov dword [0x69936c], 0
jmp 0x43cf2a
test edx, edx
je 0x43d055
jmp 0x43d02e
mov ebx, dword [fcn.004f0760]
mov dword [esp], 2
mov ebp, dword [esp + 0x9c74]
call ebx
mov dword [esp + 4], str.FATAL_2_:_The_variable_buf_is_not_big_enough:_n
mov dword [esp], eax
call fcn.004f10b0
mov dword [esp], 2
call ebx
mov dword [esp + 8], edi
mov dword [esp + 4], str.___it_should_be_bigger_as__zu_n
mov dword [esp], eax
call fcn.004f10b0
mov dword [esp], 2
call ebx
mov dword [esp + 4], 0x5f17a7
mov dword [esp], eax
call fcn.004f10b0
mov dword [esp], 2
call ebx
mov dword [esp + 8], ebp
mov dword [esp + 4], str.For_the_buffer:__s_n
mov dword [esp], eax
call fcn.004f10b0
mov dword [esp], 0x46
call sub.msvcrt.dll_exit
mov dword [esp + 0xc], 0x100
mov dword [esp + 8], ebx
mov dword [esp + 4], str.bitset::test
mov dword [esp], 0x5f16cc
call fcn.005bd710
mov ebx, dword [fcn.004f0760]
mov dword [esp], 2
call ebx
mov dword [esp + 4], str.FATAL_1_:_The_variable_buf_is_not_big_enough:_n
mov dword [esp], eax
call fcn.004f10b0
mov dword [esp], 2
call ebx
mov dword [esp + 8], edi
mov dword [esp + 4], str.___it_should_be_bigger_as__u_n
jmp 0x43d168