Function at 0x41d660
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x5512ec]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x530920]
movq xmm0, qword [str.disc_image.iso]
mov dword [ebp - 0x20], eax
mov ax, word [0x530924]
movq qword [ebp - 0x28], xmm0
xorps xmm0, xmm0
mov word [ebp - 0x1c], ax
mov al, byte [0x530926]
push esi
push 0xbdc
mov byte [ebp - 0x1a], al
movups xmmword [ebp - 0x19], xmm0
mov word [ebp - 9], 0
mov dword [ebp - 0x34], 0x530928
call fcn.0041e970
mov dword [ebp - 0x38], eax
add esp, 4
cmp dword [0x55331c], 0
lea eax, [ebp - 0x28]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x3c], eax
jne 0x41d97b
cmp dword [0x55a78c], 0
jne 0x41d97b
mov ecx, 0x58b988
mov dword [0x58b988], 1
call fcn.004560d0
test eax, eax
jne 0x41d723
push str.No_dumpable_optical_media_found.
call fcn.0044b0b0
add esp, 4
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8b60
mov esp, ebp
pop ebp
ret
mov esi, dword [0x58b99c]
mov eax, 0x2000000
mov edx, dword [0x58b998]
mov dword [0x58b990], eax
nop dword [eax]
mov ecx, eax
shl ecx, 6
test esi, esi
jg 0x41d758
jl 0x41d74f
cmp edx, ecx
ja 0x41d758
shr eax, 1
cmp eax, 0x800000
ja 0x41d740
mov dword [0x58b990], eax
mov eax, dword [0x58b9a8]
test eax, eax
je 0x41d783
cmp byte [eax], 0
je 0x41d783
push eax
push str._s.iso
lea eax, [ebp - 0x28]
push 0x21
push eax
call fcn.004050d0
add esp, 0x10
mov byte [ebp - 8], 0
xor edx, edx
lea eax, [ebp - 0x48]
push 0
push eax
lea ecx, [edx + 1]
call fcn.0044dc20
add esp, 8
mov dword [0x58b9a4], eax
test eax, eax
je 0x41d97b
cmp dword [0x55a760], 0
mov eax, 0x52ad5a
mov edx, dword [0x58b99c]
mov esi, 0x5393fc
mov ecx, dword [0x58b998]
cmove esi, eax
call fcn.004a9840
mov ecx, dword [0x55a740]
xor eax, eax
movsd xmm1, qword [0x549a90]
movsd xmm2, qword [0x549a18]
movsd qword [ebp - 0x30], xmm0
comisd xmm1, xmm0
ja 0x41d7fa
mulsd xmm0, xmm2
inc eax
movsd qword [ebp - 0x30], xmm0
cmp eax, 5
jl 0x41d7e5
test eax, eax
jne 0x41d81e
push dword [ecx + 0x50]
cvttsd2si eax, xmm0
push esi
push eax
push esi
push str._s_d_s__s
push 0x20
push 0x59d920
call fcn.004050d0
add esp, 0x1c
jmp 0x41d88c
push dword [ecx + eax*4 + 0x50]
fld qword [ebp - 0x30]
push esi
sub esp, 8
movsd qword [esp], xmm0
mulsd xmm0, qword [0x549a70]
push esi
sub esp, 8
movsd qword [ebp - 0x40], xmm0
fstp qword [esp]
call fcn.00511880
movsd xmm1, qword [ebp - 0x40]
add esp, 8
fstp qword [ebp - 0x30]
movsd xmm0, qword [ebp - 0x30]
mov ecx, str._s_0.1f_s__s
mulsd xmm0, qword [0x549a70]
mov eax, str._s_0.0f_s__s
subsd xmm1, xmm0
movsd xmm0, qword [0x549a40]
comisd xmm0, xmm1
cmovbe eax, ecx
push eax
push 0x20
push 0x59d920
call fcn.004050d0
add esp, 0x20
push 0x59d920
push str.ISO_media_size__s
mov byte [0x59d93f], 0
call fcn.0044b0b0
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
add esp, 8
push 0
push 0
push 0x8002
push dword [0x5a2ae4]
call esi
xor edx, edx
mov dword [0x55a318], 0
xor ecx, ecx
call fcn.00430c60
mov ecx, 1
call fcn.0045d5c0
push 0
push 0
push 0x58b988
push 0x41d220
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x55a78c], eax
test eax, eax
je 0x41d937
push str._r_nSave_to_ISO_operation_started
call fcn.0044b0b0
add esp, 4
push 0xffffffffffffffff
push 0
push 0
push 1
call fcn.0041ed70
add esp, 0x10
push 0
push 0
push 0x8009
push dword [0x5a2ae4]
call esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a8b60
mov esp, ebp
pop ebp
ret
push str.Unable_to_start_ISO_save_thread
call fcn.0044b0b0
add esp, 4
mov dword [0x55a318], 0xe0031205
push dword [0x58b9a4]
call fcn.004d1211
add esp, 4
mov dword [0x58b9a4], 0
push 0
push 0
push 0x8000
push dword [0x5a2ae4]
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.004a8b60
mov esp, ebp
pop ebp
ret