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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x44
cmp byte [0x1027cb75], 0
push ebx
push esi
push edi
je 0x1000bee6
cmp byte [0x1027cb76], 0
jne 0x1000bee6
cmp byte [0x1027cb77], 0
jne 0x1000bee6
cmp byte [0x1027cb7c], 0
je 0x1000bee6
cmp byte [0x1027cb7b], 0
xorps xmm3, xmm3
movss xmm2, dword [0x102407d4]
je 0x1000b8e9
xorps xmm4, xmm4
jmp 0x1000b8ec
movaps xmm4, xmm2
movss xmm1, dword [0x1027cb64]
movss xmm0, dword [0x1027cb68]
subss xmm0, dword [0x1027cb94]
subss xmm1, dword [0x1027cb90]
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 [0x1027cb78]
movss dword [0x1027cba4], xmm4
test dh, dh
je 0x1000b952
movss xmm3, dword [0x10240790]
cmp byte [0x1027cb7b], 0
movss xmm0, dword [0x1027cb6c]
subss xmm0, dword [0x1027cb98]
andps xmm0, xmmword [0x10240bf0]
subss xmm0, xmm3
jne 0x1000b996
mov eax, dword [0x1027cb80]
test eax, eax
jle 0x1000b98e
cmp eax, 1
jg 0x1000b98e
movss xmm2, dword [0x102406c8]
jmp 0x1000b996
movss xmm2, dword [0x102407e4]
mov esi, dword [0x1027cb80]
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 0x1000ba7a
sub eax, 1
je 0x1000ba61
cmp esi, 3
jl 0x1000bb2c
mov ax, word [0x10219978]
mov word [esp + 0x30], ax
mov al, byte [0x1021997a]
mov dword [esp + 0x40], 3
mov byte [esp + 0x32], al
mov byte [esp + 0x33], 0
movss xmm0, dword [0x10240860]
comiss xmm0, xmm4
ja 0x1000bb2c
movss xmm0, dword [0x10240864]
comiss xmm0, xmm4
jbe 0x1000ba40
mov bl, 0xb
jmp 0x1000bb2c
movss xmm0, dword [0x10240868]
comiss xmm0, xmm4
jbe 0x1000ba54
mov bl, 6
jmp 0x1000bb2c
movss xmm0, dword [0x1024086c]
jmp 0x1000bb22
mov eax, 0x6862
mov dword [esp + 0x40], 2
mov word [esp + 0x30], ax
mov byte [esp + 0x32], 0
jmp 0x1000ba1b
mov dword [esp + 0x40], 2
mov byte [esp + 0x32], 0
test dh, dh
jne 0x1000bae1
comiss xmm4, dword [0x10240874]
mov eax, 0x6a6c
mov word [esp + 0x30], ax
jb 0x1000baa5
mov bl, 3
jmp 0x1000bb2c
comiss xmm4, dword [0x10240870]
jb 0x1000bab2
mov bl, cl
jmp 0x1000bb2c
comiss xmm4, dword [0x1024086c]
jb 0x1000babf
mov bl, 2
jmp 0x1000bb2c
comiss xmm4, dword [0x10240868]
jb 0x1000bacc
mov bl, 6
jmp 0x1000bb2c
comiss xmm4, dword [0x10240860]
mov ebx, dword [esp + 0x1c]
mov ecx, 0xb
cmovae ebx, ecx
jmp 0x1000bb2c
movss xmm0, dword [0x10240878]
mov eax, 0x626a
comiss xmm0, xmm4
mov word [esp + 0x30], ax
ja 0x1000bb2c
movss xmm0, dword [0x10240884]
comiss xmm0, xmm4
jbe 0x1000bb09
mov bl, 0xb
jmp 0x1000bb2c
movss xmm0, dword [0x10240888]
comiss xmm0, xmm4
jbe 0x1000bb1a
mov bl, 6
jmp 0x1000bb2c
movss xmm0, dword [0x1024088c]
comiss xmm0, xmm4
mov ebx, ecx
cmova ebx, dword [esp + 0x18]
cmp byte [0x1027cb7b], 0
je 0x1000bbad
push 3
lea esi, [esp + 0x34]
mov dword [esp + 0x44], 3
push 0x1021997c
push esi
call sub.VCRUNTIME140.dll_memmove
movss xmm0, dword [0x10240800]
add esp, 0xc
mov byte [esi + 3], 0
movss xmm4, dword [0x1027cba4]
comiss xmm0, xmm4
jbe 0x1000bb6e
mov bl, 8
jmp 0x1000bba5
movss xmm0, dword [0x10240808]
comiss xmm0, xmm4
jbe 0x1000bb7f
mov bl, 0xb
jmp 0x1000bba5
movss xmm0, dword [0x10240810]
comiss xmm0, xmm4
jbe 0x1000bb90
mov bl, 6
jmp 0x1000bba5
movss xmm0, dword [0x10240818]
mov ebx, 0x10
comiss xmm0, xmm4
cmova ebx, dword [esp + 0x18]
mov dl, byte [esp + 0x17]
mov edi, dword [esp + 0x44]
cmp byte [0x102813e2], 0
jne 0x1000bbc0
test dl, dl
movzx ebx, bl
cmovne ebx, dword [esp + 0x1c]
test dl, dl
je 0x1000bc1a
mov ecx, dword [esp + 0x40]
mov eax, edi
sub eax, ecx
cmp eax, 2
jb 0x1000bbf4
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 0x1000bc0e
push 2
push 0x10219980
push dword [esp + 0x24]
lea ecx, [esp + 0x3c]
push 2
call fcn.10004980
mov dl, byte [esp + 0x17]
movss xmm4, dword [0x1027cba4]
mov edi, dword [esp + 0x44]
xor eax, eax
cmp byte [0x1027cb7b], al
je 0x1000bc2d
comiss xmm4, dword [0x102407e8]
jmp 0x1000bc34
comiss xmm4, dword [0x10240844]
setae al
test eax, eax
je 0x1000bea2
cmp byte [0x102813e0], 0
jne 0x1000bc50
test dl, dl
jne 0x1000bea2
cmp byte [0x102813e1], 0
je 0x1000bea2
mov edx, dword [0x1027cb80]
lea ecx, [esp + 0x30]
movss xmm0, dword [0x1027cbbc]
movss xmm1, dword [0x1027cbb4]
movss xmm2, dword [0x1027cbb0]
movss xmm3, dword [0x1027cbac]
movzx eax, bl
cvtps2pd xmm4, xmm4
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtps2pd xmm3, xmm3
cmp edx, 2
jle 0x1000bda9
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 [0x1027cba8]
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 [0x102813dc]
call fcn.1000b720
mov eax, dword [0x1024b328]
lea edx, [esp + 0x78]
push str._gravity_
push edx
push eax
mov ecx, dword [eax]
mov dword [esp + 0x84], 0xff0000ff
call dword [ecx + 0x64]
mov edx, dword [0x1024b328]
add esp, 0x6c
movss xmm0, dword [0x1027cbbc]
cmp dword [esp + 0x44], 0xf
movss xmm1, dword [0x1027cbb4]
mov eax, dword [edx]
movss xmm2, dword [0x1027cbb0]
movss xmm3, dword [0x1027cbac]
movss xmm4, dword [0x1027cba4]
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 [0x1027cb80]
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 [0x1027cba8]
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 0x1000be9e
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 [0x1027cba8]
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 [0x102813dc]
call fcn.1000b720
mov eax, dword [0x1024b328]
lea edx, [esp + 0x70]
push str._gravity_
push edx
push eax
mov ecx, dword [eax]
mov dword [esp + 0x7c], 0xff0000ff
call dword [ecx + 0x64]
mov edx, dword [0x1024b328]
add esp, 0x64
movss xmm0, dword [0x1027cbbc]
movss xmm1, dword [0x1027cbb4]
cmp dword [esp + 0x44], 0xf
mov eax, dword [edx]
movss xmm2, dword [0x1027cbb0]
movss xmm3, dword [0x1027cbac]
movss xmm4, dword [0x1027cba4]
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 [0x1027cba8]
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 [0x1027cb7c], 0
cmp edi, 0xf
jbe 0x1000bedd
mov ecx, dword [esp + 0x30]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x1000bed3
mov ecx, dword [eax - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000bed3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edi
push ecx
call fcn.1018b662
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