Function at 0x406900
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c4
mov eax, dword [0x429004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
cmp edx, 0xd
jne 0x408095
push 0x96
push 0
push 0x42a768
call fcn.0040ade0
mov ecx, 0x429ac8
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406940
mov eax, dword [0x42a754]
sub ecx, edx
sub ecx, eax
push ecx
lea eax, [eax + 0x429ac8]
push eax
push 0x42a768
call fcn.0040b4a0
mov ecx, 0x42a768
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406970
sub ecx, edx
jne 0x406a22
call fcn.00405320
mov eax, dword [0x42f3dc]
push 0xcc0020
push 0x21
push 0
push eax
push 0x51d
push 0x3a4
push 0x10
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
xor edx, edx
mov ecx, 0x429a60
call fcn.00405150
push 0
push 0
push dword [0x42f390]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [0x42f390]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x78
call fcn.0040f92d
mov ecx, dword [0x42f3b4]
mov edi, eax
call fcn.00405c30
add esp, 4
mov esi, eax
push esi
push str.A:_s_
push edi
call fcn.00401050
add esp, 0xc
mov ecx, edi
call fcn.00405440
push edi
call fcn.0040f5f1
add esp, 4
push esi
call fcn.0040f5f1
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409c39
mov esp, ebp
pop ebp
ret
cmp byte [0x42a768], 0
je 0x406a83
cmp dword [0x42a758], 0x12c
jne 0x406a5c
push dword [0x42eee0]
call fcn.0040f5f1
mov ecx, 0x12b
mov esi, 0x42eee4
mov edi, 0x42eee0
add esp, 4
dec dword [0x42a758]
rep movsd dword es:[edi], dword [esi]
push 0x42a768
call fcn.0040fa66
mov ecx, dword [0x42a758]
add esp, 4
mov dword [ecx*4 + 0x42eee0], eax
inc ecx
mov dword [0x42a758], ecx
mov dword [0x429b40], ecx
lea eax, [ebp - 0x2b0]
mov ecx, 0x42a768
push eax
call fcn.00405b60
add esp, 4
movq xmm0, qword [eax]
mov edi, dword [eax + 8]
push 0x96
push 0
push 0x42a768
movq qword [ebp - 0x290], xmm0
mov dword [ebp - 0x2a0], edi
call fcn.0040ade0
mov ecx, 0x429ac8
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406ac8
mov eax, dword [0x42a754]
sub ecx, edx
sub ecx, eax
push ecx
lea eax, [eax + 0x429ac8]
push eax
push 0x42a768
call fcn.0040b4a0
mov al, byte [0x42a768]
add esp, 0xc
mov esi, 0x42a768
test al, al
je 0x406b17
nop dword [eax + eax]
movsx eax, al
push eax
call fcn.0040c5c3
mov byte [esi], al
lea esi, [esi + 1]
mov al, byte [esi]
add esp, 4
test al, al
jne 0x406b00
lea eax, [ebp - 0x2c0]
mov ecx, 0x42a768
push eax
call fcn.00405b60
mov ebx, dword [ebp - 0x28c]
add esp, 4
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x29c], xmm0
mov esi, dword [ebp - 0x29c]
mov dword [ebp - 0x284], eax
test esi, esi
je 0x4077dd
mov ecx, str.clear
mov eax, esi
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406b80
test dl, dl
je 0x406b7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406b80
add eax, 2
add ecx, 2
test dl, dl
jne 0x406b60
xor eax, eax
jmp 0x406b85
sbb eax, eax
or eax, 1
test eax, eax
je 0x407ed4
mov ecx, 0x426968
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406bb4
test dl, dl
je 0x406bb0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406bb4
add eax, 2
add ecx, 2
test dl, dl
jne 0x406b94
xor eax, eax
jmp 0x406bb9
sbb eax, eax
or eax, 1
test eax, eax
je 0x407ed4
mov ecx, 0x42696c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406be8
test dl, dl
je 0x406be4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406be8
add eax, 2
add ecx, 2
test dl, dl
jne 0x406bc8
xor eax, eax
jmp 0x406bed
sbb eax, eax
or eax, 1
test eax, eax
jne 0x406d42
call fcn.00405320
mov eax, dword [0x42f3dc]
mov esi, dword [sym.imp.GDI32.dll_BitBlt]
push 0xcc0020
push 0x21
push 0
push eax
push 0x51d
push 0x3a4
push 0x10
push 0
push eax
call esi
xor edx, edx
mov ecx, 0x429a60
call fcn.00405150
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
push 0
push 0
push dword [0x42f390]
call edi
push dword [0x42f390]
mov ebx, dword [sym.imp.USER32.dll_UpdateWindow]
call ebx
mov al, byte [0x42f39e]
cmp al, 0x10
jne 0x406c7c
movzx eax, byte [0x42f39d]
push eax
movzx eax, byte [0x42f39c]
push eax
push str.512K_apfRAM_card_v_d._d____c__2024_by_F.K__apfRAM.com_
push 0xff00
call fcn.00405780
mov al, byte [0x42f39e]
add esp, 0x10
cmp al, 0x20
jne 0x406ca7
movzx eax, byte [0x42f39d]
push eax
movzx eax, byte [0x42f39c]
push eax
push str.1MB_apfRAM_card_v_d._d____c__2024_by_F.K__apfRAM.com_
push 0xff00
call fcn.00405780
mov al, byte [0x42f39e]
add esp, 0x10
cmp al, 0x30
jne 0x406cd2
movzx eax, byte [0x42f39d]
push eax
movzx eax, byte [0x42f39c]
push eax
push str.1.5MB_apfRAM_card_v_d._d____c__2024_by_F.K__apfRAM.com_
push 0xff00
call fcn.00405780
mov al, byte [0x42f39e]
add esp, 0x10
cmp al, 0x40
jne 0x406cf8
movzx eax, byte [0x42f39d]
push eax
movzx eax, byte [0x42f39c]
push eax
push str.2MB_apfRAM_card_v_d._d____c__2024_by_F.K__apfRAM.com_
push 0xff00
call fcn.00405780
add esp, 0x10
call fcn.00405320
mov eax, dword [0x42f3dc]
push 0xcc0020
push 0x21
push 0
push eax
push 0x51d
push 0x3a4
push 0x10
push 0
push eax
call esi
xor edx, edx
mov ecx, 0x429a60
call fcn.00405150
push 0
push 0
push dword [0x42f390]
call edi
push dword [0x42f390]
call ebx
jmp 0x407fef
mov ecx, 0x426a50
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406d70
test dl, dl
je 0x406d6c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406d70
add eax, 2
add ecx, 2
test dl, dl
jne 0x406d50
xor eax, eax
jmp 0x406d75
sbb eax, eax
or eax, 1
test eax, eax
jne 0x406d90
cmp dword [ebp - 0x298], eax
jne 0x406d90
mov edx, 0x42f3b0
call fcn.00403320
jmp 0x406e57
mov ecx, 0x426a50
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406db7
test dl, dl
je 0x406db3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406db7
add eax, 2
add ecx, 2
test dl, dl
jne 0x406d97
xor eax, eax
jmp 0x406dbc
sbb eax, eax
or eax, 1
test eax, eax
mov eax, dword [ebp - 0x298]
jne 0x406e77
test eax, eax
je 0x406e7f
push 0x100
call fcn.0040f92d
add esp, 4
mov esi, eax
push 0x100
push 0
push esi
call fcn.0040ade0
mov edx, dword [0x42f3b4]
add esp, 0xc
mov ecx, edx
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406e00
sub ecx, edi
push ecx
push edx
push esi
call fcn.0040b4a0
add esp, 0xc
mov edx, 0x42f3b0
push ebx
call fcn.00403740
add esp, 4
test eax, eax
jne 0x406e36
push ebx
push str.Directory___s__not_found...
call fcn.004057f0
add esp, 8
jmp 0x406e4e
mov edx, 0x42f3b0
call fcn.00403320
push esi
mov edx, 0x42f3b0
call fcn.00403740
add esp, 4
push esi
call fcn.0040f5f1
add esp, 4
mov ecx, dword [0x42f398]
call fcn.004039c0
push eax
push 7
push str.______________lu_bytes_free
call fcn.004057f0
add esp, 0xc
jmp 0x407b5f
test eax, eax
jne 0x406f1d
mov ecx, str.tree
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406ea6
test dl, dl
je 0x406ea2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406ea6
add eax, 2
add ecx, 2
test dl, dl
jne 0x406e86
xor eax, eax
jmp 0x406eab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x406f1d
mov edx, dword [0x42f3b0]
mov ecx, dword [0x42f398]
call fcn.00401750
mov esi, eax
test esi, esi
jne 0x406ed0
push str.No_files_or_directories_found_
jmp 0x407b57
push 0
mov edx, 0x42610b
mov ecx, esi
call fcn.00401c00
xor ebx, ebx
add esp, 4
cmp dword [esi + 8], ebx
jbe 0x406f08
xor edi, edi
nop word [eax + eax]
mov eax, dword [esi]
mov ecx, dword [edi + eax + 0x20]
test ecx, ecx
je 0x406eff
call fcn.00401710
inc ebx
add edi, 0x24
cmp ebx, dword [esi + 8]
jb 0x406ef0
push dword [esi]
call fcn.0040f5f1
add esp, 4
push esi
call fcn.0040f5f1
jmp 0x407b5c
mov ecx, str.bootable
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406f44
test dl, dl
je 0x406f40
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406f44
add eax, 2
add ecx, 2
test dl, dl
jne 0x406f24
xor eax, eax
jmp 0x406f49
sbb eax, eax
or eax, 1
test eax, eax
jne 0x406f82
mov eax, dword [0x42f398]
cmp byte [eax + 0x1fe], 0x55
jne 0x406f6b
cmp byte [eax + 0x1ff], 0xaa
jne 0x406f6b
mov ecx, 1
jmp 0x406f6d
xor ecx, ecx
test ecx, ecx
mov eax, str.This_card_is_NOT_bootable
mov edx, str.This_card_is_bootable.
cmovne eax, edx
push eax
jmp 0x407b57
mov ecx, str.info
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406fb0
test dl, dl
je 0x406fac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406fb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x406f90
xor eax, eax
jmp 0x406fb5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40709c
mov esi, dword [0x42f398]
mov eax, dword [esi + 3]
mov ecx, dword [esi + 7]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0xc], ecx
push str.BS_OEMName:__________s
mov byte [ebp - 9], 0
call fcn.004057f0
movzx eax, word [esi + 0xb]
push eax
push str.BPB_BytesPerSec:_____u
call fcn.004057f0
movzx eax, byte [esi + 0xd]
push eax
push str.BPB_SecPerClus:______u
call fcn.004057f0
movzx eax, word [esi + 0xe]
push eax
push str.BPB_RsvdSecCnt:______u
call fcn.004057f0
movzx eax, byte [esi + 0x10]
push eax
push str.BPB_NumFATs:_________u
call fcn.004057f0
movzx eax, word [esi + 0x11]
push eax
push str.BPB_RootEntCnt:______u
call fcn.004057f0
movzx eax, word [esi + 0x13]
push eax
push str.BPB_TotSec16:________u
call fcn.004057f0
movzx eax, byte [esi + 0x15]
push eax
push str.BPB_Media:__________0x_02x
call fcn.004057f0
movzx eax, word [esi + 0x16]
add esp, 0x40
push eax
push str.BPB_FATSz16:_________u
call fcn.004057f0
movzx eax, word [esi + 0x18]
push eax
push str.BPB_SecPerTrk:_______u
call fcn.004057f0
movzx eax, word [esi + 0x1a]
push eax
push str.BPB_NumHeads:________u
call fcn.004057f0
push dword [esi + 0x1c]
push str.BPB_HiddSec:_________u
call fcn.004057f0
push dword [esi + 0x20]
push str.BPB_TotSec32:________u
call fcn.004057f0
add esp, 0x28
jmp 0x407b5f
mov ecx, 0x426ae0
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4070c3
test dl, dl
je 0x4070bf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4070c3
add eax, 2
add ecx, 2
test dl, dl
jne 0x4070a3
xor eax, eax
jmp 0x4070c8
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4070d3
push 0x426ae4
jmp 0x40711d
mov ecx, 0x426b0c
mov eax, esi
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407100
test dl, dl
je 0x4070fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407100
add eax, 2
add ecx, 2
test dl, dl
jne 0x4070e0
xor eax, eax
jmp 0x407105
sbb eax, eax
or eax, 1
test eax, eax
jne 0x407145
test ebx, ebx
jne 0x40711c
push str.Failed_to_change_directory...missing_parameters_
call fcn.004058b0
jmp 0x407b5c
push ebx
mov edx, 0x42f3b0
call fcn.00403740
add esp, 4
test eax, eax
jne 0x407b5f
push ebx
push str.Failed_to_change_directory_to___s_
call fcn.004058b0
add esp, 8
jmp 0x407b5f
mov ecx, str.cd..
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407170
test dl, dl
je 0x40716c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407170
add eax, 2
add ecx, 2
test dl, dl
jne 0x407150
xor eax, eax
jmp 0x407175
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4071a2
push 0x425f28
mov edx, 0x42f3b0
call fcn.00403740
add esp, 4
test eax, eax
jne 0x407b5f
push str.Failed_to_change_directory_to_..
call fcn.004058b0
jmp 0x407b5c
mov ecx, str.copy
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4071d0
test dl, dl
je 0x4071cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4071d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4071b0
xor eax, eax
jmp 0x4071d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4072da
test ebx, ebx
je 0x4072cb
test edi, edi
je 0x4072cb
mov ecx, 0x425ea4
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407214
test dl, dl
je 0x407210
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407214
add eax, 2
add ecx, 2
test dl, dl
jne 0x4071f4
xor eax, eax
jmp 0x407219
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40729a
push 0x2f
push ebx
call fcn.0040a880
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x40723b
push 0x5c
push ebx
call fcn.0040a880
add esp, 8
mov ecx, eax
test ecx, ecx
lea eax, [ecx + 1]
mov ecx, dword [0x42f398]
mov edx, 0x42f3b0
cmove eax, ebx
push eax
push ebx
call fcn.00403b00
add esp, 8
test eax, eax
jne 0x407b5f
push 0x2f
push ebx
call fcn.0040a880
mov ecx, eax
add esp, 8
test ecx, ecx
jne 0x40727e
push 0x5c
push ebx
call fcn.0040a880
add esp, 8
mov ecx, eax
test ecx, ecx
lea eax, [ecx + 1]
cmove eax, ebx
push eax
push ebx
push str.Failed_to_copy_file_or_file_exists__from___s__to___s_
call fcn.004058b0
add esp, 0xc
jmp 0x407b5f
mov ecx, dword [0x42f398]
mov edx, 0x42f3b0
push edi
push ebx
call fcn.00403b00
add esp, 8
test eax, eax
jne 0x407b5f
push edi
push ebx
push str.Failed_to_copy_file_or_file_exists__from___s__to___s_
call fcn.004058b0
add esp, 0xc
jmp 0x407b5f
push str.Failed_to_copy...missing_parameters_
call fcn.004058b0
jmp 0x407b5c
mov ecx, str.move
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407301
test dl, dl
je 0x4072fd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407301
add eax, 2
add ecx, 2
test dl, dl
jne 0x4072e1
xor eax, eax
jmp 0x407306
sbb eax, eax
or eax, 1
test eax, eax
je 0x407e92
mov ecx, 0x426be0
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407335
test dl, dl
je 0x407331
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407335
add eax, 2
add ecx, 2
test dl, dl
jne 0x407315
xor eax, eax
jmp 0x40733a
sbb eax, eax
or eax, 1
test eax, eax
je 0x407e92
mov ecx, 0x426be4
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407370
test dl, dl
je 0x40736c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407370
add eax, 2
add ecx, 2
test dl, dl
jne 0x407350
xor eax, eax
jmp 0x407375
sbb eax, eax
or eax, 1
test eax, eax
je 0x407e92
mov ecx, str.type
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4073a4
test dl, dl
je 0x4073a0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4073a4
add eax, 2
add ecx, 2
test dl, dl
jne 0x407384
xor eax, eax
jmp 0x4073a9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x407502
test ebx, ebx
jne 0x4073c4
push str.Failed_to_type_file...missing_file_name_
call fcn.004058b0
jmp 0x407b5c
mov edi, dword [0x42f398]
mov ecx, edi
movzx edx, word [0x42f3b0]
push ebx
call fcn.004022a0
mov esi, eax
add esp, 4
test esi, esi
je 0x40742d
push 0x20
call fcn.0040f92d
mov ecx, dword [esi + 0xa]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x280], ebx
movups xmm0, xmmword [ecx]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [ebx + 0x10], xmm0
push dword [esi]
call fcn.0040f5f1
add esp, 4
push esi
call fcn.0040f5f1
add esp, 4
test byte [ebx + 0xb], 0x10
je 0x407440
push ebx
call fcn.0040f5f1
add esp, 4
mov ebx, dword [ebp - 0x28c]
push ebx
push str.Failed_to_read_content_of_file___s_
call fcn.004058b0
add esp, 8
jmp 0x407b5f
push dword [ebx + 0x1c]
call fcn.0040f92d
push eax
mov edx, ebx
mov dword [ebp - 0x27c], eax
mov ecx, edi
call fcn.004024c0
add esp, 8
test eax, eax
je 0x407427
push 0x64
call fcn.0040f92d
add esp, 4
xor esi, esi
mov edi, eax
push 0x64
push esi
push edi
call fcn.0040ade0
mov eax, dword [ebp - 0x280]
xor ebx, ebx
add esp, 0xc
cmp dword [eax + 0x1c], ebx
jbe 0x4074db
nop word [eax + eax]
mov eax, dword [ebp - 0x27c]
mov al, byte [ebx + eax]
cmp al, 0xa
je 0x4074c2
cmp al, 0xd
je 0x4074aa
mov byte [esi + edi], al
inc esi
cmp esi, 0x64
jl 0x4074c2
push edi
call fcn.004057f0
add esp, 4
xor esi, esi
push 0x64
push 0
push edi
call fcn.0040ade0
add esp, 0xc
mov eax, dword [ebp - 0x280]
inc ebx
cmp ebx, dword [eax + 0x1c]
jb 0x407490
test esi, esi
jle 0x4074db
push edi
call fcn.004057f0
add esp, 4
push edi
call fcn.0040f5f1
add esp, 4
push dword [ebp - 0x27c]
call fcn.0040f5f1
add esp, 4
push dword [ebp - 0x280]
call fcn.0040f5f1
jmp 0x407b5c
mov ecx, 0x426c9c
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407530
test dl, dl
je 0x40752c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407530
add eax, 2
add ecx, 2
test dl, dl
jne 0x407510
xor eax, eax
jmp 0x407535
sbb eax, eax
or eax, 1
test eax, eax
jne 0x407575
test ebx, ebx
jne 0x40754c
push str.Failed_to_delete...missing_file_name_
call fcn.004058b0
jmp 0x407b5c
push ebx
mov edx, 0x42f3b0
call fcn.00404550
add esp, 4
test eax, eax
jne 0x407b5f
push ebx
push str.Failed_to_remove_file___s_
call fcn.004058b0
add esp, 8
jmp 0x407b5f
mov ecx, 0x426ce4
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4075a0
test dl, dl
je 0x40759c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4075a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x407580
xor eax, eax
jmp 0x4075a5
sbb eax, eax
or eax, 1
test eax, eax
je 0x407e50
mov ecx, str.mkdir
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4075d4
test dl, dl
je 0x4075d0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4075d4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4075b4
xor eax, eax
jmp 0x4075d9
sbb eax, eax
or eax, 1
test eax, eax
je 0x407e50
mov ecx, 0x426d44
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407608
test dl, dl
je 0x407604
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407608
add eax, 2
add ecx, 2
test dl, dl
jne 0x4075e8
xor eax, eax
jmp 0x40760d
sbb eax, eax
or eax, 1
test eax, eax
je 0x407e0e
mov ecx, str.rmdir
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407640
test dl, dl
je 0x40763c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407640
add eax, 2
add ecx, 2
test dl, dl
jne 0x407620
xor eax, eax
jmp 0x407645
sbb eax, eax
or eax, 1
test eax, eax
je 0x407e0e
mov ecx, str.copydir
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407674
test dl, dl
je 0x407670
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407674
add eax, 2
add ecx, 2
test dl, dl
jne 0x407654
xor eax, eax
jmp 0x407679
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4076d7
test ebx, ebx
je 0x4076c8
test edi, edi
je 0x4076c8
push edi
push ebx
mov edx, 0x42f3b0
call fcn.00404ed0
add esp, 8
cmp eax, 2
jne 0x4076ac
push ebx
push str.Source_directory___s__is_empty...
call fcn.004058b0
add esp, 8
jmp 0x407b5f
test eax, eax
jne 0x407b5f
push edi
push ebx
push str.Failed_to_copy_directory___s__to___s_
call fcn.004058b0
add esp, 0xc
jmp 0x407b5f
push str.Failed_to_copy_directory...missing_parameters_
call fcn.004058b0
jmp 0x407b5c
mov ecx, 0x426e2c
mov eax, esi
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407700
test dl, dl
je 0x4076fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407700
add eax, 2
add ecx, 2
test dl, dl
jne 0x4076e0
xor eax, eax
jmp 0x407705
sbb eax, eax
or eax, 1
test eax, eax
je 0x407bb5
mov ecx, str.download
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407734
test dl, dl
je 0x407730
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407734
add eax, 2
add ecx, 2
test dl, dl
jne 0x407714
xor eax, eax
jmp 0x407739
sbb eax, eax
or eax, 1
test eax, eax
je 0x407bb5
mov ecx, 0x426eb0
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407768
test dl, dl
je 0x407764
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407768
add eax, 2
add ecx, 2
test dl, dl
jne 0x407748
xor eax, eax
jmp 0x40776d
sbb eax, eax
or eax, 1
test eax, eax
je 0x40780f
mov ecx, str.upload
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4077a0
test dl, dl
je 0x40779c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4077a0
add eax, 2
add ecx, 2
test dl, dl
jne 0x407780
xor eax, eax
jmp 0x4077a5
sbb eax, eax
or eax, 1
test eax, eax
je 0x40780f
mov ecx, str.manual
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4077d0
test dl, dl
je 0x4077cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4077d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4077b0
xor eax, eax
jmp 0x4077d5
sbb eax, eax
or eax, 1
test eax, eax
je 0x407ee7
mov ecx, 0x427070
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407ede
test dl, dl
je 0x407808
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407ede
add eax, 2
add ecx, 2
test dl, dl
jne 0x4077e4
xor eax, eax
jmp 0x407ee3
push 0x104
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.0040ade0
add esp, 0xc
lea eax, [ebp - 0x278]
push 0x58
push 0
push eax
call fcn.0040ade0
add esp, 0xc
mov dword [ebp - 0x278], 0x58
lea eax, [ebp - 0x118]
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x278]
mov dword [ebp - 0x258], 0x104
push eax
mov dword [ebp - 0x26c], str.All_Files
mov dword [ebp - 0x260], 1
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x244], 0x41800
call dword [sym.imp.COMDLG32.dll_GetOpenFileNameA]
cmp eax, 1
jne 0x407b52
lea edi, [ebp - 0x118]
mov eax, edi
push 0x2f
push eax
call fcn.0040a880
add esp, 8
test eax, eax
jne 0x4078dc
mov eax, edi
push 0x5c
push eax
call fcn.0040a880
add esp, 8
test eax, eax
je 0x4078df
lea edi, [eax + 1]
mov edx, edi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4078e4
sub edx, ecx
cmp edx, 0xc
jg 0x407a5a
xor ecx, ecx
test edx, edx
jle 0x40790f
nop dword [eax]
cmp byte [ecx + edi], 0x2e
je 0x407a29
inc ecx
cmp ecx, edx
jl 0x407900
cmp edx, 8
jg 0x407a5a
lea esi, [ebp - 0x118]
mov eax, esi
push 0x2f
push eax
call fcn.0040a880
add esp, 8
test eax, eax
jne 0x407940
mov eax, esi
push 0x5c
push eax
call fcn.0040a880
add esp, 8
test eax, eax
je 0x407943
lea esi, [eax + 1]
push esi
mov edx, 0x42f3b0
call fcn.00403940
add esp, 4
cmp eax, 1
jne 0x4079ac
push 4
push str.Please_confirm...
push str.File_already_exists_in_this_folder__Overwrite_existing_
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x407b52
lea esi, [ebp - 0x118]
mov eax, esi
push 0x2f
push eax
call fcn.0040a880
add esp, 8
test eax, eax
jne 0x40799b
mov eax, esi
push 0x5c
push eax
call fcn.0040a880
add esp, 8
test eax, eax
je 0x40799e
lea esi, [eax + 1]
push esi
mov edx, 0x42f3b0
call fcn.00404550
add esp, 4
lea eax, [ebp - 0x118]
push 0x426178
push eax
call fcn.0040c6da
push 2
mov edi, eax
push 0
push edi
call fcn.0040cde4
add esp, 0x14
push edi
call fcn.0040c018
add esp, 4
mov esi, eax
push edi
call fcn.0040c8b4
mov ecx, dword [0x42f398]
add esp, 4
call fcn.004039c0
mov edi, eax
cmp edi, esi
jge 0x407ad6
push 0x78
call fcn.0040f92d
add esp, 4
mov esi, eax
push edi
push str.File_cant_be_copied__free_space_on_card_is__lu_bytes.
push esi
call fcn.00401050
add esp, 0xc
push edi
push str.Upload_file_aborted...File_cant_be_copied__free_space_on_card_is_only__lu_bytes.
call fcn.004058b0
push esi
call fcn.0040f5f1
add esp, 0xc
jmp 0x407b5f
cmp ecx, 0xffffffff
je 0x40790f
cmp ecx, 8
jg 0x407a5a
mov eax, edx
sub eax, ecx
dec eax
cmp eax, 3
jg 0x407a5a
xor esi, esi
test ecx, ecx
jle 0x407a8e
mov al, byte [esi + edi]
cmp al, 0x41
jl 0x407a52
cmp al, 0x5a
jle 0x407a89
cmp al, 0x61
jl 0x407a69
cmp al, 0x7a
jle 0x407a89
push str.Upload_file_aborted...File_name_selected_must_be_a_short_file_name__8.3_format_
call fcn.004058b0
jmp 0x407b5c
cmp al, 0x30
jl 0x407a71
cmp al, 0x39
jle 0x407a89
cmp al, 0x20
je 0x407a89
cmp al, 0x24
je 0x407a89
cmp al, 0x25
je 0x407a89
cmp al, 0x27
je 0x407a89
cmp al, 0x2d
je 0x407a89
cmp al, 0x5f
jne 0x407a5a
inc esi
cmp esi, ecx
jl 0x407a47
inc ecx
cmp ecx, edx
jge 0x407918
mov al, byte [ecx + edi]
cmp al, 0x41
jl 0x407aa2
cmp al, 0x5a
jle 0x407acc
cmp al, 0x61
jl 0x407aac
cmp al, 0x7a
jg 0x407a5a
jmp 0x407acc
cmp al, 0x30
jl 0x407ab4
cmp al, 0x39
jle 0x407acc
cmp al, 0x20
je 0x407acc
cmp al, 0x24
je 0x407acc
cmp al, 0x25
je 0x407acc
cmp al, 0x27
je 0x407acc
cmp al, 0x2d
je 0x407acc
cmp al, 0x5f
jne 0x407a5a
inc ecx
cmp ecx, edx
jl 0x407a97
jmp 0x407918
lea esi, [ebp - 0x118]
mov eax, esi
push 0x2f
push eax
call fcn.0040a880
add esp, 8
test eax, eax
jne 0x407afe
mov eax, esi
push 0x5c
push eax
call fcn.0040a880
add esp, 8
test eax, eax
je 0x407b01
lea esi, [eax + 1]
push ecx
lea eax, [ebp - 0x118]
mov edx, 0x42f3b0
push esi
push eax
call fcn.004040a0
add esp, 0xc
lea esi, [ebp - 0x118]
mov eax, esi
push 0x2f
push eax
call fcn.0040a880
add esp, 8
test eax, eax
jne 0x407b3f
mov eax, esi
push 0x5c
push eax
call fcn.0040a880
add esp, 8
test eax, eax
je 0x407b42
lea esi, [eax + 1]
push esi
push str.Upload_of_file___s__completed...
call fcn.004057f0
add esp, 8
jmp 0x407b5f
push str.Upload_file_aborted...
call fcn.004057f0
add esp, 4
call fcn.00405320
mov eax, dword [0x42f3dc]
push 0xcc0020
push 0x21
push 0
push eax
push 0x51d
push 0x3a4
push 0x10
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
xor edx, edx
mov ecx, 0x429a60
call fcn.00405150
push 0
push 0
push dword [0x42f390]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [0x42f390]
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x407fef
test ebx, ebx
jne 0x407bcb
push str.Please_specify_the_file_you_wish_to_download...
call fcn.004058b0
add esp, 4
jmp 0x407db8
push ebx
mov edx, 0x42f3b0
call fcn.00403940
add esp, 4
cmp eax, 1
jne 0x407daa
push 0x104
lea eax, [ebp - 0x220]
push 0
push eax
call fcn.0040ade0
mov ecx, ebx
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407c00
sub ecx, edx
lea eax, [ebp - 0x220]
push ecx
push ebx
push eax
call fcn.0040b4a0
add esp, 0xc
lea eax, [ebp - 0x278]
push 0x58
push 0
push eax
call fcn.0040ade0
add esp, 0xc
mov dword [ebp - 0x278], 0x58
lea eax, [ebp - 0x220]
mov dword [ebp - 0x274], 0
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x278]
mov dword [ebp - 0x258], 0x104
push eax
mov dword [ebp - 0x26c], str.All_Files
mov dword [ebp - 0x260], 1
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x244], 0x41802
call dword [sym.imp.COMDLG32.dll_GetSaveFileNameA]
cmp eax, 1
jne 0x407d9b
mov eax, dword [0x42f398]
mov ecx, eax
movzx edx, word [0x42f3b0]
push ebx
mov dword [ebp - 0x27c], eax
call fcn.004022a0
mov edi, eax
add esp, 4
test edi, edi
je 0x407db8
push 0x20
call fcn.0040f92d
mov ecx, dword [edi + 0xa]
mov esi, eax
add esp, 4
movups xmm0, xmmword [ecx]
movups xmmword [esi], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [esi + 0x10], xmm0
push dword [edi]
call fcn.0040f5f1
add esp, 4
push edi
call fcn.0040f5f1
add esp, 4
test byte [esi + 0xb], 0x10
jne 0x407d90
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x407d2c
push esi
call fcn.0040f5f1
add esp, 4
push str.Action_aborterd__zero_file_size_detected...
call fcn.004058b0
add esp, 4
jmp 0x407db8
push eax
call fcn.0040f92d
mov ecx, dword [ebp - 0x27c]
mov ebx, eax
push ebx
mov edx, esi
call fcn.004024c0
add esp, 8
test eax, eax
je 0x407db8
lea eax, [ebp - 0x220]
push eax
call fcn.0040cabe
add esp, 4
lea eax, [ebp - 0x220]
push 0x426138
push eax
call fcn.0040c6da
mov edi, eax
add esp, 8
test edi, edi
je 0x407db8
push edi
push 1
push dword [esi + 0x1c]
push ebx
call fcn.0040f27a
push edi
call fcn.0040c8b4
add esp, 0x14
push ebx
call fcn.0040f5f1
add esp, 4
push esi
call fcn.0040f5f1
add esp, 4
jmp 0x407db8
push str.Download_file_aborted...
call fcn.004057f0
add esp, 4
jmp 0x407db8
push ebx
push str.File___s__not_found...
call fcn.004057f0
add esp, 8
call fcn.00405320
mov eax, dword [0x42f3dc]
push 0xcc0020
push 0x21
push 0
push eax
push 0x51d
push 0x3a4
push 0x10
push 0
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
xor edx, edx
mov ecx, 0x429a60
call fcn.00405150
push 0
push 0
push dword [0x42f390]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [0x42f390]
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x407fef
test ebx, ebx
jne 0x407e21
push str.Failed_to_remove_direcrory...missing_directory_name_
call fcn.004058b0
jmp 0x407b5c
mov ecx, dword [0x42f398]
mov edx, 0x42f3b0
push ebx
call fcn.00404d80
add esp, 4
test eax, eax
jne 0x407b5f
push ebx
push str.Failed_to_remove_directory___s_
call fcn.004058b0
add esp, 8
jmp 0x407b5f
test ebx, ebx
jne 0x407e63
push str.Failed_to_make_directory...missing_directory_name_
call fcn.004058b0
jmp 0x407b5c
mov ecx, dword [0x42f398]
mov edx, 0x42f3b0
push ebx
call fcn.00404ae0
add esp, 4
test eax, eax
jne 0x407b5f
push ebx
push str.Failed_to_make_directory___s_
call fcn.004058b0
add esp, 8
jmp 0x407b5f
test ebx, ebx
je 0x407ec5
test edi, edi
je 0x407ec5
push edi
push ebx
mov edx, 0x42f3b0
call fcn.004045e0
add esp, 8
test eax, eax
jne 0x407b5f
push edi
push ebx
push str.Failed_to_move_file_from___s__to___s_
call fcn.004058b0
add esp, 0xc
jmp 0x407b5f
push str.Failed_to_move...missing_file_or_directory_name_
call fcn.004058b0
jmp 0x407b5c
call fcn.00405680
jmp 0x407fef
sbb eax, eax
or eax, 1
test eax, eax
jne 0x407ef1
call fcn.00405d80
jmp 0x407fef
test esi, esi
je 0x407f33
mov ecx, str.help
mov eax, esi
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x407f20
test dl, dl
je 0x407f1c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x407f20
add eax, 2
add ecx, 2
test dl, dl
jne 0x407f00
xor eax, eax
jmp 0x407f25
sbb eax, eax
or eax, 1
test eax, eax
jne 0x407f33
call fcn.00406130
jmp 0x407fef
call fcn.00405320
cmp dword [ebp - 0x290], 0
mov eax, dword [0x42f3dc]
push 0xcc0020
push 0x21
push 0
push eax
push 0x51d
push 0x3a4
push 0x10
push 0
push eax
je 0x407b82
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
call ebx
xor edx, edx
mov ecx, 0x429a60
call fcn.00405150
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
push 0
push 0
push dword [0x42f390]
call edi
push dword [0x42f390]
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
call esi
push ecx
mov edx, 0x90ff
mov ecx, str.Invalid_command...type_help_for_list_of_commands.
call fcn.00405970
add esp, 4
call fcn.00405320
mov eax, dword [0x42f3dc]
push 0xcc0020
push 0x21
push 0
push eax
push 0x51d
push 0x3a4
push 0x10
push 0
push eax
call ebx
xor edx, edx
mov ecx, 0x429a60
call fcn.00405150
push 0
push 0
push dword [0x42f390]
call edi
push dword [0x42f390]
call esi
push dword [ebp - 0x290]
call fcn.0040f5f1
add esp, 4
push dword [ebp - 0x28c]
call fcn.0040f5f1
add esp, 4
push dword [ebp - 0x2a0]
call fcn.0040f5f1
add esp, 4
push dword [ebp - 0x29c]
call fcn.0040f5f1
add esp, 4
push dword [ebp - 0x298]
call fcn.0040f5f1
add esp, 4
push dword [ebp - 0x284]
call fcn.0040f5f1
add esp, 4
push 0x78
call fcn.0040f92d
mov ecx, dword [0x42f3b4]
mov edi, eax
call fcn.00405c30
add esp, 4
mov esi, eax
push esi
push str.A:_s_
push edi
call fcn.00401050
add esp, 0xc
mov ecx, edi
call fcn.00405440
push edi
call fcn.0040f5f1
add esp, 4
push esi
call fcn.0040f5f1
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409c39
mov esp, ebp
pop ebp
ret
cmp edx, 0x2e
jne 0x4080e9
mov eax, dword [0x42a750]
mov ecx, 0x64
sub ecx, eax
lea edx, [eax + 0x429ac8]
lea esi, [edx + 1]
test ecx, ecx
jle 0x4080c3
mov al, byte [esi]
lea edx, [edx + 1]
dec ecx
mov byte [edx - 1], al
lea esi, [esi + 1]
test ecx, ecx
jg 0x4080b3
mov edx, 1
mov ecx, 0x429ac8
call fcn.00405150
dec dword [0x42a75c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409c39
mov esp, ebp
pop ebp
ret
cmp edx, 0x25
jne 0x40813a
mov eax, dword [0x42a750]
test eax, eax
je 0x4082dd
mov ecx, dword [0x42a764]
cmp ecx, dword [0x42a754]
jbe 0x4082dd
dec ecx
dec eax
mov dword [0x42a764], ecx
mov edx, 1
mov ecx, 0x429ac8
mov dword [0x42a750], eax
call fcn.00405150
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409c39
mov esp, ebp
pop ebp
ret
cmp edx, 0x27
jne 0x408185
mov eax, dword [0x42a750]
cmp eax, 0x63
jae 0x4082dd
cmp eax, dword [0x42a75c]
jae 0x4082dd
inc dword [0x42a764]
mov edx, 1
mov ecx, 0x429ac8
call fcn.00405150
inc dword [0x42a750]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409c39
mov esp, ebp
pop ebp
ret
sub edx, 0x26
je 0x408244
sub edx, 2
jne 0x4082dd
mov eax, dword [0x42a758]
mov edi, dword [0x429b40]
dec eax
cmp edi, eax
jge 0x4082dd
inc edi
mov dword [0x429b40], edi
mov edi, dword [edi*4 + 0x42eee0]
test edi, edi
je 0x4082dd
push ecx
mov edx, 0xffffff
mov ecx, 0x4270b0
call fcn.00405970
add esp, 4
push 0x78
call fcn.0040f92d
mov ecx, dword [0x42f3b4]
mov esi, eax
call fcn.00405c30
add esp, 4
push eax
push str.A:_s_
push esi
call fcn.00401050
add esp, 0xc
mov ecx, esi
call fcn.00405440
mov ecx, edi
xor esi, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408208
sub ecx, edx
je 0x4082dd
movsx edx, byte [esi + edi]
call fcn.00405a80
mov ecx, edi
inc esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408226
sub ecx, edx
cmp esi, ecx
jb 0x408217
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00409c39
mov esp, ebp
pop ebp
ret
mov edi, dword [0x429b40]
test edi, edi
jle 0x4082dd
dec edi
mov dword [0x429b40], edi
mov edi, dword [edi*4 + 0x42eee0]
test edi, edi
je 0x4082dd
push ecx
mov edx, 0xffffff
mov ecx, 0x4270b0
call fcn.00405970
add esp, 4
push 0x78
call fcn.0040f92d
mov ecx, dword [0x42f3b4]
mov esi, eax
call fcn.00405c30
add esp, 4
push eax
push str.A:_s_
push esi
call fcn.00401050
add esp, 0xc
mov ecx, esi
call fcn.00405440
mov ecx, edi
xor esi, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4082b0
sub ecx, edx
je 0x4082dd
nop dword [eax + eax]
movsx edx, byte [esi + edi]
call fcn.00405a80
mov ecx, edi
inc esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4082d0
sub ecx, edx
cmp esi, ecx
jb 0x4082c0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00409c39
mov esp, ebp
pop ebp
ret