Function at 0x4038e0
Capabilities:
Write file on windows

Disassembly:
push ebx
push ebp
push esi
push edi
push 0x9004
call fcn.004041d7
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x40392c
push 0x9000
lea eax, [ebx + 4]
push 0
push eax
mov dword [ebx], vtable.PRE_RES.0
call fcn.0040a980
add esp, 0xc
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push ebx
push 0x4037b0
push 0x410f58
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesA]
jmp 0x40392e
xor ebx, ebx
push str.cbrom
call fcn.00403760
mov edi, dword [eax + 0x44]
push str.cbrom
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push str.cbrom.exe
call fcn.00404545
mov esi, eax
add esp, 8
test esi, esi
je 0x40397a
push esi
push edi
push 1
push ebp
call fcn.004046be
add esp, 0x10
push esi
cmp eax, edi
je 0x403981
call fcn.004047b7
add esp, 4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
ret
call fcn.004047b7
add esp, 4
push 0x410f74
call fcn.00403760
mov edi, dword [eax + 0x44]
push 0x410f74
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push str.isa.bin
call fcn.00404545
mov esi, eax
add esp, 8
test esi, esi
je 0x40397a
push esi
push edi
push 1
push ebp
call fcn.004046be
add esp, 0x10
push esi
cmp eax, edi
jne 0x403972
call fcn.004047b7
mov eax, dword [esp + 0x18]
add esp, 4
sub eax, 1
je 0x403c05
sub eax, 1
je 0x403ad8
sub eax, 1
jne 0x40397a
push str.winflash1_0
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.winflash1_0
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push str.winflash.exe
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebp
call fcn.004038b0
test al, al
je 0x40397a
push str.winflash1_1
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.winflash1_1
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push str.winflash.sys
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebp
call fcn.004038b0
test al, al
je 0x40397a
push str.winflash1_2
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.winflash1_2
call fcn.00403760
mov ebx, dword [eax + 0x40]
push 0x410f54
push str.winflash64.sys
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebx
call fcn.004038b0
test al, al
je 0x40397a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [ecx], 0x402ff0
mov dword [edx], 0x402a30
jmp 0x403d72
push str.giga2_0
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.giga2_0
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push str.gwflash2.exe
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebp
call fcn.004038b0
test al, al
je 0x40397a
push str.giga2_1
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.giga2_1
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push 0x410fec
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebp
call fcn.004038b0
test al, al
je 0x40397a
push str.giga2_2
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.giga2_2
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push 0x411000
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebp
call fcn.004038b0
test al, al
je 0x40397a
push str.giga2_3
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.giga2_3
call fcn.00403760
mov ebx, dword [eax + 0x40]
push 0x410f54
push 0x411014
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebx
call fcn.004038b0
test al, al
je 0x40397a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [eax], 0x402470
mov dword [ecx], 0x401f20
jmp 0x403d72
push str.giga1_0
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.giga1_0
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push str.gwflash1.exe
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebp
call fcn.004038b0
test al, al
je 0x40397a
push str.giga1_1
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.giga1_1
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push str.HUADRV.dll
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebp
call fcn.004038b0
test al, al
je 0x40397a
push str.giga1_2
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.giga1_2
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push str.MarkFunDrv.dll
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebp
call fcn.004038b0
test al, al
je 0x40397a
push str.giga1_3
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.giga1_3
call fcn.00403760
mov ebp, dword [eax + 0x40]
push 0x410f54
push 0x410fbc
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebp
call fcn.004038b0
test al, al
je 0x40397a
push str.giga1_4
call fcn.00403760
mov esi, dword [eax + 0x44]
push str.giga1_4
call fcn.00403760
mov ebx, dword [eax + 0x40]
push 0x410f54
push 0x410fd0
call fcn.00404545
add esp, 8
test eax, eax
je 0x40397a
mov edi, eax
mov eax, ebx
call fcn.004038b0
test al, al
je 0x40397a
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [edx], 0x4019b0
mov dword [eax], 0x401260
call fcn.00403610
push 0
mov dword [0x414b54], eax
call fcn.004036b0
add esp, 4
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
ret