Function at 0x462440
Capabilities:
Check for time delay via gettickcount
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4cdcbd
push eax
mov eax, 0x20088
mov dword fs:[0], esp
call fcn.004cd440
mov eax, dword [0x4fd228]
push ebx
mov ebx, ecx
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x78], ebx
call fcn.004054a0
mov ecx, edx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
test ecx, ecx
jg 0x4624eb
jl 0x46248b
cmp eax, 1
jae 0x4624eb
mov eax, dword [0x4f90f4]
test byte [eax + 0x100], 1
mov dword [eax + 0x30], 0x57
jne 0x4624c7
mov ecx, dword [0x4fb9e4]
push 1
push 0
push 0xffffffffffffffff
push 0x4e613c
call fcn.004b55f0
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
push 0x4cfc30
push 0
push 0x4e613c
mov ecx, ebx
call fcn.0044e0b0
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8
push esi
lea ecx, [ebp - 0x4c]
call fcn.00405590
mov dword [ebp - 0x4c], vtable.TextFile.0
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4c]
mov eax, dword [0x4f90f4]
mov eax, dword [eax + 0xfc]
and eax, 0x7fffffff
push eax
push 0x30c
push dword [ebp + 8]
call fcn.004ae250
test al, al
jne 0x46257d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x4f90f4]
test byte [ecx + 0x100], 1
mov dword [ecx + 0x30], eax
jne 0x462563
mov ecx, dword [0x4fb9e4]
push 1
push 0
push 0xffffffffffffffff
push 0x4e613c
call fcn.004b55f0
mov esi, eax
jmp 0x462a5b
push 0x4cfc30
push 0
push 0x4e613c
mov ecx, ebx
call fcn.0044e0b0
mov esi, eax
jmp 0x462a5b
mov eax, dword fs:[0x24]
xorps xmm0, xmm0
movlpd qword [ebp - 0x68], xmm0
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x58], eax
push edi
nop dword [eax + eax]
mov ecx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x54], 1
test ecx, ecx
je 0x4625ca
test ebx, ebx
jne 0x4625ca
mov eax, dword [ebp - 0x4c]
push ecx
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x4c]
call dword [eax + 0x10]
mov ebx, dword [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0x44], ecx
xor eax, eax
xor edx, edx
mov word [ebp - 0x24], ax
xor esi, esi
mov eax, dword [ebp - 0x3c]
cmp eax, 0x4b0
mov dword [ebp - 0x14], eax
sete dl
inc edx
mov dword [ebp - 0x64], edx
mov edi, edx
test ebx, ebx
jne 0x4625ef
push ecx
jmp 0x462610
mov edx, dword [ebp - 0x1c]
mov eax, edx
sub eax, edi
add eax, ecx
cmp ebx, eax
jbe 0x462632
mov eax, edx
sub eax, ebx
add ecx, eax
push ecx
push ebx
push edx
mov dword [ebp - 0x44], ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 8
lea ecx, [ebp - 0x4c]
call fcn.004ae1b0
mov ecx, dword [ebp - 0x44]
cmp ecx, edi
mov ebx, dword [ebp - 0x1c]
setae al
mov dword [ebp - 0x20], ebx
test al, al
jne 0x462632
test ecx, ecx
je 0x4628a6
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
add edx, ecx
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x10], edx
cmp eax, 0x4b0
jne 0x462661
mov eax, edx
sub eax, ebx
test al, 1
je 0x46265e
dec edx
mov dword [ebp - 0x10], edx
cmp edx, ebx
je 0x46288a
mov eax, dword [ebp - 0x14]
cmp ebx, edx
jae 0x46284b
nop dword [eax]
cmp esi, 0xffff
jae 0x462882
cmp eax, 0x4b0
jne 0x4626cb
movzx eax, word [ebx]
mov edi, 2
mov dword [ebp + 0xc], edi
cmp eax, 0xd
jne 0x4626c2
lea ecx, [ebx + 4]
cmp ecx, edx
ja 0x4626b8
cmp word [ebx + 2], 0xa
jne 0x4626c2
test byte [ebp - 0x48], 4
jne 0x462820
mov word [ebp + esi*2 - 0x20094], ax
jmp 0x46281f
cmp dword [ebp - 0x40], 0
jne 0x46282f
mov word [ebp + 8], ax
jmp 0x4627a8
mov cl, byte [ebx]
mov edi, 1
mov dword [ebp + 0xc], edi
cmp cl, 0x80
jae 0x46271e
cmp cl, 0xd
jne 0x462711
lea eax, [ebx + 1]
cmp eax, edx
jae 0x462707
cmp byte [eax], 0xa
jne 0x462711
test byte [ebp - 0x48], 4
jne 0x462820
mov eax, 0xd
mov word [ebp + esi*2 - 0x20094], ax
jmp 0x46281f
cmp dword [ebp - 0x40], 0
jne 0x462839
movsx ax, cl
mov word [ebp + 8], ax
jmp 0x4627a8
cmp eax, 0xfde9
jne 0x462764
mov al, cl
and al, 0xe0
cmp al, 0xc0
jne 0x462734
mov edi, 2
jmp 0x46277a
mov al, cl
and al, 0xf0
cmp al, 0xe0
jne 0x462743
mov edi, 3
jmp 0x46277a
and cl, 0xf8
cmp cl, 0xf0
jne 0x462752
mov edi, 4
jmp 0x46277a
mov eax, 0xfffd
mov word [ebp + esi*2 - 0x20094], ax
jmp 0x46281f
push ecx
lea ecx, [ebp - 0x4c]
call fcn.004ae210
mov edx, dword [ebp - 0x10]
test al, al
mov eax, 2
cmovne edi, eax
lea eax, [edi + ebx]
mov dword [ebp + 0xc], edi
cmp eax, edx
ja 0x462865
push 2
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp - 0x14]
push edi
push ebx
push 8
push eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, 1
jne 0x4627e1
mov ax, word [ebp + 8]
mov edx, dword [ebp - 0x10]
cmp ax, 0xd
jne 0x4627c2
test byte [ebp - 0x48], 8
je 0x4627d7
mov ecx, 0xa
mov ax, cx
mov word [ebp + 8], ax
jmp 0x4627cd
cmp ax, 0xa
jne 0x4627d7
mov ecx, 0xa
sub dword [ebp - 0x54], 1
je 0x4628ba
mov word [ebp + esi*2 - 0x20094], ax
jmp 0x46281f
lea ecx, [ebp - 0x20094]
lea ecx, [ecx + esi*2]
test eax, eax
je 0x462814
lea edi, [eax + esi]
cmp edi, 0xffff
ja 0x4628ca
add eax, eax
push eax
lea eax, [ebp + 8]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0x10]
add esp, 0xc
mov esi, edi
jmp 0x462820
mov edx, dword [ebp - 0x10]
mov eax, 0xfffd
mov word [ecx], ax
inc esi
add ebx, dword [ebp + 0xc]
cmp ebx, edx
jae 0x462843
mov eax, dword [ebp - 0x14]
jmp 0x462670
mov edi, 4
mov ecx, dword [ebp - 0x44]
jmp 0x462849
mov ecx, dword [ebp - 0x44]
mov edi, 2
jmp 0x462849
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x50]
cmp ebx, edx
jne 0x462854
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x20], ebx
cmp esi, 0xffff
jb 0x4625e8
jmp 0x4628d2
cmp dword [ebp - 0x40], 0
jne 0x462834
xor ecx, ecx
mov eax, 0xfffd
xor ebx, ebx
mov word [ebp + esi*2 - 0x20094], ax
mov dword [ebp - 0x44], ecx
inc esi
jmp 0x462846
mov ecx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x50]
jmp 0x462854
mov eax, 0xfffd
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x44], 0
mov word [ebp + esi*2 - 0x20094], ax
inc esi
cmp esi, 0xffff
jae 0x4628d2
xor eax, eax
mov word [ebp + esi*2 - 0x20094], ax
jmp 0x4628d2
lea eax, [edi + ebx]
mov word [ebp + esi*2 - 0x20094], cx
mov dword [ebp - 0x20], eax
jmp 0x4628a5
xor eax, eax
mov dword [ebp - 0x20], ebx
mov word [ecx], ax
test esi, esi
je 0x4629df
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov ecx, dword [0x4f90f4]
sub eax, dword [0x4fe6ac]
cmp eax, dword [ecx + 0xd8]
jbe 0x46292e
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x94]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x462927
mov eax, dword [ebp - 0x6c]
cmp dword [0x4fdb70], eax
jne 0x462927
mov edx, 1
or ecx, 0xffffffff
call fcn.004018d0
call ebx
mov dword [0x4fe6ac], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
add eax, 1
mov dword [ebp - 0x58], eax
adc edx, 0
mov dword [ebp - 0x5c], edx
cmp edx, dword [ebp - 0x70]
jl 0x4625a0
jg 0x462954
cmp eax, dword [ebp - 0x74]
jb 0x4625a0
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x462975
cmp dword [ebp - 0x20], 0
jne 0x462975
push eax
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x4c]
push dword [ebp - 0x1c]
call dword [eax + 0x10]
mov dword [ebp - 0x44], 0
xor eax, eax
lea ecx, [ebp - 0x4c]
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x4c]
call dword [eax + 8]
cmp word [ebp + esi*2 - 0x20096], 0xa
jne 0x46299c
add esi, 0xffffffff
jne 0x46299c
push 1
push esi
push 0xffffffffffffffff
push esi
jmp 0x4629a8
push 1
push 0
push esi
lea eax, [ebp - 0x20094]
push eax
mov ecx, dword [ebp - 0x60]
call fcn.004b55f0
test eax, eax
jne 0x4629bb
xor esi, esi
jmp 0x462a5a
mov eax, dword [0x4f90f4]
mov ecx, dword [0x4fb9e4]
push 1
push 0
push 0xffffffffffffffff
push 0x4cfcf8
mov dword [eax + 0x30], 0
call fcn.004b55f0
jmp 0x462a58
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [0x4f90f4]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x462a0f
cmp dword [ebp - 0x20], 0
jne 0x462a0f
push eax
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x4c]
push dword [ebp - 0x1c]
call dword [eax + 0x10]
mov dword [ebp - 0x44], 0
xor eax, eax
lea ecx, [ebp - 0x4c]
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x4c]
call dword [eax + 8]
mov eax, dword [0x4f90f4]
test byte [eax + 0x100], 1
jne 0x462a44
mov ecx, dword [0x4fb9e4]
push 1
push 0
push 0xffffffffffffffff
push 0x4e613c
call fcn.004b55f0
jmp 0x462a58
mov ecx, dword [ebp - 0x78]
push 0x4cfc30
push 0
push 0x4e613c
call fcn.0044e0b0
mov esi, eax
pop edi
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x4c], vtable.TextFile.0
test eax, eax
je 0x462a90
cmp dword [ebp - 0x20], 0
jne 0x462a90
push 0
lea ecx, [ebp + 0xc]
mov dword [ebp + 0xc], 0
push ecx
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov word [ebp - 0x24], ax
cmp ecx, 0xffffffff
je 0x462abb
mov eax, dword [ebp - 0x48]
and eax, 0x10000003
cmp eax, 0x10000000
je 0x462ab4
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x18], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], vtable.TextStream.0
test eax, eax
je 0x462ae2
push 0x2000
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push dword [ebp - 0x1c]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 0x10
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8