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

Disassembly:
test dword [0x87ed4c], 0xfffff000
jne 0x48dbc0
test dword [0x87ed4c], 0xffffffff
jne 0x48e050
call fcn.007663a0
jmp fcn.0048db90
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0xb4
mov ebx, ecx
mov edx, dword [ebp + 0x10]
mov eax, 0xffffffff
mov ecx, dword [edx]
mov edx, dword [edx + 4]
movsd xmm2, qword [0x78cef0]
movsd xmm4, qword [0x78cef8]
mov dword [ebx + 0x2c], eax
movaps xmm3, xmm2
movaps xmm1, xmm4
xor esi, esi
mov dword [ebx + 0x44], eax
mov eax, ecx
cmp ecx, edx
je 0x48dc71
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], ebx
mov edi, dword [eax + 4]
sub edi, dword [eax]
sar edi, 4
test edi, edi
jbe 0x48dc5f
mov ecx, dword [eax]
xor ebx, ebx
mov dword [esp + 0x48], edx
mov edx, ebx
shl edx, 4
movsd xmm5, qword [ecx + edx]
movaps xmm0, xmm2
movaps xmm2, xmm5
minsd xmm2, xmm0
movsd xmm0, qword [ecx + edx + 8]
movaps xmm6, xmm4
movaps xmm4, xmm5
maxsd xmm4, xmm6
movaps xmm7, xmm3
inc ebx
movaps xmm3, xmm0
minsd xmm3, xmm7
movaps xmm5, xmm1
movaps xmm1, xmm0
maxsd xmm1, xmm5
cmp ebx, edi
jb 0x48dc1e
mov edx, dword [esp + 0x48]
add esi, 2
add eax, 0x10
cmp eax, edx
jne 0x48dc0a
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
mov eax, edx
sub eax, ecx
sar eax, 4
test eax, eax
jne 0x48dce4
mov eax, dword [ebp + 8]
mov dword [esp], str.UPDATE_mp_line_SET_parts_size___i__parts_____coordinates_____vertex0___i__min_X___f_min_Y___f_max_X___f_max_Y___f_WHERE_id___i_
mov dword [esp + 4], esi
mov dword [esp + 8], 0
movsd qword [esp + 0xc], xmm2
movsd qword [esp + 0x14], xmm3
movsd qword [esp + 0x1c], xmm4
movsd qword [esp + 0x24], xmm1
mov dword [esp + 0x2c], eax
call fcn.0051fe70
mov dword [ebx + 4], eax
push dword [ebp + 0x10]
mov ecx, ebx
push 0
push dword [ebp + 8]
call fcn.0048e470
mov esi, eax
mov eax, dword [ebx + 4]
test eax, eax
je 0x48dcd3
call fcn.004c69c4
mov eax, esi
add esp, 0xb4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0xc
jbe 0x48e006
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
mov dword [esp + 0x64], ecx
neg edi
add edi, eax
sar edi, 4
sub edx, ecx
sar edx, 4
mov dword [esp + 0x60], edi
test edx, edx
jbe 0x48dfb8
mov edx, dword [ecx]
sub eax, edx
sar eax, 4
test eax, eax
jbe 0x48df6b
movsd xmm0, qword [0x78cf00]
movsd xmm5, qword [edx]
mulsd xmm5, xmm0
cvttsd2si eax, xmm5
mov edx, dword [ebp + 0x10]
mov edi, dword [edx + 4]
mov dword [esp + 0x64], eax
sub edi, ecx
sar edi, 4
test edi, edi
jbe 0x48df1c
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x68], ecx
sub eax, edx
sar eax, 4
test eax, eax
jbe 0x48dec7
movsd xmm5, qword [edx + 8]
mulsd xmm5, xmm0
cvttsd2si eax, xmm5
mov edx, dword [ebp + 0x10]
mov edi, dword [edx + 4]
mov dword [esp + 0x68], eax
mov dword [esp + 0x74], edi
sub edi, ecx
sar edi, 4
lea eax, [edi - 1]
mov dword [esp + 0x6c], eax
cmp eax, edi
jae 0x48de71
mov eax, dword [esp + 0x6c]
shl eax, 4
mov edx, dword [ecx + eax + 4]
movsd xmm5, qword [edx - 0x10]
mulsd xmm5, xmm0
cvttsd2si edi, xmm5
mov edx, dword [esp + 0x74]
sub edx, ecx
sar edx, 4
lea eax, [edx - 1]
mov dword [esp + 0x70], eax
cmp eax, edx
jae 0x48de22
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [esp], str.UPDATE_mp_line_SET_s_x___i__s_y___i__e_x___i__e_y___i_parts_size___i__parts_____coordinates_____vertex0___i__min_X___f_min_Y___f_max_X___f_max_Y___f_WHERE_id___i_
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
shl eax, 4
mov ecx, dword [ecx + eax + 4]
movsd xmm5, qword [ecx - 8]
mulsd xmm5, xmm0
mov dword [esp + 8], edx
cvttsd2si eax, xmm5
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x60]
mov dword [esp + 0x18], esi
movsd qword [esp + 0x1c], xmm2
movsd qword [esp + 0x24], xmm3
movsd qword [esp + 0x2c], xmm4
movsd qword [esp + 0x34], xmm1
mov dword [esp + 0x3c], eax
call fcn.0051fe70
jmp 0x48dcb3
push str.vector
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x4c], xmm4
movsd qword [esp + 0x54], xmm3
movsd qword [esp + 0x5c], xmm2
call fcn.005d3820
movsd xmm2, qword [esp + 0x5c]
movsd xmm3, qword [esp + 0x54]
movsd xmm4, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x44]
add esp, 4
movsd xmm0, qword [0x78cf00]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
jmp 0x48ddb6
push str.vector
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x4c], xmm4
movsd qword [esp + 0x54], xmm3
movsd qword [esp + 0x5c], xmm2
call fcn.005d3820
movsd xmm2, qword [esp + 0x5c]
movsd xmm3, qword [esp + 0x54]
movsd xmm4, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x44]
add esp, 4
movsd xmm0, qword [0x78cf00]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x74], edx
jmp 0x48dd8a
push str.vector
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x4c], xmm4
movsd qword [esp + 0x54], xmm3
movsd qword [esp + 0x5c], xmm2
call fcn.005d3820
movsd xmm2, qword [esp + 0x5c]
movsd xmm3, qword [esp + 0x54]
movsd xmm4, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x44]
add esp, 4
movsd xmm0, qword [0x78cf00]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
jmp 0x48dd5b
push str.vector
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x4c], xmm4
movsd qword [esp + 0x54], xmm3
movsd qword [esp + 0x5c], xmm2
call fcn.005d3820
movsd xmm2, qword [esp + 0x5c]
movsd xmm3, qword [esp + 0x54]
movsd xmm4, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x44]
add esp, 4
movsd xmm0, qword [0x78cf00]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
jmp 0x48dd45
push str.vector
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x4c], xmm4
movsd qword [esp + 0x54], xmm3
movsd qword [esp + 0x5c], xmm2
call fcn.005d3820
movsd xmm2, qword [esp + 0x5c]
movsd xmm3, qword [esp + 0x54]
movsd xmm4, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x44]
add esp, 4
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx]
mov eax, dword [esp + 0x64]
mov edx, dword [eax]
jmp 0x48dd1a
push str.vector
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x4c], xmm4
movsd qword [esp + 0x54], xmm3
movsd qword [esp + 0x5c], xmm2
call fcn.005d3820
movsd xmm2, qword [esp + 0x5c]
movsd xmm3, qword [esp + 0x54]
movsd xmm4, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x44]
add esp, 4
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x64], ecx
jmp 0x48dd0b
push str.vector
movsd qword [esp + 0x44], xmm1
movsd qword [esp + 0x4c], xmm4
movsd qword [esp + 0x54], xmm3
movsd qword [esp + 0x5c], xmm2
call fcn.005d3820
movsd xmm2, qword [esp + 0x5c]
movsd xmm3, qword [esp + 0x54]
movsd xmm4, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x44]
add esp, 4
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
jmp 0x48dcea
push ebp
mov ebp, esp
and esp, 0xffffffe0
push edi
push esi
push ebx
sub esp, 0x94
mov esi, ecx
mov eax, dword [ebp + 0x10]
mov edx, 0xffffffff
mov dword [esi + 0x2c], edx
mov dword [esi + 0x44], edx
mov edx, dword [eax]
mov edi, edx
mov eax, dword [eax + 4]
fld qword [0x78cf08]
fld st(0)
fld qword [0x78cf10]
fld st(0)
xor ebx, ebx
cmp edx, eax
je 0x48e103
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], esi
mov ecx, dword [edi + 4]
sub ecx, dword [edi]
sar ecx, 4
test ecx, ecx
jbe 0x48e0f1
xor edx, edx
mov esi, dword [edi]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], eax
mov edi, edx
shl edi, 4
fld qword [esi + edi]
fcom st(4)
fnstsw ax
sahf
jae 0x48e0bf
jp 0x48e0bf
fst st(4)
fcom st(2)
fnstsw ax
sahf
jbe 0x48e0c8
fst st(2)
fstp st(0)
fld qword [esi + edi + 8]
fcom st(3)
fnstsw ax
sahf
jae 0x48e0d9
jp 0x48e0d9
fst st(3)
fcom st(1)
fnstsw ax
sahf
jbe 0x48e0e2
fst st(1)
fstp st(0)
inc edx
cmp edx, ecx
jb 0x48e0ac
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
add ebx, 2
add edi, 0x10
cmp edi, eax
jne 0x48e094
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
mov ecx, eax
sub ecx, edx
sar ecx, 4
test ecx, ecx
jne 0x48e172
mov dword [esp], str.UPDATE_mp_line_SET_parts_size___i__parts_____coordinates_____vertex0___i__min_X___f_min_Y___f_max_X___f_max_Y___f_WHERE_id___i_
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
fxch st(3)
fstp qword [esp + 0xc]
fxch st(1)
fstp qword [esp + 0x14]
fstp qword [esp + 0x1c]
fstp qword [esp + 0x24]
mov eax, dword [ebp + 8]
mov dword [esp + 0x2c], eax
call fcn.0051fe70
mov dword [esi + 4], eax
push dword [ebp + 0x10]
push 0
push dword [ebp + 8]
mov ecx, esi
call fcn.0048e470
mov ebx, eax
mov eax, dword [esi + 4]
test eax, eax
je 0x48e161
call fcn.004c69c4
mov eax, ebx
add esp, 0x94
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret 0xc
jbe 0x48e436
mov dword [esp + 0x64], edx
mov ecx, dword [edx + 4]
mov dword [esp + 0x68], ecx
mov edi, dword [edx]
neg edi
add edi, ecx
sar edi, 4
mov dword [esp + 0x60], edi
sub eax, edx
sar eax, 4
test eax, eax
jbe 0x48e3f4
mov ecx, dword [edx]
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 4
test eax, eax
jbe 0x48e3b7
fld qword [0x78cf18]
fld qword [ecx]
fmul st(1)
call fcn.00766870
mov dword [esp + 0x64], eax
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + 4]
sub edi, edx
sar edi, 4
test edi, edi
jbe 0x48e378
mov dword [esp + 0x68], edx
mov ecx, dword [edx]
mov eax, dword [edx + 4]
sub eax, ecx
sar eax, 4
test eax, eax
jbe 0x48e333
fld qword [ecx + 8]
fmul st(1)
call fcn.00766870
mov dword [esp + 0x68], eax
mov ecx, dword [ebp + 0x10]
mov edi, dword [ecx + 4]
mov dword [esp + 0x6c], edi
sub edi, edx
sar edi, 4
lea eax, [edi - 1]
mov dword [esp + 0x74], eax
cmp eax, edi
jae 0x48e2ed
mov ecx, dword [esp + 0x74]
shl ecx, 4
mov edi, dword [edx + ecx + 4]
fld qword [edi - 0x10]
fmul st(1)
call fcn.00766870
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x6c]
sub ecx, edx
sar ecx, 4
lea eax, [ecx - 1]
mov dword [esp + 0x78], eax
cmp eax, ecx
jae 0x48e2ae
mov dword [esp], str.UPDATE_mp_line_SET_s_x___i__s_y___i__e_x___i__e_y___i_parts_size___i__parts_____coordinates_____vertex0___i__min_X___f_min_Y___f_max_X___f_max_Y___f_WHERE_id___i_
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov edi, dword [esp + 0x68]
mov dword [esp + 8], edi
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x78]
shl ecx, 4
mov edx, dword [edx + ecx + 4]
fld qword [edx - 8]
fmulp st(1)
call fcn.00766870
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x18], ebx
fxch st(3)
fstp qword [esp + 0x1c]
fxch st(1)
fstp qword [esp + 0x24]
fstp qword [esp + 0x2c]
fstp qword [esp + 0x34]
mov eax, dword [ebp + 8]
mov dword [esp + 0x3c], eax
call fcn.0051fe70
jmp 0x48e141
push str.vector
fstp st(0)
fstp qword [esp + 0x44]
fstp qword [esp + 0x4c]
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
call fcn.005d3820
fld qword [esp + 0x5c]
fld qword [esp + 0x54]
fld qword [esp + 0x4c]
fld qword [esp + 0x44]
fld qword [0x78cf18]
add esp, 4
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
jmp 0x48e245
push str.vector
fstp st(0)
fstp qword [esp + 0x44]
fstp qword [esp + 0x4c]
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
call fcn.005d3820
fld qword [esp + 0x5c]
fld qword [esp + 0x54]
fld qword [esp + 0x4c]
fld qword [esp + 0x44]
fld qword [0x78cf18]
add esp, 4
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x6c], ecx
jmp 0x48e218
push str.vector
fstp st(0)
fstp qword [esp + 0x44]
fstp qword [esp + 0x4c]
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
call fcn.005d3820
fld qword [esp + 0x5c]
fld qword [esp + 0x54]
fld qword [esp + 0x4c]
fld qword [esp + 0x44]
fld qword [0x78cf18]
add esp, 4
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
jmp 0x48e1ec
push str.vector
fstp st(0)
fstp qword [esp + 0x44]
fstp qword [esp + 0x4c]
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
call fcn.005d3820
fld qword [esp + 0x5c]
fld qword [esp + 0x54]
fld qword [esp + 0x4c]
fld qword [esp + 0x44]
fld qword [0x78cf18]
add esp, 4
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
jmp 0x48e1d6
push str.vector
fstp qword [esp + 0x44]
fstp qword [esp + 0x4c]
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
call fcn.005d3820
fld qword [esp + 0x5c]
fld qword [esp + 0x54]
fld qword [esp + 0x4c]
fld qword [esp + 0x44]
add esp, 4
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
jmp 0x48e1b0
push str.vector
fstp qword [esp + 0x44]
fstp qword [esp + 0x4c]
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
call fcn.005d3820
fld qword [esp + 0x5c]
fld qword [esp + 0x54]
fld qword [esp + 0x4c]
fld qword [esp + 0x44]
add esp, 4
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov dword [esp + 0x64], edx
mov eax, dword [edx + 4]
mov dword [esp + 0x68], eax
jmp 0x48e19d
push str.vector
fstp qword [esp + 0x44]
fstp qword [esp + 0x4c]
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
call fcn.005d3820
fld qword [esp + 0x5c]
fld qword [esp + 0x54]
fld qword [esp + 0x4c]
fld qword [esp + 0x44]
add esp, 4
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x48e178