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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x45c
movss xmm0, dword [0x101402a0]
mulss xmm0, dword [0x100eced0]
push ebx
mov ebx, ecx
mov dword [ebp - 0x98], 0
push esi
push edi
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x9c], 0
push dword [ebx + 0x20]
addss xmm0, dword [ebx + 0x2750]
push dword [ebx + 0x1c]
mov edx, dword [ebx + 0x14]
push dword [ebx + 0x18]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0x94], 0x3f800000
mov dword [ebp - 0xa8], 0x3f800000
mov dword [ebp - 0xbc], 0x3f800000
mov dword [ebp - 0xd0], 0x3f800000
movss dword [ebx + 0x2750], xmm0
call fcn.10039480
mov edx, dword [ebx + 4]
add esp, 0xc
mov eax, dword [edx]
push 0xffffffffffffffff
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
mov ecx, dword [eax + 0x24]
lea eax, [ebp - 0xc]
push eax
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0
push eax
mov eax, dword [ebx + 0x10]
push dword [eax]
push edx
call ecx
cmp byte [ebx + 0x164], 0
je 0x10060cf6
push dword [ebx + 0x11c]
mov edx, dword [ebx + 0x110]
lea ecx, [ebp - 0x24]
push dword [ebx + 0x118]
push dword [ebx + 0x114]
call fcn.10039480
mov edx, dword [ebx + 4]
add esp, 0xc
mov eax, dword [edx]
push 0xffffffffffffffff
mov dword [ebp - 0xc], 0x44168000
mov dword [ebp - 8], 0x42f80000
mov ecx, dword [eax + 0x24]
lea eax, [ebp - 0xc]
push eax
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 4], 0
push eax
mov eax, dword [ebx + 0x10c]
push dword [eax]
push edx
call ecx
movss xmm7, dword [0x100ece68]
lea esi, [ebx + 0x218]
xor edi, edi
nop word [eax + eax]
mov eax, 0xaaaaaaab
mul edi
mov eax, edi
shr edx, 2
lea ecx, [edx + edx*2]
add ecx, ecx
sub eax, ecx
imul eax, eax, 0x85
add eax, 0x76
mov dword [ebp - 0x30], eax
imul eax, edx, 0x75
mov dword [ebp - 0x2c], eax
mov al, byte [esi - 0x30]
test al, al
je 0x10060a69
movss xmm2, dword [0x101402a0]
mulss xmm2, dword [0x100ecf3c]
movss xmm1, dword [esi - 0x24]
movss xmm0, dword [esi - 0x2c]
movss dword [ebp - 0x28], xmm2
call fcn.100394a0
movss xmm1, dword [esi - 0x20]
movaps xmm6, xmm0
movss xmm0, dword [esi - 0x28]
movss dword [ebp - 0x38], xmm6
movss dword [esi - 0x2c], xmm6
call fcn.100394a0
movaps xmm5, xmm0
movss dword [esi - 0x28], xmm5
movss dword [ebp - 0x14], xmm5
cmp dword [ebx + 0x275c], edi
jne 0x10060467
movss xmm0, dword [ebx + 0x2750]
addss xmm0, xmm0
call fcn.10005300
call fcn.10005320
divss xmm0, dword [0x100ecf20]
movss xmm2, dword [ebp - 0x28]
addss xmm0, dword [0x100ece20]
movaps xmm1, xmm0
movss xmm0, dword [esi - 0x1c]
call fcn.100394a0
movss dword [ebp - 0x34], xmm0
movss dword [esi - 0x1c], xmm0
movss xmm0, dword [ebx + 0x2750]
addss xmm0, xmm0
call fcn.10005300
call fcn.10005320
divss xmm0, dword [0x100ecf20]
movss xmm2, dword [ebp - 0x28]
addss xmm0, dword [0x100ece20]
movaps xmm1, xmm0
movss xmm0, dword [esi - 0x18]
call fcn.100394a0
movss xmm3, dword [ebp - 0x34]
movss xmm5, dword [ebp - 0x14]
movss xmm6, dword [ebp - 0x38]
mov al, byte [esi - 0x30]
jmp 0x100604c0
movss xmm0, dword [esi - 0x1c]
movss xmm4, dword [esi - 0x18]
cmp dword [ebx + 0x2754], edi
je 0x100604a5
movss xmm1, dword [0x100ece38]
call fcn.100394a0
movss xmm1, dword [0x100ece38]
movaps xmm3, xmm0
movaps xmm0, xmm4
movss dword [esi - 0x1c], xmm3
call fcn.100394a0
movss xmm5, dword [ebp - 0x14]
jmp 0x100604c0
movaps xmm1, xmm7
call fcn.100394a0
movaps xmm3, xmm0
movaps xmm1, xmm7
movaps xmm0, xmm4
movss dword [esi - 0x1c], xmm3
call fcn.100394a0
movss xmm2, dword [0x101402a0]
movaps xmm4, xmm0
mulss xmm2, dword [0x100eced0]
movss xmm1, dword [0x100ece38]
movss xmm0, dword [esi - 0x14]
movss dword [esi - 0x18], xmm4
call fcn.100394a0
cmp dword [esi - 0x10], 0
movss dword [esi - 0x14], xmm0
je 0x10060a69
mov dword [ebp - 0x14], 0x909090
cmp al, 3
je 0x10060508
cmp al, 4
jne 0x1006050f
mov dword [ebp - 0x14], 0xffffff
mov eax, dword [esi - 4]
cdq
sub eax, edx
sar eax, 1
addss xmm5, dword [0x100ecf48]
subss xmm6, dword [0x100ecf74]
subss xmm3, dword [0x100ecdf8]
movd xmm0, eax
mov eax, dword [esi]
subss xmm5, dword [0x100ecf54]
subss xmm4, dword [0x100ecdf8]
cdq
sub eax, edx
movss dword [ebp - 0x60], xmm6
cvtdq2ps xmm0, xmm0
sar eax, 1
movss dword [ebp - 0x5c], xmm5
movss dword [ebp - 0x40], xmm0
movd xmm0, eax
lea eax, [ebp - 0x60]
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x68]
movss dword [ebp - 0x68], xmm3
push eax
push ecx
cvtdq2ps xmm0, xmm0
mov dword [esp], 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x110]
push eax
movss dword [ebp - 0x64], xmm4
movss dword [ebp - 0x3c], xmm0
call dword [sym.imp.d3dx9_43.dll_D3DXMatrixTransformation2D]
push dword [esi]
mov edx, dword [esi - 0xc]
lea ecx, [ebp - 0x24]
push dword [esi - 4]
push dword [esi - 8]
call fcn.10039480
mov eax, dword [ebx + 4]
lea edx, [ebp - 0x110]
add esp, 0xc
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
movss xmm0, dword [esi - 0x14]
mulss xmm0, dword [0x100ecfb8]
mov ecx, dword [ebx + 4]
cvttss2si eax, xmm0
mov edx, dword [ecx]
movzx eax, al
shl eax, 0x18
or eax, dword [ebp - 0x14]
push eax
push 0
push 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [esi - 0x10]
push dword [eax]
push ecx
call dword [edx + 0x24]
mov eax, dword [ebx + 4]
lea edx, [ebp - 0xd0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebx + 0x13c]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x48], xmm0
mov eax, dword [ebx + 0x140]
cdq
sub eax, edx
mov dword [ebp - 0x78], 0x3f800000
sar eax, 1
mov dword [ebp - 0x74], 0x3f800000
movd xmm0, eax
lea eax, [ebp - 0x70]
cvtdq2ps xmm0, xmm0
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x78]
movss dword [ebp - 0x44], xmm0
movss xmm0, dword [esi - 0x2c]
addss xmm0, dword [0x100ecf88]
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x48]
push eax
movss dword [ebp - 0x70], xmm0
lea eax, [ebp - 0x110]
movss xmm0, dword [esi - 0x28]
addss xmm0, dword [0x100ecf68]
push eax
movss dword [ebp - 0x6c], xmm0
call dword [sym.imp.d3dx9_43.dll_D3DXMatrixTransformation2D]
push dword [ebx + 0x140]
mov edx, dword [ebx + 0x134]
lea ecx, [ebp - 0x24]
push dword [ebx + 0x13c]
push dword [ebx + 0x138]
call fcn.10039480
mov eax, dword [ebx + 4]
lea edx, [ebp - 0x110]
add esp, 0xc
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
movss xmm0, dword [esi - 0x14]
mulss xmm0, dword [0x100ecfb8]
mov ecx, dword [ebx + 4]
cvttss2si eax, xmm0
mov edx, dword [ecx]
movzx eax, al
shl eax, 0x18
or eax, 0xffffff
push eax
push 0
push 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebx + 0x130]
push dword [eax]
push ecx
call dword [edx + 0x24]
mov eax, dword [ebx + 4]
lea edx, [ebp - 0xd0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov ecx, dword [esi - 0x34]
mov eax, ecx
test ecx, ecx
jne 0x10060718
mov eax, dword [esi - 0x38]
push eax
test ecx, ecx
mov eax, 0x100ea85c
mov ecx, 0x100ea858
cmovne eax, ecx
push eax
lea eax, [ebp - 0x178]
push eax
call fcn.100226a0
movss xmm0, dword [esi - 0x28]
add esp, 0xc
addss xmm0, dword [0x100ecf68]
mov edx, dword [ebx + 4]
push 0
push 0xffffffffffffffff
addss xmm0, dword [0x100ecf24]
push 1
push 0x16
push 0x19
cvttss2si eax, xmm0
movss xmm0, dword [esi - 0x2c]
addss xmm0, dword [0x100ecf88]
push eax
addss xmm0, dword [0x100eceb8]
cvttss2si eax, xmm0
push eax
push ecx
lea eax, [ebp - 0x178]
push eax
mov eax, dword [0x1014839c]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x18]
call fcn.10039160
mov al, byte [esi - 0x30]
add esp, 0x24
cmp al, 3
jne 0x100608a6
mov eax, dword [ebx + 0xd0]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [ebx + 0xd4]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
movss dword [ebp - 0x50], xmm0
movd xmm0, eax
lea eax, [ebp - 0x80]
cvtdq2ps xmm0, xmm0
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x88]
movss dword [ebp - 0x4c], xmm0
movss xmm0, dword [esi - 0x2c]
addss xmm0, dword [0x100eceb8]
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x50]
push eax
movss dword [ebp - 0x80], xmm0
lea eax, [ebp - 0x1b8]
movss xmm0, dword [esi - 0x28]
addss xmm0, dword [0x100ecf48]
push eax
addss xmm0, dword [0x100eceb8]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [esi - 0x1c]
movss dword [ebp - 0x88], xmm0
movss xmm0, dword [esi - 0x18]
movss dword [ebp - 0x84], xmm0
call dword [sym.imp.d3dx9_43.dll_D3DXMatrixTransformation2D]
push dword [ebx + 0xd4]
mov edx, dword [ebx + 0xc8]
lea ecx, [ebp - 0x24]
push dword [ebx + 0xd0]
push dword [ebx + 0xcc]
call fcn.10039480
mov eax, dword [ebx + 4]
lea edx, [ebp - 0x1b8]
add esp, 0xc
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
movss xmm0, dword [esi - 0x14]
mulss xmm0, dword [0x100ecfb8]
cvttss2si eax, xmm0
movzx eax, al
shl eax, 0x18
or eax, 0xffffff
push eax
push 0
lea eax, [ebp - 0x24]
push 0
push eax
mov eax, dword [ebx + 0xc4]
jmp 0x100609b0
cmp al, 2
jne 0x100609cb
mov eax, dword [ebx + 0xf4]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [ebx + 0xf8]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
movss dword [ebp - 0x58], xmm0
movd xmm0, eax
lea eax, [ebp - 0x90]
cvtdq2ps xmm0, xmm0
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 8]
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [esi - 0x2c]
addss xmm0, dword [0x100eceb8]
push eax
push ecx
mov dword [esp], 0
lea eax, [ebp - 0x58]
push eax
movss dword [ebp - 0x90], xmm0
lea eax, [ebp - 0x1f8]
movss xmm0, dword [esi - 0x28]
addss xmm0, dword [0x100ecf48]
push eax
addss xmm0, dword [0x100eceb8]
movss dword [ebp - 0x8c], xmm0
movss xmm0, dword [esi - 0x1c]
movss dword [ebp - 8], xmm0
movss xmm0, dword [esi - 0x18]
movss dword [ebp - 4], xmm0
call dword [sym.imp.d3dx9_43.dll_D3DXMatrixTransformation2D]
push dword [ebx + 0xf8]
mov edx, dword [ebx + 0xec]
lea ecx, [ebp - 0x24]
push dword [ebx + 0xf4]
push dword [ebx + 0xf0]
call fcn.10039480
mov eax, dword [ebx + 4]
lea edx, [ebp - 0x1f8]
add esp, 0xc
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x14]
movss xmm0, dword [esi - 0x14]
mulss xmm0, dword [0x100ecfb8]
cvttss2si eax, xmm0
movzx eax, al
shl eax, 0x18
or eax, 0xffffff
push eax
push 0
lea eax, [ebp - 0x24]
push 0
push eax
mov eax, dword [ebx + 0xe8]
mov ecx, dword [ebx + 4]
push dword [eax]
push ecx
mov edx, dword [ecx]
call dword [edx + 0x24]
mov eax, dword [ebx + 4]
lea edx, [ebp - 0xd0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x2c]
push 0
push 0xffffffffffffffff
mov edx, dword [ebx + 4]
add eax, 0xcc
push 1
push 0xd
push 0x7c
push eax
push dword [ebp - 0x30]
lea eax, [esi - 0xa4]
push ecx
push eax
mov eax, dword [0x1014839c]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x1c]
call fcn.10039160
add esp, 0x24
lea eax, [ebp - 0x458]
push 0x25a
push 0
push eax
call fcn.100b3430
add esp, 0xc
lea eax, [ebp - 0x458]
push 0x12c
push eax
push 0xffffffffffffffff
lea eax, [esi + 0x14]
push eax
push 0
push 0x36a
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x2c]
push 0
push 0xffffffffffffffff
mov edx, dword [ebx + 4]
add eax, 0x120
push 1
push 0xd
push 0x7c
push eax
push dword [ebp - 0x30]
lea eax, [ebp - 0x458]
push 0xffffffffffffffff
push eax
mov eax, dword [0x1014839c]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0xc]
call fcn.100392a0
add esp, 0x24
movss xmm7, dword [0x100ece68]
inc edi
add esi, 0x194
cmp edi, 0x18
jl 0x10060350
cmp dword [ebx + 0x275c], 0xffffffff
je 0x10060c46
mov eax, dword [ebx + 0x2760]
test eax, eax
jne 0x10060b89
push dword [ebx + 0x44]
mov edx, dword [ebx + 0x38]
lea ecx, [ebp - 0x24]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
call fcn.10039480
mov edx, dword [ebx + 4]
add esp, 0xc
movd xmm0, dword [ebx + 0x154]
cvtdq2ps xmm0, xmm0
mov eax, dword [edx]
push 0xffffffffffffffff
mov dword [ebp - 4], 0
mov ecx, dword [eax + 0x24]
lea eax, [ebp - 0xc]
push eax
movss dword [ebp - 0xc], xmm0
lea eax, [ebp - 0x24]
movd xmm0, dword [ebx + 0x158]
push 0
cvtdq2ps xmm0, xmm0
push eax
mov eax, dword [ebx + 0x34]
movss dword [ebp - 8], xmm0
push dword [eax]
push edx
call ecx
push dword [ebx + 0x8c]
mov edx, dword [ebx + 0x80]
lea ecx, [ebp - 0x24]
push dword [ebx + 0x88]
push dword [ebx + 0x84]
call fcn.10039480
movd xmm0, dword [ebx + 0x154]
add esp, 0xc
mov edi, dword [ebx + 4]
cvtdq2ps xmm0, xmm0
mov eax, dword [edi]
mov dword [ebp - 4], 0
movss dword [ebp - 0xc], xmm0
movd xmm0, dword [ebx + 0x158]
mov esi, dword [eax + 0x24]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 8], xmm0
movss xmm0, dword [ebx + 0x2750]
call fcn.10005300
call fcn.10005320
mulss xmm0, dword [0x100ecfb8]
cvttss2si eax, xmm0
movzx eax, al
shl eax, 0x18
or eax, 0xffffff
push eax
lea eax, [ebp - 0xc]
push eax
push 0
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebx + 0x7c]
push dword [eax]
push edi
call esi
jmp 0x10060c46
cmp eax, 1
jne 0x10060be2
push dword [ebx + 0x8c]
mov edx, dword [ebx + 0x80]
lea ecx, [ebp - 0x24]
push dword [ebx + 0x88]
push dword [ebx + 0x84]
call fcn.10039480
mov edx, dword [ebx + 4]
add esp, 0xc
movd xmm0, dword [ebx + 0x154]
cvtdq2ps xmm0, xmm0
mov eax, dword [edx]
push 0xffffffffffffffff
mov ecx, dword [eax + 0x24]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x24]
movss dword [ebp - 0xc], xmm0
movd xmm0, dword [ebx + 0x158]
push 0
push eax
mov eax, dword [ebx + 0x7c]
jmp 0x10060c32
cmp eax, 2
jne 0x10060c46
push dword [ebx + 0x44]
mov edx, dword [ebx + 0x38]
lea ecx, [ebp - 0x24]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
call fcn.10039480
mov edx, dword [ebx + 4]
add esp, 0xc
movd xmm0, dword [ebx + 0x154]
cvtdq2ps xmm0, xmm0
mov eax, dword [edx]
push 0xffffffffffffffff
mov ecx, dword [eax + 0x24]
mov eax, dword [ebx + 0x158]
add eax, 2
movss dword [ebp - 0xc], xmm0
movd xmm0, eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x24]
push 0
push eax
mov eax, dword [ebx + 0x34]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 4], 0
movss dword [ebp - 8], xmm0
push dword [eax]
push edx
call ecx
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, dword [ebx + 0x16c]
ja 0x10060cc3
call esi
mov ecx, dword [ebx + 0x16c]
sub ecx, eax
mov eax, 0x10624dd3
mul ecx
mov eax, 0x91a2b3c5
mov ecx, edx
shr ecx, 6
mul ecx
mov esi, edx
xor edx, edx
shr esi, 0xb
imul eax, esi, 0xe10
sub ecx, eax
mov eax, ecx
mov ecx, 0x3c
div ecx
push edx
push eax
push esi
lea eax, [ebp - 0x178]
push str._02d:_02d:_02d
push eax
call fcn.100226a0
add esp, 0x14
lea eax, [ebp - 0x178]
push 1
push 0xffffffffffffffff
push 0x100
push 0
push 0
push 0x88
push 0x320
push ecx
push eax
jmp 0x10060ce0
push 1
push 0xffffffffffffffff
push 0x100
push 0
push 0
push 0x88
push 0x320
push ecx
push str.Reload_Portal
mov eax, dword [0x1014839c]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 0x24]
call fcn.10039160
add esp, 0x24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret