Function at 0x41f550
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4ba306
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x81c4
call fcn.00499c70
mov eax, dword [0x4ed310]
xor eax, esp
mov dword [esp + 0x81c0], eax
push ebx
push esi
push edi
mov eax, dword [0x4ed310]
xor eax, esp
push eax
lea eax, [esp + 0x81d8]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi + 0x2c]
mov byte [eax + 4], 1
mov eax, dword [edi + 0x2c]
lea esi, [esp + 0x10c]
mov bl, 0x2a
mov dword [esp + 0x10], edi
mov byte [eax + 4], 0
call fcn.004204f0
test al, al
jne 0x41f5d0
push str._mmcdevice_:_requesting_mode_sense_for_page_0x2a_failed.
call dword [0x4eece8]
add esp, 4
xor al, al
jmp 0x420336
xor esi, esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
lea eax, [esp + 0x10c]
lea ecx, [esp + 0x24]
mov dword [esp + 0x81e0], esi
call fcn.00421ba0
test al, al
jne 0x41f61f
push str._mmcdevice_:_parsing_of_mode_page_0x2a_failed.
call dword [0x4eece8]
mov eax, dword [esp + 0x74]
add esp, 4
cmp eax, esi
je 0x41f618
push eax
call fcn.0049855c
add esp, 4
xor al, al
jmp 0x420336
cmp byte [esp + 0x27], 0
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0x70], esi
mov dword [ebx + 0x74], esi
je 0x41f63a
mov dword [ebx + 0x70], 1
mov dword [ebx + 0x74], esi
cmp byte [esp + 0x28], 0
je 0x41f64b
mov eax, dword [ebx + 0x74]
or dword [ebx + 0x70], 2
mov dword [ebx + 0x74], eax
cmp byte [esp + 0x29], 0
je 0x41f65f
mov ecx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x200000
mov dword [ebx + 0x74], ecx
cmp byte [esp + 0x2a], 0
je 0x41f670
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 4
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x2b], 0
je 0x41f681
mov eax, dword [ebx + 0x74]
or dword [ebx + 0x70], 8
mov dword [ebx + 0x74], eax
cmp byte [esp + 0x2c], 0
je 0x41f692
mov ecx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x10
mov dword [ebx + 0x74], ecx
cmp byte [esp + 0x2d], 0
je 0x41f6a3
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x20
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x2e], 0
je 0x41f6b4
mov eax, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x40
mov dword [ebx + 0x74], eax
cmp byte [esp + 0x2f], 0
je 0x41f6c8
mov ecx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x400000
mov dword [ebx + 0x74], ecx
cmp byte [esp + 0x30], 0
mov ecx, 0x80
je 0x41f6dd
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], ecx
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x31], 0
mov eax, 0x100
je 0x41f6f2
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], eax
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x32], 0
je 0x41f706
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x800000
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x33], 0
je 0x41f71a
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x1000000
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x34], 0
je 0x41f72e
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x2000000
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x35], 0
je 0x41f742
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x4000000
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x36], 0
je 0x41f756
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x8000000
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x37], 0
je 0x41f76a
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x10000000
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x38], 0
je 0x41f77e
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x20000000
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x39], 0
je 0x41f792
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x40000000
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x3a], 0
je 0x41f7a6
mov edx, dword [ebx + 0x74]
or dword [ebx + 0x70], 0x80000000
mov dword [ebx + 0x74], edx
cmp byte [esp + 0x3b], 0
je 0x41f7b7
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 1
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x3c], 0
je 0x41f7c8
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 2
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x3d], 0
je 0x41f7d9
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 4
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x3e], 0
je 0x41f7ea
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 8
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x3f], 0
je 0x41f7fb
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x10
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x40], 0
je 0x41f80c
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x20
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x41], 0
je 0x41f81d
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x40
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x42], 0
je 0x41f82d
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], ecx
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x43], 0
je 0x41f83d
mov ecx, dword [ebx + 0x70]
or dword [ebx + 0x74], eax
mov dword [ebx + 0x70], ecx
cmp byte [esp + 0x44], 0
je 0x41f851
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x200
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x45], 0
je 0x41f865
mov eax, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x400
mov dword [ebx + 0x70], eax
cmp byte [esp + 0x4c], 0
je 0x41f879
mov ecx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x800
mov dword [ebx + 0x70], ecx
cmp byte [esp + 0x4d], 0
je 0x41f88d
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x1000
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x4e], 0
je 0x41f8a1
mov eax, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x2000
mov dword [ebx + 0x70], eax
cmp byte [esp + 0x4f], 0
je 0x41f8b5
mov ecx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x4000
mov dword [ebx + 0x70], ecx
cmp byte [esp + 0x50], 0
je 0x41f8c9
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x8000
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x51], 0
je 0x41f8dd
mov eax, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x10000
mov dword [ebx + 0x70], eax
cmp byte [esp + 0x5a], 0
je 0x41f8f1
mov ecx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x20000
mov dword [ebx + 0x70], ecx
cmp byte [esp + 0x5b], 0
je 0x41f905
mov edx, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x40000
mov dword [ebx + 0x70], edx
cmp byte [esp + 0x5c], 0
je 0x41f919
mov eax, dword [ebx + 0x70]
or dword [ebx + 0x74], 0x80000
mov dword [ebx + 0x70], eax
movzx ecx, word [esp + 0x54]
movzx edx, word [esp + 0x56]
movzx eax, word [esp + 0x68]
mov dword [ebx + 0x78], ecx
mov ecx, dword [esp + 0x48]
mov dword [ebx + 0x84], ecx
movzx ecx, word [esp + 0x52]
mov dword [ebx + 0x7c], edx
mov edx, dword [esp + 0x6c]
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x88], edx
movzx edx, word [esp + 0x58]
mov dword [ebx + 0x8c], eax
movzx eax, word [esp + 0x64]
mov dword [ebx + 0x90], ecx
movzx ecx, word [esp + 0x66]
lea esi, [ebx + 0xa0]
mov dword [ebx + 0x94], edx
mov dword [ebx + 0x98], eax
mov dword [ebx + 0x9c], ecx
mov eax, dword [esi + 4]
mov edi, dword [esi]
cmp edi, eax
je 0x41f9b0
mov ecx, eax
sub ecx, eax
sar ecx, 2
add ecx, ecx
add ecx, ecx
push ecx
push eax
push edi
mov dword [esp + 0x20], ecx
call fcn.00498a10
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, edi
mov dword [esi + 4], edx
mov eax, dword [ebx + 0x90]
fild dword [ebx + 0x90]
test eax, eax
jns 0x41f9c6
fadd qword [0x4d5488]
fdiv qword [0x4d54b8]
fadd qword [0x4d5470]
fnstcw word [esp + 0x1c]
movzx eax, word [esp + 0x1c]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
fldcw word [esp + 0x1c]
test eax, eax
je 0x41fae1
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 4]
imul edx, edx, 0xb0
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], edx
cmp ecx, eax
jae 0x41fa82
mov edi, dword [esi]
cmp edi, ecx
ja 0x41fa82
mov edx, ecx
mov ecx, dword [esi + 8]
sub edx, edi
sar edx, 2
mov dword [esp + 0x20], edx
cmp eax, ecx
jne 0x41fa70
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x41fc03
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x41fa70
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x41fa5e
xor ecx, ecx
jmp 0x41fa60
add ecx, edx
cmp ecx, eax
jae 0x41fa66
mov ecx, eax
push ecx
call fcn.0041ab00
mov edx, dword [esp + 0x20]
mov eax, dword [esi]
lea edx, [eax + edx*4]
mov eax, dword [esi + 4]
test eax, eax
je 0x41fad3
mov ecx, dword [edx]
mov dword [eax], ecx
jmp 0x41fad3
mov ecx, dword [esi + 8]
cmp eax, ecx
jne 0x41faca
mov edi, dword [esi]
sub eax, edi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x41fc03
sub ecx, edi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x41faca
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x41fab8
xor ecx, ecx
jmp 0x41faba
add ecx, edx
cmp ecx, eax
jae 0x41fac0
mov ecx, eax
push ecx
call fcn.0041ab00
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 4]
test eax, eax
je 0x41fad3
mov dword [eax], edx
add dword [esi + 4], 4
shr dword [esp + 0x14], 1
jne 0x41fa00
mov eax, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
mov ecx, eax
mov dword [esp + 0x18], edx
and ecx, 0x20
xor edx, edx
or ecx, edx
jne 0x41fb18
mov ecx, eax
and ecx, 0x40
or ecx, edx
jne 0x41fb18
mov ecx, eax
and ecx, 0x80
or ecx, edx
jne 0x41fb18
and eax, 0x100
or eax, ecx
je 0x41fe85
mov ecx, dword [ebx + 0xb4]
mov esi, dword [ebx + 0xb0]
lea edi, [ebx + 0xb0]
mov dword [esp + 0x14], edi
cmp esi, ecx
je 0x41fb53
mov eax, ecx
sub eax, ecx
sar eax, 2
add eax, eax
add eax, eax
push eax
push ecx
push esi
mov dword [esp + 0x2c], eax
call fcn.00498a10
add esp, 0xc
add esi, dword [esp + 0x20]
mov dword [edi + 4], esi
mov ecx, dword [ebx + 0x2c]
xor eax, eax
mov dword [esp + 0xec], eax
push 1
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf4], eax
mov byte [esp + 0xf3], al
push 0x18
lea eax, [esp + 0xfc]
push eax
push 0xc
lea eax, [esp + 0xf4]
mov byte [esp + 0xf4], 0xac
mov word [esp + 0xfd], 0x301
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
push eax
push ebx
call edx
test al, al
jne 0x41fc0d
push str._mmcdevice_:_warning:_GET_PERFORMANCE_stage_1_failed.
call dword [0x4eece8]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
add esp, 4
cmp esi, ebx
je 0x41fbeb
lea esp, [esp]
movzx eax, word [esi]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
call fcn.0041f070
add esi, 2
cmp esi, ebx
jne 0x41fbd0
mov esi, dword [esp + 0x70]
test esi, esi
je 0x41f618
push esi
call fcn.0049855c
add esp, 4
xor al, al
jmp 0x420336
push str.vector_T__too_long
call fcn.00497968
movzx edi, byte [esp + 0xf4]
movzx ecx, byte [esp + 0xf5]
movzx edx, byte [esp + 0xf6]
movzx eax, byte [esp + 0xf7]
shl edi, 8
or edi, ecx
shl edi, 8
or edi, edx
shl edi, 8
or edi, eax
add edi, 4
lea eax, [edi - 8]
shr eax, 4
mov dword [esp + 0x20], eax
xor eax, eax
lea ecx, [esp + 0x1c]
push ecx
lea esi, [esp + 0x88]
mov byte [esp + 0x20], 0x20
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
call fcn.00420620
mov byte [esp + 0x81e0], 1
mov ecx, dword [ebx + 0x2c]
xor eax, eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x20]
mov edx, eax
push 1
shr edx, 8
mov byte [esp + 0xf0], dl
mov edx, dword [esp + 0x88]
push edi
push edx
push 0xc
mov byte [esp + 0xfd], al
lea edx, [esp + 0xf4]
mov byte [esp + 0xf4], 0xac
mov word [esp + 0xfe], 3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
push edx
push ebx
call eax
test al, al
jne 0x41fd48
push str._mmcdevice_:_warning:_GET_PERFORMANCE_stage_2_failed.
call dword [0x4eece8]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
add esp, 4
cmp esi, ebx
je 0x41fd2b
mov edi, dword [esp + 0x14]
jmp 0x41fd10
movzx ecx, word [esi]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], ecx
call fcn.0041f070
add esi, 2
cmp esi, ebx
jne 0x41fd10
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x84]
test eax, eax
je 0x41fbeb
push eax
call fcn.0049855c
add esp, 4
jmp 0x41fbeb
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x14]
je 0x41fd94
mov esi, dword [esp + 0x84]
add esi, 0x15
lea ecx, [ecx]
movzx edx, byte [esi - 1]
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 8
or edx, ecx
shl edx, 8
or edx, eax
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edx
call fcn.0041f070
add esi, 0x10
dec dword [esp + 0x20]
jne 0x41fd60
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
jne 0x41fe63
mov edx, dword [ebx + 0x98]
fild dword [ebx + 0x98]
test edx, edx
jns 0x41fdb5
fadd qword [0x4d5488]
fdiv qword [0x4d54b8]
fadd qword [0x4d5470]
fnstcw word [esp + 0x1c]
movzx eax, word [esp + 0x1c]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 0x14]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], esi
fldcw word [esp + 0x1c]
test esi, esi
je 0x41fe63
nop
mov eax, dword [edi + 4]
imul esi, esi, 0xb0
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], esi
cmp ecx, eax
jae 0x41fe39
mov ecx, dword [edi]
lea edx, [esp + 0x14]
cmp ecx, edx
ja 0x41fe39
mov esi, edx
sub esi, ecx
sar esi, 2
cmp eax, dword [edi + 8]
jne 0x41fe27
mov ecx, 1
mov eax, edi
call fcn.0041aaa0
mov eax, dword [edi]
lea esi, [eax + esi*4]
mov eax, dword [edi + 4]
test eax, eax
je 0x41fe53
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x41fe53
cmp eax, dword [edi + 8]
jne 0x41fe4a
mov ecx, 1
mov eax, edi
call fcn.0041aaa0
mov eax, dword [edi + 4]
test eax, eax
je 0x41fe53
mov dword [eax], esi
mov esi, dword [esp + 0x20]
add dword [edi + 4], 4
shr esi, 1
mov dword [esp + 0x20], esi
jne 0x41fdf0
mov byte [esp + 0x81e0], 0
cmp dword [esp + 0x84], 0
je 0x41fe85
mov edx, dword [esp + 0x84]
push edx
call fcn.0049855c
add esp, 4
mov eax, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x70]
mov dword [esp + 0x18], eax
mov eax, ecx
and eax, 0x20
xor edx, edx
or eax, edx
jne 0x41febc
mov eax, ecx
and eax, 0x40
or eax, edx
jne 0x41febc
mov eax, ecx
and eax, 0x80
or eax, edx
jne 0x41febc
and ecx, 0x100
or ecx, eax
je 0x420004
mov edi, dword [esp + 0x10]
lea esi, [esp + 0x10c]
mov bl, 5
call fcn.004204f0
test al, al
jne 0x41feeb
push str._mmcdevice_:_requesting_mode_sense_for_page_0x05_failed.
call dword [0x4eece8]
mov eax, dword [esp + 0x74]
add esp, 4
test eax, eax
jmp 0x41f60d
lea eax, [esp + 0x10c]
lea ecx, [esp + 0x94]
call fcn.00421a50
test al, al
jne 0x41ff1b
push str._mmcdevice_:_parsing_of_mode_page_0x05_failed.
call dword [0x4eece8]
mov eax, dword [esp + 0x74]
add esp, 4
test eax, eax
jmp 0x41f60d
movzx edx, byte [esp + 0x10c]
movzx eax, byte [esp + 0x10d]
shl dx, 8
or dx, ax
add dx, 2
xor ecx, ecx
mov esi, edi
movzx edi, dx
mov word [esi + 0x6e], cx
lea ecx, [esp + 0x10c]
push ecx
mov edx, edi
call fcn.00420580
test al, al
je 0x41ff59
or word [esi + 0x6e], 1
lea edx, [esp + 0x10c]
push edx
mov edx, edi
call fcn.00420580
test al, al
je 0x41ff71
or word [esi + 0x6e], 2
lea eax, [esp + 0x10c]
push eax
mov edx, edi
call fcn.00420580
test al, al
je 0x41ff89
or word [esi + 0x6e], 4
lea ecx, [esp + 0x10c]
push ecx
mov edx, edi
call fcn.00420580
test al, al
je 0x41ffe4
lea edx, [esp + 0x10c]
push edx
mov edx, edi
call fcn.00420580
test al, al
je 0x41ffb4
or word [esi + 0x6e], 8
lea eax, [esp + 0x10c]
push eax
mov edx, edi
call fcn.00420580
test al, al
je 0x41ffcc
or word [esi + 0x6e], 0x10
lea ecx, [esp + 0x10c]
push ecx
mov edx, edi
call fcn.00420580
test al, al
je 0x41ffe4
or word [esi + 0x6e], 0x20
lea edx, [esp + 0x10c]
push edx
mov edx, edi
call fcn.00420580
test al, al
je 0x420002
mov eax, esi
or word [eax + 0x6e], 0x40
mov ebx, eax
jmp 0x420004
mov ebx, esi
mov ecx, ebx
call fcn.0041f4b0
test al, al
je 0x420152
mov edi, dword [esp + 0x10]
lea esi, [esp + 0x10c]
mov bl, 5
call fcn.004204f0
test al, al
jne 0x420042
push str._mmcdevice_:_requesting_mode_sense_for_page_0x05_failed.
call dword [0x4eece8]
mov eax, dword [esp + 0x74]
add esp, 4
test eax, eax
jmp 0x41f60d
lea eax, [esp + 0x10c]
lea ecx, [esp + 0x94]
call fcn.00421a50
test al, al
jne 0x420072
push str._mmcdevice_:_parsing_of_mode_page_0x05_failed.
call dword [0x4eece8]
mov eax, dword [esp + 0x74]
add esp, 4
test eax, eax
jmp 0x41f60d
movzx eax, byte [esp + 0x10c]
movzx ecx, byte [esp + 0x10d]
mov esi, dword [esp + 0x10]
shl ax, 8
or ax, cx
add ax, 2
movzx edi, ax
mov eax, esi
call fcn.0041f400
test al, al
jne 0x4200aa
mov eax, esi
call fcn.0041f420
test al, al
je 0x420116
lea eax, [esp + 0x94]
call fcn.00421b70
lea edx, [esp + 0x10c]
push edx
mov edx, edi
call fcn.00420580
test al, al
jne 0x4200f6
lea eax, [esp + 0x94]
call fcn.00421b70
lea eax, [esp + 0x10c]
push eax
mov edx, edi
call fcn.00420580
test al, al
jne 0x4200f6
push str._mmcdevice_:_unable_to_reset_page_0x05.
call dword [0x4eece8]
add esp, 4
lea ecx, [esp + 0x10c]
push ecx
mov edx, edi
call fcn.00420580
test al, al
je 0x420116
mov edx, dword [esi + 0x70]
or dword [esi + 0x74], 0x400000
mov dword [esi + 0x70], edx
mov eax, esi
call fcn.0041f400
test al, al
je 0x420138
cmp byte [esp + 0x96], 0x1a
jb 0x420138
mov eax, dword [esi + 0x70]
or dword [esi + 0x74], 0x800000
mov dword [esi + 0x70], eax
mov eax, esi
call fcn.0041f420
test al, al
je 0x420152
mov eax, esi
mov ecx, dword [eax + 0x70]
or dword [eax + 0x74], 0x1000000
mov dword [eax + 0x70], ecx
push 0x8000
lea edx, [esp + 0x1d0]
push 0
push edx
call fcn.00499330
mov esi, dword [esp + 0x1c]
add esp, 0xc
mov ebx, 0x8000
lea edi, [esp + 0x1cc]
call fcn.00420480
test al, al
je 0x420310
lea edi, [esp + 0x1d4]
mov ebx, 0x100000
movzx eax, byte [edi]
movzx ecx, byte [edi + 1]
shl ax, 8
movzx eax, ax
or eax, ecx
add eax, 0xffffffe3
cmp eax, 0x34
ja case.0x4201b5.31
movzx edx, byte [eax + 0x420388]
jmp dword [edx*4 + 0x42035c]
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x74]
or dword [esi + 0x70], 0x200
push 7
mov ecx, esi
mov dword [esi + 0x74], eax
call fcn.0041f500
test al, al
je case.0x4201b5.31
mov ecx, dword [esi + 0x74]
or dword [esi + 0x70], 0x8000
mov dword [esi + 0x74], ecx
jmp case.0x4201b5.31
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x74]
or dword [ecx + 0x70], 0x400
push 7
mov dword [ecx + 0x74], edx
call fcn.0041f500
test al, al
je case.0x4201b5.31
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x74]
or dword [eax + 0x70], 0x10000
mov dword [eax + 0x74], ecx
jmp case.0x4201b5.31
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x74]
or dword [ecx + 0x70], 0x800
push 7
mov dword [ecx + 0x74], edx
call fcn.0041f500
test al, al
je case.0x4201b5.31
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x74]
or dword [eax + 0x70], 0x20000
mov dword [eax + 0x74], ecx
jmp case.0x4201b5.31
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x74]
or dword [ecx + 0x70], 0x1000
push 7
mov dword [ecx + 0x74], edx
call fcn.0041f500
test al, al
je case.0x4201b5.31
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x74]
or dword [eax + 0x70], 0x40000
mov dword [eax + 0x74], ecx
jmp case.0x4201b5.31
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x74]
or dword [eax + 0x70], 0x2000
mov dword [eax + 0x74], edx
jmp case.0x4201b5.31
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x74]
or dword [eax + 0x70], 0x80000
mov dword [eax + 0x74], ecx
jmp case.0x4201b5.31
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x74]
or dword [eax + 0x70], 0x4000
mov dword [eax + 0x74], edx
jmp case.0x4201b5.31
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x74]
or dword [eax + 0x70], ebx
mov dword [eax + 0x74], ecx
jmp case.0x4201b5.31
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x70]
or dword [eax + 0x74], ebx
mov dword [eax + 0x70], edx
jmp case.0x4201b5.31
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x70]
or dword [eax + 0x74], 0x200000
mov dword [eax + 0x70], ecx
movzx edx, byte [edi + 3]
lea edi, [edi + edx + 4]
lea eax, [esp + 0x81cc]
cmp edi, eax
jb 0x420192
jmp 0x420323
push 0x8000
push str._mmcdevice_:_requesting_configuration_with_buffer_size__d_failed.
call dword [0x4eece8]
add esp, 8
mov eax, dword [esp + 0x70]
test eax, eax
je 0x420334
push eax
call fcn.0049855c
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x81d8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x81c0]
xor ecx, esp
call fcn.00499155
mov esp, ebp
pop ebp
ret