Function at 0x4115c7
Capabilities:
Check if file exists
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x469131
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push esi
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x14]
call fcn.0040dfd0
mov dword [ebp - 4], 0
mov byte [0x486924], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x254]
push ecx
call fcn.004104a7
mov byte [0x486924], al
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x10f04], 0
jne 0x41165a
push 0
push 0
push 0x47fc80
call fcn.00464203
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0046051a
jmp 0x411bf5
mov dword [ebp - 0x1c], 0
jmp 0x41166c
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x100
jge 0x41169a
push 0x10c
push 0
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0x10c
mov edx, dword [ebp - 0x24]
lea eax, [edx + ecx + 0x304]
push eax
call fcn.0044ce10
add esp, 0xc
jmp 0x411663
mov dword [ebp - 0x1c], 0
jmp 0x4116ac
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 8
jge 0x41178a
mov edx, dword [ebp - 0x24]
xor eax, eax
mov ax, word [edx + 0x274]
mov edx, 1
mov ecx, dword [ebp - 0x1c]
shl edx, cl
and eax, edx
test eax, eax
je 0x4116e8
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x10c
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax + 0x304], 1
jmp 0x4116fc
mov edx, dword [ebp - 0x1c]
imul edx, edx, 0x10c
mov eax, dword [ebp - 0x24]
mov byte [eax + edx + 0x304], 0
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0x10c
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
mov eax, dword [esi + eax*4 + 0x228]
mov dword [edx + ecx + 0x308], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edx + ecx*4 + 0x188]
call fcn.0040e000
push eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx + eax*4 + 0x188]
call fcn.0040e000
push eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
lea ecx, [eax + edx*4 + 0x188]
call fcn.0046094a
push eax
mov ecx, dword [ebp - 0x1c]
imul ecx, ecx, 0x10c
mov edx, dword [ebp - 0x24]
lea eax, [edx + ecx + 0x30c]
push eax
call fcn.0044ce70
add esp, 0xc
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edx + ecx*4 + 0x188]
call fcn.00460999
jmp 0x4116a3
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x250], 4
jne 0x41189c
mov dword [ebp - 0x1c], 0
jmp 0x4117ac
mov ecx, dword [ebp - 0x1c]
add ecx, 1
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 4
jge 0x411897
mov edx, dword [ebp - 0x1c]
add edx, 9
imul edx, edx, 0x10c
mov eax, dword [ebp - 0x24]
mov byte [eax + edx + 0x304], 1
mov ecx, dword [ebp - 0x1c]
add ecx, 9
imul ecx, ecx, 0x10c
mov edx, dword [ebp - 0x24]
mov dword [edx + ecx + 0x308], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx + eax*4 + 0x218]
call fcn.0040e000
push eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
lea ecx, [eax + edx*4 + 0x218]
call fcn.0040e000
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edx + ecx*4 + 0x218]
call fcn.0046094a
push eax
mov eax, dword [ebp - 0x1c]
add eax, 9
imul eax, eax, 0x10c
mov ecx, dword [ebp - 0x24]
lea edx, [ecx + eax + 0x30c]
push edx
call fcn.0044ce70
add esp, 0xc
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx + eax*4 + 0x218]
call fcn.00460999
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
lea ecx, [eax + edx*4 + 0x218]
call fcn.0040dff0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x411892
push 0
push 0
push str.LD_files_do_not_exist._Please_confirm_it_in_setting_dialog.
call fcn.00464203
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0046051a
jmp 0x411bf5
jmp 0x4117a3
jmp 0x411acc
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x250], 3
jne 0x4119ae
mov dword [ebp - 0x1c], 0
jmp 0x4118be
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 4
jge 0x4119a9
mov eax, dword [ebp - 0x1c]
add eax, 0x10
imul eax, eax, 0x10c
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax + 0x304], 1
mov edx, dword [ebp - 0x1c]
add edx, 0x10
imul edx, edx, 0x10c
mov eax, dword [ebp - 0x24]
mov dword [eax + edx + 0x308], 0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edx + ecx*4 + 0x218]
call fcn.0040e000
push eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx + eax*4 + 0x218]
call fcn.0040e000
push eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
lea ecx, [eax + edx*4 + 0x218]
call fcn.0046094a
push eax
mov ecx, dword [ebp - 0x1c]
add ecx, 0x10
imul ecx, ecx, 0x10c
mov edx, dword [ebp - 0x24]
lea eax, [edx + ecx + 0x30c]
push eax
call fcn.0044ce70
add esp, 0xc
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edx + ecx*4 + 0x218]
call fcn.00460999
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx + eax*4 + 0x218]
call fcn.0040dff0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x4119a4
push 0
push 0
push 0x47fd14
call fcn.00464203
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0046051a
jmp 0x411bf5
jmp 0x4118b5
jmp 0x411acc
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x250], 5
jne 0x411acc
mov dword [ebp - 0x1c], 0
jmp 0x4119d0
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 4
jge 0x411acc
cmp dword [ebp - 0x1c], 2
jge 0x4119eb
mov ecx, dword [ebp - 0x1c]
add ecx, 0x16
mov dword [ebp - 0x20], ecx
jmp 0x4119f4
mov edx, dword [ebp - 0x1c]
add edx, 0x17
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x10c
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax + 0x304], 1
mov edx, dword [ebp - 0x20]
imul edx, edx, 0x10c
mov eax, dword [ebp - 0x24]
mov dword [eax + edx + 0x308], 0
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edx + ecx*4 + 0x218]
call fcn.0040e000
push eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx + eax*4 + 0x218]
call fcn.0040e000
push eax
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
lea ecx, [eax + edx*4 + 0x218]
call fcn.0046094a
push eax
mov ecx, dword [ebp - 0x20]
imul ecx, ecx, 0x10c
mov edx, dword [ebp - 0x24]
lea eax, [edx + ecx + 0x30c]
push eax
call fcn.0044ce70
add esp, 0xc
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edx + ecx*4 + 0x218]
call fcn.00460999
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
lea ecx, [ecx + eax*4 + 0x218]
call fcn.0040dff0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x411ac7
push 0
push 0
push str.LD_files_do_not_exist._Please_check_it.
call fcn.00464203
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0046051a
jmp 0x411bf5
jmp 0x4119c7
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x144], 1
mov ecx, dword [ebp - 0x24]
add ecx, 0x130
call fcn.004604a5
push 0
push 0x448
mov ecx, dword [ebp - 0x24]
call fcn.0045fac0
mov ecx, eax
call fcn.0045fc80
push 0
push 0x449
mov ecx, dword [ebp - 0x24]
call fcn.0045fac0
mov ecx, eax
call fcn.0045fc80
push 0
push 0x443
mov ecx, dword [ebp - 0x24]
call fcn.0045fac0
mov ecx, eax
call fcn.0045fcc2
push 0
push 0x462
mov ecx, dword [ebp - 0x24]
call fcn.0045fac0
mov ecx, eax
call fcn.0045fcc2
push 0
push 0x483
mov ecx, dword [ebp - 0x24]
call fcn.0045fac0
mov ecx, eax
call fcn.0045fcc2
push 0
push 0x484
mov ecx, dword [ebp - 0x24]
call fcn.0045fac0
mov ecx, eax
call fcn.0045fcc2
push 0
push 0x485
mov ecx, dword [ebp - 0x24]
call fcn.0045fac0
mov ecx, eax
call fcn.0045fcc2
push 5
mov ecx, dword [ebp - 0x24]
add ecx, 0x5c
call fcn.0045fc80
push 0
mov ecx, dword [ebp - 0x24]
add ecx, 0x5c
call fcn.00416770
push 0x47fd64
push 0x471
mov ecx, dword [ebp - 0x24]
call fcn.0045fac0
mov ecx, eax
call fcn.0045fb7f
push 5
push 0x471
mov ecx, dword [ebp - 0x24]
call fcn.0045fac0
mov ecx, eax
call fcn.0045fc80
lea eax, [ebp - 0x18]
push eax
push 0
mov ecx, dword [ebp - 0x24]
push ecx
push 0x411c04
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.0046051a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret