Function at 0x428e6d
Capabilities:
Delete file
Print debug messages
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x384]
sub esp, 0x404
mov eax, dword [0x47e5d0]
xor eax, ebp
mov dword [ebp + 0x380], eax
mov eax, dword [ebp + 0x394]
push ebx
mov ebx, dword [ebp + 0x38c]
push esi
mov esi, dword [ebp + 0x390]
push edi
push 0x207
mov dword [ebp - 0x58], eax
xor edi, edi
lea eax, [ebp - 0x53]
push edi
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x5c], esi
mov byte [ebp - 0x54], 0
call fcn.00452e00
push 0x103
lea eax, [ebp + 0x235]
push edi
push eax
mov byte [ebp + 0x234], 0
call fcn.00452e00
push 0x47
lea eax, [ebp + 0x339]
push edi
push eax
mov byte [ebp + 0x338], 0
call fcn.00452e00
push 0x7f
lea eax, [ebp + 0x1b5]
push edi
push eax
mov byte [ebp + 0x1b4], 0
call fcn.00452e00
imul esi, esi, 0xf54
lea ebx, [ebx*4 + 0x481990]
mov eax, dword [ebx]
lea ecx, [eax + esi + 0xc88]
add esp, 0x30
mov dword [ebp - 0x68], edi
cmp ecx, edi
je 0x429884
cmp byte [ecx], 0
je 0x429884
cmp dword [ebp + 0x398], 1
jne 0x428f52
mov ecx, dword [ebp - 0x58]
mov cl, byte [ecx]
cmp cl, 0x30
je 0x428f44
test cl, cl
jne 0x428f52
cmp dword [eax + esi + 0xf28], 1
jg 0x429884
and dword [ebp - 0x80], edi
xor eax, eax
lea edi, [ebp - 0x7c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x58]
and dword [ebp - 0x60], 0
cmp eax, dword [0x485434]
jne 0x428f89
mov dword [ebp - 0x60], 1
mov eax, dword [ebx]
add eax, esi
lea edi, [eax + 0xc88]
mov cl, byte [edi]
cmp cl, 0x4d
je 0x428fa3
cmp cl, 0x56
jne 0x429152
cmp byte [eax + 0xcc8], 0x7b
jne 0x42914d
cmp byte [eax + 0xcca], 0x7d
jne 0x42914d
mov dl, byte [eax + 0xcc9]
cmp dl, 0x31
jl 0x42914d
cmp dl, 0x39
jg 0x42914d
movsx eax, dl
add eax, 0xffffffd0
cmp eax, 1
jge 0x428fe5
xor eax, eax
inc eax
jmp 0x428fed
cmp eax, 9
jle 0x428fed
push 9
pop eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [eax*4 + 0x481964]
mov dword [ebp - 0x5c], eax
mov eax, dword [eax]
test eax, eax
jne 0x42905c
push dword [ebp - 0x58]
call edi
cmp dword [ebp + 0x398], eax
jle 0x429018
mov eax, dword [ebp + 0x398]
jmp 0x42901d
push dword [ebp - 0x58]
call edi
lea ecx, [eax + 0x10000]
mov eax, 0x1000
cmp ecx, eax
jle 0x42904b
push dword [ebp - 0x58]
call edi
cmp dword [ebp + 0x398], eax
jle 0x429041
mov eax, dword [ebp + 0x398]
jmp 0x429046
push dword [ebp - 0x58]
call edi
add eax, 0x10000
push 1
push eax
call fcn.00452b24
pop ecx
pop ecx
mov ecx, dword [ebp - 0x5c]
mov dword [ecx], eax
jmp 0x4290a2
push eax
call fcn.00452af1
cmp eax, dword [ebp + 0x398]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax]
pop ecx
jae 0x429083
test eax, eax
je 0x42907b
push eax
call fcn.00452756
pop ecx
mov eax, dword [ebp - 0x5c]
and dword [eax], 0
jmp 0x4290a2
test eax, eax
je 0x429090
push eax
call fcn.00452af1
pop ecx
jmp 0x429092
xor eax, eax
push eax
mov eax, dword [ebp - 0x5c]
push 0
push dword [eax]
call fcn.00452e00
add esp, 0xc
mov eax, dword [ebp - 0x5c]
cmp dword [eax], 0
je 0x429870
cmp dword [ebp - 0x58], 0
je 0x429101
push dword [ebp - 0x58]
call edi
inc eax
cmp dword [ebp + 0x398], eax
jle 0x4290ca
mov eax, dword [ebp + 0x398]
jmp 0x4290d0
push dword [ebp - 0x58]
call edi
inc eax
test eax, eax
jle 0x429101
push dword [ebp - 0x58]
call edi
inc eax
cmp dword [ebp + 0x398], eax
jle 0x4290ea
mov eax, dword [ebp + 0x398]
jmp 0x4290f0
push dword [ebp - 0x58]
call edi
inc eax
push eax
push dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
push dword [eax]
call fcn.00452790
add esp, 0xc
push dword [ebp - 0x58]
call edi
cmp eax, 0x102
jge 0x429870
push dword [ebp - 0x58]
call edi
inc eax
cmp dword [ebp + 0x398], eax
jle 0x429127
mov eax, dword [ebp + 0x398]
jmp 0x42912d
push dword [ebp - 0x58]
call edi
inc eax
push eax
mov eax, dword [ebx]
push dword [ebp - 0x58]
lea eax, [eax + esi + 0xcc8]
push eax
push str._____s____s____d_bytes_
call fcn.0042604a
add esp, 0x10
jmp 0x429870
cmp cl, 0x56
je 0x42915b
cmp cl, 0x76
jne 0x4293de
add eax, 0xcc8
cmp byte [eax], 0
je 0x4293de
xor edx, edx
mov esi, eax
mov cl, byte [esi]
cmp cl, 0x41
jl 0x429179
cmp cl, 0x5a
jle 0x4291b0
cmp cl, 0x61
jl 0x429183
cmp cl, 0x7a
jle 0x4291b0
cmp cl, 0x30
jl 0x42918d
cmp cl, 0x39
jle 0x4291b0
cmp cl, 0x5f
je 0x4291b0
cmp cl, 0x2e
je 0x4291b0
cmp cl, 0x5b
je 0x4291b0
cmp cl, 0x5d
je 0x4291b0
cmp cl, 0x7b
je 0x4291b0
cmp cl, 0x7d
je 0x4291b0
cmp cl, 0x25
jne 0x4291b7
inc edx
inc esi
cmp edx, 0x40
jl 0x42916d
lea ecx, [edx + 1]
cmp ecx, 0x3f
jle 0x4291c2
push 0x3f
pop ecx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpynA]
push ecx
push eax
lea eax, [ebp + 0x338]
push eax
call ebx
lea eax, [ebp + 0x338]
push 0x46854c
push eax
call fcn.004526d0
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
pop ecx
pop ecx
test eax, eax
jne 0x42920a
push 0x46493c
lea eax, [ebp + 0x338]
push eax
call fcn.00449160
cmp eax, 2
jl 0x429291
lea eax, [ebp + 0x338]
push 0x25
push eax
call fcn.00452d30
mov edi, eax
pop ecx
pop ecx
lea eax, [edi + 1]
test edi, edi
jne 0x429229
lea eax, [ebp + 0x338]
push 0x7f
lea ecx, [ebp + 0x1b4]
push ecx
push dword [ebp - 0x5c]
push dword [ebp - 0x64]
push eax
call fcn.00446b09
cmp dword [ebp - 0x60], 0
je 0x42924c
mov eax, dword [0x485434]
mov dword [ebp - 0x58], eax
test edi, edi
je 0x429263
push 0x46493c
push 0
lea eax, [ebp + 0x1b4]
push eax
call fcn.00449673
lea eax, [ebp + 0x1b4]
push eax
call esi
lea ecx, [eax + 1]
push 0x3f
pop eax
cmp ecx, eax
jg 0x429280
lea eax, [ebp + 0x1b4]
push eax
call esi
inc eax
push eax
lea eax, [ebp + 0x1b4]
push eax
lea eax, [ebp + 0x338]
push eax
call ebx
cmp byte [ebp + 0x338], 0
je 0x429870
cmp byte [ebp + 0x338], 0x25
lea eax, [ebp + 0x339]
je 0x4292b3
lea eax, [ebp + 0x338]
push eax
lea eax, [ebp - 0x54]
push str.SOFTWARE_vTaskUserVariables_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov edi, dword [ebp - 0x58]
add esp, 0xc
mov byte [ebp + 0x234], 0
test edi, edi
je 0x429308
push edi
call esi
lea ecx, [eax + 1]
mov eax, 0x102
cmp ecx, eax
jg 0x4292e7
push edi
call esi
inc eax
push eax
push edi
lea eax, [ebp + 0x234]
push eax
call ebx
push 4
lea eax, [ebp + 0x318]
push 0x469bc0
push eax
call fcn.00452790
add esp, 0xc
lea eax, [ebp + 0x234]
push 0x469bb4
push eax
call fcn.00454980
mov edi, dword [ebp + 0x398]
pop ecx
pop ecx
test eax, eax
jne 0x429391
cmp edi, 5
jg 0x429361
lea eax, [ebp + 0x234]
push str.0123456789._
push eax
call fcn.00454a80
pop ecx
mov ebx, eax
pop ecx
lea eax, [ebp + 0x234]
push eax
call esi
cmp ebx, eax
jb 0x429361
lea eax, [ebp + 0x234]
push eax
lea eax, [ebp + 0x338]
push eax
push str._____s____s_
jmp 0x42939e
push dword [ebp - 0x58]
call esi
cmp eax, edi
jle 0x429371
push dword [ebp - 0x58]
call esi
jmp 0x429373
mov eax, edi
push eax
lea eax, [ebp + 0x234]
push eax
lea eax, [ebp + 0x338]
push eax
push str._____s____s____li_bytes_
call fcn.0042604a
add esp, 0x10
jmp 0x4293a6
push edi
lea eax, [ebp + 0x338]
push eax
push str._____s___d_bytes__binary_
call fcn.0042604a
add esp, 0xc
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x4293c2
cmp edi, 1
jl 0x4293c2
push ebx
call esi
cmp edi, eax
lea eax, [ebp - 0x54]
push eax
jg 0x4293be
inc edi
push edi
push ebx
jmp 0x4293cd
lea eax, [ebp - 0x54]
push eax
push 1
push 0x464a50
push 1
push 2
call fcn.0044ad45
add esp, 0x14
jmp 0x429870
push 0x469b58
push edi
call fcn.004010ff
pop ecx
test eax, eax
mov eax, dword [ebx]
pop ecx
je 0x429406
push dword [ebp - 0x58]
lea eax, [eax + esi + 0xcc8]
push eax
call fcn.0044c262
jmp 0x429870
lea eax, [eax + esi + 0xc88]
push str.clip
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x429471
mov edi, dword [ebp - 0x58]
test edi, edi
je 0x429466
cmp byte [edi], 0
je 0x429466
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push edi
call esi
lea ecx, [eax + 1]
mov eax, 0x206
cmp ecx, eax
jg 0x429443
push edi
call esi
inc eax
push eax
push edi
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [ebp - 0x54]
push eax
push dword [ebp + 0x398]
push str.____Saving__li_byte_s__to_clipboard:___s_
call fcn.0042604a
add esp, 0xc
push edi
call fcn.00449ff4
jmp 0x429870
mov eax, dword [ebx]
lea eax, [eax + esi + 0xc88]
push str.File
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x429584
mov eax, dword [ebx]
lea eax, [eax + esi + 0xcc8]
cmp byte [eax], 0
je 0x429584
push 0x103
lea ecx, [ebp + 0x234]
push ecx
push dword [ebp - 0x5c]
push dword [ebp - 0x64]
push eax
call fcn.00446b09
cmp dword [ebp - 0x60], 0
mov edi, dword [0x485434]
jne 0x4294c8
mov edi, dword [ebp - 0x58]
lea eax, [ebp + 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push edi
call esi
lea ecx, [eax + 1]
mov eax, 0x206
cmp ecx, eax
jg 0x4294ee
push edi
call esi
inc eax
push eax
push edi
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov ebx, dword [ebp + 0x398]
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp + 0x234]
push eax
push ebx
push str.____Saving__li_byte_s__to_file___s_:___s_
call fcn.0042604a
add esp, 0x10
test ebx, ebx
jle 0x429870
push 0
push 0x80
push 4
push 0
push 3
push 0xc0000000
lea eax, [ebp + 0x234]
push eax
call fcn.00413e0e
push 0
mov esi, eax
lea eax, [ebp - 0x68]
push eax
push ebx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edi, eax
test esi, esi
je 0x42955d
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x42956a
cmp esi, 0xffffffff
jne 0x429870
lea eax, [ebp + 0x234]
push eax
push ebx
push str.____ERROR_saving__li_byte_s__to_file___s_
call fcn.0042604a
add esp, 0xc
jmp 0x429870
mov eax, dword [ebx]
lea eax, [eax + esi + 0xc88]
push str.Excel
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4295e3
push 0x103
lea eax, [ebp + 0x234]
push eax
push dword [ebp - 0x5c]
mov eax, dword [ebx]
push dword [ebp - 0x64]
lea eax, [eax + esi + 0xcc8]
push eax
call fcn.00446b09
mov eax, dword [0x485434]
xor ecx, ecx
cmp dword [ebp - 0x60], ecx
jne 0x4295ce
mov eax, dword [ebp - 0x58]
push ecx
push ecx
push ecx
push eax
lea eax, [ebp + 0x234]
push eax
call fcn.0040df52
jmp 0x429870
mov eax, dword [ebx]
lea eax, [eax + esi + 0xc88]
push 0x469ac8
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4297fb
mov eax, dword [ebx]
lea eax, [eax + esi + 0xc88]
push str.Adobe
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
jne 0x4297fb
mov eax, dword [ebx]
lea eax, [eax + esi + 0xc88]
push str.Output
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x42971d
push dword [ebp - 0x58]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call esi
lea ecx, [eax + 1]
mov eax, 0x1e8
cmp ecx, eax
jg 0x42965a
push dword [ebp - 0x58]
call esi
inc eax
push eax
push dword [ebp - 0x58]
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [ebp - 0x54]
push eax
call esi
cmp eax, 0x1e6
jl 0x429684
push str.______DATA_TRUNCATED_____r_n
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [ebp + 0x234], 0x78
xor edi, edi
push 0
push 1
push 0xff
lea eax, [ebp + 0x234]
push eax
push edi
push 0x464930
lea eax, [ebp - 0x54]
push eax
call fcn.0044cdae
inc edi
cmp byte [ebp + 0x234], 0
je 0x429870
lea eax, [ebp + 0x234]
mov cl, byte [eax]
test cl, cl
je 0x4296d7
cmp cl, 0xd
jne 0x4296d4
mov byte [eax], 0x20
inc eax
jmp 0x4296c6
lea eax, [ebp + 0x234]
mov cl, byte [eax]
test cl, cl
je 0x4296ee
cmp cl, 0xa
jne 0x4296eb
mov byte [eax], 0x20
inc eax
jmp 0x4296dd
lea eax, [ebp + 0x234]
push eax
call fcn.0042604a
pop ecx
lea eax, [ebp + 0x234]
push eax
call esi
push 0x4663d8
call esi
cmp byte [ebp + 0x234], 0
jne 0x429693
jmp 0x429870
mov eax, dword [ebx]
lea eax, [eax + esi + 0xc88]
push str.Message
push eax
call fcn.004010ff
pop ecx
pop ecx
test eax, eax
je 0x4297e8
push dword [ebp - 0x58]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
call esi
lea ecx, [eax + 1]
mov eax, 0x1e8
cmp ecx, eax
jg 0x429758
push dword [ebp - 0x58]
call esi
inc eax
push eax
push dword [ebp - 0x58]
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [ebp - 0x54]
push eax
call esi
cmp eax, 0x1e6
jl 0x429782
push str.______DATA_TRUNCATED____
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [ebp - 0x5c]
inc eax
push eax
lea eax, [ebp + 0x234]
push str._Step__d__Data_Result___Press_Cancel_to_Stop_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push dword [0x4800c0]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4297b3
mov eax, dword [0x4800c0]
jmp 0x4297b9
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0x52001
lea ecx, [ebp + 0x234]
push ecx
lea ecx, [ebp - 0x54]
push ecx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 2
jne 0x429870
mov dword [0x480338], 1
jmp 0x429870
mov eax, dword [ebp - 0x5c]
inc eax
push eax
push str.____WARNING:_Invalid__Save_Output__destination_for__Step__d_
call fcn.0042604a
pop ecx
pop ecx
jmp 0x429870
push 0x103
lea eax, [ebp + 0x234]
push eax
push dword [ebp - 0x5c]
mov eax, dword [ebx]
push dword [ebp - 0x64]
lea eax, [eax + esi + 0xcc8]
push eax
call fcn.00446b09
mov ecx, dword [0x485434]
xor eax, eax
cmp dword [ebp - 0x60], eax
jne 0x42982c
mov ecx, dword [ebp - 0x58]
fld dword [0x4669d8]
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
sub esp, 0x10
fstp dword [esp + 0xc]
lea eax, [ebp + 0x234]
fld dword [0x4669e8]
fstp dword [esp + 8]
fld dword [0x4669ec]
fstp dword [esp + 4]
fld1
fstp dword [esp]
push 0xe
push 0x466a00
push 1
push ecx
push eax
call fcn.0040bd7d
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov ecx, dword [ebp + 0x380]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00452dee
add ebp, 0x384
leave
ret 0x10