Function at 0x1000d530
Capabilities:
Check if file exists
Copy file
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x10033068]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x208
lea eax, [ebp - 0x20c]
mov esi, ecx
push 0
push eax
mov dword [ebp - 0x210], esi
call fcn.10010540
lea ebx, [esi + 0x80]
add esp, 0xc
cmp dword [ebx + 0x14], 8
jb 0x1000d574
mov eax, dword [ebx]
jmp 0x1000d576
mov eax, ebx
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call edi
test eax, eax
jne 0x1000d5ba
add esi, 0x98
cmp dword [esi + 0x14], 8
jb 0x1000d593
mov eax, dword [esi]
jmp 0x1000d595
mov eax, esi
push eax
call edi
test eax, eax
je 0x1000d5ba
cmp dword [ebx + 0x14], 8
jb 0x1000d5a6
mov eax, dword [ebx]
jmp 0x1000d5a8
mov eax, ebx
cmp dword [esi + 0x14], 8
jb 0x1000d5b0
mov esi, dword [esi]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov edx, dword [ebp - 0x210]
mov eax, dword [edx + 0x18]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x1000d6c8
nop
mov ebx, dword [esi + 0x14]
lea edx, [ebx + 8]
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1000d5e0
sub ecx, edi
sar ecx, 1
test ecx, ecx
jle 0x1000d674
mov eax, dword [ebp - 0x210]
sub eax, 0xffffff80
cmp dword [eax + 0x14], 8
jb 0x1000d608
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x10025f0c
push edx
push str.MuBanSetting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x10025f0c
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1000d657
test dx, dx
je 0x1000d653
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1000d657
add eax, 4
add ecx, 4
test dx, dx
jne 0x1000d631
xor eax, eax
jmp 0x1000d65c
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000d674
lea eax, [ebp - 0x20c]
push eax
call fcn.10012ef5
mov ecx, dword [ebx + 4]
add esp, 4
mov dword [ecx], eax
cmp byte [esi + 0xd], 0
jne 0x1000d6b7
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x1000d69c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x1000d6b7
nop dword [eax]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x1000d690
jmp 0x1000d6b7
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x1000d6b5
cmp esi, dword [eax + 8]
jne 0x1000d6b5
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1000d6a5
mov esi, eax
mov edx, dword [ebp - 0x210]
mov eax, dword [edx + 0x18]
cmp esi, dword [eax]
jne 0x1000d5d0
mov eax, dword [edx + 0x14]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x1000d7c8
mov ebx, dword [esi + 0x14]
lea edi, [ebx + 8]
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1000d6e2
sub ecx, edx
sar ecx, 1
test ecx, ecx
jle 0x1000d776
mov eax, dword [ebp - 0x210]
sub eax, 0xffffff80
cmp dword [eax + 0x14], 8
jb 0x1000d70a
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x10025f0c
push edi
push str.MuBanSetting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x10025f0c
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1000d759
test dx, dx
je 0x1000d755
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1000d759
add eax, 4
add ecx, 4
test dx, dx
jne 0x1000d733
xor eax, eax
jmp 0x1000d75e
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000d776
lea eax, [ebp - 0x20c]
push eax
call fcn.10012ef5
mov ecx, dword [ebx + 4]
add esp, 4
mov byte [ecx], al
cmp byte [esi + 0xd], 0
jne 0x1000d7b7
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x1000d79c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x1000d7b7
nop
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x1000d790
jmp 0x1000d7b7
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x1000d7b5
cmp esi, dword [eax + 8]
jne 0x1000d7b5
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1000d7a5
mov esi, eax
mov edx, dword [ebp - 0x210]
mov eax, dword [edx + 0x14]
cmp esi, dword [eax]
jne 0x1000d6d7
mov eax, dword [edx + 0x1c]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x1000d8d8
mov ebx, dword [esi + 0x14]
lea edi, [ebx + 8]
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1000d7e2
sub ecx, edx
sar ecx, 1
test ecx, ecx
jle 0x1000d881
mov eax, dword [ebp - 0x210]
sub eax, 0xffffff80
cmp dword [eax + 0x14], 8
jb 0x1000d80a
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push str.nothing
push edi
push str.MuBanSetting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, str.nothing
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1000d859
test dx, dx
je 0x1000d855
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1000d859
add eax, 4
add ecx, 4
test dx, dx
jne 0x1000d833
xor eax, eax
jmp 0x1000d85e
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000d881
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0x20c]
nop dword [eax + eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x1000d870
cmp byte [esi + 0xd], 0
jne 0x1000d8c7
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x1000d8ac
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x1000d8c7
nop word [eax + eax]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x1000d8a0
jmp 0x1000d8c7
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x1000d8c5
cmp esi, dword [eax + 8]
jne 0x1000d8c5
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1000d8b5
mov esi, eax
mov edx, dword [ebp - 0x210]
mov eax, dword [edx + 0x1c]
cmp esi, dword [eax]
jne 0x1000d7d7
mov eax, dword [edx + 0x48]
mov eax, dword [eax]
mov ecx, dword [eax]
cmp ecx, eax
je 0x1000d9cd
mov ebx, dword [edx + 0x18]
mov edi, dword [ecx + 0x10]
test ebx, ebx
je 0x1000d929
mov edx, dword [ebx]
mov eax, edx
mov esi, dword [edx + 4]
cmp byte [esi + 0xd], 0
jne 0x1000d914
nop
cmp dword [esi + 0x10], edi
jge 0x1000d90a
mov esi, dword [esi + 8]
jmp 0x1000d90e
mov eax, esi
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
je 0x1000d900
cmp eax, edx
je 0x1000d91d
cmp edi, dword [eax + 0x10]
jge 0x1000d91f
mov eax, edx
cmp eax, edx
jne 0x1000d963
mov edx, dword [ebp - 0x210]
mov ebx, dword [edx + 0x14]
test ebx, ebx
je 0x1000d97d
mov edx, dword [ebx]
mov eax, edx
mov esi, dword [edx + 4]
cmp byte [esi + 0xd], 0
jne 0x1000d954
nop dword [eax]
cmp dword [esi + 0x10], edi
jge 0x1000d94a
mov esi, dword [esi + 8]
jmp 0x1000d94e
mov eax, esi
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
je 0x1000d940
cmp eax, edx
je 0x1000d95d
cmp edi, dword [eax + 0x10]
jge 0x1000d95f
mov eax, edx
cmp eax, edx
je 0x1000d977
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1000d977
mov edx, dword [ecx + 0x14]
mov eax, dword [eax + 4]
mov edx, dword [edx + 4]
mov eax, dword [eax]
mov dword [edx], eax
mov edx, dword [ebp - 0x210]
cmp byte [ecx + 0xd], 0
jne 0x1000d9c2
mov eax, dword [ecx + 8]
cmp byte [eax + 0xd], 0
jne 0x1000d9a2
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
jne 0x1000d9c2
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
je 0x1000d996
jmp 0x1000d9c2
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x1000d9c0
nop dword [eax + eax]
cmp ecx, dword [eax + 8]
jne 0x1000d9c0
mov ecx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1000d9b0
mov ecx, eax
mov eax, dword [edx + 0x48]
cmp ecx, dword [eax]
jne 0x1000d8e7
mov eax, dword [edx + 0x44]
mov eax, dword [eax]
mov ecx, dword [eax]
cmp ecx, eax
je 0x1000dac2
nop dword [eax]
mov ebx, dword [edx + 0x18]
mov edi, dword [ecx + 0x10]
test ebx, ebx
je 0x1000da20
mov edx, dword [ebx]
mov eax, edx
mov esi, dword [edx + 4]
cmp byte [esi + 0xd], 0
jne 0x1000da0b
cmp dword [esi + 0x10], edi
jge 0x1000da01
mov esi, dword [esi + 8]
jmp 0x1000da05
mov eax, esi
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
je 0x1000d9f7
cmp eax, edx
je 0x1000da14
cmp edi, dword [eax + 0x10]
jge 0x1000da16
mov eax, edx
cmp eax, edx
jne 0x1000da57
mov edx, dword [ebp - 0x210]
mov ebx, dword [edx + 0x14]
test ebx, ebx
je 0x1000da71
mov edx, dword [ebx]
mov eax, edx
mov esi, dword [edx + 4]
cmp byte [esi + 0xd], 0
jne 0x1000da48
cmp dword [esi + 0x10], edi
jge 0x1000da3e
mov esi, dword [esi + 8]
jmp 0x1000da42
mov eax, esi
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
je 0x1000da34
cmp eax, edx
je 0x1000da51
cmp edi, dword [eax + 0x10]
jge 0x1000da53
mov eax, edx
cmp eax, edx
je 0x1000da6b
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1000da6b
mov edx, dword [ecx + 0x14]
mov eax, dword [eax + 4]
mov edx, dword [edx + 4]
mov al, byte [eax]
mov byte [edx], al
mov edx, dword [ebp - 0x210]
cmp byte [ecx + 0xd], 0
jne 0x1000dab7
mov eax, dword [ecx + 8]
cmp byte [eax + 0xd], 0
jne 0x1000da9c
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
jne 0x1000dab7
nop word [eax + eax]
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
je 0x1000da90
jmp 0x1000dab7
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x1000dab5
cmp ecx, dword [eax + 8]
jne 0x1000dab5
mov ecx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1000daa5
mov ecx, eax
mov eax, dword [edx + 0x44]
cmp ecx, dword [eax]
jne 0x1000d9e0
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1000e3bf
mov esp, ebp
pop ebp
ret