Function at 0x41c4f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x13c
xor ebx, ebx
mov dword [esp + 4], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x110], eax
add eax, 0x2c
mov dword [ebp - 0x12c], eax
mov dword [esp], eax
call sym.os_access_char_const__int_
test eax, eax
js 0x41c604
xor ebx, ebx
lea edi, [ebp - 0x10c]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x12c]
mov dword [esp], eax
call method.c_FileManager.Open_char__DC_FILEMAP__char_
inc eax
je 0x41c5bf
mov edi, dword [ebp - 0x110]
mov dword [esp], edi
call method.c_DcManage.linkmap__
mov edi, dword [ebp - 0x110]
xor ecx, ecx
mov ebx, dword [edi + 8]
cmp word [ebx + 0xa], 0
jle 0x41c57f
mov edx, dword [edi + 0xc]
nop
lea esi, [esi]
mov word [edx], cx
inc ecx
movsx esi, word [ebx + 0xa]
add edx, 0x44
cmp esi, ecx
jg 0x41c570
xor ecx, ecx
cmp word [ebx + 0xa], 0
jle 0x41c5af
mov eax, dword [ebp - 0x110]
mov edx, dword [eax + 0x14]
jmp 0x41c5a0
mov word [edx], cx
inc ecx
movsx edi, word [ebx + 0xa]
add edx, 0x7e
cmp edi, ecx
jg 0x41c5a0
add esp, 0x13c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x12c]
lea ebx, [ebp - 0x108]
mov esi, 0x532307
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], eax
call sym._sprintf
mov dword [esp], ebx
xor ecx, ecx
mov edx, 1
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call sym.OutLogMsg_char__int__int_
xor eax, eax
add esp, 0x13c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, 0x53231b
mov dword [esp + 4], ecx
mov edi, dword [ebp - 0x12c]
mov dword [esp], edi
call sym.os_fopen_char_const__char_const_
mov dword [ebp - 0x114], eax
mov edx, dword [ebp - 0x114]
xor eax, eax
test edx, edx
je 0x41c5f9
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x110]
mov edi, dword [ecx + 0x1c]
movzx ecx, word [edx + 0x20]
mov dword [ebp - 0x118], edi
movzx esi, cx
cmp si, 0x4b48
sete bl
cmp si, 0x4853
sete al
or bl, al
jne 0x41c7b2
cmp cx, 0x5a53
je 0x41c7b2
cld
xor esi, esi
lea ebx, [ebp - 0x38]
mov eax, esi
mov edi, ebx
mov ecx, 8
rep stosd dword es:[edi], eax
mov dword [ebp - 0x38], 0x13045981
mov eax, dword [ebp - 0x118]
xor ecx, ecx
lea edx, [ebp - 0x88]
mov edi, 0x48
mov dword [ebp - 0x28], eax
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym._memset
cld
mov eax, esi
mov ecx, 3
lea edi, [ebp - 0x98]
mov edx, 0x20
rep stosd dword es:[edi], eax
mov esi, dword [ebp - 0x114]
mov edi, 1
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov edi, 1
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov ebx, 1
call sym._fwrite
mov esi, dword [ebp - 0x114]
lea ecx, [ebp - 0x88]
mov eax, 0x48
mov dword [esp + 8], ebx
mov dword [esp], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
call sym._fwrite
mov dword [esp + 0xc], esi
mov edx, 0xc
lea esi, [ebp - 0x98]
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp], esi
call sym._fwrite
mov ebx, dword [ebp - 0x110]
mov eax, 0x110
mov edx, dword [ebx + 0x28]
cmp edx, 2
je 0x41c74b
xor eax, eax
cmp edx, 1
setne al
dec eax
and eax, 0x62
mov esi, dword [ebp - 0x118]
lea ebx, [eax + 0xe2]
imul ebx, esi
mov dword [esp], ebx
call sym.operator_new___unsigned_int_
mov dword [esp], eax
xor ecx, ecx
mov esi, eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym._memset
mov edi, dword [ebp - 0x114]
mov edx, 1
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov dword [esp + 0xc], edi
mov dword [esp], esi
call sym._fwrite
mov dword [esp], edi
call sym._fclose
test esi, esi
je 0x41c524
mov dword [esp], esi
call sym.operator_delete___void_
jmp 0x41c524
mov eax, 0x3e8
mov dword [ebp - 0x118], eax
jmp 0x41c66c