Function at 0x402dd0
Capabilities:
Extract resource via kernel32 functions
Read file on windows

Disassembly:
mov eax, 0x10108
call fcn.00403800
push ebx
push ebp
push esi
push edi
mov ebp, ecx
push 0x3e9
call sub.MFC42.DLL_CWnd::GetDlgItem
push 0
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edi, eax
mov eax, dword [esp + 0x1011c]
cmp eax, 3
jne 0x402e10
push str.BOOT_IMG
push 0x92
jmp 0x402e1a
push str.AUTO_IMG
push 0x94
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov ebx, eax
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push ebx
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
mov dword [esp + 0x10], eax
jne 0x402e53
mov ecx, ebp
call fcn.004019a0
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x10108
ret 4
mov ecx, 0x3a
xor eax, eax
lea edi, [esp + 0x30]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 0x74]
lea eax, [esp + 0x30]
push eax
push ecx
call sub.USBIO.dll_GetDeviceInfo
shr esi, 9
inc esi
xor edx, edx
mov eax, esi
mov dword [esp + 0x20], esi
div dword [esp + 0x6c]
mov edx, dword [esp + 0x10]
push edx
mov ebx, eax
inc ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
lea eax, [esi + 0x200]
shl eax, 9
push eax
call sub.MFC42.DLL_operatornew
mov ecx, esi
mov esi, edi
shl ecx, 9
sub ecx, 0x200
mov edi, eax
mov edx, ecx
mov dword [esp + 0x18], eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0x2710
and ecx, 3
push 0x2710
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 0x74]
push ebx
push eax
call fcn.004033e0
add esp, 0x14
test eax, eax
jne 0x402ef5
mov ecx, dword [esp + 0x14]
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10108
ret 4
mov edx, dword [ebp + 0x74]
push 5
push edx
call fcn.00403140
add esp, 8
test eax, eax
jne 0x402f23
mov eax, dword [esp + 0x14]
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10108
ret 4
mov ecx, dword [esp + 0x28]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
mov edx, dword [ecx + 0x20]
push 0x402
push edx
call edi
mov eax, dword [esp + 0x6c]
xor esi, esi
imul eax, ebx
test eax, eax
jbe 0x402fd2
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x28]
push 0
push 0
push 0x408
mov eax, dword [edx + 0x20]
push eax
call edi
mov ecx, dword [esp + 0x28]
add eax, 5
push 0
push eax
mov edx, dword [ecx + 0x20]
push 0x402
push edx
call edi
cmp dword [esp + 0x10], 3
jle 0x402f8c
mov dword [esp + 0x10], 0
cmp esi, dword [esp + 0x20]
ja 0x402fb3
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x74]
push 0xff
push eax
push 0x80
push esi
push ecx
call sub.USBIO.dll_WriteDisk
test eax, eax
je 0x402f07
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
imul edx, ebx
add esi, 0x80
add ecx, 0x10000
cmp esi, edx
mov dword [esp + 0x18], ecx
jb 0x402f55
mov ecx, dword [ebp + 0x74]
push 3
push ecx
call fcn.00403140
mov edx, dword [esp + 0x1c]
push edx
call sub.MFC42.DLL_operatordelete
mov ecx, dword [ebp + 0x74]
lea eax, [esp + 0x33]
xor esi, esi
push eax
push ecx
mov dword [esp + 0x30], esi
call fcn.00403180
mov ecx, dword [ebp + 0x74]
add esp, 0x14
lea edx, [esp + 0x2c]
lea eax, [esp + 0x1c]
push edx
push eax
push ecx
call sub.USBIO.dll_ReadLogicCapacoty
mov eax, dword [esp + 0x1c]
push 0x1900
sub eax, 0x200
push eax
push 0x20
push 0x10
mov dword [esp + 0x2c], eax
call sub.Format_DLL.dll_void___cdecl_Disk_T_unsigned_char__unsigned_char__unsigned_long_int__unsigned_long_int_
add esp, 0x10
call sub.Format_DLL.dll_int___cdecl_CreateDisk_void_
call sub.Format_DLL.dll_unsigned_long_int___cdecl_FlushImageDisk_void_
call sub.Format_DLL.dll_void____cdecl_GetFilehandle_void_
mov dword [esp + 0x20], eax
cmp dword [esp + 0x10], 3
jle 0x403052
mov dword [esp + 0x10], 0
mov ecx, 0x4000
xor eax, eax
lea edi, [esp + 0x118]
lea edx, [esp + 0x18]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x120]
push 0x10000
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4030de
mov edi, dword [esp + 0x1c]
lea ebx, [esi + 0x80]
cmp ebx, edi
jbe 0x4030d7
sub edi, esi
test edi, edi
je 0x4030e5
mov eax, dword [ebp + 0x74]
lea edx, [esp + 0x118]
push 0xff
push edx
push edi
push esi
push eax
call sub.USBIO.dll_WriteDisk
test eax, eax
je 0x4030de
cmp edi, 0x80
jl 0x4030e5
mov esi, ebx
cmp esi, 0x1900
jl 0x403043
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10108
ret 4
mov edi, 0x80
jmp 0x403098
call sub.Format_DLL.dll_void___cdecl_Disk_Close_void_
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10108
ret 4