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

Disassembly:
sub esp, 0x12c
mov eax, dword [0x102ac760]
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 0x1028bd68
mov ecx, edi
mov dword [esp + 0x28], edi
mov word [edi + 4], ax
call fcn.10004210
mov edx, dword [0x102b0b9c]
mov eax, dword [edx + 0xc]
mov ecx, 0x102b0b9c
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.100d5e00
add esp, 0x1c
test eax, eax
jle 0x100e625b
xor ebx, ebx
mov edx, dword [0x102b0b9c]
mov eax, dword [edx + 0xc]
mov ecx, 0x102b0b9c
call eax
push ebx
push 0x1027e9e0
lea ecx, [esp + 0x18]
add eax, 0x10
push str._s_d
push ecx
mov dword [esp + 0x20], eax
call fcn.10004b00
mov esi, dword [esp + 0x20]
add esp, 0x10
cmp esi, ebp
je 0x100e5d9a
mov eax, dword [esp + 0x24]
cmp dword [eax - 0xc], ebp
jl 0x100e5d9a
push esi
push eax
call fcn.100b2ecd
add esp, 8
cmp eax, ebp
je 0x100e5d9a
sub eax, dword [esp + 0x24]
sar eax, 1
js 0x100e5d9a
lea eax, [esi - 0x10]
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x100e5d92
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc ebx
cmp ebx, 0xa
jl 0x100e5d20
jmp 0x100e5db6
lea eax, [esi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100e5db6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor esi, esi
cmp ebx, ebp
jle 0x100e625b
mov edx, dword [0x102b0b9c]
mov eax, dword [edx + 0xc]
mov ecx, 0x102b0b9c
call eax
mov edx, dword [0x102b0b9c]
add eax, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0xc]
mov ecx, 0x102b0b9c
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.10004b00
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.100d5e00
add esp, 0x38
test eax, eax
jle 0x100e5e52
mov eax, dword [esp + 0x10]
cmp dword [eax - 0xc], ebp
jl 0x100e5e52
push str.MMC_TYPESD_r
push eax
call fcn.100b2ecd
add esp, 8
cmp eax, ebp
je 0x100e5e52
sub eax, dword [esp + 0x10]
sar eax, 1
jns 0x100e5e9c
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100e5e6e
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 0x100e5e8e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc esi
cmp esi, ebx
jl 0x100e5dc0
jmp 0x100e6257
push 0x1028bd68
lea ecx, [esp + 0x18]
call fcn.10002e70
push ebp
push 0x1028bd68
lea ecx, [esp + 0x20]
call fcn.10003b90
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.10004b00
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.100d5e00
add esp, 0x38
push 0x1028bd68
push str.e_1_34m
lea ecx, [esp + 0x1c]
call fcn.10018390
push 0x1028bd68
push str.e_0m
lea ecx, [esp + 0x1c]
call fcn.10018390
mov eax, dword [esp + 0x14]
cmp dword [eax - 0xc], ebp
jle 0x100e61fb
xor ecx, ecx
push ebp
mov word [esp + 0x98], cx
push 0x1028bd68
lea ecx, [esp + 0x20]
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], ebp
call fcn.10003b90
lea edx, [esp + 0x28]
push edx
mov edi, 1
call fcn.100e53e0
add esp, 4
push ebp
push 0x1028bd68
lea ecx, [esp + 0x20]
call fcn.10003b90
mov eax, dword [esp + 0x14]
push 0x1027eb9c
push edi
push 0x1027eb98
push eax
push 0x10115730
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.10004b00
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.100d5d60
add esp, 0x54
cmp dword [esp + 0xa4], ebp
jbe 0x100e5ff3
push 6
push ebp
push str.MAJOR
lea ecx, [esp + 0x9c]
call fcn.10008ee0
cmp eax, 0xffffffff
jne 0x100e6296
inc edi
cmp edi, 0x32
jl 0x100e5f66
mov edi, 8
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x14], ebp
ja 0x100e61a7
mov eax, dword [esp + 0x14]
push 0x1027eb9c
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.10004b00
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.100d5d60
add esp, 0x44
cmp dword [esp + 0xa4], ebp
jbe 0x100e61a7
push 6
push ebp
push str.MAJOR
lea ecx, [esp + 0x9c]
call fcn.10008ee0
cmp eax, 0xffffffff
je 0x100e61a7
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.10004580
lea eax, [esp + 0xc8]
push eax
call fcn.100e45c0
add esp, 0x20
lea ecx, [esp + 0xc8]
push ecx
push 0x1027eaa0
lea edx, [esp + 0xb4]
push edx
lea eax, [esp + 0x54]
push eax
call fcn.10034cb0
add esp, 0xc
push eax
lea ecx, [esp + 0x7c]
push ecx
call fcn.10034d30
add esp, 0xc
cmp dword [esp + 0x60], edi
jb 0x100e60fd
mov edx, dword [esp + 0x4c]
push edx
call fcn.100b1e2a
add esp, 4
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
call fcn.100e3130
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x40]
cmp eax, ebp
je 0x100e6122
cmp eax, dword [esp + 0x28]
je 0x100e6127
call fcn.100b2342
cmp dword [esp + 0x1c], esi
je 0x100e616c
lea ecx, [esp + 0x18]
call fcn.100e2ef0
add eax, 0x1c
push eax
lea edx, [esp + 0x4c]
push str._dev_block_
push edx
call fcn.10034db0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0xffffffffffffffff
push ebp
push eax
call fcn.10004580
cmp dword [esp + 0x60], edi
jb 0x100e616c
mov eax, dword [esp + 0x4c]
push eax
call fcn.100b1e2a
add esp, 4
cmp dword [esp + 0x8c], edi
jb 0x100e6182
mov ecx, dword [esp + 0x78]
push ecx
call fcn.100b1e2a
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.100e3070
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.100e44e0
mov ecx, dword [esp + 0x40]
push ecx
call fcn.100b1e2a
mov edx, dword [esp + 0x2c]
push edx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
call fcn.100b1e2a
add esp, 8
cmp dword [esp + 0xa8], edi
jb 0x100e61fb
mov eax, dword [esp + 0x94]
push eax
call fcn.100b1e2a
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 0x100e621b
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 0x100e6237
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 0x100e6257
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 0x100e627b
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.100b2738
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.10004580
lea ecx, [esp + 0xc8]
push ecx
call fcn.100e45c0
add esp, 0x20
lea edx, [esp + 0xc8]
push edx
push 0x1027eaa0
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x54]
push ecx
call fcn.10034cb0
add esp, 0xc
push eax
lea edx, [esp + 0x7c]
push edx
call fcn.10034d30
add esp, 0xc
cmp dword [esp + 0x60], 8
jb 0x100e630f
mov eax, dword [esp + 0x4c]
push eax
call fcn.100b1e2a
add esp, 4
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x30]
call fcn.100e3130
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x70], eax
test ebp, ebp
je 0x100e6338
cmp ebp, dword [esp + 0x28]
je 0x100e633d
call fcn.100b2342
mov edi, dword [esp + 0x68]
cmp edi, dword [esp + 0x70]
je 0x100e639d
test ebp, ebp
jne 0x100e6398
call fcn.100b2342
cmp edi, dword [ebp + 0x18]
jne 0x100e635a
call fcn.100b2342
add edi, 0x28
push edi
lea ecx, [esp + 0x4c]
push str._dev_block_
push ecx
call fcn.10034db0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
call fcn.10004580
mov edi, 8
cmp dword [esp + 0x60], edi
jb 0x100e63a2
mov edx, dword [esp + 0x4c]
push edx
call fcn.100b1e2a
add esp, 4
jmp 0x100e63a2
mov ebp, dword [ebp]
jmp 0x100e6350
mov edi, 8
cmp dword [esp + 0x8c], edi
jb 0x100e63b8
mov eax, dword [esp + 0x78]
push eax
call fcn.100b1e2a
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.100e3070
xor ebp, ebp
jmp 0x100e6002