Function at 0x6c21fe04
Capabilities:
Contain obfuscated stackstrings
Initialize winsock library

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ecx
sub esp, 0xfc
mov dword [esp], 4
call fcn.6c203b40
mov dword [esp + 0xc], str.Mar_19_2015
sar eax, 1
mov dword [esp + 8], eax
mov dword [esp + 4], str.print__Started_LightUp__build__d_on__s_._n_
lea esi, [ebp - 0xdd]
mov dword [esp], esi
call sub.msvcrt.dll_sprintf
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_eval_string
mov dword [esp], str.LMapExt
call sub.msvcrt_ruby200.dll_rb_define_module
mov dword [0x6c2e308c], eax
mov dword [esp], str.Sketchup::Material
call sub.msvcrt_ruby200.dll_rb_eval_string
mov esi, eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c207bb4
mov dword [esp + 4], str.openparams
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], fcn.6c2070c4
mov dword [esp + 4], str.setparams
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], fcn.6c206e1c
mov dword [esp + 4], str.updateparams
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c206ddc
mov dword [esp + 4], str.updatergbparams
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c206d9c
mov dword [esp + 4], str.updateuvparams
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c20607c
mov dword [esp + 4], str.closeparams
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp], str.Sketchup::View
call sub.msvcrt_ruby200.dll_rb_eval_string
mov esi, eax
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c205cc0
mov dword [esp + 4], str.pick
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c205bbc
mov dword [esp + 4], str.showunits
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c201360
mov dword [esp + 4], str.initpaint
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c208e34
mov dword [esp + 4], str.paint
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c20d2f0
mov dword [esp + 4], str.raycast
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c20c84c
mov dword [esp + 4], str.snapcube
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x6c214f64
mov dword [esp + 4], str.snap
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c21afac
mov dword [esp + 4], str.render
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], 0x6c2025c8
mov dword [esp + 4], str.setoptions
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c20171c
mov dword [esp + 4], str.setquality
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c21b064
mov dword [esp + 4], 0x6c365744
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c20d030
mov dword [esp + 4], str.stop
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x6c214238
mov dword [esp + 4], str.startrecord
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2108a8
mov dword [esp + 4], str.stoprecord
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2013a8
mov dword [esp + 4], str.isrecording
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x6c20d000
mov dword [esp + 4], str.export
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c20527c
mov dword [esp + 4], str.spotlux
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 6
mov dword [esp + 8], 0x6c21d934
mov dword [esp + 4], str.save
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2044dc
mov dword [esp + 4], str.refreshSU
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], fcn.6c204378
mov dword [esp + 4], str.refreshLU
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 9
mov dword [esp + 8], 0x6c20137c
mov dword [esp + 4], str.updateLU
mov dword [esp], esi
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp], str.LMap
call sub.msvcrt_ruby200.dll_rb_eval_string
mov dword [0x6c453eb4], eax
mov dword [esp], str.Sketchup
call sub.msvcrt_ruby200.dll_rb_eval_string
mov dword [0x6c453eb0], eax
mov eax, dword [0x6c455a2c]
test eax, eax
je 0x6c2218ac
mov dword [0x6c453e90], eax
mov eax, dword [0x6c455a30]
test eax, eax
je 0x6c22188e
mov dword [esp + 4], eax
mov eax, dword [0x6c453eb0]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_const_get
mov dword [0x6c453eac], eax
mov eax, dword [0x6c455a34]
test eax, eax
je 0x6c221870
mov dword [esp + 4], eax
mov eax, dword [0x6c453eb0]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_const_get
mov dword [0x6c453ea8], eax
mov eax, dword [0x6c455a38]
test eax, eax
je 0x6c221852
mov dword [esp + 4], eax
mov eax, dword [0x6c453eb0]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_const_get
mov dword [0x6c453ea4], eax
mov eax, dword [0x6c455a3c]
test eax, eax
je 0x6c221834
mov dword [esp + 4], eax
mov eax, dword [0x6c453eb0]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_const_get
mov dword [0x6c453ea0], eax
mov eax, dword [0x6c455a40]
test eax, eax
je 0x6c221816
mov dword [esp + 4], eax
mov eax, dword [0x6c453eb0]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_const_get
mov dword [0x6c453e9c], eax
mov eax, dword [0x6c455a44]
test eax, eax
je 0x6c2217f8
mov dword [esp + 4], eax
mov eax, dword [0x6c453eb0]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_const_get
mov dword [0x6c453e98], eax
mov esi, dword [0x6c455a48]
test esi, esi
je 0x6c2217d8
mov dword [esp], 0x6c366b4d
call sub.msvcrt_ruby200.dll_rb_eval_string
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_const_get
mov dword [0x6c453e94], eax
mov eax, dword [0x6c455a4c]
test eax, eax
je 0x6c2217ba
mov dword [0x6c453e8c], eax
mov eax, dword [0x6c455a50]
test eax, eax
je 0x6c22179c
mov dword [0x6c453e88], eax
mov eax, dword [0x6c455a54]
test eax, eax
je 0x6c22177e
mov dword [0x6c453e84], eax
mov eax, dword [0x6c455a58]
test eax, eax
je 0x6c221760
mov dword [0x6c453e80], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], fcn.6c208bd4
mov dword [esp + 4], str.setmodel
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c215b94
mov dword [esp + 4], str.open
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2081fc
mov dword [esp + 4], str.close
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c2013cc
mov dword [esp + 4], 0x6c366b7e
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2013b0
mov dword [esp + 4], str.isdemo
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2013b8
mov dword [esp + 4], str.issimple
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2013c8
mov dword [esp + 4], str.isplus
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], fcn.6c203b40
mov dword [esp + 4], str.buildnum
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c203a84
mov dword [esp + 4], str.setcornerlabel
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], fcn.6c208a68
mov dword [esp + 4], str.updateLighting
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], fcn.6c208acc
mov dword [esp + 4], str.updateShadowInfo
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], fcn.6c201e94
mov dword [esp + 4], str.updateRenderingOptions
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], fcn.6c21d1dc
mov dword [esp + 4], str.postprocess
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x6c201424
mov dword [esp + 4], str.report
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 5
mov dword [esp + 8], 0x6c210188
mov dword [esp + 4], str.process
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x6c203f60
mov dword [esp + 4], str.unwrap
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c2030d8
mov dword [esp + 4], str.reset
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c203e9c
mov dword [esp + 4], str.findgeom
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c203ed4
mov dword [esp + 4], str.addgeom
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x6c2173dc
mov dword [esp + 4], str.settransform
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 8
mov dword [esp + 8], 0x6c20e760
mov dword [esp + 4], str.addunit
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x6c20ddb0
mov dword [esp + 4], str.addcache
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c20142c
mov dword [esp + 4], str.resetLSamples
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c20e538
mov dword [esp + 4], str.addLSample
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c203d54
mov dword [esp + 4], str.setskybox
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c20156c
mov dword [esp + 4], str.setheight
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c202df0
mov dword [esp + 4], str.calcheight
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x6c216fec
mov dword [esp + 4], str.constrain
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c2146ac
mov dword [esp + 4], str.setkey
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2081bc
mov dword [esp + 4], str.getURL
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c208140
mov dword [esp + 4], str.onKeyDown
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x6c203700
mov dword [esp + 4], str.onLButtonDown
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x6c20357c
mov dword [esp + 4], str.onMouseMove
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x6c208474
mov dword [esp + 4], str.onLButtonUp
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x6c216b4c
mov dword [esp + 4], str.onLButtonClick
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c2013d4
mov dword [esp + 4], str.ascii
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2013ec
mov dword [esp + 4], str.active
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c216b30
mov dword [esp + 4], str.activate
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c202ab4
mov dword [esp + 4], str.setvisible
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c2027fc
mov dword [esp + 4], str.setclipper
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c201e78
mov dword [esp + 4], str.totalarea
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c201dd0
mov dword [esp + 4], str.imageinfo
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c201d64
mov dword [esp + 4], str.noemitters
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c201c28
mov dword [esp + 4], str.timestep
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c21fbb4
mov dword [esp + 4], str.KtoRGB
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c203e70
mov dword [esp + 4], str.hashstring
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c20845c
mov dword [esp + 4], str.Dir_entries
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c21f98c
mov dword [esp + 4], str.directory_
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c21f96c
mov dword [esp + 4], str.file_
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c21f950
mov dword [esp + 4], str.readable_
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c21f918
mov dword [esp + 4], str.mtime
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c201440
mov dword [esp + 4], str.spacenav
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c201a38
mov dword [esp + 4], str.draw_lines
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov byte [0x6c453ec0], 0
mov dword [esp], str.Sketchup.find_support_file__Materials_
call sub.msvcrt_ruby200.dll_rb_eval_string
cmp eax, 4
je 0x6c220b50
mov edx, dword [eax]
and dh, 0x20
je 0x6c221758
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov dword [esp], 0x6c453ec0
call sub.msvcrt.dll_strcpy
mov edi, 0x6c453ec0
xor eax, eax
mov ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
mov word [ecx + 0x6c453ebf], 0x2f
mov dword [0x6c4542c0], 0
mov dword [esp + 4], 0x6c455a60
mov dword [esp], 2
call sub.WS2_32.dll_WSAStartup
sub esp, 8
test eax, eax
je 0x6c220b7f
mov dword [0x6c455bf0], 2
mov dword [esp + 8], str.WaitableTimer
mov dword [esp + 4], 1
mov dword [esp], 0
call sub.KERNEL32.dll_CreateWaitableTimerA
sub esp, 0xc
mov dword [0x6c393020], eax
mov dword [esp], 0x6c455bf8
call sub.KERNEL32.dll_QueryPerformanceFrequency
push esi
fild qword [0x6c455bf8]
fld1
fdiv st(1)
fstp dword [0x6c455c00]
fdivr dword [0x6c367678]
fstp dword [0x6c45452c]
stmxcsr dword [ebp - 0xec]
mov eax, dword [ebp - 0xec]
mov dword [0x6c455c04], eax
stmxcsr dword [ebp - 0xec]
or dword [ebp - 0xec], 0x1f80
ldmxcsr dword [ebp - 0xec]
stmxcsr dword [ebp - 0xec]
or dword [ebp - 0xec], 0x8000
ldmxcsr dword [ebp - 0xec]
stmxcsr dword [ebp - 0xec]
or dword [ebp - 0xec], 0x40
ldmxcsr dword [ebp - 0xec]
mov dword [0x6c454940], 0x6c366dad
mov dword [0x6c454944], 0x6c366db3
mov dword [0x6c454948], 0x6c366db9
mov dword [0x6c45494c], 0x6c366db3
mov dword [0x6c454950], 0x6c366db3
mov dword [0x6c454954], 0x6c366dbf
mov dword [0x6c454958], 0x6c366db3
mov dword [0x6c45495c], 0x6c366dbf
mov dword [0x6c454960], 0x6c366db3
mov dword [0x6c454964], 0x6c366dbf
mov dword [0x6c454968], 0x6c366dc5
mov dword [0x6c45496c], 0x6c366dcb
mov dword [0x6c454970], 0x6c366dcb
mov dword [0x6c454974], 0x6c366dcb
mov dword [0x6c454978], 0x6c366dc5
mov dword [0x6c45497c], 0x6c366dbf
mov dword [0x6c454980], 0x6c366db3
mov dword [0x6c454984], 0x6c366db3
mov dword [0x6c454988], 0x6c366db3
mov dword [0x6c45498c], 0x6c366dbf
mov dword [0x6c454990], 0x6c366db9
mov dword [0x6c454994], 0x6c366dcb
mov dword [0x6c454998], 0x6c366dbf
mov dword [0x6c45499c], 0x6c366dcb
mov dword [0x6c4549a0], 0x6c366db9
mov dword [0x6c4549a4], 0x6c366db9
mov dword [0x6c4549a8], 0x6c366dcb
mov dword [0x6c4549ac], 0x6c366dd1
mov dword [0x6c4549b0], 0x6c366dcb
mov dword [0x6c4549b4], 0x6c366dcb
mov dword [0x6c4549b8], 0x6c366dc5
mov dword [0x6c4549bc], 0x6c366dcb
mov dword [0x6c4549c0], 0x6c366dd7
mov dword [0x6c4549c4], 0x6c366db3
mov dword [0x6c4549c8], 0x6c366dad
mov dword [0x6c4549cc], 0x6c366db3
mov dword [0x6c4549d0], 0x6c366db3
mov dword [0x6c4549d4], 0x6c366db9
mov dword [0x6c4549d8], 0x6c366db3
mov dword [0x6c4549dc], 0x6c366db3
mov dword [0x6c4549e0], 0x6c366ddd
mov dword [0x6c4549e4], 0x6c366ddd
mov dword [0x6c4549e8], 0x6c366ddd
mov dword [0x6c4549ec], 0x6c366ddd
mov dword [0x6c4549f0], 0x6c366ddd
mov dword [0x6c4549f4], 0x6c366de3
mov dword [0x6c4549f8], 0x6c366de3
mov dword [0x6c4549fc], 0x6c366de3
mov dword [0x6c454a00], 0x6c366de3
mov dword [0x6c454a04], 0x6c366dd1
mov dword [0x6c454a08], 0x6c366de9
mov dword [0x6c454a0c], 0x6c366def
mov dword [0x6c454a10], 0x6c366df5
mov dword [0x6c454a14], 0x6c366def
mov dword [0x6c454a18], 0x6c366de9
mov dword [0x6c454a1c], 0x6c366dcb
mov dword [0x6c454a20], 0x6c366dcb
mov dword [0x6c454a24], 0x6c366dcb
mov dword [0x6c454a28], 0x6c366dcb
mov dword [0x6c454a2c], 0x6c366db9
mov dword [0x6c454a30], 0x6c366dfb
mov dword [0x6c454a34], 0x6c366e01
mov dword [0x6c454a38], 0x6c366e01
mov dword [0x6c454a3c], 0x6c366db3
mov dword [0x6c454a40], 0x6c366db3
mov dword [0x6c454a44], 0x6c366db3
mov dword [0x6c454a48], 0x6c366e07
mov dword [0x6c454a4c], 0x6c366e01
mov dword [0x6c454a50], 0x6c366e0d
mov dword [0x6c454a54], 0x6c366db3
mov dword [0x6c454a58], 0x6c366dad
mov dword [0x6c454a5c], 0x6c366db3
mov dword [0x6c454a60], 0x6c366db3
mov dword [0x6c454a64], 0x6c366db3
mov dword [0x6c454a68], 0x6c366dad
mov dword [0x6c454a6c], 0x6c366dbf
mov dword [0x6c454a70], 0x6c366db3
mov dword [0x6c454a74], 0x6c366dbf
mov dword [0x6c454a78], 0x6c366dcb
mov dword [0x6c454a7c], 0x6c366dcb
mov dword [0x6c454a80], 0x6c366dad
mov dword [0x6c454a84], 0x6c366db3
mov dword [0x6c454a88], 0x6c366db3
mov dword [0x6c454a8c], 0x6c366e0d
mov dword [0x6c454a90], 0x6c366dc5
mov dword [0x6c454a94], 0x6c366dbf
mov dword [0x6c454a98], 0x6c366db3
mov dword [0x6c454a9c], 0x6c366dbf
mov dword [0x6c454aa0], 0x6c366def
mov dword [0x6c454aa4], 0x6c366de9
mov dword [0x6c454aa8], 0x6c366dc5
mov dword [0x6c454aac], 0x6c366dcb
mov dword [0x6c454ab0], 0x6c366dad
mov dword [0x6c454ab4], 0x6c366e13
mov dword [0x6c454ab8], 0x6c366dbf
mov dword [0x6c454abc], 0x6c366db9
mov dword [0x6c454ac0], 0x6c366ddd
mov dword [0x6c454ac4], 0x6c366ddd
mov dword [0x6c454ac8], 0x6c366ddd
mov dword [0x6c454acc], 0x6c366ddd
mov dword [0x6c454ad0], 0x6c366db3
mov dword [0x6c454ad4], 0x6c366db3
mov dword [0x6c454ad8], 0x6c366db3
mov dword [0x6c454adc], 0x6c366db3
mov dword [0x6c454ae0], 0x6c366dc5
mov dword [0x6c454ae4], 0x6c366db3
mov dword [0x6c454ae8], 0x6c366db3
mov dword [0x6c454aec], 0x6c366e19
mov dword [0x6c454af0], 0x6c366e19
mov dword [0x6c454af4], 0x6c366ddd
mov dword [0x6c454af8], 0x6c366db3
mov dword [0x6c454afc], 0x6c366db3
mov dword [0x6c454b00], 0x6c366e01
mov dword [0x6c454b04], 0x6c366e01
mov dword [0x6c454b08], 0x6c366e19
mov dword [0x6c454b0c], 0x6c366db3
mov dword [0x6c454b10], 0x6c366e19
mov dword [0x6c454b14], 0x6c366ddd
mov dword [0x6c454b18], 0x6c366e19
mov dword [0x6c454b1c], 0x6c366db3
mov dword [0x6c454b20], 0x6c366db3
mov dword [0x6c454b24], 0x6c366db3
mov dword [0x6c454b28], 0x6c366dc5
mov dword [0x6c454b2c], 0x6c366e13
mov dword [0x6c454b30], 0x6c366dad
mov dword [0x6c454b34], 0x6c366db9
mov dword [0x6c454b38], 0x6c366de3
mov dword [0x6c454b3c], 0x6c366ddd
mov dword [0x6c454b40], 0x6c366e1f
mov dword [0x6c454b44], 0x6c366db9
mov dword [0x6c454b48], 0x6c366dad
mov dword [0x6c454b4c], 0x6c366e0d
mov dword [0x6c454b50], 0x6c366e01
mov dword [0x6c454b54], 0x6c366e07
mov dword [0x6c454b58], 0x6c366dad
mov dword [0x6c454b5c], 0x6c366ddd
mov dword [0x6c454b60], 0x6c366e25
mov dword [0x6c454b64], 0x6c366ddd
mov dword [0x6c454b68], 0x6c366ddd
mov dword [0x6c454b6c], 0x6c366dad
mov dword [0x6c454b70], 0x6c366dad
mov dword [0x6c454b74], 0x6c366db3
mov dword [0x6c454b78], 0x6c366e2b
mov dword [0x6c454b7c], 0x6c366e1f
mov dword [0x6c454b80], 0x6c366db9
mov dword [0x6c454b84], 0x6c366dbf
mov dword [0x6c454b88], 0x6c366e13
mov dword [0x6c454b8c], 0x6c366e2b
mov dword [0x6c454b90], 0x6c366e13
mov dword [0x6c454b94], 0x6c366dbf
mov dword [0x6c454b98], 0x6c366dcb
mov dword [0x6c454b9c], 0x6c366de9
mov dword [0x6c454ba0], 0x6c366db9
mov dword [0x6c454ba4], 0x6c366de3
mov dword [0x6c454ba8], 0x6c366de3
mov dword [0x6c454bac], 0x6c366db9
mov dword [0x6c454bb0], 0x6c366dcb
mov dword [0x6c454bb4], 0x6c366dbf
mov dword [0x6c454bb8], 0x6c366e13
mov dword [0x6c454bbc], 0x6c366dbf
mov dword [0x6c454bc0], 0x6c366dc5
mov dword [0x6c454bc4], 0x6c366dcb
mov dword [0x6c454bc8], 0x6c366dbf
mov dword [0x6c454bcc], 0x6c366db3
mov dword [0x6c454bd0], 0x6c366dad
mov dword [0x6c454bd4], 0x6c366db9
mov dword [0x6c454bd8], 0x6c366e13
mov dword [0x6c454bdc], 0x6c366de3
mov dword [0x6c454be0], 0x6c366ddd
mov dword [0x6c454be4], 0x6c366ddd
mov dword [0x6c454be8], 0x6c366dad
mov dword [0x6c454bec], 0x6c366db3
mov dword [0x6c454bf0], 0x6c366dad
mov dword [0x6c454bf4], 0x6c366db3
mov dword [0x6c454bf8], 0x6c366dad
mov dword [0x6c454bfc], 0x6c366dad
mov dword [0x6c454c00], 0x6c366db3
mov dword [0x6c454c04], 0x6c366dc5
mov dword [0x6c454c08], 0x6c366e13
mov dword [0x6c454c0c], 0x6c366dad
mov dword [0x6c454c10], 0x6c366ddd
mov dword [0x6c454c14], 0x6c366ddd
mov dword [0x6c454c18], 0x6c366ddd
mov dword [0x6c454c1c], 0x6c366e31
mov dword [0x6c454c20], 0x6c366ddd
mov dword [0x6c454c24], 0x6c366dad
mov dword [0x6c454c28], 0x6c366e13
mov dword [0x6c454c2c], 0x6c366de3
mov dword [0x6c454c30], 0x6c366e31
mov dword [0x6c454c34], 0x6c366ddd
mov dword [0x6c454c38], 0x6c366e31
mov dword [0x6c454c3c], 0x6c366e31
mov dword [0x6c454c40], 0x6c366ddd
mov dword [0x6c454c44], 0x6c366e31
mov dword [0x6c454c48], 0x6c366ddd
mov dword [0x6c454c4c], 0x6c366e31
mov dword [0x6c454c50], 0x6c366e31
mov dword [0x6c454c54], 0x6c366dad
mov dword [0x6c454c58], 0x6c366e31
mov dword [0x6c454c5c], 0x6c366dad
mov dword [0x6c454c60], 0x6c366e31
mov dword [0x6c454c64], 0x6c366e31
mov dword [0x6c454c68], 0x6c366e31
mov dword [0x6c454c6c], 0x6c366de3
mov dword [0x6c454c70], 0x6c366ddd
mov dword [0x6c454c74], 0x6c366e31
mov dword [0x6c454c78], 0x6c366e31
mov dword [0x6c454c7c], 0x6c366e31
mov dword [0x6c454c80], 0x6c366e31
mov dword [0x6c454c84], 0x6c366ddd
mov dword [0x6c454c88], 0x6c366e31
mov dword [0x6c454c8c], 0x6c366e31
mov dword [0x6c454c90], 0x6c366dad
mov dword [0x6c454c94], 0x6c366e31
mov dword [0x6c454c98], 0x6c366e31
mov dword [0x6c454c9c], 0x6c366de3
mov dword [0x6c454ca0], 0x6c366ddd
mov dword [0x6c454ca4], 0x6c366ddd
mov dword [0x6c454ca8], 0x6c366ddd
mov dword [0x6c454cac], 0x6c366de3
mov dword [0x6c454cb0], 0x6c366ddd
mov dword [0x6c454cb4], 0x6c366de3
mov dword [0x6c454cb8], 0x6c366de3
mov dword [0x6c454cbc], 0x6c366de3
mov dword [0x6c454cc0], 0x6c366ddd
mov dword [0x6c454cc4], 0x6c366e31
mov dword [0x6c454cc8], 0x6c366e31
mov dword [0x6c454ccc], 0x6c366e31
mov dword [0x6c454cd0], 0x6c366e31
mov dword [0x6c454cd4], 0x6c366e31
mov dword [0x6c454cd8], 0x6c366db9
mov dword [0x6c454cdc], 0x6c366db9
mov dword [0x6c454ce0], 0x6c366db9
mov dword [0x6c454ce4], 0x6c366db9
mov dword [0x6c454ce8], 0x6c366db9
mov dword [0x6c454cec], 0x6c366ddd
mov dword [0x6c454cf0], 0x6c366ddd
mov dword [0x6c454cf4], 0x6c366e31
mov dword [0x6c454cf8], 0x6c366e31
mov dword [0x6c454cfc], 0x6c366e31
mov dword [0x6c454d00], 0x6c366e01
mov dword [0x6c454d04], 0x6c366dad
mov dword [0x6c454d08], 0x6c366db9
mov dword [0x6c454d0c], 0x6c366dad
mov dword [0x6c454d10], 0x6c366e01
mov dword [0x6c454d14], 0x6c366e13
mov dword [0x6c454d18], 0x6c366de3
mov dword [0x6c454d1c], 0x6c366ddd
mov dword [0x6c454d20], 0x6c366e1f
mov dword [0x6c454d24], 0x6c366dcb
mov dword [0x6c454d28], 0x6c366e31
mov dword [0x6c454d2c], 0x6c366e31
mov dword [0x6c454d30], 0x6c366e31
mov dword [0x6c454d34], 0x6c366e31
mov dword [0x6c454d38], 0x6c366db9
mov dword [0x6c454d3c], 0x6c366dcb
mov dword [0x6c454d40], 0x6c366e1f
mov dword [0x6c454d44], 0x6c366ddd
mov dword [0x6c454d48], 0x6c366de3
mov dword [0x6c454d4c], 0x6c366e13
lea eax, [ebp - 0x5d]
mov esi, str.abcdefghijklmnopqrstuvwxyz0123456789__:_._______
mov ecx, 0x35
mov edi, eax
rep movsb byte es:[edi], byte [esi]
xor edx, edx
nop
mov dword [edx*4 + 0x6c454540], 0x2d
inc edx
cmp edx, 0x100
jne 0x6c221660
xor dx, dx
nop
movzx ecx, byte [eax + edx]
mov dword [ecx*4 + 0x6c454540], edx
inc edx
cmp edx, 0x35
jne 0x6c221678
mov byte [0x6c453060], 0
lea edi, [ebp - 0x28]
mov esi, 0x6c4874e0
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x28]
mov dword [esp + 0xc], eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0x41200000
mov dword [esp], 0x6c487500
call fcn.6c26994c
mov dword [0x6c393024], 0x6c487500
call fcn.6c20e0d8
mov dword [esp], 0x10
call fcn.6c2df72c
mov esi, eax
mov dword [eax], 0x60
mov dword [eax + 4], 0
mov dword [eax + 8], 0x20
mov dword [esp], 0xc13
call sub.msvcrt.dll_malloc
lea edx, [eax + 0x13]
and edx, 0xfffffff0
mov dword [edx - 4], eax
mov dword [esi + 0xc], edx
mov dword [0x6c455144], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c20e1d8
mov dword [esp + 4], str.exit
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp], str.at_exit_LMapExt.exit
call sub.msvcrt_ruby200.dll_rb_eval_string
call fcn.6c250ca4
mov dword [0x6c4542c4], 0
lea esp, [ebp - 0xc]
pop ecx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
add eax, 8
jmp 0x6c220b27
mov dword [esp + 4], 0xc
mov dword [esp], 0x6c366b62
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a58], eax
jmp 0x6c220353
mov dword [esp + 4], 2
mov dword [esp], 0x6c366b5f
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a54], eax
jmp 0x6c220341
mov dword [esp + 4], 4
mov dword [esp], str.to_a
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a50], eax
jmp 0x6c22032f
mov dword [esp + 4], 7
mov dword [esp], str.lightup
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a4c], eax
jmp 0x6c22031d
mov dword [esp + 4], 8
mov dword [esp], 0x6c366b44
call sub.msvcrt_ruby200.dll_rb_intern2
mov esi, eax
mov dword [0x6c455a48], eax
jmp 0x6c2202f3
mov dword [esp + 4], 0xc
mov dword [esp], str.SectionPlane
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a44], eax
jmp 0x6c2202cf
mov dword [esp + 4], 5
mov dword [esp], str.Image
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a40], eax
jmp 0x6c2202ac
mov dword [esp + 4], 5
mov dword [esp], str.Group
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a3c], eax
jmp 0x6c220289
mov dword [esp + 4], 0x11
mov dword [esp], str.ComponentInstance
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a38], eax
jmp 0x6c220266
mov dword [esp + 4], 4
mov dword [esp], str.Edge
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a34], eax
jmp 0x6c220243
mov dword [esp + 4], 4
mov dword [esp], str.Face
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a30], eax
jmp 0x6c220220
mov dword [esp + 4], 0xc
mov dword [esp], 0x6c366b02
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c455a2c], eax
jmp 0x6c22020e