Function at 0x421288
Capabilities:
Timestomp file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffffcd8
mov eax, 0x69d2ab
xor edx, edx
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x4c], 0x6b242c
mov dword [ebp - 0x48], esp
mov dword [ebp - 0x50], eax
mov word [ebp - 0x44], 0
mov dword [ebp - 0x38], edx
mov ecx, dword fs:[0]
mov dword [ebp - 0x54], ecx
lea eax, [ebp - 0x54]
mov dword fs:[0], eax
mov byte [ebp - 0x55], 0
mov byte [ebp - 0x56], 0
xor edx, edx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], edx
push 0x7ff
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
lea ecx, [ebp - 0xa58]
push ecx
call fcn.0069d020
add esp, 0xc
lea eax, [ebp - 0xa58]
mov byte [ebp - 0x259], 0
push eax
call fcn.00445b3c
pop ecx
mov dl, byte [ebp - 0xa58]
test dl, dl
jne 0x421354
push 0xffffffffffffffff
push 0x469
lea ecx, [ebx + 0x8544]
push ecx
call fcn.00415004
add esp, 0xc
push eax
push ebx
call fcn.004365c8
add esp, 8
mov eax, dword [ebp - 0x54]
mov dword fs:[0], eax
jmp 0x421e91
push 0x20
lea edx, [ebp - 0xa58]
push edx
call fcn.0069cf19
add esp, 8
mov dword [ebp - 0x78], eax
test eax, eax
je 0x42163d
lea edx, [ebp - 0xa58]
push edx
call fcn.0069ce0c
pop ecx
cmp eax, 0x10
jb 0x42163d
lea ecx, [ebp - 0xa58]
mov eax, dword [ebp - 0x78]
sub eax, ecx
cmp eax, 0xe
jl 0x42163d
mov dword [ebp - 0x88], 1
xor edi, edi
lea esi, [ebp - 0xa58]
movsx eax, byte [esi]
push eax
call fcn.006a2424
pop ecx
test eax, eax
jne 0x4213c2
xor edx, edx
mov dword [ebp - 0x88], edx
inc edi
inc esi
cmp edi, 0xe
jl 0x4213ac
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x421545
push 4
lea eax, [ebp - 0xa58]
push eax
lea edx, [ebp - 0x84]
push edx
call fcn.0069d020
add esp, 0xc
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x80], 0
push ecx
call fcn.006a51a0
pop ecx
mov dword [ebp - 0x5c], eax
push 2
lea eax, [ebp - 0xa54]
push eax
lea edx, [ebp - 0x84]
push edx
call fcn.0069d020
add esp, 0xc
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x82], 0
push ecx
call fcn.006a51a0
pop ecx
mov dword [ebp - 0x60], eax
push 2
lea eax, [ebp - 0xa52]
push eax
lea edx, [ebp - 0x84]
push edx
call fcn.0069d020
add esp, 0xc
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x82], 0
push ecx
call fcn.006a51a0
pop ecx
mov dword [ebp - 0x64], eax
push 2
lea eax, [ebp - 0xa50]
push eax
lea edx, [ebp - 0x84]
push edx
call fcn.0069d020
add esp, 0xc
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x82], 0
push ecx
call fcn.006a51a0
pop ecx
mov dword [ebp - 0x68], eax
push 2
lea eax, [ebp - 0xa4e]
push eax
lea edx, [ebp - 0x84]
push edx
call fcn.0069d020
add esp, 0xc
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x82], 0
push ecx
call fcn.006a51a0
pop ecx
mov dword [ebp - 0x6c], eax
push 2
lea eax, [ebp - 0xa4c]
push eax
lea edx, [ebp - 0x84]
push edx
call fcn.0069d020
add esp, 0xc
lea ecx, [ebp - 0x84]
mov byte [ebp - 0x82], 0
push ecx
call fcn.006a51a0
pop ecx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x5c]
cmp eax, 0x7bc
jl 0x42153d
mov edx, dword [ebp - 0x5c]
cmp edx, 0x81b
jg 0x42153d
mov ecx, dword [ebp - 0x60]
dec ecx
jl 0x42153d
mov eax, dword [ebp - 0x60]
cmp eax, 0xc
jg 0x42153d
mov edx, dword [ebp - 0x64]
dec edx
jl 0x42153d
mov ecx, dword [ebp - 0x64]
cmp ecx, 0x1f
jg 0x42153d
mov eax, dword [ebp - 0x6c]
test eax, eax
jl 0x42153d
mov edx, dword [ebp - 0x6c]
cmp edx, 0x3b
jg 0x42153d
mov ecx, dword [ebp - 0x70]
test ecx, ecx
jl 0x42153d
mov eax, dword [ebp - 0x70]
cmp eax, 0x3b
jle 0x421545
xor edx, edx
mov dword [ebp - 0x88], edx
mov ecx, dword [ebp - 0x88]
test ecx, ecx
je 0x4215ff
movsx eax, byte [ebp - 0xa4a]
cmp eax, 0x20
je 0x4215eb
movsx eax, byte [ebp - 0xa4a]
cmp eax, 0x2d
je 0x421574
cmp eax, 0x2b
jne 0x4215eb
xor edi, edi
lea eax, [ebp - 0x84]
mov dword [ebp - 0xf8], eax
lea esi, [ebp - 0xa4a]
jmp 0x42159a
mov edx, dword [ebp - 0xf8]
mov byte [edx], al
inc edi
inc dword [ebp - 0xf8]
inc esi
mov al, byte [esi]
movsx ecx, al
cmp ecx, 0x20
je 0x4215ad
test al, al
je 0x4215ad
cmp edi, 8
jl 0x42158a
mov byte [ebp + edi - 0x84], 0
lea eax, [ebp - 0x84]
push eax
call fcn.006a51a0
pop ecx
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x74]
cmp edx, 0xfffffc18
jl 0x4215db
mov ecx, dword [ebp - 0x74]
cmp ecx, 0x3e8
jle 0x4215e5
xor eax, eax
mov dword [ebp - 0x88], eax
jmp 0x4215ff
mov byte [ebp - 0x56], 1
jmp 0x4215ff
movsx edx, byte [ebp - 0xa4a]
cmp edx, 0x20
je 0x4215ff
xor ecx, ecx
mov dword [ebp - 0x88], ecx
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x42163d
mov byte [ebp - 0x55], 1
lea edx, [ebp - 0xa58]
push edx
call fcn.0069ce0c
pop ecx
inc eax
push eax
mov ecx, dword [ebp - 0x78]
inc ecx
push ecx
lea eax, [ebp - 0xa58]
push eax
call fcn.0069cc84
add esp, 0xc
lea edx, [ebp - 0xa58]
push edx
call fcn.00445b3c
pop ecx
mov cl, byte [ebx + 0x8ddd]
test cl, cl
jne 0x42167f
mov al, byte [ebp - 0x55]
test al, al
je 0x42167f
push 0xffffffffffffffff
push 0x4b1
lea edx, [ebx + 0x8544]
push edx
call fcn.00415004
add esp, 0xc
push eax
push ebx
call fcn.004365c8
add esp, 8
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
mov eax, ecx
jmp 0x421e91
mov word [ebp - 0x44], 8
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0xa58]
push eax
lea edx, [ebp - 0x10]
push edx
call fcn.0069a6ec
add esp, 0xc
inc dword [ebp - 0x38]
lea ecx, [ebp - 0x10]
push ecx
mov eax, dword [ebx + 0x8574]
push eax
lea edx, [ebp - 0x30]
push edx
call fcn.00410380
add esp, 0xc
lea edi, [ebp - 0x30]
add dword [ebp - 0x38], 3
lea esi, [ebx + 0x8de8]
push edi
push esi
call fcn.0069a2e0
add esp, 8
add edi, 0x10
push edi
lea eax, [esi + 0x10]
push eax
call fcn.0069a2e0
add esp, 8
dec dword [ebp - 0x38]
dec dword [ebp - 0x38]
mov edx, dword [ebp - 0x18]
test edx, edx
je 0x42176b
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 0xc]
inc eax
test eax, eax
je 0x421729
mov esi, dword [ebp - 0x18]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x421720
cmp esi, 0x6ff36c
je 0x421719
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x421725
mov eax, 1
jmp 0x421725
mov eax, 1
test eax, eax
jne 0x42176b
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff4
mov dword [ebp - 0x94], edx
mov edi, dword [ebp - 0x18]
add edi, 0xfffffff4
push edi
call fcn.0067ac7c
pop ecx
xor eax, eax
mov dword [ebp - 0x98], eax
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax + 8]
mov dword [ebp - 0xa60], edx
dec dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x421803
mov eax, dword [ebp - 0x28]
mov edx, dword [eax - 0xc]
inc edx
test edx, edx
je 0x4217b5
mov esi, dword [ebp - 0x28]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x4217ac
cmp esi, 0x6ff36c
je 0x4217a5
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x4217b1
mov eax, 1
jmp 0x4217b1
mov eax, 1
test eax, eax
jne 0x421803
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff4
mov dword [ebp - 0xa0], edx
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff4
mov dword [ebp - 0xa4], ecx
mov eax, dword [ebp - 0xa4]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0xa8], edx
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0xac]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xa70], ecx
dec dword [ebp - 0x38]
mov eax, dword [ebp - 8]
test eax, eax
je 0x42189b
mov edx, dword [ebp - 8]
mov ecx, dword [edx - 0xc]
inc ecx
test ecx, ecx
je 0x42184d
mov esi, dword [ebp - 8]
add esi, 0xfffffff4
cmp esi, 0x6ff36c
je 0x421844
cmp esi, 0x6ff36c
je 0x42183d
push esi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [esi]
inc eax
jmp 0x421849
mov eax, 1
jmp 0x421849
mov eax, 1
test eax, eax
jne 0x42189b
mov edx, dword [ebp - 8]
add edx, 0xfffffff4
mov dword [ebp - 0xb0], edx
mov ecx, dword [ebp - 8]
add ecx, 0xfffffff4
mov dword [ebp - 0xb4], ecx
mov eax, dword [ebp - 0xb4]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0xb8], edx
lea eax, [ebp - 0x10]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 8], ecx
mov dword [ebp - 0xbc], eax
mov edx, dword [ebp - 0xbc]
mov ecx, dword [edx + 8]
mov dword [ebp - 0xa80], ecx
mov eax, dword [ebx + 0x823c]
mov dword [ebp - 0xa8c], eax
mov byte [ebp - 0x12d4], 0x14
mov dl, byte [ebp - 0x55]
test dl, dl
je 0x4218bc
mov byte [ebp - 0x12d4], 7
lea ecx, [ebx + 0x8e48]
xor eax, eax
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x12d2]
xchg edi, esi
mov edx, ecx
mov eax, edi
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 [ebx + 0x8df0]
lea esi, [ebp - 0x128c]
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebx + 0x8525]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
lea esi, [ebp - 0x12a0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [0x6b369c]
mov eax, dword [ebx + 0x8240]
test edx, edx
mov dword [ebp - 0x1290], eax
setne cl
and ecx, 1
mov eax, dword [0x6badc0]
test eax, eax
mov byte [ebp - 0x12d3], cl
je 0x42197c
lea edx, [ebp - 0x12d4]
push edx
mov ecx, dword [0x6badc0]
push ecx
call fcn.0048ffe0
add esp, 8
mov al, byte [ebp - 0x12d3]
test al, al
jne 0x4219b5
push 0xffffffffffffffff
push 0x46a
lea edx, [ebx + 0x8544]
push edx
call fcn.00415004
add esp, 0xc
push eax
push ebx
call fcn.004365c8
add esp, 8
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
jmp 0x421e91
lea eax, [ebx + 0x8de8]
push eax
call fcn.004014ac
pop ecx
test al, al
je 0x4219f5
push 0xffffffffffffffff
push 0x4a2
lea edx, [ebx + 0x8544]
push edx
call fcn.00415004
add esp, 0xc
push eax
push ebx
call fcn.004365c8
add esp, 8
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
jmp 0x421e91
lea esi, [ebx + 0x8de8]
push esi
call fcn.00401484
pop ecx
test al, al
jne 0x421a5d
push esi
call fcn.00401498
pop ecx
test al, al
jne 0x421a5d
mov eax, dword [ebx + 0x8e00]
push eax
push 0xffffffffffffffff
push 0x46b
lea edx, [ebx + 0x8544]
push edx
call fcn.00415004
add esp, 0xc
push eax
lea ecx, [ebp - 0xa58]
push ecx
call fcn.006a0ad0
add esp, 0xc
lea eax, [ebp - 0xa58]
push eax
push ebx
call fcn.004365c8
add esp, 8
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x421e91
mov cl, byte [ebp - 0x55]
test cl, cl
je 0x421d51
push 0
push 0
push 3
push 0
push 1
push 0x40000000
mov eax, dword [ebx + 0x8df0]
push eax
call sub.KERNEL32.DLL_CreateFileA
mov esi, eax
cmp esi, 0xffffffff
jne 0x421ad6
mov eax, dword [ebx + 0x8e00]
push eax
push 0xffffffffffffffff
push 0x46b
lea edx, [ebx + 0x8544]
push edx
call fcn.00415004
add esp, 0xc
push eax
lea ecx, [ebp - 0xa58]
push ecx
call fcn.006a0ad0
add esp, 0xc
lea eax, [ebp - 0xa58]
push eax
push ebx
call fcn.004365c8
add esp, 8
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
jmp 0x421e91
mov byte [ebp - 0xbd], 0
mov cx, word [ebp - 0x5c]
mov word [ebp - 0x12e4], cx
mov ax, word [ebp - 0x60]
mov word [ebp - 0x12e2], ax
mov dx, word [ebp - 0x64]
mov word [ebp - 0x12de], dx
mov cx, word [ebp - 0x68]
mov word [ebp - 0x12dc], cx
lea ecx, [ebp - 0xc8]
mov ax, word [ebp - 0x6c]
mov word [ebp - 0x12da], ax
lea eax, [ebp - 0x12e4]
mov dx, word [ebp - 0x70]
mov word [ebp - 0x12d8], dx
mov word [ebp - 0x12d6], 0
mov word [ebp - 0x12e0], 0
push ecx
push eax
call sub.KERNEL32.DLL_SystemTimeToFileTime
test eax, eax
je 0x421ce4
mov dl, byte [ebp - 0x56]
test dl, dl
je 0x421bc2
mov eax, dword [ebp - 0xc4]
xor edx, edx
mov edx, eax
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xc8]
xor edx, edx
add dword [ebp - 0xd0], eax
adc dword [ebp - 0xcc], edx
push 0
push 0x23c34600
mov eax, dword [ebp - 0x74]
cdq
call fcn.006a4d58
sub dword [ebp - 0xd0], eax
sbb dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0xd0]
and eax, 0xffffffff
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
xor eax, eax
mov eax, edx
xor edx, edx
mov dword [ebp - 0xc4], eax
mov dl, byte [ebx + 0x8dde]
test dl, dl
jne 0x421c9c
lea ecx, [ebp - 0xd8]
push ecx
call sub.KERNEL32.DLL_GetSystemTimeAsFileTime
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xe8], 0x18711a00
mov dword [ebp - 0xe4], 2
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xe0]
add dword [ebp - 0xe8], eax
adc dword [ebp - 0xe4], edx
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], ecx
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xdc], ecx
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], edx
push ecx
push eax
call sub.KERNEL32.DLL_CompareFileTime
test eax, eax
jge 0x421c9c
push 0xffffffffffffffff
push 0x4a9
lea edx, [ebx + 0x8544]
push edx
call fcn.00415004
add esp, 0xc
push eax
push ebx
call fcn.004365c8
add esp, 8
push esi
call sub.KERNEL32.DLL_CloseHandle
mov ecx, dword [ebp - 0x54]
mov dword fs:[0], ecx
jmp 0x421e91
lea eax, [ebp - 0xc8]
push eax
lea edx, [ebp - 0xc8]
push edx
lea ecx, [ebp - 0xc8]
push ecx
push esi
call sub.KERNEL32.DLL_SetFileTime
test eax, eax
je 0x421ce4
push 0xffffffffffffffff
lea eax, [ebp - 0xa58]
push 0x15e
push eax
lea edx, [ebx + 0x8544]
push 0x489
push edx
call fcn.004157a8
mov byte [ebp - 0xbd], 1
add esp, 0x14
mov cl, byte [ebp - 0xbd]
test cl, cl
jne 0x421d2d
push 0xffffffffffffffff
lea eax, [ebp - 0x258]
push 0x15e
push eax
lea edx, [ebx + 0x8544]
push 0x48a
push edx
call fcn.004157a8
add esp, 0x14
mov ecx, dword [ebx + 0x8e00]
lea eax, [ebp - 0x258]
lea edx, [ebp - 0xa58]
push ecx
push eax
push edx
call fcn.006a0ad0
add esp, 0xc
push esi
call sub.KERNEL32.DLL_CloseHandle
lea ecx, [ebp - 0xa58]
push ecx
push ebx
call fcn.004365c8
add esp, 8
mov eax, dword [ebp - 0x54]
mov dword fs:[0], eax
jmp 0x421e91
mov byte [ebp - 0xe9], 0
push 0
push 0
push 3
push 0
push 3
push accept
mov edx, dword [ebx + 0x8df0]
push edx
call sub.KERNEL32.DLL_CreateFileA
mov esi, eax
cmp esi, 0xffffffff
je 0x421e40
lea eax, [ebp - 0xf4]
push eax
push 0
push 0
push esi
call sub.KERNEL32.DLL_GetFileTime
test eax, eax
je 0x421e3a
lea edx, [ebp - 0x1328]
push edx
lea ecx, [ebp - 0xf4]
push ecx
call sub.KERNEL32.DLL_FileTimeToSystemTime
test eax, eax
je 0x421e3a
movzx eax, word [ebp - 0x131c]
push eax
movzx edx, word [ebp - 0x131e]
push edx
movzx ecx, word [ebp - 0x1320]
push ecx
movzx eax, word [ebp - 0x1322]
push eax
lea eax, [ebp - 0x1318]
movzx edx, word [ebp - 0x1326]
push edx
movzx ecx, word [ebp - 0x1328]
push ecx
push str._04d_02d_02d_02d_02d_02d
push eax
call fcn.006a0ad0
add esp, 0x20
lea edx, [ebp - 0x1318]
push edx
push 0xffffffffffffffff
push 0x46c
lea ecx, [ebx + 0x8544]
push ecx
call fcn.00415004
add esp, 0xc
push eax
lea eax, [ebp - 0xa58]
push eax
call fcn.006a0ad0
add esp, 0xc
lea edx, [ebp - 0xa58]
push edx
push ebx
call fcn.004365c8
add esp, 8
mov byte [ebp - 0xe9], 1
push esi
call sub.KERNEL32.DLL_CloseHandle
mov cl, byte [ebp - 0xe9]
test cl, cl
jne 0x421e87
mov eax, dword [ebx + 0x8e00]
push eax
push 0xffffffffffffffff
push 0x46d
lea edx, [ebx + 0x8544]
push edx
call fcn.00415004
add esp, 0xc
push eax
lea ecx, [ebp - 0xa58]
push ecx
call fcn.006a0ad0
add esp, 0xc
lea eax, [ebp - 0xa58]
push eax
push ebx
call fcn.004365c8
add esp, 8
mov edx, dword [ebp - 0x54]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret