Function at 0x49e7d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ebf9b
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x5569c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0xa4], edi
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
mov dword [ebp - 0xbc], edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov dword [ebp - 0xb0], eax
mov byte [edi], 0
push 0x20
mov dword [ebp - 4], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
call fcn.004b259f
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x20], 0
xorps xmm0, xmm0
movups xmmword [edi + 0x24], xmm0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0xf
mov byte [edi + 0x24], 0
movups xmmword [edi + 0x3c], xmm0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x50], 0xf
mov byte [edi + 0x3c], 0
mov word [edi + 0x54], 0
mov byte [edi + 0x56], 0
movups xmmword [edi + 0x58], xmm0
mov dword [edi + 0x68], 0
mov dword [edi + 0x6c], 0xf
mov byte [edi + 0x58], 0
mov dword [edi + 0x70], 0
mov dword [edi + 0x74], 0
mov dword [edi + 0x78], 0
mov dword [edi + 0x7c], 0
mov dword [edi + 0x80], 0
mov dword [edi + 0x84], 0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0
mov byte [edi + 0x90], 0
mov dword [edi + 0x94], 0
mov dword [edi + 0x98], 0
mov word [edi + 0x9c], 0
movups xmmword [edi + 0xa0], xmm0
mov dword [edi + 0xb0], 0
mov dword [edi + 0xb4], 0xf
mov byte [edi + 0xa0], 0
mov dword [edi + 0xb8], 0x55
mov word [edi + 0xbc], 0
mov dword [edi + 0xc0], 4
mov dword [edi + 0xc4], 0
mov dword [edi + 0xc8], 0
mov dword [edi + 0xcc], 0x20
mov dword [edi + 0xd0], 0
mov edx, dword [ebp + 8]
mov esi, 1
mov byte [ebp - 4], 0x10
cmp edx, esi
mov dword [edi + 0xd4], 0x20
mov word [edi + 0xd8], 0
jle 0x49eb2b
nop dword [eax]
mov eax, dword [ebp - 0xb0]
xorps xmm0, xmm0
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov edx, dword [eax + esi*4]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x9c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49e9e0
sub ecx, dword [ebp - 0x9c]
push ecx
push edx
lea ecx, [ebp - 0x88]
call fcn.004331d0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0x11
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00493560
add esp, 8
push 1
push 0x4f4e40
mov ecx, eax
mov byte [ebp - 4], 0x12
call fcn.00441350
movups xmm1, xmmword [eax]
movq xmm0, qword [eax + 0x10]
movups xmmword [ebp - 0x70], xmm1
movq qword [ebp - 0x60], xmm0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x70]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
cmp dword [ebp - 0x5c], 0xf
push dword [ebp - 0x60]
movd eax, xmm1
cmova ecx, eax
push ecx
mov ecx, edi
call fcn.00441350
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x12
cmp ecx, 0xf
jbe 0x49ea9a
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49ea90
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49fa1a
push ecx
push edx
call fcn.004b25cf
add esp, 8
mov ecx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x11
cmp ecx, 0xf
jbe 0x49ead2
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49eac8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49fa1a
push ecx
push edx
call fcn.004b25cf
add esp, 8
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
mov byte [ebp - 4], 0x10
cmp ecx, 0xf
jbe 0x49eb1f
mov edx, dword [ebp - 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49eb15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49fa1a
push ecx
push edx
call fcn.004b25cf
add esp, 8
mov edx, dword [ebp + 8]
inc esi
cmp esi, edx
jl 0x49e9b0
mov eax, dword [edi + 0x10]
test eax, eax
je 0x49eb46
lea ecx, [eax - 1]
mov eax, edi
mov dword [edi + 0x10], ecx
cmp dword [edi + 0x14], 0xf
jbe 0x49eb42
mov eax, dword [edi]
mov byte [eax + ecx], 0
mov eax, 1
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xac], eax
cmp edx, eax
jle 0x49f9c5
nop word [eax + eax]
mov ecx, dword [ebp - 0xb0]
xorps xmm0, xmm0
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov edx, dword [ecx + eax*4]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x49eba3
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x40]
call fcn.004331d0
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
cmova eax, ecx
mov byte [ebp - 4], 0x14
seta dl
mov byte [ebp - 0x89], dl
cmp byte [eax], 0x2d
jne 0x49f747
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x40]
test dl, dl
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x98], esi
cmovne eax, ecx
mov dword [ebp - 0xa0], eax
cmp esi, 1
jb 0x49ec65
push esi
lea ecx, [eax + esi]
push 0x3d
push eax
mov dword [ebp - 0x9c], ecx
call fcn.004b4840
mov esi, eax
add esp, 0xc
test esi, esi
je 0x49ec5f
nop dword [eax]
movzx eax, byte [esi]
cmp al, 0x3d
jne 0x49ec3b
xor eax, eax
jmp 0x49ec40
sbb eax, eax
or eax, 1
test eax, eax
je 0x49ec9d
mov eax, dword [ebp - 0x9c]
inc esi
sub eax, esi
push eax
push 0x3d
push esi
call fcn.004b4840
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x49ec30
mov esi, dword [ebp - 0x98]
cmp byte [ebp - 0x89], 0
lea eax, [ebp - 0x40]
cmovne eax, dword [ebp - 0x40]
mov dword [ebp - 0xa0], eax
cmp esi, 0xf
ja 0x49edb8
push esi
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], esi
push eax
call fcn.004b4120
add esp, 0xc
mov byte [ebp + esi - 0x28], 0
jmp 0x49ee28
sub esi, dword [ebp - 0xa0]
cmp esi, 0xffffffff
je 0x49ec5f
cmp dword [ebp - 0x98], esi
lea eax, [ebp - 0x40]
mov ecx, esi
mov dword [ebp - 0x48], 0
cmovb ecx, dword [ebp - 0x98]
xorps xmm0, xmm0
cmp byte [ebp - 0x89], 0
push ecx
cmovne eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x58]
push eax
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x44], 0
call fcn.004331d0
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xf
jbe 0x49ed18
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49ed0e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49fa1a
push ecx
push edx
call fcn.004b25cf
add esp, 8
movups xmm0, xmmword [ebp - 0x58]
mov eax, dword [ebp - 0x30]
inc esi
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [ebp - 0x48]
movq qword [ebp - 0x18], xmm0
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
cmp eax, esi
jb 0x49fa1f
sub eax, esi
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
cmova eax, dword [ebp - 0x40]
push ecx
add eax, esi
lea ecx, [ebp - 0x58]
push eax
call fcn.004331d0
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xf
jbe 0x49eda1
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49ed97
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49fa1a
push ecx
push edx
call fcn.004b25cf
add esp, 8
movups xmm0, xmmword [ebp - 0x58]
movups xmmword [ebp - 0x40], xmm0
movq xmm0, qword [ebp - 0x48]
movq qword [ebp - 0x30], xmm0
jmp 0x49ee3d
cmp esi, 0x7fffffff
ja 0x49fa56
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x49edd6
mov esi, 0x7fffffff
jmp 0x49ede1
cmp esi, 0x16
mov eax, 0x16
cmovb esi, eax
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x9c], esi
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00433170
mov ecx, dword [ebp - 0x98]
mov esi, eax
mov eax, dword [ebp - 0x9c]
push ecx
push dword [ebp - 0xa0]
mov dword [ebp - 0x18], ecx
push esi
mov dword [ebp - 0x14], eax
call fcn.004b4120
mov eax, dword [ebp - 0x98]
add esp, 0x14
mov byte [esi + eax], 0
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x2c], 0xf
lea eax, [ebp - 0x40]
mov dword [ebp - 0x30], 0
cmova eax, dword [ebp - 0x40]
mov byte [eax], 0
cmp dword [ebp - 0x90], 0
jne 0x49f9e4
cmp dword [ebp - 0x94], 0
jne 0x49f9e4
cmp dword [ebp - 0x14], 0xf
lea ecx, [ebp - 0x28]
mov esi, dword [ebp - 0x18]
cmova ecx, dword [ebp - 0x28]
seta dl
mov byte [ebp - 0x89], dl
cmp esi, 6
jne 0x49eefe
mov eax, esi
mov edx, str.__help
sub eax, 4
mov dword [ebp - 0x98], eax
jb 0x49eead
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49eeb2
mov eax, dword [ebp - 0x98]
add ecx, 4
add edx, 4
sub eax, 4
mov dword [ebp - 0x98], eax
jae 0x49ee90
cmp eax, 0xfffffffc
je 0x49eef2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49eeeb
cmp dword [ebp - 0x98], 0xfffffffd
je 0x49eef2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49eeeb
cmp dword [ebp - 0x98], 0xfffffffe
je 0x49eef2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49eeeb
cmp dword [ebp - 0x98], 0xffffffff
je 0x49eef2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x49eef2
sbb eax, eax
or eax, 1
jmp 0x49eef4
xor eax, eax
test eax, eax
je 0x49ef66
mov dl, byte [ebp - 0x89]
test dl, dl
lea ecx, [ebp - 0x28]
cmovne ecx, dword [ebp - 0x28]
cmp esi, 2
jne 0x49ef6f
mov edx, 0x514dfc
sub esi, 4
jb 0x49ef27
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x49ef2c
add ecx, 4
add edx, 4
sub esi, 4
jae 0x49ef16
cmp esi, 0xfffffffc
je 0x49ef60
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49ef59
cmp esi, 0xfffffffd
je 0x49ef60
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49ef59
cmp esi, 0xfffffffe
je 0x49ef60
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49ef59
cmp esi, 0xffffffff
je 0x49ef60
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x49ef60
sbb eax, eax
or eax, 1
jmp 0x49ef62
xor eax, eax
test eax, eax
jne 0x49ef6f
mov byte [edi + 0x20], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__version
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49ef8d
mov byte [edi + 0x21], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__verbose
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49efab
mov byte [edi + 0x22], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__debug
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49efc9
mov byte [edi + 0x23], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__image_path
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49efec
lea eax, [edi + 0x24]
mov dword [ebp - 0x90], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__image_name
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f00f
lea eax, [edi + 0x3c]
mov dword [ebp - 0x90], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__overwrite
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f02d
mov byte [edi + 0x54], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__force_split
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f04b
mov byte [edi + 0x55], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__leave_unchanged
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f069
mov byte [edi + 0x56], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__drive
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f08c
lea eax, [edi + 0x58]
mov dword [ebp - 0x90], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__drive_type
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f0fe
push 0x18
call fcn.004b259f
add esp, 4
test eax, eax
je 0x49f0c8
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
jmp 0x49f0ca
xor eax, eax
mov ecx, dword [edi + 0x70]
mov dword [ebp - 0xa0], 0
mov dword [edi + 0x70], eax
test ecx, ecx
je 0x49f0e5
push 1
call fcn.0049fb50
lea ecx, [ebp - 0xa0]
call fcn.0043d9a0
mov ecx, dword [edi + 0x70]
mov dword [ebp - 0x90], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__drive_read_offset
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f14e
push 4
call fcn.004b259f
add esp, 4
test eax, eax
je 0x49f129
mov dword [eax], 0
jmp 0x49f12b
xor eax, eax
mov ecx, dword [edi + 0x74]
mov dword [edi + 0x74], eax
test ecx, ecx
je 0x49f140
push 4
push ecx
call fcn.004b25cf
add esp, 8
mov ecx, dword [edi + 0x74]
mov dword [ebp - 0x94], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__drive_c2_shift
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f19e
push 4
call fcn.004b259f
add esp, 4
test eax, eax
je 0x49f179
mov dword [eax], 0
jmp 0x49f17b
xor eax, eax
mov ecx, dword [edi + 0x78]
mov dword [edi + 0x78], eax
test ecx, ecx
je 0x49f190
push 4
push ecx
call fcn.004b25cf
add esp, 8
mov ecx, dword [edi + 0x78]
mov dword [ebp - 0x94], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__drive_pregap_start
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f1ee
push 4
call fcn.004b259f
add esp, 4
test eax, eax
je 0x49f1c9
mov dword [eax], 0
jmp 0x49f1cb
xor eax, eax
mov ecx, dword [edi + 0x7c]
mov dword [edi + 0x7c], eax
test ecx, ecx
je 0x49f1e0
push 4
push ecx
call fcn.004b25cf
add esp, 8
mov ecx, dword [edi + 0x7c]
mov dword [ebp - 0x94], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__drive_read_method
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f269
push 0x18
call fcn.004b259f
add esp, 4
test eax, eax
je 0x49f22a
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
jmp 0x49f22c
xor eax, eax
mov ecx, dword [edi + 0x80]
mov dword [ebp - 0xa0], 0
mov dword [edi + 0x80], eax
test ecx, ecx
je 0x49f24d
push 1
call fcn.0049fb50
lea ecx, [ebp - 0xa0]
call fcn.0043d9a0
mov ecx, dword [edi + 0x80]
mov dword [ebp - 0x90], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__drive_sector_order
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f2e4
push 0x18
call fcn.004b259f
add esp, 4
test eax, eax
je 0x49f2a5
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
jmp 0x49f2a7
xor eax, eax
mov ecx, dword [edi + 0x84]
mov dword [ebp - 0xa0], 0
mov dword [edi + 0x84], eax
test ecx, ecx
je 0x49f2c8
push 1
call fcn.0049fb50
lea ecx, [ebp - 0xa0]
call fcn.0043d9a0
mov ecx, dword [edi + 0x84]
mov dword [ebp - 0x90], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__speed
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f33e
push 8
call fcn.004b259f
add esp, 4
test eax, eax
je 0x49f310
xorps xmm0, xmm0
movq qword [eax], xmm0
jmp 0x49f312
xor eax, eax
mov ecx, dword [edi + 0x88]
mov dword [edi + 0x88], eax
test ecx, ecx
je 0x49f32d
push 8
push ecx
call fcn.004b25cf
add esp, 8
mov eax, dword [edi + 0x88]
mov dword [ebp - 0xa8], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__retries
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f364
lea eax, [edi + 0x8c]
mov dword [ebp - 0x94], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__refine_subchannel
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f385
mov byte [edi + 0x90], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__lba_start
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f3de
push 4
call fcn.004b259f
add esp, 4
test eax, eax
je 0x49f3b0
mov dword [eax], 0
jmp 0x49f3b2
xor eax, eax
mov ecx, dword [edi + 0x94]
mov dword [edi + 0x94], eax
test ecx, ecx
je 0x49f3cd
push 4
push ecx
call fcn.004b25cf
add esp, 8
mov ecx, dword [edi + 0x94]
mov dword [ebp - 0x94], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__lba_end
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f437
push 4
call fcn.004b259f
add esp, 4
test eax, eax
je 0x49f409
mov dword [eax], 0
jmp 0x49f40b
xor eax, eax
mov ecx, dword [edi + 0x98]
mov dword [edi + 0x98], eax
test ecx, ecx
je 0x49f426
push 4
push ecx
call fcn.004b25cf
add esp, 8
mov ecx, dword [edi + 0x98]
mov dword [ebp - 0x94], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__force_qtoc
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f458
mov byte [edi + 0x9c], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__legacy_subs
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f479
mov byte [edi + 0x9d], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__skip
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f49f
lea eax, [edi + 0xa0]
mov dword [ebp - 0x90], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__skip_fill
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f4c5
lea eax, [edi + 0xb8]
mov dword [ebp - 0x94], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__iso9660_trim
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f4e6
mov byte [edi + 0xbc], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__plextor_skip_leadin
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f507
mov byte [edi + 0xbd], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__plextor_leadin_retries
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f52d
lea eax, [edi + 0xc0]
mov dword [ebp - 0x94], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__asus_skip_leadout
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f54e
mov byte [edi + 0xc4], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__disable_cdtext
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f56f
mov byte [edi + 0xc5], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__correct_offset_shift
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f590
mov byte [edi + 0xc6], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__offset_shift_relocate
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f5b1
mov byte [edi + 0xc7], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__force_offset
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f614
lea eax, [ebp - 0xb4]
push eax
call fcn.0049e7a0
add esp, 4
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [edi + 0xc8]
mov dword [edi + 0xc8], ecx
test eax, eax
je 0x49f5f8
push 4
push eax
call fcn.004b25cf
add esp, 8
lea ecx, [ebp - 0xb4]
call fcn.0049fb10
mov ecx, dword [edi + 0xc8]
mov dword [ebp - 0x94], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__audio_silence_threshold
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f63a
lea eax, [edi + 0xcc]
mov dword [ebp - 0x94], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__dump_write_offset
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f69a
lea eax, [ebp - 0xb8]
push eax
call fcn.0049e7a0
add esp, 4
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [edi + 0xd0]
mov dword [edi + 0xd0], ecx
test eax, eax
je 0x49f681
push 4
push eax
call fcn.004b25cf
add esp, 8
lea ecx, [ebp - 0xb8]
call fcn.0049fb10
mov ecx, dword [edi + 0xd0]
mov dword [ebp - 0x94], ecx
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__dump_read_size
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f6bd
lea eax, [edi + 0xd4]
mov dword [ebp - 0x94], eax
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__overread_leadout
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49f6db
mov byte [edi + 0xd8], 1
jmp 0x49f6fb
lea eax, [ebp - 0x28]
push str.__force_unscrambled
push eax
call fcn.0049e710
add esp, 8
test al, al
je 0x49fa24
mov byte [edi + 0xd9], 1
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 0x14
cmp eax, 0xf
jbe 0x49f735
mov edx, dword [ebp - 0x28]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x49f72b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49fa1a
push ecx
push edx
call fcn.004b25cf
add esp, 8
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x49f97b
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x49f8d2
lea ecx, [ebp - 0x40]
cmp eax, ecx
je 0x49f8c3
cmp dword [ebp - 0x2c], 0xf
mov edx, dword [eax + 0x14]
cmova ecx, dword [ebp - 0x40]
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xa4], edx
cmp esi, edx
ja 0x49f7c6
mov dword [ebp - 0x9c], eax
cmp edx, 0xf
jbe 0x49f799
mov eax, dword [eax]
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x90]
push esi
push ecx
push eax
mov dword [edx + 0x10], esi
call fcn.004b4120
mov eax, dword [ebp - 0x9c]
add esp, 0xc
mov dword [ebp - 0x90], 0
mov byte [esi + eax], 0
jmp 0x49f97b
cmp esi, 0x7fffffff
ja 0x49fa56
mov ecx, esi
or ecx, 0xf
cmp ecx, 0x7fffffff
jbe 0x49f7e6
mov ecx, 0x7fffffff
jmp 0x49f819
mov eax, edx
shr eax, 1
mov dword [ebp - 0x9c], eax
mov eax, 0x7fffffff
sub eax, dword [ebp - 0x9c]
cmp edx, eax
jbe 0x49f806
mov ecx, 0x7fffffff
jmp 0x49f813
mov eax, dword [ebp - 0x9c]
add eax, edx
cmp ecx, eax
cmovb ecx, eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x9c], ecx
lea ecx, [ebp - 0x9c]
push ecx
push eax
call fcn.00433170
mov edx, dword [ebp - 0x90]
mov ecx, eax
mov eax, dword [ebp - 0x9c]
push esi
push dword [ebp - 0xa0]
mov dword [ebp - 0x98], ecx
push ecx
mov dword [edx + 0x10], esi
mov dword [edx + 0x14], eax
call fcn.004b4120
mov ecx, dword [ebp - 0x98]
add esp, 0x14
mov eax, dword [ebp - 0xa4]
mov byte [esi + ecx], 0
cmp eax, 0xf
jbe 0x49f8bb
mov edx, dword [ebp - 0x90]
mov ecx, dword [edx]
lea edx, [eax + 1]
cmp edx, 0x1000
jb 0x49f894
mov esi, dword [ecx - 4]
add edx, 0x23
sub ecx, esi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x49fa1a
mov ecx, esi
push edx
push ecx
call fcn.004b25cf
mov ecx, dword [ebp - 0x90]
add esp, 8
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x90], 0
mov dword [ecx], eax
jmp 0x49f97b
mov eax, dword [ebp - 0x90]
mov dword [eax], ecx
mov dword [ebp - 0x90], 0
jmp 0x49f97b
mov esi, dword [ebp - 0x94]
test esi, esi
je 0x49f8f9
lea eax, [ebp - 0x40]
push eax
call fcn.00493a10
add esp, 4
mov dword [esi], eax
mov dword [ebp - 0x94], 0
jmp 0x49f97b
mov esi, dword [ebp - 0xa8]
test esi, esi
je 0x49f91d
lea eax, [ebp - 0x40]
push eax
call fcn.00493840
fstp qword [esi]
add esp, 4
mov dword [ebp - 0xa8], 0
jmp 0x49f97b
cmp dword [edi + 0x1c], 0x7ffffff
lea ecx, [edi + 0x18]
mov eax, dword [ecx]
mov dword [ebp - 0xa4], eax
je 0x49fa10
mov dword [ebp - 0x60], ecx
push 0x20
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x5c], 0
call fcn.004b259f
mov esi, eax
add esp, 4
lea eax, [ebp - 0x40]
mov dword [ebp - 0x5c], esi
lea ecx, [esi + 8]
push eax
call fcn.004459c0
mov ecx, dword [ebp - 0xa4]
inc dword [edi + 0x1c]
mov dword [ebp - 0x5c], 0
mov eax, dword [ecx + 4]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov dword [ecx + 4], esi
mov dword [eax], esi
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x10
cmp ecx, 0xf
jbe 0x49f9af
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x49f9a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x49fa1a
push ecx
push edx
call fcn.004b25cf
add esp, 8
mov eax, dword [ebp - 0xac]
inc eax
mov dword [ebp - 0xac], eax
cmp eax, dword [ebp + 8]
jl 0x49eb80
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b25dd
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xac]
sub ecx, 4
lea eax, [ecx + eax*4]
push eax
push 0x1a
lea eax, [ebp - 0x58]
push str.option_value_expected___
push eax
call fcn.0043c5d0
add esp, 0x10
mov byte [ebp - 4], 0x17
jmp 0x49fa3f
push str.list_too_long
call fcn.004b0c63
call fcn.004b789f
call fcn.0043f140
lea eax, [ebp - 0x28]
push eax
push 0x13
lea eax, [ebp - 0x58]
push str.unknown_option___
push eax
call fcn.0043c660
add esp, 0x10
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x64]
call fcn.00446130
push 0x543bbc
lea eax, [ebp - 0x64]
push eax
call fcn.004b3d03
call fcn.0043f130
int3