Function at 0x415d14
Capabilities:
Timestomp file

Disassembly:
mov eax, 0x4a08b0
call fcn.00497a30
mov eax, 0x12c0
call fcn.00497ce0
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [sym.imp.MSVCR71.dll_strncpy]
xor ebx, ebx
add eax, 4
push 0x7ff
push eax
lea eax, [ebp - 0x918]
push eax
mov byte [ebp - 0xd], bl
mov byte [ebp - 0xe], bl
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
call esi
lea eax, [ebp - 0x918]
add esp, 0xc
push eax
mov byte [ebp - 0x119], bl
call fcn.004820c0
cmp byte [ebp - 0x918], bl
pop ecx
jne 0x415d8a
mov ecx, 0x469
jmp 0x4160e4
push ebx
push ebx
lea eax, [ebp - 0x918]
push 0x20
push eax
call fcn.00483b18
add esp, 0x10
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x415fa5
lea eax, [ebp - 0x918]
push eax
call sub.MSVCR71.dll_strlen
cmp eax, 0x10
pop ecx
jb 0x415fa5
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x918]
sub eax, ecx
cmp eax, 0xe
jl 0x415fa5
mov byte [ebp + 0xb], 1
xor ebx, ebx
movsx eax, byte [ebp + ebx - 0x918]
push eax
call dword [sym.imp.MSVCR71.dll_isdigit]
test eax, eax
pop ecx
jne 0x415def
mov byte [ebp + 0xb], al
inc ebx
cmp ebx, 0xe
jl 0x415dd8
cmp byte [ebp + 0xb], 0
je 0x415fa5
push 4
lea eax, [ebp - 0x918]
push eax
lea eax, [ebp - 0x20]
push eax
call esi
mov ebx, dword [sym.imp.MSVCR71.dll_atoi]
lea eax, [ebp - 0x20]
add esp, 0xc
push eax
mov byte [ebp - 0x1c], 0
call ebx
pop ecx
mov dword [ebp - 0x30], eax
push 2
lea eax, [ebp - 0x914]
push eax
lea eax, [ebp - 0x20]
push eax
call esi
lea eax, [ebp - 0x20]
add esp, 0xc
push eax
mov byte [ebp - 0x1e], 0
call ebx
pop ecx
mov dword [ebp - 0x2c], eax
push 2
lea eax, [ebp - 0x912]
push eax
lea eax, [ebp - 0x20]
push eax
call esi
lea eax, [ebp - 0x20]
add esp, 0xc
push eax
mov byte [ebp - 0x1e], 0
call ebx
pop ecx
mov dword [ebp - 0x28], eax
push 2
lea eax, [ebp - 0x910]
push eax
lea eax, [ebp - 0x20]
push eax
call esi
lea eax, [ebp - 0x20]
add esp, 0xc
push eax
mov byte [ebp - 0x1e], 0
call ebx
pop ecx
mov dword [ebp - 0x44], eax
push 2
lea eax, [ebp - 0x90e]
push eax
lea eax, [ebp - 0x20]
push eax
call esi
lea eax, [ebp - 0x20]
add esp, 0xc
push eax
mov byte [ebp - 0x1e], 0
call ebx
pop ecx
mov dword [ebp - 0x38], eax
push 2
lea eax, [ebp - 0x90c]
push eax
lea eax, [ebp - 0x20]
push eax
call esi
lea eax, [ebp - 0x20]
add esp, 0xc
push eax
mov byte [ebp - 0x1e], 0
call ebx
cmp dword [ebp - 0x30], 0x7bc
pop ecx
mov dword [ebp - 0x34], eax
jl 0x415f04
cmp dword [ebp - 0x30], 0x81b
jg 0x415f04
cmp dword [ebp - 0x2c], 1
jl 0x415f04
cmp dword [ebp - 0x2c], 0xc
jg 0x415f04
cmp dword [ebp - 0x28], 1
jl 0x415f04
cmp dword [ebp - 0x28], 0x1f
jg 0x415f04
cmp dword [ebp - 0x38], 0
jl 0x415f04
cmp dword [ebp - 0x38], 0x3b
jg 0x415f04
test eax, eax
jl 0x415f04
cmp eax, 0x3b
jle 0x415f08
mov byte [ebp + 0xb], 0
cmp byte [ebp + 0xb], 0
je 0x415fa5
mov cl, byte [ebp - 0x90a]
cmp cl, 0x20
je 0x415f6a
cmp cl, 0x2d
je 0x415f27
cmp cl, 0x2b
jne 0x415f66
xor eax, eax
test cl, cl
je 0x415f43
cmp eax, 8
jge 0x415f43
mov byte [ebp + eax - 0x20], cl
mov cl, byte [ebp + eax - 0x909]
inc eax
cmp cl, 0x20
jne 0x415f29
mov byte [ebp + eax - 0x20], 0
lea eax, [ebp - 0x20]
push eax
call ebx
cmp eax, 0xfffffc18
pop ecx
mov dword [ebp - 0x24], eax
jl 0x415f66
cmp eax, 0x3e8
jg 0x415f66
mov byte [ebp - 0xe], 1
jmp 0x415f6a
mov byte [ebp + 0xb], 0
cmp byte [ebp + 0xb], 0
je 0x415fa5
lea eax, [ebp - 0x918]
push eax
mov byte [ebp - 0xd], 1
call sub.MSVCR71.dll_strlen
inc eax
pop ecx
push eax
mov eax, dword [ebp - 0x14]
inc eax
push eax
lea eax, [ebp - 0x918]
push eax
call dword [sym.imp.MSVCR71.dll_memmove]
add esp, 0xc
lea eax, [ebp - 0x918]
push eax
call fcn.004820c0
pop ecx
cmp byte [edi + 0x8d2e], 0
jne 0x415fbe
cmp byte [ebp - 0xd], 0
je 0x415fbe
mov ecx, 0x4b1
jmp 0x4160e4
lea eax, [ebp - 0x918]
push eax
lea ecx, [ebp - 0x98]
call fcn.00483141
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x114]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
push dword [edi + 0x84b8]
call fcn.00404e2d
lea esi, [edi + 0x8d50]
mov byte [ebp - 4], 1
call fcn.0040476d
lea eax, [ebp - 0x114]
push eax
mov byte [ebp - 4], bl
call fcn.00403e9b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x98]
call fcn.004833a3
cmp byte [ebp - 0xd], bl
mov eax, dword [edi + 0x815c]
mov dword [ebp - 0xa7c], eax
mov dword [ebp - 0x12c8], 0x14
je 0x416040
mov dword [ebp - 0x12c8], 7
lea eax, [edi + 0x8e31]
push eax
lea eax, [ebp - 0x12c3]
push eax
call sub.MSVCR71.dll_strcpy
cmp dword [edi + 0x8d6c], 0x10
pop ecx
pop ecx
jb 0x416066
mov eax, dword [edi + 0x8d58]
jmp 0x41606c
lea eax, [edi + 0x8d58]
push eax
lea eax, [ebp - 0x127c]
push eax
call sub.MSVCR71.dll_strcpy
lea eax, [edi + 0x8449]
push eax
lea eax, [ebp - 0x1291]
push eax
call sub.MSVCR71.dll_strcpy
mov eax, dword [edi + 0x8164]
mov dword [ebp - 0x1280], eax
mov al, byte [0x4bb21b]
mov byte [ebp - 0x12c4], al
mov eax, dword [0x4bb2cc]
add esp, 0x10
cmp eax, ebx
je 0x4160bc
lea ecx, [ebp - 0x12c8]
push ecx
push eax
call fcn.0042b1c6
cmp byte [ebp - 0x12c4], 0
jne 0x4160d4
cmp dword [edi + 0x84c0], ebx
jne 0x4160d4
mov ecx, 0x46a
jmp 0x4160e4
mov eax, esi
call fcn.00412edf
test al, al
je 0x4160f0
mov ecx, 0x4a2
push 0xffffffffffffffff
call fcn.0040753b
jmp 0x416462
push esi
call fcn.00404dfd
mov byte [ebp + 0xb], al
pop ecx
mov eax, esi
call fcn.00404e17
cmp byte [ebp + 0xb], 0
jne 0x416123
test al, al
jne 0x416123
lea eax, [edi + 0x8d78]
cmp dword [eax + 0x18], 0x10
jb 0x4161aa
mov eax, dword [eax + 4]
jmp 0x4161ad
mov dword [ebp - 0x14], ebx
call fcn.00467a1c
test al, al
je 0x416136
mov dword [ebp - 0x14], 0x2000000
cmp byte [ebp - 0xd], 0
mov esi, dword [edi + 0x84c0]
je 0x416340
cmp esi, ebx
je 0x41615c
cmp byte [ebp - 0x12c4], 0
jne 0x41615c
mov bl, 1
call fcn.00456bca
xor ebx, ebx
cmp dword [edi + 0x8d6c], 0x10
jb 0x41616d
mov eax, dword [edi + 0x8d58]
jmp 0x416173
lea eax, [edi + 0x8d58]
push ebx
push dword [ebp - 0x14]
push 3
push ebx
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x14], eax
jne 0x4161b7
mov esi, dword [edi + 0x84c0]
cmp esi, ebx
je 0x41610b
xor bl, bl
call fcn.00456bca
jmp 0x41610b
add eax, 4
mov ecx, 0x46b
jmp 0x416443
mov ax, word [ebp - 0x30]
mov word [ebp - 0x5c], ax
mov ax, word [ebp - 0x2c]
mov word [ebp - 0x5a], ax
mov ax, word [ebp - 0x28]
mov word [ebp - 0x56], ax
mov ax, word [ebp - 0x44]
mov word [ebp - 0x54], ax
mov ax, word [ebp - 0x38]
mov word [ebp - 0x52], ax
mov ax, word [ebp - 0x34]
mov word [ebp - 0x50], ax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp + 0xb], 0
mov word [ebp - 0x4e], bx
mov word [ebp - 0x58], bx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
test eax, eax
je 0x4162e5
cmp byte [ebp - 0xe], 0
je 0x41624b
mov eax, dword [ebp - 0x24]
push ebx
cdq
push 0x23c34600
push edx
push eax
call fcn.00497b00
push 1
push ebx
push ebx
push dword [ebp - 0x3c]
mov esi, eax
mov eax, edx
mov dword [ebp - 0x24], eax
call fcn.00497b00
mov ecx, dword [ebp - 0x40]
sub eax, esi
mov esi, dword [ebp - 0x24]
sbb edx, esi
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
xor ebx, ebx
cmp byte [edi + 0x8d2f], 0
jne 0x4162b7
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
add eax, 0x18711a00
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x4c]
adc ecx, 2
push eax
mov dword [ebp - 0x48], ecx
call dword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
jge 0x4162b7
mov esi, dword [edi + 0x84c0]
cmp esi, ebx
je 0x416295
xor bl, bl
call fcn.00456bca
push 0xffffffffffffffff
mov ecx, 0x4a9
call fcn.0040753b
push eax
mov ecx, edi
call fcn.0040e4b9
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x41646a
lea eax, [ebp - 0x40]
push eax
push eax
push eax
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
je 0x4162e5
push 0xffffffffffffffff
push 0x15e
push 0x489
lea esi, [ebp - 0x918]
call fcn.00407601
mov byte [ebp + 0xb], 1
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [edi + 0x84c0]
cmp esi, ebx
je 0x4162ff
xor bl, bl
call fcn.00456bca
cmp byte [ebp + 0xb], 0
jne 0x41645c
push 0xffffffffffffffff
push 0x15e
push 0x48a
lea esi, [ebp - 0xa78]
call fcn.00407601
lea eax, [edi + 0x8d78]
cmp dword [eax + 0x18], 0x10
jb 0x416331
mov eax, dword [eax + 4]
jmp 0x416334
add eax, 4
push eax
lea eax, [ebp - 0xa78]
jmp 0x41644b
cmp esi, ebx
mov byte [ebp + 0xb], 0
je 0x41635a
cmp byte [ebp - 0x12c4], 0
jne 0x41635a
mov bl, 1
call fcn.00456bca
xor ebx, ebx
cmp dword [edi + 0x8d6c], 0x10
jb 0x41636b
mov eax, dword [edi + 0x8d58]
jmp 0x416371
lea eax, [edi + 0x8d58]
push ebx
push dword [ebp - 0x14]
push 3
push ebx
push 3
push accept
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov esi, dword [sym.imp.MSVCR71.dll_sprintf]
mov dword [ebp - 0x24], eax
je 0x416413
lea ecx, [ebp - 0x74]
push ecx
push ebx
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x41640a
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
test eax, eax
je 0x41640a
movzx eax, word [ebp - 0x60]
push eax
movzx eax, word [ebp - 0x62]
push eax
movzx eax, word [ebp - 0x64]
push eax
movzx eax, word [ebp - 0x66]
push eax
movzx eax, word [ebp - 0x6a]
push eax
movzx eax, word [ebp - 0x6c]
push eax
lea eax, [ebp - 0xcc]
push 0x4a4fdc
push eax
call esi
add esp, 0x20
lea eax, [ebp - 0xcc]
push eax
push 0xffffffffffffffff
mov ecx, 0x46c
call fcn.0040753b
push eax
lea eax, [ebp - 0x918]
push eax
call esi
add esp, 0xc
mov byte [ebp + 0xb], 1
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [edi + 0x84c0]
cmp esi, ebx
je 0x416424
xor bl, bl
call fcn.00456bca
cmp byte [ebp + 0xb], 0
jne 0x41645c
lea eax, [edi + 0x8d78]
cmp dword [eax + 0x18], 0x10
jb 0x41643b
mov eax, dword [eax + 4]
jmp 0x41643e
add eax, 4
mov ecx, 0x46d
push eax
push 0xffffffffffffffff
call fcn.0040753b
push eax
lea eax, [ebp - 0x918]
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x918]
mov ecx, edi
push eax
call fcn.0040e4b9
mov ecx, dword [ebp - 0xc]
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4