Function at 0x10001810
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x1003f040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push str.Enter_function
push str.SendMediaStatus
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderMediaStatusCommon.cpp
mov ebx, edx
mov esi, ecx
push 0
push 0x10041134
mov dword [ebp - 0x30], ebx
call fcn.100012d0
add esp, 0x14
push ebx
push esi
push str.mediaState___d__hidDevice__0x_p
push str.SendMediaStatus
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderMediaStatusCommon.cpp
push 1
push 0x10041134
call fcn.100012d0
add esp, 0x1c
test ebx, ebx
jne 0x100018bb
push str.hidDevice__NULL
push str.SendMediaStatus
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderMediaStatusCommon.cpp
push 1
push 0x10041134
call fcn.100012d0
add esp, 0x14
push str.Leave_function
push str.SendMediaStatus
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderMediaStatusCommon.cpp
push ebx
push 0x10041134
call fcn.100012d0
add esp, 0x14
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1000fcd7
mov esp, ebp
pop ebp
ret
mov byte [ebp - 9], 1
mov eax, 0x9b00
mov word [ebp - 0xc], ax
sub esi, 1
je 0x100018e3
sub esi, 1
je 0x100018dd
sub esi, 1
jne 0x100018a7
mov byte [ebp - 0xa], 9
jmp 0x100018e7
mov byte [ebp - 0xa], 0xa
jmp 0x100018e7
mov byte [ebp - 0xa], 0xb
push 0xa
call fcn.10018fed
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
test esi, esi
jne 0x1000190d
push str.Could_not_create_EAP_frame_
push str.SendMediaStatus
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderMediaStatusCommon.cpp
push 4
jmp 0x1000189a
mov eax, dword [ebp - 0xc]
push str.Enter_function
push str.SendHidOutputReport
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderUsbHidUtils.cpp
push 0
mov dword [esi], 0x70010
mov word [esi + 4], 0x101
push 0x1004117c
mov dword [esi + 6], eax
call fcn.100012d0
movzx edi, word [ebx + 0x1e]
xor edx, edx
add esp, 0x14
mov dword [ebp - 0x2c], edi
lea eax, [edi - 1]
movzx eax, ax
movzx ebx, ax
mov dword [ebp - 0x20], eax
mov eax, 0xa
div ebx
mov eax, 0xa
neg edx
sbb ecx, ecx
xor edx, edx
div ebx
neg ecx
movzx ebx, di
add cx, ax
movzx eax, cx
push ebx
mov dword [ebp - 0x24], eax
call fcn.10018fed
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
test edi, edi
jne 0x100019db
call fcn.10019f8c
push dword [eax]
call fcn.1001abd3
add esp, 4
push eax
push ebx
push str.malloc__hu__failed:__s
push str.SendHidOutputReport
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderUsbHidUtils.cpp
push 4
push 0x1004117c
call fcn.100012d0
add esp, 0x1c
push str.Leave_function
push str.SendHidOutputReport
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderUsbHidUtils.cpp
push 0
push 0x1004117c
call fcn.100012d0
add esp, 0x14
or esi, 0xffffffff
jmp 0x10001d3d
mov eax, dword [ebp - 0x24]
lea edx, [edi + 1]
movzx eax, ax
dec eax
mov byte [edi], 0x58
mov dword [ebp - 8], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x10001bf8
xor eax, eax
mov edi, dword [ebp - 0x20]
movzx ecx, di
imul eax, ecx
push ecx
add eax, esi
push eax
push edx
call fcn.10013cc0
add esp, 0xc
push str.Output_reports:
push str.SendHidOutputReport
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderUsbHidUtils.cpp
push 0
push 0x1004117c
call fcn.100012d0
add esp, 0x14
push ebx
call fcn.1000fcea
add esp, 4
mov dword [ebp - 0x18], eax
xor esi, esi
mov edi, eax
test ebx, ebx
je 0x10001b17
mov eax, dword [ebp - 0x10]
movzx ecx, byte [eax + esi]
push ecx
push str._02X
push ebx
push edi
call fcn.100012b0
inc esi
add esp, 0x10
add edi, eax
cmp esi, ebx
jl 0x10001a52
mov esi, dword [ebp - 0x18]
push esi
push str.SendHidOutputReport
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderUsbHidUtils.cpp
push 0
push 0x1004117c
call fcn.100012d0
add esp, 0x14
push esi
call fcn.1000fce5
mov edi, dword [ebp - 0x10]
add esp, 4
xor esi, esi
nop dword [eax + eax]
mov eax, dword [0x10040630]
push 0
push 2
mov eax, dword [eax + 4]
mov byte [eax + 0x10040670], 0x30
lea eax, [ebp - 0x48]
push eax
call fcn.10012ced
mov ecx, dword [0x10040630]
add esp, 0xc
push dword [eax + 0xc]
mov ecx, dword [ecx + 4]
push dword [eax + 8]
mov eax, dword [eax]
add ecx, 0x10040630
push ecx
call eax
mov eax, dword [0x10040630]
add esp, 0xc
mov ecx, dword [eax + 4]
add ecx, 0x10040644
mov eax, dword [ecx]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [ecx], eax
mov ecx, 0x10040630
movzx eax, byte [edi + esi]
push eax
call fcn.1000f910
mov dl, 0x20
mov ecx, eax
call fcn.10009560
inc esi
cmp esi, ebx
jl 0x10001aa0
jmp 0x10001b40
push eax
push str.SendHidOutputReport
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderUsbHidUtils.cpp
push 0
push 0x1004117c
call fcn.100012d0
mov esi, dword [ebp - 0x18]
add esp, 0x14
push esi
call fcn.1000fce5
mov edi, dword [ebp - 0x10]
add esp, 4
mov eax, dword [0x10040630]
push 0x10040630
mov ecx, dword [eax + 4]
add ecx, 0x10040644
mov eax, dword [ecx]
and eax, 0xfffff3ff
or eax, 0x200
mov dword [ecx], eax
call fcn.1000fab0
add esp, 4
lea eax, [ebp - 8]
push 0
push eax
mov eax, dword [ebp - 0x30]
push ebx
push edi
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10001b9f
mov eax, dword [ebp - 0x1c]
lea edx, [edi + 1]
mov esi, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x1c], eax
movzx eax, ax
cmp eax, dword [ebp - 0x34]
jl 0x10001a06
lea edx, [edi + 1]
jmp 0x10001bfb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.WriteFile___failed_with_GetLastError___lu
push str.SendHidOutputReport
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderUsbHidUtils.cpp
push 4
push 0x1004117c
call fcn.100012d0
add esp, 0x18
mov edx, str.WriteFile___failed_with_GetLastError
push esi
push ecx
mov ecx, 0x10040630
call fcn.100092c0
add esp, 4
mov ecx, eax
call fcn.10006c10
mov dl, 0xa
mov ecx, eax
call fcn.10009560
push edi
call fcn.10018fd2
add esp, 4
jmp 0x100019b5
mov dword [ebp - 0x28], edx
mov ebx, dword [ebp - 0x20]
movzx eax, bx
push eax
push 0
push edx
call fcn.10013b00
xor edx, edx
movzx ecx, bx
mov eax, 0xa
add esp, 0xc
div ecx
test edx, edx
je 0x10001c2c
movzx ecx, bx
mov eax, 0xa
xor edx, edx
div ecx
movzx ebx, dx
mov eax, dword [ebp - 0x24]
movzx eax, ax
movzx ecx, bx
dec eax
imul eax, ecx
push ecx
add eax, esi
push eax
push dword [ebp - 0x28]
call fcn.10013cc0
mov eax, dword [ebp - 0x2c]
add esp, 0xc
movzx ebx, ax
xor esi, esi
test ebx, ebx
je 0x10001cc9
mov eax, dword [0x10040630]
push 0
push 2
mov eax, dword [eax + 4]
mov byte [eax + 0x10040670], 0x30
lea eax, [ebp - 0x48]
push eax
call fcn.10012ced
mov ecx, dword [0x10040630]
add esp, 0xc
push dword [eax + 0xc]
mov ecx, dword [ecx + 4]
push dword [eax + 8]
mov eax, dword [eax]
add ecx, 0x10040630
push ecx
call eax
mov eax, dword [0x10040630]
add esp, 0xc
mov ecx, dword [eax + 4]
add ecx, 0x10040644
mov eax, dword [ecx]
and eax, 0xfffff9ff
or eax, 0x800
mov dword [ecx], eax
mov ecx, 0x10040630
movzx eax, byte [edi + esi]
push eax
call fcn.1000f910
mov dl, 0x20
mov ecx, eax
call fcn.10009560
inc esi
cmp esi, ebx
jl 0x10001c54
mov eax, dword [0x10040630]
push 0x10040630
mov ecx, dword [eax + 4]
add ecx, 0x10040644
mov eax, dword [ecx]
and eax, 0xfffff3ff
or eax, 0x200
mov dword [ecx], eax
call fcn.1000fab0
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 8]
add esp, 4
movzx eax, ax
push 0
push ecx
push eax
mov eax, dword [ebp - 0x30]
push edi
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x10001b9f
push edi
call fcn.10018fd2
add esp, 4
push str.Leave_function
push str.SendHidOutputReport
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderUsbHidUtils.cpp
push 0
push 0x1004117c
call fcn.100012d0
add esp, 0x14
xor esi, esi
push dword [ebp - 0x14]
call fcn.10018fd2
add esp, 4
push esi
push str.retCode___d
push str.SendMediaStatus
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderMediaStatusCommon.cpp
push 1
push 0x10041134
call fcn.100012d0
push str.Leave_function
push str.SendMediaStatus
push str.C:developmentprojectszeta_setup_tool_setuptool.masterelrond_setuptool_winMediaStatusProviderMediaStatusCommon.cpp
push 0
push 0x10041134
call fcn.100012d0
mov ecx, dword [ebp - 4]
add esp, 0x2c
mov eax, esi
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.1000fcd7
mov esp, ebp
pop ebp
ret