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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x34
push ebx
xor ebx, ebx
push esi
mov esi, ecx
mov word [esi + 6], 1
mov dword [esi], vtable.hk3AxisSweep.0
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
lea ecx, [esi + 0x40]
mov edx, connect
mov dword [ecx + 8], edx
push edi
lea edi, [esi + 0x4c]
mov eax, edi
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
add eax, 0xc
add eax, 0xc
mov dword [eax - 0xc], ebx
mov dword [eax - 8], ebx
mov dword [eax - 4], edx
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov eax, dword [ecx + 8]
and eax, 0x7fffffff
cmp eax, 0x100
jge 0x5f9eca
add eax, eax
cmp eax, 0x100
jg 0x5f9ebe
mov eax, 0x100
push 0x10
push eax
push ecx
call fcn.0054d250
add esp, 0xc
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], ebx
mov eax, 0x3f800000
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esp + 0x14], 0x41200000
mov dword [esp + 0x10], 0x41300000
mov ecx, 0x17
jmp 0x5f9f10
fld dword [esp + 0x10]
fadd dword [esp + 0x14]
fmul dword [0x6431e4]
fld dword [0x6419bc]
fadd st(1)
fld st(0)
fadd dword [esi + 0x20]
fld st(1)
fadd dword [esi + 0x24]
fstp dword [esp + 0x24]
fld st(1)
fadd dword [esi + 0x28]
fstp dword [esp + 0x28]
fxch st(1)
fadd dword [esi + 0x2c]
fstp dword [esp + 0x2c]
fmul dword [esi + 0x30]
fstp dword [esp + 0x20]
fld dword [esp + 0x24]
fmul dword [esi + 0x34]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fmul dword [esi + 0x38]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [esi + 0x3c]
fld dword [esp + 0x20]
fcomp dword [0x671b78]
fnstsw ax
test ah, 5
jnp 0x5f9f83
mov dword [esp + 0x20], 0x477ffc00
fld dword [esp + 0x24]
fcomp dword [0x671b78]
fnstsw ax
test ah, 5
jnp 0x5f9f9c
mov dword [esp + 0x24], 0x477ffc00
fld dword [esp + 0x28]
fcomp dword [0x671b78]
fnstsw ax
test ah, 5
jnp 0x5f9fb5
mov dword [esp + 0x28], 0x477ffc00
fcom dword [0x671b78]
fnstsw ax
test ah, 5
jnp 0x5f9fca
fstp st(0)
fld dword [0x671b78]
fld dword [esp + 0x20]
fcomp dword [0x641de0]
fnstsw ax
test ah, 0x41
je 0x5f9fe3
mov dword [esp + 0x20], 0
fld dword [esp + 0x24]
fcomp dword [0x641de0]
fnstsw ax
test ah, 0x41
je 0x5f9ffc
mov dword [esp + 0x24], 0
fld dword [esp + 0x28]
fcomp dword [0x641de0]
fnstsw ax
test ah, 0x41
je 0x5fa015
mov dword [esp + 0x28], 0
fcom dword [0x641de0]
fnstsw ax
test ah, 0x41
je 0x5fa02a
fstp st(0)
fld dword [0x641de0]
fld dword [esp + 0x20]
fadd dword [0x6542f8]
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fld dword [esp + 0x24]
shr eax, 7
fadd dword [0x6542f8]
movzx eax, ax
or eax, 1
cmp eax, 0xc
fstp dword [esp + 0x24]
mov edx, dword [esp + 0x24]
fld dword [esp + 0x28]
mov dword [esp + 0x34], edx
fadd dword [0x6542f8]
fstp dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x38], edx
fadd dword [0x6542f8]
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x3c], edx
jae 0x5fa08e
fstp dword [esp + 0x14]
jmp 0x5fa092
fstp dword [esp + 0x10]
dec ecx
jne 0x5f9f10
fld dword [esp + 0x10]
mov eax, dword [ebp + 8]
fadd dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
fmul dword [0x6431e4]
fsub dword [0x671b84]
fstp dword [esi + 0x7c]
fld dword [ecx]
fsub dword [eax]
fld dword [ecx + 4]
fsub dword [eax + 4]
fld dword [ecx + 8]
fsub dword [eax + 8]
fstp dword [esp + 0x28]
fld dword [ecx + 0xc]
mov ecx, 0x477ffc00
fsub dword [eax + 0xc]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x38], ecx
fstp dword [esp + 0x2c]
mov dword [esi + 0x3c], ecx
fld dword [0x6419bc]
fdiv st(2)
fld dword [0x6419bc]
fdiv st(2)
fld dword [0x6419bc]
fdiv dword [esp + 0x28]
fstp dword [esp + 0x38]
fxch st(1)
fmul dword [esi + 0x30]
fstp dword [esi + 0x30]
fmul dword [esi + 0x34]
fstp dword [esi + 0x34]
fld dword [esp + 0x38]
fmul dword [esi + 0x38]
fstp dword [esi + 0x38]
fld dword [esi + 0x3c]
fmul dword [0x641de0]
fstp dword [esi + 0x3c]
fld dword [eax]
fchs
fstp dword [esi + 0x10]
fld dword [eax + 4]
fchs
fstp dword [esi + 0x14]
fld dword [eax + 8]
fchs
fstp dword [esi + 0x18]
fld dword [eax + 0xc]
fchs
fstp dword [esi + 0x1c]
fxch st(1)
fmul dword [0x671b80]
fstp dword [esp + 0x30]
fmul dword [0x671b80]
fld dword [esp + 0x28]
fmul dword [0x671b80]
fld dword [esp + 0x2c]
fmul dword [0x671b80]
fstp dword [esp + 0x3c]
fld dword [esp + 0x30]
fadd dword [esi + 0x10]
fstp dword [esi + 0x20]
fxch st(1)
fadd dword [esi + 0x14]
fstp dword [esi + 0x24]
fadd dword [esi + 0x18]
fstp dword [esi + 0x28]
fld dword [esp + 0x3c]
fadd dword [esi + 0x1c]
fstp dword [esi + 0x2c]
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x2c], ebx
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x44]
lea ebx, [esi + 0x40]
and eax, 0x7fffffff
cmp ecx, eax
jne 0x5fa1b8
push 0x10
push ebx
call fcn.0054d2c0
add esp, 8
mov eax, dword [ebx + 4]
mov ecx, dword [esi + 0x40]
mov ebx, eax
shl ebx, 4
add ebx, ecx
inc eax
mov dword [esi + 0x44], eax
xor eax, eax
mov word [ebx + 2], ax
mov word [ebx], ax
mov word [ebx + 8], ax
mov eax, dword [edi + 8]
and eax, 0x7fffffff
cmp eax, 0x202
mov dword [esp + 0x1c], ebx
jge 0x5fa203
add eax, eax
cmp eax, 0x202
jg 0x5fa1f7
mov eax, 0x202
push 4
push eax
push edi
call fcn.0054d250
add esp, 0xc
mov eax, dword [esi + 0x60]
lea ecx, [esi + 0x58]
and eax, 0x7fffffff
cmp eax, 0x202
jge 0x5fa22f
add eax, eax
cmp eax, 0x202
jg 0x5fa223
mov eax, 0x202
push 4
push eax
push ecx
call fcn.0054d250
add esp, 0xc
mov eax, dword [esi + 0x6c]
lea ecx, [esi + 0x64]
and eax, 0x7fffffff
cmp eax, 0x202
jge 0x5fa25b
add eax, eax
cmp eax, 0x202
jg 0x5fa24f
mov eax, 0x202
push 4
push eax
push ecx
call fcn.0054d250
add esp, 0xc
mov ecx, dword [edi + 4]
mov edx, dword [edi]
xor eax, eax
mov word [esp + 0x16], ax
mov word [esp + 0x14], ax
mov eax, dword [esp + 0x14]
mov dword [edx + ecx*4], eax
inc dword [edi + 4]
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x58]
mov dword [edx + ecx*4], eax
inc dword [esi + 0x5c]
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
mov dword [edx + ecx*4], eax
mov edx, dword [esi + 0x68]
mov ecx, dword [ebp + 0x10]
inc edx
mov eax, 1
shl eax, cl
mov dword [esi + 0x68], edx
xor edx, edx
mov dword [esi + 0x78], edx
dec eax
cmp eax, edx
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
je 0x5fa2c1
mov ecx, dword [0x9617f0]
mov edx, dword [ecx]
push 0x1c
shl eax, 4
push eax
call dword [edx]
mov dword [esi + 0x78], eax
xor edx, edx
mov ecx, dword [esi + 0x70]
xor eax, eax
cmp ecx, edx
mov dword [esp + 0x14], eax
jle 0x5fa3c4
xor ecx, ecx
mov dword [esp + 0x18], ecx
jmp 0x5fa2e0
xor edx, edx
lea esp, [esp]
mov ebx, dword [esi + 0x78]
add ebx, ecx
je 0x5fa2f6
mov dword [ebx + 4], edx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], connect
jmp 0x5fa2f8
xor ebx, ebx
mov dx, word [esi + 0x44]
mov ecx, 0x10
sub ecx, dword [esi + 0x74]
inc eax
shl eax, cl
mov word [ebx], dx
mov word [esp + 0x12], dx
mov word [ebx + 2], ax
mov ecx, dword [esi + 0x44]
lea ebx, [esi + 0x40]
mov word [esp + 0x10], ax
mov eax, dword [ebx + 8]
and eax, 0x7fffffff
cmp ecx, eax
jne 0x5fa335
push 0x10
push ebx
call fcn.0054d2c0
add esp, 8
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
mov eax, ecx
shl eax, 4
add eax, edx
inc ecx
mov dword [ebx + 4], ecx
mov cx, word [esi + 0x50]
mov ebx, dword [esp + 0x10]
or byte [esp + 0x10], 1
mov word [eax + 8], cx
mov edx, dword [edi + 4]
mov ecx, dword [edi]
mov dword [ecx + edx*4], ebx
mov edx, dword [edi + 4]
mov ebx, dword [esp + 0x10]
inc edx
mov dword [edi + 4], edx
mov dx, word [esi + 0x50]
mov word [eax + 0xa], dx
mov ecx, dword [edi + 4]
mov edx, dword [edi]
mov dword [edx + ecx*4], ebx
mov ebx, dword [edi + 4]
mov ecx, dword [esp + 0x18]
inc ebx
mov dword [edi + 4], ebx
mov edx, 1
mov ebx, ecx
or ebx, edx
mov dword [eax + 0xc], ebx
mov word [eax + 2], 0
mov word [eax], 0
mov word [eax + 6], dx
mov word [eax + 4], dx
mov eax, dword [esp + 0x14]
mov edx, dword [esi + 0x70]
inc eax
add ecx, 0x10
cmp eax, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
jl 0x5fa2da
mov ebx, dword [esp + 0x1c]
xor edx, edx
mov ax, word [esi + 0x50]
mov word [ebx + 0xa], ax
mov cx, word [esi + 0x5c]
mov word [ebx + 4], cx
mov ax, word [esi + 0x68]
mov word [ebx + 6], ax
mov ecx, dword [edi + 4]
mov word [esp + 0x1a], dx
mov edx, dword [edi]
mov word [esp + 0x18], 0xfffd
mov eax, dword [esp + 0x18]
mov dword [edx + ecx*4], eax
inc dword [edi + 4]
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x58]
mov dword [edx + ecx*4], eax
inc dword [esi + 0x5c]
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x64]
mov dword [edx + ecx*4], eax
inc dword [esi + 0x68]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc