Function at 0x407100
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4412a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
mov al, byte [esp + 3]
push ebx
mov ebx, ecx
push edi
push 0
lea ecx, [esp + 0x14]
mov byte [esp + 0x14], al
call fcn.00404ef0
mov edi, str.General
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x68], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.General
lea ecx, [esp + 0x18]
call fcn.00408300
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x407162
mov eax, 0x442380
mov ecx, dword [ebx]
push ecx
push str.WindowOnTop
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x407180
mov eax, 0x442380
lea edx, [ebx + 0x38]
push 0x3c
push edx
push str.LogFont
push eax
call fcn.00418800
mov eax, dword [esp + 0x24]
add esp, 0x10
test eax, eax
jne 0x4071a1
mov eax, 0x442380
mov ecx, dword [ebx + 4]
push ecx
push str.DoubleExecute
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x4071c0
mov eax, 0x442380
mov edx, dword [ebx + 0xc]
push edx
push str.WindowZoom
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x4071df
mov eax, 0x442380
lea ecx, [ebx + 0x10]
push 0x10
push ecx
push str.WindowPos
push eax
call fcn.00418800
mov eax, dword [esp + 0x24]
add esp, 0x10
test eax, eax
jne 0x407200
mov eax, 0x442380
mov edx, dword [ebx + 0x24]
push edx
push str.ScreenZoom
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x40721f
mov eax, 0x442380
lea ecx, [ebx + 0x28]
push 0x10
push ecx
push str.SearchDialoPos
push eax
call fcn.00418800
mov edi, str.Path
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.Path
lea ecx, [esp + 0x18]
call fcn.00408300
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x40725e
mov eax, 0x442380
mov edx, dword [ebx + 0x74]
push edx
push str.RomPathUse
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x40727d
mov eax, 0x442380
mov ecx, dword [ebx + 0x78]
push ecx
push str.SavePathUse
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x40729c
mov eax, 0x442380
mov edx, dword [ebx + 0x7c]
push edx
push str.StatePathUse
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x4072bb
mov eax, 0x442380
mov ecx, dword [ebx + 0x80]
push ecx
push str.SnapshotPathUse
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x4072dd
mov eax, 0x442380
mov edx, dword [ebx + 0x84]
push edx
push str.MoviePathUse
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x4072ff
mov eax, 0x442380
mov ecx, dword [ebx + 0x88]
push ecx
push str.WavePathUse
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x407321
mov eax, 0x442380
mov edx, dword [ebx + 0x8c]
push edx
push str.CheatPathUse
push eax
call fcn.004187a0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x407343
mov eax, 0x442380
lea ecx, [ebx + 0x90]
push ecx
push str.RomPath
push eax
call fcn.004187e0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x407365
mov eax, 0x442380
lea edx, [ebx + 0x194]
push edx
push str.SavePath
push eax
call fcn.004187e0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x407387
mov eax, 0x442380
lea ecx, [ebx + 0x298]
push ecx
push str.StatePath
push eax
call fcn.004187e0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x4073a9
mov eax, 0x442380
lea edx, [ebx + 0x39c]
push edx
push str.SnapshotPath
push eax
call fcn.004187e0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x4073cb
mov eax, 0x442380
lea ecx, [ebx + 0x4a0]
push ecx
push str.MoviePath
push eax
call fcn.004187e0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x4073ed
mov eax, 0x442380
lea edx, [ebx + 0x5a4]
push edx
push str.WavePath
push eax
call fcn.004187e0
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
jne 0x40740f
mov eax, 0x442380
push ebp
lea ecx, [ebx + 0x6a8]
push esi
push ecx
push str.CheatPath
push eax
call fcn.004187e0
mov edi, str.Emulation
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00404f60
test al, al
je 0x40746a
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
mov esi, str.Emulation
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00404f40
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x407477
mov eax, 0x442380
mov ecx, dword [ebx + 0x7ac]
push ecx
push str.IllegalOp
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407499
mov eax, 0x442380
mov edx, dword [ebx + 0x7b0]
push edx
push str.AutoFrameSkip
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4074bb
mov eax, 0x442380
mov ecx, dword [ebx + 0x7b4]
push ecx
push str.Throttle
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4074dd
mov eax, 0x442380
mov edx, dword [ebx + 0x7b8]
push edx
push str.ThrottleFPS
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4074ff
mov eax, 0x442380
mov ecx, dword [ebx + 0x7bc]
push ecx
push str.Background
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407521
mov eax, 0x442380
mov edx, dword [ebx + 0x7c0]
push edx
push str.Priority
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407543
mov eax, 0x442380
mov ecx, dword [ebx + 0x7c4]
push ecx
push str.FourPlayer
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407565
mov eax, 0x442380
mov edx, dword [ebx + 0x7c8]
push edx
push str.CrcCheck
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407587
mov eax, 0x442380
mov ecx, dword [ebx + 0x7cc]
push ecx
push str.DiskThrottle
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4075a9
mov eax, 0x442380
mov edx, dword [ebx + 0x7d0]
push edx
push str.LoadFullscreen
push eax
call fcn.004187a0
mov edi, str.Graphics
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00404f60
test al, al
je 0x407602
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov eax, ecx
mov esi, str.Graphics
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00404f40
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x40760f
mov eax, 0x442380
mov ecx, dword [ebx + 0x7d4]
push ecx
push str.Aspect
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407631
mov eax, 0x442380
mov edx, dword [ebx + 0x7d8]
push edx
push str.SpriteMax
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407653
mov eax, 0x442380
mov ecx, dword [ebx + 0x7dc]
push ecx
push str.AllLine
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407675
mov eax, 0x442380
mov edx, dword [ebx + 0x7e0]
push edx
push str.FPSDisp
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407697
mov eax, 0x442380
mov ecx, dword [ebx + 0x7e4]
push ecx
push str.TVFrameMode
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4076b9
mov eax, 0x442380
mov edx, dword [ebx + 0x7e8]
push edx
push str.ScanlineMode
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4076db
mov eax, 0x442380
mov ecx, dword [ebx + 0x7ec]
push ecx
push str.ScanlineColor
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4076fd
mov eax, 0x442380
mov edx, dword [ebx + 0x7f0]
push edx
push str.SyncDraw
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x40771f
mov eax, 0x442380
mov ecx, dword [ebx + 0x7f4]
push ecx
push str.MaxZoom
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407741
mov eax, 0x442380
mov edx, dword [ebx + 0x7f8]
push edx
push str.LeftClip
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407763
mov eax, 0x442380
mov ecx, dword [ebx + 0x7fc]
push ecx
push str.WindowVSync
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407785
mov eax, 0x442380
mov edx, dword [ebx + 0x800]
push edx
push str.DoubleSize
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4077a7
mov eax, 0x442380
mov ecx, dword [ebx + 0x804]
push ecx
push str.SystemMemory
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4077c9
mov eax, 0x442380
mov edx, dword [ebx + 0x808]
push edx
push str.UseHEL
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4077eb
mov eax, 0x442380
mov ecx, dword [ebx + 0x80c]
push ecx
push str.DisplayWidth
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x40780d
mov eax, 0x442380
mov edx, dword [ebx + 0x810]
push edx
push str.DisplayHeight
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x40782f
mov eax, 0x442380
mov ecx, dword [ebx + 0x814]
push ecx
push str.DisplayDepth
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407851
mov eax, 0x442380
mov edx, dword [ebx + 0x818]
push edx
push str.DisplayRate
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407873
mov eax, 0x442380
mov ecx, dword [ebx + 0x81c]
push ecx
push str.PaletteUse
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407895
mov eax, 0x442380
lea edx, [ebx + 0x820]
push edx
push str.PaletteFile
push eax
call fcn.004187e0
mov edi, str.Sound
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00404f60
test al, al
je 0x4078f0
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov eax, ecx
mov esi, str.Sound
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [ecx + ebp], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4078fd
mov eax, 0x442380
mov edx, dword [ebx + 0x924]
push edx
push str.Enable
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x40791f
mov eax, 0x442380
mov ecx, dword [ebx + 0x928]
push ecx
push str.SamplingRate
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407941
mov eax, 0x442380
mov edx, dword [ebx + 0x92c]
push edx
push str.SamplingBits
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407963
mov eax, 0x442380
mov ecx, dword [ebx + 0x930]
push ecx
push str.BufferSize
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407985
mov eax, 0x442380
mov edx, dword [ebx + 0x934]
push edx
push str.FilterType
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x4079a7
mov eax, 0x442380
lea ecx, [ebx + 0x938]
push 0x20
push ecx
push str.Volume
push eax
call fcn.00418800
mov edi, str.ShortCut
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00404f60
test al, al
je 0x407a04
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
mov esi, str.ShortCut
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], 0
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
xor esi, esi
lea edi, [ebx + 0x958]
push esi
lea ecx, [esp + 0x2c]
push str.TBL_02d
push ecx
call ebp
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407a2f
mov eax, 0x442380
push 0x20
lea edx, [esp + 0x2c]
push edi
push edx
push eax
call fcn.00418800
add esp, 0x10
inc esi
add edi, 0x20
cmp esi, 0x10
jb 0x407a12
xor eax, eax
lea edi, [ebx + 0xd5c]
lea ebp, [ebx + 0xc5c]
lea esi, [eax + 1]
lea eax, [esp + 0x28]
push esi
push str.Controller__01d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
push 0x40
push ebp
lea ecx, [esp + 0x3c]
push str.Keys
push ecx
call fcn.00418800
push 4
push edi
lea edx, [esp + 0x4c]
push str.Rapid
push edx
call fcn.00418800
mov eax, esi
add esp, 0x2c
add edi, 4
add ebp, 0x40
cmp eax, 4
jl 0x407a57
xor esi, esi
mov dword [esp + 0x14], esi
test esi, esi
jne 0x407af3
mov edi, str.Crazy_Climber
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00404f60
test al, al
je 0x407af3
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov eax, ecx
mov esi, str.Crazy_Climber
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
mov byte [ecx + ebp], 0
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x407b00
mov ecx, 0x442380
lea eax, [ebx + 0xd6c]
push 0x40
push eax
push str.Keys
push ecx
call fcn.00418800
add esp, 0x10
inc esi
cmp esi, 1
mov dword [esp + 0x14], esi
jl 0x407aa5
mov edi, str.NSF_controller
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00404f60
test al, al
je 0x407b67
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
mov esi, str.NSF_controller
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x407b74
mov eax, 0x442380
lea ecx, [ebx + 0xdac]
push 0x40
push ecx
push str.Keys
push eax
call fcn.00418800
mov edi, str.Movie
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x1c]
push ebp
call fcn.00404f60
test al, al
je 0x407bd1
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov edx, ecx
mov esi, str.Movie
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x407bde
mov eax, 0x442380
lea ecx, [ebx + 0xdec]
push 4
push ecx
push str.UsePlayer
push eax
call fcn.00418800
mov eax, dword [esp + 0x2c]
add esp, 0x10
test eax, eax
jne 0x407c02
mov eax, 0x442380
mov edx, dword [ebx + 0xdf8]
push edx
push str.ResetRec
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407c24
mov eax, 0x442380
mov ecx, dword [ebx + 0xdf0]
push ecx
push str.Rerecord
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407c46
mov eax, 0x442380
mov edx, dword [ebx + 0xdf4]
push edx
push str.LoopPlay
push eax
call fcn.004187a0
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407c68
mov eax, 0x442380
mov ecx, dword [ebx + 0xdfc]
push ecx
push str.PadDisplay
push eax
call fcn.004187a0
mov edi, str.Launcher
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x18]
call fcn.004053f0
cmp eax, ebp
jae 0x407ca0
call fcn.0043593b
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x407cc8
mov al, byte [edi - 1]
test al, al
je 0x407cc8
cmp al, 0xff
je 0x407cc8
test ebp, ebp
jne 0x407cf1
dec al
push ebp
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.00404ef0
jmp 0x407d20
test ebp, ebp
jne 0x407cd9
push 1
lea ecx, [esp + 0x1c]
call fcn.00404ef0
jmp 0x407d20
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x407ce6
cmp eax, ebp
jae 0x407cff
push 1
lea ecx, [esp + 0x1c]
call fcn.00404ef0
push ebp
lea ecx, [esp + 0x1c]
call fcn.00405400
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov esi, str.Launcher
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x407d2d
mov eax, 0x442380
lea ecx, [ebx + 0xe00]
push 0x10
push ecx
push str.WindowPos
push eax
call fcn.00418800
mov eax, dword [esp + 0x2c]
add esp, 0x10
test eax, eax
jne 0x407d51
mov eax, 0x442380
lea edx, [ebx + 0xe10]
push 0x10
push edx
push str.ColumnView
push eax
call fcn.00418800
mov eax, dword [esp + 0x2c]
add esp, 0x10
test eax, eax
jne 0x407d75
mov eax, 0x442380
lea ecx, [ebx + 0xe20]
push 0x10
push ecx
push str.ColumnOrder
push eax
call fcn.00418800
mov eax, dword [esp + 0x2c]
add esp, 0x10
test eax, eax
jne 0x407d99
mov eax, 0x442380
lea edx, [ebx + 0xe30]
push 0x20
push edx
push str.ColumnWidth
push eax
call fcn.00418800
mov eax, dword [esp + 0x2c]
add esp, 0x10
test eax, eax
jne 0x407dbd
mov eax, 0x442380
lea ecx, [ebx + 0xe50]
push 0x10
push ecx
push str.FolderUse
push eax
call fcn.00418800
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
xor esi, esi
lea edi, [ebx + 0xe60]
push esi
lea edx, [esp + 0x2c]
push str.Folder_02d
push edx
call ebp
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
jne 0x407dff
mov eax, 0x442380
lea ecx, [esp + 0x28]
push edi
push ecx
push eax
call fcn.004187e0
add esp, 0xc
inc esi
add edi, 0x104
cmp esi, 0x10
jl 0x407de2
mov eax, dword [esp + 0x1c]
pop esi
test eax, eax
pop ebp
jne 0x407e29
mov eax, 0x442380
add ebx, 0x1ea0
push ebx
push str.LastSelect
push eax
call fcn.004187e0
mov ecx, dword [esp + 0x20]
add esp, 0xc
test ecx, ecx
pop edi
pop ebx
je 0x407e71
mov al, byte [ecx - 1]
test al, al
je 0x407e67
cmp al, 0xff
je 0x407e67
dec al
mov byte [ecx - 1], al
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret
dec ecx
push ecx
call fcn.00435930
add esp, 4
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
add esp, 0x64
ret