Function at 0x41ea80
Capabilities:
Check if file exists
Create thread
Delete directory
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x574
mov eax, dword [0x4b206c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
xor ecx, ecx
mov dword [ebp - 0x4b0], ecx
cmp dword [0x4b6c28], ecx
je 0x41ead4
lea eax, [ebp - 0x4b8]
mov dword [ebp - 0x4b8], str.e:_se9_src_base360_repair_se_repair_helper.cc
push eax
mov dword [ebp - 0x4b4], 0x2e
call fcn.00421a30
mov ecx, dword [ebp - 0x4b0]
mov edx, eax
jmp 0x41eae3
mov eax, dword [0x4b6c14]
or edx, 0xffffffff
neg eax
cmp eax, edx
cmovg edx, eax
cmp edx, 1
jl 0x41eb35
push 0xffffffffffffffff
push 0xa1
push str.e:_se9_src_base360_repair_se_repair_helper.cc
lea ecx, [ebp - 0x570]
call fcn.00419b20
mov edx, str.RepairMainModule_repair_module_name_
lea ecx, [eax + 8]
call fcn.004061c3
mov edx, edi
mov ecx, eax
call fcn.0041a680
mov edx, str._path_
mov ecx, eax
call fcn.004061c3
mov edx, esi
mov ecx, eax
call fcn.0041a680
mov ecx, 1
mov dword [ebp - 0x4b0], ecx
test cl, 1
je 0x41eb4e
and ecx, 0xfffffffe
mov dword [ebp - 0x4b0], ecx
lea ecx, [ebp - 0x570]
call fcn.00419d30
test edi, edi
je 0x41f292
test esi, esi
je 0x41f292
sub esp, 8
mov byte [ebp - 0x4a9], 0
mov ecx, esp
mov dword [ecx], esi
cmp word [esi], 0
jne 0x41eb76
xor esi, esi
jmp 0x41eb8f
lea edx, [esi + 2]
nop dword [eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x41eb80
sub esi, edx
sar esi, 1
mov dword [ecx + 4], esi
lea ecx, [ebp - 0x490]
call fcn.0040cfd0
lea ecx, [ebp - 0x430]
call fcn.0041e520
sub esp, 8
mov edx, esp
cmp dword [eax + 0x14], 8
jb 0x41ebb7
mov ecx, dword [eax]
jmp 0x41ebb9
mov ecx, eax
mov dword [edx], ecx
lea ecx, [ebp - 0x4a8]
mov eax, dword [eax + 0x10]
mov dword [edx + 4], eax
call fcn.0040cfd0
mov eax, dword [ebp - 0x41c]
cmp eax, 8
jb 0x41ec25
mov ecx, dword [ebp - 0x430]
inc eax
cmp eax, 0x7fffffff
ja 0x41f2a5
add eax, eax
cmp eax, 0x1000
jb 0x41ec1c
test cl, 0x1f
jne 0x41f2aa
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x41f2af
sub ecx, eax
cmp ecx, 4
jb 0x41f2b4
cmp ecx, 0x23
ja 0x41f2b9
mov ecx, eax
push ecx
call fcn.00460c6b
add esp, 4
push 0x208
lea eax, [ebp - 0x418]
push 0
push eax
call fcn.00463e50
add esp, 0xc
lea eax, [ebp - 0x418]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x208
lea eax, [ebp - 0x210]
push 0
push eax
call fcn.00463e50
add esp, 0xc
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push 0x49588c
lea eax, [ebp - 0x418]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
sub esp, 8
lea eax, [ebp - 0x210]
mov edx, esp
mov dword [edx], eax
cmp word [ebp - 0x210], 0
jne 0x41ec9e
xor ecx, ecx
jmp 0x41ecb6
lea ecx, [ebp - 0x210]
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41eca7
sub ecx, esi
sar ecx, 1
mov dword [edx + 4], ecx
lea ecx, [ebp - 0x460]
call fcn.0040cfd0
xor edx, edx
lea ecx, [ebp - 0x460]
call fcn.0041cc60
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x490]
call fcn.0040d5f0
cmp dword [eax + 0x14], 8
jb 0x41eceb
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
lea ecx, [ebp - 0x430]
sete bl
call fcn.0040d070
test bl, bl
je 0x41ed2d
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x490]
call fcn.0040d5f0
xor edx, edx
mov ecx, eax
call fcn.0041cc60
lea ecx, [ebp - 0x430]
call fcn.0040d070
xor eax, eax
mov dword [ebp - 0x41c], 7
mov dword [ebp - 0x420], 0
mov word [ebp - 0x430], ax
cmp word [edi], ax
jne 0x41ed53
xor ecx, ecx
jmp 0x41ed6f
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ed60
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x430]
call fcn.00401a46
lea eax, [ebp - 0x430]
push eax
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x4a8]
call fcn.00422f80
mov esi, eax
add esp, 8
mov eax, dword [ebp - 0x41c]
cmp eax, 8
jb 0x41edf3
mov ecx, dword [ebp - 0x430]
inc eax
cmp eax, 0x7fffffff
ja 0x41f2be
add eax, eax
cmp eax, 0x1000
jb 0x41edea
test cl, 0x1f
jne 0x41f2c3
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x41f2c8
sub ecx, eax
cmp ecx, 4
jb 0x41f2cd
cmp ecx, 0x23
ja 0x41f2d2
mov ecx, eax
push ecx
call fcn.00460c6b
add esp, 4
xor eax, eax
mov dword [ebp - 0x41c], 7
mov dword [ebp - 0x420], 0
mov word [ebp - 0x430], ax
cmp dword [0x4b6c28], eax
je 0x41ee3c
lea eax, [ebp - 0x4b8]
mov dword [ebp - 0x4b8], str.e:_se9_src_base360_repair_se_repair_helper.cc
push eax
mov dword [ebp - 0x4b4], 0x2e
call fcn.00421a30
mov ecx, eax
jmp 0x41ee4e
mov eax, dword [0x4b6c14]
mov ecx, 0xffffffff
neg eax
cmp eax, 0xffffffff
cmovg ecx, eax
mov ebx, dword [ebp - 0x4b0]
cmp ecx, 1
jl 0x41eeaf
push 0xffffffffffffffff
push 0xb4
push str.e:_se9_src_base360_repair_se_repair_helper.cc
lea ecx, [ebp - 0x570]
or ebx, 2
call fcn.00419b20
push esi
mov edx, str.RepairMainModule_UnPackArchiveSingle2Files_re_
lea ecx, [eax + 8]
call fcn.004061c3
mov ecx, eax
call fcn.0040b3c3
mov edx, str._unpack_path_
mov ecx, eax
call fcn.004061c3
cmp dword [ebp - 0x44c], 8
lea edx, [ebp - 0x460]
mov ecx, eax
cmovae edx, dword [ebp - 0x460]
call fcn.0041a680
test bl, 2
je 0x41eec2
lea ecx, [ebp - 0x570]
and ebx, 0xfffffffd
call fcn.00419d30
sub esp, 8
mov edx, esp
mov dword [edx], edi
cmp word [edi], 0
jne 0x41eed3
xor ecx, ecx
jmp 0x41eeef
mov ecx, edi
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41eee0
sub ecx, esi
sar ecx, 1
lea eax, [ebp - 0x478]
mov dword [edx + 4], ecx
push eax
lea ecx, [ebp - 0x460]
call fcn.0040d7f0
cmp dword [ebp - 0x464], 8
lea eax, [ebp - 0x478]
cmovae eax, dword [ebp - 0x478]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x41efbb
lea edx, [ebp - 0x490]
lea ecx, [ebp - 0x478]
call fcn.0041cf60
mov dl, 1
mov byte [ebp - 0x4a9], al
lea ecx, [ebp - 0x478]
mov byte [ebp - 0x4b0], al
call fcn.0041c7e0
cmp dword [ebp - 0x44c], 8
lea ecx, [ebp - 0x460]
cmovae ecx, dword [ebp - 0x460]
push ecx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
call fcn.0041f3f0
cmp eax, 1
jl 0x41efab
push 0xffffffffffffffff
push 0xbb
push str.e:_se9_src_base360_repair_se_repair_helper.cc
lea ecx, [ebp - 0x570]
or ebx, 4
call fcn.00419b20
push dword [ebp - 0x4b0]
mov edx, str.RepairMainModule_CopyFile_re_
lea ecx, [eax + 8]
call fcn.004061c3
mov ecx, eax
call fcn.0041f330
test bl, 4
je 0x41efbb
lea ecx, [ebp - 0x570]
call fcn.00419d30
mov bl, byte [ebp - 0x4a9]
mov eax, str.http:__dd.browser.360.cn_static_a_185.4103.gif
test bl, bl
mov dword [ebp - 0x434], 7
mov edx, str.http:__dd.browser.360.cn_static_a_185.2965.gif
mov dword [ebp - 0x438], 0
cmove edx, eax
xor eax, eax
mov word [ebp - 0x448], ax
cmp word [edx], ax
jne 0x41eff6
xor ecx, ecx
jmp 0x41f00f
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f000
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x448]
call fcn.00401a46
push 3
push 0x4959b8
lea ecx, [ebp - 0x448]
call fcn.00401d59
lea ecx, [ebp - 0x430]
call fcn.0041e000
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x448]
call fcn.00401dfd
mov eax, dword [ebp - 0x41c]
cmp eax, 8
jb 0x41f0a2
mov ecx, dword [ebp - 0x430]
inc eax
cmp eax, 0x7fffffff
ja 0x41f2d7
add eax, eax
cmp eax, 0x1000
jb 0x41f099
test cl, 0x1f
jne 0x41f2dc
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x41f2e1
sub ecx, eax
cmp ecx, 4
jb 0x41f2e6
cmp ecx, 0x23
ja 0x41f2eb
mov ecx, eax
push ecx
call fcn.00460c6b
add esp, 4
push 3
push 0x4959c0
lea ecx, [ebp - 0x448]
call fcn.00401d59
lea ecx, [ebp - 0x430]
call fcn.0041df90
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x448]
call fcn.00401dfd
mov eax, dword [ebp - 0x41c]
cmp eax, 8
jb 0x41f128
mov ecx, dword [ebp - 0x430]
inc eax
cmp eax, 0x7fffffff
ja 0x41f2f0
add eax, eax
cmp eax, 0x1000
jb 0x41f11f
test cl, 0x1f
jne 0x41f2f5
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x41f2fa
sub ecx, eax
cmp ecx, 4
jb 0x41f2ff
cmp ecx, 0x23
ja 0x41f304
mov ecx, eax
push ecx
call fcn.00460c6b
add esp, 4
push 0xc
push str._refererc_
lea ecx, [ebp - 0x448]
call fcn.00401d59
cmp word [edi], 0
jne 0x41f144
xor ecx, ecx
jmp 0x41f15f
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f150
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x448]
call fcn.00401d59
mov eax, dword [ebp - 0x438]
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00460c70
add esp, 4
lea ecx, [ebp - 0x448]
cmp dword [ebp - 0x434], 8
mov esi, eax
mov edx, esi
cmovae ecx, dword [ebp - 0x448]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x41f1a4
lea eax, [ebp - 0x4bc]
mov dword [ebp - 0x4bc], 0
push eax
push 0
push esi
push 0x41df70
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x4b6c54], eax
mov eax, dword [ebp - 0x434]
cmp eax, 8
jb 0x41f236
mov ecx, dword [ebp - 0x448]
inc eax
cmp eax, 0x7fffffff
ja 0x41f309
add eax, eax
cmp eax, 0x1000
jb 0x41f22d
test cl, 0x1f
jne 0x41f30e
mov eax, dword [ecx - 4]
cmp eax, ecx
jae 0x41f313
sub ecx, eax
cmp ecx, 4
jb 0x41f318
cmp ecx, 0x23
ja 0x41f31d
mov ecx, eax
push ecx
call fcn.00460c6b
add esp, 4
xor eax, eax
mov dword [ebp - 0x434], 7
lea ecx, [ebp - 0x478]
mov dword [ebp - 0x438], 0
mov word [ebp - 0x448], ax
call fcn.0040d070
lea ecx, [ebp - 0x460]
call fcn.0040d070
lea ecx, [ebp - 0x4a8]
call fcn.0040d070
lea ecx, [ebp - 0x490]
call fcn.0040d070
mov al, bl
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460c27
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00460c27
mov esp, ebp
pop ebp
ret
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
call fcn.004662a1
int3