Function at 0x6c2618fc
Capabilities:
Get geographical location
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x1e0
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], 0x6c482fc0
call sub.msvcrt.dll_strcpy
mov eax, ebx
and eax, 1
mov dword [0x6c32f198], eax
mov eax, ebx
and eax, 2
mov dword [0x6c483040], eax
mov edx, ebx
and edx, 4
mov dword [0x6c483044], edx
and ebx, 8
mov dword [0x6c483048], ebx
test eax, eax
je 0x6c261957
mov dword [0x6c483044], 1
mov eax, dword [0x6c483d5c]
test eax, eax
jne 0x6c261979
mov dword [esp + 4], 0xc
mov dword [esp], str.active_model
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c483d5c], eax
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [0x6c453eb0]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_funcall
mov dword [esp + 0x34], eax
cmp eax, 4
je 0x6c262377
mov dword [0x6c483050], 1
mov dword [esp], 0x18
call fcn.6c2df72c
mov ebx, eax
mov dword [esp], eax
call fcn.6c221fa0
mov dword [0x6c483054], ebx
mov dword [esp + 4], 0x6c36ab13
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.6c21008c
mov dword [esp + 0x40], eax
test eax, eax
je 0x6c26235d
mov dword [esp + 4], 1
mov dword [esp], 0x6c487500
call fcn.6c269188
mov esi, eax
mov dword [esp + 4], 0
mov dword [esp], 0x6c487500
call fcn.6c269188
mov ecx, 0x39
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 4], 0x2f
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.msvcrt.dll_strrchr
mov dword [esp + 0x4c], eax
test eax, eax
je 0x6c263166
inc dword [esp + 0x4c]
mov ebx, dword [esp + 0x4c]
sub ebx, dword [ebp + 8]
mov dword [esp + 8], ebx
mov esi, dword [ebp + 8]
mov dword [esp + 4], esi
mov dword [esp], 0x6c483060
call sub.msvcrt.dll_strncpy
mov byte [ebx + 0x6c483060], 0
mov byte [0x6c483460], 0
mov eax, dword [0x6c483d60]
test eax, eax
je 0x6c263148
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov edi, dword [esp + 0x34]
mov dword [esp], edi
call sub.msvcrt_ruby200.dll_rb_funcall
mov dword [esp + 0x1d4], eax
lea eax, [esp + 0x1d4]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_gc_register_address
mov eax, dword [esp + 0x1d4]
call fcn.6c25c018
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x38
mov dword [esp + 4], 1
mov dword [esp], str.__xml_version_1.0__encoding_UTF_8__standalone_no_____n
call sub.msvcrt.dll_fwrite
mov dword [0x6c32f19c], 0
mov byte [0x6c32f1a0], 0
mov ecx, str._xmlns_http:__www.collada.org_2005_11_COLLADASchema__version_1.4.1_
mov edx, str.COLLADA
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.asset
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.contributor
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov dword [esp], 0x6c36abd8
call sub.msvcrt.dll_atol
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_authoring_tool_LightUp_for_SketchUp__build__ld___authoring_tool__n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, str.contributor
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov dword [esp], str.Time.new.strftime___Y__m__dT_H:_M:_SZ__
call sub.msvcrt_ruby200.dll_rb_eval_string
mov eax, dword [eax]
mov dword [esp], str.Time.new.strftime___Y__m__dT_H:_M:_SZ__
test ah, 0x20
jne 0x6c2630b2
call sub.msvcrt_ruby200.dll_rb_eval_string
add eax, 8
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_created__s__created__n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], str.Time.new.strftime___Y__m__dT_H:_M:_SZ__
call sub.msvcrt_ruby200.dll_rb_eval_string
mov eax, dword [eax]
mov dword [esp], str.Time.new.strftime___Y__m__dT_H:_M:_SZ__
test ah, 0x20
jne 0x6c2630a5
call sub.msvcrt_ruby200.dll_rb_eval_string
add eax, 8
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_modified__s__modified__n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_unit_meter_0.0254000__name_inch_____n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_up_axis_Z_UP__up_axis__n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov ebx, dword [0x6c483d64]
test ebx, ebx
je 0x6c263128
mov eax, dword [0x6c483d68]
test eax, eax
je 0x6c26310a
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [0x6c453eb0]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_funcall
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_funcall
mov ebx, eax
cmp eax, 4
je 0x6c261d93
mov dword [esp + 4], 8
mov dword [esp], str.Latitude
call sub.msvcrt_ruby200.dll_rb_str_new
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov eax, dword [0x6c453e84]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_funcall
mov dword [esp + 0x48], eax
mov dword [esp + 4], 9
mov dword [esp], str.Longitude
call sub.msvcrt_ruby200.dll_rb_str_new
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov eax, dword [0x6c453e84]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_funcall
mov esi, eax
mov dword [esp + 4], 8
mov dword [esp], str.TZOffset
call sub.msvcrt_ruby200.dll_rb_str_new
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov eax, dword [0x6c453e84]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_funcall
test al, 1
je 0x6c2630fb
mov ebx, eax
sar ebx, 1
mov eax, dword [0x6c483d6c]
test eax, eax
je 0x6c2630dd
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_funcall
mov esi, dword [eax + 8]
mov edi, dword [eax + 0xc]
mov eax, dword [0x6c483d70]
test eax, eax
je 0x6c2630bf
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_funcall
mov dword [esp + 0x18], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], str.lat__f__lon__f__tz__d__n
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, str.asset
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
call fcn.6c25fa54
lea edx, [esp + 0x1dc]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
lea esi, [esp + 0x1d8]
mov dword [esp + 4], esi
mov dword [esp], 0x6c487500
call fcn.6c268820
mov dword [esp], 0x6c487500
call fcn.6c2691a0
mov edi, eax
mov ecx, 0x6c369837
mov edx, str.library_effects
mov eax, dword [esp + 0x40]
call fcn.6c25887c
movaps xmm0, xmmword [0x6c36b7c0]
movaps xmmword [esp + 0x190], xmm0
cmp dword [esp + 0x1dc], 1
jle 0x6c262383
mov ebx, 1
mov dword [esp + 0x48], edi
mov esi, ebx
mov ebx, dword [esp + 0x40]
jmp 0x6c261f59
mov edx, str.phong
mov eax, ebx
call fcn.6c25887c
mov eax, dword [0x6c483044]
test eax, eax
jne 0x6c261e48
mov edx, esi
mov eax, ebx
call fcn.6c25bb8c
mov dword [esp], 0
mov ecx, esi
mov edx, dword [esp + 0x48]
mov eax, ebx
call fcn.6c259e14
mov ecx, 0x6c369837
mov edx, str.reflective
mov eax, ebx
call fcn.6c25887c
lea edx, [esp + 0x190]
mov eax, ebx
call fcn.6c258670
mov edx, str.reflective
mov eax, ebx
call fcn.6c2588ec
mov dword [esp], str._opaque_RGB_ZERO_
call fcn.6c259dec
mov ecx, eax
mov edx, str.transparent
mov eax, ebx
call fcn.6c25887c
lea edx, [esp + 0x1a0]
mov eax, ebx
call fcn.6c258670
mov edx, str.transparent
mov eax, ebx
call fcn.6c2588ec
mov ecx, 0x6c369837
mov edx, str.transparency
mov eax, ebx
call fcn.6c25887c
fld1
fsub dword [edi + 0x15c]
fstp dword [esp]
mov eax, ebx
call fcn.6c2586ac
mov edx, str.transparency
mov eax, ebx
call fcn.6c2588ec
mov ecx, 0x6c369837
mov edx, str.index_of_refraction
mov eax, ebx
call fcn.6c25887c
mov dword [esp], 0x3fa66666
mov eax, ebx
call fcn.6c2586ac
mov edx, str.index_of_refraction
mov eax, ebx
call fcn.6c2588ec
mov edx, str.phong
mov eax, ebx
call fcn.6c2588ec
mov edx, str.technique
mov eax, ebx
call fcn.6c2588ec
mov edx, str.profile_COMMON
mov eax, ebx
call fcn.6c2588ec
mov edx, str.effect
mov eax, ebx
call fcn.6c2588ec
inc esi
add edi, 0xf0
cmp esi, dword [esp + 0x1dc]
jge 0x6c26237f
mov dword [esp + 4], esi
mov dword [esp], str._id_EFFECT_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.effect
mov eax, ebx
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.profile_COMMON
mov eax, ebx
call fcn.6c25887c
mov eax, dword [edi + 0x104]
mov dword [esp + 0x44], eax
test eax, eax
je 0x6c262064
mov dword [esp + 4], esi
mov dword [esp], str._sid_SURF_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, ebx
call fcn.6c25887c
mov ecx, str._type_2D_
mov edx, str.surface
mov eax, ebx
call fcn.6c25887c
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_init_from_IMG_d__init_from__n
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov edx, str.surface
mov eax, ebx
call fcn.6c2588ec
mov edx, str.newparam
mov eax, ebx
call fcn.6c2588ec
mov dword [esp + 4], esi
mov dword [esp], str._sid_SAMPLER_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, ebx
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.sampler2D
mov eax, ebx
call fcn.6c25887c
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_source_SURF_d__source__n
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov edx, str.sampler2D
mov eax, ebx
call fcn.6c2588ec
mov edx, str.newparam
mov eax, ebx
call fcn.6c2588ec
mov ecx, dword [0x6c483044]
test ecx, ecx
jne 0x6c262134
mov dword [esp + 4], esi
mov dword [esp], str._sid_LMAPSURF_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, ebx
call fcn.6c25887c
mov ecx, str._type_2D_
mov edx, str.surface
mov eax, ebx
call fcn.6c25887c
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_init_from_LMAPIMG0__init_from__n
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov edx, str.surface
mov eax, ebx
call fcn.6c2588ec
mov edx, str.newparam
mov eax, ebx
call fcn.6c2588ec
mov dword [esp + 4], esi
mov dword [esp], str._sid_LMAPSAMPLER_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, ebx
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.sampler2D
mov eax, ebx
call fcn.6c25887c
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_source_LMAPSURF_d__source__n
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov edx, str.sampler2D
mov eax, ebx
call fcn.6c2588ec
mov edx, str.newparam
mov eax, ebx
call fcn.6c2588ec
mov ecx, str._sid_COMMON_
mov edx, str.technique
mov eax, ebx
call fcn.6c25887c
fld1
fld dword [edi + 0x15c]
fsubr st(1)
fstp dword [esp + 0x2c]
movss xmm0, dword [esp + 0x2c]
movss xmm2, xmm0
fstp dword [esp + 0x2c]
movss xmm3, dword [esp + 0x2c]
unpcklps xmm2, xmm3
unpcklps xmm0, xmm0
movlhps xmm0, xmm2
movaps xmmword [esp + 0x1a0], xmm0
mov eax, dword [0x6c488ed0]
mov ecx, 0x6c369837
cmp dword [edi + 0x128], eax
jne 0x6c261e2a
mov edx, str.lambert
mov eax, ebx
call fcn.6c25887c
mov edx, dword [0x6c483044]
test edx, edx
jne 0x6c2621ad
mov edx, esi
mov eax, ebx
call fcn.6c25bb8c
mov dword [esp], 0
mov ecx, esi
mov edx, dword [esp + 0x48]
mov eax, ebx
call fcn.6c259e14
mov dword [esp], str._opaque_RGB_ZERO_
call fcn.6c259dec
mov ecx, eax
mov edx, str.transparent
mov eax, ebx
call fcn.6c25887c
lea edx, [esp + 0x1a0]
mov eax, ebx
call fcn.6c258670
mov edx, str.transparent
mov eax, ebx
call fcn.6c2588ec
mov ecx, 0x6c369837
mov edx, str.transparency
mov eax, ebx
call fcn.6c25887c
fld1
fsub dword [edi + 0x15c]
fstp dword [esp]
mov eax, ebx
call fcn.6c2586ac
mov edx, str.transparency
mov eax, ebx
call fcn.6c2588ec
mov edx, str.lambert
mov eax, ebx
call fcn.6c2588ec
jmp 0x6c261f21
mov edx, str.mesh
mov eax, esi
call fcn.6c2588ec
mov edx, 0x6c36b3e8
mov eax, esi
call fcn.6c2588ec
inc dword [esp + 0x44]
mov edi, dword [esp + 0x44]
cmp edi, dword [esp + 0x1dc]
jl 0x6c2629b2
mov edx, str.library_geometries
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov eax, dword [esp + 0x40]
call fcn.6c259f20
movss xmm0, dword [0x6c36b790]
movaps xmmword [esp + 0x150], xmm0
movaps xmm0, xmmword [0x6c36b780]
movaps xmmword [esp + 0x160], xmm0
movaps xmm0, xmmword [0x6c36b770]
movaps xmmword [esp + 0x170], xmm0
movaps xmm0, xmmword [0x6c36b760]
movaps xmmword [esp + 0x180], xmm0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
lea ecx, [esp + 0x150]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
call fcn.6c25f514
mov ecx, 0x6c369837
mov edx, str.scene
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_instance_visual_scene_url_vs0_____n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, str.scene
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov edx, str.COLLADA
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov eax, dword [esp + 0x38]
test eax, eax
je 0x6c262342
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0xc]
mov eax, dword [eax - 4]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.6c2df6f4
lea edx, [esp + 0x1d4]
mov dword [esp], edx
call sub.msvcrt_ruby200.dll_rb_gc_unregister_address
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_fclose
mov ebx, dword [0x6c483054]
test ebx, ebx
je 0x6c262377
mov dword [esp], ebx
call fcn.6c22262c
mov dword [esp], ebx
call fcn.6c2df6f4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x1d8]
test eax, eax
jle 0x6c262932
mov dword [esp + 0x48], 0
mov ebx, dword [esp + 0x40]
jmp 0x6c26245e
mov dword [esp], 1
mov ecx, esi
mov edx, edi
mov eax, ebx
call fcn.6c259e14
mov dword [esp], str._opaque_RGB_ZERO_
call fcn.6c259dec
mov ecx, eax
mov edx, str.transparent
mov eax, ebx
call fcn.6c25887c
lea edx, [esp + 0x1b0]
mov eax, ebx
call fcn.6c258670
mov edx, str.transparent
mov eax, ebx
call fcn.6c2588ec
mov ecx, 0x6c369837
mov edx, str.transparency
mov eax, ebx
call fcn.6c25887c
fld1
mov esi, dword [esp + 0x44]
fsub dword [esi + 0x6c]
fstp dword [esp]
mov eax, ebx
call fcn.6c2586ac
mov edx, str.transparency
mov eax, ebx
call fcn.6c2588ec
mov edx, str.lambert
mov eax, ebx
call fcn.6c2588ec
mov edx, str.technique
mov eax, ebx
call fcn.6c2588ec
mov edx, str.profile_COMMON
mov eax, ebx
call fcn.6c2588ec
mov edx, str.effect
mov eax, ebx
call fcn.6c2588ec
inc dword [esp + 0x48]
mov eax, dword [esp + 0x1d8]
cmp dword [esp + 0x48], eax
jge 0x6c2626b3
mov esi, dword [esp + 0x48]
mov dword [esp + 4], esi
mov dword [esp], 0x6c487500
call fcn.6c2691d8
mov esi, eax
cmp eax, 1
je 0x6c262449
mov dword [esp + 4], eax
mov dword [esp], str._id_GRPEFFECT_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.effect
mov eax, ebx
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.profile_COMMON
mov eax, ebx
call fcn.6c25887c
mov dword [esp + 4], esi
mov dword [esp], str._sid_SURF_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, ebx
call fcn.6c25887c
mov ecx, str._type_2D_
mov edx, str.surface
mov eax, ebx
call fcn.6c25887c
lea eax, [esi + esi*2]
lea eax, [eax + eax*4]
shl eax, 4
add eax, edi
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_init_from_IMG_d__init_from__n
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov edx, str.surface
mov eax, ebx
call fcn.6c2588ec
mov edx, str.newparam
mov eax, ebx
call fcn.6c2588ec
mov dword [esp + 4], esi
mov dword [esp], str._sid_SAMPLER_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, ebx
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.sampler2D
mov eax, ebx
call fcn.6c25887c
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_source_SURF_d__source__n
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov edx, str.sampler2D
mov eax, ebx
call fcn.6c2588ec
mov edx, str.newparam
mov eax, ebx
call fcn.6c2588ec
mov dword [esp + 4], esi
mov dword [esp], str._sid_LMAPSURF_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, ebx
call fcn.6c25887c
mov ecx, str._type_2D_
mov edx, str.surface
mov eax, ebx
call fcn.6c25887c
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_init_from_LMAPIMG0__init_from__n
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov edx, str.surface
mov eax, ebx
call fcn.6c2588ec
mov edx, str.newparam
mov eax, ebx
call fcn.6c2588ec
mov dword [esp + 4], esi
mov dword [esp], str._sid_LMAPSAMPLER_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, ebx
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.sampler2D
mov eax, ebx
call fcn.6c25887c
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_source_LMAPSURF_d__source__n
mov dword [esp], ebx
call sub.msvcrt.dll_fprintf
mov edx, str.sampler2D
mov eax, ebx
call fcn.6c2588ec
mov edx, str.newparam
mov eax, ebx
call fcn.6c2588ec
mov ecx, str._sid_COMMON_
mov edx, str.technique
mov eax, ebx
call fcn.6c25887c
fld1
fld st(0)
mov eax, dword [esp + 0x44]
fsub dword [eax + 0x6c]
fstp dword [esp + 0x2c]
movss xmm0, dword [esp + 0x2c]
movss xmm2, xmm0
fstp dword [esp + 0x2c]
movss xmm3, dword [esp + 0x2c]
unpcklps xmm2, xmm3
unpcklps xmm0, xmm0
movlhps xmm0, xmm2
movaps xmmword [esp + 0x1b0], xmm0
mov ecx, 0x6c369837
mov edx, str.lambert
mov eax, ebx
call fcn.6c25887c
mov eax, dword [0x6c483044]
test eax, eax
jne 0x6c2623a3
mov edx, esi
mov eax, ebx
call fcn.6c25bb8c
jmp 0x6c2623a3
test eax, eax
jle 0x6c262932
xor ebx, ebx
lea edi, [esp + 0x1c0]
mov dword [esp + 0x48], edi
jmp 0x6c2627b6
mov dword [esp + 4], str._s_texture_texture_LMAPSAMPLER_d__texcoord_UVSET1____n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, str.diffuse
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov dword [esp], str._opaque_RGB_ZERO_
call fcn.6c259dec
mov ecx, eax
mov edx, str.transparent
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov edi, dword [esp + 0x48]
mov esi, 0x6c4874e0
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x1c0]
mov dword [esp + 0x48], edi
mov edx, edi
mov eax, dword [esp + 0x40]
call fcn.6c258670
mov edx, str.transparent
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov ecx, 0x6c369837
mov edx, str.transparency
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov dword [esp], 0x3f800000
mov eax, dword [esp + 0x40]
call fcn.6c2586ac
mov edx, str.transparency
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov edx, str.lambert
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov edx, str.technique
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov edx, str.profile_COMMON
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov edx, str.effect
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
inc ebx
cmp ebx, dword [esp + 0x1d8]
jge 0x6c262932
mov dword [esp + 4], ebx
mov dword [esp], str._id_LMAPEFFECT_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.effect
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.profile_COMMON
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov dword [esp + 4], ebx
mov dword [esp], str._sid_LMAPSURF_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov ecx, str._type_2D_
mov edx, str.surface
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_init_from_LMAPIMG_d__init_from__n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, str.surface
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov edx, str.newparam
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov dword [esp + 4], ebx
mov dword [esp], str._sid_LMAPSAMPLER_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.newparam
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.sampler2D
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_source_LMAPSURF_d__source__n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov edx, str.sampler2D
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov edx, str.newparam
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov ecx, str._sid_COMMON_
mov edx, str.technique
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.lambert
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.diffuse
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov eax, dword [0x6c483044]
test eax, eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x6c32f1a0
je 0x6c2626cd
mov dword [esp + 4], str._s_texture_texture_LMAPSAMPLER_d__texcoord_UVSET0____n
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
jmp 0x6c2626e1
mov edx, str.library_effects
mov eax, dword [esp + 0x40]
call fcn.6c2588ec
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
call fcn.6c25a6a0
mov ecx, 0x6c369837
mov edx, str.library_geometries
mov eax, dword [esp + 0x40]
call fcn.6c25887c
mov dword [esp + 0xc], 0
lea eax, [esp + 0x1dc]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0x6c487500
call fcn.6c268820
mov dword [esp], 0x6c487500
call fcn.6c26a610
mov eax, dword [esp + 0x1dc]
test eax, eax
jle 0x6c262262
mov dword [esp + 0x44], 0
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov dword [esp + 8], edi
mov dword [esp + 4], str._id_GEOM_d_
lea eax, [esp + 0x50]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea ecx, [esp + 0x50]
mov edx, 0x6c36b3e8
mov eax, esi
call fcn.6c25887c
mov ecx, 0x6c369837
mov edx, str.mesh
mov eax, esi
call fcn.6c25887c
lea edx, [esp + 0x1d8]
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], 0x6c487500
call fcn.6c26a620
mov dword [esp + 0x3c], eax
mov dword [esp + 4], edi
mov dword [esp], str._id_pos_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.source
mov eax, esi
call fcn.6c25887c
mov eax, dword [esp + 0x1d8]
lea eax, [eax + eax*8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_float_array_id_posdata_d__count__d___n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov dword [esp + 4], esi
mov dword [esp], 0x6c32f1a0
call sub.msvcrt.dll_fputs
mov eax, dword [esp + 0x1d8]
test eax, eax
jle 0x6c262ace
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], 0
mov ebx, dword [esp + 0x4c]
xor edi, edi
fld dword [ebx + 0x38]
fstp qword [esp + 0x18]
fld dword [ebx + 0x34]
fstp qword [esp + 0x10]
fld dword [ebx + 0x30]
fstp qword [esp + 8]
mov dword [esp + 4], str._f__f__f
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
inc edi
add ebx, 0x10
cmp edi, 3
jne 0x6c262a87
inc dword [esp + 0x48]
add dword [esp + 0x4c], 0x100
mov edx, dword [esp + 0x48]
cmp edx, dword [esp + 0x1d8]
jl 0x6c262a81
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._n_s__float_array__n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov eax, dword [esp + 0x1d8]
lea ebx, [eax + eax*2]
mov edi, dword [esp + 0x44]
mov dword [esp + 4], edi
mov dword [esp], str.posdata_d
call fcn.6c259dec
mov dword [esp], 0
mov ecx, ebx
mov edx, eax
mov eax, esi
call fcn.6c25895c
mov edx, str.source
mov eax, esi
call fcn.6c2588ec
mov dword [esp + 4], edi
mov dword [esp], str._id_norm_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.source
mov eax, esi
call fcn.6c25887c
mov eax, dword [esp + 0x1d8]
lea eax, [eax + eax*8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_float_array_id_normdata_d__count__d___n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov dword [esp + 4], esi
mov dword [esp], 0x6c32f1a0
call sub.msvcrt.dll_fputs
mov edi, dword [esp + 0x1d8]
test edi, edi
jle 0x6c262be2
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], 0
mov ebx, dword [esp + 0x4c]
mov edi, 3
fld dword [ebx + 0x68]
fstp qword [esp + 0x18]
fld dword [ebx + 0x64]
fstp qword [esp + 0x10]
fld dword [ebx + 0x60]
fstp qword [esp + 8]
mov dword [esp + 4], str._f__f__f
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
add ebx, 0x10
dec edi
jne 0x6c262b9e
inc dword [esp + 0x48]
add dword [esp + 0x4c], 0x100
mov edx, dword [esp + 0x48]
cmp edx, dword [esp + 0x1d8]
jl 0x6c262b95
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._n_s__float_array__n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov eax, dword [esp + 0x1d8]
lea ebx, [eax + eax*2]
mov edi, dword [esp + 0x44]
mov dword [esp + 4], edi
mov dword [esp], str.normdata_d
call fcn.6c259dec
mov dword [esp], 1
mov ecx, ebx
mov edx, eax
mov eax, esi
call fcn.6c25895c
mov edx, str.source
mov eax, esi
call fcn.6c2588ec
mov dword [esp + 4], edi
mov dword [esp], str._id_uv0__d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.source
mov eax, esi
call fcn.6c25887c
mov eax, dword [esp + 0x1d8]
lea eax, [eax + eax*2]
shl eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_float_array_id_uv0data_d__count__d___n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov dword [esp + 4], esi
mov dword [esp], 0x6c32f1a0
call sub.msvcrt.dll_fputs
mov ebx, dword [esp + 0x1d8]
test ebx, ebx
jle 0x6c262cee
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x4c], 0
xor ebx, ebx
fld dword [edi + ebx + 0x94]
fstp qword [esp + 0x10]
fld dword [edi + ebx + 0x90]
fstp qword [esp + 8]
mov dword [esp + 4], str._f__f
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
add ebx, 0x10
cmp ebx, 0x30
jne 0x6c262ca9
inc dword [esp + 0x4c]
add edi, 0x100
mov edx, dword [esp + 0x4c]
cmp edx, dword [esp + 0x1d8]
jl 0x6c262ca7
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._n_s__float_array__n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov eax, dword [esp + 0x1d8]
lea ebx, [eax + eax*2]
mov edi, dword [esp + 0x44]
mov dword [esp + 4], edi
mov dword [esp], str.uv0data_d
call fcn.6c259dec
mov dword [esp], 2
mov ecx, ebx
mov edx, eax
mov eax, esi
call fcn.6c25895c
mov edx, str.source
mov eax, esi
call fcn.6c2588ec
mov dword [esp + 4], edi
mov dword [esp], str._id_uv1__d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.source
mov eax, esi
call fcn.6c25887c
mov eax, dword [esp + 0x1d8]
lea eax, [eax + eax*2]
shl eax, 1
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_float_array_id_uv1data_d__count__d___n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov dword [esp + 4], esi
mov dword [esp], 0x6c32f1a0
call sub.msvcrt.dll_fputs
mov ecx, dword [esp + 0x1d8]
test ecx, ecx
jle 0x6c262dfa
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x4c], 0
xor ebx, ebx
fld dword [edi + ebx + 0x9c]
fstp qword [esp + 0x10]
fld dword [edi + ebx + 0x98]
fstp qword [esp + 8]
mov dword [esp + 4], str._f__f
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
add ebx, 0x10
cmp ebx, 0x30
jne 0x6c262db5
inc dword [esp + 0x4c]
add edi, 0x100
mov edx, dword [esp + 0x4c]
cmp edx, dword [esp + 0x1d8]
jl 0x6c262db3
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._n_s__float_array__n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov eax, dword [esp + 0x1d8]
lea ebx, [eax + eax*2]
mov edi, dword [esp + 0x44]
mov dword [esp + 4], edi
mov dword [esp], str.uv1data_d
call fcn.6c259dec
mov dword [esp], 2
mov ecx, ebx
mov edx, eax
mov eax, esi
call fcn.6c25895c
mov edx, str.source
mov eax, esi
call fcn.6c2588ec
mov dword [esp + 4], edi
mov dword [esp], str._id_vert_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.vertices
mov eax, esi
call fcn.6c25887c
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_input_semantic_POSITION__source_pos_d_____n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_input_semantic_NORMAL__source_norm_d_____n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov edx, str.vertices
mov eax, esi
call fcn.6c2588ec
lea eax, [esp + 0x1d8]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], 0x6c487500
call fcn.6c26a620
mov dword [esp], 0x6c487500
call fcn.6c26a610
mov edx, edi
shl edx, 4
lea ebx, [eax + edx]
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + 0x70]
mov edx, dword [eax + 4]
test edx, edx
je 0x6c262235
mov edx, dword [eax]
mov dword [esp + 0x3c], 0
imul edx, dword [esp + 0x3c]
mov edi, dword [eax + 0xc]
add edx, edi
mov dword [esp + 0x48], edx
mov eax, dword [ecx + 0x64]
mov edi, edx
mov edx, dword [edx]
mov edi, dword [edi + 4]
test edi, edi
jle 0x6c263078
lea edx, [eax + edx*8]
mov dword [esp + 0x4c], edx
xor edi, edi
nop
mov edx, dword [esp + 0x4c]
mov eax, dword [edx]
mov dword [esp + 8], eax
mov eax, dword [edx + 4]
mov dword [esp + 4], eax
mov dword [esp], str._count__d__material_LUMAT_d_
call fcn.6c259dec
mov ecx, eax
mov edx, str.triangles
mov eax, esi
call fcn.6c25887c
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_input_offset_0__semantic_VERTEX__source_vert_d_____n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_input_offset_0__semantic_TEXCOORD__source_uv0__d__set_0_____n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c32f1a0
mov dword [esp + 4], str._s_input_offset_0__semantic_TEXCOORD__source_uv1__d__set_1_____n
mov dword [esp], esi
call sub.msvcrt.dll_fprintf
mov ecx, 0x6c369837
mov edx, 0x6c36b6a5
mov eax, esi
call fcn.6c25887c
mov dword [esp + 4], esi
mov dword [esp], 0x6c32f1a0
call sub.msvcrt.dll_fputs
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 4]
test eax, eax
je 0x6c26303b
xor edx, edx
mov dword [esp + 0x40], esi
mov eax, ebx
mov ebx, edx
mov edx, eax
nop
mov ecx, edi
mov esi, dword [esp + 0x48]
add ecx, dword [esi]
mov esi, dword [edx + 8]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + ecx*4]
lea eax, [eax + eax*2]
lea ecx, [eax + 2]
mov dword [esp + 0x10], ecx
lea ecx, [eax + 1]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], str._d__d__d
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 0x30], edx
call sub.msvcrt.dll_fprintf
inc edi
inc ebx
mov esi, dword [esp + 0x4c]
cmp ebx, dword [esi + 4]
mov edx, dword [esp + 0x30]
jb 0x6c262fe8
mov esi, dword [esp + 0x40]
mov ebx, edx
mov dword [esp + 4], esi
mov dword [esp], 0xa
call sub.msvcrt.dll_fputc
mov edx, 0x6c36b6a5
mov eax, esi
call fcn.6c2588ec
mov edx, str.triangles
mov eax, esi
call fcn.6c2588ec
add dword [esp + 0x4c], 8
mov eax, dword [esp + 0x48]
cmp edi, dword [eax + 4]
jl 0x6c262f24
mov ecx, dword [ebx + 8]
inc dword [esp + 0x3c]
mov eax, dword [ecx + 0x70]
mov edi, dword [esp + 0x3c]
cmp edi, dword [eax + 4]
jae 0x6c262235
mov edx, dword [eax]
jmp 0x6c262efa
call sub.msvcrt_ruby200.dll_rb_eval_string
mov eax, dword [eax + 0xc]
jmp 0x6c261bc5
call sub.msvcrt_ruby200.dll_rb_eval_string
mov eax, dword [eax + 0xc]
jmp 0x6c261b7f
mov dword [esp + 4], 4
mov dword [esp], str.to_f
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c483d70], eax
jmp 0x6c261d49
mov dword [esp + 4], 4
mov dword [esp], str.to_f
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c483d6c], eax
jmp 0x6c261d22
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_num2ulong
mov ebx, eax
jmp 0x6c261d15
mov dword [esp + 4], 0xc
mov dword [esp], str.active_model
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c483d68], eax
jmp 0x6c261c38
mov dword [esp + 4], 0xb
mov dword [esp], str.shadow_info
call sub.msvcrt_ruby200.dll_rb_intern2
mov ebx, eax
mov dword [0x6c483d64], eax
jmp 0x6c261c2b
mov dword [esp + 4], 9
mov dword [esp], 0x6c36ad3f
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c483d60], eax
jmp 0x6c261a73
mov dword [esp + 4], 0x5c
mov edx, dword [ebp + 8]
mov dword [esp], edx
call sub.msvcrt.dll_strrchr
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x6c261a36
mov word [0x6c483060], 0x2f2e
mov byte [0x6c483062], 0
jmp 0x6c261a5f