Function at 0x6c250ca4
Capabilities:
Contain obfuscated stackstrings
Create thread
Get system information on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xec
mov dword [esp], 0x368
call fcn.6c2df72c
mov esi, eax
mov dword [eax + 0x364], 0
mov dword [eax + 0x120], 1
lea eax, [esp + 0xbc]
mov dword [esp], eax
call sub.KERNEL32.dll_GetSystemInfo
push ebx
mov eax, dword [esp + 0xd0]
mov dword [esi + 0x120], eax
cmp eax, 1
jle 0x6c2513c6
mov edx, 0x18
cmp eax, 0x18
cmovle edx, eax
mov dword [esi + 0x120], edx
call sub.KERNEL32.dll_GetCurrentThread
mov dword [esi], eax
mov eax, dword [esi + 0x120]
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x6c2513a6
lea edi, [esi + 0xc0]
lea ebp, [esi + 0x124]
xor ebx, ebx
jmp 0x6c250d49
inc ebx
mov eax, dword [esi + 0x120]
mov dword [esp + 0x2c], eax
add edi, 4
add ebp, 0x18
cmp ebx, eax
jge 0x6c250e04
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.KERNEL32.dll_CreateEventA
sub esp, 0x10
mov dword [edi - 0x60], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.KERNEL32.dll_CreateMutexA
sub esp, 0xc
mov dword [edi], eax
mov dword [ebp], esi
mov dword [ebp + 4], ebx
lea edx, [ebx + ebx*2]
shl edx, 3
lea eax, [esi + edx]
mov dword [eax + 0x12c], 1
mov dword [eax + 0x130], 1
test ebx, ebx
je 0x6c250d30
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
lea eax, [esi + edx + 0x124]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x6c241e80
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.KERNEL32.dll_CreateThread
sub esp, 0x18
mov dword [edi - 0xc0], eax
jmp 0x6c250d30
cmp eax, 1
jle 0x6c2513a6
mov ebx, 1
jmp 0x6c250e1d
inc ebx
mov dword [esp + 0x2c], eax
cmp ebx, eax
jge 0x6c250e4a
lea edx, [ebx + ebx*2]
lea edx, [esi + edx*8]
mov edx, dword [edx + 0x130]
test edx, edx
je 0x6c250e14
mov dword [esp], 0xa
call sub.msvcrt_ruby200.dll_Sleep_4
push ecx
dec ebx
mov eax, dword [esi + 0x120]
inc ebx
mov dword [esp + 0x2c], eax
cmp ebx, eax
jl 0x6c250e1d
mov dword [0x6c481dfc], esi
mov edx, 0x6c46e2c0
mov ecx, 0x60
xor eax, eax
mov edi, edx
rep stosb byte es:[edi], al
cmp dword [esp + 0x2c], 1
jle 0x6c2513bc
mov eax, 0x6c368c38
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.print__Using__d_core_s_configuration._n_
lea ebx, [esp + 0x3c]
mov dword [esp], ebx
call sub.msvcrt.dll_sprintf
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_eval_string
mov dword [esp], str.LMap::LightCache
call sub.msvcrt_ruby200.dll_rb_eval_string
mov dword [esp + 8], eax
mov dword [esp + 4], str.CLightCache
mov eax, dword [0x6c2e308c]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_class_under
mov ebx, eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c245fd8
mov dword [esp + 4], str.iesmanu
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c24604c
mov dword [esp + 4], str.iesname
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c2460c0
mov dword [esp + 4], str.ieslamp
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c24633c
mov dword [esp + 4], str.iesrating
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c2464cc
mov dword [esp + 4], str.iestype
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c248960
mov dword [esp + 4], str.iesenvelope
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c248328
mov dword [esp + 4], str.iesthumbnail
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c2398b4
mov dword [esp + 4], str.zenithlux
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c24d0e0
mov dword [esp + 4], str.updatelight
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_module_function
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c24ddb4
mov dword [esp + 4], str.initialize
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c2399a8
mov dword [esp + 4], str.setDensity
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c2398d4
mov dword [esp + 4], str.hasEmitter
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x6c23ef0c
mov dword [esp + 4], str.addEmitter
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c24745c
mov dword [esp + 4], str.addLight
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c23b080
mov dword [esp + 4], str.gatherSources
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], fcn.6c24b07c
mov dword [esp + 4], str.finalize
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], fcn.6c2376e8
mov dword [esp + 4], str.checksum
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x6c239890
mov dword [esp + 4], str.probecache
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x6c239820
mov dword [esp + 4], str.setup
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c2397cc
mov dword [esp + 4], str.getStatus
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x6c237218
mov dword [esp + 4], str.teardown
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x6c239728
mov dword [esp + 4], str.setProgress
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 3
mov dword [esp + 8], fcn.6c24c248
mov dword [esp + 4], str.setAOMode
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 4
mov dword [esp + 8], fcn.6c2444e8
mov dword [esp + 4], str.setLuxMode
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x6c244430
mov dword [esp + 4], str.shadefaces
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x6c242f40
mov dword [esp + 4], str.blendlayers
mov dword [esp], ebx
call sub.msvcrt_ruby200.dll_rb_define_method
mov eax, dword [0x6c482440]
test eax, eax
je 0x6c251388
mov dword [0x6c4823b8], eax
mov eax, dword [0x6c482444]
test eax, eax
je 0x6c25136a
mov dword [0x6c482448], eax
mov eax, dword [0x6c48244c]
test eax, eax
je 0x6c25134c
mov dword [0x6c482450], eax
mov eax, dword [0x6c482454]
test eax, eax
je 0x6c25132e
mov dword [0x6c482458], eax
mov eax, dword [0x6c48245c]
test eax, eax
je 0x6c251310
mov dword [0x6c482460], eax
mov eax, dword [0x6c482464]
test eax, eax
je 0x6c2512f2
mov dword [0x6c482468], eax
mov ebx, dword [0x6c48246c]
test ebx, ebx
je 0x6c2512d5
mov dword [esp], str.Geom
call sub.msvcrt_ruby200.dll_rb_eval_string
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_const_get
mov dword [0x6c482470], eax
mov eax, dword [0x6c482474]
test eax, eax
jne 0x6c2512b4
mov dword [esp + 4], 6
mov dword [esp], str.Entity
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c482474], eax
mov dword [esp + 4], eax
mov eax, dword [0x6c453eb0]
mov dword [esp], eax
call sub.msvcrt_ruby200.dll_rb_const_get
mov dword [0x6c482478], eax
add esp, 0xec
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 8
mov dword [esp], str.Vector3d
call sub.msvcrt_ruby200.dll_rb_intern2
mov ebx, eax
mov dword [0x6c48246c], eax
jmp 0x6c251275
mov dword [esp + 4], 0xd
mov dword [esp], str.get_attribute
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c482464], eax
jmp 0x6c251266
mov dword [esp + 4], 4
mov dword [esp], 0x6c368d9e
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c48245c], eax
jmp 0x6c251254
mov dword [esp + 4], 3
mov dword [esp], 0x6c368d9a
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c482454], eax
jmp 0x6c251242
mov dword [esp + 4], 8
mov dword [esp], 0x6c368709
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c48244c], eax
jmp 0x6c251230
mov dword [esp + 4], 6
mov dword [esp], str.normal
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c482444], eax
jmp 0x6c25121e
mov dword [esp + 4], 0xe
mov dword [esp], str.classify_point
call sub.msvcrt_ruby200.dll_rb_intern2
mov dword [0x6c482440], eax
jmp 0x6c25120c
mov dword [0x6c481dfc], esi
mov edx, 0x6c46e2c0
mov ecx, 0x60
xor eax, eax
mov edi, edx
rep stosb byte es:[edi], al
mov eax, 0x6c368c3a
jmp 0x6c250e70
mov edx, 2
jmp 0x6c250d01