Function at 0x50d22f
Capabilities:
Get geographical location
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
test dword [0x87ed4c], 0xfffff000
jne 0x50d110
test dword [0x87ed4c], 0xffffffff
jne 0x50e920
call fcn.007663a0
jmp fcn.0050d0e0
push ebx
mov ebx, esp
and esp, 0xffffffc0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50e910
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x56c
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], esi
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x40], 0
call fcn.005148a0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xa4]
call fcn.005149b0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x158]
call fcn.00514a10
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x180]
call fcn.00514b20
lea eax, [ebp - 0x130]
push 0x4021f0
push 0x4021e0
push 0xa
push 0xc
push eax
call fcn.007445dd
mov dword [ebp - 4], 3
lea eax, [ebp - 0x577]
push eax
lea ecx, [ebp - 0x60]
call fcn.00500bb0
mov dword [ebp - 4], 4
pxor xmm0, xmm0
movaps xmmword [ebp - 0x88], xmm0
movaps xmmword [ebp - 0x78], xmm0
movq qword [ebp - 0x68], xmm0
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0x3c]
mov edi, dword [edx + 0x78]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xb4], edx
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0xb4]
push edi
push esi
call fcn.005119a0
mov edx, eax
mov dword [ebp - 0xb8], edx
add esp, 0xfffffff8
mov eax, esi
mov dword [ebp - 0x38], edx
call fcn.00511970
mov edi, dword [ebx + 0x10]
add esp, 8
mov dword [ebp - 0xb0], eax
mov ecx, esi
mov edx, edi
push 6
push str.layers
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50e8db
push 6
mov ecx, esi
mov edx, edi
push str.marine
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d2a7
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
add esp, 0xfffffff4
lea ecx, [ebp - 0x576]
call fcn.0051c110
add esp, 0xc
movzx eax, al
test eax, eax
je 0x50e4d3
movsx eax, byte [ebp - 0x576]
push eax
call fcn.0051bfa0
pop ecx
movsx eax, al
cmp eax, 0x31
je 0x50d29d
cmp eax, 0x79
jne 0x50d2a7
mov dword [ebp - 0x88], 3
push 6
mov ecx, esi
mov edx, edi
push str.roadid
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d2e7
mov edx, dword [ebp - 0x38]
add esp, 0xfffffff0
lea eax, [ebp - 0x78]
mov dword [esp + 0xc], eax
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0xb0]
call fcn.00511640
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50e58c
push 4
mov ecx, esi
mov edx, edi
push str.type
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d324
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x84]
push eax
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
call fcn.0050c7e0
movzx eax, al
test eax, eax
je 0x50e5d4
mov edi, dword [ebx + 0x10]
push 7
mov ecx, esi
mov edx, edi
push str.subtype
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d364
mov edx, dword [ebp - 0x38]
add esp, 0xfffffff0
lea eax, [ebp - 0x80]
mov dword [esp + 0xc], eax
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0xb0]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50e619
push 5
mov ecx, esi
mov edx, edi
push str.color
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d3a7
mov edx, dword [ebp - 0x38]
add esp, 0xfffffff0
lea eax, [ebp - 0x8c]
mov dword [esp + 0xc], eax
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0xb0]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50e661
push 6
mov ecx, esi
mov edx, edi
push str.label2
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50e8b0
push 6
mov ecx, esi
mov edx, edi
push str.label3
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50e885
push 8
mov ecx, esi
mov edx, edi
push str.cityname
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50e85a
push 0xa
mov ecx, esi
mov edx, edi
push str.regionname
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50e82f
push 0xb
mov ecx, esi
mov edx, edi
push str.countryname
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50e804
push 6
mov ecx, esi
mov edx, edi
push str.zipidx
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d46e
mov edx, dword [ebp - 0x38]
add esp, 0xfffffff0
lea eax, [ebp - 0x6c]
mov dword [esp + 0xc], eax
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0xb0]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50e6a9
push 4
mov ecx, esi
mov edx, edi
push str.zip
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50e7d9
push 7
mov ecx, esi
mov edx, edi
push str.cityidx
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d4c9
mov edx, dword [ebp - 0x38]
add esp, 0xfffffff0
lea eax, [ebp - 0x68]
mov dword [esp + 0xc], eax
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0xb0]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50e6f1
push 6
mov ecx, esi
mov edx, edi
push str.levels
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50d4f7
push 8
mov ecx, esi
mov edx, edi
push str.endlevel
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d520
mov edx, dword [ebp - 0x38]
add esp, 0xfffffff0
lea eax, [ebp - 0x70]
mov dword [esp + 0xc], eax
lea ecx, [ebp - 0x40]
mov eax, dword [ebp - 0xb0]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50e791
push 5
mov ecx, esi
mov edx, edi
push str.label
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50e766
push 7
mov ecx, esi
mov edx, edi
push str.numbers
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d5a9
lea edi, [ebp - 0x298]
mov ecx, edi
call fcn.00511380
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x3c]
mov eax, 0xffffffff
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], eax
push edi
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
call fcn.005119f0
push edi
lea ecx, [ebp - 0x60]
call fcn.0048a240
mov dword [ebp - 4], 5
mov ecx, edi
call fcn.00514000
mov edi, dword [ebx + 0x10]
push 0xa
mov ecx, esi
mov edx, edi
push str.routeparam
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d5db
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
call fcn.00510190
mov edi, dword [ebx + 0x10]
push 3
mov ecx, esi
mov edx, edi
push 0x793708
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d649
lea edi, [ebp - 0x388]
mov ecx, edi
call fcn.00511380
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x3c]
mov eax, 0xffffffff
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], eax
push edi
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
call fcn.00513c00
push edi
lea ecx, [ebp - 0x60]
call fcn.0048a240
mov dword [ebp - 4], 5
mov ecx, edi
call fcn.00514000
mov edi, dword [ebx + 0x10]
push 4
mov ecx, esi
mov edx, edi
push str.data
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d6cd
movsx eax, byte [esi + 4]
cmp eax, 0x30
jl 0x50d6cd
cmp eax, 0x39
jg 0x50d6cd
lea edi, [ebp - 0x1a8]
mov ecx, edi
call fcn.005143a0
mov dword [ebp - 4], 6
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
add esp, 0xfffffff4
mov ecx, edi
call fcn.0050ccf0
add esp, 0xc
push edi
lea ecx, [ebp - 0x180]
call fcn.005143c0
movsx edx, byte [esi + 4]
lea eax, [edx*8]
lea esi, [eax + edx*4]
lea ecx, [ebp + esi - 0x370]
push edi
call fcn.0048b2e0
mov dword [ebp - 4], 5
mov ecx, edi
call fcn.00514270
mov dword [ebp - 4], 4
mov dword [ebp - 4], 4
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ecx + 0x78]
mov dword [ebp - 0xb4], ecx
push edi
push esi
call fcn.005119a0
push 4
mov ecx, esi
mov edx, eax
push str._end
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50d1f6
mov eax, dword [ebp - 0x84]
cmp eax, 0xff
jae 0x50d72a
mov ecx, dword [ebp - 0x80]
or ecx, 0xffffffe8
shl eax, cl
mov dword [ebp - 0x84], eax
cmp dword [ebx + 8], 0x10
jge 0x50d73b
or eax, 0x10000
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x88], 0x10
jae 0x50d74f
or eax, 0x10000
mov dword [ebp - 0x84], eax
test eax, 0x10000
je 0x50d760
mov dword [ebp - 0x88], 3
mov eax, dword [ebp - 0x68]
test eax, eax
jbe 0x50d7b9
add esp, 0xfffffff8
mov dword [esp], str.SELECT_MP_CITIES_OBS.city__MP_REGIONS_OBS.region__MP_COUNTRIES_OBS.country__FROM_MP_COUNTRIES_OBS__MP_REGIONS_OBS___MP_CITIES_OBS_WHERE__MP_CITIES_OBS.id___i_AND_MP_CITIES_OBS.region_id__MP_REGIONS_OBS.id_AND_MP_REGIONS_OBS.country_id__MP_COUNTRIES_OBS.id_
mov dword [esp + 4], eax
call fcn.0051fe70
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0x3c]
add esp, 0xffffffec
lea edi, [ebp - 0x3d0]
mov eax, dword [eax + 4]
mov dword [esp + 0xc], edi
lea edx, [ebp - 0x3b8]
lea ecx, [ebp - 0x3e8]
mov dword [esp + 0x10], edx
mov edx, esi
call fcn.00514bb0
add esp, 0x14
test esi, esi
je 0x50d7b9
push eax
mov eax, esi
call fcn.004c69c4
pop ecx
mov eax, dword [ebp - 0x6c]
test eax, eax
jbe 0x50d7fe
add esp, 0xfffffff8
mov dword [esp], str.SELECT_MP_ZIP_OBS.zip__FROM_MP_ZIP_OBS_WHERE__MP_ZIP_OBS.id___i_
mov dword [esp + 4], eax
call fcn.0051fe70
add esp, 8
mov edi, eax
mov esi, dword [ebp - 0x3c]
add esp, 0xfffffff4
mov edx, edi
lea ecx, [ebp - 0x3a0]
mov eax, dword [esi + 4]
call fcn.005156d0
add esp, 0xc
test edi, edi
je 0x50d7fe
push eax
mov eax, edi
call fcn.004c69c4
pop ecx
xor esi, esi
mov dword [ebp - 0xa8], esi
lea eax, [esi*8]
lea ecx, [eax + esi*4]
lea edx, [ebp - 0x130]
add ecx, edx
call fcn.00524b40
mov edx, dword [ebp - 0xa8]
lea ecx, [edx + eax*2]
mov dword [ebp - 0xa8], ecx
inc esi
cmp esi, 0xa
jl 0x50d806
mov eax, ecx
lea edx, [eax*4]
mov dword [ebp - 0x55c], edx
push eax
mov dword [esp], edx
call fcn.0061de30
pop ecx
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x130]
call fcn.00524b40
mov dword [ebp - 0x188], eax
test eax, eax
jne 0x50e153
mov eax, 0x77359400
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x198], eax
xor ecx, ecx
mov dword [ebp - 0x34], ecx
xor edx, edx
lea eax, [edx*8]
lea esi, [eax + edx*4]
mov eax, dword [ebp + esi - 0x130]
mov edi, dword [ebp + esi - 0x12c]
mov dword [ebp - 0x184], edi
cmp eax, edi
je 0x50d8d6
mov edi, dword [ebp - 0x44]
mov dword [edi + ecx*8], edx
mov esi, dword [eax + 4]
sub esi, dword [eax]
sar esi, 4
mov dword [edi + ecx*8 + 4], esi
inc ecx
mov esi, dword [eax + 4]
sub esi, dword [eax]
add eax, 0x10
sar esi, 4
add dword [ebp - 0x34], esi
cmp eax, dword [ebp - 0x184]
jne 0x50d8ad
inc edx
cmp edx, 0xa
jl 0x50d88b
cmp dword [ebp - 0x188], 0
jne 0x50e13a
xor eax, eax
mov dword [ebp - 0xac], eax
lea ecx, [ebp - 0x448]
call fcn.0065a5b0
mov dword [ebp - 0x15c], eax
lea ecx, [ebp - 0x430]
call fcn.0065a5b0
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0x418]
call fcn.0065a5b0
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0x188], eax
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
mov dword [ebp - 0x184], eax
lea ecx, [ebp - 0x158]
call fcn.0065a5b0
cvtsd2ss xmm0, qword [ebp - 0x180]
mov edx, dword [ebp - 0x3c]
cvtsd2ss xmm3, qword [ebp - 0x178]
mov esi, dword [ebp - 0x78]
cvtsd2ss xmm6, qword [ebp - 0x170]
mov edi, dword [ebp - 0x74]
add esp, 0xffffff80
mov ecx, dword [edx + 0x7c]
mov edx, dword [ebp - 0x198]
mov dword [esp], str.INSERT_INTO_MP_LINE__map_id_road_id_s_x_s_y_e_x_e_y_min_X_min_Y_max_X_max_Y__coordinates__parts_size___parts__vertex0__rgnType_type_label__label2__label3___cityname_regionname_countryname__zip__speed___road_class__one_way___toll__restriction____VALUES___i___lld___i___i___i___i___f___f___f___f______i______i____i___i___q___q___q___q___q___q____q___i___i___i___i___q__
xorps xmm1, xmm1
movss xmm1, xmm0
cvtps2pd xmm2, xmm1
cvtsd2ss xmm1, qword [ebp - 0x168]
mov dword [esp + 4], ecx
mov ecx, dword [ebp - 0x194]
xorps xmm4, xmm4
movss xmm4, xmm3
mov dword [esp + 8], esi
mov esi, dword [ebp - 0x190]
cvtps2pd xmm5, xmm4
xorps xmm7, xmm7
movss xmm7, xmm6
mov dword [esp + 0xc], edi
mov edi, dword [ebp - 0x18c]
cvtps2pd xmm0, xmm7
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0xa8]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0xac]
mov dword [esp + 0x18], esi
mov esi, dword [ebp - 0x88]
mov dword [esp + 0x1c], edi
mov edi, dword [ebp - 0x84]
movsd qword [esp + 0x20], xmm2
xorps xmm2, xmm2
movss xmm2, xmm1
cvtps2pd xmm3, xmm2
movsd qword [esp + 0x28], xmm5
movsd qword [esp + 0x30], xmm0
movsd qword [esp + 0x38], xmm3
mov dword [esp + 0x40], edx
mov edx, dword [ebp - 0x15c]
mov dword [esp + 0x44], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [esp + 0x48], esi
mov esi, dword [ebp - 0xb4]
mov dword [esp + 0x4c], edi
mov edi, dword [ebp - 0xb0]
mov dword [esp + 0x50], edx
mov edx, dword [ebp - 0x188]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebp - 0x160]
mov dword [esp + 0x58], esi
mov esi, dword [ebp - 0x184]
mov dword [esp + 0x5c], edi
mov edi, dword [ebp - 0x140]
mov dword [esp + 0x60], edx
mov edx, dword [ebp - 0x13c]
mov dword [esp + 0x64], ecx
mov ecx, dword [ebp - 0x138]
mov dword [esp + 0x68], esi
mov esi, dword [ebp - 0x134]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], eax
call fcn.0051fe70
add esp, 0x80
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x34]
shl eax, 4
mov dword [ebp - 0x34], eax
push eax
mov dword [esp], eax
call fcn.0061de30
pop ecx
mov esi, eax
xor edx, edx
mov dword [ebp - 0x194], edx
mov ecx, dword [ebp - 0x194]
lea eax, [ecx*8]
lea edi, [eax + ecx*4]
mov eax, dword [ebp + edi - 0x130]
mov ecx, dword [ebp + edi - 0x12c]
mov dword [ebp - 0x190], ecx
cmp eax, ecx
je 0x50db51
mov edi, dword [eax]
mov ecx, dword [eax + 4]
cmp edi, ecx
jae 0x50db2f
movsd xmm0, qword [edi]
movsd qword [esi + edx*8], xmm0
inc edx
add edi, 0x10
mov ecx, dword [eax + 4]
cmp edi, ecx
jb 0x50db16
jmp 0x50e4cc
cmp edi, ecx
jae 0x50db46
movsd xmm0, qword [edi + 8]
movsd qword [esi + edx*8], xmm0
inc edx
add edi, 0x10
cmp edi, dword [eax + 4]
jb 0x50db33
add eax, 0x10
cmp eax, dword [ebp - 0x190]
jne 0x50db0d
mov eax, dword [ebp - 0x194]
inc eax
mov dword [ebp - 0x194], eax
cmp eax, 0xa
jl 0x50dae5
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x198]
mov eax, dword [eax + 4]
mov dword [ebp - 0x4c], 0
add esp, 0xffffffec
lea edi, [ebp - 0x4c]
mov ecx, 0xffffffff
mov dword [esp + 0xc], edi
lea edi, [ebp - 0x48]
mov dword [esp + 0x10], edi
call fcn.004c742c
add esp, 0x14
mov edi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x4c]
add esp, 0xffffffec
mov dword [esp + 0xc], edi
mov edx, 1
mov ecx, esi
mov dword [esp + 0x10], 0
call fcn.0051453c
add esp, 0x14
mov edi, dword [ebp - 0x55c]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
add esp, 0xffffffec
mov dword [esp + 0xc], edi
mov edx, 2
mov dword [esp + 0x10], 0
call fcn.0051453c
add esp, 0x14
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0048ecb4
pop ecx
mov edi, eax
mov eax, dword [ebp - 0x4c]
push eax
call fcn.00408ac4
pop ecx
cmp dword [ebp - 0x198], 0
je 0x50dc0c
mov eax, dword [ebp - 0x198]
push eax
call fcn.004c69c4
pop ecx
push dword [ebp - 0x44]
call fcn.0074430f
push esi
call fcn.0074430f
add esp, 8
cmp edi, 0x65
jne 0x50dde1
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x60]
mov edx, dword [eax + 4]
mov esi, dword [edx + 0x30]
mov dword [ebp - 0x44], esi
call fcn.00515d50
test eax, eax
je 0x50dde1
mov edi, dword [ebp - 0x60]
cmp edi, dword [ebp - 0x5c]
je 0x50dde1
mov eax, dword [ebp - 0x44]
add esp, 0xfffffff4
mov edx, dword [edi]
mov dword [esp], str.SELECT_count___FROM_MP_SEGMENT_WHERE_line_id___i_AND_vertex____i_
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0051fe70
add esp, 0xc
mov esi, eax
mov ecx, dword [ebp - 0x3c]
add esp, 0xfffffff8
mov edx, esi
mov eax, dword [ecx + 4]
call fcn.004ffa50
add esp, 8
test eax, eax
jle 0x50e1bc
test esi, esi
je 0x50dcfe
cmp dword [0x830380], 0
je 0x50dcf3
mov eax, dword [0x84f788]
test eax, eax
je 0x50dcab
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov eax, dword [0x84f3c4]
mov dword [0x84f3a0], edx
cmp edx, eax
cmovge eax, edx
push eax
mov dword [0x84f3c4], eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50dcfe
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50dcfd
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov eax, edx
sub eax, 0
jl 0x50deb0
mov eax, dword [edi + 0x10]
add esp, 0xffffffe8
mov dword [esp], str.UPDATE_MP_SEGMENT_set_node_id___lld__bound___i_WHERE_line_id___i_AND_vertex____i_
mov dword [esp + 4], ecx
mov ecx, dword [edi]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x44]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.0051fe70
add esp, 0x18
mov esi, eax
mov edx, dword [ebp - 0x3c]
add esp, 0xffffffec
xor eax, eax
mov dword [esp + 0xc], eax
xor ecx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
mov edx, esi
call fcn.005037fc
add esp, 0x14
test esi, esi
je 0x50ddd2
cmp dword [0x830380], 0
je 0x50ddc7
mov eax, dword [0x84f788]
test eax, eax
je 0x50dd7f
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov eax, dword [0x84f3c4]
mov dword [0x84f3a0], edx
cmp edx, eax
cmovge eax, edx
push eax
mov dword [0x84f3c4], eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50ddd2
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50ddd1
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
add edi, 0xf0
cmp edi, dword [ebp - 0x5c]
jne 0x50dc4e
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x60]
call fcn.0048bdf0
mov dword [ebp - 4], 2
push 0x4021f0
lea eax, [ebp - 0x130]
push 0xa
push 0xc
push eax
call fcn.007446a0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x158]
call fcn.00515d70
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xa4]
call fcn.005145b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x448]
call fcn.00514630
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
lea esi, [edi + 0x14]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50dec7
mov ecx, esi
call fcn.0065a5b0
jmp 0x50ded2
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0x55c], eax
lea esi, [edi + 0x2c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50deef
mov ecx, esi
call fcn.0065a5b0
jmp 0x50defa
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0x198], eax
lea esi, [edi + 0x44]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50df17
mov ecx, esi
call fcn.0065a5b0
jmp 0x50df22
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0x194], eax
lea esi, [edi + 0x5c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50df3f
mov ecx, esi
call fcn.0065a5b0
jmp 0x50df4a
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0x190], eax
lea esi, [edi + 0x74]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50df67
mov ecx, esi
call fcn.0065a5b0
jmp 0x50df72
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0x18c], eax
lea esi, [edi + 0x8c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50df92
mov ecx, esi
call fcn.0065a5b0
jmp 0x50df9d
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0x184], eax
lea esi, [edi + 0xa4]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50dfbd
mov ecx, esi
call fcn.0065a5b0
jmp 0x50dfc8
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
mov esi, eax
lea ecx, [edi + 0xbc]
mov dword [ebp - 0x188], ecx
call fcn.00510180
test eax, eax
je 0x50dfec
mov ecx, dword [ebp - 0x188]
call fcn.0065a5b0
jmp 0x50dff7
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
mov edx, dword [ebp - 0x55c]
mov ecx, dword [ebp - 0x198]
add esp, 0xffffffbc
mov dword [esp], str.UPDATE_MP_SEGMENT_set_leftCity___q__leftRegion___q__leftCountry___q___rightCity___q__rightRegion___q__rightCountry___q__leftZip___q__rightZip___q__leftStart___i__leftEnd___i__leftType___i___rightStart___i__rightEnd___i__rightType___i_WHERE_line_id___i_AND_vertex____i_
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x194]
mov dword [esp + 8], ecx
mov ecx, dword [ebp - 0x190]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x18c]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp - 0x184]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xe0]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0xe4]
mov dword [esp + 0x1c], esi
mov esi, dword [edi + 0xd8]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xd4]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0xdc]
mov dword [esp + 0x28], esi
mov esi, dword [edi + 0xe8]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp - 0x44]
mov dword [esp + 0x30], edx
mov edx, dword [edi]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
call fcn.0051fe70
add esp, 0x44
mov esi, eax
mov edx, dword [ebp - 0x3c]
add esp, 0xffffffec
xor eax, eax
mov dword [esp + 0xc], eax
xor ecx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
mov edx, esi
call fcn.005037fc
add esp, 0x14
test esi, esi
je 0x50ddd2
cmp dword [0x830380], 0
je 0x50e12b
mov eax, dword [0x84f788]
test eax, eax
je 0x50e0dc
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov eax, dword [0x84f3c4]
mov dword [0x84f3a0], edx
cmp edx, eax
cmovge eax, edx
push eax
mov dword [0x84f3c4], eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50ddd2
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50ddd1
push eax
mov dword [esp], esi
call dword [0x83039c]
jmp 0x50ddd1
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
mov dword [ebp - 0xac], edx
jmp 0x50d8f1
mov eax, dword [ebp - 0x130]
mov edi, dword [ebp - 0x12c]
movsd xmm3, qword [0x78cfb0]
mov ecx, dword [eax]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mulsd xmm0, xmm3
cvttsd2si edx, xmm0
mov dword [ebp - 0x198], edx
mulsd xmm1, xmm3
mov edx, dword [edi - 0xc]
cvttsd2si esi, xmm1
movsd xmm2, qword [edx - 0x10]
movsd xmm4, qword [edx - 8]
mulsd xmm2, xmm3
mov dword [ebp - 0x194], esi
cvttsd2si eax, xmm2
mulsd xmm4, xmm3
mov dword [ebp - 0x190], eax
cvttsd2si ecx, xmm4
mov dword [ebp - 0x18c], ecx
jmp 0x50d884
test esi, esi
je 0x50e230
cmp dword [0x830380], 0
je 0x50e225
mov eax, dword [0x84f788]
test eax, eax
je 0x50e1dd
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov eax, dword [0x84f3c4]
mov dword [0x84f3a0], edx
cmp edx, eax
cmovge eax, edx
push eax
mov dword [0x84f3c4], eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50e230
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50e22f
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
lea esi, [edi + 0x14]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50e247
mov ecx, esi
call fcn.0065a5b0
jmp 0x50e252
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0x160], eax
lea esi, [edi + 0x2c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50e26f
mov ecx, esi
call fcn.0065a5b0
jmp 0x50e27a
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0x15c], eax
lea esi, [edi + 0x44]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50e297
mov ecx, esi
call fcn.0065a5b0
jmp 0x50e2a2
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0xb8], eax
lea esi, [edi + 0x5c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50e2bf
mov ecx, esi
call fcn.0065a5b0
jmp 0x50e2ca
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0xb4], eax
lea esi, [edi + 0x74]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50e2e7
mov ecx, esi
call fcn.0065a5b0
jmp 0x50e2f2
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0xb0], eax
lea esi, [edi + 0x8c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50e312
mov ecx, esi
call fcn.0065a5b0
jmp 0x50e31d
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0xac], eax
lea esi, [edi + 0xa4]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50e33d
mov ecx, esi
call fcn.0065a5b0
jmp 0x50e348
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
mov dword [ebp - 0xa8], eax
lea ecx, [edi + 0xbc]
mov eax, dword [ecx + 0x14]
cmp eax, dword [ecx + 0x10]
je 0x50e363
call fcn.0065a5b0
jmp 0x50e36e
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
mov edx, dword [ebp - 0x44]
add esp, 0xffffffb0
mov ecx, dword [edi]
mov esi, dword [edi + 8]
mov dword [esp], str.INSERT_INTO_MP_SEGMENT_line_id_vertex_node_id_bound___leftCity___leftRegion___leftCountry____rightCity___rightRegion___rightCountry___leftZip___rightZip___leftStart___leftEnd___leftType____rightStart___rightEnd___rightType____VALUES___i___i___lld___i___q___q__q__q__q__q__q__q__i__i__i__i__i__i__
mov dword [esp + 4], edx
mov edx, dword [edi + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0xc], esi
mov esi, dword [ebp - 0x160]
mov dword [esp + 0x10], edx
mov edx, dword [ebp - 0x15c]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebp - 0xb8]
mov dword [esp + 0x18], esi
mov esi, dword [ebp - 0xb4]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp - 0xb0]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp - 0xac]
mov dword [esp + 0x24], esi
mov esi, dword [ebp - 0xa8]
mov dword [esp + 0x28], edx
mov edx, dword [edi + 0xdc]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edi + 0xe0]
mov dword [esp + 0x30], esi
mov esi, dword [edi + 0xe4]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0xd8]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0xe8]
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], eax
call fcn.0051fe70
add esp, 0x50
mov esi, eax
mov edx, dword [ebp - 0x3c]
add esp, 0xffffffec
xor eax, eax
mov dword [esp + 0xc], eax
xor ecx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
mov edx, esi
call fcn.005037fc
add esp, 0x14
test esi, esi
je 0x50ddd2
cmp dword [0x830380], 0
je 0x50e4bd
mov eax, dword [0x84f788]
test eax, eax
je 0x50e46e
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov eax, dword [0x84f3c4]
mov dword [0x84f3a0], edx
cmp edx, eax
cmovge eax, edx
push eax
mov dword [0x84f3c4], eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50ddd2
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50ddd1
push eax
mov dword [esp], esi
call dword [0x83039c]
jmp 0x50ddd1
mov edi, dword [eax]
jmp 0x50db2f
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x198], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
mov edx, dword [ebp - 0x198]
add esp, 0xfffffff4
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50d2a7
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x194], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
mov edx, dword [ebp - 0x194]
add esp, 0xfffffff4
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50d2e7
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x190], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
mov edx, dword [ebp - 0x190]
add esp, 0xfffffff4
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
jmp 0x50d321
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x18c], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
mov edx, dword [ebp - 0x18c]
add esp, 0xfffffff4
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50d364
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x188], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
mov edx, dword [ebp - 0x188]
add esp, 0xfffffff4
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50d3a7
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x184], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
mov edx, dword [ebp - 0x184]
add esp, 0xfffffff4
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50d46e
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x160], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
mov edx, dword [ebp - 0x160]
add esp, 0xfffffff4
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50d4c9
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
call fcn.005189b0
push eax
lea ecx, [ebp - 0x448]
push dword [ebp - 0xb0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50d53b
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x15c], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
mov edx, dword [ebp - 0x15c]
add esp, 0xfffffff4
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50d520
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
call fcn.005189b0
push eax
lea ecx, [ebp - 0x3a0]
push dword [ebp - 0xb0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50d489
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
call fcn.005189b0
push eax
lea ecx, [ebp - 0x3b8]
push dword [ebp - 0xb0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50d42e
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
call fcn.005189b0
push eax
lea ecx, [ebp - 0x3d0]
push dword [ebp - 0xb0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50d413
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
call fcn.005189b0
push eax
lea ecx, [ebp - 0x3e8]
push dword [ebp - 0xb0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50d3f8
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
call fcn.005189b0
push eax
lea ecx, [ebp - 0x418]
push dword [ebp - 0xb0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50d3dd
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
call fcn.005189b0
push eax
lea ecx, [ebp - 0x430]
push dword [ebp - 0xb0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50d3c2
push dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
push dword [ebp - 0xb0]
call fcn.005189b0
push eax
lea ecx, [ebp - 0x400]
push dword [ebp - 0xb0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50d246
push ebx
mov ebx, esp
and esp, 0xffffffe0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x510170
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x56c
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x3c], ecx
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x40], 0
lea ecx, [ebp - 0x448]
call fcn.005148a0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xa4]
call fcn.005149b0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x158]
call fcn.00514a10
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x180]
call fcn.00514b20
lea eax, [ebp - 0x130]
push 0x4021f0
push 0x4021e0
push 0xa
push 0xc
push eax
call fcn.007445dd
mov dword [ebp - 4], 3
lea eax, [ebp - 0x577]
push eax
lea ecx, [ebp - 0x60]
call fcn.00500bb0
mov dword [ebp - 4], 4
xor edx, edx
mov eax, 0x28
mov dword [ebp + eax - 0x8c], edx
mov dword [ebp + eax - 0x90], edx
mov dword [ebp + eax - 0x94], edx
mov dword [ebp + eax - 0x98], edx
mov dword [ebp + eax - 0x9c], edx
sub eax, 0x14
jne 0x50e9e4
mov eax, dword [ebx + 8]
mov dword [ebp - 0x88], eax
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], edx
mov edi, dword [edx + 0x78]
mov dword [ebp - 4], 5
push edi
push esi
mov ecx, dword [ebp - 0xb4]
call fcn.005119a0
mov edx, eax
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0x38], edx
add esp, 0xfffffff8
mov eax, esi
call fcn.00511970
add esp, 8
mov dword [ebp - 0xb0], eax
mov edi, dword [ebx + 0x10]
push 6
push str.layers
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x51013f
push 6
push str.marine
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50ead2
add esp, 0xfffffff4
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x576]
call fcn.0051c110
add esp, 0xc
movzx eax, al
test eax, eax
je 0x50fd37
movsx eax, byte [ebp - 0x576]
push eax
call fcn.0051bfa0
pop ecx
movsx eax, al
cmp eax, 0x31
je 0x50eac8
cmp eax, 0x79
jne 0x50ead2
mov dword [ebp - 0x88], 3
push 6
push str.roadid
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50eb12
add esp, 0xfffffff0
lea eax, [ebp - 0x78]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x40]
call fcn.00511640
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50fdf0
push 4
push str.type
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50eb4f
lea eax, [ebp - 0x84]
push eax
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.0050c7e0
movzx eax, al
test eax, eax
je 0x50fe38
mov edi, dword [ebx + 0x10]
push 7
push str.subtype
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50eb8f
add esp, 0xfffffff0
lea eax, [ebp - 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x40]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50fe7d
push 5
push str.color
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50ebd2
add esp, 0xfffffff0
lea eax, [ebp - 0x8c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x40]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50fec5
push 6
push str.label2
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x510114
push 6
push str.label3
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x5100e9
push 8
push str.cityname
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x5100be
push 0xa
push str.regionname
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x510093
push 0xb
push str.countryname
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x510068
push 6
push str.zipidx
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50ec99
add esp, 0xfffffff0
lea eax, [ebp - 0x6c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x40]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50ff0d
push 4
push str.zip
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x51003d
push 7
push str.cityidx
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50ecf4
add esp, 0xfffffff0
lea eax, [ebp - 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x40]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50ff55
push 6
push str.levels
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50ed22
push 8
push str.endlevel
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50ed4b
add esp, 0xfffffff0
lea eax, [ebp - 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
lea ecx, [ebp - 0x40]
call fcn.0051c600
add esp, 0x10
movzx eax, al
test eax, eax
je 0x50fff5
push 5
push str.label
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
jne 0x50ffca
push 7
push str.numbers
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50edd4
lea edi, [ebp - 0x298]
mov ecx, edi
call fcn.00511380
mov dword [ebp - 4], 8
mov eax, 0xffffffff
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], eax
push edi
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.005119f0
push edi
lea ecx, [ebp - 0x60]
call fcn.0048a240
mov dword [ebp - 4], 5
mov ecx, edi
call fcn.00514000
mov edi, dword [ebx + 0x10]
push 0xa
push str.routeparam
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50ee06
lea eax, [ebp - 0x158]
push eax
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.00510190
mov edi, dword [ebx + 0x10]
push 3
push 0x793708
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50ee74
lea edi, [ebp - 0x388]
mov ecx, edi
call fcn.00511380
mov dword [ebp - 4], 7
mov eax, 0xffffffff
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], eax
push edi
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.00513c00
push edi
lea ecx, [ebp - 0x60]
call fcn.0048a240
mov dword [ebp - 4], 5
mov ecx, edi
call fcn.00514000
mov edi, dword [ebx + 0x10]
push 4
push str.data
mov ecx, esi
mov edx, edi
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50eef8
movsx eax, byte [esi + 4]
cmp eax, 0x30
jl 0x50eef8
cmp eax, 0x39
jg 0x50eef8
lea edi, [ebp - 0x1a8]
mov ecx, edi
call fcn.005143a0
mov dword [ebp - 4], 6
add esp, 0xfffffff4
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
mov ecx, edi
call fcn.0050ccf0
add esp, 0xc
push edi
lea ecx, [ebp - 0x180]
call fcn.005143c0
movsx edx, byte [esi + 4]
lea eax, [edx*8]
lea esi, [eax + edx*4]
lea ecx, [ebp + esi - 0x370]
push edi
call fcn.0048b2e0
mov dword [ebp - 4], 5
mov ecx, edi
call fcn.00514270
mov dword [ebp - 4], 4
mov dword [ebp - 4], 4
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xb4], ecx
mov edi, dword [ecx + 0x78]
push edi
push esi
call fcn.005119a0
push 4
push str._end
mov ecx, esi
mov edx, eax
call fcn.0051bfc0
movzx eax, al
test eax, eax
je 0x50ea21
mov eax, dword [ebp - 0x84]
cmp eax, 0xff
jae 0x50ef55
mov ecx, dword [ebp - 0x80]
or ecx, 0xffffffe8
shl eax, cl
mov dword [ebp - 0x84], eax
cmp dword [ebx + 8], 0x10
jge 0x50ef66
or eax, 0x10000
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x88], 0x10
jae 0x50ef7a
or eax, 0x10000
mov dword [ebp - 0x84], eax
test eax, 0x10000
je 0x50ef8b
mov dword [ebp - 0x88], 3
mov eax, dword [ebp - 0x68]
test eax, eax
jbe 0x50efe4
add esp, 0xfffffff8
mov dword [esp], str.SELECT_MP_CITIES_OBS.city__MP_REGIONS_OBS.region__MP_COUNTRIES_OBS.country__FROM_MP_COUNTRIES_OBS__MP_REGIONS_OBS___MP_CITIES_OBS_WHERE__MP_CITIES_OBS.id___i_AND_MP_CITIES_OBS.region_id__MP_REGIONS_OBS.id_AND_MP_REGIONS_OBS.country_id__MP_COUNTRIES_OBS.id_
mov dword [esp + 4], eax
call fcn.0051fe70
add esp, 8
mov esi, eax
add esp, 0xffffffec
mov eax, dword [ebp - 0x3c]
lea edi, [ebp - 0x3d0]
mov dword [esp + 0xc], edi
lea edx, [ebp - 0x3b8]
mov dword [esp + 0x10], edx
mov eax, dword [eax + 4]
mov edx, esi
lea ecx, [ebp - 0x3e8]
call fcn.00514bb0
add esp, 0x14
test esi, esi
je 0x50efe4
push eax
mov eax, esi
call fcn.004c69c4
pop ecx
mov eax, dword [ebp - 0x6c]
test eax, eax
jbe 0x50f029
add esp, 0xfffffff8
mov dword [esp], str.SELECT_MP_ZIP_OBS.zip__FROM_MP_ZIP_OBS_WHERE__MP_ZIP_OBS.id___i_
mov dword [esp + 4], eax
call fcn.0051fe70
add esp, 8
mov edi, eax
add esp, 0xfffffff4
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + 4]
mov edx, edi
lea ecx, [ebp - 0x3a0]
call fcn.005156d0
add esp, 0xc
test edi, edi
je 0x50f029
push eax
mov eax, edi
call fcn.004c69c4
pop ecx
xor esi, esi
mov dword [ebp - 0xa8], esi
lea eax, [esi*8]
lea ecx, [eax + esi*4]
lea edx, [ebp - 0x130]
add ecx, edx
call fcn.00524b40
mov edx, dword [ebp - 0xa8]
lea ecx, [edx + eax*2]
mov dword [ebp - 0xa8], ecx
inc esi
cmp esi, 0xa
jl 0x50f031
mov eax, ecx
lea edx, [eax*4]
mov dword [ebp - 0x55c], edx
push eax
mov dword [esp], edx
call fcn.0061de30
pop ecx
mov dword [ebp - 0x44], eax
lea ecx, [ebp - 0x130]
call fcn.00524b40
mov dword [ebp - 0x188], eax
test eax, eax
jne 0x50f9bb
mov eax, 0x77359400
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x198], eax
xor ecx, ecx
mov dword [ebp - 0x34], ecx
xor edx, edx
lea eax, [edx*8]
lea esi, [eax + edx*4]
mov eax, dword [ebp + esi - 0x130]
mov edi, dword [ebp + esi - 0x12c]
mov dword [ebp - 0x184], edi
cmp eax, edi
je 0x50f101
mov edi, dword [ebp - 0x44]
mov dword [edi + ecx*8], edx
mov esi, dword [eax + 4]
sub esi, dword [eax]
sar esi, 4
mov dword [edi + ecx*8 + 4], esi
inc ecx
mov esi, dword [eax + 4]
sub esi, dword [eax]
sar esi, 4
add dword [ebp - 0x34], esi
add eax, 0x10
cmp eax, dword [ebp - 0x184]
jne 0x50f0d8
inc edx
cmp edx, 0xa
jl 0x50f0b6
cmp dword [ebp - 0x188], 0
jne 0x50f9a2
xor eax, eax
mov dword [ebp - 0xb0], eax
lea ecx, [ebp - 0x448]
call fcn.0065a5b0
mov dword [ebp - 0xac], eax
lea ecx, [ebp - 0x430]
call fcn.0065a5b0
mov dword [ebp - 0xb4], eax
lea ecx, [ebp - 0x418]
call fcn.0065a5b0
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0x15c], eax
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0x160], eax
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0x184], eax
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
mov dword [ebp - 0x188], eax
lea ecx, [ebp - 0x158]
call fcn.0065a5b0
add esp, 0xffffff80
mov dword [esp], str.INSERT_INTO_MP_LINE__map_id_road_id_s_x_s_y_e_x_e_y_min_X_min_Y_max_X_max_Y__coordinates__parts_size___parts__vertex0__rgnType_type_label__label2__label3___cityname_regionname_countryname__zip__speed___road_class__one_way___toll__restriction____VALUES___i___lld___i___i___i___i___f___f___f___f______i______i____i___i___q___q___q___q___q___q____q___i___i___i___i___q__
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + 0x7c]
mov dword [esp + 4], ecx
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov edx, dword [ebp - 0x198]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x194]
mov dword [esp + 0x14], ecx
mov esi, dword [ebp - 0x190]
mov dword [esp + 0x18], esi
mov edi, dword [ebp - 0x18c]
mov dword [esp + 0x1c], edi
mov edx, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x17c]
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov esi, dword [ebp - 0x178]
mov edi, dword [ebp - 0x174]
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edi
mov edx, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ecx
mov esi, dword [ebp - 0x168]
mov edi, dword [ebp - 0x164]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
mov edx, dword [ebp - 0xa8]
mov dword [esp + 0x40], edx
mov ecx, dword [ebp - 0xb0]
mov dword [esp + 0x44], ecx
mov esi, dword [ebp - 0x88]
mov dword [esp + 0x48], esi
mov edi, dword [ebp - 0x84]
mov dword [esp + 0x4c], edi
mov edx, dword [ebp - 0xac]
mov dword [esp + 0x50], edx
mov ecx, dword [ebp - 0xb4]
mov dword [esp + 0x54], ecx
mov esi, dword [ebp - 0xb8]
mov dword [esp + 0x58], esi
mov edi, dword [ebp - 0x15c]
mov dword [esp + 0x5c], edi
mov edx, dword [ebp - 0x160]
mov dword [esp + 0x60], edx
mov ecx, dword [ebp - 0x184]
mov dword [esp + 0x64], ecx
mov esi, dword [ebp - 0x188]
mov dword [esp + 0x68], esi
mov edi, dword [ebp - 0x140]
mov dword [esp + 0x6c], edi
mov edx, dword [ebp - 0x13c]
mov dword [esp + 0x70], edx
mov ecx, dword [ebp - 0x138]
mov dword [esp + 0x74], ecx
mov esi, dword [ebp - 0x134]
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], eax
call fcn.0051fe70
add esp, 0x80
mov dword [ebp - 0x198], eax
mov eax, dword [ebp - 0x34]
shl eax, 4
mov dword [ebp - 0x34], eax
push eax
mov dword [esp], eax
call fcn.0061de30
pop ecx
mov dword [ebp - 0x18c], eax
xor edx, edx
mov dword [ebp - 0x194], edx
mov ecx, dword [ebp - 0x194]
lea eax, [ecx*8]
lea esi, [eax + ecx*4]
mov edi, dword [ebp + esi - 0x130]
mov dword [ebp - 0x188], edi
mov eax, dword [ebp + esi - 0x12c]
mov dword [ebp - 0x190], eax
cmp edi, eax
je 0x50f3a6
mov ecx, dword [ebp - 0x188]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp eax, ecx
jae 0x50f369
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov edi, dword [ebp - 0x18c]
mov dword [edi + edx*8], ecx
mov dword [edi + edx*8 + 4], esi
inc edx
add eax, 0x10
mov ecx, dword [ebp - 0x188]
mov ecx, dword [ecx + 4]
cmp eax, ecx
jb 0x50f341
jmp 0x50fd2a
cmp eax, ecx
jae 0x50f38f
mov ecx, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov edi, dword [ebp - 0x18c]
mov dword [edi + edx*8], ecx
mov dword [edi + edx*8 + 4], esi
inc edx
add eax, 0x10
mov ecx, dword [ebp - 0x188]
cmp eax, dword [ecx + 4]
jb 0x50f36d
mov eax, dword [ebp - 0x188]
add eax, 0x10
mov dword [ebp - 0x188], eax
cmp eax, dword [ebp - 0x190]
jne 0x50f332
mov eax, dword [ebp - 0x194]
inc eax
mov dword [ebp - 0x194], eax
cmp eax, 0xa
jl 0x50f304
mov dword [ebp - 0x4c], 0
add esp, 0xffffffec
mov eax, dword [ebp - 0x3c]
lea esi, [ebp - 0x4c]
mov dword [esp + 0xc], esi
lea edi, [ebp - 0x48]
mov dword [esp + 0x10], edi
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x198]
mov ecx, 0xffffffff
call fcn.004c742c
add esp, 0x14
add esp, 0xffffffec
mov esi, dword [ebp - 0x34]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x4c]
mov edx, 1
mov ecx, dword [ebp - 0x18c]
call fcn.0051453c
add esp, 0x14
add esp, 0xffffffec
mov esi, dword [ebp - 0x55c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov eax, dword [ebp - 0x4c]
mov edx, 2
mov ecx, dword [ebp - 0x44]
call fcn.0051453c
add esp, 0x14
push eax
mov eax, dword [ebp - 0x4c]
call fcn.0048ecb4
pop ecx
mov esi, eax
push eax
mov eax, dword [ebp - 0x4c]
call fcn.00408ac4
pop ecx
cmp dword [ebp - 0x198], 0
je 0x50f469
push eax
mov eax, dword [ebp - 0x198]
call fcn.004c69c4
pop ecx
push dword [ebp - 0x44]
call fcn.0074430f
push dword [ebp - 0x18c]
call fcn.0074430f
add esp, 8
cmp esi, 0x65
jne 0x50f647
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 4]
mov esi, dword [edx + 0x30]
mov dword [ebp - 0x44], esi
lea ecx, [ebp - 0x60]
call fcn.00515d50
test eax, eax
je 0x50f647
mov edi, dword [ebp - 0x60]
cmp edi, dword [ebp - 0x5c]
je 0x50f647
add esp, 0xfffffff4
mov dword [esp], str.SELECT_count___FROM_MP_SEGMENT_WHERE_line_id___i_AND_vertex____i_
mov eax, dword [ebp - 0x44]
mov dword [esp + 4], eax
mov edx, dword [edi]
mov dword [esp + 8], edx
call fcn.0051fe70
add esp, 0xc
mov esi, eax
add esp, 0xfffffff8
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 4]
mov edx, esi
call fcn.004ffa50
add esp, 8
test eax, eax
jle 0x50fa16
test esi, esi
je 0x50f562
cmp dword [0x830380], 0
je 0x50f557
mov eax, dword [0x84f788]
test eax, eax
je 0x50f50d
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov dword [0x84f3a0], edx
mov eax, dword [0x84f3c4]
cmp edx, eax
jge 0x50f531
mov edx, eax
mov dword [0x84f3c4], edx
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50f562
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50f561
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov eax, edx
sub eax, 0
jl 0x50f716
add esp, 0xffffffe8
mov dword [esp], str.UPDATE_MP_SEGMENT_set_node_id___lld__bound___i_WHERE_line_id___i_AND_vertex____i_
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [edi + 0x10]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x44]
mov dword [esp + 0x10], edx
mov ecx, dword [edi]
mov dword [esp + 0x14], ecx
call fcn.0051fe70
add esp, 0x18
mov esi, eax
add esp, 0xffffffec
mov edx, dword [ebp - 0x3c]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
mov edx, esi
xor ecx, ecx
call fcn.005037fc
add esp, 0x14
test esi, esi
je 0x50f638
cmp dword [0x830380], 0
je 0x50f62d
mov eax, dword [0x84f788]
test eax, eax
je 0x50f5e3
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov dword [0x84f3a0], edx
mov eax, dword [0x84f3c4]
cmp edx, eax
jge 0x50f607
mov edx, eax
mov dword [0x84f3c4], edx
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50f638
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50f637
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
add edi, 0xf0
cmp edi, dword [ebp - 0x5c]
jne 0x50f4b0
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x60]
call fcn.0048bdf0
mov dword [ebp - 4], 2
push 0x4021f0
push 0xa
push 0xc
lea eax, [ebp - 0x130]
push eax
call fcn.007446a0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x158]
call fcn.00515d70
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xa4]
call fcn.005145b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x448]
call fcn.00514630
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
lea esi, [edi + 0x14]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50f72d
mov ecx, esi
call fcn.0065a5b0
jmp 0x50f738
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0x55c], eax
lea esi, [edi + 0x2c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50f755
mov ecx, esi
call fcn.0065a5b0
jmp 0x50f760
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0x198], eax
lea esi, [edi + 0x44]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50f77d
mov ecx, esi
call fcn.0065a5b0
jmp 0x50f788
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0x194], eax
lea esi, [edi + 0x5c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50f7a5
mov ecx, esi
call fcn.0065a5b0
jmp 0x50f7b0
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0x190], eax
lea esi, [edi + 0x74]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50f7cd
mov ecx, esi
call fcn.0065a5b0
jmp 0x50f7d8
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0x18c], eax
lea esi, [edi + 0x8c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50f7f8
mov ecx, esi
call fcn.0065a5b0
jmp 0x50f803
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0x184], eax
lea esi, [edi + 0xa4]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50f823
mov ecx, esi
call fcn.0065a5b0
jmp 0x50f82e
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
mov esi, eax
lea ecx, [edi + 0xbc]
mov dword [ebp - 0x188], ecx
call fcn.00510180
test eax, eax
je 0x50f852
mov ecx, dword [ebp - 0x188]
call fcn.0065a5b0
jmp 0x50f85d
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
add esp, 0xffffffbc
mov dword [esp], str.UPDATE_MP_SEGMENT_set_leftCity___q__leftRegion___q__leftCountry___q___rightCity___q__rightRegion___q__rightCountry___q__leftZip___q__rightZip___q__leftStart___i__leftEnd___i__leftType___i___rightStart___i__rightEnd___i__rightType___i_WHERE_line_id___i_AND_vertex____i_
mov edx, dword [ebp - 0x55c]
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0x198]
mov dword [esp + 8], ecx
mov edx, dword [ebp - 0x194]
mov dword [esp + 0xc], edx
mov ecx, dword [ebp - 0x190]
mov dword [esp + 0x10], ecx
mov edx, dword [ebp - 0x18c]
mov dword [esp + 0x14], edx
mov ecx, dword [ebp - 0x184]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xd4]
mov dword [esp + 0x24], eax
mov esi, dword [edi + 0xd8]
mov dword [esp + 0x28], esi
mov eax, dword [edi + 0xdc]
mov dword [esp + 0x2c], eax
mov edx, dword [edi + 0xe0]
mov dword [esp + 0x30], edx
mov ecx, dword [edi + 0xe4]
mov dword [esp + 0x34], ecx
mov esi, dword [edi + 0xe8]
mov dword [esp + 0x38], esi
mov eax, dword [ebp - 0x44]
mov dword [esp + 0x3c], eax
mov edx, dword [edi]
mov dword [esp + 0x40], edx
call fcn.0051fe70
add esp, 0x44
mov esi, eax
add esp, 0xffffffec
mov edx, dword [ebp - 0x3c]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
mov edx, esi
xor ecx, ecx
call fcn.005037fc
add esp, 0x14
test esi, esi
je 0x50f638
cmp dword [0x830380], 0
je 0x50f993
mov eax, dword [0x84f788]
test eax, eax
je 0x50f942
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov dword [0x84f3a0], edx
mov eax, dword [0x84f3c4]
cmp edx, eax
jge 0x50f966
mov edx, eax
mov dword [0x84f3c4], edx
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50f638
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50f637
push eax
mov dword [esp], esi
call dword [0x83039c]
jmp 0x50f637
mov eax, dword [ebp - 0x130]
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
mov dword [ebp - 0xb0], edx
jmp 0x50f11c
mov edx, dword [ebp - 0x130]
fld qword [0x78cfb8]
mov ecx, dword [edx]
fld qword [ecx]
fmul st(1)
call fcn.00766870
mov dword [ebp - 0x198], eax
fld qword [ecx + 8]
fmul st(1)
call fcn.00766870
mov dword [ebp - 0x194], eax
mov esi, dword [ebp - 0x12c]
mov edi, dword [esi - 0xc]
fld qword [edi - 0x10]
fmul st(1)
call fcn.00766870
mov dword [ebp - 0x190], eax
fld qword [edi - 8]
fmulp st(1)
call fcn.00766870
mov dword [ebp - 0x18c], eax
jmp 0x50f0af
test esi, esi
je 0x50fa8c
cmp dword [0x830380], 0
je 0x50fa81
mov eax, dword [0x84f788]
test eax, eax
je 0x50fa37
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov dword [0x84f3a0], edx
mov eax, dword [0x84f3c4]
cmp edx, eax
jge 0x50fa5b
mov edx, eax
mov dword [0x84f3c4], edx
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50fa8c
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50fa8b
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
lea esi, [edi + 0x14]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50faa3
mov ecx, esi
call fcn.0065a5b0
jmp 0x50faae
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0x160], eax
lea esi, [edi + 0x2c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50facb
mov ecx, esi
call fcn.0065a5b0
jmp 0x50fad6
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0x15c], eax
lea esi, [edi + 0x44]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50faf3
mov ecx, esi
call fcn.0065a5b0
jmp 0x50fafe
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0xb8], eax
lea esi, [edi + 0x5c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50fb1b
mov ecx, esi
call fcn.0065a5b0
jmp 0x50fb26
lea ecx, [ebp - 0x3e8]
call fcn.0065a5b0
mov dword [ebp - 0xb4], eax
lea esi, [edi + 0x74]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50fb43
mov ecx, esi
call fcn.0065a5b0
jmp 0x50fb4e
lea ecx, [ebp - 0x3d0]
call fcn.0065a5b0
mov dword [ebp - 0xb0], eax
lea esi, [edi + 0x8c]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50fb6e
mov ecx, esi
call fcn.0065a5b0
jmp 0x50fb79
lea ecx, [ebp - 0x3b8]
call fcn.0065a5b0
mov dword [ebp - 0xac], eax
lea esi, [edi + 0xa4]
mov ecx, esi
call fcn.00510180
test eax, eax
je 0x50fb99
mov ecx, esi
call fcn.0065a5b0
jmp 0x50fba4
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
mov dword [ebp - 0xa8], eax
lea ecx, [edi + 0xbc]
mov eax, dword [ecx + 0x14]
cmp eax, dword [ecx + 0x10]
je 0x50fbbf
call fcn.0065a5b0
jmp 0x50fbca
lea ecx, [ebp - 0x3a0]
call fcn.0065a5b0
add esp, 0xffffffb0
mov dword [esp], str.INSERT_INTO_MP_SEGMENT_line_id_vertex_node_id_bound___leftCity___leftRegion___leftCountry____rightCity___rightRegion___rightCountry___leftZip___rightZip___leftStart___leftEnd___leftType____rightStart___rightEnd___rightType____VALUES___i___i___lld___i___q___q__q__q__q__q__q__q__i__i__i__i__i__i__
mov edx, dword [ebp - 0x44]
mov dword [esp + 4], edx
mov ecx, dword [edi]
mov dword [esp + 8], ecx
mov esi, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x14], ecx
mov esi, dword [ebp - 0x160]
mov dword [esp + 0x18], esi
mov edx, dword [ebp - 0x15c]
mov dword [esp + 0x1c], edx
mov ecx, dword [ebp - 0xb8]
mov dword [esp + 0x20], ecx
mov esi, dword [ebp - 0xb4]
mov dword [esp + 0x24], esi
mov edx, dword [ebp - 0xb0]
mov dword [esp + 0x28], edx
mov ecx, dword [ebp - 0xac]
mov dword [esp + 0x2c], ecx
mov esi, dword [ebp - 0xa8]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0xd4]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0xd8]
mov dword [esp + 0x3c], eax
mov edx, dword [edi + 0xdc]
mov dword [esp + 0x40], edx
mov ecx, dword [edi + 0xe0]
mov dword [esp + 0x44], ecx
mov esi, dword [edi + 0xe4]
mov dword [esp + 0x48], esi
mov eax, dword [edi + 0xe8]
mov dword [esp + 0x4c], eax
call fcn.0051fe70
add esp, 0x50
mov esi, eax
add esp, 0xffffffec
mov edx, dword [ebp - 0x3c]
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
mov edx, esi
xor ecx, ecx
call fcn.005037fc
add esp, 0x14
test esi, esi
je 0x50f638
cmp dword [0x830380], 0
je 0x50fd1b
mov eax, dword [0x84f788]
test eax, eax
je 0x50fcca
push eax
mov dword [esp], eax
call dword [0x8303c8]
pop ecx
push eax
mov dword [esp], esi
call dword [0x8303a4]
pop ecx
mov edx, dword [0x84f3a0]
sub edx, eax
mov dword [0x84f3a0], edx
mov eax, dword [0x84f3c4]
cmp edx, eax
jge 0x50fcee
mov edx, eax
mov dword [0x84f3c4], edx
push eax
mov dword [esp], esi
call dword [0x83039c]
pop ecx
mov eax, dword [0x84f788]
test eax, eax
je 0x50f638
push eax
mov dword [esp], eax
call dword [0x8303d0]
jmp 0x50f637
push eax
mov dword [esp], esi
call dword [0x83039c]
jmp 0x50f637
mov eax, dword [ebp - 0x188]
mov eax, dword [eax]
jmp 0x50f369
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x198], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
add esp, 0xfffffff4
mov edx, dword [ebp - 0x198]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50ead2
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x194], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
add esp, 0xfffffff4
mov edx, dword [ebp - 0x194]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50eb12
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x190], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
add esp, 0xfffffff4
mov edx, dword [ebp - 0x190]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
jmp 0x50eb4c
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x18c], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
add esp, 0xfffffff4
mov edx, dword [ebp - 0x18c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50eb8f
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x188], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
add esp, 0xfffffff4
mov edx, dword [ebp - 0x188]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50ebd2
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x184], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
add esp, 0xfffffff4
mov edx, dword [ebp - 0x184]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50ec99
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x160], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
add esp, 0xfffffff4
mov edx, dword [ebp - 0x160]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50ecf4
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.005189b0
push eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x448]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50ed66
mov edi, dword [ebp - 0x3c]
push dword [ebp - 0xb0]
mov ecx, edi
call fcn.0051c870
mov dword [ebp - 0x15c], eax
add edi, 0xc
mov ecx, edi
call fcn.0065a5b0
add esp, 0xfffffff4
mov edx, dword [ebp - 0x15c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], str.W025
call fcn.0058f550
add esp, 0xc
mov edi, dword [ebx + 0x10]
jmp 0x50ed4b
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.005189b0
push eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x3a0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50ecb4
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.005189b0
push eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x3b8]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50ec59
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.005189b0
push eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x3d0]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50ec3e
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.005189b0
push eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x3e8]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50ec23
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.005189b0
push eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x418]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50ec08
push dword [ebp - 0x38]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x3c]
call fcn.005189b0
push eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x430]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50ebed
push dword [ebp - 0xb8]
push dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb4]
call fcn.005189b0
push eax
push dword [ebp - 0xb0]
lea ecx, [ebp - 0x400]
call fcn.00518a60
mov edi, dword [ebx + 0x10]
jmp 0x50ea71