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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c4
mov eax, dword [0x5bb70c3c]
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
lea ebx, [edi + 0xc]
cmp dword [ebx], 0
mov dword [ebp - 4], eax
mov esi, ecx
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x134], ebx
jge 0x5ba64cdc
push 0
push ebx
lea edi, [esi + 0x28c]
push edi
call fcn.5bb5caac
mov eax, dword [esi + 0x23c]
mov ecx, dword [eax]
push edi
push 0
push dword [ebx]
push dword [esi + 0x22c]
push eax
call dword [ecx + 0x20]
jmp 0x5ba651bd
mov ebx, dword [esi + 0x244]
and ebx, 1
xor eax, eax
cmp dword [ebp + 0xc], eax
mov dword [ebp - 0x124], ebx
je 0x5ba64cf9
cmp dword [edi + 0x28], eax
ja 0x5ba64cfe
jmp 0x5ba64d53
cmp dword [edi + 8], eax
je 0x5ba64d53
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x1b4]
push edx
push dword [esi + 0x28]
push eax
call dword [ecx + 0xe0]
test eax, eax
jl 0x5ba64d53
mov eax, dword [ebp - 0x190]
shr eax, 0xa
and eax, 1
xor eax, dword [ebp + 0xc]
je 0x5ba64d43
mov eax, dword [esi + 0x1c]
xor dword [ebp - 0x190], 0x400
mov ecx, dword [eax]
lea edx, [ebp - 0x1b4]
push edx
push eax
call dword [ecx + 0x18]
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x1b4]
push edx
push eax
call dword [ecx + 0x28]
and dword [ebp - 0x128], 0
cmp dword [edi + 0x28], 0
jbe 0x5ba650cb
mov eax, dword [ebp - 0x128]
mov ecx, dword [edi + 0x2c]
shl eax, 2
cmp dword [ebp - 0x124], 0
mov ebx, dword [eax + ecx]
mov dword [ebp - 0x11c], eax
je 0x5ba64d8b
cmp byte [ebx], 0x23
je 0x5ba650aa
cmp byte [ebx], 0
je 0x5ba64dae
push ebx
call sub.MSOERT2.dll_FIsSpaceA
test eax, eax
jne 0x5ba64da8
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov ebx, eax
cmp byte [ebx], 0
jne 0x5ba64d90
mov eax, dword [ebp - 0x11c]
mov ecx, dword [edi + 0x2c]
mov eax, dword [eax + ecx]
mov edi, ebx
sub edi, eax
mov ecx, 0x103
cmp edi, ecx
jl 0x5ba64dc6
mov edi, 0x102
cmp edi, 0x7fffffff
ja 0x5ba64ddd
push edi
push eax
push ecx
lea eax, [ebp - 0x118]
push eax
call fcn.5bb5c5c2
mov byte [ebp + edi - 0x118], 0
jmp 0x5ba64dfa
push ebx
call sub.MSOERT2.dll_FIsSpaceA
test eax, eax
je 0x5ba64dff
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov ebx, eax
cmp byte [ebx], 0
jne 0x5ba64de7
cmp dword [ebp - 0x124], 0
je 0x5ba64e74
push 0x1f
pop ecx
xor eax, eax
push 0
lea edi, [ebp - 0x1b4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x118]
mov dword [ebp - 0x1a4], eax
mov eax, dword [esi + 0x28]
lea edx, [ebp - 0x1b4]
push edx
push 0xffffffffffffffff
mov dword [ebp - 0x1a8], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x20]
cmp eax, 0xc0320
jne 0x5ba650a4
cmp dword [ebp - 0x19c], 0
je 0x5ba64e69
push dword [ebp - 0x19c]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x5ba65037
mov dword [ebp - 0x19c], ebx
jmp 0x5ba65027
mov dword [ebp - 0x11c], ebx
jmp 0x5ba64e8f
push ebx
call sub.MSOERT2.dll_FIsSpaceA
test eax, eax
jne 0x5ba64e94
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov ebx, eax
cmp byte [ebx], 0
jne 0x5ba64e7c
mov edi, ebx
sub edi, dword [ebp - 0x11c]
cmp edi, 0xe
jbe 0x5ba64ea6
push 0xe
pop edi
jmp 0x5ba64eae
cmp edi, 0x7fffffff
ja 0x5ba64ec0
push edi
push dword [ebp - 0x11c]
lea eax, [ebp - 0x14]
push 0xe
push eax
call fcn.5bb5c5c2
lea eax, [ebp - 0x14]
push eax
mov byte [ebp + edi - 0x14], 0
call sub.SHLWAPI.dll_StrToIntA
mov dword [ebp - 0x12c], eax
jmp 0x5ba64ee9
push ebx
call sub.MSOERT2.dll_FIsSpaceA
test eax, eax
je 0x5ba64eee
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov ebx, eax
cmp byte [ebx], 0
jne 0x5ba64ed6
mov dword [ebp - 0x11c], ebx
jmp 0x5ba64f09
push ebx
call sub.MSOERT2.dll_FIsSpaceA
test eax, eax
jne 0x5ba64f0e
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov ebx, eax
cmp byte [ebx], 0
jne 0x5ba64ef6
mov edi, ebx
sub edi, dword [ebp - 0x11c]
cmp edi, 0xe
jbe 0x5ba64f20
push 0xe
pop edi
jmp 0x5ba64f28
cmp edi, 0x7fffffff
ja 0x5ba64f3a
push edi
push dword [ebp - 0x11c]
lea eax, [ebp - 0x14]
push 0xe
push eax
call fcn.5bb5c5c2
lea eax, [ebp - 0x14]
push eax
mov byte [ebp + edi - 0x14], 0
call sub.SHLWAPI.dll_StrToIntA
mov dword [ebp - 0x130], eax
jmp 0x5ba64f63
push ebx
call sub.MSOERT2.dll_FIsSpaceA
test eax, eax
je 0x5ba64f68
push ebx
call dword [sym.imp.USER32.dll_CharNextA]
mov ebx, eax
cmp byte [ebx], 0
jne 0x5ba64f50
mov eax, dword [ebp + 0xc]
mov bl, byte [ebx]
neg eax
sbb eax, eax
and eax, 0x200000
cmp bl, 0x6e
mov dword [ebp - 0x11c], eax
jne 0x5ba64f88
or eax, 0x10000
jmp 0x5ba64f9e
cmp bl, 0x6d
jne 0x5ba64f94
or eax, 0x4000
jmp 0x5ba64f9e
cmp bl, 0x78
jne 0x5ba64fa4
or eax, 0x8000
mov dword [ebp - 0x11c], eax
push 0x1f
pop ecx
xor eax, eax
lea edi, [ebp - 0x1b4]
rep stosd dword es:[edi], eax
xor edi, edi
push edi
lea eax, [ebp - 0x118]
mov dword [ebp - 0x1a4], eax
mov eax, dword [esi + 0x28]
lea edx, [ebp - 0x1b4]
push edx
push 0xffffffffffffffff
mov dword [ebp - 0x1a8], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x20]
cmp eax, 0xc0320
jne 0x5ba65049
mov eax, dword [esi + 0x24c]
cmp eax, edi
je 0x5ba65000
push dword [esi + 0x248]
push eax
push dword [ebp - 0x1ac]
call fcn.5bb5ca7d
mov eax, dword [ebp - 0x190]
mov ecx, eax
and ecx, 0x21c000
cmp ecx, dword [ebp - 0x11c]
je 0x5ba65037
and eax, 0xffde3fff
or eax, dword [ebp - 0x11c]
mov dword [ebp - 0x190], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x1b4]
push edx
push eax
call dword [ecx + 0x18]
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
lea edx, [ebp - 0x1b4]
push edx
push eax
call dword [ecx + 0x28]
jmp 0x5ba650a4
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x12c]
cmp ecx, eax
mov byte [ebp - 0x174], 0
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x16c], eax
ja 0x5ba65087
sub eax, ecx
inc eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x150], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax]
push edi
lea edx, [ebp - 0x1b4]
push edx
push edi
push eax
call dword [ecx + 0xc8]
cmp eax, edi
jl 0x5ba651bf
mov edi, dword [ebp - 0x120]
inc dword [ebp - 0x128]
mov eax, dword [ebp - 0x128]
inc dword [esi + 0x2d4]
cmp eax, dword [edi + 0x28]
jb 0x5ba64d64
mov ebx, dword [ebp - 0x124]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0x800]
add ecx, 0x1f4
cmp eax, ecx
jbe 0x5ba65126
cmp dword [ebp + 0xc], 0
je 0x5ba650ec
push 0x11
pop eax
jmp 0x5ba650f8
mov eax, ebx
neg eax
sbb eax, eax
and eax, 0xa
add eax, 6
mov ecx, dword [esi + 0x23c]
mov edx, dword [ecx]
lea ebx, [esi + 0x5e8]
push ebx
push 0
push dword [esi + 0x2d4]
push eax
push ecx
call dword [edx + 0x10]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [ebp - 0x124]
mov dword [esi + 0x800], eax
xor eax, eax
cmp dword [ebp + 0xc], eax
jne 0x5ba651bd
cmp ebx, eax
jne 0x5ba651bd
cmp dword [edi + 8], eax
je 0x5ba651bd
mov ecx, dword [ebp - 0x134]
cmp dword [ecx], eax
jl 0x5ba651bd
mov eax, dword [0x5bb73820]
mov ecx, dword [eax]
lea edx, [ebp - 0x120]
push edx
add esi, 0x12c
push esi
push 0x123d03f0
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x5ba651bd
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x1c4]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax]
push 8
lea edx, [ebp - 0x138]
push edx
push 0x123803ef
push eax
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x30]
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.5bb3f314
leave
ret 8