Function at 0x43641d
Capabilities:
Get graphical window text

Disassembly:
push ebp
lea ebp, [esp - 0x3e8]
sub esp, 0x468
mov eax, dword [0x47e5d0]
xor eax, ebp
mov dword [ebp + 0x3e4], eax
mov eax, dword [ebp + 0x3f4]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x3f0]
xor ebx, ebx
mov esi, 0x103
push esi
mov dword [ebp - 0x70], eax
lea eax, [ebp + 0x2e1]
push ebx
push eax
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], ebx
mov byte [ebp + 0x2e0], bl
call fcn.00452e00
push esi
lea eax, [ebp - 0x6b]
push ebx
push eax
mov byte [ebp - 0x6c], bl
call fcn.00452e00
push esi
lea eax, [ebp + 0x99]
push ebx
push eax
mov byte [ebp + 0x98], bl
call fcn.00452e00
push esi
lea eax, [ebp + 0x19d]
push ebx
push eax
mov byte [ebp + 0x19c], bl
call fcn.00452e00
push 0x3f
lea eax, [ebp + 0x2a1]
push ebx
push eax
mov byte [ebp + 0x2a0], bl
call fcn.00452e00
mov ebx, dword [ebp - 0x70]
imul ebx, ebx, 0xf54
mov esi, edi
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.TEXT
push eax
call fcn.004010ff
add esp, 0x44
test eax, eax
je 0x436549
mov eax, dword [esi*4 + 0x481990]
push 0
push 0
push dword [ebp - 0x70]
lea eax, [eax + ebx + 0x364]
push edi
push eax
call fcn.00442c90
mov eax, dword [0x485434]
cmp byte [eax], 0
je 0x436537
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
cmp eax, 0x3f
jle 0x436514
push 0x3f
pop eax
jmp 0x436521
push dword [0x485434]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [0x485434]
lea eax, [ebp + 0x2a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
jmp 0x436549
push 0x464930
lea eax, [ebp + 0x2a0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [esi*4 + 0x481990]
push 0
push 0
push dword [ebp - 0x70]
push edi
push dword [eax + ebx + 0x50]
call fcn.00442c90
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.GOTO
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x437aa7
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.to_Label
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x437aa7
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
je 0x4365cd
push str.GOSUB
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.GOSUB
push eax
call fcn.00452ccd
add esp, 0xc
jmp 0x4365d0
xor eax, eax
inc eax
test eax, eax
je 0x437aa7
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.RETURN
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43665c
mov eax, dword [0x484df8]
cmp eax, 1
jge 0x436613
mov eax, dword [0x481960]
test eax, eax
je 0x437d36
push str.No_matching_GOSUB_found
jmp 0x437d2f
mov eax, dword [eax*4 + 0x484e70]
test eax, eax
jns 0x436622
xor eax, eax
jmp 0x436630
mov ecx, dword [esi*4 + 0x480274]
dec ecx
cmp eax, ecx
jle 0x436630
mov eax, ecx
inc eax
mov dword [0x47e40c], eax
inc eax
push eax
push str.____Returning_from_GOSUB_to__Step__d_
call fcn.0042604a
mov eax, dword [0x484df8]
and dword [eax*4 + 0x484e70], 0
dec dword [0x484df8]
pop ecx
pop ecx
jmp 0x437d1c
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.Repeats
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4366f5
mov eax, dword [esi*4 + 0x480294]
test eax, eax
jne 0x4366cd
push 0x46b994
push dword [0x485434]
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x4366b7
mov dword [esi*4 + 0x480294], 0x77359400
mov eax, dword [ebp - 0x70]
inc eax
jns 0x437a9d
and dword [0x47e40c], 0
jmp 0x437d1c
push dword [0x485434]
call fcn.0040109c
dec eax
pop ecx
mov dword [esi*4 + 0x480294], eax
jmp 0x4366a1
cmp eax, 0x77359400
jne 0x4366e1
push str.____An_eternity_of_Run_Repeats_still_remaining....
call fcn.0042604a
pop ecx
jmp 0x4366a1
test eax, eax
jns 0x4366e7
xor eax, eax
push eax
push str._____d_Run_Repeat_s__remaining
call fcn.0042604a
pop ecx
jmp 0x4366de
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.Exit_Run
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436728
push dword [0x485434]
call fcn.0040109c
pop ecx
mov dword [0x47e008], eax
or eax, 0xffffffff
jmp 0x437d38
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.Exit
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43677e
push dword [0x485434]
call fcn.0040109c
test byte [0x480320], 4
pop ecx
mov dword [0x47e008], eax
je 0x43676a
push dword [0x4800c0]
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x436720
push 0
push 0
push 0x10
push dword [0x4800c0]
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x436720
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.Break
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43689e
cmp dword [0x484e2c], 1
jl 0x436c8f
push dword [ebp - 0x70]
push edi
call fcn.004249f5
mov ebx, dword [ebp - 0x70]
mov dword [0x47e40c], eax
cmp dword [ebp - 0x70], eax
jl 0x4367c1
mov ebx, eax
cmp dword [0x484e2c], 1
jl 0x436c8f
mov edi, ebx
imul edi, edi, 0xf54
jmp 0x4367dd
mov eax, dword [0x47e40c]
cmp dword [ebp - 0x70], eax
jle 0x4367e5
mov eax, dword [ebp - 0x70]
cmp ebx, eax
jge 0x436c8f
mov eax, dword [esi*4 + 0x481990]
add eax, edi
test byte [eax + 0x48], 3
jne 0x436885
push str.END_IF
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x436851
mov eax, dword [esi*4 + 0x481990]
add eax, edi
je 0x43682e
push 3
push 0x4654b4
push eax
call fcn.00452ccd
add esp, 0xc
jmp 0x436831
xor eax, eax
inc eax
test eax, eax
jne 0x436885
mov eax, dword [esi*4 + 0x481990]
lea eax, [edi + eax + 0x58]
push str.Quick
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x436885
mov eax, dword [0x484e2c]
push dword [eax*4 + 0x484e30]
push str.____Leaving__and_closing__IF_block_which_was_entered_at__Step__d_
call fcn.0042604a
mov eax, dword [0x484e2c]
and dword [eax*4 + 0x484e30], 0
dec dword [0x484e2c]
pop ecx
pop ecx
jns 0x436885
and dword [0x484e2c], 0
inc ebx
add edi, 0xf54
cmp dword [0x484e2c], 1
jge 0x4367d8
jmp 0x436c8f
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push 0x465478
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x437a2a
mov eax, dword [ebp - 0x70]
mov edi, esi
shl edi, 6
lea ecx, [edi + 0x484378]
inc eax
cmp dword [ecx], eax
je 0x436a84
lea edx, [edi + 0x48437c]
test edx, edx
je 0x4368f3
test ecx, ecx
je 0x4368f3
push 0x3c
lea eax, [edi + 0x484378]
push eax
push edx
call fcn.00452ea0
add esp, 0xc
lea ecx, [edi + 0x48457c]
test ecx, ecx
je 0x436913
lea eax, [edi + 0x484578]
test eax, eax
je 0x436913
push 0x3c
push eax
push ecx
call fcn.00452ea0
add esp, 0xc
lea ecx, [edi + 0x48477c]
test ecx, ecx
je 0x436933
lea eax, [edi + 0x484778]
test eax, eax
je 0x436933
push 0x3c
push eax
push ecx
call fcn.00452ea0
add esp, 0xc
lea ecx, [edi + 0x48497c]
test ecx, ecx
je 0x436953
lea eax, [edi + 0x484978]
test eax, eax
je 0x436953
push 0x3c
push eax
push ecx
call fcn.00452ea0
add esp, 0xc
lea ecx, [edi + 0x484b7c]
test ecx, ecx
je 0x436973
lea eax, [edi + 0x484b78]
test eax, eax
je 0x436973
push 0x3c
push eax
push ecx
call fcn.00452ea0
add esp, 0xc
push 0x3c
push 0x484330
push 0x484334
call fcn.00452ea0
fld1
mov eax, dword [ebp - 0x70]
fst dword [edi + 0x484978]
add esp, 0xc
fstp dword [edi + 0x484b78]
inc eax
mov dword [edi + 0x484378], eax
xor eax, eax
push eax
push eax
push dword [ebp - 0x70]
mov dword [edi + 0x484578], eax
mov dword [0x484330], eax
mov eax, dword [esi*4 + 0x481990]
push esi
push dword [eax + ebx + 0x50]
call fcn.00442c90
mov eax, dword [0x485434]
cmp byte [eax], 0
je 0x4369d8
push eax
call fcn.00454966
fstp dword [ebp - 0x74]
pop ecx
jmp 0x4369dd
fld1
fstp dword [ebp - 0x74]
mov eax, dword [esi*4 + 0x481990]
fld dword [ebp - 0x74]
add eax, ebx
fstp dword [edi + 0x484778]
push 0x46b8dc
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436a84
mov eax, dword [esi*4 + 0x481990]
push 0
push 0
push dword [ebp - 0x70]
lea eax, [eax + ebx + 0x364]
push esi
push eax
call fcn.00442c90
mov eax, dword [0x485434]
cmp byte [eax], 0
je 0x436a36
push eax
call fcn.00454966
fstp dword [ebp - 0x74]
pop ecx
jmp 0x436a3b
fld1
fstp dword [ebp - 0x74]
mov eax, dword [esi*4 + 0x481990]
fld dword [ebp - 0x74]
push 0
fstp dword [edi + 0x484b78]
push 0
push dword [ebp - 0x70]
lea eax, [eax + ebx + 0x468]
push esi
push eax
call fcn.00442c90
mov eax, dword [0x485434]
cmp byte [eax], 0
je 0x436a76
push eax
call fcn.00454966
fstp dword [ebp - 0x74]
pop ecx
jmp 0x436a7b
fld1
fstp dword [ebp - 0x74]
fld dword [ebp - 0x74]
fstp dword [edi + 0x484978]
push 7
lea eax, [edi + 0x484b78]
fld dword [eax]
push ecx
push ecx
mov dword [ebp - 0x7c], eax
fstp qword [esp]
lea eax, [ebp + 0x2e0]
push eax
call fcn.0041c447
lea eax, [ebp + 0x2e0]
push eax
push str.Loop:__s
push 2
push 0
push dword [0x4800d4]
call fcn.00424cda
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push 0x46b8dc
push eax
call fcn.004010ff
add esp, 0x2c
test eax, eax
je 0x436b9b
fldz
mov ecx, dword [ebp - 0x7c]
fcom dword [edi + 0x484978]
fnstsw ax
test ah, 0x41
jne 0x436b03
fld dword [ecx]
fld dword [edi + 0x484778]
fcompp
fnstsw ax
test ah, 0x41
je 0x436b8a
fcomp dword [edi + 0x484978]
fnstsw ax
test ah, 5
jp 0x436b21
fld dword [ecx]
fld dword [edi + 0x484778]
fcompp
fnstsw ax
test ah, 5
jnp 0x436b8c
fld dword [ecx]
push 7
push ecx
push ecx
lea eax, [ebp + 0x2e0]
fstp qword [esp]
push eax
call fcn.0041c447
add esp, 0x10
lea eax, [ebp + 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x2e0]
push eax
push dword [ebp - 0x70]
push esi
call fcn.00428e6d
fld dword [edi + 0x484778]
push 7
push ecx
push ecx
lea eax, [ebp - 0x6c]
fstp qword [esp]
push eax
call fcn.0041c447
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x2e0]
push eax
push str.____Loop__s_of__s
call fcn.0042604a
add esp, 0x1c
jmp 0x4366a1
fstp st(0)
fld dword [ecx]
fsub dword [edi + 0x484978]
fstp dword [ecx]
jmp 0x436c8f
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.WHILE
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436e0a
push dword [0x485434]
call fcn.00425636
test eax, eax
jne 0x436bcf
mov dword [ebp - 0x80], 1
cmp byte [0x4840a0], 2
jb 0x436c4a
push dword [0x485434]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call esi
lea ecx, [eax + 1]
mov eax, 0x103
cmp ecx, eax
jg 0x436bfb
push dword [0x485434]
call esi
inc eax
push eax
push dword [0x485434]
lea eax, [ebp + 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push 4
lea eax, [ebp + 0x3c4]
push 0x469bc0
push eax
call fcn.00452790
add esp, 0xc
cmp dword [ebp - 0x80], 0
mov eax, str.FALSE
jne 0x436c35
mov eax, str.TRUE
push eax
lea eax, [ebp + 0x2e0]
push eax
push str.____Expression:___s____s
call fcn.0042604a
add esp, 0xc
mov eax, dword [ebp - 0x7c]
fld dword [eax]
push 7
push ecx
push ecx
lea eax, [ebp + 0x2e0]
fstp qword [esp]
push eax
call fcn.0041c447
add esp, 0x10
lea eax, [ebp + 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x2e0]
push eax
push dword [ebp - 0x70]
push dword [ebp - 0x78]
call fcn.00428e6d
cmp dword [ebp - 0x80], 0
je 0x4366a1
push dword [ebp - 0x70]
mov esi, dword [ebp - 0x78]
push esi
call fcn.004249f5
push 7
inc eax
push ecx
shl esi, 6
fld dword [esi + 0x484b78]
push ecx
mov dword [0x47e40c], eax
fstp qword [esp]
lea eax, [ebp + 0x2e0]
push eax
call fcn.0041c447
mov eax, dword [0x47e40c]
inc eax
push eax
lea ebx, [esi + 0x484578]
push dword [ebx]
lea eax, [ebp + 0x2e0]
push eax
lea edi, [esi + 0x484378]
push dword [edi]
push str.____END_OF_LOOP_from__Step__d___Final_Value:__s__Total_Loops:__d__Continuing_with__Step__d_...
call fcn.0042604a
lea eax, [ebp + 0x2e0]
push eax
push str.Loop:__s
push 2
push 1
push dword [0x4800d4]
call fcn.00424cda
add esp, 0x38
test edi, edi
je 0x436d1d
lea eax, [esi + 0x48437c]
test eax, eax
je 0x436d1d
push 0x3c
push eax
push edi
call fcn.00452ea0
add esp, 0xc
test ebx, ebx
je 0x436d37
lea eax, [esi + 0x48457c]
test eax, eax
je 0x436d37
push 0x3c
push eax
push ebx
call fcn.00452ea0
add esp, 0xc
lea ecx, [esi + 0x484778]
test ecx, ecx
je 0x436d57
lea eax, [esi + 0x48477c]
test eax, eax
je 0x436d57
push 0x3c
push eax
push ecx
call fcn.00452ea0
add esp, 0xc
lea ecx, [esi + 0x484978]
test ecx, ecx
je 0x436d77
lea eax, [esi + 0x48497c]
test eax, eax
je 0x436d77
push 0x3c
push eax
push ecx
call fcn.00452ea0
add esp, 0xc
lea eax, [esi + 0x484b78]
test eax, eax
je 0x436d9d
lea eax, [esi + 0x484b7c]
test eax, eax
je 0x436d9d
push 0x3c
push eax
lea eax, [esi + 0x484b78]
push eax
call fcn.00452ea0
add esp, 0xc
mov eax, dword [0x484330]
test eax, eax
je 0x436dad
push eax
call fcn.00452756
pop ecx
push 0x3c
push 0x484334
push 0x484330
call fcn.00452ea0
fldz
mov eax, dword [0x4840a4]
fst dword [esi + 0x4847b4]
xor edi, edi
fst dword [esi + 0x4849b4]
add esp, 0xc
fstp dword [esi + 0x484bb4]
mov dword [esi + 0x4843b4], edi
mov dword [esi + 0x4845b4], edi
mov dword [0x48436c], edi
cmp eax, edi
je 0x436df9
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x4840a4], edi
mov dword [0x4841c4], edi
jmp 0x437d1c
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.TEXT
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436ee0
push dword [0x485434]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call edi
mov ebx, eax
lea ecx, [ebx + 0x100]
mov eax, 0x1000
cmp ecx, eax
jle 0x436e49
mov eax, ecx
push 1
push eax
call fcn.00452b24
mov esi, dword [0x485434]
pop ecx
pop ecx
mov dword [ebp - 0x74], eax
test eax, eax
je 0x436ea1
cmp byte [esi], 0
je 0x436ea1
push 0
push 1
inc ebx
push ebx
push eax
mov eax, dword [ebp - 0x7c]
fld dword [eax]
call fcn.00454810
dec eax
push eax
lea eax, [ebp + 0x2a0]
push eax
push esi
call fcn.0044cdae
push dword [ebp - 0x74]
call edi
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x70]
push dword [ebp - 0x78]
call fcn.00428e6d
mov esi, dword [0x485434]
jmp 0x436ea8
mov dword [ebp - 0x80], 1
lea eax, [ebp + 0x2a0]
push eax
push esi
call fcn.00449160
lea esi, [eax + 1]
mov eax, dword [ebp - 0x7c]
fld dword [eax]
call fcn.00454810
dec eax
cmp esi, eax
jg 0x436ece
mov dword [ebp - 0x80], 1
cmp dword [ebp - 0x74], 0
je 0x436c85
push dword [ebp - 0x74]
jmp 0x436f9c
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.FILE_LINE
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x436fa7
push 0x103
lea eax, [ebp + 0x2e0]
push eax
mov eax, esi
imul eax, eax, 0x104
add eax, 0x4804f8
push eax
push dword [0x485434]
call fcn.00413805
lea eax, [ebp + 0x2e0]
push eax
call fcn.00411c73
mov esi, eax
lea eax, [esi + 0x100]
mov ecx, 0x1000
cmp eax, ecx
ja 0x436f42
mov eax, ecx
push 1
push eax
call fcn.00452b24
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x436c8f
mov eax, dword [ebp - 0x7c]
fld dword [eax]
push 0x4841c4
push 0x4840a4
inc esi
push esi
push edi
call fcn.00454810
push eax
lea eax, [ebp + 0x2e0]
push eax
call fcn.004122b9
test eax, eax
je 0x436f94
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push edi
push dword [ebp - 0x70]
push dword [ebp - 0x78]
call fcn.00428e6d
jmp 0x436f9b
mov dword [ebp - 0x80], 1
push edi
call fcn.00452756
pop ecx
jmp 0x436c85
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.FILE
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4371a3
fld1
mov eax, dword [ebp - 0x7c]
fcomp dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
fnstsw ax
test ah, 1
jne 0x437133
push dword [0x485434]
call edi
inc eax
cmp eax, 0x103
jle 0x436ff4
mov eax, 0x103
jmp 0x436ffd
push dword [0x485434]
call edi
inc eax
push eax
push dword [0x485434]
lea eax, [ebp + 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [ebp + 0x19c]
push eax
call edi
lea ecx, [ebp + 0x19c]
cmp byte [eax + ecx - 1], 0x5c
jne 0x437063
mov eax, ecx
push 0x46741c
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
jne 0x437063
lea eax, [ebp + 0x19c]
push 0x467418
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
jne 0x437063
push 0x467b20
lea eax, [ebp + 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp + 0x19c]
push 0x46741c
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
jne 0x4370b3
lea eax, [ebp + 0x19c]
push 0x467418
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
jne 0x4370b3
lea eax, [ebp + 0x19c]
push 0x466c80
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
jne 0x4370b3
push str.____WARNING___The_filespec_does_not_appear_to_contain_any_wildcards
call fcn.0042604a
pop ecx
push 1
push 0x2000000
call fcn.00452b24
pop ecx
pop ecx
mov dword [0x484330], eax
test eax, eax
je 0x437d36
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push str.Recur
push eax
call fcn.004010ff
pop ecx
pop ecx
push 0x464930
test eax, eax
push 0
lea eax, [ebp + 0x19c]
je 0x4370fb
push 1
jmp 0x4370fd
push 0
push 0x1fffdf8
push dword [0x484330]
push eax
call fcn.00413441
mov ecx, str.file
cmp eax, 1
je 0x43711d
mov ecx, str.total_files
lea edx, [ebp + 0x19c]
push edx
push ecx
push eax
push str._____d__s_match_for_file_spec___s_
call fcn.0042604a
add esp, 0x10
push 0
push 1
lea eax, [ebp + 0x2e0]
push 0x103
push eax
mov eax, dword [ebp - 0x7c]
fld dword [eax]
call fcn.00454810
dec eax
push eax
push 0x464930
push dword [0x484330]
call fcn.0044cdae
cmp byte [ebp + 0x2e0], 0
je 0x437187
lea eax, [ebp + 0x2e0]
push eax
call edi
push eax
lea eax, [ebp + 0x2e0]
push eax
push dword [ebp - 0x70]
push esi
call fcn.00428e6d
jmp 0x4366a1
mov eax, dword [0x484330]
test eax, eax
je 0x437197
push eax
call fcn.00452756
pop ecx
and dword [0x484330], 0
jmp 0x436c8f
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.FOLDER
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4372df
fld1
mov eax, dword [ebp - 0x7c]
fcomp dword [eax]
fnstsw ax
test ah, 1
jne 0x43727b
push dword [0x485434]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
mov edi, 0x103
cmp eax, edi
jle 0x4371ed
mov eax, edi
jmp 0x4371fa
push dword [0x485434]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push dword [0x485434]
lea eax, [ebp + 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [0x4842cc]
test eax, eax
je 0x43721e
push eax
call fcn.00452756
pop ecx
push 1
push 0x2000000
call fcn.00452b24
pop ecx
pop ecx
mov dword [0x4842cc], eax
test eax, eax
je 0x437d36
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push str.Recur
push eax
call fcn.004010ff
pop ecx
pop ecx
push 0x464930
test eax, eax
push 1
lea eax, [ebp + 0x19c]
je 0x437277
push 1
push 0x1ffff00
push dword [0x4842cc]
push eax
call fcn.00413441
jmp 0x437280
push 0
jmp 0x437264
mov edi, 0x103
push 0
push 1
lea eax, [ebp + 0x2e0]
push edi
push eax
mov eax, dword [ebp - 0x7c]
fld dword [eax]
call fcn.00454810
dec eax
push eax
push 0x464930
push dword [0x4842cc]
call fcn.0044cdae
cmp byte [ebp + 0x2e0], 0
je 0x4372c3
lea eax, [ebp + 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
jmp 0x437171
mov eax, dword [0x4842cc]
test eax, eax
je 0x4372d3
push eax
call fcn.00452756
pop ecx
and dword [0x4842cc], 0
jmp 0x436c8f
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.PROCESS
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4374e1
fld1
mov eax, dword [ebp - 0x7c]
fcomp dword [eax]
fnstsw ax
test ah, 1
jne 0x437358
mov eax, dword [0x484370]
test eax, eax
je 0x43731b
push eax
call fcn.00452756
pop ecx
push 1
push 0x2000000
call fcn.00452b24
pop ecx
pop ecx
push 2
push 0
mov edi, 0x1fff000
push edi
push eax
push 1
push 0
mov dword [0x484370], eax
call fcn.0044c6a8
test eax, eax
jne 0x437358
push 1
push eax
push edi
push dword [0x484370]
push 1
push eax
call fcn.0044c6a8
push 0
push 1
lea eax, [ebp + 0x2e0]
push 0x103
push eax
mov eax, dword [ebp - 0x7c]
fld dword [eax]
call fcn.00454810
dec eax
push eax
push 0x464930
push dword [0x484370]
call fcn.0044cdae
mov edi, 0x466424
lea eax, [ebp + 0x2e0]
push edi
push eax
call fcn.004526d0
pop ecx
pop ecx
test eax, eax
je 0x4373ba
lea eax, [ebp + 0x2e0]
push edi
push eax
call fcn.004526d0
pop ecx
pop ecx
inc eax
push eax
lea eax, [ebp + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0
push edi
lea eax, [ebp + 0x2e0]
push eax
call fcn.0044937b
cmp byte [ebp + 0x2e0], 0
je 0x4374c5
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push 0x46b798
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x437436
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x464ce0
lea eax, [ebp + 0x98]
push eax
call esi
lea eax, [ebp + 0x2e0]
push eax
lea eax, [ebp + 0x98]
push eax
call esi
lea eax, [ebp + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x98]
push eax
push dword [ebp - 0x70]
push dword [ebp - 0x78]
jmp 0x43717d
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push str.EXE_
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43748c
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x464ce0
lea eax, [ebp + 0x2e0]
push eax
call esi
lea eax, [ebp + 0x98]
push eax
lea eax, [ebp + 0x2e0]
push eax
call esi
lea eax, [ebp + 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x2e0]
jmp 0x43742a
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push 0x469208
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4372b1
lea eax, [ebp + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp + 0x98]
jmp 0x437178
mov eax, dword [0x484370]
test eax, eax
je 0x4374d5
push eax
call fcn.00452756
pop ecx
and dword [0x484370], 0
jmp 0x436c8f
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.REGISTRY
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x437559
push dword [0x485434]
call fcn.004483cc
mov edi, eax
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push str.Parent
push eax
call fcn.004010ff
neg eax
sbb eax, eax
pop ecx
add eax, 2
pop ecx
push eax
lea eax, [ebp + 0x2e0]
push eax
mov eax, dword [ebp - 0x7c]
fld dword [eax]
call fcn.00454810
dec eax
push eax
push dword [0x485434]
push edi
call fcn.004485ca
cmp byte [ebp + 0x2e0], 0
je 0x436c8f
jmp 0x4372b1
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push 0x464c04
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4377a9
fld1
mov eax, dword [ebp - 0x7c]
fcomp dword [eax]
fnstsw ax
test ah, 1
je 0x43762b
mov eax, dword [0x480108]
test eax, eax
je 0x43762b
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 2
push eax
jmp 0x437617
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push str.Child
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4376a6
push 0xfffffffffffffff0
push dword [0x480108]
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, 0x400000
jne 0x4375eb
push 0xfffffffffffffff0
push dword [0x480108]
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, 0x40000
je 0x43760f
push dword [0x480108]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x43760f
push dword [0x480108]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
je 0x4376a6
push 2
push dword [0x480108]
call edi
mov dword [0x480108], eax
test eax, eax
jne 0x4375a1
jmp 0x436c8f
mov eax, dword [esi*4 + 0x481990]
xor edi, edi
push edi
push edi
push dword [ebp - 0x70]
lea eax, [eax + ebx + 0x364]
push esi
push eax
call fcn.00442c90
push dword [0x485434]
call fcn.0040109c
pop ecx
mov dword [0x480108], eax
cmp eax, edi
jne 0x437677
push edi
call dword [sym.imp.USER32.dll_GetTopWindow]
mov dword [0x480108], eax
cmp eax, edi
jne 0x437677
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [0x480108], eax
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push str.Controls
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4376fe
push 5
push dword [0x480108]
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [0x480108], eax
cmp dword [0x480108], 0
je 0x436c8f
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push str.handle
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x43778a
push dword [0x480108]
lea eax, [ebp - 0x6c]
push 0x464bf4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
lea eax, [ebp - 0x6c]
jmp 0x437178
mov eax, dword [esi*4 + 0x481990]
lea eax, [eax + ebx + 0x58]
push str.Child
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4376a6
mov eax, dword [0x480108]
test eax, eax
je 0x436c8f
mov edi, dword [sym.imp.USER32.dll_GetWindowLongA]
push 0xfffffffffffffff0
push eax
call edi
test eax, 0x400000
jne 0x43774a
push 0xfffffffffffffff0
push dword [0x480108]
call edi
test eax, 0x40000
je 0x43776e
push dword [0x480108]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x43776e
push dword [0x480108]
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
je 0x4376a6
push 2
push dword [0x480108]
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [0x480108], eax
test eax, eax
jne 0x43772d
jmp 0x436c8f
lea eax, [ebp + 0x2e0]
push eax
push 0x103
push 0xd
push dword [0x480108]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x4372b1
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.DATA
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4379a7
fld1
mov eax, dword [ebp - 0x7c]
fcomp dword [eax]
fnstsw ax
test ah, 1
jne 0x4378cf
fild dword [0x4819b4]
mov eax, dword [0x4819b0]
mov dword [0x484374], eax
fstp dword [edi + 0x484778]
cmp eax, 0x10
jle 0x4377f7
push 0x10
pop eax
shl eax, 2
push eax
push 0x47f8c0
push 0x484db8
call fcn.00452790
add esp, 0xc
mov esi, 0x484d78
mov eax, dword [esi]
test eax, eax
je 0x437822
push eax
call fcn.00452756
and dword [esi], 0
pop ecx
add esi, 4
cmp esi, 0x484db8
jl 0x437812
xor ebx, ebx
mov eax, dword [0x484374]
cmp eax, 0x10
jle 0x43783c
push 0x10
pop eax
cmp ebx, eax
jge 0x4378cf
mov esi, ebx
mov eax, dword [esi*4 + 0x4819b8]
test eax, eax
je 0x4378cf
push eax
call fcn.00452af1
add eax, 0x100
pop ecx
cmp eax, 0x1000
jbe 0x437881
mov eax, dword [esi*4 + 0x4819b8]
test eax, eax
je 0x437878
push eax
call fcn.00452af1
pop ecx
jmp 0x43787a
xor eax, eax
add eax, 0x100
jmp 0x437886
mov eax, 0x1000
push 1
push eax
call fcn.00452b24
pop ecx
pop ecx
mov dword [esi*4 + 0x484d78], eax
test eax, eax
je 0x4378c9
mov eax, dword [esi*4 + 0x4819b8]
test eax, eax
je 0x4378af
push eax
call fcn.00452af1
pop ecx
jmp 0x4378b1
xor eax, eax
inc eax
push eax
push dword [esi*4 + 0x4819b8]
push dword [esi*4 + 0x484d78]
call fcn.00452790
add esp, 0xc
inc ebx
jmp 0x43782f
cmp dword [0x484d78], 0
je 0x436c8f
fld1
fcomp dword [edi + 0x484778]
fnstsw ax
test ah, 0x41
je 0x436c8f
mov eax, dword [ebp - 0x7c]
fld dword [eax]
call fcn.00454810
mov dword [ebp - 0x74], eax
fild dword [ebp - 0x74]
fld dword [edi + 0x484778]
fcompp
fnstsw ax
test ah, 5
jnp 0x436c8f
push 1
push 0x8000
call fcn.00452b24
and dword [ebp - 0x74], 0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
pop ecx
pop ecx
mov esi, eax
mov eax, dword [0x484374]
cmp eax, 0x10
jle 0x437939
push 0x10
pop eax
cmp dword [ebp - 0x74], eax
jge 0x437976
test esi, esi
je 0x437971
mov eax, dword [ebp - 0x74]
mov ebx, dword [eax*4 + 0x484db8]
mov eax, dword [ebp - 0x7c]
fld dword [eax]
inc ebx
call fcn.00454810
dec eax
imul ebx, eax
mov eax, dword [ebp - 0x74]
add ebx, dword [eax*4 + 0x484d78]
push ebx
push esi
call edi
push 0x46a318
push esi
call edi
inc dword [ebp - 0x74]
jmp 0x43792c
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push esi
call edi
push esi
mov byte [eax + esi - 2], 0
call edi
push eax
push esi
push dword [ebp - 0x70]
push dword [ebp - 0x78]
call fcn.00428e6d
test esi, esi
je 0x4366a1
push esi
call fcn.00452756
jmp 0x4366de
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.MESSAGE
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4366a1
cmp byte [0x4851f8], 0
jne 0x437a05
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x48011c]
test eax, eax
je 0x4379fe
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4379fe
push 0
call esi
push 0xc8
call esi
cmp byte [0x4851f8], 0
je 0x4379d4
jmp 0x437a05
mov dword [ebp - 0x80], 1
mov esi, 0x4851f8
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push esi
push dword [ebp - 0x70]
push dword [ebp - 0x78]
call fcn.00428e6d
mov byte [0x4851f8], 0
jmp 0x436c85
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push str.NEXT_LOOP
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4366a1
push dword [ebp - 0x70]
push esi
call fcn.0042492f
mov ecx, esi
shl ecx, 6
fld dword [ecx + 0x484978]
mov edx, eax
fldz
mov dword [0x47e40c], edx
fucompp
fnstsw ax
test ah, 0x44
jp 0x437a73
fld1
jmp 0x437a79
fld dword [ecx + 0x484978]
inc dword [ecx + 0x484578]
fstp dword [ebp - 0x74]
fld dword [ebp - 0x74]
inc edx
fadd dword [ecx + 0x484b78]
push edx
push str.____Jumping_to_START_LOOP_at__Step__d_...
fstp dword [ecx + 0x484b78]
jmp 0x437c27
mov dword [0x47e40c], eax
jmp 0x437d1c
mov eax, dword [0x485434]
xor edi, edi
cmp eax, edi
je 0x437d21
cmp byte [eax], 0
je 0x437d21
mov dword [ebp - 0x74], edi
cmp dword [esi*4 + 0x480274], edi
jle 0x437b73
test eax, eax
je 0x437b5a
cmp byte [eax], 0
je 0x437b5a
mov ecx, dword [esi*4 + 0x481990]
test byte [edi + ecx + 0x48], 1
jne 0x437b5a
push 5
push str.STEP
push eax
call fcn.00452ccd
add esp, 0xc
test eax, eax
jne 0x437b15
mov eax, dword [0x485434]
add eax, 5
push eax
call fcn.00452e90
pop ecx
mov ecx, dword [ebp - 0x74]
inc ecx
cmp eax, ecx
je 0x437b8d
mov eax, dword [esi*4 + 0x481990]
add eax, edi
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x437b55
cmp byte [ecx], 0
je 0x437b55
push str.Label
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x437b55
mov eax, dword [esi*4 + 0x481990]
push dword [edi + eax + 0x50]
push dword [0x485434]
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x437b8d
mov eax, dword [0x485434]
inc dword [ebp - 0x74]
mov ecx, dword [ebp - 0x74]
add edi, 0xf54
cmp ecx, dword [esi*4 + 0x480274]
jl 0x437acf
push eax
push str.Label___s__not_found
push dword [0x481960]
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x437d36
mov edi, dword [ebp - 0x74]
lea eax, [edi + 1]
push eax
push dword [0x485434]
push str.____Jumping_to_label___s__at__Step__d_
call fcn.0042604a
add esp, 0xc
test edi, edi
jns 0x437bb4
and dword [0x47e40c], 0
jmp 0x437bcb
mov eax, dword [esi*4 + 0x480274]
dec eax
mov dword [0x47e40c], eax
cmp edi, eax
jg 0x437bcb
mov dword [0x47e40c], edi
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
je 0x437bf8
mov edi, str.GOSUB
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
mov eax, dword [esi*4 + 0x481990]
add eax, ebx
push edi
push eax
call fcn.00452ccd
add esp, 0xc
jmp 0x437bfb
xor eax, eax
inc eax
test eax, eax
jne 0x437c33
mov eax, dword [0x484df8]
inc eax
mov dword [0x484df8], eax
cmp eax, 0x40
jl 0x437c17
push 0x3f
pop eax
mov dword [0x484df8], eax
mov ecx, dword [ebp - 0x70]
push eax
mov dword [eax*4 + 0x484e70], ecx
push str.____GOSUB_stack_depth:__d
call fcn.0042604a
pop ecx
pop ecx
jmp 0x437d1c
cmp dword [0x484e2c], 1
jl 0x437d1c
mov ebx, dword [ebp - 0x70]
mov ecx, dword [0x47e40c]
cmp ebx, ecx
jl 0x437c4f
mov ebx, ecx
mov edi, ebx
imul edi, edi, 0xf54
jmp 0x437c5f
mov ecx, dword [0x47e40c]
mov eax, dword [ebp - 0x70]
cmp eax, ecx
jg 0x437c68
mov eax, ecx
cmp ebx, eax
jge 0x437d1c
mov eax, dword [esi*4 + 0x481990]
add eax, edi
test byte [eax + 0x48], 3
jne 0x437d08
push str.END_IF
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x437cd4
mov eax, dword [esi*4 + 0x481990]
add eax, edi
je 0x437cb1
push 3
push 0x4654b4
push eax
call fcn.00452ccd
add esp, 0xc
jmp 0x437cb4
xor eax, eax
inc eax
test eax, eax
jne 0x437d08
mov eax, dword [esi*4 + 0x481990]
lea eax, [edi + eax + 0x58]
push str.Quick
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x437d08
mov eax, dword [0x484e2c]
push dword [eax*4 + 0x484e30]
push str.____Leaving__and_closing__IF_block_which_was_entered_at__Step__d_
call fcn.0042604a
mov eax, dword [0x484e2c]
and dword [eax*4 + 0x484e30], 0
dec dword [0x484e2c]
pop ecx
pop ecx
jns 0x437d08
and dword [0x484e2c], 0
inc ebx
add edi, 0xf54
cmp dword [0x484e2c], 1
jge 0x437c59
xor eax, eax
inc eax
jmp 0x437d38
mov eax, dword [0x481960]
cmp eax, edi
je 0x437d36
push str.No_label_name_provided
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor eax, eax
mov ecx, dword [ebp + 0x3e4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00452dee
add ebp, 0x3e8
leave
ret 8