Function at 0x11eebe20
Capabilities:
Check for time delay via gettickcount
Get thread local storage value

Disassembly:
sub esp, 0xb28
push ebx
push ebp
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
mov dword [0x12134fb0], ebx
call edi
mov esi, dword [esp + 0xb3c]
mov dword [0x12134fb8], eax
cmp esi, 0xffffffff
je 0x11eec2cf
cmp dword [esp + 0xb40], 0xffffffff
je 0x11eec2cf
cmp dword [0x12134fbc], ebx
jne 0x11eebe7e
mov dword [0x12134fb0], 2
mov dword [0x12134fb4], 0x578
jmp 0x11eec2e3
mov ecx, 0xe1
xor eax, eax
lea edi, [esp + 0x49]
mov byte [esp + 0x48], bl
rep stosd dword es:[edi], eax
mov ebp, dword [esp + 0xb48]
push esi
stosw word es:[edi], ax
mov dword [esp + 0x18], 1
stosb byte es:[edi], al
call fcn.11ee1880
add esp, 4
test eax, eax
jne 0x11eec283
push esi
call fcn.11ee1a50
add esp, 4
test eax, eax
jne 0x11eec2a9
mov eax, dword [esp + 0xb44]
mov dword [esp + 0x10], 1
cmp eax, ebx
jne 0x11eebfb4
mov ecx, 0xe1
xor eax, eax
lea edi, [esp + 0x3d1]
mov byte [esp + 0x3d0], bl
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0xb40]
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x3d0]
push eax
push ecx
call fcn.11ef17f0
add esp, 8
test eax, eax
je 0x11eebfb4
mov edx, dword [esp + 0x3d0]
mov eax, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x3dc]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
mov eax, ebp
mov ecx, 0x66
lea esi, [esp + 0x418]
lea edi, [esp + 0x90]
mov dword [esp + 0x54], edx
cmp eax, ebx
mov dword [esp + 0x10], ebx
rep movsd dword es:[edi], dword [esi]
jne 0x11eebfad
mov eax, dword [esp + 0x750]
cmp eax, ebx
jbe 0x11eebfad
push eax
call fcn.11e679bc
mov ecx, dword [esp + 0x754]
mov ebp, eax
mov edx, ecx
xor eax, eax
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, dword [esp + 0xb44]
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x754]
lea eax, [esp + 0x20]
push eax
push ecx
push ebp
push edx
mov dword [esp + 0x30], ebx
call fcn.11ef1b60
add esp, 0x14
mov esi, dword [esp + 0xb3c]
mov ecx, 0xf7
xor eax, eax
lea edi, [esp + 0x759]
mov byte [esp + 0x758], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x758]
test eax, eax
jne 0x11eec013
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x12134fb0], 1
mov dword [0x12134fb4], 0x2947
call edi
mov dword [0x12134fb8], eax
mov dword [0x12134fb0], 7
mov dword [0x12134fb4], 0x5ba
jmp 0x11eec0a7
mov edx, dword [0x12106eec]
mov ecx, dword [0x12106ee8]
mov eax, dword [0x12106ef0]
mov dword [esp + 0x75c], edx
mov dword [esp + 0x758], ecx
mov ecx, dword [0x12106ef4]
lea edx, [esp + 0x48]
mov dword [esp + 0x760], eax
test edx, edx
mov dword [esp + 0x764], ecx
mov dword [esp + 0x778], 2
mov dword [esp + 0x77c], ebx
mov dword [esp + 0x780], ebx
mov dword [esp + 0x784], ebx
jne 0x11eec177
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x12134fb0], 1
mov dword [0x12134fb4], 0x2988
call edi
mov dword [0x12134fb8], eax
mov dword [0x12134fb0], 8
mov dword [0x12134fb4], 0x5c1
call edi
mov dword [0x12134fb8], eax
cmp dword [esp + 0xb48], ebx
jne 0x11eec0c4
cmp ebp, ebx
je 0x11eec0c4
push ebp
call fcn.11e679b1
add esp, 4
mov ebp, dword [esp + 0x14]
cmp ebp, ebx
jne 0x11eec16a
test byte [esp + 0xb4c], 2
je 0x11eec116
mov ecx, 9
xor eax, eax
lea edi, [esp + 0x24]
mov dword [esp + 0x20], ebx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x20]
push 0x28
push ecx
push esi
call fcn.11f2ed60
add esp, 0xc
test eax, eax
je 0x11eec116
mov eax, dword [esp + 0xb40]
lea edx, [esp + 0x20]
push 0x28
push edx
push eax
call fcn.11f2eda0
add esp, 0xc
test byte [esp + 0xb4c], 4
je 0x11eec16a
lea ecx, [esp + 0x14]
lea edx, [esp + 0x10]
push ecx
push edx
push esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
call fcn.11f30300
add esp, 0xc
test eax, eax
je 0x11eec159
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb40]
push eax
push ecx
push edx
call fcn.11f30520
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x11eec16a
push eax
call fcn.11e679b1
add esp, 4
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0xb28
ret
lea eax, [esp + 0x228]
test eax, eax
jne 0x11eec1a3
mov dword [0x12134fb0], 1
mov dword [0x12134fb4], 0x296f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x12134fb8], eax
jmp 0x11eec1f9
mov ecx, 0x66
xor eax, eax
lea edi, [esp + 0x228]
mov esi, 0x12134fc0
rep stosd dword es:[edi], eax
mov eax, dword [0x12106c1c]
mov ecx, 0x66
lea edi, [esp + 0x228]
cmp eax, 0xffffffff
rep movsd dword es:[edi], dword [esi]
je 0x11eec1e2
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp eax, ebx
je 0x11eec1e2
mov dword [esp + 0x248], eax
lea ecx, [esp + 0x228]
push ecx
call fcn.11f2fd10
mov esi, dword [esp + 0xb40]
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x11eec234
mov ecx, 0x66
lea esi, [esp + 0x228]
lea edi, [esp + 0x90]
lea edx, [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
push edx
call fcn.11f2fd40
mov esi, dword [esp + 0xb40]
add esp, 4
mov eax, dword [0x12135578]
mov ecx, dword [0x1213557c]
lea edx, [esp + 0x18]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x3bc], ecx
push edx
mov edx, dword [esp + 0xb44]
lea eax, [esp + 0x4c]
push ebp
lea ecx, [esp + 0x760]
push eax
push ecx
push edx
push esi
mov dword [esp + 0x30], ebx
call fcn.11ef4810
add esp, 0x18
test eax, eax
je 0x11eec0ae
mov dword [esp + 0x14], ebx
jmp 0x11eec0ae
mov eax, dword [esp + 0xb4c]
mov ecx, dword [esp + 0xb40]
push eax
push ecx
push esi
call fcn.11ee01e0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb28
ret
mov edx, dword [esp + 0xb4c]
mov eax, dword [esp + 0xb40]
push edx
push eax
push esi
call fcn.11ee01e0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb28
ret
mov dword [0x12134fb0], 1
mov dword [0x12134fb4], 0x572
call edi
pop edi
pop esi
mov dword [0x12134fb8], eax
pop ebp
mov eax, 1
pop ebx
add esp, 0xb28
ret