Function at 0x100514d0
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x70
push esi
xor esi, esi
push edi
mov dword [esp + 8], esi
test ah, ah
mov dword [esp + 0xc], esi
mov esi, esi
mov ebp, ebp
mov dword [esp + 0x34], 1
mov bl, bl
xor edi, edi
mov dword [esp + 0x18], edi
test eax, 0x508f
mov dword [esp + 0x1c], esi
test bl, bl
call fcn.1004d340
mov edi, edi
call fcn.1004d590
test bh, bh
mov esi, esi
test al, al
mov eax, dword [0x100f2f48]
mov dword [esp + 0x20], eax
test cl, cl
cmp dword [0x100f2714], esi
mov dword [esp + 0x30], esi
jl 0x10051bf9
push ebx
push ebp
nop
mov ecx, dword [esp + 0x28]
push ecx
push esi
call fcn.1004d010
mov ebp, eax
add esp, 8
mov dword [esp + 0x48], ebp
test edi, edi
test ebp, ebp
je 0x10051a51
cmp dword [esp + 0x10], 0
jne 0x10051577
mov eax, dword [esp + 0x84]
mov edx, dword [eax]
mov edx, dword [edx]
lea ecx, [esp + 0x10]
push ecx
push 0x1009ba90
push eax
call edx
mov ch, ch
test eax, eax
jl 0x10051a9d
push esi
call fcn.1004d1c0
mov ebx, eax
add esp, 4
mov dword [esp + 0x54], ebx
mov esi, esi
test ebx, ebx
jne 0x1005159b
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov bh, bh
nop
jmp 0x10051a51
push 0
push 0
push 0
push 6
push ebx
call fcn.100441a0
mov esi, eax
mov dword [esp + 0x4c], esi
test edi, edi
test esi, esi
jne 0x100515ca
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebp
call esi
push ecx
pop ecx
push ebx
call esi
test eax, eax
jmp 0x10051a4d
cmp dword [esp + 0x14], 0
jne 0x100515f1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push 0
push eax
mov eax, dword [ecx + 0x98]
call eax
mov bh, bh
test eax, eax
jl 0x10051aad
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
test dl, dl
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x60]
push edx
push eax
mov eax, dword [ecx + 0x30]
call eax
mov dl, dl
mov ecx, ecx
mov eax, dword [esp + 0x60]
cmp eax, 0x16
je 0x10051641
cmp eax, 0x15
je 0x10051641
cmp eax, 0x17
jne 0x10051acf
test edi, edi
push esi
call fcn.1004d270
add esp, 4
mov bh, bh
test eax, eax
je 0x10051af1
cmp eax, 0xb
jne 0x10051696
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10051678
mov ah, ah
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
nop
mov dword [esp + 0x24], 0
push edx
pop edx
test edi, edi
je 0x10051696
test edx, edx
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov dl, dl
mov dword [esp + 0x20], 0
mov dl, dl
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x78]
cmp edx, dword [esi + 0x14]
jb 0x10051bb0
mov eax, dword [esp + 0x7c]
cmp eax, dword [esi + 0x18]
jb 0x10051bb0
test edi, edi
jne 0x10051744
mov dword [esp + 0x18], edi
test bh, bh
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x68]
push edi
push edi
push edi
push edx
mov edx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x94]
push edx
push eax
mov eax, dword [ecx + 0x70]
call eax
xchg ebx, eax
xchg ebx, eax
test eax, eax
jl 0x10051b11
mov dword [esp + 0x1c], edi
mov ch, ch
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push edi
lea edx, [esp + 0x20]
push edx
mov edx, dword [esp + 0x68]
push 2
push edx
mov edx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push edx
push eax
mov eax, dword [ecx + 0x90]
call eax
test esi, esi
test eax, eax
jl 0x10051b30
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], ecx
push edx
pop edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
mov cl, cl
mov edi, edx
cmp dword [esp + 0x3c], 0
je 0x1005179d
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push 0
push 0
push edx
mov edx, dword [esp + 0x20]
push 0
push edx
push eax
mov eax, dword [ecx + 0x88]
call eax
push ebx
pop ebx
test eax, eax
jl 0x10051b5a
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov ecx, dword [eax]
push edi
push edx
push eax
mov eax, dword [ecx + 0x80]
call eax
test edx, edx
test eax, eax
jl 0x10051b76
mov dword [esp + 0x3c], 0
test edx, edx
test bl, bl
mov ecx, dword [edi]
mov eax, dword [ecx + 0x34]
push 0x10
push 0
lea edx, [esp + 0x60]
push edx
push edi
call eax
mov ch, ch
test eax, eax
jl 0x10051b94
mov ecx, dword [esp + 0x28]
push ecx
push ebp
call fcn.1004d160
add esp, 8
test eax, eax
je 0x10051a2b
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov al, al
mov edx, dword [edi]
mov ecx, dword [edx + 0x30]
lea eax, [esp + 0x60]
push eax
push edi
call ecx
mov edi, edi
mov ebp, dword [esp + 0x5c]
mov dh, dh
mov edx, dword [esp + 0x58]
mov dword [esp + 0x40], edx
test bl, bl
lea ebx, [esi + 0x24]
mov dword [esp + 0x34], ebx
mov edx, edx
mov eax, dword [esi + 0x14]
add eax, eax
add eax, eax
mov dword [esp + 0x50], eax
nop
xchg ebx, eax
xchg ebx, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
test eax, 0x4a5e
test dl, dl
test bl, bl
test dh, dh
mov eax, dword [esp + 0x88]
test eax, eax
je 0x1005187e
mov ecx, dword [eax]
mov edx, dword [eax + 8]
sub edx, ecx
cmp edx, dword [esi + 0x14]
jb 0x1005187e
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 4]
cmp edx, dword [esi + 0x18]
jb 0x1005187e
cmp dword [esp + 0x60], 0x17
jne 0x1005186c
lea ebp, [ebp + ecx*2]
test ebx, ebx
jmp 0x10051872
lea ebp, [ebp + ecx*4]
mov bl, bl
mov eax, dword [eax + 4]
imul eax, dword [esp + 0x40]
add ebp, eax
mov ah, ah
mov eax, dword [esi + 0x18]
test dh, dh
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x30], ecx
mov edx, edx
test bh, bh
mov dword [esi + 0x20], 0
push ebx
pop ebx
cmp dword [esp + 0x60], 0x17
jne 0x100518a7
mov dword [esi + 0x20], 1
push ebx
pop ebx
cmp dword [esp + 0x28], 0
jne 0x100518ba
mov dword [esi + 0x20], 0
test eax, 0x594e
test eax, eax
jbe 0x100519fc
mov dword [esp + 0x44], eax
jmp 0x100518d4
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x60], 0x17
jne 0x10051a84
cmp dword [esp + 0x28], 0
jne 0x10051a69
test eax, 0x7a13
xor edi, edi
cmp dword [esp + 0x30], edi
jbe 0x100519da
jmp 0x10051900
movzx eax, word [ebp + edi*2]
test dh, dh
movzx eax, ax
mov ecx, eax
shr ecx, 8
and ecx, 0xf8
mov ah, ah
mov ebx, eax
shr ebx, 3
and ebx, 0xfc
mov eax, eax
and eax, 0x1f
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x2c], eax
mov edx, edx
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
add ecx, eax
mov al, al
mov eax, 0x4104105
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
add ebx, eax
test edi, edi
mov eax, 0x8421085
mul dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov esi, edx
mov edx, eax
sub edx, esi
shr edx, 1
add edx, esi
shr edx, 4
add eax, edx
test al, al
cmp ecx, 0xff
jbe 0x1005198c
mov ecx, 0xff
mov ebp, ebp
cmp ebx, 0xff
jbe 0x1005199b
mov ebx, 0xff
test bl, bl
cmp eax, 0xff
jbe 0x100519b0
mov dword [esp + 0x2c], 0xff
test edi, edi
mov eax, dword [esp + 0x2c]
xor edx, edx
mov dh, cl
mov ecx, dword [esp + 0x34]
movzx eax, al
mov dl, bl
shl edx, 8
or edx, eax
mov dword [ecx + edi*4], edx
mov ecx, ecx
add edi, 1
cmp edi, dword [esp + 0x30]
jb 0x10051900
mov esi, dword [esp + 0x4c]
mov ebx, ecx
mov edi, dword [esp + 0x20]
add ebp, dword [esp + 0x40]
test eax, 0x17c8
add ebx, dword [esp + 0x50]
mov dword [esp + 0x34], ebx
test edi, edi
sub dword [esp + 0x44], 1
jne 0x100518d0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ch, ch
mov ebp, ebp
mov dword [esi + 0x1c], 1
mov dl, dl
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
push edx
push eax
call fcn.1004d190
add esp, 8
test cl, cl
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0x54]
mov ecx, dword [edi]
mov edx, dword [ecx + 0x38]
push edi
call edx
test al, al
push esi
call fcn.100441d0
mov cl, cl
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
mov esi, esi
push ebp
call esi
mov edi, edi
mov esi, dword [esp + 0x38]
add esi, 1
cmp esi, dword [0x100f2714]
mov dword [esp + 0x38], esi
jle 0x10051530
jmp 0x10051bca
lea eax, [ecx*4]
shr eax, 1
push eax
push ebp
push ebx
call fcn.100756d0
add esp, 0xc
test ah, ah
jmp 0x100519de
lea eax, [ecx*4]
push eax
push ebp
push ebx
call fcn.100756d0
add esp, 0xc
mov esi, esi
jmp 0x100519de
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ecx, ecx
mov ecx, ecx
jmp 0x10051bca
mov bl, bl
push esi
call fcn.100441d0
test ebx, ebx
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
mov ebp, ebp
push ebp
call esi
test eax, 0x5227
jmp 0x10051bca
test eax, 0x66c8
push esi
call fcn.100441d0
test edx, edx
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
mov al, al
push ebp
call esi
mov eax, eax
jmp 0x10051bca
push esi
call fcn.100441d0
mov esi, esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
xchg ebx, eax
xchg ebx, eax
push ebp
call esi
test eax, 0x1008
jmp 0x10051bca
push ecx
pop ecx
push esi
call fcn.100441d0
mov ch, ch
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
test ah, ah
push ebp
call esi
mov edi, edi
jmp 0x10051bca
test edi, edi
push esi
call fcn.100441d0
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
test edx, edx
push ebp
call esi
mov cl, cl
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebp, ebp
jmp 0x10051bca
test cl, cl
push esi
call fcn.100441d0
test bh, bh
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
test bh, bh
push ebp
call esi
push ecx
pop ecx
jmp 0x10051bca
test ch, ch
mov ebx, ebx
push esi
call fcn.100441d0
mov eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
mov eax, eax
push ebp
call esi
push ecx
pop ecx
jmp 0x10051bca
push esi
call fcn.100441d0
test ch, ch
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
test ah, ah
push ebp
call esi
push ecx
pop ecx
push edx
pop edx
jmp 0x10051bca
mov ch, ch
push esi
call fcn.100441d0
mov cl, cl
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call esi
mov ebx, ebx
push ebp
call esi
test edi, edi
mov eax, dword [esp + 0x24]
xor esi, esi
cmp eax, esi
pop ebp
pop ebx
je 0x10051be4
test eax, eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test ch, ch
mov esi, esi
cmp edi, esi
je 0x10051bf9
test edi, edi
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov ch, ch
test eax, 0x4cd5
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x10051c0b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test esi, esi
mov eax, dword [esp + 8]
pop edi
cmp eax, esi
pop esi
je 0x10051c1f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, edi
add esp, 0x70
ret