Function at 0x10067c00
Capabilities:
Check for time delay via gettickcount
Read file on windows

Disassembly:
push ebp
sub esp, 0x58
mov eax, 0x100a48d1
call fcn.1007c8b4
mov eax, 0x11f4
call fcn.1007c930
push ebx
push edi
lea ecx, [ebp - 0x4c]
call fcn.1007a34e
xor ebx, ebx
lea eax, [ebp - 0x4c]
inc ebx
lea ecx, [ebp - 0x20]
push ebx
push eax
call fcn.1007a335
push 0xf
pop edi
xor eax, eax
mov dword [ebp + 0x20], edi
push 9
mov dword [ebp + 0xc], eax
lea ecx, [ebp + 0xc]
push str.OSMIM_FLS
mov dword [ebp + 0x1c], eax
mov byte [ebp + 0xc], al
call fcn.10002936
and dword [ebp - 4], 0
lea eax, [ebp - 0x20]
push eax
push 0x80000
lea eax, [ebp + 0xc]
push eax
lea ecx, [ebp - 0xa0]
call fcn.1000a62f
mov eax, dword [ebp + 0x20]
cmp eax, 0x10
jb 0x10067ca5
mov ecx, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x50], ecx
cmp eax, 0x1000
jb 0x10067c9c
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.10001c26
mov eax, dword [ebp + 0x58]
pop ecx
pop ecx
mov ecx, dword [ebp + 0x50]
push eax
push ecx
call fcn.1007c382
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x38], eax
push esi
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x38], al
mov dword [ebp + 0x2c], eax
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x40], edi
mov byte [ebp + 0x2c], al
mov esi, 0x105
mov byte [ebp - 4], 4
push esi
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.1007f880
add esp, 0xc
lea eax, [ebp - 0x200]
push esi
push eax
push dword [0x100d34e4]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x10067cf9
xor bl, bl
jmp 0x10068185
lea ecx, [ebp - 0x200]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10067d02
sub ecx, edx
lea eax, [ebp - 0x200]
push ecx
push eax
lea ecx, [ebp + 0x2c]
call fcn.10002936
mov eax, dword [ebp + 0x3c]
lea edx, [ebp + 0x2c]
push 0x10
pop esi
cmp dword [ebp + 0x40], esi
cmovae edx, dword [ebp + 0x2c]
or edi, 0xffffffff
test eax, eax
je 0x10067dbb
dec eax
mov ecx, edi
cmp eax, edi
cmovb ecx, eax
add ecx, edx
jmp 0x10067d47
cmp ecx, edx
je 0x10067dbb
dec ecx
cmp byte [ecx], 0x5c
jne 0x10067d42
sub ecx, edx
cmp ecx, edi
je 0x10067dbb
and dword [ebp + 0xc], 0
lea eax, [ecx + 1]
and dword [ebp + 0x1c], 0
lea ecx, [ebp + 0xc]
push edi
push eax
lea eax, [ebp + 0x2c]
mov dword [ebp + 0x20], 0xf
push eax
call fcn.1000600f
mov byte [ebp + 0x58], 0
lea eax, [ebp + 0xc]
push dword [ebp + 0x58]
lea ecx, [ebp + 0x2c]
push eax
call fcn.10005e62
mov eax, dword [ebp + 0x20]
cmp eax, esi
jb 0x10067dbb
mov ecx, dword [ebp + 0xc]
inc eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x50], ecx
cmp eax, 0x1000
jb 0x10067db2
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.10001c26
mov eax, dword [ebp + 0x58]
pop ecx
pop ecx
mov ecx, dword [ebp + 0x50]
push eax
push ecx
call fcn.1007c382
pop ecx
pop ecx
lea eax, [ebp - 0x200]
push 0x100aadfc
push eax
call fcn.1008b8ec
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x10067f12
push 0x58
lea eax, [ebp - 0xf8]
push 0
push eax
call fcn.1007f880
add esp, 0xc
lea eax, [ebp - 0xf8]
lea ecx, [ebp + 0x57]
push eax
call fcn.10006211
call dword [sym.imp.KERNEL32.dll_GetTickCount]
and dword [ebp + 0x50], 0
lea edx, [ebp + 0x58]
or dword [ebp + 0x58], 0xffffffff
mov ecx, 0x100ccab4
cmp dword [0x100ccac8], esi
push edx
cmovae ecx, dword [0x100ccab4]
lea edx, [ebp + 0x50]
cmp dword [ebp + 0x40], esi
push edx
mov dword [ebp], eax
lea eax, [ebp + 0x2c]
cmovae eax, dword [ebp + 0x2c]
push ebx
push ecx
push eax
lea ecx, [ebp - 0xa0]
call fcn.1000b228
mov eax, dword [ebp + 0x50]
push 0
shl eax, 0xc
push eax
push edi
call fcn.1008be7e
xor esi, esi
add esp, 0xc
cmp byte [0x100d3115], 0
mov dword [ebp + 0x48], esi
jne 0x10067e66
cmp byte [0x100d3116], 0
je 0x10067eda
cmp byte [0x100d2da8], 0
je 0x10067eda
lea ecx, [ebp + 0x4f]
call fcn.10062d73
mov esi, eax
mov ecx, esi
call fcn.1007626c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp]
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push esi
push 4
call fcn.100546cc
mov esi, dword [ebp + 0x48]
add esp, 0x18
jmp 0x10067eda
cmp esi, dword [ebp + 0x58]
jae 0x10067ee5
push edi
push 0x1000
lea eax, [ebp - 0x1200]
push ebx
push eax
call fcn.1008bae9
add esp, 0x10
lea ecx, [ebp + 0x57]
push eax
lea eax, [ebp - 0x1200]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.1000623b
inc esi
push edi
call fcn.1008b809
pop ecx
test eax, eax
je 0x10067ea7
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 0x57]
call fcn.100062ee
push 0x100d369c
push 0x10
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 0x57]
call fcn.1000639c
push edi
call fcn.1008b7d9
pop ecx
cmp byte [0x100d3115], 0
jne 0x10067f24
cmp byte [0x100d3116], 0
je 0x10067f62
cmp byte [0x100d2da8], 0
je 0x10067f62
lea ecx, [ebp + 0x4f]
call fcn.100638a8
mov esi, eax
mov ecx, esi
call fcn.1004a843
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x100d3598]
push eax
push 0x100d369c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push esi
push 4
call fcn.100546cc
add esp, 0x14
mov esi, dword [ebp + 0x74]
lea ecx, [ebp + 0x24]
mov byte [esi], bl
call fcn.1000c872
lea ecx, [ebp + 4]
mov byte [ebp - 4], 5
call fcn.1000c872
cmp dword [ebp + 0x40], 0x10
lea eax, [ebp + 0x2c]
push dword [ebp + 0x3c]
cmovae eax, dword [ebp + 0x2c]
mov ecx, 0x100cd220
push eax
mov byte [ebp - 4], 6
call fcn.10002936
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp - 0xa0]
push eax
push dword [ebp + 0x7c]
lea eax, [ebp + 4]
push dword [ebp + 0x78]
push dword [ebp + 0x70]
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.10066d0c
add esp, 0x1c
test al, al
jne 0x1006805a
cmp dword [ebp + 0x40], 0x10
lea eax, [ebp + 0x2c]
push 0
cmovae eax, dword [ebp + 0x2c]
lea ecx, [ebp - 0xa0]
push str.ssl_SecureSend
push 0x100d369c
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.1000ab05
push eax
lea ecx, [ebp + 0x24]
call fcn.10061f5b
mov ecx, dword [ebp + 0x48]
test ecx, ecx
je 0x10068000
call fcn.1000a5c5
cmp dword [ebp + 0x40], 0x10
lea eax, [ebp + 0x2c]
push 0
cmovae eax, dword [ebp + 0x2c]
lea ecx, [ebp - 0xa0]
mov edi, str.ssl_SecureRecv
push edi
push 0x100d369c
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.1000ab05
push eax
lea ecx, [ebp + 4]
call fcn.10061f5b
mov ecx, dword [ebp + 0x48]
test ecx, ecx
je 0x1006803d
call fcn.1000a5c5
mov ecx, dword [ebp + 0x78]
push 0xe
push str.ssl_SecureSend
mov byte [esi], 0
call fcn.10002936
mov ecx, dword [ebp + 0x7c]
push 0xe
push edi
call fcn.10002936
lea eax, [ebp + 0x44]
push eax
lea ecx, [ebp + 0x24]
call fcn.1000c8a3
mov edi, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0x251]
mov dword [edi], eax
test ecx, ecx
je 0x1006807f
call fcn.1000a5c5
lea eax, [ebp + 0x44]
push eax
lea ecx, [ebp + 4]
call fcn.1000c8a3
mov esi, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0x251]
mov dword [esi], eax
test ecx, ecx
je 0x100680a4
call fcn.1000a5c5
cmp dword [ebp + 0x40], 0x10
lea eax, [ebp + 0x2c]
push 0
cmovae eax, dword [ebp + 0x2c]
lea ecx, [ebp - 0xa0]
push str.SSL_SetNextProtoCallback
push 0x100d369c
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.1000ab05
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x14]
call fcn.1000c8a3
mov eax, dword [eax]
mov ecx, dword [eax + 0x251]
mov eax, dword [ebp + 0x6c]
mov dword [eax], ecx
mov ecx, dword [ebp + 0x48]
test ecx, ecx
je 0x100680f4
call fcn.1000a5c5
cmp dword [edi], 0
je 0x1006815c
cmp dword [esi], 0
je 0x1006815c
call fcn.1007938a
test al, al
je 0x1006815e
cmp dword [0x100d3584], 0
jne 0x1006815e
and dword [ebp + 0x58], 0
lea eax, [ebp + 0x44]
push eax
lea ecx, [ebp + 0x24]
call fcn.1000c8a3
lea ecx, [ebp + 0x58]
push ecx
push 0x100aae3c
mov eax, dword [eax]
add eax, 0x10c
push eax
call fcn.1004b9b5
mov ecx, dword [ebp + 0x48]
add esp, 0xc
test ecx, ecx
je 0x10068145
call fcn.1000a5c5
movzx eax, byte [0x100cd1d4]
xor ecx, ecx
cmp dword [ebp + 0x58], 0x3f
cmovl eax, ecx
mov byte [0x100cd1d4], al
jmp 0x1006815e
xor bl, bl
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x1006816a
call fcn.1000a5c5
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10068176
call fcn.1000a5c5
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x10068182
call fcn.1000a5c5
push 0xf
pop edi
mov eax, dword [ebp + 0x40]
pop esi
cmp eax, 0x10
jb 0x100681bd
mov ecx, dword [ebp + 0x2c]
inc eax
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x50], ecx
cmp eax, 0x1000
jb 0x100681b4
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.10001c26
mov eax, dword [ebp + 0x58]
pop ecx
pop ecx
mov ecx, dword [ebp + 0x50]
push eax
push ecx
call fcn.1007c382
pop ecx
pop ecx
and dword [ebp + 0x3c], 0
lea ecx, [ebp - 0xa0]
mov dword [ebp + 0x40], edi
mov byte [ebp + 0x2c], 0
call fcn.100571e5
mov ecx, dword [ebp - 0xc]
mov al, bl
pop edi
pop ebx
mov dword fs:[0], ecx
add ebp, 0x5c
leave
ret