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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffffc
mov eax, dword [0x1005d7bb]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp]
cmp eax, dword [edx - 0x54]
jne 0x10038313
cmp byte [0x10052fc5], 0
je 0x10037e64
mov eax, dword [ebp]
movzx eax, word [eax - 0x4e]
cmp eax, dword [0x10052fc6]
ja 0x10037e29
push 1
call fcn.1004068f
jmp 0x10037e2e
call fcn.10040904
cmp dword [0x1006b5ee], 0xffffffff
jne 0x10037e3b
xor eax, eax
jmp 0x10037e66
cmp dword [0x1006b5ee], 0
je 0x10037e5f
call fcn.1005103e
sub eax, dword [0x1006b5f2]
cmp eax, 0x3e8
jb 0x10037e5a
xor eax, eax
jmp 0x10037e66
or eax, 0xffffffff
jmp 0x10037e66
or eax, 0xffffffff
jmp 0x10037e66
xor eax, eax
or eax, eax
jne 0x10037fa1
cmp dword [0x10052f85], 0
je 0x10037f0c
mov eax, dword [ebp]
movzx eax, word [eax - 0x4e]
cmp eax, dword [0x10052f85]
ja 0x10037f02
cmp ax, word [0x10052426]
jae 0x10037ef3
or ax, ax
je 0x10037ef3
push 3
push 0x1001d628
call fcn.1002f9a8
cmp eax, 0xffffffff
jne 0x10037eb5
push 3
push 0x1001d60a
call fcn.1002f9a8
cmp eax, 0xffffffff
je 0x10037edc
push eax
call fcn.1002f8cf
or eax, eax
jne 0x10037ed8
mov eax, dword [ebp]
mov ax, word [eax - 0x4e]
mov word [0x10052426], ax
mov eax, 1
jmp 0x10037f0e
xor eax, eax
jmp 0x10037f0e
jmp 0x10037ee5
push 0x10037ede
call fcn.100473a5
xor eax, eax
jmp 0x10037f0e
or ax, ax
je 0x10037efe
mov word [0x10052426], ax
xor eax, eax
jmp 0x10037f0e
mov word [0x10052426], ax
xor eax, eax
jmp 0x10037f0e
xor eax, eax
or eax, eax
jne 0x10037f5b
cmp dword [0x10052f80], 0
je 0x10037f5b
mov eax, dword [ebp]
movzx eax, word [eax - 0x4e]
cmp eax, dword [0x10052f80]
ja 0x10037f53
cmp ax, word [0x10052424]
jae 0x10037f44
or ax, ax
je 0x10037f44
call fcn.1002f9fb
mov eax, 1
jmp 0x10037f5b
or ax, ax
je 0x10037f4f
mov word [0x10052424], ax
xor eax, eax
jmp 0x10037f5b
mov word [0x10052424], ax
xor eax, eax
or eax, eax
jne 0x10037fa1
cmp dword [0x10052f6c], 0
je 0x10037fa1
mov eax, dword [ebp]
movzx eax, word [eax - 0x4e]
cmp eax, dword [0x10052f6c]
ja 0x10037f9b
cmp ax, word [0x10052422]
jae 0x10037f8e
or ax, ax
je 0x10037f8e
push 1
call fcn.100316dd
jmp 0x10037fa1
or ax, ax
je 0x10037fa1
mov word [0x10052422], ax
jmp 0x10037fa1
mov word [0x10052422], ax
cmp dword [0x100534e6], 0
je 0x10037fef
call fcn.1005103e
sub eax, dword [0x1006b688]
cmp eax, dword [0x100534ea]
jb 0x10037fef
mov eax, dword [ebp]
movzx eax, word [eax - 0x4e]
cmp eax, dword [0x100534e6]
ja 0x10037fef
cmp byte [0x1005350e], 0
jne 0x10037fde
push 2
call fcn.10032e32
jmp 0x10037fe5
push 2
call fcn.10032e9c
call fcn.1005103e
mov dword [0x1006b688], eax
cmp dword [0x10052f0c], 0
je 0x10038027
mov eax, dword [ebp]
movzx eax, word [eax - 0x4e]
mov dword [ebp - 4], eax
call fcn.1005103e
sub eax, dword [0x1006b458]
cmp eax, dword [0x10052f20]
jb 0x10038027
mov eax, dword [ebp - 4]
cmp eax, dword [0x10052f0c]
ja 0x10038027
push 1
call fcn.1003185b
cmp dword [0x10052f24], 0
je 0x1003805f
mov eax, dword [ebp]
movzx eax, word [eax - 0x4e]
mov dword [ebp - 4], eax
call fcn.1005103e
sub eax, dword [0x1006b45c]
cmp eax, dword [0x10052f38]
jb 0x1003805f
mov eax, dword [ebp - 4]
cmp eax, dword [0x10052f24]
ja 0x1003805f
push 1
call fcn.1000496b
cmp byte [0x100534f5], 0
je 0x100380b0
mov eax, dword [0x1005d7bb]
mov eax, dword [eax]
test byte [eax + 0x1e], 0x10
jne 0x100380fb
cmp byte [0x1005350e], 0
jne 0x100380a7
call fcn.1005103e
sub eax, dword [0x1006b680]
cmp eax, 0x1388
jbe 0x100380ae
push 0x1f
call fcn.10032e32
call fcn.1005103e
mov dword [0x1006b680], eax
jmp 0x100380ae
push 0x1f
call fcn.10032e9c
jmp 0x100380fb
cmp byte [0x100534ee], 0
je 0x100380fb
mov eax, dword [0x1005d7bb]
mov eax, dword [eax]
test byte [eax + 0x1e], 0x80
jne 0x100380fb
cmp byte [0x1005350e], 0
jne 0x100380f4
call fcn.1005103e
sub eax, dword [0x1006b684]
cmp eax, 0xbb8
jbe 0x100380fb
push 0x12
call fcn.10032e32
call fcn.1005103e
mov dword [0x1006b684], eax
jmp 0x100380fb
push 0x12
call fcn.10032e9c
cmp byte [0x1005351d], 0
je 0x10038139
call fcn.1005103e
sub eax, dword [0x1006b5ea]
cmp eax, 0x4e20
jbe 0x10038139
cmp byte [0x1005350e], 0
jne 0x10038128
push 0x24
call fcn.10032e32
jmp 0x1003812f
push 0x24
call fcn.10032e9c
call fcn.1005103e
mov dword [0x1006b5ea], eax
cmp byte [0x10052fa4], 0
jne 0x1003817c
cmp byte [0x10053507], 0
jne 0x1003817c
cmp byte [0x10053508], 0
jne 0x1003817c
cmp byte [0x10052fa6], 0
jne 0x1003817c
cmp byte [0x100626c1], 0
jne 0x1003817c
cmp byte [0x10052444], 0
jne 0x1003817c
cmp byte [0x1005339d], 0
je 0x1003835b
push esi
push edi
mov eax, dword [ebp]
mov esi, dword [eax - 0x5c]
mov eax, dword [0x1005d80b]
mov eax, dword [eax]
mov edx, esi
call dword [fcn.1005d221]
or eax, eax
je 0x1003830f
mov edi, eax
mov byte [0x10062702], 0
cmp byte [0x10053508], 0
je 0x100381d8
cmp byte [edi + 0xe], 0
jne 0x100381d8
mov edx, dword [0x1005d82f]
mov dword [edx], edi
push dword [edi + 4]
pop dword [0x10052319]
movzx edx, word [edi + 8]
mov dword [0x10052311], edx
movzx edx, word [edi + 0xa]
mov dword [0x10052315], edx
cmp byte [0x10052fa6], 0
je 0x1003820d
cmp byte [edi + 0xe], 0
jne 0x1003820d
call fcn.1005103e
sub eax, dword [0x1005240a]
mov ecx, eax
cmp ecx, 0x3e8
jbe 0x1003820d
mov eax, edi
call fcn.1003dad8
call fcn.1005103e
mov dword [0x1005240a], eax
cmp byte [0x10053507], 0
je 0x10038232
mov edx, dword [0x1005d853]
cmp dword [edx], 0
je 0x10038227
cmp byte [edi + 0xe], 0
jne 0x10038232
push dword [edi + 4]
pop dword [0x1006b67c]
mov dword [edx], edi
cmp byte [0x1005339d], 0
je 0x10038246
cmp byte [edi + 0xe], 0
jne 0x10038246
call fcn.1000455a
cmp byte [0x100626c1], 0
je 0x10038288
cmp byte [0x100626f2], 0
jne 0x1003827a
cmp byte [0x100626d6], 0
jne 0x1003827a
mov edx, dword [0x1005d853]
cmp dword [edx], 0
jne 0x1003827a
cmp byte [edi + 0xe], 0
je 0x1003827a
mov word [edi + 0x42], 0
mov dword [edx], edi
cmp byte [edi + 0xe], 0
jne 0x100382ad
push edi
call fcn.100062fb
jmp 0x100382ad
cmp byte [0x10052444], 0
je 0x100382ad
cmp byte [0x10053375], 0
je 0x100382ad
mov edx, dword [0x1005d853]
cmp dword [edx], 0
jne 0x100382ad
cmp byte [edi + 0xe], 0
je 0x100382ad
mov dword [edx], edi
cmp byte [0x10052fa4], 0
je 0x1003830f
cmp byte [edi + 0xe], 0
jne 0x1003830b
xor ecx, ecx
lea edx, [0x10052462]
cmp dword [edx + ecx*4], esi
jne 0x100382cb
jmp 0x100382d1
inc ecx
cmp ecx, 9
jbe 0x100382c4
cmp ecx, 9
jbe 0x1003830f
cmp byte [0x10052461], 9
jb 0x100382f9
mov eax, esi
lea esi, [0x10052466]
lea edi, [0x10052462]
mov ecx, 9
cld
rep movsd dword es:[edi], dword [esi]
mov dword [edi], eax
jmp 0x10038309
movzx ecx, byte [0x10052461]
mov dword [edx + ecx*4], esi
inc byte [0x10052461]
jmp 0x1003830f
mov byte [edi + 0x1f], 0x20
pop edi
pop esi
jmp 0x1003835b
cmp byte [0x10052fc2], 0
je 0x1003834d
mov edx, dword [ebp]
cmp eax, dword [edx - 0x5c]
jne 0x1003834d
lea eax, [0x1005256d]
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], ecx
mov ecx, dword [eax + 0xc]
mov dword [eax + 0x10], ecx
mov ecx, dword [eax + 8]
mov dword [eax + 0xc], ecx
mov ecx, dword [eax + 4]
mov dword [eax + 8], ecx
mov ecx, dword [eax]
mov dword [eax + 4], ecx
movzx edx, word [edx - 0x4a]
mov dword [eax], edx
mov eax, dword [ebp]
mov eax, dword [eax - 0x40]
or eax, eax
je 0x1003835b
mov byte [eax + 0x30], 0
leave
ret