Function at 0x53d14a
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1148
call fcn.0059fbd0
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
push esi
push edi
xor edi, edi
push edi
push 0x5f1080
mov ecx, ebx
call dword [eax + 0x20]
mov ecx, dword [ebp + 0x18]
lea eax, [ebp - 0xd44]
call fcn.004016d4
mov eax, dword [ebx]
push 1
lea ecx, [ebp - 0xd44]
push ecx
mov ecx, ebx
call dword [eax + 0x20]
push 0x1f4
push dword [ebp + 0x18]
lea esi, [ebp - 8]
mov dword [ebp - 0x44], 0x5c8654
call fcn.004474c3
cmp dword [ebp - 8], 0xffffffff
jne 0x53d1b5
mov eax, dword [ebp + 8]
mov dword [eax], 2
jmp 0x53d889
mov eax, dword [ebp + 0x10]
call fcn.0044cfb3
test al, al
je 0x53d231
push edi
lea eax, [ebp + 0xc]
push eax
push str.PBSZ_0_r_n
push dword [ebp + 0x10]
lea eax, [ebp - 0x28]
push ebx
push eax
call fcn.0053c977
mov eax, dword [eax]
cmp eax, edi
je 0x53d1e8
mov esi, dword [ebp + 8]
mov dword [esi], eax
jmp 0x53d87e
push edi
lea eax, [ebp + 0xc]
push eax
push str.PROT_P_r_n
push dword [ebp + 0x10]
lea eax, [ebp - 0x28]
push ebx
push eax
mov dword [ebp + 0xc], edi
call fcn.0053c977
mov esi, dword [eax]
cmp esi, edi
je 0x53d231
cmp word [ebp + 0xc], 0x216
jne 0x53d21c
mov eax, dword [ebx]
push 0x604ea0
mov ecx, ebx
call dword [eax + 0x1c]
mov edi, dword [ebp + 8]
push dword [ebp - 8]
mov dword [edi], esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
jmp 0x53d889
push edi
push edi
push str.TYPE_I_r_n
push dword [ebp + 0x10]
lea eax, [ebp + 0xc]
push ebx
push eax
call fcn.0053c977
mov eax, dword [eax]
cmp eax, edi
jne 0x53d1de
lea eax, [ebp - 0x934]
push eax
push ebx
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
call fcn.0053d065
mov eax, dword [eax]
cmp eax, edi
jne 0x53d1de
lea esi, [ebp - 0x2fc]
call fcn.00475df1
push 0x4e20
push 0x15
lea eax, [ebp - 0x934]
push eax
push ebx
lea eax, [ebp + 0xc]
push eax
mov eax, esi
mov dword [ebp - 0xa0], edi
call fcn.0044d00f
mov eax, dword [ebp + 0xc]
cmp eax, edi
je 0x53d2a5
mov esi, dword [ebp + 8]
mov dword [esi], eax
jmp 0x53d873
push dword [ebp + 0x14]
lea eax, [ebp - 0x72c]
call fcn.004471b7
lea eax, [ebp - 0x72c]
push eax
push str.STOR
push str._s__s_r_n
mov esi, pe_nt_image_headers32
lea edi, [ebp - 0x624]
call fcn.004a901c
add esp, 0xc
push 0x4e20
mov eax, edi
push eax
push dword [ebp + 0x10]
lea eax, [ebp + 0xc]
push ebx
push eax
call fcn.0044d26a
cmp dword [eax], 1
jne 0x53d2ff
mov esi, dword [ebp + 8]
mov dword [esi], 1
jmp 0x53d873
push 0xea60
lea eax, [ebp - 0x50c]
push eax
push ebx
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
lea edi, [ebp - 0xc]
call fcn.0053c86c
mov eax, dword [ebp + 0xc]
xor ecx, ecx
inc ecx
cmp eax, ecx
mov dword [ebp - 0x10], eax
jne 0x53d332
mov esi, dword [ebp + 8]
mov dword [esi], ecx
jmp 0x53d873
test eax, eax
jne 0x53d29b
cmp word [ebp - 0xc], 0x64
jb 0x53d34d
cmp word [ebp - 0xc], 0xc7
jbe 0x53d41d
cmp word [ebp - 0xc], 0x226
jne 0x53d86a
lea eax, [ebp - 0x934]
push eax
push ebx
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
call fcn.0053d065
mov eax, dword [eax]
test eax, eax
jne 0x53d29b
push 0x4e20
push 0x15
lea eax, [ebp - 0x934]
push eax
push ebx
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x2fc]
call fcn.0044d00f
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x53d29b
lea eax, [ebp - 0x72c]
push eax
push str.STOR__s_r_n
lea edi, [ebp - 0x624]
call fcn.004a901c
pop ecx
pop ecx
push 0x4e20
mov eax, edi
push eax
push dword [ebp + 0x10]
lea eax, [ebp + 0xc]
push ebx
push eax
call fcn.0044d26a
mov eax, dword [eax]
test eax, eax
jne 0x53d29b
push 0xea60
lea eax, [ebp - 0x404]
push eax
push ebx
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
lea edi, [ebp - 0xc]
call fcn.0053c86c
mov eax, dword [ebp + 0xc]
xor ecx, ecx
inc ecx
cmp eax, ecx
mov dword [ebp - 0x10], eax
je 0x53d328
test eax, eax
jne 0x53d29b
mov eax, dword [ebp - 0xc]
add eax, 0xffffff9c
cmp ax, 0x63
ja 0x53d86a
fldz
lea eax, [ebp - 8]
fst qword [ebp - 0x3c]
push eax
fstp qword [ebp - 0x6c]
call fcn.004019d3
test edx, edx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov esi, SysReAllocString
mov edi, SysReAllocString
ja 0x53d446
test eax, eax
jbe 0x53d46e
mov ecx, edx
mov dword [ebp - 0x18], ecx
and dword [ebp - 0x18], esi
mov dword [ebp - 0x58], ecx
and dword [ebp - 0x58], edi
and dword [ebp - 0x5c], 0
mov dword [ebp - 0x1c], eax
fild qword [ebp - 0x1c]
fild qword [ebp - 0x5c]
fchs
faddp st(1)
fdivr qword [0x60dc70]
fstp qword [ebp - 0x6c]
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], edx
and dword [ebp - 0x18], edi
and edx, esi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
fild qword [ebp - 0x34]
push ecx
fild qword [ebp - 0x1c]
push ecx
fchs
faddp st(1)
fmul qword [0x60d9c0]
fstp qword [esp]
call fcn.00590110
pop ecx
pop ecx
call fcn.005a6596
test edx, edx
ja 0x53d4b2
jb 0x53d4ac
cmp eax, 0x64
jae 0x53d4b2
mov byte [ebp - 0x1e], 1
jmp 0x53d4b6
mov byte [ebp - 0x1e], 0
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], edx
and dword [ebp - 0x18], edi
and edx, esi
mov dword [ebp - 0x34], eax
mov eax, dword [ebx]
mov dword [ebp - 0x30], edx
fild qword [ebp - 0x34]
push ecx
fild qword [ebp - 0x1c]
push ecx
mov ecx, ebx
fchs
faddp st(1)
fmul qword [0x60d260]
fstp qword [ebp - 0x74]
fldz
fstp qword [esp]
call dword [eax + 0x24]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x10]
call fcn.0044cfb3
test al, al
je 0x53d50a
lea eax, [ebp - 0x2fc]
push eax
call fcn.0047638a
and dword [ebp - 0x1c], 0
and dword [ebp - 0x18], 0
mov byte [ebp + 0xf], 1
mov byte [ebp - 0x1d], 0
jmp 0x53d69a
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x4c]
mov esi, 0x4e20
cmp eax, 0x7530
jbe 0x53d5a5
and dword [ebp - 0x10], 0
push esi
push str.NOOP_r_n
push dword [ebp + 0x10]
lea eax, [ebp - 0x40]
push ebx
push eax
call fcn.0044d26a
xor eax, eax
inc eax
cmp dword [ebp - 0x40], eax
je 0x53d29b
cmp dword [ebp - 0x40], 2
je 0x53d59c
push 0x1388
lea eax, [ebp - 0x404]
push eax
push ebx
lea eax, [ebp - 0x58]
push eax
mov eax, dword [ebp + 0x10]
lea edi, [ebp - 0x10]
call fcn.0053c86c
mov eax, dword [eax]
cmp eax, 1
mov dword [ebp - 0x40], eax
je 0x53d2f1
cmp eax, 2
jne 0x53d590
mov byte [ebp - 0x1d], 1
cmp word [ebp - 0x10], 0x1c3
je 0x53d6bc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4c], eax
push esi
push dword [ebp - 0x48]
lea eax, [ebp - 0x1144]
push eax
push ebx
lea eax, [ebp - 0x28]
push eax
lea edi, [ebp - 0x2fc]
call fcn.00475e7b
mov eax, dword [ebp - 0x28]
cmp eax, 1
mov dword [ebp - 0x10], eax
je 0x53d6c5
test eax, eax
jne 0x53d733
fld1
fcom qword [ebp - 0x3c]
fnstsw ax
test ah, 0x41
jne 0x53d5e8
fstp st(0)
fld qword [ebp - 0x3c]
fmul qword [0x60d320]
push ecx
push ecx
mov esi, 0x104
fstp qword [esp]
push dword [ebp + 0x14]
lea edi, [ebp - 0xb3c]
push str._s:__2.0f__
call fcn.004a9039
add esp, 0x10
cmp byte [ebp - 0x1e], 0
je 0x53d61f
fld qword [ebp - 0x6c]
fadd qword [ebp - 0x3c]
fstp qword [ebp - 0x3c]
jmp 0x53d677
add dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
push 0
pop ecx
adc dword [ebp - 0x18], ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
and dword [ebp - 0x30], 0x80000000
and eax, 0x7fffffff
mov dword [ebp - 0x50], eax
fild qword [ebp - 0x54]
mov dword [ebp - 0x34], ecx
fild qword [ebp - 0x34]
fchs
faddp st(1)
fcomp qword [ebp - 0x74]
fnstsw ax
test ah, 0x41
jne 0x53d671
fld qword [ebp - 0x3c]
mov dword [ebp - 0x1c], ecx
fadd qword [0x60d260]
mov dword [ebp - 0x18], ecx
mov byte [ebp + 0xf], 1
fstp qword [ebp - 0x3c]
cmp byte [ebp + 0xf], 0
je 0x53d69a
mov eax, dword [ebx]
push 1
lea ecx, [ebp - 0xb3c]
push ecx
mov ecx, ebx
call dword [eax + 0x20]
fld qword [ebp - 0x3c]
mov eax, dword [ebx]
push ecx
push ecx
mov ecx, ebx
fstp qword [esp]
call dword [eax + 0x24]
mov byte [ebp + 0xf], 0
push 0x400
lea eax, [ebp - 0x1144]
push eax
lea eax, [ebp - 8]
push eax
call fcn.00401f65
test eax, eax
mov dword [ebp - 0x48], eax
jne 0x53d51f
jmp 0x53d733
mov dword [ebp - 0x10], 2
jmp 0x53d733
push esi
push str.ABOR_r_n
push dword [ebp + 0x10]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0xc]
push eax
call fcn.0044d26a
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x53d6e7
mov dword [ebp - 0x10], eax
jmp 0x53d733
push 0x7d0
lea eax, [ebp - 0x50c]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
lea edi, [ebp - 0xc]
call fcn.0053c86c
mov eax, dword [eax]
test eax, eax
jne 0x53d6e2
cmp word [ebp - 0xc], 0x1aa
je 0x53d733
cmp word [ebp - 0xc], 0xe2
je 0x53d733
cmp word [ebp - 0xc], 0x1a9
mov dword [ebp - 0x10], 2
jne 0x53d733
push dword [ebp + 0x10]
call fcn.0053c942
lea esi, [ebp - 0x2fc]
mov dword [ebp - 0x24], 0x5c8654
call fcn.0044cfc6
push 2
pop eax
cmp dword [ebp - 0x10], eax
jne 0x53d75e
mov esi, dword [ebp + 8]
mov dword [esi], eax
mov dword [ebp - 0x24], 0x608e7c
jmp 0x53d873
cmp byte [ebp - 0x1d], 0
je 0x53d7f4
and dword [ebp + 0xc], 0
push 2
pop esi
push 0x2710
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp + 0x10]
lea edi, [ebp + 0xc]
call fcn.0053c86c
cmp dword [eax], 0
jne 0x53d89b
mov eax, dword [ebp + 0xc]
cmp ax, 0xe2
je 0x53d7b1
cmp ax, 0x1aa
je 0x53d7b1
cmp ax, 0x1c3
jne 0x53d7ce
push 2
pop esi
jmp 0x53d7ce
movzx eax, ax
mov dword [ebp - 0xc], eax
xor eax, eax
mov cl, byte [ebp + eax - 0x404]
mov byte [ebp + eax - 0x50c], cl
inc eax
test cl, cl
jne 0x53d7b9
xor esi, esi
push 0x2710
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp + 0x10]
lea edi, [ebp + 0xc]
call fcn.0053c86c
cmp dword [eax], 0
je 0x53d797
jmp 0x53d816
push 0xea60
lea eax, [ebp - 0x50c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x10]
lea edi, [ebp - 0xc]
call fcn.0053c86c
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x53d890
cmp word [ebp - 0xc], 0xc8
jb 0x53d82a
cmp word [ebp - 0xc], 0x18f
jbe 0x53d89b
cmp word [ebp - 0xc], 0x1aa
jne 0x53d863
lea eax, [ebp - 0x54]
push eax
push dword [ebp + 0x14]
lea eax, [ebp + 0xc]
push dword [ebp + 0x10]
push ebx
push eax
call fcn.0053dadd
mov esi, dword [eax]
xor eax, eax
inc eax
cmp esi, eax
je 0x53d74d
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x54]
jne 0x53d863
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x50]
je 0x53d893
mov dword [ebp - 0x24], 0x608e7c
mov esi, dword [ebp + 8]
mov dword [esi], 2
lea eax, [ebp - 0x2fc]
call fcn.004022d2
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret 0x14
xor eax, eax
inc eax
cmp esi, eax
je 0x53d74d
mov esi, dword [ebp + 0x10]
push ebx
lea eax, [ebp + 0xc]
push eax
mov eax, esi
call fcn.0053d95d
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x25c]
shr eax, 0xb
test al, 1
je 0x53d955
push dword [ebp + 0x14]
lea eax, [ebp - 0x404]
call fcn.004471b7
push dword [ebp + 0x18]
call fcn.00401ee5
mov esi, eax
call fcn.004478f3
or dword [ebp - 0x78], 0xffffffff
add esi, eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp + 0x14], esi
call fcn.0058fed5
lea eax, [ebp - 0x404]
push eax
push dword [ebp - 0x98]
mov eax, dword [ebp - 0x88]
push dword [ebp - 0x94]
inc eax
push dword [ebp - 0x90]
mov esi, 0x11d
push dword [ebp - 0x8c]
lea edi, [ebp - 0xa54]
push eax
mov eax, dword [ebp - 0x84]
add eax, 0x76c
push eax
push str.MFMT__04d_02d_02d_02d_02d_02d__s_r_n
call fcn.004a901c
add esp, 0x28
push 0
push 0
mov eax, edi
push eax
push dword [ebp + 0x10]
lea eax, [ebp + 0x10]
push ebx
push eax
call fcn.0053c977
mov eax, dword [ebp - 0x10]
jmp 0x53d74d