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

Disassembly:
sub esp, 0x12c
mov eax, dword [0x4f4970]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x140]
xor ebp, ebp
push ebp
xor eax, eax
mov dword [edi + 0x18], 7
mov dword [edi + 0x14], ebp
push 0x4da280
mov ecx, edi
mov dword [esp + 0x28], edi
mov word [edi + 4], ax
call fcn.0040d270
mov edx, dword [0x4f9bc0]
mov eax, dword [edx + 0xc]
mov ecx, 0x4f9bc0
call eax
push ebp
push 1
push 1
push ebp
push 0x4e20
lea ecx, [esp + 0x38]
push ecx
add eax, 0x10
push str.dshell_ls__sys_class_mmc_host
mov dword [esp + 0x40], eax
call fcn.0048f300
add esp, 0x1c
test eax, eax
jle 0x4acd1b
xor ebx, ebx
mov edx, dword [0x4f9bc0]
mov eax, dword [edx + 0xc]
mov ecx, 0x4f9bc0
call eax
push ebx
push 0x4d64f8
lea ecx, [esp + 0x18]
add eax, 0x10
push str._s_d
push ecx
mov dword [esp + 0x20], eax
call fcn.0040e7a0
mov esi, dword [esp + 0x20]
add esp, 0x10
cmp esi, ebp
je 0x4ac85a
mov eax, dword [esp + 0x24]
cmp dword [eax - 0xc], ebp
jl 0x4ac85a
push esi
push eax
call fcn.0046f02d
add esp, 8
cmp eax, ebp
je 0x4ac85a
sub eax, dword [esp + 0x24]
sar eax, 1
js 0x4ac85a
lea eax, [esi - 0x10]
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4ac852
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc ebx
cmp ebx, 0xa
jl 0x4ac7e0
jmp 0x4ac876
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ac876
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor esi, esi
cmp ebx, ebp
jle 0x4acd1b
mov edx, dword [0x4f9bc0]
mov eax, dword [edx + 0xc]
mov ecx, 0x4f9bc0
call eax
mov edx, dword [0x4f9bc0]
add eax, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0xc]
mov ecx, 0x4f9bc0
call eax
push str.:_uevent
push esi
push str._mmc
push esi
push str.dshell_cat__sys_class_mmc_host_mmc
lea ecx, [esp + 0x2c]
add eax, 0x10
push str._s_d_s_d_s
push ecx
mov dword [esp + 0x34], eax
call fcn.0040e7a0
mov edi, dword [esp + 0x34]
push ebp
push 1
push 1
push ebp
push 0x4e20
lea edx, [esp + 0x40]
push edx
push edi
call fcn.0048f300
add esp, 0x38
test eax, eax
jle 0x4ac912
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], ebp
jl 0x4ac912
push str.MMC_TYPESD_r
push eax
call fcn.0046f02d
add esp, 8
cmp eax, ebp
je 0x4ac912
sub eax, dword [esp + 0x10]
sar eax, 1
jns 0x4ac95c
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ac92e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4ac94e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebx
jl 0x4ac880
jmp 0x4acd17
push 0x4da280
lea ecx, [esp + 0x18]
call fcn.00409e10
push ebp
push 0x4da280
lea ecx, [esp + 0x20]
call fcn.0040cd10
push str.:_block
push esi
push str._mmc
push esi
push str.dshell_ls__sys_class_mmc_host_mmc
lea ecx, [esp + 0x2c]
push str._s_d_s_d_s
push ecx
call fcn.0040e7a0
mov ebx, dword [esp + 0x34]
push ebp
push 1
push 1
push ebp
push 0x4e20
lea edx, [esp + 0x44]
push edx
push ebx
call fcn.0048f300
add esp, 0x38
push 0x4da280
push str.e_1_34m
lea ecx, [esp + 0x1c]
call fcn.00409fb0
push 0x4da280
push str.e_0m
lea ecx, [esp + 0x1c]
call fcn.00409fb0
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], ebp
jle 0x4accbb
xor ecx, ecx
push ebp
mov word [esp + 0x98], cx
push 0x4da280
lea ecx, [esp + 0x20]
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], ebp
call fcn.0040cd10
lea edx, [esp + 0x28]
push edx
mov edi, 1
call fcn.004abb60
add esp, 4
push ebp
push 0x4da280
lea ecx, [esp + 0x20]
call fcn.0040cd10
mov eax, dword [esp + 0x14]
push 0x4d67bc
push edi
push 0x4d67b8
push eax
push 0x4cedc0
push eax
push str.:_block_
push esi
push str._mmc
push esi
push str.dshell_cat__sys_class_mmc_host_mmc
lea eax, [esp + 0x44]
push str._s_d_s_d_s_s_s_s_s_d_s
push eax
call fcn.0040e7a0
mov ebx, dword [esp + 0x4c]
push 1
push ebp
push 1
push 1
push ebp
push 0x4e20
lea ecx, [esp + 0xdc]
push ecx
push ebx
call fcn.0048f260
add esp, 0x54
cmp dword [esp + 0xa4], ebp
jbe 0x4acab3
push 6
push ebp
push str.MAJOR
lea ecx, [esp + 0x9c]
call fcn.0040c1c0
cmp eax, 0xffffffff
jne 0x4acd56
inc edi
cmp edi, 0x32
jl 0x4aca26
mov edi, 8
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x14], ebp
ja 0x4acc67
mov eax, dword [esp + 0x14]
push 0x4d67bc
push eax
push str.:_block_
push esi
push str._mmc
push esi
push str.dshell_cat__sys_class_mmc_host_mmc
lea ecx, [esp + 0x34]
push str._s_d_s_d_s_s_s
push ecx
call fcn.0040e7a0
mov ebx, dword [esp + 0x3c]
push 1
push ebp
push 1
push 1
push ebp
push 0x4e20
lea edx, [esp + 0xcc]
push edx
push ebx
call fcn.0048f260
add esp, 0x44
cmp dword [esp + 0xa4], ebp
jbe 0x4acc67
push 6
push ebp
push str.MAJOR
lea ecx, [esp + 0x9c]
call fcn.0040c1c0
cmp eax, 0xffffffff
je 0x4acc67
sub esp, 0x1c
mov ecx, esp
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0xb4]
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebp
push edx
mov word [ecx + 4], ax
call fcn.0040bd30
lea eax, [esp + 0xc8]
push eax
call fcn.004aa230
add esp, 0x20
lea ecx, [esp + 0xc8]
push ecx
push 0x4dd29c
lea edx, [esp + 0xb4]
push edx
lea eax, [esp + 0x54]
push eax
call fcn.0043d2f0
add esp, 0xc
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.0043d270
add esp, 0xc
cmp dword [esp + 0x60], edi
jb 0x4acbbd
mov edx, dword [esp + 0x4c]
push edx
call fcn.0046d0e6
add esp, 4
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
call fcn.0049efa0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x40]
cmp eax, ebp
je 0x4acbe2
cmp eax, dword [esp + 0x28]
je 0x4acbe7
call fcn.0046d2c9
cmp dword [esp + 0x1c], esi
je 0x4acc2c
lea ecx, [esp + 0x18]
call fcn.0049ea10
add eax, 0x1c
push eax
lea edx, [esp + 0x4c]
push str._dev_block_
push edx
call fcn.0044be40
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0xffffffffffffffff
push ebp
push eax
call fcn.0040bd30
cmp dword [esp + 0x60], edi
jb 0x4acc2c
mov eax, dword [esp + 0x4c]
push eax
call fcn.0046d0e6
add esp, 4
cmp dword [esp + 0x8c], edi
jb 0x4acc42
mov ecx, dword [esp + 0x78]
push ecx
call fcn.0046d0e6
add esp, 4
xor edx, edx
lea ecx, [esp + 0xac]
mov dword [esp + 0x8c], 7
mov dword [esp + 0x88], ebp
mov word [esp + 0x78], dx
call fcn.004a6430
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov edx, dword [eax]
push eax
push ecx
push edx
push ecx
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x3c]
call fcn.004a0300
mov ecx, dword [esp + 0x40]
push ecx
call fcn.0046d0e6
mov edx, dword [esp + 0x2c]
push edx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
call fcn.0046d0e6
add esp, 8
cmp dword [esp + 0xa8], edi
jb 0x4accbb
mov eax, dword [esp + 0x94]
push eax
call fcn.0046d0e6
add esp, 4
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4accdb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4accf7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acd17
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4acd3b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x138]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0046da8a
add esp, 0x12c
ret
sub esp, 0x1c
mov ecx, esp
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0xb4]
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebp
push eax
mov word [ecx + 4], dx
call fcn.0040bd30
lea ecx, [esp + 0xc8]
push ecx
call fcn.004aa230
add esp, 0x20
lea edx, [esp + 0xc8]
push edx
push 0x4dd29c
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x54]
push ecx
call fcn.0043d2f0
add esp, 0xc
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.0043d270
add esp, 0xc
cmp dword [esp + 0x60], 8
jb 0x4acdcf
mov eax, dword [esp + 0x4c]
push eax
call fcn.0046d0e6
add esp, 4
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x30]
call fcn.0049efa0
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x70], eax
test ebp, ebp
je 0x4acdf8
cmp ebp, dword [esp + 0x28]
je 0x4acdfd
call fcn.0046d2c9
mov edi, dword [esp + 0x68]
cmp edi, dword [esp + 0x70]
je 0x4ace5d
test ebp, ebp
jne 0x4ace58
call fcn.0046d2c9
cmp edi, dword [ebp + 0x18]
jne 0x4ace1a
call fcn.0046d2c9
add edi, 0x28
push edi
lea ecx, [esp + 0x4c]
push str._dev_block_
push ecx
call fcn.0044be40
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
call fcn.0040bd30
mov edi, 8
cmp dword [esp + 0x60], edi
jb 0x4ace62
mov edx, dword [esp + 0x4c]
push edx
call fcn.0046d0e6
add esp, 4
jmp 0x4ace62
mov ebp, dword [ebp]
jmp 0x4ace10
mov edi, 8
cmp dword [esp + 0x8c], edi
jb 0x4ace78
mov eax, dword [esp + 0x78]
push eax
call fcn.0046d0e6
add esp, 4
xor ecx, ecx
mov word [esp + 0x78], cx
lea ecx, [esp + 0xac]
mov dword [esp + 0x8c], 7
mov dword [esp + 0x88], 0
call fcn.004a6430
xor ebp, ebp
jmp 0x4acac2