Function at 0x402e20
Capabilities:
Check mutex on windows
Read .ini file

Disassembly:
mov eax, 0x1410
call fcn.00405f20
mov eax, dword [0x41b00c]
xor eax, esp
mov dword [esp + 0x140c], eax
push ebp
mov ebp, dword [esp + 0x1420]
push 0x414c1c
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x402e76
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x140c]
xor ecx, esp
call fcn.00405622
add esp, 0x1410
ret 0x10
push ebx
push esi
push edi
call fcn.00402180
mov eax, dword [esp + 0x1424]
push 0x41c728
push str.UsbStart
mov dword [0x41c934], eax
call fcn.004013f0
push eax
call fcn.00401700
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0xc
push 0x41c728
push 0x400
lea ecx, [esp + 0x1c]
push ecx
push 0x414414
push str.REGIST_SETUP_MSG
push str.USB_REGIST
mov ebx, 1
xor edi, edi
call esi
lea edx, [esp + 0x14]
push edx
push 0x414bdc
call fcn.00405e86
add esp, 8
test eax, eax
jne 0x402ee7
xor ebx, ebx
push 0x41c728
push 0x400
lea eax, [esp + 0x1c]
push eax
push 0x414414
push str.REGIST_PW
push str.USB_REGIST
call esi
lea ecx, [esp + 0x14]
push ecx
push 0x414bc0
call fcn.00405e86
add esp, 8
test eax, eax
jne 0x402f20
lea edi, [eax + 1]
call fcn.00401fa0
test eax, eax
jne 0x402f66
push 0x41c728
push 0x400
lea edx, [esp + 0x1c]
push edx
push 0x414414
push str.WINVER_NG
push str.USB_REGIST
call esi
push 0x40010
call fcn.00404240
push eax
lea eax, [esp + 0x1c]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4033e1
call dword [sym.imp.SHELL32.dll_IsUserAnAdmin]
test eax, eax
jne 0x402fad
push 0x41c728
push 0x400
lea ecx, [esp + 0x1c]
push ecx
push 0x414414
push str.ACCOUNT_NG
push str.USB_REGIST
call esi
push 0x40010
call fcn.00404240
push eax
lea edx, [esp + 0x1c]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4033e1
test edi, edi
je 0x403057
call fcn.00401040
mov edi, eax
cmp edi, 0x1f6
je 0x4033e1
cmp edi, 0x1f5
je 0x403057
push 0x41c728
cmp edi, 0x1fd
jne 0x403001
push 0x100
lea eax, [esp + 0x81c]
push eax
push 0x414414
push 0x414b74
push str.USB_REGIST
call esi
jmp 0x403037
push 0x400
lea ecx, [esp + 0x1c]
push ecx
push 0x414414
push str.ERROR_OTHER
push str.USB_REGIST
call esi
push edi
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x81c]
push str._s__d_
push eax
call fcn.00402b90
add esp, 0x10
push 0x40010
call fcn.00404240
push eax
lea ecx, [esp + 0x81c]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4033e1
call fcn.00404240
push eax
push 0x40
push 0x41c938
call fcn.00405f4b
push 0x414b70
push 0x40
push 0x41c938
call fcn.00405c71
push str.Ver.5.5.0
push 0x40
push 0x41c938
call fcn.00405c71
call fcn.00404240
push eax
push 0x40
push 0x41c6a8
call fcn.00405f4b
push 0x414b54
push 0x40
push 0x41c6a8
call fcn.00405c71
push str.Ver.5.5.0
push 0x40
push 0x41c6a8
call fcn.00405c71
add esp, 0x48
push str._Update
push ebp
call fcn.00411f7a
add esp, 8
test eax, eax
jne 0x4030de
call fcn.00402bd0
jmp 0x4033e3
xor edi, edi
test ebx, ebx
jne 0x4030e7
lea edi, [ebx + 1]
push 0x414b48
push ebp
call fcn.00411f7a
add esp, 8
test eax, eax
jne 0x4030fe
mov edi, 1
push edi
push str.SILENT_d
call fcn.004020a0
push str.UsbEntCGService_v4
lea edx, [esp + 0xa20]
push str.SystemCurrentControlSetServices_s
push edx
call fcn.00402b70
add esp, 0x14
lea eax, [esp + 0x10]
push eax
push 0xf003f
push 0
lea ecx, [esp + 0xa20]
push ecx
push 0x80000002
mov dword [esp + 0x24], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x403268
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x41c728
push 0x400
lea eax, [esp + 0x1c]
push eax
push 0x414414
push str.ALREADY_EXIST
push str.USB_REGIST
call esi
mov ebx, dword [sym.imp.USER32.dll_MessageBoxW]
test edi, edi
jne 0x4031a4
push 0x40024
call fcn.00404240
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0
call ebx
cmp eax, 6
jne 0x4033e1
call fcn.004014b0
test eax, eax
je 0x4031e6
push 0x41c728
push 0x400
lea edx, [esp + 0x1c]
push edx
push 0x414414
push str.CANNOTUNINSTALL
push str.USB_REGIST
call esi
push 0x40010
call fcn.00404240
push eax
lea eax, [esp + 0x1c]
push eax
push 0
call ebx
jmp 0x4033e1
call fcn.00402a50
test eax, eax
je 0x40322f
test edi, edi
jne 0x4033e1
push 0x41c728
push 0x400
lea ecx, [esp + 0x1c]
push ecx
push 0x414414
push str.UNINSTALL_OK
push str.USB_REGIST
call esi
push 0x40040
call fcn.00404240
push eax
lea edx, [esp + 0x1c]
push edx
push edi
call ebx
jmp 0x4033e1
push 0x41c728
push 0x400
lea eax, [esp + 0x1c]
push eax
push 0x414414
push str.UNINSTALL_NG
push str.USB_REGIST
call esi
push 0x40010
call fcn.00404240
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0
call ebx
jmp 0x4033e1
push 0x41c930
call fcn.00401000
mov ebx, eax
add esp, 4
cmp ebx, 0x1f6
je 0x4033e1
push 0x41c728
push 0x400
cmp ebx, 0x1f5
je 0x4032e6
lea edx, [esp + 0x1c]
push edx
push 0x414414
push str.ERROR_OTHER
push str.USB_REGIST
call esi
push ebx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x81c]
push str._s__d_
push ecx
call fcn.00402b90
add esp, 0x10
push 0x40010
call fcn.00404240
push eax
lea edx, [esp + 0x81c]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4033e1
lea eax, [esp + 0x1c]
push eax
push 0x414414
push str.CONFIRM
push str.USB_REGIST
call esi
mov ecx, dword [0x41c930]
push ecx
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0xc24]
push eax
call fcn.00402bb0
mov ebx, dword [sym.imp.USER32.dll_MessageBoxW]
add esp, 0xc
test edi, edi
jne 0x403342
push 0x40024
call fcn.00404240
push eax
lea ecx, [esp + 0xc24]
push ecx
push 0
call ebx
cmp eax, 6
jne 0x4033e1
call fcn.00402230
test eax, eax
jne 0x403369
push 0x41c728
push 0x400
lea edx, [esp + 0x1c]
push edx
push 0x414414
push str.CANNOTINSTALL
jmp 0x4031c6
call fcn.004023e0
test eax, eax
je 0x4033a8
test edi, edi
jne 0x4033dc
push 0x41c728
push 0x400
lea ecx, [esp + 0x1c]
push ecx
push 0x414414
push str.INSTALL_OK
push str.USB_REGIST
call esi
push 0x40040
call fcn.00404240
push eax
lea edx, [esp + 0x1c]
push edx
jmp 0x4033d8
push 0x41c728
push 0x400
lea eax, [esp + 0x1c]
push eax
push 0x414414
push str.INSTALL_NG
push str.USB_REGIST
call esi
push 0x40010
call fcn.00404240
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0
call ebx
call fcn.00402390
xor eax, eax
mov ecx, dword [esp + 0x141c]
pop edi
pop esi
pop ebx
pop ebp
xor ecx, esp
call fcn.00405622
add esp, 0x1410
ret 0x10