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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov edx, dword [0xa18f64]
sub esp, 0x70
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x30]
mov ecx, edx
lea ebx, [ebx]
xor ebp, ebp
cmp ecx, ebp
je 0x4be13a
mov eax, dword [ecx + 8]
cmp eax, ebp
je 0x4be13a
cmp dword [eax + 4], edi
je 0x4be136
mov ecx, dword [ecx]
jmp 0x4be120
mov ecx, eax
jmp 0x4be13c
xor ecx, ecx
mov edi, dword [esi + 0x34]
nop
cmp edx, ebp
je 0x4be158
mov eax, dword [edx + 8]
cmp eax, ebp
je 0x4be158
cmp dword [eax + 4], edi
je 0x4be154
mov edx, dword [edx]
jmp 0x4be140
mov edx, eax
jmp 0x4be15a
xor edx, edx
xorps xmm0, xmm0
or eax, 0xffffffff
xor edi, edi
xor bl, bl
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ebp
movss dword [esp + 0x34], xmm0
movss dword [esp + 0x3c], xmm0
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x38], xmm0
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
test ecx, ecx
je 0x4be1ec
mov eax, dword [ecx + 0x828]
cmp eax, dword [ecx + 0x82c]
je 0x4be1dd
dec eax
and eax, 0x3f
shl eax, 5
lea eax, [eax + ecx + 0x28]
test eax, eax
je 0x4be1dd
mov ebp, dword [eax + 8]
movss xmm0, dword [eax + 0x10]
mov dword [esp + 0x24], ebp
mov ebp, dword [eax + 0xc]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [eax + 0x14]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x28]
movss dword [esp + 0x3c], xmm0
cmp byte [ecx + 0x830], 0
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
je 0x4be1ee
mov bl, 1
test edx, edx
je 0x4be248
mov eax, dword [edx + 0x828]
cmp eax, dword [edx + 0x82c]
je 0x4be239
dec eax
and eax, 0x3f
shl eax, 5
lea eax, [eax + edx + 0x28]
test eax, eax
je 0x4be239
mov ecx, dword [eax + 8]
movss xmm0, dword [eax + 0x10]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0xc]
mov edi, dword [esp + 0x2c]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 0x14]
mov dword [esp + 0x28], ecx
movss dword [esp + 0x38], xmm0
mov ebp, ecx
cmp byte [edx + 0x830], 0
mov eax, dword [edx]
mov dword [esp + 0x7c], eax
je 0x4be24a
mov bl, 1
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x4be722
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
lea edx, [edi + ecx]
cvtsi2ss xmm0, edx
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x6d8950]
mulsd xmm1, xmm0
cvtsd2ss xmm1, xmm1
movss dword [esp + 0x44], xmm1
movss dword [esi + 0x38], xmm1
add ebp, eax
push 0
cvtsi2ss xmm1, ebp
lea ebp, [esi + 0x14]
push ebp
cvtss2sd xmm1, xmm1
mulsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
lea ebx, [esi + 0x10]
push ebx
sub esp, 8
movss dword [esp + 0x54], xmm0
fld dword [esp + 0x54]
fstp dword [esp + 4]
movss dword [esi + 0x3c], xmm0
fld dword [esp + 0x58]
fstp dword [esp]
push 0xb
push 0xd
call fcn.004bb640
fld dword [esi + 0x3c]
add esp, 0x1c
push 1
push ebp
push ebx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0x38]
fstp dword [esp]
push 0xa
push 0xd
call fcn.004bb640
fld dword [esi + 0x3c]
add esp, 0x1c
push 1
push ebp
push ebx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0x38]
fstp dword [esp]
push 0xc
push 0xd
call fcn.004bb640
cvtss2sd xmm1, dword [esp + 0x50]
cvtss2sd xmm0, dword [esp + 0x4c]
cvtss2sd xmm2, dword [esp + 0x58]
subsd xmm0, xmm1
cvtsd2ss xmm1, xmm0
cvtss2sd xmm0, dword [esp + 0x54]
subsd xmm0, xmm2
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x5c], xmm1
movss dword [esp + 0x60], xmm0
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
movapd xmm2, xmm1
mulsd xmm2, xmm1
movapd xmm1, xmm0
mulsd xmm1, xmm0
addsd xmm2, xmm1
cvtsd2ss xmm0, xmm2
cvtss2sd xmm0, xmm0
sqrtsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
add esp, 0x1c
comiss xmm0, dword [0x6d89a8]
movss dword [esp + 0x3c], xmm0
jbe 0x4be3de
fld dword [esp + 0x44]
fdiv dword [esp + 0x3c]
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
call fcn.00698220
fstp dword [esp + 0x44]
cvtss2sd xmm1, dword [esp + 0x3c]
fld dword [esp + 0x44]
cvtss2sd xmm0, dword [esp + 0x40]
fstp dword [esp + 0x38]
divsd xmm0, xmm1
xorps xmm1, xmm1
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
movss xmm0, dword [esp + 0x38]
jbe 0x4be3d4
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x6d8800]
movapd xmm2, xmm0
subsd xmm2, xmm1
addsd xmm2, xmm0
cvtsd2ss xmm0, xmm2
movss dword [esi + 0x40], xmm0
movss dword [esi + 0x44], xmm0
cvttss2si ecx, dword [esi + 0x3c]
cvttss2si edx, dword [esi + 0x38]
push ecx
push edx
call fcn.004389e0
cvtsi2ss xmm0, dword [esp + 0x28]
add esp, 8
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x3c]
push edx
push eax
sub esp, 8
movss dword [esp + 4], xmm0
cvtsi2ss xmm0, dword [esp + 0x40]
mov dword [esi + 0x4c], eax
movss dword [esp], xmm0
call fcn.004b9a30
cvtsi2ss xmm0, dword [esp + 0x44]
add esp, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x58]
push ecx
mov ecx, dword [esi + 0x4c]
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x44]
push eax
push ecx
sub esp, 8
movss dword [esp + 4], xmm0
cvtsi2ss xmm0, edi
movss dword [esp], xmm0
call fcn.004b9a30
fld dword [esi + 0x3c]
add esp, 0x1c
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x50]
push eax
mov eax, dword [esi + 0x4c]
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x4c]
push edx
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0x38]
fstp dword [esp]
call fcn.004b9a30
push 0x10
call fcn.0069577f
xor edi, edi
add esp, 0x20
cmp eax, edi
je 0x4be4b6
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
mov edi, eax
push 0
fldz
sub esp, 8
fst qword [esp]
push str.absoluteangle
push 0
sub esp, 8
fstp qword [esp]
push str.relativeangle
push 0
sub esp, 8
mov dword [edi], 0xa
movss xmm0, dword [esp + 0x74]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.guipivotY
push 0
movss xmm0, dword [esp + 0x80]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.guipivotX
movss xmm0, dword [esi + 0x3c]
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esi + 0x38]
push str.rawpivotY
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xa0]
push str.rawpivotX
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xac]
push str.pivotY
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xcc]
push 0x6e45e8
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xe0]
push str.guiposY2
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0xc4]
push str.guiposX2
push 0
sub esp, 8
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0xd8]
push str.rawposY2
push 0
sub esp, 8
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xf8]
push str.rawposX2
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x104]
push str.posY2
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.posX2
push 0
movss xmm0, dword [esp + 0x13c]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x148]
push str.guiposY1
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0x11c]
push str.guiposX1
push 0
sub esp, 8
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0x130]
push str.rawposY1
push 0
sub esp, 8
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x150]
push str.rawposX1
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x15c]
push str.posY1
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0x1b8]
push str.posX1
push 0
sub esp, 8
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0x1c4]
push str.touch2
push 0
sub esp, 8
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esi + 8]
push str.touch1
push 0
sub esp, 8
movsd qword [esp], xmm0
push str.gesture
push 0x17
call fcn.004a6530
mov dword [edi + 4], eax
mov ecx, dword [ebx]
mov dword [edi + 8], ecx
mov edx, dword [ebp]
add esp, 0x174
push edi
mov ecx, 0xa18f70
mov dword [edi + 0xc], edx
call fcn.004ba330
mov dword [esi + 0x18], 1
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp eax, 1
jne 0x4bec19
cvtsi2ss xmm0, dword [esp + 0x20]
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esi + 0x4c]
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x80]
push eax
push ecx
sub esp, 8
movss dword [esp + 4], xmm0
cvtsi2ss xmm0, dword [esp + 0x40]
movss dword [esp], xmm0
call fcn.004b9a30
add esp, 0x1c
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x44]
push eax
mov eax, dword [esi + 0x4c]
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x70]
push edx
push eax
sub esp, 8
cvtsi2ss xmm0, ebp
movss dword [esp + 4], xmm0
cvtsi2ss xmm0, edi
movss dword [esp], xmm0
call fcn.004b9a30
fld dword [esi + 0x3c]
add esp, 0x1c
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x54]
push edx
mov edx, dword [esi + 0x4c]
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x54]
push ecx
push edx
sub esp, 8
fstp dword [esp + 4]
fld dword [esi + 0x38]
fstp dword [esp]
call fcn.004b9a30
xorps xmm2, xmm2
add esp, 0x1c
movss dword [esp + 0x2c], xmm2
test bl, bl
je 0x4be824
push 0x10
call fcn.0069577f
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x4be810
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax], 0xc
mov dword [esi + 0x18], 0xffffffff
jmp 0x4be9ab
xor eax, eax
mov dword [eax], 0xc
mov dword [esi + 0x18], 0xffffffff
jmp 0x4be9ab
cvtss2sd xmm1, dword [esp + 0x34]
cvtss2sd xmm0, dword [esp + 0x30]
cvtss2sd xmm3, dword [esp + 0x3c]
subsd xmm0, xmm1
cvtsd2ss xmm1, xmm0
cvtss2sd xmm0, dword [esp + 0x38]
subsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x58], xmm1
movss dword [esp + 0x5c], xmm0
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
movapd xmm3, xmm1
mulsd xmm3, xmm1
movapd xmm1, xmm0
mulsd xmm1, xmm0
addsd xmm3, xmm1
cvtsd2ss xmm0, xmm3
cvtss2sd xmm0, xmm0
sqrtsd xmm0, xmm0
cvtsd2ss xmm0, xmm0
comiss xmm0, xmm2
movss dword [esp + 0x3c], xmm0
jbe 0x4bec19
fld dword [esp + 0x5c]
fdiv dword [esp + 0x3c]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
call fcn.00698220
fstp dword [esp + 0x5c]
cvtss2sd xmm1, dword [esp + 0x3c]
fld dword [esp + 0x5c]
cvtss2sd xmm0, dword [esp + 0x58]
fstp dword [esp + 0x28]
movsd xmm2, qword [0x6d8800]
divsd xmm0, xmm1
xorps xmm1, xmm1
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jbe 0x4be8f9
movss xmm0, dword [esp + 0x28]
cvtps2pd xmm0, xmm0
movapd xmm1, xmm2
subsd xmm1, xmm0
addsd xmm1, xmm2
cvtpd2ps xmm1, xmm1
movss dword [esp + 0x28], xmm1
jmp 0x4be8ff
movss xmm1, dword [esp + 0x28]
movss xmm0, dword [esi + 0x44]
cvtss2sd xmm3, xmm1
cvtps2pd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jnp 0x4bec19
cvtss2sd xmm1, xmm1
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtss2sd xmm1, xmm0
comisd xmm1, xmm2
movss dword [esp + 0x2c], xmm0
jbe 0x4be95a
movsd xmm1, qword [0x6db560]
cvtss2sd xmm0, xmm0
subsd xmm1, xmm0
xorpd xmm1, xmmword [0x6dc1f0]
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x2c], xmm0
movss xmm1, dword [esi + 0x48]
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
push 0x10
movss dword [esi + 0x48], xmm0
call fcn.0069577f
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x4be998
mov dword [eax], 0xffffffff
mov dword [eax + 4], 0xffffffff
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
jmp 0x4be99a
xor eax, eax
movss xmm0, dword [esp + 0x28]
mov dword [eax], 0xb
movss dword [esi + 0x44], xmm0
push 0
sub esp, 8
movss xmm0, dword [esi + 0x48]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x6e45e0]
mulsd xmm1, xmm0
movsd qword [esp], xmm1
push str.absoluteangle
push 0
sub esp, 8
cvtss2sd xmm1, dword [esp + 0x48]
mulsd xmm1, xmm0
movsd qword [esp], xmm1
push str.relativeangle
push 0
movss xmm0, dword [esp + 0x78]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.guipivotY
movss xmm0, dword [esp + 0x80]
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esi + 0x3c]
push str.guipivotX
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esi + 0x38]
push str.rawpivotY
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xa8]
push str.rawpivotX
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xb4]
push str.pivotY
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xc0]
push 0x6e45e8
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0xcc]
push str.guiposY2
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push str.guiposX2
push 0
sub esp, 8
cvtsi2sd xmm0, ebp
movsd qword [esp], xmm0
push str.rawposY2
push 0
sub esp, 8
cvtsi2sd xmm0, edi
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x11c]
push str.rawposX2
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x130]
push str.posY2
mov ebx, eax
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x144]
push str.posX2
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x158]
push str.guiposY1
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0x11c]
push str.guiposX1
push 0
sub esp, 8
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0x130]
push str.rawposY1
push 0
sub esp, 8
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x18c]
push str.rawposX1
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x1a0]
push str.posY1
push 0
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0x1b8]
push str.posX1
push 0
sub esp, 8
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esp + 0x1c4]
push str.touch2
push 0
sub esp, 8
movsd qword [esp], xmm0
cvtsi2sd xmm0, dword [esi + 8]
push str.touch1
push 0
sub esp, 8
movsd qword [esp], xmm0
push str.gesture
push 0x17
call fcn.004a6530
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 8], eax
mov ecx, dword [esi + 0x14]
add esp, 0x174
mov dword [ebx + 0xc], ecx
push ebx
mov ecx, 0xa18f70
call fcn.004ba330
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 8