Function at 0x41eb60
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebx, dword [ebp + 8]
mov dword [esp], 0x41a25a
mov dword [esp + 4], 0x41ea1b
mov dword [esp + 8], 0x4a7
call sym._updatecontext_f
test ebx, ebx
je 0x41eb9d
mov eax, dword [0x431bd8]
cmp dword [0x431e44], eax
jg 0x41f026
mov dword [esp], 0x200
mov dword [esp + 4], 0x41ea1b
mov dword [esp + 8], 0x41a25a
mov dword [esp + 0xc], 0x4ab
call sym._mycalloc2
mov dword [ebp - 0x14], eax
mov dword [esp], 0x3c
mov dword [esp + 4], 0x41ea1b
mov dword [esp + 8], 0x41a25a
mov dword [esp + 0xc], 0x4ac
call sym._mycalloc2
test ebx, ebx
mov dword [ebp - 0x18], eax
je 0x41f0e0
mov dword [esp], 1
mov dword [esp + 4], 5
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x41ea24
call sym._ioutput
mov eax, dword [0x430f44]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym._fflush
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], 0x1ff
mov dword [esp + 8], 0x41ea42
mov dword [esp], eax
mov eax, dword [0x431278]
mov dword [esp + 0xc], eax
call sym._snprintf
mov eax, dword [0x431278]
mov dword [esp], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 4], eax
call sym._rename
mov eax, dword [0x430f44]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym._fflush
mov dword [esp], 2
mov dword [esp + 4], 5
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x41ea4a
call sym._ioutput
mov eax, dword [0x430f44]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym._fflush
mov eax, dword [0x431278]
mov dword [esp + 4], 0x10201
mov dword [esp + 8], 0x180
mov dword [esp], eax
call sym._open
mov dword [ebp - 0x1c], eax
test eax, eax
js 0x41f0c7
fld dword [0x431bf0]
mov dword [esp + 4], 0x3fe
mov esi, dword [ebp - 0x14]
mov dword [esp + 8], 0x41ea70
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
mov dword [esp], esi
mov ecx, dword [0x431bf8]
mov eax, dword [esp]
fstp qword [esp + 0xc]
mov ebx, dword [0x431bfc]
fld dword [0x431bf4]
mov dword [ebp - 0x28], eax
mov eax, dword [esp + 0xc]
mov dword [ebp - 0x24], edi
fstp qword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call sym.___udivdi3
mov ecx, dword [0x431bfc]
mov esi, dword [ebp - 0x28]
mov dword [esp + 0x1c], eax
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x30]
mov dword [esp], esi
mov edx, dword [ebp - 0x2c]
mov eax, dword [0x431bf8]
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 0x3b9aca00
mov dword [esp + 0xc], 0
call sym.___umoddi3
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x28]
mov dword [esp + 0x20], eax
mov edi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x30]
mov dword [esp + 0xc], edx
mov eax, dword [0x431c00]
mov dword [esp], esi
mov dword [esp + 4], edi
mov edi, 1
mov dword [esp + 8], ebx
mov dword [esp + 0x24], eax
call sym._snprintf
mov esi, dword [ebp - 0x14]
mov dword [esp], esi
call sym._strlen
mov ecx, dword [ebp - 0x1c]
mov dword [esp + 4], esi
xor esi, esi
mov dword [esp], ecx
mov dword [esp + 8], eax
call sym._write
cmp edi, dword [0x431e1c]
jg 0x41efd1
lea esi, [esi]
cmp esi, 0x62
jg 0x41ee0e
mov eax, dword [esi*4 + 0x433464]
test eax, eax
jne 0x41ee0e
mov eax, 0x433460
lea esi, [esi]
lea edi, [edi]
inc esi
cmp esi, 0x62
jg 0x41ee0e
mov edx, dword [eax + esi*4 + 4]
test edx, edx
je 0x41ee00
mov dword [esp + 4], 0x1fe
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], 0x41eab0
mov dword [esp], eax
mov eax, 0x51eb851f
imul edi
mov eax, edi
mov ecx, edx
cdq
sar ecx, 5
sub ecx, edx
lea ebx, [ecx + ecx*4]
lea ecx, [ebx + ebx*4]
mov ebx, edi
shl ecx, 2
sub ebx, ecx
mov ecx, dword [esi*4 + 0x433464]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ebx
lea edx, [ecx + 0x200]
mov dword [esp + 0x18], edx
lea edx, [ecx + 0x400]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x24], ebx
mov eax, dword [ecx + 0xa00]
mov dword [esp + 0x28], eax
call sym._snprintf
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._strlen
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym._write
fldz
mov edx, dword [esi*4 + 0x433464]
fld dword [edx + 0xa04]
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jbe 0x41f0c0
fld dword [0x431290]
fucompp
fnstsw ax
sahf
jp 0x41f087
jne 0x41f087
mov dword [esp + 4], 0x1fe
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], 0x41eae6
mov dword [esp], eax
mov eax, 0x51eb851f
imul edi
mov eax, edi
mov ecx, edx
cdq
sar ecx, 5
sub ecx, edx
lea ebx, [ecx + ecx*4]
lea edx, [ebx + ebx*4]
mov ebx, edi
shl edx, 2
sub ebx, edx
mov dword [esp + 0xc], ebx
call sym._snprintf
mov ebx, dword [ebp - 0x14]
mov dword [esp], ebx
call sym._strlen
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym._write
fldz
mov ecx, dword [esi*4 + 0x433464]
fld dword [ecx + 0xa08]
fucom st(1)
fnstsw ax
fstp st(1)
sahf
jbe 0x41f080
fld dword [0x431294]
fucompp
fnstsw ax
sahf
jp 0x41f02e
jne 0x41f02e
mov dword [esp + 4], 0x1fe
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], 0x41eaf2
mov dword [esp], eax
mov eax, 0x51eb851f
imul edi
mov eax, edi
mov ecx, edx
cdq
sar ecx, 5
sub ecx, edx
lea ebx, [ecx + ecx*4]
lea edx, [ebx + ebx*4]
mov ebx, edi
shl edx, 2
sub ebx, edx
mov dword [esp + 0xc], ebx
call sym._snprintf
mov ebx, dword [ebp - 0x14]
inc edi
inc esi
mov dword [esp], ebx
call sym._strlen
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym._write
cmp edi, dword [0x431e1c]
jle 0x41ede0
mov esi, dword [ebp - 0x1c]
mov dword [esp], esi
call sym._close
mov dword [esp], 3
mov dword [esp + 4], 5
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x41eafe
call sym._ioutput
mov eax, dword [0x430f44]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym._fflush
mov edi, dword [ebp - 0x14]
mov dword [esp], edi
call sym._mydelete2
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sym._mydelete2
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x1fe
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], 0x41eb03
mov dword [esp], eax
mov eax, 0x51eb851f
imul edi
mov eax, edi
mov ebx, edx
cdq
sar ebx, 5
sub ebx, edx
lea edx, [ebx + ebx*4]
lea ebx, [edx + edx*4]
mov edx, edi
shl ebx, 2
sub edx, ebx
mov dword [esp + 0xc], edx
fld dword [ecx + 0xa08]
fstp qword [esp + 0x10]
call sym._snprintf
jmp 0x41efa2
fstp st(0)
jmp 0x41ef65
mov dword [esp + 4], 0x1fe
mov eax, dword [ebp - 0x14]
mov dword [esp + 8], 0x41eb14
mov dword [esp + 0xc], ebx
mov dword [esp], eax
fld dword [edx + 0xa04]
fstp qword [esp + 0x10]
call sym._snprintf
jmp 0x41ef11
fstp st(0)
jmp 0x41eed4
mov dword [esp], 0
mov dword [esp + 4], 0x41eb25
call sym._outerror
jmp 0x41eccb
mov dword [esp], 1
mov dword [esp + 4], 5
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x41eb37
jmp 0x41ec12