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

Disassembly:
call fcn.004013c0
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.004013c0
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
leave
ret
mov eax, 0x545f25
call fcn.0054565c
sub esp, 0xb0
push ebx
push esi
push edi
mov dword [ebp - 0x14], ecx
xor ebx, ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
test eax, eax
jne 0x438689
fisttp dword [ecx + 0x15fffc5d]
rcl byte fs:[eax + eax - 0x7b]
sal byte [ebp + 0x15], 0x1d
sub eax, 0x7077ec66
jmp 0x438631
sbb eax, 0x77ec662d
jo 0x438666
mov ch, 0x58
pop ebp
scasd eax, dword es:[edi]
or dh, byte [esi + 0x488b6c66]
mov ch, 0xb3
pop eax
cmp bh, byte [esi + 0x553e58]
mov esi, 0x553e58
push esi
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x3c], ebx
call fcn.004017f5
xor eax, eax
inc eax
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], al
call fcn.004017f5
push esi
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 2
call fcn.004017f5
xor eax, eax
push eax
mov byte [ebp - 4], 3
push eax
mov dword [ebp - 0x1c], eax
call fcn.004031d7
mov dword [ebp - 0x20], eax
sub esp, 0x18
mov byte [ebp - 4], 4
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x554350
call fcn.004018f6
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
mov byte [ebp - 4], 5
call fcn.004018ce
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 4
call fcn.004037cc
add esp, 0x30
cmp dword [ebp - 0x1c], 3
jb 0x4389ab
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov esi, dword [eax]
mov edi, ecx
cmp esi, eax
je 0x4387a4
mov ebx, eax
mov eax, edi
sub eax, ecx
je 0x43876e
dec eax
je 0x438750
dec eax
jne 0x43879a
call fcn.004ae8cf
lea edx, [esi + 8]
lea ecx, [ebp - 0x6c]
call fcn.004ae369
push eax
lea ecx, [ebp - 0x9c]
call fcn.00401847
lea ecx, [ebp - 0x6c]
jmp 0x438793
call fcn.004ae8cf
lea edx, [esi + 8]
lea ecx, [ebp - 0x54]
call fcn.004ae369
push eax
lea ecx, [ebp - 0x38]
call fcn.00401847
lea ecx, [ebp - 0x54]
jmp 0x438793
call fcn.004ae8cf
lea edx, [esi + 8]
lea ecx, [ebp - 0xb8]
call fcn.004ae369
push eax
lea ecx, [ebp - 0x84]
call fcn.00401847
lea ecx, [ebp - 0xb8]
call fcn.0040187f
xor ecx, ecx
mov esi, dword [esi]
inc edi
cmp esi, ebx
jne 0x438723
mov ebx, dword [ebp - 0x3c]
cmp dword [ebp - 0x74], 0
je 0x4389ab
cmp dword [ebp - 0x28], 0
je 0x4389ab
cmp dword [ebp - 0x8c], 0
je 0x4389ab
mov esi, str._or_null
push esi
call fcn.0041b210
pop ecx
push eax
xor eax, eax
push eax
push esi
lea ecx, [ebp - 0x38]
call fcn.0040206d
xor ecx, ecx
movzx ecx, cl
push 1
test eax, eax
pop eax
cmovns ecx, eax
mov dword [ebp - 0x18], ecx
push 0x553e58
lea ecx, [ebp - 0x54]
call fcn.004017f5
push esi
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 6
call fcn.004017f5
lea eax, [ebp - 0x54]
push eax
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 7
call fcn.004369a1
pop ecx
lea ecx, [ebp - 0x6c]
call fcn.0040187f
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 4
call fcn.0040187f
mov esi, dword [ebp - 0x14]
push 0x10
pop edi
cmp dword [ebp - 0x70], edi
lea edx, [ebp - 0x84]
cmovae edx, dword [ebp - 0x84]
lea ecx, [esi + 0x28]
call int.0049e2dc
test al, al
jne 0x438865
cmp byte [ebp - 0x18], al
je 0x4389ab
xor eax, eax
lea ebx, [eax + 1]
jmp 0x4389ab
cmp dword [ebp - 0x70], edi
lea eax, [ebp - 0x84]
cmovae eax, dword [ebp - 0x84]
push eax
lea ecx, [esi + 0x28]
call fcn.0046dc01
push eax
lea ecx, [ebp - 0x4c]
call int.0046f8c7
xor eax, eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 8
mov dword [ebp - 0x14], eax
call fcn.0046e6dc
lea ecx, [ebp - 0x4c]
test al, al
je 0x4388b1
cmp byte [ebp - 0x18], 0
movzx ebx, bl
push 1
pop eax
cmovne ebx, eax
jmp 0x4389a2
call fcn.0046e2a4
lea ecx, [ebp - 0x4c]
test al, al
je 0x4388e4
lea eax, [ebp - 0x6c]
push eax
call fcn.0046ea4b
cmp dword [ebp - 0x58], edi
lea eax, [ebp - 0x6c]
cmovae eax, dword [ebp - 0x6c]
push eax
call fcn.0041b36d
pop ecx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x14], eax
call fcn.0040187f
jmp 0x4388f8
call fcn.0046e4c0
test al, al
je 0x4388f8
lea ecx, [ebp - 0x4c]
call fcn.0046e74f
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x24], edi
lea esi, [ebp - 0x38]
cmovae esi, dword [ebp - 0x38]
lea edx, [ebp - 0x38]
cmovae edx, dword [ebp - 0x38]
add esi, dword [ebp - 0x28]
cmp dword [ebp - 0x24], 0x10
lea edi, [ebp - 0x38]
cmovae edi, dword [ebp - 0x38]
cmp edi, esi
je 0x438937
sub edx, edi
mov dword [ebp - 0x18], edx
mov ebx, edx
movsx eax, byte [edi]
push eax
call fcn.0041be3c
mov byte [edi + ebx], al
inc edi
pop ecx
cmp edi, esi
jne 0x438922
mov ebx, dword [ebp - 0x3c]
cmp dword [ebp - 0x88], 0x10
lea eax, [ebp - 0x9c]
cmovae eax, dword [ebp - 0x9c]
push eax
call fcn.0041b36d
pop ecx
mov edi, 0x554360
push edi
mov esi, eax
call fcn.0041b210
pop ecx
push eax
push edi
push dword [ebp - 0x28]
xor eax, eax
push eax
lea ecx, [ebp - 0x38]
call fcn.00402106
test eax, eax
jne 0x438979
test dword [ebp - 0x14], esi
jmp 0x43899c
mov edi, 0x554364
push edi
call fcn.0041b210
pop ecx
push eax
push edi
push dword [ebp - 0x28]
xor eax, eax
push eax
lea ecx, [ebp - 0x38]
call fcn.00402106
test eax, eax
jne 0x43899f
or esi, dword [ebp - 0x14]
setne bl
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 4
call fcn.0046ef20
lea ecx, [ebp - 0x20]
call fcn.00402c7a
push dword [ebp - 0x20]
call fcn.00418a9a
pop ecx
lea ecx, [ebp - 0x9c]
call fcn.0040187f
lea ecx, [ebp - 0x38]
call fcn.0040187f
lea ecx, [ebp - 0x84]
call fcn.0040187f
xor eax, eax
push eax
inc eax
push eax
lea ecx, [ebp + 8]
call fcn.004023ba
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov al, bl
mov dword fs:[0], ecx
pop ebx
leave
ret 0x18