Function at 0x443710
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ecx, sym.___gxx_personality_sj0
mov ebp, esp
push edi
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x19c]
push esi
mov edi, 0x5205dc
mov esi, 0x443b33
push ebx
sub esp, 0x1dc
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x1a0], ebx
xor ebx, ebx
mov dword [ebp - 0x180], edi
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x174], esp
mov dword [esp], eax
call sym.__Unwind_SjLj_Register
mov dword [ebp - 0x1a4], ebx
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx + 8]
cmp edx, 0
jle 0x443b0b
lea esi, [esi]
mov eax, dword [ebp - 0x1a4]
mov ecx, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x1a4]
shl eax, 5
add eax, ecx
mov ecx, dword [ebp - 0x1a0]
lea eax, [edi + eax*4]
mov esi, dword [ecx]
add eax, esi
cmp byte [eax + 0x84], 0
je 0x443af0
mov dword [ebp - 0x1a8], ecx
xor ebx, ebx
cmp edx, 0
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1bc], ebx
jle 0x443836
xor edx, edx
mov dword [ebp - 0x1cc], edx
mov esi, esi
mov ebx, dword [ebp - 0x1b4]
mov esi, 0xffffffff
mov eax, dword [ebp - 0x1cc]
mov edi, dword [ebp - 0x1b8]
mov ecx, dword [ebx]
mov dword [ebp - 0x198], esi
mov dword [esp + 4], edi
add eax, ecx
mov dword [esp], eax
call sym.__stricmp
test eax, eax
je 0x443b28
inc dword [ebp - 0x1bc]
mov esi, dword [ebp - 0x1b4]
add dword [ebp - 0x1cc], 0x85
mov edx, dword [ebp - 0x1bc]
cmp dword [esi + 8], edx
jg 0x4437e0
mov eax, 0xffffffff
mov dword [ebp - 0x1b0], eax
test eax, eax
js 0x443b21
mov edi, dword [ebp - 0x1ac]
lea ecx, [ebp - 0x148]
mov eax, 0xffffffff
mov dword [esp + 4], ecx
mov dword [ebp - 0x198], eax
mov dword [esp], edi
call sym._stat
inc eax
je 0x443b21
mov edx, dword [ebp - 0x1a8]
mov ebx, dword [edx + 8]
xor edx, edx
dec ebx
cmp ebx, dword [ebp - 0x1b0]
jl 0x4438ab
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1a8]
mov ebx, dword [ebp - 0x1b0]
mov edi, dword [ebp - 0x1b0]
shl ecx, 5
mov esi, dword [eax]
add ecx, ebx
lea edx, [edi + ecx*4]
add edx, esi
mov esi, dword [ebp - 0x12c]
cmp dword [edx + 0x80], esi
je 0x443b21
mov eax, dword [ebp - 0x1b0]
xor edx, edx
test eax, eax
js 0x443901
mov edx, dword [ebp - 0x1a8]
mov edi, dword [edx + 8]
xor edx, edx
dec edi
cmp edi, dword [ebp - 0x1b0]
jl 0x443901
mov eax, dword [ebp - 0x1b0]
mov ebx, dword [ebp - 0x1a8]
mov edi, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x1b0]
shl eax, 5
mov ecx, dword [ebx]
add eax, edi
lea edx, [esi + eax*4]
add edx, ecx
mov ecx, dword [ebp - 0x12c]
mov eax, 1
mov dword [edx + 0x80], ecx
lea esi, [esi]
lea edi, [edi]
test al, al
je 0x443af0
mov ecx, dword [ebp - 0x1a0]
mov ebx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a4]
mov esi, dword [ebp - 0x1a4]
mov edx, dword [ecx]
shl ebx, 5
add ebx, eax
lea edi, [esi + ebx*4]
mov esi, 0xffffffff
mov dword [ebp - 0x1c0], edi
lea eax, [ebp - 0x98]
add edi, edx
mov dword [esp + 4], edi
lea ebx, [ebp - 0x148]
mov dword [esp], eax
mov dword [ebp - 0x198], esi
call sym._strcpy
mov dword [esp + 4], ebx
lea edx, [ebp - 0x98]
mov dword [esp], edx
call sym._stat
inc eax
je 0x4439aa
mov ebx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x12c]
mov ecx, dword [ebx]
add dword [ebp - 0x1c0], ecx
mov edi, dword [ebp - 0x1c0]
mov dword [edi + 0x80], edx
lea ecx, [ebp - 0x158]
mov edx, 0xffffffff
lea edi, [ebp - 0x98]
mov dword [esp], ecx
mov esi, 2
mov dword [ebp - 0x198], edx
call fcn.004041c0
mov dword [esp + 4], edi
lea eax, [ebp - 0x158]
mov dword [esp], eax
mov dword [ebp - 0x198], esi
call method.c_Fbuf.copydata_char_const_
mov ebx, dword [ebp - 0x154]
test ebx, ebx
je 0x443ad3
lea esi, [ebp - 0x98]
mov dword [esp], esi
call sym.os_basename_char_const_
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x1a0]
mov edi, str._s__s
mov dword [esp + 4], edi
lea eax, [ebp - 0x118]
mov dword [esp], eax
add edx, 0x14
mov dword [esp + 8], edx
call sym._sprintf
lea ecx, [ebp - 0x118]
mov dword [esp], ecx
call method.c_FileManager.CloseFile_char_
mov dword [esp], 0x55e928
mov ebx, 0x55e928
mov dword [ebp - 0x168], ebx
call sub.KERNEL32.dll_EnterCriticalSection
sub esp, 4
mov edi, 0x533266
lea eax, [ebp - 0x118]
mov dword [esp + 4], edi
mov esi, 1
mov dword [esp], eax
mov dword [ebp - 0x198], esi
call sym._fopen
mov dword [ebp - 0x1c4], eax
test eax, eax
je 0x443ab7
mov ebx, dword [ebp - 0x154]
mov ecx, 1
mov edx, dword [ebp - 0x158]
mov dword [esp + 8], ecx
mov esi, dword [ebp - 0x1c4]
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0xc], esi
call sym._fwrite
mov eax, dword [ebp - 0x1c4]
mov dword [esp], eax
call sym._fclose
mov esi, dword [ebp - 0x168]
mov ecx, 2
mov dword [ebp - 0x198], ecx
mov dword [esp], esi
call sub.KERNEL32.dll_LeaveCriticalSection
sub esp, 4
lea esi, [ebp - 0x158]
mov ecx, 0xffffffff
mov dword [esp], esi
mov dword [ebp - 0x198], ecx
call sym.c_Fbuf::c_Fbuf__
lea esi, [esi]
inc dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a0]
mov edx, dword [eax + 8]
cmp edx, dword [ebp - 0x1a4]
jg 0x443780
lea edi, [ebp - 0x19c]
mov dword [esp], edi
call sym.__Unwind_SjLj_Unregister
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
xor eax, eax
jmp 0x443920
mov eax, dword [ebp - 0x1bc]
jmp 0x44383b