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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x44
cmp byte [0x101f0ea5], 0
push ebx
push esi
push edi
je 0x1000a686
cmp byte [0x101f0ea6], 0
jne 0x1000a686
cmp byte [0x101f0ea7], 0
jne 0x1000a686
cmp byte [0x101f0eac], 0
je 0x1000a686
cmp byte [0x101f0eab], 0
xorps xmm3, xmm3
movss xmm2, dword [0x101b64fc]
je 0x1000a089
xorps xmm4, xmm4
jmp 0x1000a08c
movaps xmm4, xmm2
movss xmm1, dword [0x101f0e94]
movss xmm0, dword [0x101f0e98]
subss xmm0, dword [0x101f0ec4]
subss xmm1, dword [0x101f0ec0]
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 [0x101f0ea8]
movss dword [0x101f0ed4], xmm4
test dh, dh
je 0x1000a0f2
movss xmm3, dword [0x101b64bc]
cmp byte [0x101f0eab], 0
movss xmm0, dword [0x101f0e9c]
subss xmm0, dword [0x101f0ec8]
andps xmm0, xmmword [0x101b68f0]
subss xmm0, xmm3
jne 0x1000a136
mov eax, dword [0x101f0eb0]
test eax, eax
jle 0x1000a12e
cmp eax, 1
jg 0x1000a12e
movss xmm2, dword [0x101b6428]
jmp 0x1000a136
movss xmm2, dword [0x101b650c]
mov esi, dword [0x101f0eb0]
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 0x1000a21a
sub eax, 1
je 0x1000a201
cmp esi, 3
jl 0x1000a2cc
mov ax, word [0x10196774]
mov word [esp + 0x30], ax
mov al, byte [0x10196776]
mov dword [esp + 0x40], 3
mov byte [esp + 0x32], al
mov byte [esp + 0x33], 0
movss xmm0, dword [0x101b6578]
comiss xmm0, xmm4
ja 0x1000a2cc
movss xmm0, dword [0x101b657c]
comiss xmm0, xmm4
jbe 0x1000a1e0
mov bl, 0xb
jmp 0x1000a2cc
movss xmm0, dword [0x101b6580]
comiss xmm0, xmm4
jbe 0x1000a1f4
mov bl, 6
jmp 0x1000a2cc
movss xmm0, dword [0x101b6584]
jmp 0x1000a2c2
mov eax, 0x6862
mov dword [esp + 0x40], 2
mov word [esp + 0x30], ax
mov byte [esp + 0x32], 0
jmp 0x1000a1bb
mov dword [esp + 0x40], 2
mov byte [esp + 0x32], 0
test dh, dh
jne 0x1000a281
comiss xmm4, dword [0x101b658c]
mov eax, 0x6a6c
mov word [esp + 0x30], ax
jb 0x1000a245
mov bl, 3
jmp 0x1000a2cc
comiss xmm4, dword [0x101b6588]
jb 0x1000a252
mov bl, cl
jmp 0x1000a2cc
comiss xmm4, dword [0x101b6584]
jb 0x1000a25f
mov bl, 2
jmp 0x1000a2cc
comiss xmm4, dword [0x101b6580]
jb 0x1000a26c
mov bl, 6
jmp 0x1000a2cc
comiss xmm4, dword [0x101b6578]
mov ebx, dword [esp + 0x1c]
mov ecx, 0xb
cmovae ebx, ecx
jmp 0x1000a2cc
movss xmm0, dword [0x101b6590]
mov eax, 0x626a
comiss xmm0, xmm4
mov word [esp + 0x30], ax
ja 0x1000a2cc
movss xmm0, dword [0x101b659c]
comiss xmm0, xmm4
jbe 0x1000a2a9
mov bl, 0xb
jmp 0x1000a2cc
movss xmm0, dword [0x101b65a0]
comiss xmm0, xmm4
jbe 0x1000a2ba
mov bl, 6
jmp 0x1000a2cc
movss xmm0, dword [0x101b65a4]
comiss xmm0, xmm4
mov ebx, ecx
cmova ebx, dword [esp + 0x18]
cmp byte [0x101f0eab], 0
je 0x1000a34d
push 3
lea esi, [esp + 0x34]
mov dword [esp + 0x44], 3
push 0x10196778
push esi
call sub.VCRUNTIME140.dll_memmove
movss xmm0, dword [0x101b6528]
add esp, 0xc
mov byte [esi + 3], 0
movss xmm4, dword [0x101f0ed4]
comiss xmm0, xmm4
jbe 0x1000a30e
mov bl, 8
jmp 0x1000a345
movss xmm0, dword [0x101b6530]
comiss xmm0, xmm4
jbe 0x1000a31f
mov bl, 0xb
jmp 0x1000a345
movss xmm0, dword [0x101b6538]
comiss xmm0, xmm4
jbe 0x1000a330
mov bl, 6
jmp 0x1000a345
movss xmm0, dword [0x101b6540]
mov ebx, 0x10
comiss xmm0, xmm4
cmova ebx, dword [esp + 0x18]
mov dl, byte [esp + 0x17]
mov edi, dword [esp + 0x44]
cmp byte [0x101f56d9], 0
jne 0x1000a360
test dl, dl
movzx ebx, bl
cmovne ebx, dword [esp + 0x1c]
test dl, dl
je 0x1000a3ba
mov ecx, dword [esp + 0x40]
mov eax, edi
sub eax, ecx
cmp eax, 2
jb 0x1000a394
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 0x1000a3ae
push 2
push 0x1019677c
push dword [esp + 0x24]
lea ecx, [esp + 0x3c]
push 2
call fcn.10003490
mov dl, byte [esp + 0x17]
movss xmm4, dword [0x101f0ed4]
mov edi, dword [esp + 0x44]
xor eax, eax
cmp byte [0x101f0eab], al
je 0x1000a3cd
comiss xmm4, dword [0x101b6510]
jmp 0x1000a3d4
comiss xmm4, dword [0x101b655c]
setae al
test eax, eax
je 0x1000a642
cmp byte [0x101f56d8], 0
jne 0x1000a3f0
test dl, dl
jne 0x1000a642
cmp byte [0x101f56da], 0
je 0x1000a642
mov edx, dword [0x101f0eb0]
lea ecx, [esp + 0x30]
movss xmm0, dword [0x101f0eec]
movss xmm1, dword [0x101f0ee4]
movss xmm2, dword [0x101f0ee0]
movss xmm3, dword [0x101f0edc]
movzx eax, bl
cvtps2pd xmm4, xmm4
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cmp edx, 2
jle 0x1000a549
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 [0x101f0ed8]
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 [0x101f56d4]
call fcn.10009ec0
mov eax, dword [0x101bf778]
lea edx, [esp + 0x78]
push str._solutional_
push edx
push eax
mov ecx, dword [eax]
mov dword [esp + 0x84], 0xff0000ff
call dword [ecx + 0x64]
mov edx, dword [0x101bf778]
add esp, 0x6c
movss xmm0, dword [0x101f0eec]
cmp dword [esp + 0x44], 0xf
movss xmm1, dword [0x101f0ee4]
mov eax, dword [edx]
movss xmm2, dword [0x101f0ee0]
movss xmm3, dword [0x101f0edc]
movss xmm4, dword [0x101f0ed4]
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 [0x101f0eb0]
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 [0x101f0ed8]
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 0x1000a63e
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 [0x101f0ed8]
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 [0x101f56d4]
call fcn.10009ec0
mov eax, dword [0x101bf778]
lea edx, [esp + 0x70]
push str._solutional_
push edx
push eax
mov ecx, dword [eax]
mov dword [esp + 0x7c], 0xff0000ff
call dword [ecx + 0x64]
mov edx, dword [0x101bf778]
add esp, 0x64
movss xmm0, dword [0x101f0eec]
movss xmm1, dword [0x101f0ee4]
cmp dword [esp + 0x44], 0xf
mov eax, dword [edx]
movss xmm2, dword [0x101f0ee0]
movss xmm3, dword [0x101f0edc]
movss xmm4, dword [0x101f0ed4]
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 [0x101f0ed8]
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 [0x101f0eac], 0
cmp edi, 0xf
jbe 0x1000a67d
mov ecx, dword [esp + 0x30]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x1000a673
mov ecx, dword [eax - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000a673
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edi
push ecx
call fcn.1010e562
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