Function at 0x41f330
Capabilities:
Delete file
Write file on windows

Disassembly:
push ebp
mov ecx, 0x41f646
mov ebp, esp
push edi
mov edx, 0x5202cc
lea eax, [ebp - 0x18]
push esi
lea edi, [ebp - 0x5ac]
mov esi, 0xffffffff
push ebx
sub esp, 0x60c
mov ebx, sym.___gxx_personality_sj0
mov dword [ebp - 0x588], ecx
mov dword [ebp - 0x590], edx
mov dword [ebp - 0x594], ebx
mov ebx, str._sbase_finance.ctf
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x584], esp
mov dword [esp], edi
call sym.__Unwind_SjLj_Register
mov dword [esp], 0x56326c
mov dword [ebp - 0x5a8], esi
call method.c_String.AsString__
mov dword [esp + 8], eax
lea edx, [ebp - 0x128]
mov dword [esp], edx
mov dword [esp + 4], ebx
call sym._sprintf
lea eax, [ebp - 0x158]
lea ecx, [ebp - 0x128]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sym._stat
test eax, eax
js 0x41f630
mov eax, dword [0x561f10]
test eax, eax
je 0x41f40a
cmp dword [ebp - 0x13c], eax
je 0x41f630
mov dword [esp], 0x532353
mov ecx, 1
mov edi, 2
mov dword [esp + 8], ecx
mov esi, 0xffffffff
mov dword [esp + 4], edi
mov dword [ebp - 0x5a8], esi
call sym.OutLogMsg_char__int__int_
mov ebx, dword [ebp - 0x13c]
mov edi, 0xffffffff
lea esi, [ebp - 0x128]
mov dword [ebp - 0x5a8], edi
mov dword [0x561f10], ebx
lea ebx, [ebp - 0x168]
mov dword [esp], ebx
call fcn.004041c0
mov dword [esp + 4], esi
mov eax, 3
mov dword [esp], ebx
mov dword [ebp - 0x5a8], eax
call method.c_Fbuf.copydata_char_const_
mov ecx, dword [ebp - 0x168]
test ecx, ecx
je 0x41f616
mov dword [esp], 0x56326c
mov edx, 3
mov dword [ebp - 0x5a8], edx
call method.c_String.AsString__
mov dword [esp + 8], eax
mov edi, str._sbase_finance.cxt
lea esi, [ebp - 0x128]
mov dword [esp + 4], edi
mov dword [esp], esi
call sym._sprintf
lea ebx, [ebp - 0x178]
mov dword [esp], ebx
call fcn.004041c0
mov dword [esp], ebx
lea edx, [ebp - 0x128]
mov ecx, 2
mov dword [esp + 4], edx
mov dword [ebp - 0x5a8], ecx
call method.c_Fbuf.copydata_char_const_
mov esi, dword [ebp - 0x178]
test esi, esi
je 0x41fd88
mov ebx, dword [ebp - 0x168]
movzx eax, word [ebx + 0x52]
mov dword [ebp - 0x5b4], ebx
test ax, ax
je 0x41f6c5
mov esi, dword [ebx + 0x4e]
movzx eax, ax
xor edx, edx
mov dword [ebp - 0x5bc], edx
add ebx, esi
cmp eax, 0
mov dword [ebp - 0x5b8], ebx
jle 0x41f511
mov ecx, ebx
mov edx, eax
movzx eax, word [ecx]
cmp ax, 1
sbb dword [ebp - 0x5bc], 0xffffffff
add ecx, 0x12
dec edx
jne 0x41f4fd
mov edi, dword [ebp - 0x5bc]
mov ecx, dword [ebp - 0x5bc]
mov ebx, dword [0x561eac]
shl edi, 3
sub edi, ecx
shl edi, 2
mov dword [esp], ebx
mov dword [esp + 4], edi
call sym._realloc
mov dword [0x561eac], eax
mov ecx, dword [0x561ea8]
mov ebx, eax
cmp dword [ebp - 0x5bc], ecx
jg 0x41fd51
mov edi, dword [ebp - 0x5bc]
mov ebx, 2
mov dword [ebp - 0x5a8], ebx
mov edx, edi
inc edx
mov dword [0x561ea8], edi
imul ecx, edx, 0x6e
mov dword [ebp - 0x180], edi
mov dword [esp], ecx
call sym.operator_new___unsigned_int_
imul ebx, dword [ebp - 0x180], 0x6e
xor esi, esi
mov dword [ebp - 0x188], eax
mov dword [esp + 4], esi
mov dword [esp], eax
add ebx, 0x6e
mov dword [esp + 8], ebx
xor ebx, ebx
call sym._memset
mov eax, dword [ebp - 0x5b4]
cmp word [eax + 0x52], 0
je 0x41f6c5
mov ecx, dword [ebp - 0x188]
xor edx, edx
xor edi, edi
mov dword [ebp - 0x5fc], ecx
jmp 0x41f5d8
mov ecx, dword [ebp - 0x5b4]
inc ebx
add edx, 0x12
movzx eax, word [ecx + 0x52]
cmp eax, ebx
jle 0x41f6c5
mov ecx, dword [ebp - 0x5b8]
mov eax, dword [edx + ecx + 2]
test eax, eax
je 0x41f5c2
movzx ecx, word [edx + ecx]
test cx, cx
je 0x41f5c2
mov esi, dword [ebp - 0x5fc]
mov dword [edi + esi], eax
mov esi, dword [ebp - 0x5b8]
mov eax, dword [edx + esi + 0xa]
mov esi, dword [ebp - 0x5fc]
mov dword [edi + esi + 4], eax
mov word [edi + esi + 8], cx
add edi, 0x6e
jmp 0x41f5c2
mov dword [esp], ebx
mov edi, 0xffffffff
mov dword [ebp - 0x5a8], edi
call sym.c_Fbuf::c_Fbuf__
lea esi, [esi]
lea esi, [ebp - 0x5ac]
mov dword [esp], esi
call sym.__Unwind_SjLj_Unregister
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x178]
xor edi, edi
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x5c0], edi
add ebx, 0x2e
test edx, edx
mov dword [ebp - 0x184], ebx
jle 0x41fb07
xor eax, eax
xor esi, esi
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5f0], esi
mov ecx, dword [ebp - 0x188]
mov ebx, dword [ebp - 0x5f0]
movzx edx, word [ebx + ecx + 8]
movzx edi, dx
cmp dx, 7
mov dword [ebp - 0x5c4], edi
jbe 0x41f725
mov esi, 7
mov dword [ebp - 0x5c4], esi
movzx eax, dx
mov edi, dword [ebp - 0x5f0]
fldz
mov edx, dword [ebp - 0x5c4]
fstp dword [ebp - 0x5c8]
sub eax, edx
mov edx, dword [edi + ecx + 4]
mov ecx, dword [ebp - 0x5c4]
test ecx, ecx
je 0x41f7ff
lea ecx, [edx + eax]
mov eax, dword [ebp - 0x5c4]
imul esi, ecx, 0x6e
lea ebx, [ebp - 0x18]
mov dword [ebp - 0x5e8], ebx
mov dword [ebp - 0x5f4], eax
mov dword [ebp - 0x5e4], esi
jmp 0x41f789
add dword [ebp - 0x5e8], 0x68
add dword [ebp - 0x5e4], 0x6e
dec dword [ebp - 0x5f4]
je 0x41f7ff
mov ebx, dword [ebp - 0x184]
mov ecx, 0x68
mov edx, dword [ebp - 0x5e4]
mov dword [esp + 8], ecx
mov edi, dword [ebp - 0x5e8]
add edx, ebx
add edx, 6
sub edi, 0x450
mov dword [esp + 4], edx
mov dword [esp], edi
call sym._memcpy
mov esi, dword [ebp - 0x5e8]
mov eax, 0x51eb851f
mov edi, dword [esi - 0x450]
imul edi
mov eax, edi
mov ebx, edx
sar ebx, 5
cdq
sub ebx, edx
lea eax, [ebx + ebx*4]
lea edx, [eax + eax*4]
shl edx, 2
sub edi, edx
cmp edi, 0xc
jne 0x41f773
mov eax, dword [ebp - 0x5e8]
fld dword [eax - 0x428]
fstp dword [ebp - 0x5c8]
jmp 0x41f773
mov edi, dword [ebp - 0x188]
mov esi, dword [ebp - 0x5f0]
mov eax, dword [ebp - 0x5c4]
add esi, edi
mov ebx, dword [esi]
lea ecx, [eax + eax*2]
lea edx, [eax + ecx*4]
lea edx, [ebp + edx*8 - 0x18]
lea edi, [esi + 0xa]
mov dword [esi + 0xa], ebx
fld dword [edx - 0x490]
fnstcw word [ebp - 0x5ae]
movzx ebx, word [ebp - 0x5ae]
fmul dword [0x5323a4]
or bx, 0xc00
mov word [ebp - 0x5b0], bx
fldcw word [ebp - 0x5b0]
fistp dword [edi + 4]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x48c]
fmul dword [0x5323a4]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 8]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x488]
fmul dword [0x5323a4]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0xc]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x47c]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x10]
fldcw word [ebp - 0x5ae]
fld dword [0x5323a4]
fmul dword [ebp - 0x5c8]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x14]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x484]
fmul dword [0x5323a4]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x18]
fldcw word [ebp - 0x5ae]
mov ecx, dword [esi]
lea edi, [esi + 0x26]
fld dword [edx - 0x480]
fmul dword [0x5323a4]
mov dword [esi + 0x26], ecx
mov eax, dword [edx - 0x4ac]
mov dword [edi + 4], eax
mov ebx, dword [edx - 0x4a4]
mov dword [edi + 8], ebx
mov ecx, dword [edx - 0x4a0]
mov dword [edi + 0xc], ecx
mov eax, dword [edx - 0x49c]
mov dword [edi + 0x10], eax
mov ebx, dword [edx - 0x498]
mov dword [edi + 0x14], ebx
mov ecx, dword [edx - 0x494]
mov dword [edi + 0x18], ecx
mov ecx, 0x4853
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x1c]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x478]
fmul dword [0x5323a4]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x20]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x468]
fmul dword [0x5323a4]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x24]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x474]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x28]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x470]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x2c]
fldcw word [ebp - 0x5ae]
mov eax, dword [ebp - 0x5ec]
fld dword [edx - 0x46c]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x30]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x464]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x34]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x460]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x38]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x45c]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x3c]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x458]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x40]
fldcw word [ebp - 0x5ae]
fld dword [edx - 0x454]
mov edx, dword [0x561eac]
fldcw word [ebp - 0x5b0]
fistp dword [edi + 0x44]
fldcw word [ebp - 0x5ae]
cmp dword [esi], 0x7a11f
jg 0x41fa2f
mov ecx, 0x5a53
mov word [eax + edx], cx
mov esi, dword [ebp - 0x5f0]
mov eax, str._06d
mov edi, dword [ebp - 0x188]
mov edx, dword [ebp - 0x5ec]
mov ecx, dword [0x561eac]
mov ebx, dword [esi + edi]
mov esi, 2
add edx, ecx
mov dword [esp + 8], ebx
add edx, 2
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [ebp - 0x5a8], esi
call sym._sprintf
mov ecx, dword [ebp - 0x5c4]
mov edx, dword [0x561eac]
mov esi, dword [ebp - 0x5ec]
lea eax, [ecx + ecx*2]
lea ebx, [ecx + eax*4]
lea edi, [ebp + ebx*8 - 0x18]
mov ecx, dword [edi - 0x4b0]
xor ebx, ebx
mov eax, dword [ebp - 0x5ec]
mov dword [esi + edx + 0x10], ebx
mov dword [esi + edx + 0xc], ecx
mov esi, dword [edi - 0x4a8]
xor edi, edi
mov dword [eax + edx + 0x18], edi
mov dword [eax + edx + 0x14], esi
mov edx, ebx
or edx, ecx
je 0x41fac5
cmp edi, ebx
jg 0x41fac5
jl 0x41fae1
cmp esi, ecx
jbe 0x41fae1
mov edi, dword [0x561eac]
mov esi, dword [ebp - 0x5ec]
mov ebx, dword [esi + edi + 0x14]
mov edx, dword [esi + edi + 0x18]
mov dword [esi + edi + 0xc], ebx
mov dword [esi + edi + 0x10], edx
inc dword [ebp - 0x5c0]
add dword [ebp - 0x5f0], 0x6e
add dword [ebp - 0x5ec], 0x1c
mov eax, dword [ebp - 0x5c0]
cmp dword [ebp - 0x180], eax
jg 0x41f6fa
mov dword [esp], 0x55e928
mov edi, 0x55e928
mov ecx, 2
mov dword [ebp - 0x478], edi
mov dword [ebp - 0x5a8], ecx
call sub.KERNEL32.dll_EnterCriticalSection
mov eax, dword [str.._data]
sub esp, 4
mov ecx, str.minicw.dat
mov dword [esp + 0xc], ecx
mov ebx, 0x53238c
lea edx, [ebp - 0x578]
mov dword [esp + 4], ebx
mov esi, 1
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [ebp - 0x5a8], esi
call sym._sprintf
lea edi, [ebp - 0x578]
mov dword [esp], edi
call sym._remove
mov edx, 0x532392
lea esi, [ebp - 0x578]
mov dword [esp + 4], edx
mov dword [esp], esi
call sym._fopen
mov dword [ebp - 0x5cc], eax
mov ebx, dword [ebp - 0x180]
xor eax, eax
mov dword [ebp - 0x5d0], eax
test ebx, ebx
jle 0x41fc00
xor ecx, ecx
mov dword [ebp - 0x5e0], ecx
mov esi, dword [ebp - 0x5e0]
mov eax, 1
mov ebx, 0x1c
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x188]
mov edi, 1
mov dword [esp + 4], ebx
mov ecx, dword [ebp - 0x5cc]
mov dword [ebp - 0x5a8], edi
add esi, edx
add esi, 0xa
mov dword [esp + 0xc], ecx
mov dword [esp], esi
call sym._fwrite
inc dword [ebp - 0x5d0]
add dword [ebp - 0x5e0], 0x6e
mov edi, dword [ebp - 0x5d0]
cmp dword [ebp - 0x180], edi
jg 0x41fba5
mov edx, dword [ebp - 0x5cc]
mov esi, 1
mov dword [ebp - 0x5a8], esi
mov dword [esp], edx
call sym._fclose
mov ecx, dword [str.._data]
mov edi, str.minicwex.dat
mov eax, 0x53238c
mov dword [esp + 0xc], edi
lea ebx, [ebp - 0x578]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp], ebx
call sym._sprintf
lea esi, [ebp - 0x578]
mov dword [esp], esi
call sym._remove
mov ebx, 0x532392
lea edx, [ebp - 0x578]
mov dword [esp + 4], ebx
mov dword [esp], edx
call sym._fopen
mov dword [ebp - 0x5f8], eax
mov eax, dword [ebp - 0x180]
xor ecx, ecx
mov dword [ebp - 0x5d4], ecx
test eax, eax
jle 0x41fce3
xor edi, edi
mov dword [ebp - 0x5dc], edi
mov ebx, dword [ebp - 0x5dc]
mov ecx, 1
mov eax, 0x48
mov dword [esp + 8], ecx
mov edx, dword [ebp - 0x188]
mov esi, 1
mov dword [esp + 4], eax
mov edi, dword [ebp - 0x5f8]
mov dword [ebp - 0x5a8], esi
add ebx, edx
add ebx, 0x26
mov dword [esp + 0xc], edi
mov dword [esp], ebx
call sym._fwrite
inc dword [ebp - 0x5d4]
add dword [ebp - 0x5dc], 0x6e
mov esi, dword [ebp - 0x5d4]
cmp dword [ebp - 0x180], esi
jg 0x41fc88
mov edx, dword [ebp - 0x5f8]
mov ebx, 1
mov dword [ebp - 0x5a8], ebx
mov dword [esp], edx
call sym._fclose
mov eax, dword [ebp - 0x188]
test eax, eax
je 0x41fd0e
mov dword [esp], eax
call sym.operator_delete___void_
mov ebx, dword [ebp - 0x478]
mov esi, 2
mov dword [ebp - 0x5a8], esi
mov dword [esp], ebx
call sub.KERNEL32.dll_LeaveCriticalSection
sub esp, 4
lea edi, [ebp - 0x178]
mov eax, 3
mov dword [esp], edi
mov dword [ebp - 0x5a8], eax
call sym.c_Fbuf::c_Fbuf__
lea eax, [ebp - 0x168]
mov dword [esp], eax
jmp 0x41f619
mov esi, dword [ebp - 0x5bc]
lea eax, [ecx*8]
xor edx, edx
mov dword [esp + 4], edx
sub eax, ecx
sub esi, ecx
lea edi, [esi*8]
sub edi, esi
shl edi, 2
mov dword [esp + 8], edi
lea esi, [ebx + eax*4]
mov dword [esp], esi
call sym._memset
jmp 0x41f550
mov dword [esp], ebx
mov ebx, 3
mov dword [ebp - 0x5a8], ebx
call sym.c_Fbuf::c_Fbuf__
lea ecx, [ebp - 0x168]
mov dword [esp], ecx
jmp 0x41f619