Function at 0x101333f0
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffe0
sub esp, 0x134
mov eax, dword [0x1063b7b0]
push ebx
push esi
mov esi, dword fs:[0x2c]
mov ebx, ecx
push edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x2c], ebx
mov esi, dword [esi + eax*4]
mov eax, dword [0x1075aaa4]
cmp eax, dword [esi + 4]
jg 0x1013560a
jmp 0x1013342f
mov edx, dword [esp + 0x40]
mov eax, dword [ebx + 0x14]
lea esi, [ebx + 0xc]
vmovq xmm0, qword [esi]
vmovq qword [esp + 0xb4], xmm0
vmovq xmm0, qword [esi]
vmovq qword [esp + 0x74], xmm0
vmovdqu ymm0, ymmword [ebx]
mov dword [esp + 0xbc], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x88], eax
mov eax, dword [0x1063c3b0]
vmovdqu ymmword [esp + 0xc0], ymm0
vmovdqu ymm0, ymmword [ebx + 0x20]
vmovdqu ymmword [esp + 0xe0], ymm0
vmovdqu ymm0, ymmword [ebx + 0x40]
mov eax, dword [eax + 0x1c]
vmovdqu ymmword [esp + 0x100], ymm0
vmovq xmm0, qword [esi]
dec eax
cmp byte [0x10647462], 0
vmovq qword [esp + 0x80], xmm0
mov dword [esp + 0x8c], eax
je 0x10133a23
mov al, byte [0x10647461]
vmovss xmm2, dword [0x1022875c]
vmovss xmm3, dword [0x10228958]
vmovss xmm4, dword [0x10228ad0]
vmovss xmm1, dword [0x10228a78]
mov byte [edx], al
mov edi, dword [ebx + 0x30]
vmovss xmm0, dword [ebx + 0x28]
and edi, 0xfffff7fe
vcomiss xmm0, xmm2
mov dword [ebx + 0x30], edi
jbe 0x101334f6
vmovss dword [ebx + 0x28], xmm3
jmp 0x10133501
vcomiss xmm1, xmm0
jbe 0x10133501
vmovss dword [ebx + 0x28], xmm4
vmovss xmm0, dword [ebx + 0x24]
vcomiss xmm0, xmm2
jbe 0x10133513
vmovss dword [ebx + 0x24], xmm3
jmp 0x1013351e
vcomiss xmm1, xmm0
jbe 0x1013351e
vmovss dword [ebx + 0x24], xmm4
mov eax, dword [0x1063c34c]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test eax, eax
je 0x10133553
cmp byte [0x10639f24], 0
je 0x10133553
mov ecx, 0x394634f0
vzeroupper
call fcn.10111590
mov ecx, dword [esp + 0x28]
test byte [eax + ecx], 1
jne 0x10133553
or edi, 4
mov dword [ebx + 0x30], edi
mov ecx, ebx
vzeroupper
call fcn.1009cec0
mov eax, dword [0x1063c4b0]
mov edi, dword [eax]
test edi, edi
je 0x10133582
call fcn.1011b030
cmp eax, 2
je 0x10133582
mov ecx, 0x1b3d5859
call fcn.10111590
cmp byte [eax + edi], 0
jne 0x10133592
cmp byte [0x10639f27], 0
je 0x10133592
or dword [ebx + 0x30], 0x400000
call fcn.10091bb0
mov ecx, ebx
call fcn.10091c30
mov ecx, ebx
call fcn.10078c90
mov ecx, ebx
call fcn.1009cd40
mov ecx, ebx
call fcn.1009cde0
lea edx, [esp + 0x74]
mov ecx, ebx
call fcn.1009cfc0
mov ecx, ebx
call fcn.1009d2b0
mov ecx, ebx
call fcn.1009e220
mov ecx, ebx
call fcn.1009d450
mov ecx, ebx
call fcn.1009d230
mov ecx, ebx
call fcn.10086160
test al, al
je 0x101335fb
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x74]
push ecx
push eax
mov edx, 0x1075aaa8
mov ecx, ebx
call fcn.10088570
vmovss xmm0, dword [esi]
vsubss xmm0, xmm0, dword [0x1075aaa8]
vmovss dword [esp + 0x34], xmm0
vmovss xmm0, dword [esi + 4]
vsubss xmm0, xmm0, dword [0x1075aaac]
vmovss dword [esp + 0x38], xmm0
vmovss xmm0, dword [esi + 8]
vsubss xmm0, xmm0, dword [0x1075aab0]
lea ecx, [esp + 0x34]
vmovss dword [esp + 0x3c], xmm0
call fcn.10081860
vmovss xmm3, dword [0x10632de8]
vmovss xmm0, dword [0x10229490]
vxorps xmm1, xmm3, xmm0
vmovss dword [esp + 0x40], xmm0
vmovss xmm0, dword [esp + 0x34]
vcomiss xmm0, xmm1
lea eax, [esp + 0x34]
lea ecx, [esp + 0x28]
cmovae ecx, eax
lea eax, [esp + 0x30]
vcomiss xmm3, xmm0
vmovss xmm0, dword [esp + 0x38]
cmovae eax, ecx
lea ecx, [esp + 0x28]
vcomiss xmm0, xmm1
vmovss dword [esp + 0x28], xmm1
vmovss dword [esp + 0x30], xmm3
vmovss xmm2, dword [eax]
lea eax, [esp + 0x38]
cmovae ecx, eax
lea eax, [esp + 0x30]
vcomiss xmm3, xmm0
vmovss xmm0, dword [0x1075aab0]
vaddss xmm0, xmm0, dword [esp + 0x3c]
cmovae eax, ecx
mov ecx, esi
vmovss dword [esp + 0x34], xmm2
vaddss xmm2, xmm2, dword [0x1075aaa8]
vmovss dword [esp + 0x28], xmm1
vmovss dword [esp + 0x30], xmm3
vmovss xmm1, dword [eax]
vmovss dword [esp + 0x38], xmm1
vaddss xmm1, xmm1, dword [0x1075aaac]
vmovss dword [esp + 0x88], xmm0
mov eax, dword [esp + 0x88]
vunpcklps xmm0, xmm2, xmm1
vmovq qword [esi], xmm0
mov dword [esi + 8], eax
call fcn.10081860
cmp byte [0x10632dec], 0
je 0x101337cc
lea ecx, [esp + 0x34]
call fcn.10081860
vmovss xmm4, dword [0x10632de8]
vxorps xmm3, xmm4, xmmword [esp + 0x40]
vmovss xmm0, dword [esp + 0x34]
vmovss xmm1, dword [esp + 0x38]
vcomiss xmm0, xmm3
lea eax, [esp + 0x34]
lea ecx, [esp + 0x28]
cmovae ecx, eax
lea eax, [esp + 0x30]
vcomiss xmm4, xmm0
vmovss dword [esp + 0x30], xmm4
cmovae eax, ecx
lea ecx, [esp + 0x28]
vmovss dword [esp + 0x28], xmm3
vcomiss xmm1, xmm3
vmovss xmm2, dword [eax]
lea eax, [esp + 0x38]
cmovae ecx, eax
lea eax, [esp + 0x30]
vcomiss xmm4, xmm1
vmovss dword [esp + 0x34], xmm2
vaddss xmm2, xmm2, dword [0x1075aaa8]
cmovae eax, ecx
mov ecx, esi
vmovss dword [esp + 0x30], xmm4
vmovss dword [esp + 0x28], xmm3
vmovss xmm0, dword [eax]
vaddss xmm1, xmm0, dword [0x1075aaac]
vmovss xmm0, dword [0x1075aab0]
vaddss xmm0, xmm0, dword [esp + 0x3c]
vmovss dword [esp + 0x88], xmm0
mov eax, dword [esp + 0x88]
vunpcklps xmm0, xmm2, xmm1
vmovq qword [esi], xmm0
mov dword [esi + 8], eax
call fcn.10081860
vmovss xmm2, dword [esi]
vmovss xmm0, dword [esp + 0x74]
vmovss xmm4, dword [esp + 0x78]
vucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1013382a
vucomiss xmm4, dword [esi + 4]
lahf
test ah, 0x44
jp 0x1013382a
vmovss xmm0, dword [esp + 0x7c]
vucomiss xmm0, dword [esi + 8]
lahf
test ah, 0x44
jp 0x1013382a
vmovss xmm0, dword [ebx + 0x24]
vucomiss xmm0, dword [esp + 0xe4]
lahf
test ah, 0x44
jp 0x1013382a
vmovss xmm0, dword [ebx + 0x28]
vucomiss xmm0, dword [esp + 0xe8]
lahf
test ah, 0x44
jnp 0x1013385c
vmovss xmm0, dword [ebx + 0x28]
vxorps xmm3, xmm3, xmm3
vucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1013384c
vmovss xmm1, dword [ebx + 0x24]
vucomiss xmm1, xmm3
lahf
test ah, 0x44
jnp 0x1013385c
vmovaps xmm0, xmm4
mov ecx, ebx
call fcn.1011df60
vmovss xmm2, dword [ebx + 0xc]
cmp byte [0x10632dec], 0
je 0x101339c3
vmovss xmm0, dword [0x10228ab4]
vmovss xmm1, dword [0x10228868]
vcomiss xmm2, xmm0
vmovss dword [esp + 0x28], xmm0
vmovss xmm0, dword [0x10228ac4]
vmovss dword [esp + 0x30], xmm1
lea ecx, [esp + 0x28]
cmovae ecx, esi
lea eax, [esp + 0x30]
vcomiss xmm1, xmm2
vmovss xmm2, dword [0x102288d4]
cmovae eax, ecx
lea edx, [ebx + 0x10]
lea ecx, [esp + 0x28]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
lea eax, [esp + 0x30]
vmovss xmm1, dword [edx]
vcomiss xmm1, xmm0
vmovss dword [esp + 0x28], xmm0
vmovss xmm0, dword [0x10228ab0]
cmovae ecx, edx
vcomiss xmm2, xmm1
vmovss dword [esp + 0x30], xmm2
cmovae eax, ecx
lea ecx, [esp + 0x28]
vmovss xmm2, dword [0x10228834]
mov eax, dword [eax]
mov dword [edx], eax
lea edx, [ebx + 0x14]
vmovss xmm1, dword [edx]
vcomiss xmm1, xmm0
vmovss dword [esp + 0x28], xmm0
cmovae ecx, edx
lea eax, [esp + 0x30]
vcomiss xmm2, xmm1
vmovss xmm1, dword [0x10228958]
cmovae eax, ecx
lea ecx, [esp + 0x28]
vmovss dword [esp + 0x30], xmm2
vmovss xmm2, dword [0x10228ad0]
mov eax, dword [eax]
mov dword [edx], eax
lea eax, [ebx + 0x24]
vmovss xmm0, dword [eax]
vcomiss xmm0, xmm2
vmovss dword [esp + 0x30], xmm1
cmovae ecx, eax
lea edx, [ebx + 0x2c]
vcomiss xmm1, xmm0
lea eax, [esp + 0x30]
cmovae eax, ecx
lea ecx, [esp + 0x28]
vmovss dword [esp + 0x28], xmm2
mov eax, dword [eax]
mov dword [ebx + 0x24], eax
lea eax, [ebx + 0x28]
vmovss xmm0, dword [eax]
vcomiss xmm0, xmm2
vmovss dword [esp + 0x30], xmm1
cmovae ecx, eax
lea eax, [esp + 0x30]
vcomiss xmm1, xmm0
vmovss xmm0, dword [0x10228acc]
cmovae eax, ecx
lea ecx, [esp + 0x28]
vmovss dword [esp + 0x28], xmm2
vmovss xmm2, dword [0x10228938]
mov eax, dword [eax]
mov dword [ebx + 0x28], eax
lea eax, [esp + 0x30]
vmovss xmm1, dword [edx]
vcomiss xmm1, xmm0
vmovss dword [esp + 0x30], xmm2
cmovae ecx, edx
vcomiss xmm2, xmm1
vmovss dword [esp + 0x28], xmm0
cmovae eax, ecx
mov eax, dword [eax]
mov dword [edx], eax
vmovq xmm0, qword [ebx + 0xc]
vmovq qword [0x1075aaa8], xmm0
mov eax, dword [ebx + 0x14]
mov dword [0x1075aab0], eax
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10133a13
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x88]
push eax
call fcn.1002a9f0
test al, al
je 0x10133a13
push dword [esp + 0x8c]
push 0
call dword [0x1063c558]
mov ecx, ebx
call fcn.1009f450
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x30]
mov dword [0x10647140], eax
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10133b4e
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x98]
push eax
vzeroupper
call fcn.1002a9f0
test al, al
je 0x10133b4e
mov ecx, dword [0x1063c36c]
xor edx, edx
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x138]
lea eax, [esp + 0x3c]
push eax
call fcn.1002a9f0
test eax, eax
je 0x10133a96
mov eax, dword [eax + 0x2c]
cmp eax, dword [0x1064746c]
jle 0x10133a96
mov dword [0x1064746c], eax
mov ecx, 0x10632e30
call fcn.100ece40
test al, al
jne 0x10133b36
mov ah, byte [0x10632e20]
mov cl, byte [0x10632e2c]
mov dl, byte [0x1064076a]
mov al, byte [0x1064076b]
cmp ah, 0x42
je 0x10133ac8
test al, al
jne 0x10133ad1
cmp cl, 0x42
je 0x10133b36
test dl, dl
je 0x10133b36
cmp ah, 0x42
je 0x10133ae7
test al, al
je 0x10133ae7
mov edx, 0xd
mov dword [0x10647480], edx
jmp 0x10133b03
cmp cl, 0x42
je 0x10133afd
test dl, dl
je 0x10133afd
mov edx, 9
mov dword [0x10647480], edx
jmp 0x10133b03
mov edx, dword [0x10647480]
test edx, edx
mov dword [esp + 0x30], 0xf
mov eax, 0x10647480
mov dword [esp + 0x28], 0
lea ecx, [esp + 0x28]
cmovns ecx, eax
cmp edx, 0xf
lea eax, [esp + 0x30]
cmovle eax, ecx
mov eax, dword [eax]
mov dword [0x10647480], eax
mov al, 1
jmp 0x10133b50
cmp byte [0x10647460], 0
je 0x10133b4e
mov edx, dword [0x10647470]
mov ecx, ebx
push 1
call fcn.100c76a0
xor al, al
mov byte [0x10647460], al
mov eax, dword [0x1063c34c]
mov esi, dword [eax]
test esi, esi
je 0x10133b81
mov eax, dword [0x1075ab98]
test eax, eax
je 0x10133b6f
cmp byte [eax + 0x48], 0
je 0x10133b81
mov ecx, 0x8d4eb58d
vzeroupper
call fcn.10111590
mov eax, dword [eax + esi]
jmp 0x10133b87
mov eax, dword [0x1075ab9c]
inc eax
cmp byte [0x1063a889], 0
vmovss xmm1, dword [0x10228794]
mov dword [0x1075ab9c], eax
mov dword [0x1075ab98], ebx
je 0x10133c05
test esi, esi
je 0x10133c05
mov eax, dword [0x1063c488]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test eax, eax
je 0x10133c05
mov eax, dword [0x1063c3f0]
mov ecx, 5
vmulss xmm0, xmm1, dword [eax + 0x10]
vcvttss2si eax, xmm0
cdq
idiv ecx
mov ecx, 0xcaca93a1
mov ebx, edx
vzeroupper
call fcn.10111590
push dword [0x1063c5b8]
lea ecx, [esi + 8]
mov edi, eax
mov esi, dword [ecx]
lea eax, [esp + 0x94]
add edi, dword [esp + 0x2c]
xor edx, edx
push dword [esi + 0x28]
push eax
call fcn.1002a9f0
mov dword [edi + eax*4], ebx
mov ebx, dword [esp + 0x2c]
cmp byte [0x1063a8ac], 0
je 0x10133c60
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10133c60
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x98]
push eax
vzeroupper
call fcn.1002a9f0
test al, al
je 0x10133c60
mov eax, dword [0x1063c3ec]
cmp byte [eax + 0xa9], 0
je 0x10133c60
mov eax, dword [0x1063c34c]
vmovss xmm1, dword [0x102284e4]
push ecx
mov ecx, dword [eax]
call fcn.100da570
xor cl, cl
vzeroupper
call fcn.10076190
cmp byte [0x1063a229], 0
je 0x10133ced
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10133ced
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x98]
push eax
call fcn.1002a9f0
test al, al
je 0x10133ced
mov edi, dword [0x1063c3d4]
xor edx, edx
push dword [0x1063c5b8]
vxorps xmm0, xmm0, xmm0
mov eax, dword [edi]
vmovss dword [esp + 0x38], xmm0
vmovss dword [esp + 0x3c], xmm0
vmovss dword [esp + 0x40], xmm0
mov esi, dword [eax + 0x1c]
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [eax + 0x28]
lea eax, [esp + 0xa4]
push eax
call fcn.1002a9f0
push 1
lea ecx, [esp + 0x38]
push ecx
push eax
mov ecx, edi
call esi
mov eax, dword fs:[0x2c]
mov edi, dword [0x1063b7b0]
mov edi, dword [eax + edi*4]
mov eax, dword [0x1075a16c]
cmp eax, dword [edi + 4]
jg 0x1013564b
mov edx, dword [0x1063a240]
mov ecx, dword [0x1075a170]
shr edx, 8
not dl
and edx, 1
mov eax, dword [ecx]
push edx
push dword [0x1063c5b8]
xor edx, edx
push dword [eax + 0x40]
lea eax, [esp + 0xa8]
push eax
call fcn.1002a9f0
mov ecx, dword [0x1063c368]
xor edx, edx
push str.cl_extrapolate
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x3c]
lea eax, [esp + 0xa8]
push eax
call fcn.1002a9f0
xor edx, edx
cmp byte [0x107553ff], dl
mov ecx, dword [eax]
sete dl
push edx
push dword [0x1063c5b8]
xor edx, edx
push dword [ecx + 0x40]
lea ecx, [esp + 0xa8]
push ecx
mov ecx, eax
call fcn.1002a9f0
cmp byte [0x107553f3], 0
je 0x10133df2
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10133df2
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x430]
lea eax, [esp + 0x98]
push eax
call fcn.1002a9f0
mov esi, eax
test esi, esi
je 0x10133df2
mov edx, dword [esi + 8]
lea ecx, [esi + 8]
push dword [0x1063c5b8]
lea eax, [esp + 0x38]
push dword [edx + 8]
xor edx, edx
push eax
call fcn.1002a9f0
cmp dword [eax + 0x14], 0xac
jne 0x10133df2
mov ecx, 0x72e2cd52
call fcn.10111590
mov byte [eax + esi], 0
mov eax, dword [0x1075a90c]
cmp eax, dword [edi + 4]
jg 0x101356a1
mov ecx, dword [0x1075a910]
mov eax, dword [ecx]
mov dword [ecx + 0x60], 0
movzx edx, byte [0x107553fc]
push edx
push dword [0x1063c5b8]
xor edx, edx
push dword [eax + 0x40]
lea eax, [esp + 0x68]
push eax
call fcn.1002a9f0
cmp byte [0x107553d8], 0
je 0x10133e45
test byte [ebx + 4], 1
je 0x10133e45
or dword [ebx + 0x30], 0x8000000
call fcn.101206c0
cmp byte [0x107553e0], 0
je 0x10133f21
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10133f21
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10133f21
mov eax, dword [0x1063c34c]
xor edx, edx
push dword [0x1063c5b8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [eax + 0x430]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
mov edi, eax
test edi, edi
je 0x10133f21
mov ecx, dword [edi]
lea eax, [esp + 0x9c]
push dword [0x1063c5b8]
xor edx, edx
push dword [ecx + 0x71c]
mov ecx, edi
push eax
call fcn.1002a9f0
cmp eax, 1
jne 0x10133f21
mov ecx, 0xb439d47
call fcn.10111590
mov ecx, dword [0x1063c3f0]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [0x1075ab9c]
vmovss xmm0, dword [eax + edi]
vmulss xmm1, xmm1, dword [ecx + 0x20]
vcomiss xmm0, xmm1
jbe 0x10133f21
mov esi, dword [ebx + 0x30]
mov ecx, 0x19cdc55d
call fcn.10111590
cmp word [eax + edi], 0x40
jne 0x10133f1b
and esi, 0xfffff7ff
jmp 0x10133f1e
and esi, 0xfffffffe
mov dword [ebx + 0x30], esi
cmp byte [0x107553e1], 0
je 0x10133fa8
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10133fa8
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10133fa8
mov eax, dword [0x1063c34c]
xor edx, edx
push dword [0x1063c5b8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [eax + 0x430]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
mov esi, eax
test esi, esi
je 0x10133fa8
mov ecx, 0x19cdc55d
call fcn.10111590
mov cx, word [eax + esi]
call fcn.10082c90
test eax, eax
je 0x10133fa8
mov ecx, 0xb22c092c
call fcn.10111590
cmp dword [eax + esi], 0
jne 0x10133fa8
and dword [ebx + 0x30], 0xfffff7fe
mov eax, dword [0x107553e4]
shr eax, 1
test al, 1
je 0x10133fe4
test dword [ebx + 0x30], 0x10000
je 0x10133fe4
mov ecx, dword [0x1063c364]
xor edx, edx
push 0
push 0
push 0
mov eax, dword [ecx]
push 0x32
push dword [0x1063c5b8]
push dword [eax + 0x98]
lea eax, [esp + 0x74]
push eax
call fcn.1002a9f0
cmp byte [0x107553f6], 0
je 0x10134159
mov eax, dword [0x1063c34c]
cmp dword [eax], 0
je 0x10134159
lea ecx, [esp + 0x28]
call fcn.1006c150
mov ecx, dword [0x1063c374]
xor edx, edx
push dword [0x10755dec]
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x10]
lea eax, [esp + 0x68]
push eax
call fcn.1002a9f0
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1013414d
mov ecx, dword [0x10640734]
nop
mov eax, dword [0x1063c3f0]
vmovss xmm0, dword [0x10755de0]
mov esi, dword [0x1063c34c]
vsubss xmm1, xmm0, dword [eax + 0x10]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vaddss xmm0, xmm1, xmm0
vucomiss xmm0, dword [0x10228400]
vmovss dword [esp + 0x30], xmm0
lahf
test ah, 0x44
jnp 0x1013408b
vcomiss xmm0, dword [0x102287a4]
ja 0x1013408b
cmp byte [0x106475ac], 0
jne 0x10134107
jmp 0x10134092
mov byte [0x106475ac], 0
mov ecx, 0xec5d89e5
call fcn.10111590
mov edi, eax
mov ecx, 0xec5d89e5
add edi, dword [esp + 0x2c]
call fcn.10111590
add eax, dword [esi]
vmovss xmm0, dword [edi]
vsubss xmm1, xmm0, dword [eax]
vmovss xmm0, dword [edi + 4]
vsubss xmm2, xmm0, dword [eax + 4]
vmulss xmm0, xmm1, xmm1
vfmadd213ss xmm2, xmm2, xmm0
vmovss xmm0, dword [0x102289bc]
vcomiss xmm0, xmm2
jbe 0x10134107
mov ecx, 0xb3f85100
call fcn.10111590
mov ecx, dword [esi]
cmp byte [eax + ecx], 0
jne 0x10134107
vmovss xmm0, dword [0x10228798]
vmovss xmm1, dword [esp + 0x30]
vcomiss xmm0, xmm1
jbe 0x10134107
vcomiss xmm1, dword [0x10228794]
ja 0x10134137
mov ecx, 0xb3f85100
call fcn.10111590
mov ecx, dword [esi]
cmp byte [eax + ecx], 0
je 0x10134140
vmovss xmm0, dword [0x10228760]
vmovss xmm1, dword [esp + 0x30]
vcomiss xmm0, xmm1
jbe 0x10134140
vcomiss xmm1, dword [0x1022875c]
jbe 0x10134140
mov byte [0x106475ac], 1
jmp 0x10134149
cmp byte [0x106475ac], 0
je 0x1013414d
or dword [ebx + 0x30], 0x20
push dword [esp + 0x28]
call fcn.1017c220
add esp, 4
mov ecx, ebx
call fcn.1011c820
cmp byte [0x10638315], 0
jne 0x10134179
cmp byte [0x106407b0], 0
je 0x10134179
and dword [ebx + 0x30], 0xfffff7fe
cmp dword [0x10632ea0], 0xffffffff
je 0x10134284
mov eax, dword [0x1063c34c]
xor edx, edx
push dword [0x1063c5b8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [eax + 0x430]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
push dword [0x1063c5b8]
xor edx, edx
mov ecx, dword [eax]
push dword [ecx + 0x71c]
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
call fcn.1002a9f0
cmp eax, 9
jne case.default.0x1013424b
mov eax, dword [0x1063c34c]
xor edx, edx
push dword [0x1063c5b8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [eax + 0x430]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
push dword [0x1063c5b8]
xor edx, edx
mov ecx, dword [eax]
push dword [ecx + 0x71c]
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
call fcn.1002a9f0
cmp eax, 9
jne 0x10134241
mov eax, dword [0x1063c34c]
xor edx, edx
push dword [0x1063c5b8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [eax + 0x430]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
mov ecx, 0x5148f9bd
mov esi, eax
call fcn.10111590
cmp byte [eax + esi], 0
je case.default.0x1013424b
mov eax, dword [0x10632ea0]
cmp eax, 3
ja case.default.0x1013424b
jmp dword [eax*4 + 0x10135820]
and dword [ebx + 0x30], 0xfffffffe
jmp case.default.0x1013424b
mov eax, dword [ebx + 0x30]
or eax, 2
and eax, 0xfffffffe
jmp 0x10134277
and dword [ebx + 0x30], 0xfffff7ff
jmp case.default.0x1013424b
mov eax, dword [ebx + 0x30]
or eax, 2
and eax, 0xfffff7ff
mov dword [ebx + 0x30], eax
mov dword [0x10632ea0], 0xffffffff
cmp dword [0x106473d0], 0
jne 0x1013429a
cmp dword [0x106473cc], 0
jne 0x101351a3
mov eax, dword [0x1063c34c]
mov esi, dword [eax]
test esi, esi
je 0x101342c2
cmp byte [0x10639f24], 0
je 0x101342c2
mov ecx, 0x394634f0
call fcn.10111590
test byte [eax + esi], 1
jne 0x101342c2
or dword [ebx + 0x30], 4
mov ecx, ebx
call fcn.1009cec0
mov eax, dword [0x1063c4b0]
mov esi, dword [eax]
test esi, esi
je 0x101342ee
call fcn.1011b030
cmp eax, 2
je 0x101342ee
mov ecx, 0x1b3d5859
call fcn.10111590
cmp byte [eax + esi], 0
jne 0x101342fe
cmp byte [0x10639f27], 0
je 0x101342fe
or dword [ebx + 0x30], 0x400000
cmp byte [0x10639f28], 0
je 0x10134442
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10134442
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10134442
mov eax, dword [0x1063c34c]
mov ecx, 0xc84de670
mov esi, dword [eax]
call fcn.10111590
cmp dword [eax + esi + 1], 8
je 0x10134442
mov ecx, 0xc84de670
call fcn.10111590
cmp dword [eax + esi + 1], 9
je 0x10134442
mov ecx, 0x394634f0
call fcn.10111590
test byte [eax + esi], 1
je 0x10134442
test dword [ebx + 0x30], 0x61a
jne 0x10134442
mov ecx, 0xad2bbff4
call fcn.10111590
vmovq xmm0, qword [eax + esi]
mov eax, dword [eax + esi + 8]
vmovq qword [esp + 0x34], xmm0
vmovss xmm0, dword [esp + 0x38]
vmovss xmm1, dword [esp + 0x34]
vmulss xmm0, xmm0, xmm0
vfmadd213ss xmm1, xmm1, xmm0
vmovss xmm0, dword [0x102287bc]
vsqrtss xmm1, xmm1, xmm1
vcomiss xmm0, xmm1
mov dword [esp + 0x3c], eax
vmovss dword [esp + 0x2c], xmm1
ja 0x10134442
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x38]
call fcn.10086060
vmovss xmm0, dword [ebx + 0x10]
vsubss xmm0, xmm0, dword [esp + 0x94]
lea ecx, [esp + 0x90]
vmovss dword [esp + 0x94], xmm0
call fcn.1006b9d0
vmovss dword [esp + 0x34], xmm0
vmovss xmm0, dword [esp + 0x2c]
vxorps xmm0, xmm0, xmmword [0x10229490]
vmovss dword [esp + 0x38], xmm1
vmulss xmm1, xmm0, dword [esp + 0x34]
vmulss xmm0, xmm0, dword [esp + 0x38]
vmovss dword [esp + 0x3c], xmm2
vmovss dword [ebx + 0x24], xmm1
vmovss dword [ebx + 0x28], xmm0
mov ecx, 0x10632e08
call fcn.100ece40
test al, al
je 0x101344d7
mov ecx, dword [0x1063c36c]
xor edx, edx
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x68]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x101344d7
mov eax, dword [0x1063c34c]
xor edx, edx
push dword [0x1063c5b8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x101344d7
mov eax, dword [0x1063c4b0]
mov ecx, 0x1b3d5859
mov esi, dword [eax]
call fcn.10111590
cmp byte [eax + esi], 0
jne 0x101344d7
mov eax, dword [0x10632e14]
sub eax, 0
je 0x101344c9
sub eax, 1
jne 0x101344c9
mov dword [ebx + 8], 0x1000000
jmp 0x101344d7
mov dword [ebx + 4], 0x7fffffff
mov dword [ebx + 8], 0x7fffffff
cmp byte [0x10632df0], 0
je 0x10134636
cmp byte [0x10640765], 0
je 0x10134636
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10134636
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10134636
mov eax, dword [0x1063c34c]
xor edx, edx
push dword [0x1063c5b8]
mov ecx, dword [eax]
mov eax, dword [ecx]
push dword [eax + 0x430]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test eax, eax
je 0x10134636
mov ecx, eax
call fcn.1006bf70
mov esi, eax
test esi, esi
je 0x10134636
cmp dword [0x10632df8], 0
jne 0x101345a1
mov ecx, 0x747d37fc
call fcn.10111590
mov ecx, dword [0x1063c34c]
mov ecx, dword [ecx]
cmp byte [eax + ecx], 0
je 0x1013458f
vmovss xmm0, dword [esi + 0x138]
vmulss xmm1, xmm0, dword [0x10228560]
jmp 0x101345a9
vmovss xmm0, dword [esi + 0x134]
vmulss xmm1, xmm0, dword [0x10228560]
jmp 0x101345a9
vmovss xmm1, dword [0x10632df4]
vmovss xmm4, dword [ebx + 0x24]
vmovss xmm2, dword [ebx + 0x28]
vxorps xmm0, xmm0, xmm0
vucomiss xmm4, xmm0
lahf
test ah, 0x44
jnp 0x10134619
vucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10134604
vcomiss xmm0, xmm4
vmulss xmm3, xmm1, dword [0x10228610]
jbe 0x101345e7
vxorps xmm4, xmm3, xmmword [0x10229490]
vmovaps xmm1, xmm4
jmp 0x101345f3
vmulss xmm1, xmm1, dword [0x10228a2c]
vmovaps xmm4, xmm3
vcomiss xmm0, xmm2
vmovss dword [ebx + 0x24], xmm4
ja 0x10134631
vmovaps xmm1, xmm3
jmp 0x10134631
vcomiss xmm0, xmm4
jbe 0x10134612
vxorps xmm1, xmm1, xmmword [0x10229490]
vmovss dword [ebx + 0x24], xmm1
jmp 0x10134636
vucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x10134636
vcomiss xmm0, xmm2
jbe 0x10134631
vxorps xmm1, xmm1, xmmword [0x10229490]
vmovss dword [ebx + 0x28], xmm1
call fcn.10094790
call fcn.10093eb0
cmp byte [0x10647118], 0
je 0x10134780
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10134780
lea eax, [esp + 0x9c]
push eax
call fcn.1006c0f0
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1063b7b0]
mov edi, dword [eax + ecx*4]
mov eax, dword [0x10759f0c]
cmp eax, dword [edi + 4]
jg 0x101356f4
mov ecx, dword [0x10647114]
cmp ecx, 5
jge 0x1013473d
cmp byte [0x10647118], 0
je 0x1013473d
mov eax, dword [0x1063c3f0]
vmovss xmm0, dword [eax + 0x10]
vsubss xmm0, xmm0, dword [0x10759f10]
vcvtss2sd xmm0, xmm0, xmm0
vcomisd xmm0, qword [0x102286b8]
jbe 0x10134774
lea eax, [ecx + ecx*2]
cmp dword [eax*8 + 0x10754d88], 0
je 0x10134774
cmp dword [eax*8 + 0x10754d8c], 0xf
lea esi, [eax*8 + 0x10754d78]
jbe 0x101346ed
mov esi, dword [esi]
mov eax, dword [0x10759f04]
cmp eax, dword [edi + 4]
jg 0x10135732
mov ecx, dword [0x10759f08]
xor edx, edx
push esi
mov eax, dword [ecx]
mov dword [ecx + 0x60], 0
push dword [0x1063c5b8]
push dword [eax + 0x38]
lea eax, [esp + 0x68]
push eax
call fcn.1002a9f0
mov eax, dword [0x1063c3f0]
vmovss xmm0, dword [eax + 0x10]
inc dword [0x10647114]
vmovss dword [0x10759f10], xmm0
jmp 0x10134774
cmp dword [esp + 0xb0], 0xf
lea edx, [esp + 0x9c]
vmovss xmm0, dword [0x1022875c]
cmova edx, dword [esp + 0x9c]
xor cl, cl
call fcn.10093ba0
mov byte [0x10647118], 0
mov dword [0x10647114], 0
lea ecx, [esp + 0x9c]
call fcn.10023d90
mov ecx, ebx
call fcn.10094100
mov esi, dword [0x1063c34c]
mov ecx, dword [esi]
test ecx, ecx
je 0x1013491a
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10134914
mov ecx, 0xad2bbff4
call fcn.10111590
cmp byte [0x10759f6c], 0
mov ecx, dword [0x1063c34c]
mov ecx, dword [ecx]
vmovss xmm0, dword [eax + ecx + 8]
vmovss dword [0x10759f70], xmm0
je 0x101347ea
mov eax, dword [0x10759f78]
mov dword [ebx + 0x30], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1063b7b0]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10759fbc]
cmp eax, dword [ecx + 4]
jg 0x10135785
mov ecx, dword [0x10759fc0]
xor edx, edx
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x30]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
mov eax, dword [0x1063c3f0]
mov esi, dword [0x1063c34c]
fstp dword [esp + 0x2c]
vmovss xmm0, dword [esp + 0x2c]
vmulss xmm0, xmm0, dword [0x102285c0]
vmulss xmm0, xmm0, dword [eax + 0x20]
vmovss dword [0x10759f74], xmm0
vxorps xmm0, xmm0, xmmword [0x10229490]
vcomiss xmm0, dword [0x10759f70]
jbe 0x1013490b
mov edi, dword [esi]
mov ecx, 0xad2bbff4
call fcn.10111590
vmovdqa xmm6, xmmword [0x10229490]
vmovss xmm1, dword [eax + edi + 8]
vandnps xmm0, xmm6, xmm1
vandps xmm2, xmm6, xmm1
vroundps xmm1, xmm0, 0
vsubss xmm0, xmm0, xmm1
vcmpeqss xmm0, xmm0, dword [0x10228e10]
vandps xmm0, xmm0, xmmword [0x102293e0]
vaddss xmm0, xmm0, xmm1
vmovss xmm1, dword [0x10759f74]
vorps xmm5, xmm0, xmm2
vandnps xmm0, xmm6, xmm1
vandps xmm2, xmm6, xmm1
vroundps xmm1, xmm0, 0
vsubss xmm0, xmm0, xmm1
vcmpeqss xmm0, xmm0, dword [0x10228e10]
vandps xmm0, xmm0, xmmword [0x102293e0]
vaddss xmm0, xmm0, xmm1
vorps xmm0, xmm0, xmm2
vxorps xmm0, xmm0, xmmword [0x10229490]
vucomiss xmm5, xmm0
lahf
test ah, 0x44
jp 0x1013490b
mov ecx, 0xc84de670
call fcn.10111590
cmp dword [eax + edi + 1], 9
je 0x1013490b
mov byte [0x10759f6c], 1
jmp 0x1013491a
mov byte [0x10759f6c], 0
jmp 0x1013491a
mov esi, dword [0x1063c34c]
mov esi, dword [esi]
mov ecx, 0xad2bbff4
call fcn.10111590
vmovss xmm0, dword [eax + esi + 8]
vmovss dword [esp + 0x2c], xmm0
test esi, esi
je 0x10134a5d
mov ecx, dword [0x1063c36c]
xor edx, edx
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x138]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test eax, eax
je 0x10134a5d
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [0x106470bc]
je 0x10134a2d
mov eax, dword [eax + 0x28]
mov edx, dword [0x10754ce4]
mov dword [esp + 0x34], eax
mov eax, dword [0x1063c3f0]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, dword [0x1075ab9c]
mov dword [0x106470bc], ecx
vmulss xmm0, xmm1, dword [eax + 0x20]
mov eax, dword [0x10754cec]
inc eax
mov dword [esp + 0x38], ecx
vmovss dword [esp + 0x3c], xmm0
cmp edx, eax
ja 0x101349ba
push ecx
call fcn.1008cd20
mov edx, dword [0x10754ce4]
mov ecx, dword [0x10754ce8]
lea eax, [edx - 1]
and ecx, eax
lea esi, [edx - 1]
mov edi, edx
mov dword [0x10754ce8], ecx
cmovne edi, ecx
mov ecx, dword [0x10754ce0]
dec edi
and esi, edi
cmp dword [ecx + esi*4], 0
jne 0x10134a01
push 0xc
call fcn.1017d6f1
mov ecx, dword [0x10754ce0]
add esp, 4
mov dword [ecx + esi*4], eax
mov edx, dword [0x10754ce4]
mov ecx, dword [0x10754ce0]
vmovq xmm0, qword [esp + 0x34]
lea eax, [edx - 1]
and eax, edi
mov ecx, dword [ecx + eax*4]
mov eax, dword [esp + 0x3c]
vmovq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [0x10754cec]
inc eax
mov dword [0x10754ce8], edi
mov dword [0x10754cec], eax
jmp 0x10134a32
mov eax, dword [0x10754cec]
cmp eax, 0x800
jbe 0x10134a5d
nop dword [eax]
add eax, 0xffffffff
mov dword [0x10754cec], eax
je 0x10134a53
cmp eax, 0x800
ja 0x10134a40
jmp 0x10134a5d
mov dword [0x10754ce8], 0
call fcn.10091bb0
mov ecx, ebx
call fcn.10091c30
mov ecx, ebx
call fcn.10080790
mov ecx, ebx
call fcn.100830c0
mov ecx, ebx
call fcn.1008c050
mov ecx, ebx
call fcn.100b9ed0
mov ecx, ebx
call fcn.100b98c0
mov ecx, ebx
call fcn.100c7890
cmp byte [0x10632e5c], 0
je 0x10134abb
mov eax, dword [0x10632e60]
sub eax, 0
je 0x10134ab4
sub eax, 1
jne 0x10134abb
mov ecx, ebx
call fcn.10081a60
jmp 0x10134abb
mov ecx, ebx
call fcn.100822e0
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10134b29
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10134b29
cmp byte [0x10632e20], 0x42
je 0x10134af6
cmp byte [0x1064076b], 0
jne 0x10134b08
cmp byte [0x10632e2c], 0x42
je 0x10134b1f
cmp byte [0x1064076a], 0
je 0x10134b1f
test byte [ebx + 0x30], 1
je 0x10134b29
mov edx, dword [0x10647480]
mov ecx, ebx
push 0
call fcn.100c76a0
jmp 0x10134b29
mov dword [0x10647480], 0
mov ecx, ebx
call fcn.10078c90
mov ecx, ebx
call fcn.1009d2b0
mov ecx, ebx
call fcn.1009d230
lea edx, [esp + 0x80]
mov ecx, ebx
call fcn.1009e3d0
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10134c70
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10134c70
mov ecx, 0x10639f68
call fcn.100ecd20
test al, al
je 0x10134b99
cmp byte [0x106470b5], 0
sete byte [0x106470b5]
lea esi, [ebx + 0x10]
vmovss xmm0, dword [esi]
vucomiss xmm0, dword [esp + 0x78]
lahf
test ah, 0x44
jp 0x10134c70
mov eax, dword [0x1063c3f0]
mov edx, esi
mov ecx, dword [0x1063b7b0]
vmovss xmm0, dword [eax + 0x10]
mov eax, dword fs:[0x2c]
vmovss dword [esp + 0x30], xmm0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10759efc]
cmp eax, dword [ecx + 4]
jg 0x101357d8
cmp byte [0x106470b5], 0
je 0x10134c41
vucomiss xmm0, dword [0x10759f00]
lahf
test ah, 0x44
mov eax, dword [0x106470a4]
jnp 0x10134c0f
mov esi, edx
cmp eax, 0xb4
jge 0x10134c0f
add eax, 8
mov dword [0x106470a4], eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vaddss xmm0, xmm0, dword [esi]
mov ecx, 0xc84de670
vmovss dword [esi], xmm0
call fcn.10111590
mov ecx, dword [0x1063c34c]
mov ecx, dword [ecx]
cmp dword [eax + ecx + 1], 9
je 0x10134c70
xor dword [ebx + 0x30], 0x618
jmp 0x10134c70
vucomiss xmm0, dword [0x10759f00]
lahf
test ah, 0x44
mov eax, dword [0x106470a4]
jnp 0x10134c60
test eax, eax
jle 0x10134c60
sub eax, 8
mov dword [0x106470a4], eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vaddss xmm0, xmm0, dword [edx]
vmovss dword [edx], xmm0
mov ecx, ebx
call fcn.10086160
mov edi, dword [esp + 0x40]
test al, al
je 0x10134c98
mov ecx, edi
call fcn.10092a30
push edi
lea eax, [esp + 0x78]
mov edx, 0x1075aaa8
push eax
mov ecx, ebx
call fcn.10088570
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10134d1e
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10134d1e
mov ecx, 0x394634f0
call fcn.10111590
mov ecx, dword [0x1063c34c]
mov ecx, dword [ecx]
test byte [eax + ecx], 1
je 0x10134d1e
cmp byte [0x10640767], 0
je 0x10134d1e
mov ecx, dword [0x10640760]
cmp ecx, 7
jle 0x10135141
xor ecx, ecx
mov eax, 0xfffffffe
mov dword [0x10640760], ecx
vxorps xmm0, xmm0, xmm0
vmovss dword [ebx + 0x24], xmm0
cmp eax, 3
ja 0x10134d11
vmovss xmm0, dword [ebx + 0x28]
cmp ecx, 1
vmovss dword [ebx + 0x28], xmm0
setl al
mov byte [edi], al
cmp byte [0x10640768], 0
je 0x10134de6
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10134de6
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10134de6
mov ecx, 0x394634f0
call fcn.10111590
mov ecx, dword [0x1063c34c]
mov ecx, dword [ecx]
test byte [eax + ecx], 1
je 0x10134de6
mov eax, dword [0x1063c4b0]
mov esi, dword [eax]
test esi, esi
je 0x10134d99
call fcn.1011b030
cmp eax, 2
je 0x10134d99
mov ecx, 0x1b3d5859
call fcn.10111590
cmp byte [eax + esi], 0
jne 0x10134de6
mov ecx, dword [0x1063c36c]
xor edx, edx
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x138]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
mov edx, eax
test edx, edx
je 0x10134de6
mov ecx, dword [ebx + 0x30]
or ecx, 0x400000
mov dword [ebx + 0x30], ecx
mov eax, ecx
and eax, 0xfffffffb
or ecx, 4
cmp dword [edx + 0x2c], 8
cmovl ecx, eax
mov dword [ebx + 0x30], ecx
cmp dword [edx + 0x2c], 0x10
setge al
mov byte [edi], al
mov ecx, ebx
call fcn.1009cde0
lea edx, [esp + 0x74]
mov ecx, ebx
call fcn.1009cfc0
mov ecx, ebx
call fcn.1009e220
mov ecx, ebx
call fcn.1009d450
cmp byte [0x10639f23], 0
mov byte [0x106473c4], 0
je 0x10134e84
mov ecx, 0x10639f44
call fcn.100ece40
test al, al
je 0x10134e84
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x10134e84
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x10134e84
mov ecx, 0x394634f0
mov byte [0x106473c4], 1
call fcn.10111590
mov ecx, dword [0x1063c34c]
mov ecx, dword [ecx]
test byte [eax + ecx], 1
je 0x10134e84
mov eax, dword [ebx + 0x30]
and eax, 0xfffffffd
test byte [0x10755ed8], 1
mov dword [ebx + 0x30], eax
jne 0x10134e84
or eax, 4
mov dword [ebx + 0x30], eax
mov ecx, ebx
call fcn.1009cd40
cmp byte [0x10639f9d], 0
je 0x1013501b
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x1013501b
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x1013501b
mov esi, dword [0x1063c34c]
mov ecx, 0xc84de670
mov edi, dword [esi]
call fcn.10111590
cmp dword [eax + edi + 1], 9
je 0x1013501b
mov ecx, 0xc84de670
call fcn.10111590
cmp dword [eax + edi + 1], 8
je 0x1013501b
vmovss xmm0, dword [esp + 0x2c]
vcomiss xmm0, dword [0x10228a88]
mov dword [esp + 0x5c], str.play_ui_beep07
mov dword [esp + 0x60], str.play_buttons_arena_switch_press_02
mov dword [esp + 0x64], str.play_training_timer_bell
mov dword [esp + 0x68], str.play_ui_counter_beep
mov dword [esp + 0x6c], str.play_ui_deathnotice
mov dword [esp + 0x70], str.play_survival_money_collect_01.wav
jae 0x1013501b
mov ecx, 0xad2bbff4
call fcn.10111590
vxorps xmm0, xmm0, xmm0
vroundss xmm0, xmm0, dword [eax + edi + 8], 1
vucomiss xmm0, dword [0x10228a88]
lahf
test ah, 0x44
jp 0x1013501b
mov ecx, 0x394634f0
call fcn.10111590
test byte [eax + edi], 1
jne 0x1013501b
mov eax, dword [0x1063c3f0]
vmovss xmm0, dword [eax + 0x10]
vcomiss xmm0, dword [0x10647358]
jbe 0x1013501b
cmp byte [0x10639f9e], 0
vmovss xmm1, dword [0x102285c0]
vaddss xmm0, xmm0, xmm1
vmovss dword [0x10647358], xmm0
je 0x10134fd8
mov eax, dword [0x10639fa4]
push ecx
mov ecx, dword [0x1063c36c]
push dword [esp + eax*4 + 0x60]
call fcn.10075940
mov esi, dword [0x1063c34c]
mov eax, dword [0x1063c3f0]
vmovss xmm1, dword [0x102285c0]
cmp byte [0x10639f9f], 0
je 0x10135003
vaddss xmm0, xmm1, dword [eax + 0x10]
mov ecx, 0xad9a2fdd
vmovss dword [esp + 0x2c], xmm0
call fcn.10111590
mov ecx, dword [esi]
vmovss xmm0, dword [esp + 0x2c]
vmovss dword [eax + ecx], xmm0
cmp byte [0x10639fa0], 0
je 0x1013501b
push str.edgebugged
push 0
call fcn.100dd930
add esp, 8
cmp byte [0x10632ded], 0
je 0x1013516b
mov ecx, 0x10632db8
call fcn.100ece40
test al, al
jne 0x10135043
cmp byte [0x10632dc0], 0x42
jne 0x1013516b
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x1013516b
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x430]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
mov esi, eax
test esi, esi
je 0x1013516b
mov ecx, 0x19cdc55d
call fcn.10111590
cmp word [eax + esi], 0x40
jne 0x1013516b
vmovss xmm0, dword [0x10759ca0]
vucomiss xmm0, dword [0x10228400]
lahf
test ah, 0x44
jp 0x101350be
mov ecx, dword [0x1063c3f0]
push 0
call fcn.1017aaa0
vaddss xmm0, xmm0, dword [0x10228534]
vmovss dword [0x10759ca0], xmm0
mov ecx, dword [0x1063c36c]
mov esi, dword [0x1063c3f0]
call fcn.1006bb40
push 0
mov ecx, esi
mov edi, eax
call fcn.1017aaa0
vmovss xmm1, dword [0x10759ca0]
vsubss xmm0, xmm1, xmm0
push 0
mov ecx, edi
vmovss dword [esp + 0x30], xmm0
call fcn.1006c1d0
vmovss xmm1, dword [esp + 0x2c]
mov eax, dword [0x1063c3f0]
vmovss xmm3, dword [0x102285c0]
vsubss xmm1, xmm1, xmm0
vmovss xmm0, dword [0x10228684]
vdivss xmm2, xmm0, dword [eax + 0x20]
vmovaps xmm0, xmm2
vfmadd213ss xmm0, xmm1, xmm3
vcvttss2si ecx, xmm0
test ecx, ecx
jle 0x1013515f
vfmadd132ss xmm2, xmm3, dword [0x10228534]
vcvttss2si eax, xmm2
cmp ecx, eax
jg 0x1013515f
or dword [ebx + 0x30], 1
jmp 0x1013516b
inc ecx
mov dword [0x10640760], ecx
lea eax, [ecx - 2]
cmp eax, 3
ja 0x10134cfe
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0x24], eax
jmp 0x10134d0c
vxorps xmm0, xmm0, xmm0
vmovss dword [0x10759ca0], xmm0
vmovss xmm0, dword [esp + 0xb4]
vmovss xmm1, dword [esp + 0xb8]
vmovss xmm2, dword [esp + 0xbc]
mov ecx, ebx
call fcn.1011f950
mov eax, dword [ebx + 0x30]
mov ecx, ebx
mov dword [0x10647140], eax
call fcn.1011e080
mov ecx, ebx
call fcn.100a4000
mov ecx, ebx
call fcn.1011c300
mov ecx, ebx
call fcn.100a4380
cmp byte [0x10632dec], 0
vmovss xmm0, dword [ebx + 0xc]
vsubss xmm0, xmm0, dword [0x1075aaa8]
vmovss dword [esp + 0x34], xmm0
vmovss xmm0, dword [ebx + 0x10]
vsubss xmm0, xmm0, dword [0x1075aaac]
vmovss dword [esp + 0x38], xmm0
vmovss xmm0, dword [ebx + 0x14]
vsubss xmm0, xmm0, dword [0x1075aab0]
vmovss dword [esp + 0x3c], xmm0
je 0x101352b8
lea ecx, [esp + 0x34]
call fcn.10081860
vmovss xmm4, dword [0x10632de8]
vxorps xmm3, xmm4, xmmword [0x10229490]
vmovss xmm0, dword [esp + 0x34]
vmovss xmm1, dword [esp + 0x38]
vcomiss xmm0, xmm3
lea eax, [esp + 0x34]
lea ecx, [esp + 0x2c]
cmovae ecx, eax
lea eax, [esp + 0x28]
vcomiss xmm4, xmm0
vmovss dword [esp + 0x28], xmm4
cmovae eax, ecx
lea ecx, [esp + 0x2c]
vmovss dword [esp + 0x2c], xmm3
vcomiss xmm1, xmm3
vmovss xmm2, dword [eax]
lea eax, [esp + 0x38]
cmovae ecx, eax
lea eax, [esp + 0x28]
vcomiss xmm4, xmm1
vmovss dword [esp + 0x34], xmm2
vaddss xmm2, xmm2, dword [0x1075aaa8]
cmovae eax, ecx
lea ecx, [ebx + 0xc]
vmovss dword [esp + 0x28], xmm4
vmovss dword [esp + 0x2c], xmm3
vmovss xmm0, dword [eax]
vaddss xmm1, xmm0, dword [0x1075aaac]
vmovss xmm0, dword [0x1075aab0]
vaddss xmm0, xmm0, dword [esp + 0x3c]
vmovss dword [esp + 0x88], xmm0
mov eax, dword [esp + 0x88]
vunpcklps xmm0, xmm2, xmm1
vmovq qword [ebx + 0xc], xmm0
mov dword [ebx + 0x14], eax
call fcn.10081860
vmovss xmm0, dword [esp + 0x74]
vucomiss xmm0, dword [ebx + 0xc]
vmovss xmm3, dword [esp + 0x78]
lahf
test ah, 0x44
jp 0x1013531b
vucomiss xmm3, dword [ebx + 0x10]
lahf
test ah, 0x44
jp 0x1013531b
vmovss xmm0, dword [esp + 0x7c]
vucomiss xmm0, dword [ebx + 0x14]
lahf
test ah, 0x44
jp 0x1013531b
lea esi, [ebx + 0x24]
vmovss xmm0, dword [esi]
vucomiss xmm0, dword [esp + 0xe4]
mov ecx, esi
lahf
test ah, 0x44
jp 0x1013531e
lea edi, [ebx + 0x28]
vmovss xmm0, dword [edi]
vucomiss xmm0, dword [esp + 0xe8]
lahf
test ah, 0x44
jnp 0x10135351
jmp 0x1013531e
lea ecx, [ebx + 0x24]
lea edi, [ebx + 0x28]
mov esi, ecx
vmovss xmm0, dword [edi]
vxorps xmm2, xmm2, xmm2
vucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x10135343
vmovss xmm1, dword [esi]
vucomiss xmm1, xmm2
lahf
test ah, 0x44
jnp 0x10135351
vmovaps xmm0, xmm3
mov ecx, ebx
call fcn.1011df60
lea edi, [ebx + 0x28]
mov eax, dword [0x1063c34c]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x10135425
mov ecx, 0xc84de670
call fcn.10111590
mov ecx, dword [esp + 0x2c]
cmp dword [eax + ecx + 1], 9
je 0x10135425
mov ecx, dword [ebx + 0x30]
vmovss xmm1, dword [esi]
and ecx, 0xfffff9e7
vxorps xmm0, xmm0, xmm0
vcomiss xmm1, xmm0
mov dword [ebx + 0x30], ecx
jbe 0x1013539c
or ecx, 8
jmp 0x101353a8
vcomiss xmm0, xmm1
jbe 0x101353ab
or ecx, 0x10
lea edi, [ebx + 0x28]
mov dword [ebx + 0x30], ecx
vmovss xmm1, dword [edi]
vcomiss xmm1, xmm0
jbe 0x101353bd
or ecx, 0x400
jmp 0x101353c9
vcomiss xmm0, xmm1
jbe 0x101353cc
or ecx, 0x200
mov dword [ebx + 0x30], ecx
cmp byte [0x107553d9], 0
je 0x10135425
mov edx, dword [0x107553dc]
test edx, edx
je 0x10135415
mov eax, dword [0x1063c3f0]
mov esi, dword [eax + 0x1c]
mov eax, esi
sub eax, dword [0x1064759c]
cmp eax, edx
jle 0x1013540a
cmp byte [0x10647598], 0
mov dword [0x1064759c], esi
sete al
mov byte [0x10647598], al
jmp 0x1013540f
mov al, byte [0x10647598]
test al, al
je 0x10135425
jmp 0x1013541c
mov byte [0x10647598], 1
xor ecx, 0x618
mov dword [ebx + 0x30], ecx
cmp byte [0x10632dec], 0
je 0x10135593
vmovss xmm0, dword [0x10228ab4]
vmovss xmm2, dword [0x10228868]
lea eax, [ebx + 0xc]
vmovss xmm1, dword [eax]
vcomiss xmm1, xmm0
vmovss dword [esp + 0x2c], xmm0
vmovss xmm0, dword [0x10228ac4]
vmovss dword [esp + 0x28], xmm2
lea ecx, [esp + 0x2c]
cmovae ecx, eax
lea edx, [ebx + 0x10]
vcomiss xmm2, xmm1
vmovss xmm2, dword [0x102288d4]
lea eax, [esp + 0x28]
cmovae eax, ecx
lea esi, [ebx + 0x14]
lea ecx, [esp + 0x2c]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
lea eax, [esp + 0x28]
vmovss xmm1, dword [edx]
vcomiss xmm1, xmm0
vmovss dword [esp + 0x2c], xmm0
cmovae ecx, edx
vcomiss xmm2, xmm1
vmovss xmm1, dword [0x10228ab8]
cmovae eax, ecx
lea ecx, [esp + 0x2c]
vmovss dword [esp + 0x28], xmm2
vmovss xmm2, dword [0x1022886c]
mov eax, dword [eax]
mov dword [edx], eax
lea eax, [esp + 0x28]
vmovss xmm0, dword [esi]
vcomiss xmm0, xmm1
vmovss dword [esp + 0x28], xmm2
cmovae ecx, esi
lea edx, [ebx + 0x24]
vcomiss xmm2, xmm0
vmovss xmm2, dword [0x10228958]
cmovae eax, ecx
lea ecx, [esp + 0x2c]
vmovss dword [esp + 0x2c], xmm1
vmovss xmm1, dword [0x10228ad0]
mov eax, dword [eax]
mov dword [esi], eax
lea eax, [esp + 0x28]
vmovss xmm0, dword [edx]
vcomiss xmm0, xmm1
vmovss dword [esp + 0x28], xmm2
cmovae ecx, edx
vcomiss xmm2, xmm0
vmovss dword [esp + 0x2c], xmm1
cmovae eax, ecx
lea ecx, [esp + 0x2c]
mov eax, dword [eax]
mov dword [edx], eax
lea edx, [ebx + 0x28]
vmovss xmm0, dword [edx]
vcomiss xmm0, xmm1
lea eax, [esp + 0x28]
cmovae ecx, edx
vcomiss xmm2, xmm0
vmovss xmm0, dword [0x10228acc]
cmovae eax, ecx
lea ecx, [esp + 0x2c]
vmovss dword [esp + 0x28], xmm2
vmovss xmm2, dword [0x10228938]
vmovss dword [esp + 0x2c], xmm1
mov eax, dword [eax]
mov dword [edx], eax
lea edx, [ebx + 0x2c]
vmovss xmm1, dword [edx]
vcomiss xmm1, xmm0
lea eax, [esp + 0x28]
cmovae ecx, edx
vcomiss xmm2, xmm1
vmovss dword [esp + 0x28], xmm2
cmovae eax, ecx
vmovss dword [esp + 0x2c], xmm0
mov eax, dword [eax]
mov dword [edx], eax
jmp 0x10135596
lea esi, [ebx + 0x14]
vmovq xmm0, qword [ebx + 0xc]
vmovq qword [0x1075aaa8], xmm0
mov eax, dword [ebx + 0x14]
mov dword [0x1075aab0], eax
mov eax, dword [0x1063c34c]
mov ecx, dword [eax]
test ecx, ecx
je 0x101355e3
mov eax, dword [ecx]
xor edx, edx
push dword [0x1063c5b8]
push dword [eax + 0x270]
lea eax, [esp + 0x64]
push eax
call fcn.1002a9f0
test al, al
je 0x101355e3
push dword [esp + 0x8c]
push 0
call dword [0x1063c558]
mov ecx, ebx
call fcn.1009f450
mov ecx, dword [esp + 0x40]
pop edi
mov al, byte [ecx]
mov byte [0x106368d4], al
xor al, al
vmovss xmm0, dword [esi]
pop esi
vmovss dword [0x10647580], xmm0
pop ebx
mov esp, ebp
pop ebp
ret
push 0x1075aaa4
call fcn.1017d780
add esp, 4
cmp dword [0x1075aaa4], 0xffffffff
jne 0x1013342b
vmovq xmm0, qword [ebx + 0xc]
vmovq qword [0x1075aaa8], xmm0
mov eax, dword [ebx + 0x14]
push 0x1075aaa4
mov dword [0x1075aab0], eax
call fcn.1017d72f
add esp, 4
jmp 0x1013342b
push 0x1075a16c
call fcn.1017d780
add esp, 4
cmp dword [0x1075a16c], 0xffffffff
jne 0x10133d0d
mov ecx, dword [0x1063c368]
xor edx, edx
push str.cl_csm_enabled
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x3c]
lea eax, [esp + 0xa8]
push eax
call fcn.1002a9f0
push 0x1075a16c
mov dword [0x1075a170], eax
call fcn.1017d72f
add esp, 4
jmp 0x10133d0d
push 0x1075a90c
call fcn.1017d780
add esp, 4
cmp dword [0x1075a90c], 0xffffffff
jne 0x10133e03
mov ecx, dword [0x1063c368]
xor edx, edx
push str.sv_outofammo_indicator
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x3c]
lea eax, [esp + 0x68]
push eax
call fcn.1002a9f0
push 0x1075a90c
mov dword [0x1075a910], eax
call fcn.1017d72f
add esp, 4
jmp 0x10133e03
push 0x10759f0c
call fcn.1017d780
add esp, 4
cmp dword [0x10759f0c], 0xffffffff
jne 0x10134689
mov eax, dword [0x1063c3f0]
push 0x10759f0c
vmovss xmm0, dword [eax + 0x10]
vmovss dword [0x10759f10], xmm0
call fcn.1017d72f
add esp, 4
jmp 0x10134689
push 0x10759f04
call fcn.1017d780
add esp, 4
cmp dword [0x10759f04], 0xffffffff
jne 0x101346fe
mov ecx, dword [0x1063c368]
xor edx, edx
push str.name
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x3c]
lea eax, [esp + 0x68]
push eax
call fcn.1002a9f0
push 0x10759f04
mov dword [0x10759f08], eax
call fcn.1017d72f
add esp, 4
jmp 0x101346fe
push 0x10759fbc
call fcn.1017d780
add esp, 4
cmp dword [0x10759fbc], 0xffffffff
jne 0x1013480a
mov ecx, dword [0x1063c368]
xor edx, edx
push str.sv_gravity
push dword [0x1063c5b8]
mov eax, dword [ecx]
push dword [eax + 0x3c]
lea eax, [esp + 0x68]
push eax
call fcn.1002a9f0
push 0x10759fbc
mov dword [0x10759fc0], eax
call fcn.1017d72f
add esp, 4
jmp 0x1013480a
push 0x10759efc
call fcn.1017d780
vmovss xmm0, dword [esp + 0x34]
add esp, 4
mov edx, esi
cmp dword [0x10759efc], 0xffffffff
jne 0x10134be2
push 0x10759efc
vmovss dword [0x10759f00], xmm0
call fcn.1017d72f
vmovss xmm0, dword [esp + 0x34]
add esp, 4
lea edx, [ebx + 0x10]
jmp 0x10134be2