Function at 0x1000a400
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x44
cmp byte [0x101f2e95], 0
push ebx
push esi
push edi
je 0x1000aa56
cmp byte [0x101f2e96], 0
jne 0x1000aa56
cmp byte [0x101f2e97], 0
jne 0x1000aa56
cmp byte [0x101f2e9c], 0
je 0x1000aa56
cmp byte [0x101f2e9b], 0
xorps xmm3, xmm3
movss xmm2, dword [0x101b8484]
je 0x1000a459
xorps xmm4, xmm4
jmp 0x1000a45c
movaps xmm4, xmm2
movss xmm1, dword [0x101f2e84]
movss xmm0, dword [0x101f2e88]
subss xmm0, dword [0x101f2eb4]
subss xmm1, dword [0x101f2eb0]
mov dword [esp + 0x20], 0
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
sqrtss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x20], xmm0
addss xmm4, dword [esp + 0x20]
mov dh, byte [0x101f2e98]
movss dword [0x101f2ec4], xmm4
test dh, dh
je 0x1000a4c2
movss xmm3, dword [0x101b8444]
cmp byte [0x101f2e9b], 0
movss xmm0, dword [0x101f2e8c]
subss xmm0, dword [0x101f2eb8]
andps xmm0, xmmword [0x101b8870]
subss xmm0, xmm3
jne 0x1000a506
mov eax, dword [0x101f2ea0]
test eax, eax
jle 0x1000a4fe
cmp eax, 1
jg 0x1000a4fe
movss xmm2, dword [0x101b83b0]
jmp 0x1000a506
movss xmm2, dword [0x101b8494]
mov esi, dword [0x101f2ea0]
mov edi, 0xf
comiss xmm0, xmm2
mov dword [esp + 0x40], 4
mov eax, esi
mov dword [esp + 0x44], edi
mov bl, 8
mov dword [esp + 0x18], 7
lea ecx, [edi + 1]
mov dword [esp + 0x1c], 8
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
setae dl
mov dword [esp + 0x30], 0x6c6c756e
mov byte [esp + 0x17], dl
mov byte [esp + 0x34], 0
sub eax, 1
je 0x1000a5ea
sub eax, 1
je 0x1000a5d1
cmp esi, 3
jl 0x1000a69c
mov ax, word [0x1019877c]
mov word [esp + 0x30], ax
mov al, byte [0x1019877e]
mov dword [esp + 0x40], 3
mov byte [esp + 0x32], al
mov byte [esp + 0x33], 0
movss xmm0, dword [0x101b8500]
comiss xmm0, xmm4
ja 0x1000a69c
movss xmm0, dword [0x101b8504]
comiss xmm0, xmm4
jbe 0x1000a5b0
mov bl, 0xb
jmp 0x1000a69c
movss xmm0, dword [0x101b8508]
comiss xmm0, xmm4
jbe 0x1000a5c4
mov bl, 6
jmp 0x1000a69c
movss xmm0, dword [0x101b850c]
jmp 0x1000a692
mov eax, 0x6862
mov dword [esp + 0x40], 2
mov word [esp + 0x30], ax
mov byte [esp + 0x32], 0
jmp 0x1000a58b
mov dword [esp + 0x40], 2
mov byte [esp + 0x32], 0
test dh, dh
jne 0x1000a651
comiss xmm4, dword [0x101b8514]
mov eax, 0x6a6c
mov word [esp + 0x30], ax
jb 0x1000a615
mov bl, 3
jmp 0x1000a69c
comiss xmm4, dword [0x101b8510]
jb 0x1000a622
mov bl, cl
jmp 0x1000a69c
comiss xmm4, dword [0x101b850c]
jb 0x1000a62f
mov bl, 2
jmp 0x1000a69c
comiss xmm4, dword [0x101b8508]
jb 0x1000a63c
mov bl, 6
jmp 0x1000a69c
comiss xmm4, dword [0x101b8500]
mov ebx, dword [esp + 0x1c]
mov ecx, 0xb
cmovae ebx, ecx
jmp 0x1000a69c
movss xmm0, dword [0x101b8518]
mov eax, 0x626a
comiss xmm0, xmm4
mov word [esp + 0x30], ax
ja 0x1000a69c
movss xmm0, dword [0x101b8524]
comiss xmm0, xmm4
jbe 0x1000a679
mov bl, 0xb
jmp 0x1000a69c
movss xmm0, dword [0x101b8528]
comiss xmm0, xmm4
jbe 0x1000a68a
mov bl, 6
jmp 0x1000a69c
movss xmm0, dword [0x101b852c]
comiss xmm0, xmm4
mov ebx, ecx
cmova ebx, dword [esp + 0x18]
cmp byte [0x101f2e9b], 0
je 0x1000a71d
push 3
lea esi, [esp + 0x34]
mov dword [esp + 0x44], 3
push 0x10198780
push esi
call sub.VCRUNTIME140.dll_memmove
movss xmm0, dword [0x101b84b0]
add esp, 0xc
mov byte [esi + 3], 0
movss xmm4, dword [0x101f2ec4]
comiss xmm0, xmm4
jbe 0x1000a6de
mov bl, 8
jmp 0x1000a715
movss xmm0, dword [0x101b84b8]
comiss xmm0, xmm4
jbe 0x1000a6ef
mov bl, 0xb
jmp 0x1000a715
movss xmm0, dword [0x101b84c0]
comiss xmm0, xmm4
jbe 0x1000a700
mov bl, 6
jmp 0x1000a715
movss xmm0, dword [0x101b84c8]
mov ebx, 0x10
comiss xmm0, xmm4
cmova ebx, dword [esp + 0x18]
mov dl, byte [esp + 0x17]
mov edi, dword [esp + 0x44]
cmp byte [0x101f76c9], 0
jne 0x1000a730
test dl, dl
movzx ebx, bl
cmovne ebx, dword [esp + 0x1c]
test dl, dl
je 0x1000a78a
mov ecx, dword [esp + 0x40]
mov eax, edi
sub eax, ecx
cmp eax, 2
jb 0x1000a764
lea eax, [ecx + 2]
cmp edi, 0xf
mov dword [esp + 0x40], eax
mov esi, 0x662d
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
mov word [eax + ecx], si
mov byte [eax + ecx + 2], 0
jmp 0x1000a77e
push 2
push 0x10198784
push dword [esp + 0x24]
lea ecx, [esp + 0x3c]
push 2
call fcn.10003860
mov dl, byte [esp + 0x17]
movss xmm4, dword [0x101f2ec4]
mov edi, dword [esp + 0x44]
xor eax, eax
cmp byte [0x101f2e9b], al
je 0x1000a79d
comiss xmm4, dword [0x101b8498]
jmp 0x1000a7a4
comiss xmm4, dword [0x101b84e4]
setae al
test eax, eax
je 0x1000aa12
cmp byte [0x101f76c8], 0
jne 0x1000a7c0
test dl, dl
jne 0x1000aa12
cmp byte [0x101f76ca], 0
je 0x1000aa12
mov edx, dword [0x101f2ea0]
lea ecx, [esp + 0x30]
movss xmm0, dword [0x101f2edc]
movss xmm1, dword [0x101f2ed4]
movss xmm2, dword [0x101f2ed0]
movss xmm3, dword [0x101f2ecc]
movzx eax, bl
cvtps2pd xmm4, xmm4
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cmp edx, 2
jle 0x1000a919
cmp edi, 0xf
cmova ecx, dword [esp + 0x30]
sub esp, 8
movsd qword [esp], xmm0
push eax
push edx
push eax
sub esp, 8
movsd qword [esp], xmm1
push eax
sub esp, 8
movsd qword [esp], xmm2
push eax
sub esp, 8
movsd qword [esp], xmm3
push eax
push dword [0x101f2ec8]
push eax
sub esp, 8
movsd qword [esp], xmm4
push ecx
push eax
push str.__b__c_s:__.2f__bunits___b__c_d_b_strafes___c_.0f_b_pre___c_.0f_b_max___c_.1f_b_height___c_d_b_bhops___c_.0f_b_sync
push 0
push 0
push dword [0x101f76c4]
call fcn.1000a290
mov eax, dword [0x101c1768]
lea edx, [esp + 0x78]
push str._OlegWare_
push edx
push eax
mov ecx, dword [eax]
mov dword [esp + 0x84], 0xff0000ff
call dword [ecx + 0x64]
mov edx, dword [0x101c1768]
add esp, 0x6c
movss xmm0, dword [0x101f2edc]
cmp dword [esp + 0x44], 0xf
movss xmm1, dword [0x101f2ed4]
mov eax, dword [edx]
movss xmm2, dword [0x101f2ed0]
movss xmm3, dword [0x101f2ecc]
movss xmm4, dword [0x101f2ec4]
mov ecx, dword [eax + 0x68]
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
sub esp, 8
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
movsd qword [esp], xmm0
push dword [0x101f2ea0]
cvtps2pd xmm2, xmm2
sub esp, 0x18
movsd qword [esp + 0x10], xmm1
cvtps2pd xmm3, xmm3
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm3
push dword [0x101f2ec8]
cvtps2pd xmm4, xmm4
sub esp, 8
movsd qword [esp], xmm4
push eax
push str._s:__.2f_units___d_strafes___.0f_pre___.0f_max___.1f_height___d_bhops___.0f_sync__n
push edx
call ecx
add esp, 0x3c
jmp 0x1000aa0e
cmp edi, 0xf
cmova ecx, dword [esp + 0x30]
sub esp, 8
movsd qword [esp], xmm0
push eax
sub esp, 8
movsd qword [esp], xmm1
push eax
sub esp, 8
movsd qword [esp], xmm2
push eax
sub esp, 8
movsd qword [esp], xmm3
push eax
push dword [0x101f2ec8]
push eax
sub esp, 8
movsd qword [esp], xmm4
push ecx
push eax
push str.__b__c_s:__.2f__bunits___b__c_d_b_strafes___c_.0f_b_pre___c_.0f_b_max___c_.1f_b_height___c_.0f_b_sync
push 0
push 0
push dword [0x101f76c4]
call fcn.1000a290
mov eax, dword [0x101c1768]
lea edx, [esp + 0x70]
push str._OlegWare_
push edx
push eax
mov ecx, dword [eax]
mov dword [esp + 0x7c], 0xff0000ff
call dword [ecx + 0x64]
mov edx, dword [0x101c1768]
add esp, 0x64
movss xmm0, dword [0x101f2edc]
movss xmm1, dword [0x101f2ed4]
cmp dword [esp + 0x44], 0xf
mov eax, dword [edx]
movss xmm2, dword [0x101f2ed0]
movss xmm3, dword [0x101f2ecc]
movss xmm4, dword [0x101f2ec4]
mov ecx, dword [eax + 0x68]
lea eax, [esp + 0x30]
cmova eax, dword [esp + 0x30]
sub esp, 0x20
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
movsd qword [esp + 0x18], xmm0
cvtps2pd xmm2, xmm2
movsd qword [esp + 0x10], xmm1
cvtps2pd xmm3, xmm3
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm3
push dword [0x101f2ec8]
cvtps2pd xmm4, xmm4
sub esp, 8
movsd qword [esp], xmm4
push eax
push str._s:__.2f_units___d_strafes___.0f_pre___.0f_max___.1f_height___.0f_sync__n
push edx
call ecx
add esp, 0x38
mov edi, dword [esp + 0x44]
mov byte [0x101f2e9c], 0
cmp edi, 0xf
jbe 0x1000aa4d
mov ecx, dword [esp + 0x30]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x1000aa43
mov ecx, dword [eax - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000aa43
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edi
push ecx
call fcn.1010fd52
add esp, 8
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret